react-native-paper-dates 0.5.1 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/lib/commonjs/Date/AnimatedCrossView.js +7 -6
- package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
- package/lib/commonjs/Date/AutoSizer.js +4 -3
- package/lib/commonjs/Date/AutoSizer.js.map +1 -1
- package/lib/commonjs/Date/Calendar.js +37 -31
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/CalendarEdit.js +18 -14
- package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
- package/lib/commonjs/Date/CalendarHeader.js +21 -10
- package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.js +29 -23
- package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +4 -0
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +34 -26
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +8 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js +4 -3
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/commonjs/Date/DateRangeInput.js +13 -8
- package/lib/commonjs/Date/DateRangeInput.js.map +1 -1
- package/lib/commonjs/Date/Day.js +5 -1
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js +4 -3
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/DayNames.js +5 -4
- package/lib/commonjs/Date/DayNames.js.map +1 -1
- package/lib/commonjs/Date/DayRange.js +7 -6
- package/lib/commonjs/Date/DayRange.js.map +1 -1
- package/lib/commonjs/Date/Month.js +47 -34
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/Swiper.js +33 -27
- package/lib/commonjs/Date/Swiper.js.map +1 -1
- package/lib/commonjs/Date/Swiper.native.js +27 -21
- package/lib/commonjs/Date/Swiper.native.js.map +1 -1
- package/lib/commonjs/Date/SwiperUtils.js +5 -4
- package/lib/commonjs/Date/SwiperUtils.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +28 -18
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/Date/dateUtils.js +49 -37
- package/lib/commonjs/Date/dateUtils.js.map +1 -1
- package/lib/commonjs/Date/inputUtils.js +8 -7
- package/lib/commonjs/Date/inputUtils.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +7 -6
- package/lib/commonjs/TextInputMask.js.map +1 -1
- package/lib/commonjs/Time/AmPmSwitcher.js +12 -10
- package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
- package/lib/commonjs/Time/AnalogClock.js +12 -7
- package/lib/commonjs/Time/AnalogClock.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockHours.js +5 -4
- package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockMinutes.js +5 -4
- package/lib/commonjs/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/commonjs/Time/AnimatedClockSwitcher.js +6 -5
- package/lib/commonjs/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/commonjs/Time/TimeInput.js +14 -10
- package/lib/commonjs/Time/TimeInput.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +10 -9
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js +10 -9
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +23 -16
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +7 -6
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/index.js +38 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/translations/en.js +6 -1
- package/lib/commonjs/translations/en.js.map +1 -1
- package/lib/commonjs/translations/enGB.js +25 -0
- package/lib/commonjs/translations/enGB.js.map +1 -0
- package/lib/commonjs/translations/nl.js +6 -1
- package/lib/commonjs/translations/nl.js.map +1 -1
- package/lib/commonjs/translations/pl.js +25 -0
- package/lib/commonjs/translations/pl.js.map +1 -0
- package/lib/commonjs/translations/pt.js +25 -0
- package/lib/commonjs/translations/pt.js.map +1 -0
- package/lib/commonjs/translations/utils.js.map +1 -1
- package/lib/commonjs/utils.js +4 -4
- package/lib/module/Date/AnimatedCrossView.js +7 -6
- package/lib/module/Date/AnimatedCrossView.js.map +1 -1
- package/lib/module/Date/AutoSizer.js +4 -3
- package/lib/module/Date/AutoSizer.js.map +1 -1
- package/lib/module/Date/Calendar.js +37 -31
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/CalendarEdit.js +18 -14
- package/lib/module/Date/CalendarEdit.js.map +1 -1
- package/lib/module/Date/CalendarHeader.js +19 -9
- package/lib/module/Date/CalendarHeader.js.map +1 -1
- package/lib/module/Date/DatePickerInput.js +29 -23
- package/lib/module/Date/DatePickerInput.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +4 -0
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +32 -24
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +8 -1
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeaderBackground.js +4 -3
- package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/module/Date/DateRangeInput.js +13 -8
- package/lib/module/Date/DateRangeInput.js.map +1 -1
- package/lib/module/Date/Day.js +5 -1
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js +4 -3
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/DayNames.js +5 -4
- package/lib/module/Date/DayNames.js.map +1 -1
- package/lib/module/Date/DayRange.js +7 -6
- package/lib/module/Date/DayRange.js.map +1 -1
- package/lib/module/Date/Month.js +43 -31
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/Swiper.js +32 -26
- package/lib/module/Date/Swiper.js.map +1 -1
- package/lib/module/Date/Swiper.native.js +27 -21
- package/lib/module/Date/Swiper.native.js.map +1 -1
- package/lib/module/Date/SwiperUtils.js +5 -4
- package/lib/module/Date/SwiperUtils.js.map +1 -1
- package/lib/module/Date/YearPicker.js +28 -18
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/Date/dateUtils.js +33 -25
- package/lib/module/Date/dateUtils.js.map +1 -1
- package/lib/module/Date/inputUtils.js +8 -7
- package/lib/module/Date/inputUtils.js.map +1 -1
- package/lib/module/TextInputMask.js +7 -6
- package/lib/module/TextInputMask.js.map +1 -1
- package/lib/module/Time/AmPmSwitcher.js +12 -10
- package/lib/module/Time/AmPmSwitcher.js.map +1 -1
- package/lib/module/Time/AnalogClock.js +12 -7
- package/lib/module/Time/AnalogClock.js.map +1 -1
- package/lib/module/Time/AnalogClockHours.js +5 -4
- package/lib/module/Time/AnalogClockHours.js.map +1 -1
- package/lib/module/Time/AnalogClockMinutes.js +5 -4
- package/lib/module/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/module/Time/AnimatedClockSwitcher.js +6 -5
- package/lib/module/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/module/Time/TimeInput.js +14 -10
- package/lib/module/Time/TimeInput.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +10 -9
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js +10 -9
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +23 -16
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/translations/en.js +6 -1
- package/lib/module/translations/en.js.map +1 -1
- package/lib/module/translations/enGB.js +18 -0
- package/lib/module/translations/enGB.js.map +1 -0
- package/lib/module/translations/nl.js +6 -1
- package/lib/module/translations/nl.js.map +1 -1
- package/lib/module/translations/pl.js +18 -0
- package/lib/module/translations/pl.js.map +1 -0
- package/lib/module/translations/pt.js +18 -0
- package/lib/module/translations/pt.js.map +1 -0
- package/lib/module/translations/utils.js.map +1 -1
- package/lib/typescript/Date/DatePickerInput.d.ts +9 -9
- package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +1 -0
- package/lib/typescript/Date/DatePickerModalHeader.d.ts +1 -0
- package/lib/typescript/TextInputMask.d.ts +3 -3
- package/lib/typescript/Time/AmPmSwitcher.d.ts +1 -1
- package/lib/typescript/Time/AnalogClock.d.ts +1 -1
- package/lib/typescript/Time/TimeInputs.d.ts +1 -1
- package/lib/typescript/Time/TimePickerModal.d.ts +3 -2
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/translations/enGB.d.ts +3 -0
- package/lib/typescript/translations/pl.d.ts +3 -0
- package/lib/typescript/translations/pt.d.ts +3 -0
- package/lib/typescript/translations/utils.d.ts +5 -0
- package/package.json +19 -24
- package/src/Date/CalendarEdit.tsx +3 -0
- package/src/Date/CalendarHeader.tsx +17 -2
- package/src/Date/DatePickerInput.tsx +8 -3
- package/src/Date/DatePickerModalContent.tsx +2 -0
- package/src/Date/DatePickerModalContentHeader.tsx +13 -3
- package/src/Date/DatePickerModalHeader.tsx +6 -0
- package/src/Date/DateRangeInput.tsx +7 -1
- package/src/Date/Day.tsx +4 -0
- package/src/Date/Month.tsx +8 -0
- package/src/Date/Swiper.tsx +1 -0
- package/src/Date/YearPicker.tsx +6 -1
- package/src/Time/AmPmSwitcher.tsx +1 -1
- package/src/Time/AnalogClock.tsx +5 -5
- package/src/Time/AnalogClockMinutes.tsx +4 -1
- package/src/Time/TimeInput.tsx +3 -0
- package/src/Time/TimeInputs.tsx +1 -5
- package/src/Time/TimePickerModal.tsx +11 -3
- package/src/index.tsx +3 -0
- package/src/translations/en.ts +5 -0
- package/src/translations/enGB.ts +20 -0
- package/src/translations/nl.ts +5 -0
- package/src/translations/pl.ts +21 -0
- package/src/translations/pt.ts +20 -0
- package/src/translations/utils.ts +5 -0
- package/src/.DS_Store +0 -0
package/README.md
CHANGED
|
@@ -57,16 +57,21 @@ npm install react-native-paper-dates --save
|
|
|
57
57
|
|
|
58
58
|
## Import some localized strings
|
|
59
59
|
Ideally you do this somewhere in your `index.js` before `react-native-paper-dates` is used.
|
|
60
|
-
Currently we only have
|
|
60
|
+
Currently we only have en/nl/pl/pt translations but it's really easy to add one extra since it are only some labels and error messages
|
|
61
61
|
```tsx
|
|
62
62
|
// e.g in your index.js
|
|
63
63
|
import {
|
|
64
|
-
en,
|
|
64
|
+
// en,
|
|
65
65
|
// nl,
|
|
66
|
+
// pl,
|
|
67
|
+
enGB,
|
|
66
68
|
registerTranslation,
|
|
67
69
|
} from 'react-native-paper-dates'
|
|
68
|
-
registerTranslation('en', en)
|
|
70
|
+
// registerTranslation('en', en)
|
|
69
71
|
// registerTranslation('nl', nl)
|
|
72
|
+
// registerTranslation('pl', pl)
|
|
73
|
+
// registerTranslation('pt', pt)
|
|
74
|
+
registerTranslation('en-GB', enGB)
|
|
70
75
|
```
|
|
71
76
|
|
|
72
77
|
### or register your own
|
|
@@ -133,6 +138,7 @@ export default function ReadMeExampleSingle() {
|
|
|
133
138
|
// }}
|
|
134
139
|
// onChange={} // same props as onConfirm but triggered without confirmed by user
|
|
135
140
|
// saveLabel="Save" // optional
|
|
141
|
+
// uppercase={false} // optional, default is true
|
|
136
142
|
// label="Select date" // optional
|
|
137
143
|
// animationType="slide" // optional, default is 'slide' on ios/android and 'none' on web
|
|
138
144
|
/>
|
|
@@ -188,6 +194,7 @@ export default function ReadMeExampleRange() {
|
|
|
188
194
|
// }}
|
|
189
195
|
// onChange={} // same props as onConfirm but triggered without confirmed by user
|
|
190
196
|
// saveLabel="Save" // optional
|
|
197
|
+
// uppercase={false} // optional, default is true
|
|
191
198
|
// label="Select period" // optional
|
|
192
199
|
// startLabel="From" // optional
|
|
193
200
|
// endLabel="To" // optional
|
|
@@ -241,6 +248,7 @@ export default function ReadMeExampleMultiple() {
|
|
|
241
248
|
// disabledDates: [new Date()] // optional
|
|
242
249
|
// }}
|
|
243
250
|
// saveLabel="Save" // optional
|
|
251
|
+
// uppercase={false} // optional, default is true
|
|
244
252
|
// label="Select period" // optional
|
|
245
253
|
// startLabel="From" // optional
|
|
246
254
|
// endLabel="To" // optional
|
|
@@ -303,6 +311,7 @@ export default function TimePickerPage() {
|
|
|
303
311
|
hours={12} // default: current hours
|
|
304
312
|
minutes={14} // default: current minutes
|
|
305
313
|
label="Select time" // optional, default 'Select time'
|
|
314
|
+
uppercase={false} // optional, default is true
|
|
306
315
|
cancelLabel="Cancel" // optional, default: 'Cancel'
|
|
307
316
|
confirmLabel="Ok" // optional, default: 'Ok'
|
|
308
317
|
animationType="fade" // optional, default is 'none'
|
|
@@ -421,6 +430,7 @@ MIT
|
|
|
421
430
|
|
|
422
431
|
|
|
423
432
|
### Checkout our other libraries
|
|
433
|
+
- Simple form library for React Native with great UX for developer and end-user [react-native-use-form](https://github.com/web-ridge/react-native-use-form)
|
|
424
434
|
- Smooth and fast cross platform Material Design Tabs for React Native Paper: [react-native-paper-tabs](https://github.com/web-ridge/react-native-paper-tabs)
|
|
425
435
|
- Simple translations in React (Native): [react-ridge-translations](https://github.com/web-ridge/react-ridge-translations)
|
|
426
436
|
- Simple global state management in React (Native): [react-ridge-state](https://github.com/web-ridge/react-ridge-state)
|
|
@@ -15,12 +15,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
15
15
|
|
|
16
16
|
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; }
|
|
17
17
|
|
|
18
|
-
function AnimatedCrossView({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
function AnimatedCrossView(_ref) {
|
|
19
|
+
let {
|
|
20
|
+
// visible,
|
|
21
|
+
collapsed,
|
|
22
|
+
calendar,
|
|
23
|
+
calendarEdit
|
|
24
|
+
} = _ref;
|
|
24
25
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
25
26
|
const calendarOpacity = React.useRef(new _reactNative.Animated.Value(collapsed ? 1 : 0));
|
|
26
27
|
React.useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedCrossView.tsx"],"names":["AnimatedCrossView","collapsed","calendar","calendarEdit","theme","calendarOpacity","React","useRef","Animated","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","StyleSheet","create","flex","position","left","right"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,SAASA,iBAAT,
|
|
1
|
+
{"version":3,"sources":["AnimatedCrossView.tsx"],"names":["AnimatedCrossView","collapsed","calendar","calendarEdit","theme","calendarOpacity","React","useRef","Animated","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","StyleSheet","create","flex","position","left","right"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, View } from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nexport default function AnimatedCrossView({\n // visible,\n collapsed,\n calendar,\n calendarEdit,\n}: {\n calendar: any\n calendarEdit: any\n // visible: boolean\n collapsed: boolean\n}) {\n const theme = useTheme()\n const calendarOpacity = React.useRef<Animated.Value>(\n new Animated.Value(collapsed ? 1 : 0)\n )\n React.useEffect(() => {\n // if (visible) {\n Animated.timing(calendarOpacity.current, {\n toValue: collapsed ? 1 : 0,\n duration: 250,\n useNativeDriver: true,\n }).start()\n // }\n }, [collapsed])\n\n return (\n <View style={styles.root}>\n <Animated.View\n pointerEvents={collapsed ? 'auto' : 'none'}\n style={[\n styles.calendar,\n {\n opacity: calendarOpacity.current,\n transform: [\n {\n scaleY: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.85, 1],\n }),\n },\n {\n scaleX: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.95, 1],\n }),\n },\n ],\n },\n ]}\n >\n {calendar}\n </Animated.View>\n <Animated.View\n pointerEvents={collapsed ? 'none' : 'auto'}\n style={[\n styles.calendarEdit,\n {\n backgroundColor: theme.colors.surface,\n opacity: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n transform: [\n {\n scale: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0.95],\n }),\n },\n ],\n },\n ]}\n >\n {calendarEdit}\n </Animated.View>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n calendarEdit: {\n position: 'absolute',\n\n left: 0,\n right: 0,\n },\n calendar: {\n flex: 1,\n },\n})\n"]}
|
|
@@ -13,9 +13,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
13
13
|
|
|
14
14
|
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; }
|
|
15
15
|
|
|
16
|
-
function AutoSizer({
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
function AutoSizer(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
children
|
|
19
|
+
} = _ref;
|
|
19
20
|
const [layout, setLayout] = React.useState(null);
|
|
20
21
|
const onLayout = React.useCallback(event => {
|
|
21
22
|
const nl = event.nativeEvent.layout; // https://github.com/necolas/react-native-web/issues/1704
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AutoSizer.tsx"],"names":["AutoSizer","children","layout","setLayout","React","useState","onLayout","useCallback","event","nl","nativeEvent","width","height","styles","autoSizer","StyleSheet","create","flex","overflow"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAOe,SAASA,SAAT,
|
|
1
|
+
{"version":3,"sources":["AutoSizer.tsx"],"names":["AutoSizer","children","layout","setLayout","React","useState","onLayout","useCallback","event","nl","nativeEvent","width","height","styles","autoSizer","StyleSheet","create","flex","overflow"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAOe,SAASA,SAAT,OAIZ;AAAA,MAJ+B;AAChCC,IAAAA;AADgC,GAI/B;AACD,QAAM,CAACC,MAAD,EAASC,SAAT,IAAsBC,KAAK,CAACC,QAAN,CAAsC,IAAtC,CAA5B;AACA,QAAMC,QAAQ,GAAGF,KAAK,CAACG,WAAN,CACdC,KAAD,IAA8B;AAC5B,UAAMC,EAAE,GAAGD,KAAK,CAACE,WAAN,CAAkBR,MAA7B,CAD4B,CAG5B;;AACA,QAAI,CAACA,MAAD,IAAWA,MAAM,CAACS,KAAP,KAAiBF,EAAE,CAACE,KAA/B,IAAwCT,MAAM,CAACU,MAAP,KAAkBH,EAAE,CAACG,MAAjE,EAAyE;AACvET,MAAAA,SAAS,CAAC;AAAEQ,QAAAA,KAAK,EAAEF,EAAE,CAACE,KAAZ;AAAmBC,QAAAA,MAAM,EAAEH,EAAE,CAACG;AAA9B,OAAD,CAAT;AACD;AACF,GARc,EASf,CAACV,MAAD,EAASC,SAAT,CATe,CAAjB;AAWA,sBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACU,MAAM,CAACC,SAAR,EAAmBZ,MAAM,IAAIA,MAA7B,CAAb;AAAmD,IAAA,QAAQ,EAAEI;AAA7D,KACGJ,MAAM,GAAGD,QAAQ,CAACC,MAAD,CAAX,GAAsB,IAD/B,CADF;AAKD;;AAED,MAAMW,MAAM,GAAGE,wBAAWC,MAAX,CAAkB;AAC/BF,EAAAA,SAAS,EAAE;AACTG,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,QAAQ,EAAE;AAFD;AADoB,CAAlB,CAAf","sourcesContent":["import * as React from 'react'\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native'\n\ntype WidthAndHeight = {\n width: number\n height: number\n}\n\nexport default function AutoSizer({\n children,\n}: {\n children: ({ width, height }: WidthAndHeight) => any\n}) {\n const [layout, setLayout] = React.useState<WidthAndHeight | null>(null)\n const onLayout = React.useCallback(\n (event: LayoutChangeEvent) => {\n const nl = event.nativeEvent.layout\n\n // https://github.com/necolas/react-native-web/issues/1704\n if (!layout || layout.width !== nl.width || layout.height !== nl.height) {\n setLayout({ width: nl.width, height: nl.height })\n }\n },\n [layout, setLayout]\n )\n return (\n <View style={[styles.autoSizer, layout && layout]} onLayout={onLayout}>\n {layout ? children(layout) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n autoSizer: {\n flex: 1,\n overflow: 'hidden',\n },\n})\n"]}
|
|
@@ -104,37 +104,43 @@ function Calendar(props) {
|
|
|
104
104
|
initialIndex: (0, _dateUtils.getInitialIndex)(firstDate),
|
|
105
105
|
selectedYear: selectedYear,
|
|
106
106
|
scrollMode: scrollMode,
|
|
107
|
-
renderItem:
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
107
|
+
renderItem: _ref => {
|
|
108
|
+
let {
|
|
109
|
+
index
|
|
110
|
+
} = _ref;
|
|
111
|
+
return /*#__PURE__*/React.createElement(_Month.default, {
|
|
112
|
+
locale: locale,
|
|
113
|
+
mode: mode,
|
|
114
|
+
key: index,
|
|
115
|
+
validRange: validRange,
|
|
116
|
+
index: index,
|
|
117
|
+
startDate: startDate,
|
|
118
|
+
endDate: endDate,
|
|
119
|
+
date: date,
|
|
120
|
+
dates: dates,
|
|
121
|
+
onPressYear: onPressYear,
|
|
122
|
+
selectingYear: selectingYear,
|
|
123
|
+
onPressDate: onPressDate,
|
|
124
|
+
scrollMode: scrollMode,
|
|
125
|
+
primaryColor: theme.colors.primary,
|
|
126
|
+
selectColor: selectColor,
|
|
127
|
+
roundness: theme.roundness,
|
|
128
|
+
disableWeekDays: disableWeekDays
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
renderHeader: _ref2 => {
|
|
132
|
+
let {
|
|
133
|
+
onPrev,
|
|
134
|
+
onNext
|
|
135
|
+
} = _ref2;
|
|
136
|
+
return /*#__PURE__*/React.createElement(_CalendarHeader.default, {
|
|
137
|
+
locale: locale,
|
|
138
|
+
onPrev: onPrev,
|
|
139
|
+
onNext: onNext,
|
|
140
|
+
scrollMode: scrollMode,
|
|
141
|
+
disableWeekDays: disableWeekDays
|
|
142
|
+
});
|
|
143
|
+
}
|
|
138
144
|
}), scrollMode === 'horizontal' ? /*#__PURE__*/React.createElement(_YearPicker.default, {
|
|
139
145
|
selectedYear: selectedYear,
|
|
140
146
|
selectingYear: selectingYear,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Calendar.tsx"],"names":["Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","dates","validRange","dateMode","theme","selectColor","dark","colors","primary","hex","scrollMode","selectedYear","setSelectedYear","React","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","StyleSheet","create","flex","viewPager","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n\n // here they are optional but in final implemenation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.9).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) > dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"]}
|
|
1
|
+
{"version":3,"sources":["Calendar.tsx"],"names":["Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","dates","validRange","dateMode","theme","selectColor","dark","colors","primary","hex","scrollMode","selectedYear","setSelectedYear","React","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","StyleSheet","create","flex","viewPager","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n\n // here they are optional but in final implemenation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.9).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) > dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"]}
|
|
@@ -17,17 +17,18 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
17
17
|
|
|
18
18
|
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; }
|
|
19
19
|
|
|
20
|
-
function CalendarEdit({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
function CalendarEdit(_ref) {
|
|
21
|
+
let {
|
|
22
|
+
mode,
|
|
23
|
+
state,
|
|
24
|
+
label = '',
|
|
25
|
+
startLabel = 'Start',
|
|
26
|
+
endLabel = 'End',
|
|
27
|
+
collapsed,
|
|
28
|
+
onChange,
|
|
29
|
+
validRange,
|
|
30
|
+
locale
|
|
31
|
+
} = _ref;
|
|
31
32
|
const dateInput = React.useRef(null);
|
|
32
33
|
const startInput = React.useRef(null);
|
|
33
34
|
const endInput = React.useRef(null); // when switching views focus, or un-focus text input
|
|
@@ -71,7 +72,8 @@ function CalendarEdit({
|
|
|
71
72
|
onSubmitEditing: onSubmitInput,
|
|
72
73
|
validRange: validRange,
|
|
73
74
|
locale: locale,
|
|
74
|
-
withModal: false
|
|
75
|
+
withModal: false,
|
|
76
|
+
autoCompleteType: 'off'
|
|
75
77
|
}) : null, mode === 'range' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_DatePickerInput.default, {
|
|
76
78
|
inputMode: "start",
|
|
77
79
|
ref: startInput,
|
|
@@ -84,7 +86,8 @@ function CalendarEdit({
|
|
|
84
86
|
onSubmitEditing: onSubmitStartInput,
|
|
85
87
|
validRange: validRange,
|
|
86
88
|
locale: locale,
|
|
87
|
-
withModal: false
|
|
89
|
+
withModal: false,
|
|
90
|
+
autoCompleteType: 'off'
|
|
88
91
|
}), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
89
92
|
style: styles.separator
|
|
90
93
|
}), /*#__PURE__*/React.createElement(_DatePickerInput.default, {
|
|
@@ -98,7 +101,8 @@ function CalendarEdit({
|
|
|
98
101
|
onSubmitEditing: onSubmitEndInput,
|
|
99
102
|
validRange: validRange,
|
|
100
103
|
locale: locale,
|
|
101
|
-
withModal: false
|
|
104
|
+
withModal: false,
|
|
105
|
+
autoCompleteType: 'off'
|
|
102
106
|
})) : null));
|
|
103
107
|
}
|
|
104
108
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CalendarEdit.tsx"],"names":["CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","dateInput","React","useRef","startInput","endInput","useEffect","Keyboard","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","inner","date","startDate","separator","endDate","StyleSheet","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"mappings":";;;;;;;AAAA;;AACA;;AAUA;;;;;;;;AAEA,SAASA,YAAT,
|
|
1
|
+
{"version":3,"sources":["CalendarEdit.tsx"],"names":["CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","dateInput","React","useRef","startInput","endInput","useEffect","Keyboard","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","inner","date","startDate","separator","endDate","StyleSheet","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"mappings":";;;;;;;AAAA;;AACA;;AAUA;;;;;;;;AAEA,SAASA,YAAT,OAoBG;AAAA,MApBmB;AACpBC,IAAAA,IADoB;AAEpBC,IAAAA,KAFoB;AAGpBC,IAAAA,KAAK,GAAG,EAHY;AAIpBC,IAAAA,UAAU,GAAG,OAJO;AAKpBC,IAAAA,QAAQ,GAAG,KALS;AAMpBC,IAAAA,SANoB;AAOpBC,IAAAA,QAPoB;AAQpBC,IAAAA,UARoB;AASpBC,IAAAA;AAToB,GAoBnB;AACD,QAAMC,SAAS,GAAGC,KAAK,CAACC,MAAN,CAAqC,IAArC,CAAlB;AACA,QAAMC,UAAU,GAAGF,KAAK,CAACC,MAAN,CAAqC,IAArC,CAAnB;AACA,QAAME,QAAQ,GAAGH,KAAK,CAACC,MAAN,CAAqC,IAArC,CAAjB,CAHC,CAKD;;AACAD,EAAAA,KAAK,CAACI,SAAN,CAAgB,MAAM;AACpB;AACA,QAAIT,SAAJ,EAAe;AACbU,4BAASC,OAAT;AACD;;AAED,UAAMC,aAAa,GAAG,CAACR,SAAS,CAACS,OAAX,EAAoBN,UAAU,CAACM,OAA/B,EAAwCC,MAAxC,CACnBC,CAAD,IAAOA,CADa,CAAtB;AAIA,UAAMC,YAAY,GAAG,CACnBZ,SAAS,CAACS,OADS,EAEnBN,UAAU,CAACM,OAFQ,EAGnBL,QAAQ,CAACK,OAHU,EAInBC,MAJmB,CAIXC,CAAD,IAAOA,CAJK,CAArB;;AAMA,QAAIf,SAAJ,EAAe;AACbgB,MAAAA,YAAY,CAACC,OAAb,CAAsBC,EAAD,IAAQA,EAAE,CAACC,IAAH,EAA7B;AACD,KAFD,MAEO;AACLP,MAAAA,aAAa,CAACK,OAAd,CAAuBC,EAAD,IAAQA,EAAE,CAACE,KAAH,EAA9B;AACD;AACF,GArBD,EAqBG,CAACzB,IAAD,EAAOY,UAAP,EAAmBC,QAAnB,EAA6BJ,SAA7B,EAAwCJ,SAAxC,CArBH;AAuBA,QAAMqB,kBAAkB,GAAGhB,KAAK,CAACiB,WAAN,CAAkB,MAAM;AACjD,QAAId,QAAQ,CAACK,OAAb,EAAsB;AACpBL,MAAAA,QAAQ,CAACK,OAAT,CAAiBO,KAAjB;AACD;AACF,GAJ0B,EAIxB,CAACZ,QAAD,CAJwB,CAA3B;AAMA,QAAMe,gBAAgB,GAAGlB,KAAK,CAACiB,WAAN,CAAkB,MAAM,CAC/C;AACD,GAFwB,EAEtB,EAFsB,CAAzB;AAIA,QAAME,aAAa,GAAGnB,KAAK,CAACiB,WAAN,CAAkB,MAAM,CAC5C;AACD,GAFqB,EAEnB,EAFmB,CAAtB;AAIA,sBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEG,MAAM,CAACC;AAApB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAED,MAAM,CAACE;AAApB,KACGhC,IAAI,KAAK,QAAT,gBACC,oBAAC,wBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,GAAG,EAAES,SAFP;AAGE,IAAA,KAAK,EAAEP,KAHT;AAIE,IAAA,KAAK,EAAED,KAAK,CAACgC,IAJf;AAKE,IAAA,QAAQ,EAAGA,IAAD,IAAU3B,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAYgC,MAAAA;AAAZ,KAAD,CAL9B;AAME,IAAA,eAAe,EAAEJ,aANnB;AAOE,IAAA,UAAU,EAAEtB,UAPd;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,SAAS,EAAE,KATb;AAUE,IAAA,gBAAgB,EAAE;AAVpB,IADD,GAaG,IAdN,EAeGR,IAAI,KAAK,OAAT,gBACC,uDACE,oBAAC,wBAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,GAAG,EAAEY,UAFP;AAGE,IAAA,KAAK,EAAET,UAHT;AAIE,IAAA,KAAK,EAAEF,KAAK,CAACiC,SAJf;AAKE,IAAA,QAAQ,EAAGA,SAAD,IAAe5B,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAYiC,MAAAA;AAAZ,KAAD,CALnC;AAME,IAAA,aAAa,EAAE,MANjB;AAOE,IAAA,eAAe,EAAER,kBAPnB;AAQE,IAAA,UAAU,EAAEnB,UARd;AASE,IAAA,MAAM,EAAEC,MATV;AAUE,IAAA,SAAS,EAAE,KAVb;AAWE,IAAA,gBAAgB,EAAE;AAXpB,IADF,eAcE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEsB,MAAM,CAACK;AAApB,IAdF,eAeE,oBAAC,wBAAD;AACE,IAAA,SAAS,EAAC,KADZ;AAEE,IAAA,GAAG,EAAEtB,QAFP;AAGE,IAAA,KAAK,EAAET,QAHT;AAIE,IAAA,KAAK,EAAEH,KAAK,CAACmC,OAJf;AAKE,IAAA,QAAQ,EAAGA,OAAD,IAAa9B,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAYmC,MAAAA;AAAZ,KAAD,CALjC;AAME,IAAA,eAAe,EAAER,gBANnB;AAOE,IAAA,UAAU,EAAErB,UAPd;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,SAAS,EAAE,KATb;AAUE,IAAA,gBAAgB,EAAE;AAVpB,IAfF,CADD,GA6BG,IA5CN,CADF,CADF;AAkDD;;AAED,MAAMsB,MAAM,GAAGO,wBAAWC,MAAX,CAAkB;AAC/BP,EAAAA,IAAI,EAAE;AAAEQ,IAAAA,OAAO,EAAE;AAAX,GADyB;AAE/BP,EAAAA,KAAK,EAAE;AAAEQ,IAAAA,aAAa,EAAE;AAAjB,GAFwB;AAG/BC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAHe;AAI/BC,EAAAA,KAAK,EAAE;AAAED,IAAAA,IAAI,EAAE;AAAR,GAJwB;AAK/BP,EAAAA,SAAS,EAAE;AAAES,IAAAA,KAAK,EAAE;AAAT;AALoB,CAAlB,CAAf;;4BAQelC,KAAK,CAACmC,IAAN,CAAW9C,YAAX,C","sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n TextInput as TextInputNative,\n Keyboard,\n} from 'react-native'\n\nimport type { ModeType, ValidRangeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\n\nimport DatePickerInput from './DatePickerInput'\n\nfunction CalendarEdit({\n mode,\n state,\n label = '',\n startLabel = 'Start',\n endLabel = 'End',\n collapsed,\n onChange,\n validRange,\n locale,\n}: {\n mode: ModeType\n label?: string\n startLabel?: string\n endLabel?: string\n state: LocalState\n collapsed: boolean\n onChange: (s: LocalState) => any\n validRange: ValidRangeType | undefined\n locale: string\n}) {\n const dateInput = React.useRef<TextInputNative | null>(null)\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n\n // when switching views focus, or un-focus text input\n React.useEffect(() => {\n // hide open keyboard\n if (collapsed) {\n Keyboard.dismiss()\n }\n\n const inputsToFocus = [dateInput.current, startInput.current].filter(\n (n) => n\n ) as TextInputNative[]\n\n const inputsToBlur = [\n dateInput.current,\n startInput.current,\n endInput.current,\n ].filter((n) => n) as TextInputNative[]\n\n if (collapsed) {\n inputsToBlur.forEach((ip) => ip.blur())\n } else {\n inputsToFocus.forEach((ip) => ip.focus())\n }\n }, [mode, startInput, endInput, dateInput, collapsed])\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n const onSubmitInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n return (\n <View style={styles.root}>\n <View style={styles.inner}>\n {mode === 'single' ? (\n <DatePickerInput\n inputMode=\"start\"\n ref={dateInput}\n label={label}\n value={state.date}\n onChange={(date) => onChange({ ...state, date })}\n onSubmitEditing={onSubmitInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoCompleteType={'off'}\n />\n ) : null}\n {mode === 'range' ? (\n <>\n <DatePickerInput\n inputMode=\"start\"\n ref={startInput}\n label={startLabel}\n value={state.startDate}\n onChange={(startDate) => onChange({ ...state, startDate })}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoCompleteType={'off'}\n />\n <View style={styles.separator} />\n <DatePickerInput\n inputMode=\"end\"\n ref={endInput}\n label={endLabel}\n value={state.endDate}\n onChange={(endDate) => onChange({ ...state, endDate })}\n onSubmitEditing={onSubmitEndInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoCompleteType={'off'}\n />\n </>\n ) : null}\n </View>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { padding: 12 },\n inner: { flexDirection: 'row' },\n inputContainer: { flex: 1 },\n input: { flex: 1 },\n separator: { width: 12 },\n})\n\nexport default React.memo(CalendarEdit)\n"]}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getCalendarHeaderHeight = getCalendarHeaderHeight;
|
|
7
6
|
exports.default = void 0;
|
|
7
|
+
exports.getCalendarHeaderHeight = getCalendarHeaderHeight;
|
|
8
8
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
|
|
@@ -14,6 +14,8 @@ var _reactNativePaper = require("react-native-paper");
|
|
|
14
14
|
|
|
15
15
|
var _DayNames = _interopRequireWildcard(require("./DayNames"));
|
|
16
16
|
|
|
17
|
+
var _utils = require("../translations/utils");
|
|
18
|
+
|
|
17
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
20
|
|
|
19
21
|
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; }
|
|
@@ -30,13 +32,14 @@ function getCalendarHeaderHeight(scrollMode) {
|
|
|
30
32
|
return _DayNames.dayNamesHeight;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
function CalendarHeader({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
function CalendarHeader(_ref) {
|
|
36
|
+
let {
|
|
37
|
+
scrollMode,
|
|
38
|
+
onPrev,
|
|
39
|
+
onNext,
|
|
40
|
+
disableWeekDays,
|
|
41
|
+
locale
|
|
42
|
+
} = _ref;
|
|
40
43
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
41
44
|
const isHorizontal = scrollMode === 'horizontal';
|
|
42
45
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
@@ -54,14 +57,22 @@ function CalendarHeader({
|
|
|
54
57
|
}]
|
|
55
58
|
}, /*#__PURE__*/React.createElement(_reactNativePaper.IconButton, {
|
|
56
59
|
icon: "chevron-left",
|
|
57
|
-
|
|
60
|
+
accessibilityLabel: (0, _utils.getTranslation)(locale, 'previous'),
|
|
61
|
+
onPress: onPrev // RN types bug
|
|
62
|
+
,
|
|
63
|
+
hasTVPreferredFocus: undefined,
|
|
64
|
+
tvParallaxProperties: undefined
|
|
58
65
|
})), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
59
66
|
style: [styles.buttonWrapper, {
|
|
60
67
|
backgroundColor: theme.colors.surface
|
|
61
68
|
}]
|
|
62
69
|
}, /*#__PURE__*/React.createElement(_reactNativePaper.IconButton, {
|
|
63
70
|
icon: "chevron-right",
|
|
64
|
-
|
|
71
|
+
accessibilityLabel: (0, _utils.getTranslation)(locale, 'next'),
|
|
72
|
+
onPress: onNext // RN types bug
|
|
73
|
+
,
|
|
74
|
+
hasTVPreferredFocus: undefined,
|
|
75
|
+
tvParallaxProperties: undefined
|
|
65
76
|
}))) : null, /*#__PURE__*/React.createElement(_DayNames.default, {
|
|
66
77
|
disableWeekDays: disableWeekDays,
|
|
67
78
|
locale: locale
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CalendarHeader.tsx"],"names":["buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","dayNamesHeight","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","StyleSheet","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","React","memo"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;
|
|
1
|
+
{"version":3,"sources":["CalendarHeader.tsx"],"names":["buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","dayNamesHeight","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","undefined","StyleSheet","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","React","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, useTheme } from 'react-native-paper'\nimport DayNames, { dayNamesHeight } from './DayNames'\nimport type { DisableWeekDaysType } from './dateUtils'\nimport { getTranslation } from '../translations/utils'\n\nconst buttonContainerHeight = 56\nconst buttonContainerMarginTop = 4\nconst buttonContainerMarginBottom = 8\n\nexport function getCalendarHeaderHeight(scrollMode: 'horizontal' | 'vertical') {\n if (scrollMode === 'horizontal') {\n return (\n buttonContainerHeight +\n buttonContainerMarginTop +\n buttonContainerMarginBottom +\n dayNamesHeight\n )\n }\n return dayNamesHeight\n}\n\nfunction CalendarHeader({\n scrollMode,\n onPrev,\n onNext,\n disableWeekDays,\n locale,\n}: {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n onPrev: () => any\n onNext: () => any\n disableWeekDays?: DisableWeekDaysType\n}) {\n const theme = useTheme()\n const isHorizontal = scrollMode === 'horizontal'\n return (\n <View style={styles.datePickerHeader} pointerEvents={'box-none'}>\n {isHorizontal ? (\n <View style={styles.buttonContainer} pointerEvents={'box-none'}>\n <View style={styles.spacer} pointerEvents={'box-none'} />\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-left\"\n accessibilityLabel={getTranslation(locale, 'previous')}\n onPress={onPrev}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n </View>\n\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-right\"\n accessibilityLabel={getTranslation(locale, 'next')}\n onPress={onNext}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n </View>\n </View>\n ) : null}\n <DayNames disableWeekDays={disableWeekDays} locale={locale} />\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n datePickerHeader: {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 10,\n },\n buttonContainer: {\n height: buttonContainerHeight,\n marginTop: buttonContainerMarginTop,\n marginBottom: buttonContainerMarginBottom,\n flexDirection: 'row',\n alignItems: 'center',\n },\n buttonWrapper: {},\n spacer: { flex: 1 },\n})\n\nexport default React.memo(CalendarHeader)\n"]}
|
|
@@ -27,18 +27,19 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
27
|
|
|
28
28
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
29
29
|
|
|
30
|
-
function DatePickerInput({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
function DatePickerInput(_ref, ref) {
|
|
31
|
+
let {
|
|
32
|
+
label,
|
|
33
|
+
value,
|
|
34
|
+
onChange,
|
|
35
|
+
style,
|
|
36
|
+
locale,
|
|
37
|
+
validRange,
|
|
38
|
+
inputMode,
|
|
39
|
+
withModal = true,
|
|
40
|
+
withDateFormatInLabel = true,
|
|
41
|
+
...rest
|
|
42
|
+
} = _ref;
|
|
42
43
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
43
44
|
const {
|
|
44
45
|
formattedValue,
|
|
@@ -57,9 +58,10 @@ function DatePickerInput({
|
|
|
57
58
|
setVisible(false);
|
|
58
59
|
}, [setVisible]);
|
|
59
60
|
const onChangeRef = (0, _utils.useLatest)(onChange);
|
|
60
|
-
const onInnerConfirm = React.useCallback(
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
const onInnerConfirm = React.useCallback(_ref2 => {
|
|
62
|
+
let {
|
|
63
|
+
date
|
|
64
|
+
} = _ref2;
|
|
63
65
|
setVisible(false);
|
|
64
66
|
onChangeRef.current(date);
|
|
65
67
|
}, [setVisible, onChangeRef]);
|
|
@@ -84,7 +86,10 @@ function DatePickerInput({
|
|
|
84
86
|
size: 24,
|
|
85
87
|
style: styles.calendarButton,
|
|
86
88
|
icon: "calendar",
|
|
87
|
-
onPress: () => setVisible(true)
|
|
89
|
+
onPress: () => setVisible(true) // RN types bug
|
|
90
|
+
,
|
|
91
|
+
hasTVPreferredFocus: undefined,
|
|
92
|
+
tvParallaxProperties: undefined
|
|
88
93
|
}) : null), /*#__PURE__*/React.createElement(_reactNativePaper.HelperText, {
|
|
89
94
|
type: "error",
|
|
90
95
|
visible: !!error
|
|
@@ -99,11 +104,13 @@ function DatePickerInput({
|
|
|
99
104
|
}) : null);
|
|
100
105
|
}
|
|
101
106
|
|
|
102
|
-
function getLabel({
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
function getLabel(_ref3) {
|
|
108
|
+
let {
|
|
109
|
+
withDateFormatInLabel,
|
|
110
|
+
inputFormat,
|
|
111
|
+
label
|
|
112
|
+
} = _ref3;
|
|
113
|
+
|
|
107
114
|
if (withDateFormatInLabel) {
|
|
108
115
|
return label ? `${label} (${inputFormat})` : inputFormat;
|
|
109
116
|
}
|
|
@@ -117,8 +124,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
117
124
|
flexDirection: 'row',
|
|
118
125
|
position: 'relative',
|
|
119
126
|
alignItems: 'center',
|
|
120
|
-
flexGrow: 1
|
|
121
|
-
alignSelf: 'flex-start'
|
|
127
|
+
flexGrow: 1
|
|
122
128
|
},
|
|
123
129
|
input: {
|
|
124
130
|
flexGrow: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePickerInput.tsx"],"names":["DatePickerInput","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","
|
|
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"]}
|