react-native-paper-dates 0.9.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/commonjs/Date/AnimatedCrossView.js +1 -4
- package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
- package/lib/commonjs/Date/Calendar.js +1 -1
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.js +4 -2
- package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js +17 -12
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -2
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +11 -12
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js +7 -8
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/commonjs/Date/Day.js +5 -4
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js +3 -1
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/Month.js +3 -1
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/Swiper.js +1 -2
- package/lib/commonjs/Date/Swiper.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +4 -2
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +9 -4
- package/lib/commonjs/TextInputMask.js.map +1 -1
- package/lib/commonjs/Time/AmPmSwitcher.js +3 -2
- package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
- package/lib/commonjs/Time/AnalogClock.js +1 -1
- package/lib/commonjs/Time/AnalogClock.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +7 -4
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js +4 -1
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +15 -4
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +35 -3
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/translations/utils.js +2 -2
- package/lib/commonjs/translations/utils.js.map +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/AnimatedCrossView.js +1 -3
- package/lib/module/Date/AnimatedCrossView.js.map +1 -1
- package/lib/module/Date/Calendar.js +1 -1
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/DatePickerInput.js +4 -2
- package/lib/module/Date/DatePickerInput.js.map +1 -1
- package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
- package/lib/module/Date/DatePickerInputWithoutModal.js +17 -12
- package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +6 -3
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +11 -13
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeaderBackground.js +7 -9
- package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/module/Date/Day.js +5 -4
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js +3 -1
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/Month.js +3 -1
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/Swiper.js +1 -2
- package/lib/module/Date/Swiper.js.map +1 -1
- package/lib/module/Date/YearPicker.js +4 -2
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/TextInputMask.js +9 -4
- package/lib/module/TextInputMask.js.map +1 -1
- package/lib/module/Time/AmPmSwitcher.js +3 -2
- package/lib/module/Time/AmPmSwitcher.js.map +1 -1
- package/lib/module/Time/AnalogClock.js +1 -1
- package/lib/module/Time/AnalogClock.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +6 -4
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js +4 -1
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +15 -4
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/Time/timeUtils.js +35 -3
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/translations/utils.js +2 -2
- package/lib/module/translations/utils.js.map +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/Date/AutoSizer.d.ts +1 -1
- package/lib/typescript/Date/Calendar.d.ts +10 -10
- package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
- package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
- package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +10 -4
- package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -1
- package/lib/typescript/Date/Day.d.ts +2 -2
- package/lib/typescript/Date/SwiperUtils.d.ts +2 -2
- package/lib/typescript/Date/dateUtils.d.ts +1 -1
- package/lib/typescript/TextInputMask.d.ts +9 -4
- package/lib/typescript/Time/TimePicker.d.ts +1 -1
- package/lib/typescript/Time/timeUtils.d.ts +7 -7
- package/lib/typescript/translations/utils.d.ts +1 -1
- package/lib/typescript/utils.d.ts +2 -0
- package/package.json +9 -8
- package/src/Date/AnimatedCrossView.tsx +0 -4
- package/src/Date/Calendar.tsx +2 -2
- package/src/Date/DatePickerInput.shared.tsx +1 -0
- package/src/Date/DatePickerInput.tsx +2 -1
- package/src/Date/DatePickerInputWithoutModal.tsx +37 -35
- package/src/Date/DatePickerModalContentHeader.tsx +9 -4
- package/src/Date/DatePickerModalHeader.tsx +35 -37
- package/src/Date/DatePickerModalHeaderBackground.tsx +6 -7
- package/src/Date/Day.tsx +12 -4
- package/src/Date/DayName.tsx +7 -5
- package/src/Date/Month.tsx +12 -2
- package/src/Date/Swiper.tsx +0 -1
- package/src/Date/YearPicker.tsx +16 -4
- package/src/TextInputMask.tsx +8 -4
- package/src/Time/AmPmSwitcher.tsx +11 -3
- package/src/Time/AnalogClock.tsx +3 -1
- package/src/Time/TimeInputs.tsx +32 -4
- package/src/Time/TimePicker.tsx +4 -1
- package/src/Time/TimePickerModal.tsx +29 -3
- package/src/Time/timeUtils.ts +31 -4
- package/src/translations/utils.ts +2 -2
- package/src/utils.ts +8 -1
- package/lib/commonjs/Date/DateRangeInput.js +0 -86
- package/lib/commonjs/Date/DateRangeInput.js.map +0 -1
- package/lib/module/Date/DateRangeInput.js +0 -69
- package/lib/module/Date/DateRangeInput.js.map +0 -1
- package/lib/typescript/Date/DateRangeInput.d.ts +0 -4
- package/src/Date/DateRangeInput.tsx +0 -75
|
@@ -18,6 +18,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
18
18
|
withDateFormatInLabel = true,
|
|
19
19
|
modal,
|
|
20
20
|
inputButtons,
|
|
21
|
+
saveLabel,
|
|
21
22
|
...rest
|
|
22
23
|
} = _ref;
|
|
23
24
|
const theme = useTheme();
|
|
@@ -35,6 +36,8 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
35
36
|
});
|
|
36
37
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
37
38
|
style: styles.root
|
|
39
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
40
|
+
style: styles.inputContainer
|
|
38
41
|
}, /*#__PURE__*/React.createElement(TextInputWithMask, _extends({}, rest, {
|
|
39
42
|
ref: ref,
|
|
40
43
|
label: getLabel({
|
|
@@ -51,17 +54,16 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
51
54
|
keyboardAppearance: theme.dark ? 'dark' : 'default',
|
|
52
55
|
error: !!error,
|
|
53
56
|
style: [styles.input, style]
|
|
54
|
-
})), inputButtons,
|
|
55
|
-
style: styles.helperText
|
|
56
|
-
}, /*#__PURE__*/React.createElement(HelperText, {
|
|
57
|
+
})), inputButtons), error ? /*#__PURE__*/React.createElement(HelperText, {
|
|
57
58
|
style: styles.helperText,
|
|
58
59
|
type: "error",
|
|
59
60
|
visible: !!error
|
|
60
|
-
}, error)
|
|
61
|
+
}, error) : null), modal === null || modal === void 0 ? void 0 : modal({
|
|
61
62
|
value,
|
|
62
63
|
locale,
|
|
63
64
|
inputMode,
|
|
64
|
-
validRange
|
|
65
|
+
validRange,
|
|
66
|
+
saveLabel
|
|
65
67
|
}));
|
|
66
68
|
}
|
|
67
69
|
|
|
@@ -81,17 +83,20 @@ function getLabel(_ref2) {
|
|
|
81
83
|
|
|
82
84
|
const styles = StyleSheet.create({
|
|
83
85
|
root: {
|
|
84
|
-
minWidth: 150,
|
|
85
86
|
flexGrow: 1,
|
|
86
|
-
|
|
87
|
+
backgroundColor: 'pink'
|
|
87
88
|
},
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
inputContainer: {
|
|
90
|
+
flexGrow: 1,
|
|
91
|
+
flexDirection: 'row',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
justifyContent: 'flex-start'
|
|
90
94
|
},
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
input: {
|
|
96
|
+
flexGrow: 1
|
|
93
97
|
},
|
|
94
|
-
|
|
98
|
+
helperText: {// flex: 1,
|
|
99
|
+
}
|
|
95
100
|
});
|
|
96
101
|
export default /*#__PURE__*/React.forwardRef(DatePickerInputWithoutModal);
|
|
97
102
|
//# sourceMappingURL=DatePickerInputWithoutModal.js.map
|
|
@@ -1 +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","
|
|
1
|
+
{"version":3,"names":["React","TextInputWithMask","HelperText","useTheme","View","StyleSheet","useDateInput","DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","modal","inputButtons","saveLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","styles","root","inputContainer","getLabel","dark","input","helperText","create","flexGrow","backgroundColor","flexDirection","alignItems","justifyContent","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 saveLabel,\n ...rest\n }: DatePickerInputProps & {\n modal?: (params: {\n value: DatePickerInputProps['value']\n locale: DatePickerInputProps['locale']\n inputMode: DatePickerInputProps['inputMode']\n validRange: DatePickerInputProps['validRange']\n saveLabel: DatePickerInputProps['saveLabel']\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 <View style={styles.inputContainer}>\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 </View>\n {error ? (\n <HelperText style={styles.helperText} type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({ value, locale, inputMode, validRange, saveLabel })}\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 flexGrow: 1,\n backgroundColor: 'pink',\n },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n helperText: {\n // flex: 1,\n },\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,OAwBEC,GAxBF,EAyBE;EAAA,IAxBA;IACEC,KADF;IAEEC,KAFF;IAGEC,QAHF;IAIEC,KAJF;IAKEC,MALF;IAMEC,UANF;IAOEC,SAPF;IAQEC,qBAAqB,GAAG,IAR1B;IASEC,KATF;IAUEC,YAVF;IAWEC,SAXF;IAYE,GAAGC;EAZL,CAwBA;EACA,MAAMC,KAAK,GAAGlB,QAAQ,EAAtB;EACA,MAAM;IAAEmB,cAAF;IAAkBC,WAAlB;IAA+BC,YAA/B;IAA6CC;EAA7C,IAAuDnB,YAAY,CAAC;IACxEO,MADwE;IAExEH,KAFwE;IAGxEI,UAHwE;IAIxEC,SAJwE;IAKxEJ;EALwE,CAAD,CAAzE;EAQA,oBACE,uDACE,oBAAC,IAAD;IAAM,KAAK,EAAEe,MAAM,CAACC;EAApB,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAED,MAAM,CAACE;EAApB,gBACE,oBAAC,iBAAD,eACMR,IADN;IAEE,GAAG,EAAEZ,GAFP;IAGE,KAAK,EAAEqB,QAAQ,CAAC;MACd;MACApB,KAAK,EAAEA,KAFO;MAGdc,WAHc;MAIdP;IAJc,CAAD,CAHjB;IASE,KAAK,EAAEM,cATT;IAUE,YAAY,EAAE,YAVhB;IAWE,WAAW,EAAEC,WAXf;IAYE,IAAI,EAAEA,WAZR;IAaE,YAAY,EAAEC,YAbhB;IAcE,kBAAkB,EAAEH,KAAK,CAACS,IAAN,GAAa,MAAb,GAAsB,SAd5C;IAeE,KAAK,EAAE,CAAC,CAACL,KAfX;IAgBE,KAAK,EAAE,CAACC,MAAM,CAACK,KAAR,EAAenB,KAAf;EAhBT,GADF,EAmBGM,YAnBH,CADF,EAsBGO,KAAK,gBACJ,oBAAC,UAAD;IAAY,KAAK,EAAEC,MAAM,CAACM,UAA1B;IAAsC,IAAI,EAAC,OAA3C;IAAmD,OAAO,EAAE,CAAC,CAACP;EAA9D,GACGA,KADH,CADI,GAIF,IA1BN,CADF,EA6BGR,KA7BH,aA6BGA,KA7BH,uBA6BGA,KAAK,CAAG;IAAEP,KAAF;IAASG,MAAT;IAAiBE,SAAjB;IAA4BD,UAA5B;IAAwCK;EAAxC,CAAH,CA7BR,CADF;AAiCD;;AAED,SAASU,QAAT,QAQG;EAAA,IARe;IAChBb,qBADgB;IAEhBO,WAFgB;IAGhBd;EAHgB,CAQf;;EACD,IAAIO,qBAAJ,EAA2B;IACzB,OAAOP,KAAK,GAAI,GAAEA,KAAM,KAAIc,WAAY,GAA5B,GAAiCA,WAA7C;EACD;;EACD,OAAOd,KAAK,IAAI,EAAhB;AACD;;AAED,MAAMiB,MAAM,GAAGrB,UAAU,CAAC4B,MAAX,CAAkB;EAC/BN,IAAI,EAAE;IACJO,QAAQ,EAAE,CADN;IAEJC,eAAe,EAAE;EAFb,CADyB;EAK/BP,cAAc,EAAE;IACdM,QAAQ,EAAE,CADI;IAEdE,aAAa,EAAE,KAFD;IAGdC,UAAU,EAAE,QAHE;IAIdC,cAAc,EAAE;EAJF,CALe;EAW/BP,KAAK,EAAE;IACLG,QAAQ,EAAE;EADL,CAXwB;EAc/BF,UAAU,EAAE,CACV;EADU;AAdmB,CAAlB,CAAf;AAkBA,4BAAehC,KAAK,CAACuC,UAAN,CAAiBhC,2BAAjB,CAAf"}
|
|
@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
5
|
-
import { IconButton, Text } from 'react-native-paper';
|
|
5
|
+
import { IconButton, Text, useTheme } from 'react-native-paper';
|
|
6
6
|
import { useHeaderTextColor } from '../utils';
|
|
7
7
|
import Color from 'color';
|
|
8
8
|
import { getTranslation } from '../translations/utils';
|
|
@@ -37,14 +37,17 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
37
37
|
editIcon = 'pencil',
|
|
38
38
|
calendarIcon = 'calendar'
|
|
39
39
|
} = props;
|
|
40
|
+
const theme = useTheme();
|
|
40
41
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
41
42
|
const color = useHeaderTextColor();
|
|
42
43
|
const allowEditing = mode !== 'multiple';
|
|
44
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodyLarge : theme.fonts.medium;
|
|
43
45
|
return /*#__PURE__*/React.createElement(View, {
|
|
44
46
|
style: [styles.header]
|
|
45
47
|
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
|
|
46
48
|
style: [styles.label, {
|
|
47
|
-
color
|
|
49
|
+
color,
|
|
50
|
+
...textFont
|
|
48
51
|
}]
|
|
49
52
|
}, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(View, {
|
|
50
53
|
style: styles.headerContentContainer
|
|
@@ -60,7 +63,7 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
60
63
|
}), allowEditing ? /*#__PURE__*/React.createElement(IconButton, {
|
|
61
64
|
icon: collapsed ? editIcon : calendarIcon,
|
|
62
65
|
accessibilityLabel: collapsed ? getTranslation(props.locale, 'typeInDate') : getTranslation(props.locale, 'pickDateFromCalendar'),
|
|
63
|
-
|
|
66
|
+
iconColor: color,
|
|
64
67
|
onPress: onToggle
|
|
65
68
|
}) : null);
|
|
66
69
|
}
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","IconButton","Text","useTheme","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","theme","label","color","allowEditing","textFont","isV3","fonts","bodyLarge","medium","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, MD2Theme, Text, useTheme } 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 const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color, ...textFont }]}>\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 iconColor={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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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Animated, StyleSheet
|
|
2
|
+
import { Animated, StyleSheet } from 'react-native';
|
|
3
3
|
import { Appbar, Button } from 'react-native-paper';
|
|
4
4
|
import { useHeaderTextColor } from '../utils';
|
|
5
5
|
import { getTranslation } from '../translations/utils';
|
|
6
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
7
|
export default function DatePickerModalHeader(props) {
|
|
7
8
|
const {
|
|
8
9
|
disableSafeTop,
|
|
@@ -11,10 +12,13 @@ export default function DatePickerModalHeader(props) {
|
|
|
11
12
|
} = props;
|
|
12
13
|
const saveLabel = props.saveLabel || getTranslation(locale, 'save');
|
|
13
14
|
const color = useHeaderTextColor();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const insets = useSafeAreaInsets();
|
|
16
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
17
|
+
style: [styles.animated, {
|
|
18
|
+
paddingTop: disableSafeTop ? 0 : insets.top,
|
|
19
|
+
paddingLeft: insets.left,
|
|
20
|
+
paddingRight: insets.right
|
|
21
|
+
}]
|
|
18
22
|
}, /*#__PURE__*/React.createElement(Appbar, {
|
|
19
23
|
style: styles.appbarHeader
|
|
20
24
|
}, /*#__PURE__*/React.createElement(Appbar.Action, {
|
|
@@ -27,26 +31,20 @@ export default function DatePickerModalHeader(props) {
|
|
|
27
31
|
title: ''
|
|
28
32
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
29
33
|
color: color,
|
|
34
|
+
textColor: color,
|
|
30
35
|
onPress: props.onSave,
|
|
31
36
|
disabled: props.saveLabelDisabled || false,
|
|
32
37
|
uppercase: props.uppercase || true,
|
|
33
38
|
testID: "react-native-paper-dates-save"
|
|
34
|
-
}, saveLabel)))
|
|
39
|
+
}, saveLabel)));
|
|
35
40
|
}
|
|
36
41
|
const styles = StyleSheet.create({
|
|
37
42
|
fill: {
|
|
38
43
|
flex: 1
|
|
39
44
|
},
|
|
40
45
|
animated: {
|
|
41
|
-
paddingBottom: 0,
|
|
42
46
|
elevation: 4
|
|
43
47
|
},
|
|
44
|
-
safeContent: {
|
|
45
|
-
paddingBottom: 0
|
|
46
|
-
},
|
|
47
|
-
safeContentNoTop: {
|
|
48
|
-
paddingTop: 0
|
|
49
|
-
},
|
|
50
48
|
header: {
|
|
51
49
|
height: 75,
|
|
52
50
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","StyleSheet","
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","Appbar","Button","useHeaderTextColor","getTranslation","useSafeAreaInsets","DatePickerModalHeader","props","disableSafeTop","locale","closeIcon","saveLabel","color","insets","styles","animated","paddingTop","top","paddingLeft","left","paddingRight","right","appbarHeader","onDismiss","onSave","saveLabelDisabled","uppercase","create","fill","flex","elevation","header","height","alignItems","flexDirection","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"sources":["DatePickerModalHeader.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\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 const insets = useSafeAreaInsets()\n\n return (\n <Animated.View\n style={[\n styles.animated,\n {\n paddingTop: disableSafeTop ? 0 : insets.top,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\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 textColor={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 </Animated.View>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n elevation: 4,\n },\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,26 +1,24 @@
|
|
|
1
|
-
import { Animated,
|
|
1
|
+
import { Animated, StyleSheet } from 'react-native';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useHeaderBackgroundColor } from '../utils';
|
|
4
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
4
5
|
export default function DatePickerModalHeaderBackground(_ref) {
|
|
5
6
|
let {
|
|
6
7
|
children
|
|
7
8
|
} = _ref;
|
|
8
9
|
const backgroundColor = useHeaderBackgroundColor();
|
|
10
|
+
const insets = useSafeAreaInsets();
|
|
9
11
|
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
10
12
|
style: [styles.animated, {
|
|
11
|
-
backgroundColor
|
|
13
|
+
backgroundColor,
|
|
14
|
+
paddingLeft: insets.left,
|
|
15
|
+
paddingRight: insets.right
|
|
12
16
|
}]
|
|
13
|
-
},
|
|
14
|
-
style: styles.safeContent
|
|
15
|
-
}, children));
|
|
17
|
+
}, children);
|
|
16
18
|
}
|
|
17
19
|
const styles = StyleSheet.create({
|
|
18
20
|
animated: {
|
|
19
|
-
paddingBottom: 0,
|
|
20
21
|
elevation: 4
|
|
21
|
-
},
|
|
22
|
-
safeContent: {
|
|
23
|
-
paddingBottom: 0
|
|
24
22
|
}
|
|
25
23
|
});
|
|
26
24
|
//# sourceMappingURL=DatePickerModalHeaderBackground.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","
|
|
1
|
+
{"version":3,"names":["Animated","StyleSheet","React","useHeaderBackgroundColor","useSafeAreaInsets","DatePickerModalHeaderBackground","children","backgroundColor","insets","styles","animated","paddingLeft","left","paddingRight","right","create","elevation"],"sources":["DatePickerModalHeaderBackground.tsx"],"sourcesContent":["import { Animated, StyleSheet } from 'react-native'\nimport * as React from 'react'\nimport { useHeaderBackgroundColor } from '../utils'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport default function DatePickerModalHeaderBackground({\n children,\n}: {\n children: any\n}) {\n const backgroundColor = useHeaderBackgroundColor()\n const insets = useSafeAreaInsets()\n return (\n <Animated.View\n style={[\n styles.animated,\n {\n backgroundColor,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {children}\n </Animated.View>\n )\n}\n\nconst styles = StyleSheet.create({\n animated: {\n elevation: 4,\n },\n})\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,UAAnB,QAAqC,cAArC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,wBAAT,QAAyC,UAAzC;AACA,SAASC,iBAAT,QAAkC,gCAAlC;AAEA,eAAe,SAASC,+BAAT,OAIZ;EAAA,IAJqD;IACtDC;EADsD,CAIrD;EACD,MAAMC,eAAe,GAAGJ,wBAAwB,EAAhD;EACA,MAAMK,MAAM,GAAGJ,iBAAiB,EAAhC;EACA,oBACE,oBAAC,QAAD,CAAU,IAAV;IACE,KAAK,EAAE,CACLK,MAAM,CAACC,QADF,EAEL;MACEH,eADF;MAEEI,WAAW,EAAEH,MAAM,CAACI,IAFtB;MAGEC,YAAY,EAAEL,MAAM,CAACM;IAHvB,CAFK;EADT,GAUGR,QAVH,CADF;AAcD;AAED,MAAMG,MAAM,GAAGR,UAAU,CAACc,MAAX,CAAkB;EAC/BL,QAAQ,EAAE;IACRM,SAAS,EAAE;EADH;AADqB,CAAlB,CAAf"}
|
package/lib/module/Date/Day.js
CHANGED
|
@@ -28,13 +28,13 @@ function Day(props) {
|
|
|
28
28
|
disabled,
|
|
29
29
|
textColorOnPrimary,
|
|
30
30
|
theme
|
|
31
|
-
} = props;
|
|
32
|
-
|
|
31
|
+
} = props;
|
|
33
32
|
const onPress = React.useCallback(() => {
|
|
34
33
|
onPressDate(new Date(year, month, day));
|
|
35
34
|
}, [onPressDate, year, month, day]);
|
|
36
35
|
const borderColor = selected || inRange && theme.dark ? textColorOnPrimary : theme.dark ? '#fff' : '#000';
|
|
37
36
|
const textColor = selected || inRange && theme.dark ? textColorOnPrimary : undefined;
|
|
37
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodyMedium : theme.fonts.medium;
|
|
38
38
|
return /*#__PURE__*/React.createElement(View, {
|
|
39
39
|
style: [styles.root, disabled && styles.disabled]
|
|
40
40
|
}, /*#__PURE__*/React.createElement(DayRange, {
|
|
@@ -58,9 +58,10 @@ function Day(props) {
|
|
|
58
58
|
backgroundColor: primaryColor
|
|
59
59
|
} : null]
|
|
60
60
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
61
|
-
style: textColor ? {
|
|
61
|
+
style: [textColor ? {
|
|
62
62
|
color: textColor
|
|
63
|
-
} : undefined,
|
|
63
|
+
} : undefined, { ...textFont
|
|
64
|
+
}],
|
|
64
65
|
selectable: false
|
|
65
66
|
}, day))));
|
|
66
67
|
}
|
|
@@ -1 +1 @@
|
|
|
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 {
|
|
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","textFont","isV3","fonts","bodyMedium","medium","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 { MD2Theme, Text, TouchableRipple } from 'react-native-paper'\nimport { StyleSheet, View } from 'react-native'\nimport DayRange from './DayRange'\nimport { daySize } from './dateUtils'\n\nimport type { PaperTheme } from '../utils'\n\nfunction EmptyDayPure() {\n return <View style={styles.empty} />\n}\nexport const EmptyDay = React.memo(EmptyDayPure)\n\nfunction Day(props: {\n theme: PaperTheme\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 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 let textFont = theme?.isV3\n ? theme.fonts.bodyMedium\n : (theme as any as MD2Theme).fonts.medium\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={[\n textColor ? { color: textColor } : undefined,\n { ...textFont },\n ]}\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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"}
|
|
@@ -7,10 +7,12 @@ function DayName(_ref) {
|
|
|
7
7
|
label
|
|
8
8
|
} = _ref;
|
|
9
9
|
const theme = useTheme();
|
|
10
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodyMedium : theme.fonts.medium;
|
|
10
11
|
return /*#__PURE__*/React.createElement(View, {
|
|
11
12
|
style: styles.dayName
|
|
12
13
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
13
|
-
style: [styles.dayNameLabel,
|
|
14
|
+
style: [styles.dayNameLabel, { ...textFont
|
|
15
|
+
}],
|
|
14
16
|
selectable: false
|
|
15
17
|
}, label));
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","Text","useTheme","DayName","label","theme","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Text","useTheme","DayName","label","theme","textFont","isV3","fonts","bodyMedium","medium","styles","dayName","dayNameLabel","create","flex","alignItems","fontSize","opacity","memo"],"sources":["DayName.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { MD2Theme, Text, useTheme } from 'react-native-paper'\n\nfunction DayName({ label }: { label: string }) {\n const theme = useTheme()\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyMedium\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.dayName}>\n <Text style={[styles.dayNameLabel, { ...textFont }]} selectable={false}>\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,SAAmBC,IAAnB,EAAyBC,QAAzB,QAAyC,oBAAzC;;AAEA,SAASC,OAAT,OAA+C;EAAA,IAA9B;IAAEC;EAAF,CAA8B;EAC7C,MAAMC,KAAK,GAAGH,QAAQ,EAAtB;EAEA,IAAII,QAAQ,GAAGD,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEE,IAAP,GACXF,KAAK,CAACG,KAAN,CAAYC,UADD,GAEVJ,KAAD,CAA2BG,KAA3B,CAAiCE,MAFrC;EAIA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACD,MAAM,CAACE,YAAR,EAAsB,EAAE,GAAGP;IAAL,CAAtB,CAAb;IAAqD,UAAU,EAAE;EAAjE,GACGF,KADH,CADF,CADF;AAOD;;AACD,MAAMO,MAAM,GAAGZ,UAAU,CAACe,MAAX,CAAkB;EAC/BF,OAAO,EAAE;IAAEG,IAAI,EAAE,CAAR;IAAWC,UAAU,EAAE;EAAvB,CADsB;EAE/BH,YAAY,EAAE;IAAEI,QAAQ,EAAE,EAAZ;IAAgBC,OAAO,EAAE;EAAzB;AAFiB,CAAlB,CAAf;AAIA,4BAAepB,KAAK,CAACqB,IAAN,CAAWhB,OAAX,CAAf"}
|
package/lib/module/Date/Month.js
CHANGED
|
@@ -181,6 +181,7 @@ function Month(props) {
|
|
|
181
181
|
};
|
|
182
182
|
});
|
|
183
183
|
}, [year, month, index, isDisabled, mode, isWithinValidRange, startDate, endDate, dates, date]);
|
|
184
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodyMedium : theme.fonts.medium;
|
|
184
185
|
return /*#__PURE__*/React.createElement(View, {
|
|
185
186
|
style: [styles.month, {
|
|
186
187
|
height: getMonthHeight(scrollMode, index)
|
|
@@ -203,7 +204,8 @@ function Month(props) {
|
|
|
203
204
|
borderRadius: roundness
|
|
204
205
|
}]
|
|
205
206
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
206
|
-
style: [styles.monthLabel,
|
|
207
|
+
style: [styles.monthLabel, { ...textFont
|
|
208
|
+
}],
|
|
207
209
|
selectable: false
|
|
208
210
|
}, monthName, " ", year), /*#__PURE__*/React.createElement(View, {
|
|
209
211
|
style: isHorizontal ? styles.opacity1 : styles.opacity0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","IconButton","Text","useTheme","TouchableRipple","Day","EmptyDay","addMonths","areDatesOnSameDay","daySize","getDaysInMonth","getFirstDayOfMonth","getRealIndex","getGridCount","isDateBetween","gridCounts","showWeekDay","startAtIndex","beginOffset","estimatedMonthHeight","useRangeChecker","getCalendarHeaderHeight","dayNamesHeight","useTextColorOnPrimary","Month","props","index","mode","date","dates","startDate","endDate","onPressYear","selectingYear","onPressDate","scrollMode","primaryColor","selectColor","roundness","disableWeekDays","locale","validRange","theme","textColorOnPrimary","realIndex","isHorizontal","isDisabled","isWithinValidRange","monthName","month","year","useMemo","md","Date","y","getFullYear","m","getMonth","formatter","Intl","DateTimeFormat","format","grid","today","daysInMonth","dayOfWeek","emptyDays","monthGrid","map","days","weekGrid","weekIndex","generatedDays","_","dayIndex","isFirstWeek","realDayIndex","beforeWeekDay","dayOfMonth","afterWeekDay","day","isToday","inRange","disabled","selected","leftCrop","rightCrop","isFirstDayOfMonth","isLastDayOfMonth","selectedStartDay","selectedEndDay","safeDates","some","d","yesterday","tomorrow","yesterdaySelected","tomorrowSelected","isWithinOptionalValidRange","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","fonts","medium","opacity1","opacity0","week","filter","gd","weekMargin","weekSize","montHeaderHeight","monthHeaderSingleHeight","create","flexDirection","justifyContent","overflow","fontSize","opacity","alignSelf","marginLeft","paddingLeft","alignItems","Array","fill","getIndexCount","weeksOffset","off","i","cIndex","getIndexFromHorizontalOffset","offset","width","Math","floor","getIndexFromVerticalOffset","estimatedIndex","ceil","realOffset","getVerticalMonthsOffset","difference","getHorizontalMonthOffset","count","ob","monthsHeight","c","calendarHeight","gc","currentMonthHeight","extraHeight","memo"],"sources":["Month.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, Text, useTheme, TouchableRipple } from 'react-native-paper'\nimport Day, { EmptyDay } from './Day'\n\nimport {\n addMonths,\n areDatesOnSameDay,\n daySize,\n DisableWeekDaysType,\n getDaysInMonth,\n getFirstDayOfMonth,\n getRealIndex,\n getGridCount,\n isDateBetween,\n gridCounts,\n showWeekDay,\n startAtIndex,\n beginOffset,\n estimatedMonthHeight,\n useRangeChecker,\n} from './dateUtils'\nimport { getCalendarHeaderHeight } from './CalendarHeader'\nimport type {\n CalendarDate,\n CalendarDates,\n ModeType,\n ValidRangeType,\n} from './Calendar'\nimport { dayNamesHeight } from './DayNames'\nimport { useTextColorOnPrimary } from '../utils'\n\ninterface BaseMonthProps {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n disableWeekDays?: DisableWeekDaysType\n mode: ModeType\n index: number\n onPressYear: (year: number) => any\n selectingYear: boolean\n onPressDate: (date: Date) => any\n primaryColor: string\n selectColor: string\n roundness: number\n validRange?: ValidRangeType\n\n // some of these should be required in final implementation\n startDate?: CalendarDate\n endDate?: CalendarDate\n date?: CalendarDate\n dates?: CalendarDates\n}\n\ninterface MonthRangeProps extends BaseMonthProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n}\n\ninterface MonthSingleProps extends BaseMonthProps {\n mode: 'single'\n date: CalendarDate\n}\n\ninterface MonthMultiProps extends BaseMonthProps {\n mode: 'multiple'\n dates: CalendarDates\n}\n\nfunction Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {\n const {\n index,\n mode,\n date,\n dates,\n startDate,\n endDate,\n onPressYear,\n selectingYear,\n onPressDate,\n scrollMode,\n primaryColor,\n selectColor,\n roundness,\n disableWeekDays,\n locale,\n validRange,\n } = props\n const theme = useTheme()\n const textColorOnPrimary = useTextColorOnPrimary()\n const realIndex = getRealIndex(index)\n const isHorizontal = scrollMode === 'horizontal'\n const { isDisabled, isWithinValidRange } = useRangeChecker(validRange)\n const { monthName, month, year } = React.useMemo(() => {\n const md = addMonths(new Date(), realIndex)\n const y = md.getFullYear()\n const m = md.getMonth()\n const formatter = new Intl.DateTimeFormat(locale, {\n month: 'long',\n })\n return { monthName: formatter.format(md), month: m, year: y }\n }, [realIndex, locale])\n\n const grid = React.useMemo(() => {\n const today = new Date()\n\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n const emptyDays = dayOfWeek\n\n return monthGrid(index).map(({ days, weekGrid }) => {\n return {\n weekIndex: weekGrid,\n generatedDays: days.map((_, dayIndex) => {\n const isFirstWeek = weekGrid === 0\n const realDayIndex = emptyDays - dayIndex\n const beforeWeekDay = isFirstWeek && realDayIndex > 0\n const dayOfMonth = weekGrid * 7 + dayIndex - emptyDays + 1\n const afterWeekDay = dayOfMonth > daysInMonth\n\n const day = new Date(year, month, dayOfMonth)\n const isToday = areDatesOnSameDay(day, today)\n\n let inRange = false\n let disabled = isDisabled(day)\n let selected = false\n\n let leftCrop = dayOfMonth === 1\n let rightCrop = dayOfMonth === daysInMonth\n\n const isFirstDayOfMonth = dayOfMonth === 1\n const isLastDayOfMonth = dayOfMonth === daysInMonth\n\n if (mode === 'range') {\n const selectedStartDay = areDatesOnSameDay(day, startDate)\n const selectedEndDay = areDatesOnSameDay(day, endDate)\n selected = selectedStartDay || selectedEndDay\n inRange = isDateBetween(day, {\n startDate,\n endDate,\n })\n if (selectedStartDay) {\n leftCrop = true\n }\n if (selectedEndDay) {\n rightCrop = true\n }\n if (dayIndex === 0 && !selectedStartDay) {\n leftCrop = false\n }\n\n if (dayIndex === 6 && !selectedEndDay) {\n rightCrop = false\n }\n\n if (\n (isFirstDayOfMonth && selectedEndDay) ||\n (isLastDayOfMonth && selectedStartDay)\n ) {\n inRange = false\n }\n } else if (mode === 'multiple') {\n const safeDates = dates || []\n selected = safeDates.some((d) => areDatesOnSameDay(day, d))\n\n const yesterday = new Date(year, month, dayOfMonth - 1)\n const tomorrow = new Date(year, month, dayOfMonth + 1)\n\n const yesterdaySelected = safeDates.some((d) =>\n areDatesOnSameDay(d, yesterday)\n )\n const tomorrowSelected = safeDates.some((d) =>\n areDatesOnSameDay(d, tomorrow)\n )\n\n if (selected) {\n if (tomorrowSelected && yesterdaySelected) {\n inRange = true\n }\n if (tomorrowSelected && !yesterdaySelected) {\n inRange = true\n leftCrop = true\n }\n\n if (yesterdaySelected && !tomorrowSelected) {\n inRange = true\n rightCrop = true\n }\n\n if (isFirstDayOfMonth && !tomorrowSelected) {\n inRange = false\n }\n\n if (isLastDayOfMonth && !yesterdaySelected) {\n inRange = false\n }\n\n if (inRange && !leftCrop && !rightCrop) {\n selected = false\n }\n }\n } else if (mode === 'single') {\n selected = areDatesOnSameDay(day, date)\n }\n\n const isWithinOptionalValidRange = isWithinValidRange(day)\n\n if (inRange && !disabled) {\n disabled = false\n }\n\n if (!isWithinOptionalValidRange) {\n disabled = true\n }\n\n return {\n beforeWeekDay,\n afterWeekDay,\n year,\n month,\n dayOfMonth,\n dayIndex,\n mode,\n selected,\n inRange,\n leftCrop,\n rightCrop,\n isToday,\n disabled,\n }\n }),\n }\n })\n }, [\n year,\n month,\n index,\n isDisabled,\n mode,\n isWithinValidRange,\n startDate,\n endDate,\n dates,\n date,\n ])\n\n return (\n <View style={[styles.month, { height: getMonthHeight(scrollMode, index) }]}>\n <View\n style={[\n styles.monthHeader,\n isHorizontal\n ? {\n marginTop: monthHeaderSingleMarginTop,\n marginBottom: monthHeaderSingleMarginBottom,\n }\n : null,\n ]}\n >\n <TouchableRipple\n disabled={!isHorizontal}\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n accessibilityRole=\"button\"\n accessibilityLabel={`${monthName} ${year}`}\n style={[\n styles.yearButton,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <View\n style={[\n styles.yearButtonInner,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <Text\n style={[styles.monthLabel, theme.fonts.medium]}\n selectable={false}\n >\n {monthName} {year}\n </Text>\n <View style={isHorizontal ? styles.opacity1 : styles.opacity0}>\n <IconButton\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n icon={selectingYear ? 'chevron-up' : 'chevron-down'}\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\n\n {grid.map(({ weekIndex, generatedDays }) => (\n <View style={styles.week} key={weekIndex}>\n {generatedDays\n .filter((gd) => showWeekDay(gd.dayIndex, disableWeekDays))\n .map((gd) =>\n gd.beforeWeekDay || gd.afterWeekDay ? (\n <EmptyDay key={gd.dayIndex} />\n ) : (\n <Day\n key={gd.dayIndex}\n theme={theme}\n day={gd.dayOfMonth}\n month={gd.month}\n year={gd.year}\n selected={gd.selected}\n inRange={gd.inRange}\n leftCrop={gd.leftCrop}\n rightCrop={gd.rightCrop}\n onPressDate={onPressDate}\n isToday={gd.isToday}\n selectColor={selectColor}\n primaryColor={primaryColor}\n disabled={gd.disabled}\n textColorOnPrimary={textColorOnPrimary}\n />\n )\n )}\n </View>\n ))}\n </View>\n )\n}\n\nexport const weekMargin = 6\nexport const weekSize = daySize + weekMargin\nexport const montHeaderHeight = 56\nexport const monthHeaderSingleMarginTop = 4\nexport const monthHeaderSingleMarginBottom = 8 + 44 + 12\nexport const monthHeaderSingleHeight =\n monthHeaderSingleMarginTop + monthHeaderSingleMarginBottom\n\nconst styles = StyleSheet.create({\n week: {\n flexDirection: 'row',\n marginBottom: weekMargin,\n height: daySize,\n },\n\n month: {},\n\n monthHeader: {\n height: montHeaderHeight,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n monthLabel: { fontSize: 14, opacity: 0.7 },\n yearButton: { alignSelf: 'flex-start', marginLeft: 6 },\n yearButtonInner: {\n paddingLeft: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n opacity0: { opacity: 0 },\n opacity1: { opacity: 1 },\n})\n\nconst monthGrid = (index: number) => {\n return Array(getGridCount(index))\n .fill(null)\n .map((_, weekGrid) => {\n const days = Array(7).fill(null)\n return { weekGrid, days }\n })\n}\n\nfunction getIndexCount(index: number): number {\n if (index > startAtIndex) {\n return index - startAtIndex\n }\n\n return -(startAtIndex - index)\n}\n\nfunction weeksOffset(index: number): number {\n if (index === startAtIndex) {\n return 0\n }\n let off = 0\n if (index > startAtIndex) {\n for (let i = 0; i < index - startAtIndex; i++) {\n const cIndex = startAtIndex + i\n off += gridCounts[cIndex] || getGridCount(cIndex)\n }\n } else {\n for (let i = 0; i < startAtIndex - index; i++) {\n const cIndex = startAtIndex - i - 1\n off -= gridCounts[cIndex] || getGridCount(cIndex)\n }\n }\n return off\n}\n\nexport function getIndexFromHorizontalOffset(\n offset: number,\n width: number\n): number {\n return startAtIndex + Math.floor(offset / width)\n}\n\nexport function getIndexFromVerticalOffset(offset: number): number {\n let estimatedIndex = startAtIndex + Math.ceil(offset / estimatedMonthHeight)\n\n const realOffset = getVerticalMonthsOffset(estimatedIndex)\n const difference = (realOffset - beginOffset - offset) / estimatedMonthHeight\n if (difference >= 1 || difference <= -1) {\n estimatedIndex -= Math.floor(difference)\n }\n return estimatedIndex\n}\n\nexport function getHorizontalMonthOffset(index: number, width: number) {\n if (index < 0) {\n return 0\n }\n return width * index\n}\n\nexport function getVerticalMonthsOffset(index: number) {\n const count = getIndexCount(index)\n const ob = weeksOffset(index)\n const monthsHeight = weekSize * ob\n const c = monthsHeight + count * (dayNamesHeight + montHeaderHeight)\n\n return (c || 0) + beginOffset\n}\n\nexport function getMonthHeight(\n scrollMode: 'horizontal' | 'vertical',\n index: number\n): number {\n const calendarHeight = getCalendarHeaderHeight(scrollMode)\n const gc = getGridCount(index)\n\n const currentMonthHeight = weekSize * gc\n const extraHeight =\n scrollMode === 'horizontal' ? monthHeaderSingleHeight : montHeaderHeight\n const c = calendarHeight + currentMonthHeight + extraHeight\n return c || 0\n}\n\nexport default React.memo(Month)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","IconButton","Text","useTheme","TouchableRipple","Day","EmptyDay","addMonths","areDatesOnSameDay","daySize","getDaysInMonth","getFirstDayOfMonth","getRealIndex","getGridCount","isDateBetween","gridCounts","showWeekDay","startAtIndex","beginOffset","estimatedMonthHeight","useRangeChecker","getCalendarHeaderHeight","dayNamesHeight","useTextColorOnPrimary","Month","props","index","mode","date","dates","startDate","endDate","onPressYear","selectingYear","onPressDate","scrollMode","primaryColor","selectColor","roundness","disableWeekDays","locale","validRange","theme","textColorOnPrimary","realIndex","isHorizontal","isDisabled","isWithinValidRange","monthName","month","year","useMemo","md","Date","y","getFullYear","m","getMonth","formatter","Intl","DateTimeFormat","format","grid","today","daysInMonth","dayOfWeek","emptyDays","monthGrid","map","days","weekGrid","weekIndex","generatedDays","_","dayIndex","isFirstWeek","realDayIndex","beforeWeekDay","dayOfMonth","afterWeekDay","day","isToday","inRange","disabled","selected","leftCrop","rightCrop","isFirstDayOfMonth","isLastDayOfMonth","selectedStartDay","selectedEndDay","safeDates","some","d","yesterday","tomorrow","yesterdaySelected","tomorrowSelected","isWithinOptionalValidRange","textFont","isV3","fonts","bodyMedium","medium","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","opacity1","opacity0","week","filter","gd","weekMargin","weekSize","montHeaderHeight","monthHeaderSingleHeight","create","flexDirection","justifyContent","overflow","fontSize","opacity","alignSelf","marginLeft","paddingLeft","alignItems","Array","fill","getIndexCount","weeksOffset","off","i","cIndex","getIndexFromHorizontalOffset","offset","width","Math","floor","getIndexFromVerticalOffset","estimatedIndex","ceil","realOffset","getVerticalMonthsOffset","difference","getHorizontalMonthOffset","count","ob","monthsHeight","c","calendarHeight","gc","currentMonthHeight","extraHeight","memo"],"sources":["Month.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport {\n IconButton,\n Text,\n useTheme,\n TouchableRipple,\n MD2Theme,\n} from 'react-native-paper'\nimport Day, { EmptyDay } from './Day'\n\nimport {\n addMonths,\n areDatesOnSameDay,\n daySize,\n DisableWeekDaysType,\n getDaysInMonth,\n getFirstDayOfMonth,\n getRealIndex,\n getGridCount,\n isDateBetween,\n gridCounts,\n showWeekDay,\n startAtIndex,\n beginOffset,\n estimatedMonthHeight,\n useRangeChecker,\n} from './dateUtils'\nimport { getCalendarHeaderHeight } from './CalendarHeader'\nimport type {\n CalendarDate,\n CalendarDates,\n ModeType,\n ValidRangeType,\n} from './Calendar'\nimport { dayNamesHeight } from './DayNames'\nimport { useTextColorOnPrimary } from '../utils'\n\ninterface BaseMonthProps {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n disableWeekDays?: DisableWeekDaysType\n mode: ModeType\n index: number\n onPressYear: (year: number) => any\n selectingYear: boolean\n onPressDate: (date: Date) => any\n primaryColor: string\n selectColor: string\n roundness: number\n validRange?: ValidRangeType\n\n // some of these should be required in final implementation\n startDate?: CalendarDate\n endDate?: CalendarDate\n date?: CalendarDate\n dates?: CalendarDates\n}\n\ninterface MonthRangeProps extends BaseMonthProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n}\n\ninterface MonthSingleProps extends BaseMonthProps {\n mode: 'single'\n date: CalendarDate\n}\n\ninterface MonthMultiProps extends BaseMonthProps {\n mode: 'multiple'\n dates: CalendarDates\n}\n\nfunction Month(props: MonthSingleProps | MonthRangeProps | MonthMultiProps) {\n const {\n index,\n mode,\n date,\n dates,\n startDate,\n endDate,\n onPressYear,\n selectingYear,\n onPressDate,\n scrollMode,\n primaryColor,\n selectColor,\n roundness,\n disableWeekDays,\n locale,\n validRange,\n } = props\n const theme = useTheme()\n const textColorOnPrimary = useTextColorOnPrimary()\n const realIndex = getRealIndex(index)\n const isHorizontal = scrollMode === 'horizontal'\n const { isDisabled, isWithinValidRange } = useRangeChecker(validRange)\n const { monthName, month, year } = React.useMemo(() => {\n const md = addMonths(new Date(), realIndex)\n const y = md.getFullYear()\n const m = md.getMonth()\n const formatter = new Intl.DateTimeFormat(locale, {\n month: 'long',\n })\n return { monthName: formatter.format(md), month: m, year: y }\n }, [realIndex, locale])\n\n const grid = React.useMemo(() => {\n const today = new Date()\n\n const daysInMonth = getDaysInMonth({ year, month })\n const dayOfWeek = getFirstDayOfMonth({ year, month })\n const emptyDays = dayOfWeek\n\n return monthGrid(index).map(({ days, weekGrid }) => {\n return {\n weekIndex: weekGrid,\n generatedDays: days.map((_, dayIndex) => {\n const isFirstWeek = weekGrid === 0\n const realDayIndex = emptyDays - dayIndex\n const beforeWeekDay = isFirstWeek && realDayIndex > 0\n const dayOfMonth = weekGrid * 7 + dayIndex - emptyDays + 1\n const afterWeekDay = dayOfMonth > daysInMonth\n\n const day = new Date(year, month, dayOfMonth)\n const isToday = areDatesOnSameDay(day, today)\n\n let inRange = false\n let disabled = isDisabled(day)\n let selected = false\n\n let leftCrop = dayOfMonth === 1\n let rightCrop = dayOfMonth === daysInMonth\n\n const isFirstDayOfMonth = dayOfMonth === 1\n const isLastDayOfMonth = dayOfMonth === daysInMonth\n\n if (mode === 'range') {\n const selectedStartDay = areDatesOnSameDay(day, startDate)\n const selectedEndDay = areDatesOnSameDay(day, endDate)\n selected = selectedStartDay || selectedEndDay\n inRange = isDateBetween(day, {\n startDate,\n endDate,\n })\n if (selectedStartDay) {\n leftCrop = true\n }\n if (selectedEndDay) {\n rightCrop = true\n }\n if (dayIndex === 0 && !selectedStartDay) {\n leftCrop = false\n }\n\n if (dayIndex === 6 && !selectedEndDay) {\n rightCrop = false\n }\n\n if (\n (isFirstDayOfMonth && selectedEndDay) ||\n (isLastDayOfMonth && selectedStartDay)\n ) {\n inRange = false\n }\n } else if (mode === 'multiple') {\n const safeDates = dates || []\n selected = safeDates.some((d) => areDatesOnSameDay(day, d))\n\n const yesterday = new Date(year, month, dayOfMonth - 1)\n const tomorrow = new Date(year, month, dayOfMonth + 1)\n\n const yesterdaySelected = safeDates.some((d) =>\n areDatesOnSameDay(d, yesterday)\n )\n const tomorrowSelected = safeDates.some((d) =>\n areDatesOnSameDay(d, tomorrow)\n )\n\n if (selected) {\n if (tomorrowSelected && yesterdaySelected) {\n inRange = true\n }\n if (tomorrowSelected && !yesterdaySelected) {\n inRange = true\n leftCrop = true\n }\n\n if (yesterdaySelected && !tomorrowSelected) {\n inRange = true\n rightCrop = true\n }\n\n if (isFirstDayOfMonth && !tomorrowSelected) {\n inRange = false\n }\n\n if (isLastDayOfMonth && !yesterdaySelected) {\n inRange = false\n }\n\n if (inRange && !leftCrop && !rightCrop) {\n selected = false\n }\n }\n } else if (mode === 'single') {\n selected = areDatesOnSameDay(day, date)\n }\n\n const isWithinOptionalValidRange = isWithinValidRange(day)\n\n if (inRange && !disabled) {\n disabled = false\n }\n\n if (!isWithinOptionalValidRange) {\n disabled = true\n }\n\n return {\n beforeWeekDay,\n afterWeekDay,\n year,\n month,\n dayOfMonth,\n dayIndex,\n mode,\n selected,\n inRange,\n leftCrop,\n rightCrop,\n isToday,\n disabled,\n }\n }),\n }\n })\n }, [\n year,\n month,\n index,\n isDisabled,\n mode,\n isWithinValidRange,\n startDate,\n endDate,\n dates,\n date,\n ])\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyMedium\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={[styles.month, { height: getMonthHeight(scrollMode, index) }]}>\n <View\n style={[\n styles.monthHeader,\n isHorizontal\n ? {\n marginTop: monthHeaderSingleMarginTop,\n marginBottom: monthHeaderSingleMarginBottom,\n }\n : null,\n ]}\n >\n <TouchableRipple\n disabled={!isHorizontal}\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n accessibilityRole=\"button\"\n accessibilityLabel={`${monthName} ${year}`}\n style={[\n styles.yearButton,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <View\n style={[\n styles.yearButtonInner,\n {\n borderRadius: roundness,\n },\n ]}\n >\n <Text\n style={[styles.monthLabel, { ...textFont }]}\n selectable={false}\n >\n {monthName} {year}\n </Text>\n <View style={isHorizontal ? styles.opacity1 : styles.opacity0}>\n <IconButton\n onPress={isHorizontal ? () => onPressYear(year) : undefined}\n icon={selectingYear ? 'chevron-up' : 'chevron-down'}\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\n\n {grid.map(({ weekIndex, generatedDays }) => (\n <View style={styles.week} key={weekIndex}>\n {generatedDays\n .filter((gd) => showWeekDay(gd.dayIndex, disableWeekDays))\n .map((gd) =>\n gd.beforeWeekDay || gd.afterWeekDay ? (\n <EmptyDay key={gd.dayIndex} />\n ) : (\n <Day\n key={gd.dayIndex}\n theme={theme}\n day={gd.dayOfMonth}\n month={gd.month}\n year={gd.year}\n selected={gd.selected}\n inRange={gd.inRange}\n leftCrop={gd.leftCrop}\n rightCrop={gd.rightCrop}\n onPressDate={onPressDate}\n isToday={gd.isToday}\n selectColor={selectColor}\n primaryColor={primaryColor}\n disabled={gd.disabled}\n textColorOnPrimary={textColorOnPrimary}\n />\n )\n )}\n </View>\n ))}\n </View>\n )\n}\n\nexport const weekMargin = 6\nexport const weekSize = daySize + weekMargin\nexport const montHeaderHeight = 56\nexport const monthHeaderSingleMarginTop = 4\nexport const monthHeaderSingleMarginBottom = 8 + 44 + 12\nexport const monthHeaderSingleHeight =\n monthHeaderSingleMarginTop + monthHeaderSingleMarginBottom\n\nconst styles = StyleSheet.create({\n week: {\n flexDirection: 'row',\n marginBottom: weekMargin,\n height: daySize,\n },\n\n month: {},\n\n monthHeader: {\n height: montHeaderHeight,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n monthLabel: { fontSize: 14, opacity: 0.7 },\n yearButton: { alignSelf: 'flex-start', marginLeft: 6 },\n yearButtonInner: {\n paddingLeft: 16,\n flexDirection: 'row',\n alignItems: 'center',\n },\n opacity0: { opacity: 0 },\n opacity1: { opacity: 1 },\n})\n\nconst monthGrid = (index: number) => {\n return Array(getGridCount(index))\n .fill(null)\n .map((_, weekGrid) => {\n const days = Array(7).fill(null)\n return { weekGrid, days }\n })\n}\n\nfunction getIndexCount(index: number): number {\n if (index > startAtIndex) {\n return index - startAtIndex\n }\n\n return -(startAtIndex - index)\n}\n\nfunction weeksOffset(index: number): number {\n if (index === startAtIndex) {\n return 0\n }\n let off = 0\n if (index > startAtIndex) {\n for (let i = 0; i < index - startAtIndex; i++) {\n const cIndex = startAtIndex + i\n off += gridCounts[cIndex] || getGridCount(cIndex)\n }\n } else {\n for (let i = 0; i < startAtIndex - index; i++) {\n const cIndex = startAtIndex - i - 1\n off -= gridCounts[cIndex] || getGridCount(cIndex)\n }\n }\n return off\n}\n\nexport function getIndexFromHorizontalOffset(\n offset: number,\n width: number\n): number {\n return startAtIndex + Math.floor(offset / width)\n}\n\nexport function getIndexFromVerticalOffset(offset: number): number {\n let estimatedIndex = startAtIndex + Math.ceil(offset / estimatedMonthHeight)\n\n const realOffset = getVerticalMonthsOffset(estimatedIndex)\n const difference = (realOffset - beginOffset - offset) / estimatedMonthHeight\n if (difference >= 1 || difference <= -1) {\n estimatedIndex -= Math.floor(difference)\n }\n return estimatedIndex\n}\n\nexport function getHorizontalMonthOffset(index: number, width: number) {\n if (index < 0) {\n return 0\n }\n return width * index\n}\n\nexport function getVerticalMonthsOffset(index: number) {\n const count = getIndexCount(index)\n const ob = weeksOffset(index)\n const monthsHeight = weekSize * ob\n const c = monthsHeight + count * (dayNamesHeight + montHeaderHeight)\n\n return (c || 0) + beginOffset\n}\n\nexport function getMonthHeight(\n scrollMode: 'horizontal' | 'vertical',\n index: number\n): number {\n const calendarHeight = getCalendarHeaderHeight(scrollMode)\n const gc = getGridCount(index)\n\n const currentMonthHeight = weekSize * gc\n const extraHeight =\n scrollMode === 'horizontal' ? monthHeaderSingleHeight : montHeaderHeight\n const c = calendarHeight + currentMonthHeight + extraHeight\n return c || 0\n}\n\nexport default React.memo(Month)\n"],"mappings":"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"}
|
|
@@ -121,8 +121,7 @@ function VerticalScroller(_ref3) {
|
|
|
121
121
|
left: 0,
|
|
122
122
|
right: 0,
|
|
123
123
|
position: 'absolute',
|
|
124
|
-
height: getMonthHeight('vertical', visibleIndexes[vi])
|
|
125
|
-
|
|
124
|
+
height: getMonthHeight('vertical', visibleIndexes[vi])
|
|
126
125
|
}
|
|
127
126
|
}, renderItem({
|
|
128
127
|
index: visibleIndexes[vi],
|