react-native-paper-dates 0.14.0 → 0.15.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/lib/commonjs/Date/DatePickerModalContent.js +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +2 -3
- package/lib/commonjs/Date/DatePickerModalContentHeader.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 +2 -3
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +0 -1
- package/package.json +1 -1
- package/src/Date/DatePickerModalContent.tsx +1 -1
- package/src/Date/DatePickerModalContentHeader.tsx +2 -4
|
@@ -110,7 +110,7 @@ function DatePickerModalContent(props) {
|
|
|
110
110
|
locale: locale,
|
|
111
111
|
editIcon: props === null || props === void 0 ? void 0 : props.editIcon,
|
|
112
112
|
calendarIcon: props.calendarIcon,
|
|
113
|
-
allowEditing: props.allowEditing
|
|
113
|
+
allowEditing: props.allowEditing ?? true
|
|
114
114
|
})), /*#__PURE__*/React.createElement(_AnimatedCrossView.default, {
|
|
115
115
|
collapsed: collapsed,
|
|
116
116
|
calendar: /*#__PURE__*/React.createElement(_Calendar.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","startYear","endYear","anyProps","state","setState","React","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","allowEditing","inputEnabled","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 inputEnabled?: 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 allowEditing={props.allowEditing
|
|
1
|
+
{"version":3,"names":["DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","startYear","endYear","anyProps","state","setState","React","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","allowEditing","inputEnabled","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 inputEnabled?: 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 allowEditing={props.allowEditing ?? true}\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 inputEnabled={props.inputEnabled}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}
|
|
@@ -57,13 +57,12 @@ function DatePickerModalContentHeader(props) {
|
|
|
57
57
|
uppercase,
|
|
58
58
|
editIcon,
|
|
59
59
|
calendarIcon,
|
|
60
|
-
inputDate,
|
|
61
60
|
allowEditing
|
|
62
61
|
} = props;
|
|
63
62
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
64
63
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
65
64
|
const color = (0, _utils.useHeaderTextColor)();
|
|
66
|
-
const
|
|
65
|
+
const isEditingEnabled = allowEditing && mode !== 'multiple';
|
|
67
66
|
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color;
|
|
68
67
|
const textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.labelMedium : theme.fonts.medium;
|
|
69
68
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
@@ -84,7 +83,7 @@ function DatePickerModalContentHeader(props) {
|
|
|
84
83
|
moreLabel: moreLabel
|
|
85
84
|
})) : null)), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
86
85
|
style: styles.fill
|
|
87
|
-
}),
|
|
86
|
+
}), isEditingEnabled ? /*#__PURE__*/React.createElement(_reactNativePaper.IconButton, {
|
|
88
87
|
icon: collapsed ? editIcon ?? theme.isV3 ? 'pencil-outline' : 'pencil' : calendarIcon ?? theme.isV3 ? 'calendar-blank' : 'calendar',
|
|
89
88
|
accessibilityLabel: collapsed ? (0, _utils2.getTranslation)(props.locale, 'typeInDate') : (0, _utils2.getTranslation)(props.locale, 'pickDateFromCalendar'),
|
|
90
89
|
iconColor: theme.isV3 ? theme.colors.onSurface : color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getLabel","locale","mode","configuredLabel","getTranslation","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","inputDate","allowEditing","theme","useTheme","label","color","useHeaderTextColor","isAllowEditing","undefined","supportingTextColor","isV3","colors","onSurfaceVariant","textFont","fonts","labelMedium","medium","styles","header","toUpperCase","headerContentContainer","fill","onSurface","HeaderContentSingle","state","emptyLabel","lighterColor","Color","fade","rgb","toString","dateColor","date","formatter","React","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","StyleSheet","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"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 allowEditing?: boolean\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n inputDate?: boolean\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 inputDate,\n allowEditing,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n\n const isAllowEditing = allowEditing && mode !== 'multiple' && inputDate !== undefined\n\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n\n const 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 {isAllowEditing ? (\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
|
+
{"version":3,"names":["getLabel","locale","mode","configuredLabel","getTranslation","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","allowEditing","theme","useTheme","label","color","useHeaderTextColor","isEditingEnabled","supportingTextColor","isV3","colors","onSurfaceVariant","textFont","fonts","labelMedium","medium","styles","header","toUpperCase","headerContentContainer","fill","onSurface","HeaderContentSingle","state","emptyLabel","lighterColor","Color","fade","rgb","toString","dateColor","date","formatter","React","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","StyleSheet","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"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 allowEditing?: boolean\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 allowEditing,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n\n const isEditingEnabled = allowEditing && mode !== 'multiple'\n\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n\n const 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 {isEditingEnabled ? (\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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"}
|
|
@@ -89,7 +89,7 @@ export function DatePickerModalContent(props) {
|
|
|
89
89
|
locale: locale,
|
|
90
90
|
editIcon: props === null || props === void 0 ? void 0 : props.editIcon,
|
|
91
91
|
calendarIcon: props.calendarIcon,
|
|
92
|
-
allowEditing: props.allowEditing
|
|
92
|
+
allowEditing: props.allowEditing ?? true
|
|
93
93
|
})), /*#__PURE__*/React.createElement(AnimatedCrossView, {
|
|
94
94
|
collapsed: collapsed,
|
|
95
95
|
calendar: /*#__PURE__*/React.createElement(Calendar, {
|
|
@@ -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","allowEditing","inputEnabled","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 inputEnabled?: 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 allowEditing={props.allowEditing || true}\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 inputEnabled={props.inputEnabled}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}
|
|
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","allowEditing","inputEnabled","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 inputEnabled?: 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 allowEditing={props.allowEditing ?? true}\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 inputEnabled={props.inputEnabled}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}
|
|
@@ -36,13 +36,12 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
36
36
|
uppercase,
|
|
37
37
|
editIcon,
|
|
38
38
|
calendarIcon,
|
|
39
|
-
inputDate,
|
|
40
39
|
allowEditing
|
|
41
40
|
} = props;
|
|
42
41
|
const theme = useTheme();
|
|
43
42
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
44
43
|
const color = useHeaderTextColor();
|
|
45
|
-
const
|
|
44
|
+
const isEditingEnabled = allowEditing && mode !== 'multiple';
|
|
46
45
|
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color;
|
|
47
46
|
const textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.labelMedium : theme.fonts.medium;
|
|
48
47
|
return /*#__PURE__*/React.createElement(View, {
|
|
@@ -63,7 +62,7 @@ export default function DatePickerModalContentHeader(props) {
|
|
|
63
62
|
moreLabel: moreLabel
|
|
64
63
|
})) : null)), /*#__PURE__*/React.createElement(View, {
|
|
65
64
|
style: styles.fill
|
|
66
|
-
}),
|
|
65
|
+
}), isEditingEnabled ? /*#__PURE__*/React.createElement(IconButton, {
|
|
67
66
|
icon: collapsed ? editIcon ?? theme.isV3 ? 'pencil-outline' : 'pencil' : calendarIcon ?? theme.isV3 ? 'calendar-blank' : 'calendar',
|
|
68
67
|
accessibilityLabel: collapsed ? getTranslation(props.locale, 'typeInDate') : getTranslation(props.locale, 'pickDateFromCalendar'),
|
|
69
68
|
iconColor: theme.isV3 ? theme.colors.onSurface : color,
|
|
@@ -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","inputDate","allowEditing","theme","label","color","isAllowEditing","undefined","supportingTextColor","isV3","colors","onSurfaceVariant","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 allowEditing?: boolean\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n inputDate?: boolean\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 inputDate,\n allowEditing,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n\n const isAllowEditing = allowEditing && mode !== 'multiple' && inputDate !== undefined\n\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n\n const 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 {isAllowEditing ? (\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":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,EAAeC,UAAf,QAAiC,cAAjC;AACA,SAASC,UAAT,EAA+BC,IAA/B,EAAqCC,QAArC,QAAqD,oBAArD;AAGA,SAASC,kBAAT,QAAmC,UAAnC;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAASC,cAAT,QAA+B,uBAA/B;;AA0BA,SAASC,QAAT,CACEC,MADF,EAEEC,IAFF,EAGEC,eAHF,EAIE;EACA,IAAIA,eAAJ,EAAqB;IACnB,OAAOA,eAAP;EACD;;EACD,IAAID,IAAI,KAAK,OAAb,EAAsB;IACpB,OAAOH,cAAc,CAACE,MAAD,EAAS,aAAT,CAArB;EACD;;EACD,IAAIC,IAAI,KAAK,UAAb,EAAyB;IACvB,OAAOH,cAAc,CAACE,MAAD,EAAS,gBAAT,CAArB;EACD;;EACD,IAAIC,IAAI,KAAK,QAAb,EAAuB;IACrB,OAAOH,cAAc,CAACE,MAAD,EAAS,cAAT,CAArB;EACD;;EACD,OAAO,MAAP;AACD;;AAED,eAAe,SAASG,4BAAT,CACbC,KADa,EAEb;EACA,MAAM;IACJC,QADI;IAEJC,SAFI;IAGJL,IAHI;IAIJM,SAJI;IAKJC,SALI;IAMJC,QANI;IAOJC,YAPI;IAQJC,SARI;IASJC;EATI,IAUFR,KAVJ;EAWA,MAAMS,KAAK,GAAGlB,QAAQ,EAAtB;EACA,MAAMmB,KAAK,GAAGf,QAAQ,CAACK,KAAK,CAACJ,MAAP,EAAeI,KAAK,CAACH,IAArB,EAA2BG,KAAK,CAACU,KAAjC,CAAtB;EAEA,MAAMC,KAAK,GAAGnB,kBAAkB,EAAhC;EAEA,MAAMoB,cAAc,GAAGJ,YAAY,IAAIX,IAAI,KAAK,UAAzB,IAAuCU,SAAS,KAAKM,SAA5E;EAEA,MAAMC,mBAAmB,GAAGL,KAAK,CAACM,IAAN,GAAaN,KAAK,CAACO,MAAN,CAAaC,gBAA1B,GAA6CN,KAAzE;EAEA,MAAMO,QAAQ,GAAGT,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEM,IAAP,GACbN,KAAK,CAACU,KAAN,CAAYC,WADC,GAEZX,KAAD,CAA2BU,KAA3B,CAAiCE,MAFrC;EAIA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,IAAD,qBACE,oBAAC,IAAD;IACE,KAAK,EAAE,CAACD,MAAM,CAACZ,KAAR,EAAe;MAAEC,KAAK,EAAEG,mBAAT;MAA8B,GAAGI;IAAjC,CAAf;EADT,GAGGd,SAAS,GAAGM,KAAK,CAACc,WAAN,EAAH,GAAyBd,KAHrC,CADF,eAME,oBAAC,IAAD;IAAM,KAAK,EAAEY,MAAM,CAACG;EAApB,GACG5B,IAAI,KAAK,OAAT,gBACC,oBAAC,kBAAD,eAAwBG,KAAxB;IAA+B,KAAK,EAAEW;EAAtC,GADD,GAEG,IAHN,EAIGd,IAAI,KAAK,QAAT,gBACC,oBAAC,mBAAD,eAAyBG,KAAzB;IAAgC,KAAK,EAAEW;EAAvC,GADD,GAEG,IANN,EAOGd,IAAI,KAAK,UAAT,gBACC,oBAAC,kBAAD,eACMG,KADN;IAEE,KAAK,EAAEW,KAFT;IAGE,SAAS,EAAER;EAHb,GADD,GAMG,IAbN,CANF,CADF,eAuBE,oBAAC,IAAD;IAAM,KAAK,EAAEmB,MAAM,CAACI;EAApB,EAvBF,EAwBGd,cAAc,gBACb,oBAAC,UAAD;IACE,IAAI,EACFV,SAAS,GACLG,QAAQ,IAAII,KAAK,CAACM,IAAlB,GACE,gBADF,GAEE,QAHG,GAILT,YAAY,IAAIG,KAAK,CAACM,IAAtB,GACA,gBADA,GAEA,UARR;IAUE,kBAAkB,EAChBb,SAAS,GACLR,cAAc,CAACM,KAAK,CAACJ,MAAP,EAAe,YAAf,CADT,GAELF,cAAc,CAACM,KAAK,CAACJ,MAAP,EAAe,sBAAf,CAbtB;IAeE,SAAS,EAAEa,KAAK,CAACM,IAAN,GAAaN,KAAK,CAACO,MAAN,CAAaW,SAA1B,GAAsChB,KAfnD;IAgBE,OAAO,EAAEV;EAhBX,EADa,GAmBX,IA3CN,CADF;AA+CD;AAED,OAAO,SAAS2B,mBAAT,OAKoC;EAAA,IALP;IAClCC,KADkC;IAElCC,UAAU,GAAG,GAFqB;IAGlCnB,KAHkC;IAIlCf;EAJkC,CAKO;EACzC,MAAMa,KAAK,GAAGlB,QAAQ,EAAtB;EACA,MAAMwC,YAAY,GAAGtC,KAAK,CAACkB,KAAD,CAAL,CAAaqB,IAAb,CAAkB,GAAlB,EAAuBC,GAAvB,GAA6BC,QAA7B,EAArB;EACA,MAAMC,SAAS,GAAGN,KAAK,CAACO,IAAN,GACd3B,KAAK,CAACM,IAAN,GACEN,KAAK,CAACO,MAAN,CAAaW,SADf,GAEEhB,KAHY,GAIdoB,YAJJ;EAMA,MAAMM,SAAS,GAAGnD,KAAK,CAACoD,OAAN,CAAc,MAAM;IACpC,OAAO,IAAIC,IAAI,CAACC,cAAT,CAAwB5C,MAAxB,EAAgC;MACrC6C,KAAK,EAAE,OAD8B;MAErCC,GAAG,EAAE;IAFgC,CAAhC,CAAP;EAID,CALiB,EAKf,CAAC9C,MAAD,CALe,CAAlB;EAOA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC0B,MAAM,CAACqB,gBAAR,EAA0B;MAAEhC,KAAK,EAAEwB;IAAT,CAA1B;EAAb,GACGN,KAAK,CAACO,IAAN,GAAaC,SAAS,CAACO,MAAV,CAAiBf,KAAK,CAACO,IAAvB,CAAb,GAA4CN,UAD/C,CADF;AAKD;AAED,OAAO,SAASe,kBAAT,QAMmE;EAAA;;EAAA,IANvC;IACjChB,KADiC;IAEjCC,UAAU,GAAG,GAFoB;IAGjC3B,SAAS,GAAG,MAHqB;IAIjCQ,KAJiC;IAKjCf;EALiC,CAMuC;EACxE,MAAMa,KAAK,GAAGlB,QAAQ,EAAtB;EACA,MAAMuD,SAAS,GAAG,iBAAAjB,KAAK,CAACkB,KAAN,8DAAaC,MAAb,KAAuB,CAAzC;EACA,MAAMjB,YAAY,GAAGtC,KAAK,CAACkB,KAAD,CAAL,CAAaqB,IAAb,CAAkB,GAAlB,EAAuBC,GAAvB,GAA6BC,QAA7B,EAArB;EACA,MAAMC,SAAS,GAAGW,SAAS,GACvBrC,KAAK,CAACM,IAAN,GACEN,KAAK,CAACO,MAAN,CAAaW,SADf,GAEEhB,KAHqB,GAIvBoB,YAJJ;EAMA,MAAMM,SAAS,GAAGnD,KAAK,CAACoD,OAAN,CAAc,MAAM;IACpC,OAAO,IAAIC,IAAI,CAACC,cAAT,CAAwB5C,MAAxB,EAAgC;MACrC6C,KAAK,EAAE,OAD8B;MAErCC,GAAG,EAAE;IAFgC,CAAhC,CAAP;EAID,CALiB,EAKf,CAAC9C,MAAD,CALe,CAAlB;EAOA,IAAIc,KAAK,GAAGoB,UAAZ;;EACA,IAAIgB,SAAJ,EAAe;IACb,IAAIA,SAAS,IAAI,CAAjB,EAAoB;MAClBpC,KAAK,GAAGmB,KAAK,CAACkB,KAAN,CAAaE,GAAb,CAAkBb,IAAD,IAAUC,SAAS,CAACO,MAAV,CAAiBR,IAAjB,CAA3B,EAAmDc,IAAnD,CAAwD,IAAxD,CAAR;IACD,CAFD,MAEO;MACLxC,KAAK,GACH2B,SAAS,CAACO,MAAV,CAAiBf,KAAK,CAACkB,KAAN,CAAa,CAAb,CAAjB,IAAqC,OAAMD,SAAS,GAAG,CAAE,IAAG3C,SAAU,GADxE;IAED;EACF;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACmB,MAAM,CAACqB,gBAAR,EAA0B;MAAEhC,KAAK,EAAEwB;IAAT,CAA1B;EAAb,GAA+DzB,KAA/D,CADF;AAGD;AAED,OAAO,SAASyC,kBAAT,QAOoC;EAAA,IAPR;IACjCvD,MADiC;IAEjCiC,KAFiC;IAGjCuB,eAAe,GAAG,GAHe;IAIjCC,UAAU,GAAG,OAJoB;IAKjCC,QAAQ,GAAG,KALsB;IAMjC3C;EANiC,CAOQ;EACzC,MAAMF,KAAK,GAAGlB,QAAQ,EAAtB;EACA,MAAM8C,SAAS,GAAGnD,KAAK,CAACoD,OAAN,CAAc,MAAM;IACpC,OAAO,IAAIC,IAAI,CAACC,cAAT,CAAwB5C,MAAxB,EAAgC;MACrC6C,KAAK,EAAE,OAD8B;MAErCC,GAAG,EAAE;IAFgC,CAAhC,CAAP;EAID,CALiB,EAKf,CAAC9C,MAAD,CALe,CAAlB;EAOA,MAAMmC,YAAY,GAAGtC,KAAK,CAACkB,KAAD,CAAL,CAAaqB,IAAb,CAAkB,GAAlB,EAAuBC,GAAvB,GAA6BC,QAA7B,EAArB;EACA,MAAMqB,UAAU,GAAG1B,KAAK,CAAC2B,SAAN,GACf/C,KAAK,CAACM,IAAN,GACEN,KAAK,CAACO,MAAN,CAAaW,SADf,GAEEhB,KAHa,GAIfoB,YAJJ;EAKA,MAAM0B,QAAQ,GAAG5B,KAAK,CAAC6B,OAAN,GACbjD,KAAK,CAACM,IAAN,GACEN,KAAK,CAACO,MAAN,CAAaW,SADf,GAEEhB,KAHW,GAIboB,YAJJ;EAMA,oBACE,uDACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACT,MAAM,CAACqC,eAAR,EAAyB;MAAEhD,KAAK,EAAE4C;IAAT,CAAzB;EAAb,GACG1B,KAAK,CAAC2B,SAAN,GAAkBnB,SAAS,CAACO,MAAV,CAAiBf,KAAK,CAAC2B,SAAvB,CAAlB,GAAsDH,UADzD,CADF,eAIE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC/B,MAAM,CAAC8B,eAAR,EAAyB;MAAEzC;IAAF,CAAzB;EAAb,GAAmDyC,eAAnD,CAJF,eAKE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAAC9B,MAAM,CAACqC,eAAR,EAAyB;MAAEhD,KAAK,EAAE8C;IAAT,CAAzB;EAAb,GACG5B,KAAK,CAAC6B,OAAN,GAAgBrB,SAAS,CAACO,MAAV,CAAiBf,KAAK,CAAC6B,OAAvB,CAAhB,GAAkDJ,QADrD,CALF,CADF;AAWD;AAED,MAAMhC,MAAM,GAAGlC,UAAU,CAACwE,MAAX,CAAkB;EAC/BlC,IAAI,EAAE;IACJmC,IAAI,EAAE;EADF,CADyB;EAI/BC,QAAQ,EAAE;IACRC,aAAa,EAAE,CADP;IAERC,SAAS,EAAE;EAFH,CAJqB;EAQ/BC,WAAW,EAAE;IACXF,aAAa,EAAE;EADJ,CARkB;EAW/BxC,MAAM,EAAE;IACN2C,MAAM,EAAE,EADF;IAENC,UAAU,EAAE,QAFN;IAGNC,aAAa,EAAE,KAHT;IAINC,WAAW,EAAE,EAJP;IAKNC,YAAY,EAAE;EALR,CAXuB;EAkB/B7C,sBAAsB,EAAE;IAAE8C,SAAS,EAAE,CAAb;IAAgBH,aAAa,EAAE;EAA/B,CAlBO;EAmB/B1D,KAAK,EAAE;IAAEC,KAAK,EAAE,MAAT;IAAiB6D,aAAa,EAAE,CAAhC;IAAmCC,QAAQ,EAAE;EAA7C,CAnBwB;EAoB/B9B,gBAAgB,EAAE;IAAEhC,KAAK,EAAE,MAAT;IAAiB8D,QAAQ,EAAE;EAA3B,CApBa;EAqB/Bd,eAAe,EAAE;IAAEhD,KAAK,EAAE,MAAT;IAAiB8D,QAAQ,EAAE;EAA3B,CArBc;EAsB/BC,wBAAwB,EAAE;IAAED,QAAQ,EAAE;EAAZ,CAtBK;EAuB/BE,6BAA6B,EAAE;IAC7BF,QAAQ,EAAE,EADmB;IAE7BF,SAAS,EAAE,CAAC,CAFiB;IAG7BK,UAAU,EAAE;EAHiB,CAvBA;EA4B/BxB,eAAe,EAAE;IACfzC,KAAK,EAAE,qBADQ;IAEf8D,QAAQ,EAAE,EAFK;IAGfJ,WAAW,EAAE,CAHE;IAIfC,YAAY,EAAE;EAJC,CA5Bc;EAkC/BO,YAAY,EAAE;IACZb,SAAS,EAAE;EADC,CAlCiB;EAqC/Bc,MAAM,EAAE;IAAEV,aAAa,EAAE;EAAjB,CArCuB;EAsC/BW,GAAG,EAAE;IAAEX,aAAa,EAAE;EAAjB;AAtC0B,CAAlB,CAAf"}
|
|
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","allowEditing","theme","label","color","isEditingEnabled","supportingTextColor","isV3","colors","onSurfaceVariant","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 allowEditing?: boolean\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 allowEditing,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n\n const isEditingEnabled = allowEditing && mode !== 'multiple'\n\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n\n const 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 {isEditingEnabled ? (\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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"}
|
|
@@ -20,7 +20,6 @@ export interface HeaderContentProps extends HeaderPickProps {
|
|
|
20
20
|
collapsed: boolean;
|
|
21
21
|
onToggle: () => any;
|
|
22
22
|
locale: string | undefined;
|
|
23
|
-
inputDate?: boolean;
|
|
24
23
|
}
|
|
25
24
|
export default function DatePickerModalContentHeader(props: HeaderContentProps): JSX.Element;
|
|
26
25
|
export declare function HeaderContentSingle({ state, emptyLabel, color, locale, }: HeaderContentProps & {
|
package/package.json
CHANGED
|
@@ -165,7 +165,7 @@ export function DatePickerModalContent(
|
|
|
165
165
|
locale={locale}
|
|
166
166
|
editIcon={props?.editIcon}
|
|
167
167
|
calendarIcon={props.calendarIcon}
|
|
168
|
-
allowEditing={props.allowEditing
|
|
168
|
+
allowEditing={props.allowEditing ?? true}
|
|
169
169
|
/>
|
|
170
170
|
</DatePickerModalHeaderBackground>
|
|
171
171
|
<AnimatedCrossView
|
|
@@ -28,7 +28,6 @@ export interface HeaderContentProps extends HeaderPickProps {
|
|
|
28
28
|
collapsed: boolean
|
|
29
29
|
onToggle: () => any
|
|
30
30
|
locale: string | undefined
|
|
31
|
-
inputDate?: boolean
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
function getLabel(
|
|
@@ -62,7 +61,6 @@ export default function DatePickerModalContentHeader(
|
|
|
62
61
|
uppercase,
|
|
63
62
|
editIcon,
|
|
64
63
|
calendarIcon,
|
|
65
|
-
inputDate,
|
|
66
64
|
allowEditing,
|
|
67
65
|
} = props
|
|
68
66
|
const theme = useTheme()
|
|
@@ -70,7 +68,7 @@ export default function DatePickerModalContentHeader(
|
|
|
70
68
|
|
|
71
69
|
const color = useHeaderTextColor()
|
|
72
70
|
|
|
73
|
-
const
|
|
71
|
+
const isEditingEnabled = allowEditing && mode !== 'multiple'
|
|
74
72
|
|
|
75
73
|
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color
|
|
76
74
|
|
|
@@ -103,7 +101,7 @@ export default function DatePickerModalContentHeader(
|
|
|
103
101
|
</View>
|
|
104
102
|
</View>
|
|
105
103
|
<View style={styles.fill} />
|
|
106
|
-
{
|
|
104
|
+
{isEditingEnabled ? (
|
|
107
105
|
<IconButton
|
|
108
106
|
icon={
|
|
109
107
|
collapsed
|