react-native-paper-dates 0.11.10 → 0.11.12
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/lib/commonjs/Date/Calendar.js +4 -0
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +15 -11
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +5 -4
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/Day.js +4 -4
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js +3 -2
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/Month.js +4 -3
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +6 -4
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +5 -1
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/index.js +53 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils.js +11 -0
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/Calendar.js +4 -0
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/CalendarHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +1 -1
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +15 -11
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +6 -5
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/Day.js +4 -4
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js +3 -2
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/Month.js +4 -3
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/YearPicker.js +6 -4
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/Time/timeUtils.js +5 -1
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/index.js +8 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils.js +11 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/index.d.ts +8 -3
- package/lib/typescript/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/Date/Calendar.tsx +3 -0
- package/src/Date/CalendarHeader.tsx +0 -1
- package/src/Date/DatePickerModalContent.tsx +1 -4
- package/src/Date/DatePickerModalContentHeader.tsx +41 -12
- package/src/Date/DatePickerModalHeader.tsx +4 -3
- package/src/Date/Day.tsx +24 -10
- package/src/Date/DayName.tsx +8 -2
- package/src/Date/Month.tsx +19 -6
- package/src/Date/YearPicker.tsx +8 -2
- package/src/Time/timeUtils.ts +4 -1
- package/src/index.tsx +9 -3
- package/src/utils.ts +7 -0
|
@@ -1 +1 @@
|
|
|
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'\
|
|
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'\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 uppercase?: 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 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 <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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"}
|
|
@@ -34,19 +34,20 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
34
34
|
mode,
|
|
35
35
|
moreLabel,
|
|
36
36
|
uppercase,
|
|
37
|
-
editIcon
|
|
38
|
-
calendarIcon
|
|
37
|
+
editIcon,
|
|
38
|
+
calendarIcon
|
|
39
39
|
} = props;
|
|
40
40
|
const theme = useTheme();
|
|
41
41
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
42
42
|
const color = useHeaderTextColor();
|
|
43
|
+
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color;
|
|
43
44
|
const allowEditing = mode !== 'multiple';
|
|
44
|
-
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.
|
|
45
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.labelMedium : theme.fonts.medium;
|
|
45
46
|
return /*#__PURE__*/React.createElement(View, {
|
|
46
|
-
style:
|
|
47
|
+
style: styles.header
|
|
47
48
|
}, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
|
|
48
49
|
style: [styles.label, {
|
|
49
|
-
color,
|
|
50
|
+
color: supportingTextColor,
|
|
50
51
|
...textFont
|
|
51
52
|
}]
|
|
52
53
|
}, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(View, {
|
|
@@ -61,9 +62,9 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
61
62
|
})) : null)), /*#__PURE__*/React.createElement(View, {
|
|
62
63
|
style: styles.fill
|
|
63
64
|
}), allowEditing ? /*#__PURE__*/React.createElement(IconButton, {
|
|
64
|
-
icon: collapsed ? editIcon : calendarIcon,
|
|
65
|
+
icon: collapsed ? editIcon ?? theme.isV3 ? 'pencil-outline' : 'pencil' : calendarIcon ?? theme.isV3 ? 'calendar-blank' : 'calendar',
|
|
65
66
|
accessibilityLabel: collapsed ? getTranslation(props.locale, 'typeInDate') : getTranslation(props.locale, 'pickDateFromCalendar'),
|
|
66
|
-
iconColor: color,
|
|
67
|
+
iconColor: theme.isV3 ? theme.colors.onSurface : color,
|
|
67
68
|
onPress: onToggle
|
|
68
69
|
}) : null);
|
|
69
70
|
}
|
|
@@ -74,8 +75,9 @@ export function HeaderContentSingle(_ref) {
|
|
|
74
75
|
color,
|
|
75
76
|
locale
|
|
76
77
|
} = _ref;
|
|
78
|
+
const theme = useTheme();
|
|
77
79
|
const lighterColor = Color(color).fade(0.5).rgb().toString();
|
|
78
|
-
const dateColor = state.date ? color : lighterColor;
|
|
80
|
+
const dateColor = state.date ? theme.isV3 ? theme.colors.onSurface : color : lighterColor;
|
|
79
81
|
const formatter = React.useMemo(() => {
|
|
80
82
|
return new Intl.DateTimeFormat(locale, {
|
|
81
83
|
month: 'short',
|
|
@@ -98,9 +100,10 @@ export function HeaderContentMulti(_ref2) {
|
|
|
98
100
|
color,
|
|
99
101
|
locale
|
|
100
102
|
} = _ref2;
|
|
103
|
+
const theme = useTheme();
|
|
101
104
|
const dateCount = ((_state$dates = state.dates) === null || _state$dates === void 0 ? void 0 : _state$dates.length) || 0;
|
|
102
105
|
const lighterColor = Color(color).fade(0.5).rgb().toString();
|
|
103
|
-
const dateColor = dateCount ? color : lighterColor;
|
|
106
|
+
const dateColor = dateCount ? theme.isV3 ? theme.colors.onSurface : color : lighterColor;
|
|
104
107
|
const formatter = React.useMemo(() => {
|
|
105
108
|
return new Intl.DateTimeFormat(locale, {
|
|
106
109
|
month: 'short',
|
|
@@ -132,6 +135,7 @@ export function HeaderContentRange(_ref3) {
|
|
|
132
135
|
endLabel = 'End',
|
|
133
136
|
color
|
|
134
137
|
} = _ref3;
|
|
138
|
+
const theme = useTheme();
|
|
135
139
|
const formatter = React.useMemo(() => {
|
|
136
140
|
return new Intl.DateTimeFormat(locale, {
|
|
137
141
|
month: 'short',
|
|
@@ -139,8 +143,8 @@ export function HeaderContentRange(_ref3) {
|
|
|
139
143
|
});
|
|
140
144
|
}, [locale]);
|
|
141
145
|
const lighterColor = Color(color).fade(0.5).rgb().toString();
|
|
142
|
-
const startColor = state.startDate ? color : lighterColor;
|
|
143
|
-
const endColor = state.endDate ? color : lighterColor;
|
|
146
|
+
const startColor = state.startDate ? theme.isV3 ? theme.colors.onSurface : color : lighterColor;
|
|
147
|
+
const endColor = state.endDate ? theme.isV3 ? theme.colors.onSurface : color : lighterColor;
|
|
144
148
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
145
149
|
style: [styles.rangeHeaderText, {
|
|
146
150
|
color: startColor
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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","supportingTextColor","isV3","colors","onSurfaceVariant","allowEditing","textFont","fonts","labelMedium","medium","styles","header","toUpperCase","headerContentContainer","fill","onSurface","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,\n calendarIcon,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n const allowEditing = mode !== 'multiple'\n\n let textFont = theme?.isV3\n ? theme.fonts.labelMedium\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.header}>\n <View>\n <Text\n style={[styles.label, { color: supportingTextColor, ...textFont }]}\n >\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={\n collapsed\n ? editIcon ?? theme.isV3\n ? 'pencil-outline'\n : 'pencil'\n : calendarIcon ?? theme.isV3\n ? 'calendar-blank'\n : 'calendar'\n }\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n iconColor={theme.isV3 ? theme.colors.onSurface : 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 theme = useTheme()\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : 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 theme = useTheme()\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : 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 theme = useTheme()\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\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : lighterColor\n const endColor = state.endDate\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : 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 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,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Animated, StyleSheet } from 'react-native';
|
|
3
|
-
import { Appbar, Button } from 'react-native-paper';
|
|
3
|
+
import { Appbar, Button, useTheme } from 'react-native-paper';
|
|
4
4
|
import { useHeaderTextColor } from '../utils';
|
|
5
5
|
import { getTranslation } from '../translations/utils';
|
|
6
6
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
7
7
|
export default function DatePickerModalHeader(props) {
|
|
8
|
+
const theme = useTheme();
|
|
8
9
|
const {
|
|
9
10
|
disableSafeTop,
|
|
10
11
|
locale,
|
|
@@ -14,7 +15,8 @@ export default function DatePickerModalHeader(props) {
|
|
|
14
15
|
const color = useHeaderTextColor();
|
|
15
16
|
const insets = useSafeAreaInsets();
|
|
16
17
|
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
17
|
-
style: [styles.animated,
|
|
18
|
+
style: [styles.animated, // eslint-disable-next-line react-native/no-inline-styles
|
|
19
|
+
{
|
|
18
20
|
paddingTop: disableSafeTop ? 0 : insets.top,
|
|
19
21
|
paddingLeft: insets.left,
|
|
20
22
|
paddingRight: insets.right
|
|
@@ -31,7 +33,7 @@ export default function DatePickerModalHeader(props) {
|
|
|
31
33
|
title: ''
|
|
32
34
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
33
35
|
color: color,
|
|
34
|
-
textColor: color,
|
|
36
|
+
textColor: theme.isV3 ? theme.colors.primary : color,
|
|
35
37
|
onPress: props.onSave,
|
|
36
38
|
disabled: props.saveLabelDisabled ?? false,
|
|
37
39
|
uppercase: props.uppercase ?? true,
|
|
@@ -83,8 +85,7 @@ const styles = StyleSheet.create({
|
|
|
83
85
|
},
|
|
84
86
|
appbarHeader: {
|
|
85
87
|
elevation: 0,
|
|
86
|
-
backgroundColor: 'transparent'
|
|
87
|
-
|
|
88
|
+
backgroundColor: 'transparent'
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
//# sourceMappingURL=DatePickerModalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","Appbar","Button","useTheme","useHeaderTextColor","getTranslation","useSafeAreaInsets","DatePickerModalHeader","props","theme","disableSafeTop","locale","closeIcon","saveLabel","color","insets","styles","animated","paddingTop","top","paddingLeft","left","paddingRight","right","appbarHeader","onDismiss","isV3","colors","primary","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, useTheme } 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 theme = useTheme()\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 // eslint-disable-next-line react-native/no-inline-styles\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={theme.isV3 ? theme.colors.primary : 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 },\n})\n"],"mappings":"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"}
|
package/lib/module/Date/Day.js
CHANGED
|
@@ -32,9 +32,9 @@ function Day(props) {
|
|
|
32
32
|
const onPress = React.useCallback(() => {
|
|
33
33
|
onPressDate(new Date(year, month, day));
|
|
34
34
|
}, [onPressDate, year, month, day]);
|
|
35
|
-
const borderColor = selected || inRange && theme.dark ? textColorOnPrimary : theme.dark ? '#fff' : '#000';
|
|
36
|
-
const textColor = selected || inRange && theme.dark ? textColorOnPrimary : undefined;
|
|
37
|
-
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.
|
|
35
|
+
const borderColor = theme.isV3 ? theme.colors.primary : selected || inRange && theme.dark ? textColorOnPrimary : theme.dark ? '#fff' : '#000';
|
|
36
|
+
const textColor = theme.isV3 && selected ? theme.colors.onPrimary : theme.isV3 && inRange && theme.dark ? theme.colors.onPrimaryContainer : selected || inRange && theme.dark ? textColorOnPrimary : theme.isV3 ? theme.colors.onSurface : undefined;
|
|
37
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodySmall : theme.fonts.medium;
|
|
38
38
|
return /*#__PURE__*/React.createElement(View, {
|
|
39
39
|
style: [styles.root, disabled && styles.disabled]
|
|
40
40
|
}, /*#__PURE__*/React.createElement(DayRange, {
|
|
@@ -59,7 +59,7 @@ function Day(props) {
|
|
|
59
59
|
} : null]
|
|
60
60
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
61
61
|
style: [textColor ? {
|
|
62
|
-
color: textColor
|
|
62
|
+
color: theme.isV3 && isToday ? theme.colors.primary : textColor
|
|
63
63
|
} : undefined, { ...textFont
|
|
64
64
|
}],
|
|
65
65
|
selectable: false
|
|
@@ -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","
|
|
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","isV3","colors","primary","dark","textColor","onPrimary","onPrimaryContainer","onSurface","undefined","textFont","fonts","bodySmall","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 = theme.isV3\n ? theme.colors.primary\n : selected || (inRange && theme.dark)\n ? textColorOnPrimary\n : theme.dark\n ? '#fff'\n : '#000'\n\n const textColor =\n theme.isV3 && selected\n ? theme.colors.onPrimary\n : theme.isV3 && inRange && theme.dark\n ? theme.colors.onPrimaryContainer\n : selected || (inRange && theme.dark)\n ? textColorOnPrimary\n : theme.isV3\n ? theme.colors.onSurface\n : undefined\n\n let textFont = theme?.isV3\n ? theme.fonts.bodySmall\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 <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\n ? {\n color:\n theme.isV3 && isToday ? theme.colors.primary : textColor,\n }\n : 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,11 +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.
|
|
10
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodySmall : theme.fonts.medium;
|
|
11
11
|
return /*#__PURE__*/React.createElement(View, {
|
|
12
12
|
style: styles.dayName
|
|
13
13
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
14
|
-
style: [styles.dayNameLabel, { ...textFont
|
|
14
|
+
style: [styles.dayNameLabel, { ...textFont,
|
|
15
|
+
color: theme.colors.onSurface
|
|
15
16
|
}],
|
|
16
17
|
selectable: false
|
|
17
18
|
}, label));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","Text","useTheme","DayName","label","theme","textFont","isV3","fonts","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Text","useTheme","DayName","label","theme","textFont","isV3","fonts","bodySmall","medium","styles","dayName","dayNameLabel","color","colors","onSurface","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.bodySmall\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.dayName}>\n <Text\n style={[\n styles.dayNameLabel,\n { ...textFont, color: theme.colors.onSurface },\n ]}\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,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,SADD,GAEVJ,KAAD,CAA2BG,KAA3B,CAAiCE,MAFrC;EAIA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLD,MAAM,CAACE,YADF,EAEL,EAAE,GAAGP,QAAL;MAAeQ,KAAK,EAAET,KAAK,CAACU,MAAN,CAAaC;IAAnC,CAFK,CADT;IAKE,UAAU,EAAE;EALd,GAOGZ,KAPH,CADF,CADF;AAaD;;AACD,MAAMO,MAAM,GAAGZ,UAAU,CAACkB,MAAX,CAAkB;EAC/BL,OAAO,EAAE;IAAEM,IAAI,EAAE,CAAR;IAAWC,UAAU,EAAE;EAAvB,CADsB;EAE/BN,YAAY,EAAE;IAAEO,QAAQ,EAAE,EAAZ;IAAgBC,OAAO,EAAE;EAAzB;AAFiB,CAAlB,CAAf;AAIA,4BAAevB,KAAK,CAACwB,IAAN,CAAWnB,OAAX,CAAf"}
|
package/lib/module/Date/Month.js
CHANGED
|
@@ -181,7 +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.
|
|
184
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.titleSmall : theme.fonts.medium;
|
|
185
185
|
return /*#__PURE__*/React.createElement(View, {
|
|
186
186
|
style: [styles.month, {
|
|
187
187
|
height: getMonthHeight(scrollMode, index)
|
|
@@ -204,14 +204,15 @@ function Month(props) {
|
|
|
204
204
|
borderRadius: roundness
|
|
205
205
|
}]
|
|
206
206
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
207
|
-
style: [styles.monthLabel, { ...textFont
|
|
207
|
+
style: [styles.monthLabel, { ...textFont,
|
|
208
|
+
color: theme.isV3 ? theme.colors.onSurfaceVariant : theme.colors.onSurface
|
|
208
209
|
}],
|
|
209
210
|
selectable: false
|
|
210
211
|
}, monthName, " ", year), /*#__PURE__*/React.createElement(View, {
|
|
211
212
|
style: isHorizontal ? styles.opacity1 : styles.opacity0
|
|
212
213
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
213
214
|
onPress: isHorizontal ? () => onPressYear(year) : undefined,
|
|
214
|
-
icon: selectingYear ? 'chevron-up' : 'chevron-down'
|
|
215
|
+
icon: selectingYear ? theme.isV3 ? 'menu-up' : 'chevron-up' : theme.isV3 ? 'menu-down' : 'chevron-down'
|
|
215
216
|
}))))), grid.map(_ref2 => {
|
|
216
217
|
let {
|
|
217
218
|
weekIndex,
|
|
@@ -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","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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"}
|
|
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","titleSmall","medium","styles","height","getMonthHeight","monthHeader","marginTop","monthHeaderSingleMarginTop","marginBottom","monthHeaderSingleMarginBottom","undefined","yearButton","borderRadius","yearButtonInner","monthLabel","color","colors","onSurfaceVariant","onSurface","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.titleSmall\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={[\n styles.monthLabel,\n {\n ...textFont,\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : theme.colors.onSurface,\n },\n ]}\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={\n selectingYear\n ? theme.isV3\n ? 'menu-up'\n : 'chevron-up'\n : theme.isV3\n ? 'menu-down'\n : 'chevron-down'\n }\n />\n </View>\n </View>\n </TouchableRipple>\n </View>\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 month: {},\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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"}
|
|
@@ -68,7 +68,12 @@ function YearPure(_ref3) {
|
|
|
68
68
|
backgroundColor: theme.colors.primary
|
|
69
69
|
} : null]
|
|
70
70
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
71
|
-
style: [styles.yearLabel, selected ?
|
|
71
|
+
style: [styles.yearLabel, selected ? // eslint-disable-next-line react-native/no-inline-styles
|
|
72
|
+
{
|
|
73
|
+
color: theme.isV3 ? theme.colors.onPrimary : '#fff'
|
|
74
|
+
} : {
|
|
75
|
+
color: theme.isV3 ? theme.colors.onSurfaceVariant : undefined
|
|
76
|
+
}, { ...textFont
|
|
72
77
|
}],
|
|
73
78
|
selectable: false
|
|
74
79
|
}, year))));
|
|
@@ -91,9 +96,6 @@ const styles = StyleSheet.create({
|
|
|
91
96
|
height: ITEM_HEIGHT,
|
|
92
97
|
justifyContent: 'center'
|
|
93
98
|
},
|
|
94
|
-
selectedYear: {
|
|
95
|
-
color: '#fff'
|
|
96
|
-
},
|
|
97
99
|
yearButton: {
|
|
98
100
|
borderRadius: 46 / 2,
|
|
99
101
|
overflow: 'hidden'
|