react-native-paper-dates 0.8.6 → 0.9.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 +30 -1
- package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
- package/lib/commonjs/Date/AutoSizer.js.map +1 -1
- package/lib/commonjs/Date/Calendar.js +6 -2
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/CalendarEdit.js +4 -4
- package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
- package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.js +33 -87
- package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.shared.js +6 -0
- package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -0
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js +117 -0
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -0
- package/lib/commonjs/Date/DatePickerModal.js +1 -1
- package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +14 -8
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -3
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +5 -5
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/commonjs/Date/DateRangeInput.js +3 -2
- package/lib/commonjs/Date/DateRangeInput.js.map +1 -1
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/DayNames.js.map +1 -1
- package/lib/commonjs/Date/DayRange.js.map +1 -1
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/Swiper.js.map +1 -1
- package/lib/commonjs/Date/Swiper.native.js +2 -1
- package/lib/commonjs/Date/Swiper.native.js.map +1 -1
- package/lib/commonjs/Date/SwiperUtils.js.map +1 -1
- package/lib/commonjs/Date/Week.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +5 -5
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/Date/dateUtils.js.map +1 -1
- package/lib/commonjs/Date/dateUtils.test.js.map +1 -1
- package/lib/commonjs/Date/inputUtils.js +1 -1
- package/lib/commonjs/Date/inputUtils.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +1 -1
- package/lib/commonjs/TextInputMask.js.map +1 -1
- package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
- package/lib/commonjs/Time/AnalogClock.js +6 -4
- package/lib/commonjs/Time/AnalogClock.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockHours.js +1 -1
- package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/commonjs/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/commonjs/Time/TimeInput.js +1 -1
- package/lib/commonjs/Time/TimeInput.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +2 -2
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +7 -2
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +7 -1
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/translations/ar.js +25 -0
- package/lib/commonjs/translations/ar.js.map +1 -0
- package/lib/commonjs/translations/de.js.map +1 -1
- package/lib/commonjs/translations/en.js.map +1 -1
- package/lib/commonjs/translations/enGB.js.map +1 -1
- package/lib/commonjs/translations/fr.js +25 -0
- package/lib/commonjs/translations/fr.js.map +1 -0
- package/lib/commonjs/translations/ko.js +25 -0
- package/lib/commonjs/translations/ko.js.map +1 -0
- package/lib/commonjs/translations/nl.js.map +1 -1
- package/lib/commonjs/translations/pl.js.map +1 -1
- package/lib/commonjs/translations/pt.js.map +1 -1
- package/lib/commonjs/translations/utils.js +1 -1
- package/lib/commonjs/translations/utils.js.map +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/AnimatedCrossView.js.map +1 -1
- package/lib/module/Date/AutoSizer.js.map +1 -1
- package/lib/module/Date/Calendar.js +6 -2
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/CalendarEdit.js +4 -4
- package/lib/module/Date/CalendarEdit.js.map +1 -1
- package/lib/module/Date/CalendarHeader.js.map +1 -1
- package/lib/module/Date/DatePickerInput.js +34 -87
- package/lib/module/Date/DatePickerInput.js.map +1 -1
- package/lib/module/Date/DatePickerInput.shared.js +2 -0
- package/lib/module/Date/DatePickerInput.shared.js.map +1 -0
- package/lib/module/Date/DatePickerInputWithoutModal.js +97 -0
- package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -0
- package/lib/module/Date/DatePickerModal.js +1 -1
- package/lib/module/Date/DatePickerModal.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +14 -8
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +5 -3
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +5 -5
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/module/Date/DateRangeInput.js +3 -2
- package/lib/module/Date/DateRangeInput.js.map +1 -1
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/DayNames.js.map +1 -1
- package/lib/module/Date/DayRange.js.map +1 -1
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/Swiper.js.map +1 -1
- package/lib/module/Date/Swiper.native.js +2 -1
- package/lib/module/Date/Swiper.native.js.map +1 -1
- package/lib/module/Date/SwiperUtils.js.map +1 -1
- package/lib/module/Date/Week.js.map +1 -1
- package/lib/module/Date/YearPicker.js +5 -5
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/Date/dateUtils.js.map +1 -1
- package/lib/module/Date/dateUtils.test.js.map +1 -1
- package/lib/module/Date/inputUtils.js +1 -1
- package/lib/module/Date/inputUtils.js.map +1 -1
- package/lib/module/TextInputMask.js +1 -1
- package/lib/module/TextInputMask.js.map +1 -1
- package/lib/module/Time/AmPmSwitcher.js.map +1 -1
- package/lib/module/Time/AnalogClock.js +7 -5
- package/lib/module/Time/AnalogClock.js.map +1 -1
- package/lib/module/Time/AnalogClockHours.js +1 -1
- package/lib/module/Time/AnalogClockHours.js.map +1 -1
- package/lib/module/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/module/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/module/Time/TimeInput.js +1 -1
- package/lib/module/Time/TimeInput.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +2 -2
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +8 -3
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/Time/timeUtils.js +3 -0
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/translations/ar.js +18 -0
- package/lib/module/translations/ar.js.map +1 -0
- package/lib/module/translations/de.js.map +1 -1
- package/lib/module/translations/en.js.map +1 -1
- package/lib/module/translations/enGB.js.map +1 -1
- package/lib/module/translations/fr.js +18 -0
- package/lib/module/translations/fr.js.map +1 -0
- package/lib/module/translations/ko.js +18 -0
- package/lib/module/translations/ko.js.map +1 -0
- package/lib/module/translations/nl.js.map +1 -1
- package/lib/module/translations/pl.js.map +1 -1
- package/lib/module/translations/pt.js.map +1 -1
- package/lib/module/translations/utils.js +1 -1
- package/lib/module/translations/utils.js.map +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/Date/Calendar.d.ts +2 -0
- package/lib/typescript/Date/DatePickerInput.d.ts +2 -16
- package/lib/typescript/Date/DatePickerInput.shared.d.ts +13 -0
- package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +51 -0
- package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
- package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +3 -0
- package/lib/typescript/Date/DatePickerModalHeader.d.ts +2 -0
- package/lib/typescript/Date/DateRangeInput.d.ts +2 -1
- package/lib/typescript/Date/YearPicker.d.ts +3 -1
- package/lib/typescript/TextInputMask.d.ts +31 -6
- package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
- package/lib/typescript/Time/timeUtils.d.ts +1 -0
- package/lib/typescript/translations/ar.d.ts +3 -0
- package/lib/typescript/translations/fr.d.ts +3 -0
- package/lib/typescript/translations/ko.d.ts +3 -0
- package/package.json +26 -25
- package/src/Date/Calendar.tsx +7 -1
- package/src/Date/CalendarEdit.tsx +4 -4
- package/src/Date/DatePickerInput.shared.tsx +17 -0
- package/src/Date/DatePickerInput.tsx +32 -102
- package/src/Date/DatePickerInputWithoutModal.tsx +110 -0
- package/src/Date/DatePickerModalContent.tsx +10 -1
- package/src/Date/DatePickerModalContentHeader.tsx +13 -2
- package/src/Date/DatePickerModalHeader.tsx +5 -2
- package/src/Date/DateRangeInput.tsx +8 -2
- package/src/Date/Swiper.native.tsx +1 -0
- package/src/Date/YearPicker.tsx +5 -4
- package/src/Date/inputUtils.ts +1 -1
- package/src/Time/AnalogClock.tsx +12 -18
- package/src/Time/AnalogClockHours.tsx +1 -1
- package/src/Time/TimeInputs.tsx +2 -2
- package/src/Time/TimePickerModal.tsx +9 -2
- package/src/Time/timeUtils.ts +10 -0
- package/src/translations/ar.ts +21 -0
- package/src/translations/fr.ts +23 -0
- package/src/translations/ko.ts +21 -0
- package/src/translations/utils.ts +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import TextInputWithMask from '../TextInputMask';
|
|
5
|
+
import { HelperText, useTheme } from 'react-native-paper';
|
|
6
|
+
import { View, StyleSheet } from 'react-native';
|
|
7
|
+
import useDateInput from './inputUtils';
|
|
8
|
+
|
|
9
|
+
function DatePickerInputWithoutModal(_ref, ref) {
|
|
10
|
+
let {
|
|
11
|
+
label,
|
|
12
|
+
value,
|
|
13
|
+
onChange,
|
|
14
|
+
style,
|
|
15
|
+
locale,
|
|
16
|
+
validRange,
|
|
17
|
+
inputMode,
|
|
18
|
+
withDateFormatInLabel = true,
|
|
19
|
+
modal,
|
|
20
|
+
inputButtons,
|
|
21
|
+
...rest
|
|
22
|
+
} = _ref;
|
|
23
|
+
const theme = useTheme();
|
|
24
|
+
const {
|
|
25
|
+
formattedValue,
|
|
26
|
+
inputFormat,
|
|
27
|
+
onChangeText,
|
|
28
|
+
error
|
|
29
|
+
} = useDateInput({
|
|
30
|
+
locale,
|
|
31
|
+
value,
|
|
32
|
+
validRange,
|
|
33
|
+
inputMode,
|
|
34
|
+
onChange
|
|
35
|
+
});
|
|
36
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
37
|
+
style: styles.root
|
|
38
|
+
}, /*#__PURE__*/React.createElement(TextInputWithMask, _extends({}, rest, {
|
|
39
|
+
ref: ref,
|
|
40
|
+
label: getLabel({
|
|
41
|
+
// TODO: support label components?
|
|
42
|
+
label: label,
|
|
43
|
+
inputFormat,
|
|
44
|
+
withDateFormatInLabel
|
|
45
|
+
}),
|
|
46
|
+
value: formattedValue,
|
|
47
|
+
keyboardType: 'number-pad',
|
|
48
|
+
placeholder: inputFormat,
|
|
49
|
+
mask: inputFormat,
|
|
50
|
+
onChangeText: onChangeText,
|
|
51
|
+
keyboardAppearance: theme.dark ? 'dark' : 'default',
|
|
52
|
+
error: !!error,
|
|
53
|
+
style: [styles.input, style]
|
|
54
|
+
})), inputButtons, !!error ? /*#__PURE__*/React.createElement(View, {
|
|
55
|
+
style: styles.helperText
|
|
56
|
+
}, /*#__PURE__*/React.createElement(HelperText, {
|
|
57
|
+
style: styles.helperText,
|
|
58
|
+
type: "error",
|
|
59
|
+
visible: !!error
|
|
60
|
+
}, error)) : null), modal === null || modal === void 0 ? void 0 : modal({
|
|
61
|
+
value,
|
|
62
|
+
locale,
|
|
63
|
+
inputMode,
|
|
64
|
+
validRange
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function getLabel(_ref2) {
|
|
69
|
+
let {
|
|
70
|
+
withDateFormatInLabel,
|
|
71
|
+
inputFormat,
|
|
72
|
+
label
|
|
73
|
+
} = _ref2;
|
|
74
|
+
|
|
75
|
+
if (withDateFormatInLabel) {
|
|
76
|
+
return label ? `${label} (${inputFormat})` : inputFormat;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return label || '';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const styles = StyleSheet.create({
|
|
83
|
+
root: {
|
|
84
|
+
minWidth: 150,
|
|
85
|
+
flexGrow: 1,
|
|
86
|
+
justifyContent: 'center'
|
|
87
|
+
},
|
|
88
|
+
helperTextContainer: {
|
|
89
|
+
flexDirection: 'row'
|
|
90
|
+
},
|
|
91
|
+
helperText: {
|
|
92
|
+
flex: 1
|
|
93
|
+
},
|
|
94
|
+
input: {}
|
|
95
|
+
});
|
|
96
|
+
export default /*#__PURE__*/React.forwardRef(DatePickerInputWithoutModal);
|
|
97
|
+
//# sourceMappingURL=DatePickerInputWithoutModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","TextInputWithMask","HelperText","useTheme","View","StyleSheet","useDateInput","DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","modal","inputButtons","rest","theme","formattedValue","inputFormat","onChangeText","error","styles","root","getLabel","dark","input","helperText","create","minWidth","flexGrow","justifyContent","helperTextContainer","flexDirection","flex","forwardRef"],"sources":["DatePickerInputWithoutModal.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport useDateInput from './inputUtils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\n\nfunction DatePickerInputWithoutModal(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withDateFormatInLabel = true,\n modal,\n inputButtons,\n ...rest\n }: DatePickerInputProps & {\n modal?: (params: {\n value: DatePickerInputProps['value']\n locale: DatePickerInputProps['locale']\n inputMode: DatePickerInputProps['inputMode']\n validRange: DatePickerInputProps['validRange']\n }) => any\n inputButtons?: any\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 return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({\n // TODO: support label components?\n label: label as any,\n inputFormat,\n withDateFormatInLabel,\n })}\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 {inputButtons}\n {!!error ? (\n <View style={styles.helperText}>\n <HelperText\n style={styles.helperText}\n type=\"error\"\n visible={!!error}\n >\n {error}\n </HelperText>\n </View>\n ) : null}\n </View>\n {modal?.({ value, locale, inputMode, validRange })}\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 flexGrow: 1,\n justifyContent: 'center',\n },\n helperTextContainer: {\n flexDirection: 'row',\n },\n helperText: {\n flex: 1,\n },\n input: {},\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,iBAAP,MAA8B,kBAA9B;AACA,SAASC,UAAT,EAAqBC,QAArB,QAAqC,oBAArC;AACA,SAASC,IAAT,EAAeC,UAAf,QAAiC,cAAjC;AACA,OAAOC,YAAP,MAAyB,cAAzB;;AAGA,SAASC,2BAAT,OAsBEC,GAtBF,EAuBE;EAAA,IAtBA;IACEC,KADF;IAEEC,KAFF;IAGEC,QAHF;IAIEC,KAJF;IAKEC,MALF;IAMEC,UANF;IAOEC,SAPF;IAQEC,qBAAqB,GAAG,IAR1B;IASEC,KATF;IAUEC,YAVF;IAWE,GAAGC;EAXL,CAsBA;EACA,MAAMC,KAAK,GAAGjB,QAAQ,EAAtB;EACA,MAAM;IAAEkB,cAAF;IAAkBC,WAAlB;IAA+BC,YAA/B;IAA6CC;EAA7C,IAAuDlB,YAAY,CAAC;IACxEO,MADwE;IAExEH,KAFwE;IAGxEI,UAHwE;IAIxEC,SAJwE;IAKxEJ;EALwE,CAAD,CAAzE;EAQA,oBACE,uDACE,oBAAC,IAAD;IAAM,KAAK,EAAEc,MAAM,CAACC;EAApB,gBACE,oBAAC,iBAAD,eACMP,IADN;IAEE,GAAG,EAAEX,GAFP;IAGE,KAAK,EAAEmB,QAAQ,CAAC;MACd;MACAlB,KAAK,EAAEA,KAFO;MAGda,WAHc;MAIdN;IAJc,CAAD,CAHjB;IASE,KAAK,EAAEK,cATT;IAUE,YAAY,EAAE,YAVhB;IAWE,WAAW,EAAEC,WAXf;IAYE,IAAI,EAAEA,WAZR;IAaE,YAAY,EAAEC,YAbhB;IAcE,kBAAkB,EAAEH,KAAK,CAACQ,IAAN,GAAa,MAAb,GAAsB,SAd5C;IAeE,KAAK,EAAE,CAAC,CAACJ,KAfX;IAgBE,KAAK,EAAE,CAACC,MAAM,CAACI,KAAR,EAAejB,KAAf;EAhBT,GADF,EAmBGM,YAnBH,EAoBG,CAAC,CAACM,KAAF,gBACC,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACK;EAApB,gBACE,oBAAC,UAAD;IACE,KAAK,EAAEL,MAAM,CAACK,UADhB;IAEE,IAAI,EAAC,OAFP;IAGE,OAAO,EAAE,CAAC,CAACN;EAHb,GAKGA,KALH,CADF,CADD,GAUG,IA9BN,CADF,EAiCGP,KAjCH,aAiCGA,KAjCH,uBAiCGA,KAAK,CAAG;IAAEP,KAAF;IAASG,MAAT;IAAiBE,SAAjB;IAA4BD;EAA5B,CAAH,CAjCR,CADF;AAqCD;;AAED,SAASa,QAAT,QAQG;EAAA,IARe;IAChBX,qBADgB;IAEhBM,WAFgB;IAGhBb;EAHgB,CAQf;;EACD,IAAIO,qBAAJ,EAA2B;IACzB,OAAOP,KAAK,GAAI,GAAEA,KAAM,KAAIa,WAAY,GAA5B,GAAiCA,WAA7C;EACD;;EACD,OAAOb,KAAK,IAAI,EAAhB;AACD;;AAED,MAAMgB,MAAM,GAAGpB,UAAU,CAAC0B,MAAX,CAAkB;EAC/BL,IAAI,EAAE;IACJM,QAAQ,EAAE,GADN;IAEJC,QAAQ,EAAE,CAFN;IAGJC,cAAc,EAAE;EAHZ,CADyB;EAM/BC,mBAAmB,EAAE;IACnBC,aAAa,EAAE;EADI,CANU;EAS/BN,UAAU,EAAE;IACVO,IAAI,EAAE;EADI,CATmB;EAY/BR,KAAK,EAAE;AAZwB,CAAlB,CAAf;AAcA,4BAAe7B,KAAK,CAACsC,UAAN,CAAiB/B,2BAAjB,CAAf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { Modal, StyleSheet, TouchableWithoutFeedback, useWindowDimensions, View, Platform, StatusBar } from 'react-native';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Modal","StyleSheet","TouchableWithoutFeedback","useWindowDimensions","View","Platform","StatusBar","useTheme","DatePickerModalContent","useHeaderBackgroundColor","useHeaderColorIsLight","DatePickerModal","props","theme","dimensions","visible","animationType","disableStatusBar","disableStatusBarPadding","rest","animationTypeCalculated","select","web","default","isLight","headerBackgroundColor","absoluteFill","onDismiss","supportedOrientations","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","modalContent","surface","width","modalContentBig","height","currentHeight","create","justifyContent","alignItems","flex","maxWidth","maxHeight","borderRadius","overflow","memo"],"sources":["DatePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n TouchableWithoutFeedback,\n useWindowDimensions,\n View,\n Platform,\n StatusBar,\n} from 'react-native'\n\nimport { useTheme } from 'react-native-paper'\nimport DatePickerModalContent, {\n DatePickerModalContentMultiProps,\n DatePickerModalContentRangeProps,\n DatePickerModalContentSingleProps,\n} from './DatePickerModalContent'\nimport { useHeaderBackgroundColor, useHeaderColorIsLight } from '../utils'\n\ninterface DatePickerModalProps {\n visible: boolean\n animationType?: 'slide' | 'fade' | 'none'\n disableStatusBar?: boolean\n disableStatusBarPadding?: boolean\n}\n\nexport interface DatePickerModalSingleProps\n extends DatePickerModalContentSingleProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalMultiProps\n extends DatePickerModalContentMultiProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalRangeProps\n extends DatePickerModalContentRangeProps,\n DatePickerModalProps {}\n\nexport function DatePickerModal(\n props:\n | DatePickerModalRangeProps\n | DatePickerModalSingleProps\n | DatePickerModalMultiProps\n) {\n const theme = useTheme()\n const dimensions = useWindowDimensions()\n const {\n visible,\n animationType,\n disableStatusBar,\n disableStatusBarPadding,\n ...rest\n } = props\n const animationTypeCalculated =\n animationType ||\n Platform.select({\n web: 'none',\n default: 'slide',\n })\n\n const isLight = useHeaderColorIsLight()\n const headerBackgroundColor = useHeaderBackgroundColor()\n\n return (\n <View style={[StyleSheet.absoluteFill]} pointerEvents=\"box-none\">\n <Modal\n animationType={animationTypeCalculated}\n transparent={true}\n visible={visible}\n onRequestClose={rest.onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={rest.onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <View\n style={[\n styles.modalContent,\n { backgroundColor: theme.colors.surface },\n dimensions.width > 650 ? styles.modalContentBig : null,\n ]}\n >\n {disableStatusBar ? null : (\n <StatusBar\n translucent={true}\n barStyle={isLight ? 'dark-content' : 'light-content'}\n />\n )}\n {disableStatusBarPadding ? null : (\n <View\n style={[\n {\n height: StatusBar.currentHeight,\n backgroundColor: headerBackgroundColor,\n },\n ]}\n />\n )}\n <DatePickerModalContent\n {...rest}\n disableSafeTop={disableStatusBar}\n />\n </View>\n </View>\n </>\n </Modal>\n </View>\n )\n}\nconst supportedOrientations: any = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n flex: 1,\n width: '100%',\n },\n modalContentBig: {\n maxWidth: 600,\n maxHeight: 800,\n borderRadius: 10,\n width: '100%',\n overflow: 'hidden',\n },\n})\n\nexport default React.memo(DatePickerModal)\n"],"mappings":"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"}
|
|
@@ -6,8 +6,6 @@ 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
|
-
|
|
11
9
|
const {
|
|
12
10
|
mode,
|
|
13
11
|
onChange,
|
|
@@ -17,7 +15,9 @@ export function DatePickerModalContent(props) {
|
|
|
17
15
|
disableWeekDays,
|
|
18
16
|
locale,
|
|
19
17
|
validRange,
|
|
20
|
-
dateMode
|
|
18
|
+
dateMode,
|
|
19
|
+
startYear,
|
|
20
|
+
endYear
|
|
21
21
|
} = props;
|
|
22
22
|
const anyProps = props; // use local state to add only onConfirm state changes
|
|
23
23
|
|
|
@@ -70,8 +70,10 @@ export function DatePickerModalContent(props) {
|
|
|
70
70
|
onSave: onInnerConfirm,
|
|
71
71
|
onDismiss: onDismiss,
|
|
72
72
|
saveLabel: props.saveLabel,
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
saveLabelDisabled: props.saveLabelDisabled ?? false,
|
|
74
|
+
uppercase: props.uppercase ?? true,
|
|
75
|
+
disableSafeTop: disableSafeTop,
|
|
76
|
+
closeIcon: props.closeIcon
|
|
75
77
|
}), /*#__PURE__*/React.createElement(DatePickerModalContentHeader, {
|
|
76
78
|
state: state,
|
|
77
79
|
mode: mode,
|
|
@@ -83,8 +85,10 @@ export function DatePickerModalContent(props) {
|
|
|
83
85
|
moreLabel: props.moreLabel,
|
|
84
86
|
startLabel: props.startLabel,
|
|
85
87
|
endLabel: props.endLabel,
|
|
86
|
-
uppercase:
|
|
87
|
-
locale: locale
|
|
88
|
+
uppercase: props.uppercase ?? true,
|
|
89
|
+
locale: locale,
|
|
90
|
+
editIcon: props.editIcon,
|
|
91
|
+
calendarIcon: props.calendarIcon
|
|
88
92
|
})), /*#__PURE__*/React.createElement(AnimatedCrossView, {
|
|
89
93
|
collapsed: collapsed,
|
|
90
94
|
calendar: /*#__PURE__*/React.createElement(Calendar, {
|
|
@@ -97,7 +101,9 @@ export function DatePickerModalContent(props) {
|
|
|
97
101
|
disableWeekDays: disableWeekDays,
|
|
98
102
|
dates: state.dates,
|
|
99
103
|
validRange: validRange,
|
|
100
|
-
dateMode: dateMode
|
|
104
|
+
dateMode: dateMode,
|
|
105
|
+
startYear: startYear,
|
|
106
|
+
endYear: endYear
|
|
101
107
|
}),
|
|
102
108
|
calendarEdit: /*#__PURE__*/React.createElement(CalendarEdit, {
|
|
103
109
|
mode: mode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","startYear","endYear","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","saveLabelDisabled","uppercase","closeIcon","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","editIcon","calendarIcon","memo"],"sources":["DatePickerModalContent.tsx"],"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 saveLabelDisabled?: 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 startYear,\n endYear,\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: any) => {\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 saveLabelDisabled={props.saveLabelDisabled ?? false}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n closeIcon={props.closeIcon}\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 editIcon={props.editIcon}\n calendarIcon={props.calendarIcon}\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 startYear={startYear}\n endYear={endYear}\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"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
@@ -33,7 +33,9 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
33
33
|
collapsed,
|
|
34
34
|
mode,
|
|
35
35
|
moreLabel,
|
|
36
|
-
uppercase
|
|
36
|
+
uppercase,
|
|
37
|
+
editIcon = 'pencil',
|
|
38
|
+
calendarIcon = 'calendar'
|
|
37
39
|
} = props;
|
|
38
40
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
39
41
|
const color = useHeaderTextColor();
|
|
@@ -56,7 +58,7 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
56
58
|
})) : null)), /*#__PURE__*/React.createElement(View, {
|
|
57
59
|
style: styles.fill
|
|
58
60
|
}), allowEditing ? /*#__PURE__*/React.createElement(IconButton, {
|
|
59
|
-
icon: collapsed ?
|
|
61
|
+
icon: collapsed ? editIcon : calendarIcon,
|
|
60
62
|
accessibilityLabel: collapsed ? getTranslation(props.locale, 'typeInDate') : getTranslation(props.locale, 'pickDateFromCalendar'),
|
|
61
63
|
color: color,
|
|
62
64
|
onPress: onToggle
|
|
@@ -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","uppercase","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","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 />\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,"names":["React","View","StyleSheet","IconButton","Text","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","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"],"sources":["DatePickerModalContentHeader.tsx"],"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 editIcon?: string\n calendarIcon?: string\n closeIcon?: 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 {\n onToggle,\n collapsed,\n mode,\n moreLabel,\n uppercase,\n editIcon = 'pencil',\n calendarIcon = 'calendar',\n } = 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 ? editIcon : calendarIcon}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\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"],"mappings":"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"}
|
|
@@ -4,11 +4,10 @@ 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
|
-
|
|
9
7
|
const {
|
|
10
8
|
disableSafeTop,
|
|
11
|
-
locale
|
|
9
|
+
locale,
|
|
10
|
+
closeIcon = 'close'
|
|
12
11
|
} = props;
|
|
13
12
|
const saveLabel = props.saveLabel || getTranslation(locale, 'save');
|
|
14
13
|
const color = useHeaderTextColor();
|
|
@@ -19,7 +18,7 @@ export default function DatePickerModalHeader(props) {
|
|
|
19
18
|
}, /*#__PURE__*/React.createElement(Appbar, {
|
|
20
19
|
style: styles.appbarHeader
|
|
21
20
|
}, /*#__PURE__*/React.createElement(Appbar.Action, {
|
|
22
|
-
icon:
|
|
21
|
+
icon: closeIcon,
|
|
23
22
|
accessibilityLabel: getTranslation(locale, 'close'),
|
|
24
23
|
onPress: props.onDismiss,
|
|
25
24
|
color: color,
|
|
@@ -29,7 +28,8 @@ export default function DatePickerModalHeader(props) {
|
|
|
29
28
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
30
29
|
color: color,
|
|
31
30
|
onPress: props.onSave,
|
|
32
|
-
|
|
31
|
+
disabled: props.saveLabelDisabled ?? false,
|
|
32
|
+
uppercase: props.uppercase ?? true,
|
|
33
33
|
testID: "react-native-paper-dates-save"
|
|
34
34
|
}, saveLabel)))));
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","SafeAreaView","Appbar","Button","useHeaderTextColor","getTranslation","DatePickerModalHeader","props","disableSafeTop","locale","closeIcon","saveLabel","color","styles","animated","safeContent","safeContentNoTop","appbarHeader","onDismiss","onSave","saveLabelDisabled","uppercase","create","fill","flex","paddingBottom","elevation","paddingTop","header","height","alignItems","flexDirection","paddingLeft","paddingRight","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"sources":["DatePickerModalHeader.tsx"],"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 saveLabelDisabled?: boolean\n uppercase?: boolean\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n closeIcon?: string\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale, closeIcon = 'close' } = 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={closeIcon}\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n onPress={props.onSave}\n disabled={props.saveLabelDisabled ?? false}\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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Animated","SafeAreaView","StyleSheet","React","useHeaderBackgroundColor","DatePickerModalHeaderBackground","children","backgroundColor","styles","animated","safeContent","create","paddingBottom","elevation"],"sources":["DatePickerModalHeaderBackground.tsx"],"sourcesContent":["import { Animated, SafeAreaView, StyleSheet } from 'react-native'\nimport * as React from 'react'\nimport { useHeaderBackgroundColor } from '../utils'\n\nexport default function DatePickerModalHeaderBackground({\n children,\n}: {\n children: any\n}) {\n const backgroundColor = useHeaderBackgroundColor()\n\n return (\n <Animated.View\n style={[\n styles.animated,\n {\n backgroundColor,\n },\n ]}\n >\n <SafeAreaView style={styles.safeContent}>{children}</SafeAreaView>\n </Animated.View>\n )\n}\n\nconst styles = StyleSheet.create({\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n})\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,YAAnB,EAAiCC,UAAjC,QAAmD,cAAnD;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,wBAAT,QAAyC,UAAzC;AAEA,eAAe,SAASC,+BAAT,OAIZ;EAAA,IAJqD;IACtDC;EADsD,CAIrD;EACD,MAAMC,eAAe,GAAGH,wBAAwB,EAAhD;EAEA,oBACE,oBAAC,QAAD,CAAU,IAAV;IACE,KAAK,EAAE,CACLI,MAAM,CAACC,QADF,EAEL;MACEF;IADF,CAFK;EADT,gBAQE,oBAAC,YAAD;IAAc,KAAK,EAAEC,MAAM,CAACE;EAA5B,GAA0CJ,QAA1C,CARF,CADF;AAYD;AAED,MAAME,MAAM,GAAGN,UAAU,CAACS,MAAX,CAAkB;EAC/BF,QAAQ,EAAE;IACRG,aAAa,EAAE,CADP;IAERC,SAAS,EAAE;EAFH,CADqB;EAK/BH,WAAW,EAAE;IACXE,aAAa,EAAE;EADJ;AALkB,CAAlB,CAAf"}
|
|
@@ -5,7 +5,8 @@ import DatePickerModal from './DatePickerModal'; // WORK IN PROGRESS
|
|
|
5
5
|
|
|
6
6
|
export default function DateRangeInput(_ref) {
|
|
7
7
|
let {
|
|
8
|
-
locale
|
|
8
|
+
locale,
|
|
9
|
+
calendarIcon = 'calendar'
|
|
9
10
|
} = _ref;
|
|
10
11
|
const [visible, setVisible] = React.useState(false);
|
|
11
12
|
const onDismiss = React.useCallback(() => {
|
|
@@ -48,7 +49,7 @@ export default function DateRangeInput(_ref) {
|
|
|
48
49
|
flex: 1
|
|
49
50
|
}
|
|
50
51
|
}, /*#__PURE__*/React.createElement(Text, null, "Tot")), /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(IconButton, {
|
|
51
|
-
icon:
|
|
52
|
+
icon: calendarIcon,
|
|
52
53
|
onPress: () => setVisible(true)
|
|
53
54
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
54
55
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","View","Text","IconButton","DatePickerModal","DateRangeInput","locale","calendarIcon","visible","setVisible","useState","onDismiss","useCallback","onConfirm","startDate","endDate","console","log","flexDirection","alignItems","flex","fontSize","marginLeft","marginRight","opacity","undefined"],"sources":["DateRangeInput.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View } from 'react-native'\nimport { Text, IconButton } from 'react-native-paper'\n\nimport DatePickerModal from './DatePickerModal'\n\n// WORK IN PROGRESS\nexport default function DateRangeInput({\n locale,\n calendarIcon = 'calendar',\n}: {\n locale: string\n calendarIcon?: string\n}) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onConfirm = React.useCallback(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ startDate, endDate }: { startDate: any; endDate: any }) => {\n setVisible(false)\n console.log({ startDate, endDate })\n },\n [setVisible]\n )\n\n return (\n <View style={{ flexDirection: 'row', alignItems: 'center' }}>\n <View style={{ flex: 1 }}>\n {/*<DatePickerInput*/}\n {/* value={''}*/}\n {/* keyboardType={'numeric'}*/}\n {/* placeholder={'DD-MM-YYY'}*/}\n {/* mask={'DD-MM-YYY'}*/}\n {/* onChangeText={() => {}}*/}\n {/*/>*/}\n <Text>Van</Text>\n </View>\n <View>\n <Text style={{ fontSize: 16, marginLeft: 12, marginRight: 12 }}>\n to\n </Text>\n <Text style={{ opacity: 0 }} accessible={false}>\n tot\n </Text>\n </View>\n <View style={{ flex: 1 }}>\n {/*<DatePickerInput*/}\n {/* // value={''}*/}\n {/* // keyboardType={'numeric'}*/}\n {/* // placeholder={'DD-MM-YYY'}*/}\n {/* // mask={'DD-MM-YYY'}*/}\n {/* // onChangeText={() => {}}*/}\n {/*/>*/}\n <Text>Tot</Text>\n </View>\n <View>\n <IconButton icon={calendarIcon} onPress={() => setVisible(true)} />\n <Text style={{ opacity: 0 }} accessible={false}>\n tot\n </Text>\n </View>\n <DatePickerModal\n locale={locale}\n mode=\"range\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onConfirm}\n startDate={undefined}\n endDate={undefined}\n />\n </View>\n )\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,IAAT,EAAeC,UAAf,QAAiC,oBAAjC;AAEA,OAAOC,eAAP,MAA4B,mBAA5B,C,CAEA;;AACA,eAAe,SAASC,cAAT,OAMZ;EAAA,IANoC;IACrCC,MADqC;IAErCC,YAAY,GAAG;EAFsB,CAMpC;EACD,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBT,KAAK,CAACU,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGX,KAAK,CAACY,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,SAAS,GAAGb,KAAK,CAACY,WAAN,EAChB;EACA,SAA8D;IAAA,IAA7D;MAAEE,SAAF;MAAaC;IAAb,CAA6D;IAC5DN,UAAU,CAAC,KAAD,CAAV;IACAO,OAAO,CAACC,GAAR,CAAY;MAAEH,SAAF;MAAaC;IAAb,CAAZ;EACD,CALe,EAMhB,CAACN,UAAD,CANgB,CAAlB;EASA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAES,aAAa,EAAE,KAAjB;MAAwBC,UAAU,EAAE;IAApC;EAAb,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAR;EAAb,gBAQE,oBAAC,IAAD,cARF,CADF,eAWE,oBAAC,IAAD,qBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEC,QAAQ,EAAE,EAAZ;MAAgBC,UAAU,EAAE,EAA5B;MAAgCC,WAAW,EAAE;IAA7C;EAAb,QADF,eAIE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAX,CAAb;IAA6B,UAAU,EAAE;EAAzC,SAJF,CAXF,eAmBE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEJ,IAAI,EAAE;IAAR;EAAb,gBAQE,oBAAC,IAAD,cARF,CAnBF,eA6BE,oBAAC,IAAD,qBACE,oBAAC,UAAD;IAAY,IAAI,EAAEb,YAAlB;IAAgC,OAAO,EAAE,MAAME,UAAU,CAAC,IAAD;EAAzD,EADF,eAEE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEe,OAAO,EAAE;IAAX,CAAb;IAA6B,UAAU,EAAE;EAAzC,SAFF,CA7BF,eAmCE,oBAAC,eAAD;IACE,MAAM,EAAElB,MADV;IAEE,IAAI,EAAC,OAFP;IAGE,OAAO,EAAEE,OAHX;IAIE,SAAS,EAAEG,SAJb;IAKE,SAAS,EAAEE,SALb;IAME,SAAS,EAAEY,SANb;IAOE,OAAO,EAAEA;EAPX,EAnCF,CADF;AA+CD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Text","TouchableRipple","StyleSheet","View","DayRange","daySize","EmptyDayPure","styles","empty","EmptyDay","memo","Day","props","day","month","year","selected","inRange","leftCrop","rightCrop","onPressDate","primaryColor","selectColor","isToday","disabled","textColorOnPrimary","theme","onPress","useCallback","Date","borderColor","dark","textColor","undefined","root","button","backgroundColor","color","create","flex","flexBasis","opacity","justifyContent","alignItems","position","width","height","overflow","borderRadius","borderWidth","flex1"],"sources":["Day.tsx"],"sourcesContent":["import * as React from 'react'\nimport { DarkTheme, Text, TouchableRipple } from 'react-native-paper'\nimport { StyleSheet, View } from 'react-native'\nimport DayRange from './DayRange'\nimport { daySize } from './dateUtils'\n\nfunction EmptyDayPure() {\n return <View style={styles.empty} />\n}\nexport const EmptyDay = React.memo(EmptyDayPure)\n\nfunction Day(props: {\n theme: typeof DarkTheme\n textColorOnPrimary: string\n day: number\n month: number\n year: number\n selected: boolean\n inRange: boolean\n leftCrop: boolean\n rightCrop: boolean\n primaryColor: string\n selectColor: string\n isToday: boolean\n disabled: boolean\n onPressDate: (date: Date) => any\n}) {\n const {\n day,\n month,\n year,\n selected,\n inRange,\n leftCrop,\n rightCrop,\n onPressDate,\n primaryColor,\n selectColor,\n isToday,\n disabled,\n textColorOnPrimary,\n theme,\n } = props\n // console.log(month, { day })\n const onPress = React.useCallback(() => {\n onPressDate(new Date(year, month, day))\n }, [onPressDate, year, month, day])\n\n const borderColor =\n selected || (inRange && theme.dark)\n ? textColorOnPrimary\n : theme.dark\n ? '#fff'\n : '#000'\n const textColor =\n selected || (inRange && theme.dark) ? textColorOnPrimary : undefined\n\n return (\n <View style={[styles.root, disabled && styles.disabled]}>\n <DayRange\n inRange={inRange}\n leftCrop={leftCrop}\n rightCrop={rightCrop}\n selectColor={selectColor}\n />\n\n <TouchableRipple\n testID={`react-native-paper-dates-day-${year}-${month}-${day}`}\n disabled={disabled}\n borderless={true}\n onPress={disabled ? undefined : onPress}\n style={[\n styles.button,\n { backgroundColor: inRange ? selectColor : undefined },\n ]}\n accessibilityRole=\"button\"\n >\n <View\n style={[\n styles.day,\n isToday ? { borderColor: borderColor } : null,\n selected ? { backgroundColor: primaryColor } : null,\n ]}\n >\n <Text\n style={textColor ? { color: textColor } : undefined}\n selectable={false}\n >\n {day}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n empty: {\n flex: 1,\n flexBasis: 0,\n },\n disabled: {\n opacity: 0.3,\n },\n root: {\n flexBasis: 0,\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n },\n button: {\n width: daySize,\n height: daySize,\n overflow: 'hidden',\n borderRadius: daySize / 2,\n },\n day: {\n flexBasis: 0,\n flex: 1,\n borderRadius: daySize / 2,\n width: daySize,\n height: daySize,\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 1,\n borderColor: 'transparent',\n },\n flex1: {\n flex: 1,\n },\n})\n\nexport default React.memo(Day)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Text","useTheme","DayName","label","theme","styles","dayName","dayNameLabel","fonts","medium","create","flex","alignItems","fontSize","opacity","memo"],"sources":["DayName.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Text, useTheme } from 'react-native-paper'\n\nfunction DayName({ label }: { label: string }) {\n const theme = useTheme()\n return (\n <View style={styles.dayName}>\n <Text\n style={[styles.dayNameLabel, theme.fonts.medium]}\n selectable={false}\n >\n {label}\n </Text>\n </View>\n )\n}\nconst styles = StyleSheet.create({\n dayName: { flex: 1, alignItems: 'center' },\n dayNameLabel: { fontSize: 14, opacity: 0.7 },\n})\nexport default React.memo(DayName)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,oBAA/B;;AAEA,SAASC,OAAT,OAA+C;EAAA,IAA9B;IAAEC;EAAF,CAA8B;EAC7C,MAAMC,KAAK,GAAGH,QAAQ,EAAtB;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEI,MAAM,CAACC;EAApB,gBACE,oBAAC,IAAD;IACE,KAAK,EAAE,CAACD,MAAM,CAACE,YAAR,EAAsBH,KAAK,CAACI,KAAN,CAAYC,MAAlC,CADT;IAEE,UAAU,EAAE;EAFd,GAIGN,KAJH,CADF,CADF;AAUD;;AACD,MAAME,MAAM,GAAGP,UAAU,CAACY,MAAX,CAAkB;EAC/BJ,OAAO,EAAE;IAAEK,IAAI,EAAE,CAAR;IAAWC,UAAU,EAAE;EAAvB,CADsB;EAE/BL,YAAY,EAAE;IAAEM,QAAQ,EAAE,EAAZ;IAAgBC,OAAO,EAAE;EAAzB;AAFiB,CAAlB,CAAf;AAIA,4BAAejB,KAAK,CAACkB,IAAN,CAAWb,OAAX,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","DayName","useTheme","showWeekDay","dayNamesHeight","weekdays","Date","DayNames","disableWeekDays","locale","theme","shortDayNames","useMemo","formatter","Intl","DateTimeFormat","weekday","map","date","format","styles","dayNames","backgroundColor","colors","surface","filter","_","dayIndex","dayName","i","create","height","flexDirection","alignItems","memo"],"sources":["DayNames.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport DayName from './DayName'\nimport { useTheme } from 'react-native-paper'\nimport { DisableWeekDaysType, showWeekDay } from './dateUtils'\n\nexport const dayNamesHeight = 44\n\n// TODO: wait for a better Intl api ;-)\nconst weekdays = [\n new Date(2020, 7, 2),\n new Date(2020, 7, 3),\n new Date(2020, 7, 4),\n new Date(2020, 7, 5),\n new Date(2020, 7, 6),\n new Date(2020, 7, 7),\n new Date(2020, 7, 8),\n]\n\nfunction DayNames({\n disableWeekDays,\n locale,\n}: {\n locale: undefined | string\n disableWeekDays?: DisableWeekDaysType\n}) {\n const theme = useTheme()\n const shortDayNames = React.useMemo<string[]>(() => {\n const formatter = new Intl.DateTimeFormat(locale, {\n weekday: 'narrow',\n })\n return weekdays.map((date) => formatter.format(date))\n }, [locale])\n\n return (\n <View\n style={[styles.dayNames, { backgroundColor: theme.colors.surface }]}\n pointerEvents={'none'}\n >\n {shortDayNames\n .filter((_, dayIndex) => showWeekDay(dayIndex, disableWeekDays))\n .map((dayName, i) => (\n <DayName key={`${dayName}_${i}`} label={dayName} />\n ))}\n </View>\n )\n}\nconst styles = StyleSheet.create({\n dayNames: {\n height: dayNamesHeight,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#fff',\n },\n})\nexport default React.memo(DayNames)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAA8BC,WAA9B,QAAiD,aAAjD;AAEA,OAAO,MAAMC,cAAc,GAAG,EAAvB,C,CAEP;;AACA,MAAMC,QAAQ,GAAG,CACf,IAAIC,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CADe,EAEf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAFe,EAGf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAHe,EAIf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAJe,EAKf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CALe,EAMf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CANe,EAOf,IAAIA,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAPe,CAAjB;;AAUA,SAASC,QAAT,OAMG;EAAA,IANe;IAChBC,eADgB;IAEhBC;EAFgB,CAMf;EACD,MAAMC,KAAK,GAAGR,QAAQ,EAAtB;EACA,MAAMS,aAAa,GAAGb,KAAK,CAACc,OAAN,CAAwB,MAAM;IAClD,MAAMC,SAAS,GAAG,IAAIC,IAAI,CAACC,cAAT,CAAwBN,MAAxB,EAAgC;MAChDO,OAAO,EAAE;IADuC,CAAhC,CAAlB;IAGA,OAAOX,QAAQ,CAACY,GAAT,CAAcC,IAAD,IAAUL,SAAS,CAACM,MAAV,CAAiBD,IAAjB,CAAvB,CAAP;EACD,CALqB,EAKnB,CAACT,MAAD,CALmB,CAAtB;EAOA,oBACE,oBAAC,IAAD;IACE,KAAK,EAAE,CAACW,MAAM,CAACC,QAAR,EAAkB;MAAEC,eAAe,EAAEZ,KAAK,CAACa,MAAN,CAAaC;IAAhC,CAAlB,CADT;IAEE,aAAa,EAAE;EAFjB,GAIGb,aAAa,CACXc,MADF,CACS,CAACC,CAAD,EAAIC,QAAJ,KAAiBxB,WAAW,CAACwB,QAAD,EAAWnB,eAAX,CADrC,EAEES,GAFF,CAEM,CAACW,OAAD,EAAUC,CAAV,kBACH,oBAAC,OAAD;IAAS,GAAG,EAAG,GAAED,OAAQ,IAAGC,CAAE,EAA9B;IAAiC,KAAK,EAAED;EAAxC,EAHH,CAJH,CADF;AAYD;;AACD,MAAMR,MAAM,GAAGrB,UAAU,CAAC+B,MAAX,CAAkB;EAC/BT,QAAQ,EAAE;IACRU,MAAM,EAAE3B,cADA;IAER4B,aAAa,EAAE,KAFP;IAGRC,UAAU,EAAE,QAHJ;IAIRX,eAAe,EAAE;EAJT;AADqB,CAAlB,CAAf;AAQA,4BAAexB,KAAK,CAACoC,IAAN,CAAW3B,QAAX,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","daySize","DayRange","leftCrop","rightCrop","inRange","selectColor","bothWays","isCrop","absoluteFill","styles","rangeRoot","rangeRootBoth","backgroundColor","flex1","minWidth","minHeight","leftRadius","rightRadius","create","borderBottomLeftRadius","borderTopLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderRadius","flex","flexDirection","memo"],"sources":["DayRange.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { daySize } from './dateUtils'\n\nfunction DayRange({\n leftCrop,\n rightCrop,\n inRange,\n selectColor,\n}: {\n leftCrop: boolean\n rightCrop: boolean\n inRange: boolean\n selectColor: string\n}) {\n const bothWays = inRange && leftCrop && rightCrop\n const isCrop = inRange && (leftCrop || rightCrop) && !(leftCrop && rightCrop)\n\n if (inRange || isCrop) {\n return (\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n styles.rangeRoot,\n bothWays && styles.rangeRootBoth,\n inRange && !isCrop\n ? {\n backgroundColor: selectColor,\n }\n : null,\n ]}\n >\n {isCrop && (\n <>\n <View\n style={[\n styles.flex1,\n rightCrop\n ? {\n backgroundColor: selectColor,\n }\n : null,\n ]}\n />\n <View\n style={[\n {\n backgroundColor: selectColor,\n minWidth: daySize,\n minHeight: daySize,\n },\n leftCrop ? styles.leftRadius : null,\n rightCrop ? styles.rightRadius : null,\n ]}\n />\n <View\n style={[\n styles.flex1,\n leftCrop\n ? {\n backgroundColor: selectColor,\n }\n : null,\n ]}\n />\n </>\n )}\n </View>\n )\n }\n return null\n}\n\nconst styles = StyleSheet.create({\n leftRadius: {\n borderBottomLeftRadius: daySize / 2,\n borderTopLeftRadius: daySize / 2,\n },\n rightRadius: {\n borderBottomRightRadius: daySize / 2,\n borderTopRightRadius: daySize / 2,\n },\n rangeRootBoth: {\n borderRadius: daySize / 2,\n },\n flex1: {\n flex: 1,\n },\n rangeRoot: {\n flexDirection: 'row',\n },\n})\n\nexport default React.memo(DayRange)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAASC,OAAT,QAAwB,aAAxB;;AAEA,SAASC,QAAT,OAUG;EAAA,IAVe;IAChBC,QADgB;IAEhBC,SAFgB;IAGhBC,OAHgB;IAIhBC;EAJgB,CAUf;EACD,MAAMC,QAAQ,GAAGF,OAAO,IAAIF,QAAX,IAAuBC,SAAxC;EACA,MAAMI,MAAM,GAAGH,OAAO,KAAKF,QAAQ,IAAIC,SAAjB,CAAP,IAAsC,EAAED,QAAQ,IAAIC,SAAd,CAArD;;EAEA,IAAIC,OAAO,IAAIG,MAAf,EAAuB;IACrB,oBACE,oBAAC,IAAD;MACE,aAAa,EAAC,MADhB;MAEE,KAAK,EAAE,CACLT,UAAU,CAACU,YADN,EAELC,MAAM,CAACC,SAFF,EAGLJ,QAAQ,IAAIG,MAAM,CAACE,aAHd,EAILP,OAAO,IAAI,CAACG,MAAZ,GACI;QACEK,eAAe,EAAEP;MADnB,CADJ,GAII,IARC;IAFT,GAaGE,MAAM,iBACL,uDACE,oBAAC,IAAD;MACE,KAAK,EAAE,CACLE,MAAM,CAACI,KADF,EAELV,SAAS,GACL;QACES,eAAe,EAAEP;MADnB,CADK,GAIL,IANC;IADT,EADF,eAWE,oBAAC,IAAD;MACE,KAAK,EAAE,CACL;QACEO,eAAe,EAAEP,WADnB;QAEES,QAAQ,EAAEd,OAFZ;QAGEe,SAAS,EAAEf;MAHb,CADK,EAMLE,QAAQ,GAAGO,MAAM,CAACO,UAAV,GAAuB,IAN1B,EAOLb,SAAS,GAAGM,MAAM,CAACQ,WAAV,GAAwB,IAP5B;IADT,EAXF,eAsBE,oBAAC,IAAD;MACE,KAAK,EAAE,CACLR,MAAM,CAACI,KADF,EAELX,QAAQ,GACJ;QACEU,eAAe,EAAEP;MADnB,CADI,GAIJ,IANC;IADT,EAtBF,CAdJ,CADF;EAmDD;;EACD,OAAO,IAAP;AACD;;AAED,MAAMI,MAAM,GAAGX,UAAU,CAACoB,MAAX,CAAkB;EAC/BF,UAAU,EAAE;IACVG,sBAAsB,EAAEnB,OAAO,GAAG,CADxB;IAEVoB,mBAAmB,EAAEpB,OAAO,GAAG;EAFrB,CADmB;EAK/BiB,WAAW,EAAE;IACXI,uBAAuB,EAAErB,OAAO,GAAG,CADxB;IAEXsB,oBAAoB,EAAEtB,OAAO,GAAG;EAFrB,CALkB;EAS/BW,aAAa,EAAE;IACbY,YAAY,EAAEvB,OAAO,GAAG;EADX,CATgB;EAY/Ba,KAAK,EAAE;IACLW,IAAI,EAAE;EADD,CAZwB;EAe/Bd,SAAS,EAAE;IACTe,aAAa,EAAE;EADN;AAfoB,CAAlB,CAAf;AAoBA,4BAAe5B,KAAK,CAAC6B,IAAN,CAAWzB,QAAX,CAAf"}
|