react-native-paper-dates 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/commonjs/Date/AnimatedCrossView.js +1 -4
- package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
- package/lib/commonjs/Date/Calendar.js +1 -1
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.js +4 -2
- package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js +17 -12
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +3 -3
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -2
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +13 -14
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js +7 -8
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/commonjs/Date/Day.js +5 -4
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js +3 -1
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/Month.js +3 -1
- package/lib/commonjs/Date/Month.js.map +1 -1
- package/lib/commonjs/Date/Swiper.js +1 -2
- package/lib/commonjs/Date/Swiper.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +4 -2
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +9 -4
- package/lib/commonjs/TextInputMask.js.map +1 -1
- package/lib/commonjs/Time/AmPmSwitcher.js +3 -2
- package/lib/commonjs/Time/AmPmSwitcher.js.map +1 -1
- package/lib/commonjs/Time/AnalogClock.js +1 -1
- package/lib/commonjs/Time/AnalogClock.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +7 -4
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js +4 -1
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +15 -4
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +35 -3
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/translations/utils.js +2 -2
- package/lib/commonjs/translations/utils.js.map +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/AnimatedCrossView.js +1 -3
- package/lib/module/Date/AnimatedCrossView.js.map +1 -1
- package/lib/module/Date/Calendar.js +1 -1
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/DatePickerInput.js +4 -2
- package/lib/module/Date/DatePickerInput.js.map +1 -1
- package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
- package/lib/module/Date/DatePickerInputWithoutModal.js +17 -12
- package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +3 -3
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +6 -3
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +13 -15
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeaderBackground.js +7 -9
- package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/module/Date/Day.js +5 -4
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js +3 -1
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/Month.js +3 -1
- package/lib/module/Date/Month.js.map +1 -1
- package/lib/module/Date/Swiper.js +1 -2
- package/lib/module/Date/Swiper.js.map +1 -1
- package/lib/module/Date/YearPicker.js +4 -2
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/TextInputMask.js +9 -4
- package/lib/module/TextInputMask.js.map +1 -1
- package/lib/module/Time/AmPmSwitcher.js +3 -2
- package/lib/module/Time/AmPmSwitcher.js.map +1 -1
- package/lib/module/Time/AnalogClock.js +1 -1
- package/lib/module/Time/AnalogClock.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +6 -4
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js +4 -1
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +15 -4
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/Time/timeUtils.js +35 -3
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/translations/utils.js +2 -2
- package/lib/module/translations/utils.js.map +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/Date/AutoSizer.d.ts +1 -1
- package/lib/typescript/Date/Calendar.d.ts +10 -10
- package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
- package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
- package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +10 -4
- package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -1
- package/lib/typescript/Date/Day.d.ts +2 -2
- package/lib/typescript/Date/SwiperUtils.d.ts +2 -2
- package/lib/typescript/Date/dateUtils.d.ts +1 -1
- package/lib/typescript/TextInputMask.d.ts +9 -4
- package/lib/typescript/Time/TimePicker.d.ts +1 -1
- package/lib/typescript/Time/timeUtils.d.ts +7 -7
- package/lib/typescript/translations/utils.d.ts +1 -1
- package/lib/typescript/utils.d.ts +2 -0
- package/package.json +9 -8
- package/src/Date/AnimatedCrossView.tsx +0 -4
- package/src/Date/Calendar.tsx +2 -2
- package/src/Date/DatePickerInput.shared.tsx +1 -0
- package/src/Date/DatePickerInput.tsx +2 -1
- package/src/Date/DatePickerInputWithoutModal.tsx +37 -35
- package/src/Date/DatePickerModalContent.tsx +3 -3
- package/src/Date/DatePickerModalContentHeader.tsx +9 -4
- package/src/Date/DatePickerModalHeader.tsx +35 -37
- package/src/Date/DatePickerModalHeaderBackground.tsx +6 -7
- package/src/Date/Day.tsx +12 -4
- package/src/Date/DayName.tsx +7 -5
- package/src/Date/Month.tsx +12 -2
- package/src/Date/Swiper.tsx +0 -1
- package/src/Date/YearPicker.tsx +16 -4
- package/src/TextInputMask.tsx +8 -4
- package/src/Time/AmPmSwitcher.tsx +11 -3
- package/src/Time/AnalogClock.tsx +3 -1
- package/src/Time/TimeInputs.tsx +32 -4
- package/src/Time/TimePicker.tsx +4 -1
- package/src/Time/TimePickerModal.tsx +29 -3
- package/src/Time/timeUtils.ts +31 -4
- package/src/translations/utils.ts +2 -2
- package/src/utils.ts +8 -1
- package/lib/commonjs/Date/DateRangeInput.js +0 -86
- package/lib/commonjs/Date/DateRangeInput.js.map +0 -1
- package/lib/module/Date/DateRangeInput.js +0 -69
- package/lib/module/Date/DateRangeInput.js.map +0 -1
- package/lib/typescript/Date/DateRangeInput.d.ts +0 -4
- package/src/Date/DateRangeInput.tsx +0 -75
package/README.md
CHANGED
|
@@ -387,7 +387,7 @@ This is to prevent the need to press 2 times before save or close button in moda
|
|
|
387
387
|
|
|
388
388
|
|
|
389
389
|
## Android Caveats
|
|
390
|
-
We recommend Hermes with React Native >= 0.66 you won't need these polyfills at all
|
|
390
|
+
We recommend Hermes with React Native >= 0.66 **you won't need these polyfills at all!**
|
|
391
391
|
|
|
392
392
|
### Below React Native 0.66
|
|
393
393
|
You will need to add a polyfill for the Intl API on Android if:
|
|
@@ -17,7 +17,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
17
17
|
|
|
18
18
|
function AnimatedCrossView(_ref) {
|
|
19
19
|
let {
|
|
20
|
-
// visible,
|
|
21
20
|
collapsed,
|
|
22
21
|
calendar,
|
|
23
22
|
calendarEdit
|
|
@@ -25,13 +24,11 @@ function AnimatedCrossView(_ref) {
|
|
|
25
24
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
26
25
|
const calendarOpacity = React.useRef(new _reactNative.Animated.Value(collapsed ? 1 : 0));
|
|
27
26
|
React.useEffect(() => {
|
|
28
|
-
// if (visible) {
|
|
29
27
|
_reactNative.Animated.timing(calendarOpacity.current, {
|
|
30
28
|
toValue: collapsed ? 1 : 0,
|
|
31
29
|
duration: 250,
|
|
32
30
|
useNativeDriver: true
|
|
33
|
-
}).start();
|
|
34
|
-
|
|
31
|
+
}).start();
|
|
35
32
|
}, [collapsed]);
|
|
36
33
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
37
34
|
style: styles.root
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnimatedCrossView","collapsed","calendar","calendarEdit","theme","useTheme","calendarOpacity","React","useRef","Animated","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","StyleSheet","create","flex","position","left","right"],"sources":["AnimatedCrossView.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, View } from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nexport default function AnimatedCrossView({\n
|
|
1
|
+
{"version":3,"names":["AnimatedCrossView","collapsed","calendar","calendarEdit","theme","useTheme","calendarOpacity","React","useRef","Animated","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","StyleSheet","create","flex","position","left","right"],"sources":["AnimatedCrossView.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet, View } from 'react-native'\nimport { useTheme } from 'react-native-paper'\n\nexport default function AnimatedCrossView({\n collapsed,\n calendar,\n calendarEdit,\n}: {\n calendar: any\n calendarEdit: any\n collapsed: boolean\n}) {\n const theme = useTheme()\n const calendarOpacity = React.useRef<Animated.Value>(\n new Animated.Value(collapsed ? 1 : 0)\n )\n React.useEffect(() => {\n Animated.timing(calendarOpacity.current, {\n toValue: collapsed ? 1 : 0,\n duration: 250,\n useNativeDriver: true,\n }).start()\n }, [collapsed])\n\n return (\n <View style={styles.root}>\n <Animated.View\n pointerEvents={collapsed ? 'auto' : 'none'}\n style={[\n styles.calendar,\n {\n opacity: calendarOpacity.current,\n transform: [\n {\n scaleY: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.85, 1],\n }),\n },\n {\n scaleX: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0.95, 1],\n }),\n },\n ],\n },\n ]}\n >\n {calendar}\n </Animated.View>\n <Animated.View\n pointerEvents={collapsed ? 'none' : 'auto'}\n style={[\n styles.calendarEdit,\n {\n backgroundColor: theme.colors.surface,\n opacity: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n transform: [\n {\n scale: calendarOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0.95],\n }),\n },\n ],\n },\n ]}\n >\n {calendarEdit}\n </Animated.View>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n calendarEdit: {\n position: 'absolute',\n\n left: 0,\n right: 0,\n },\n calendar: {\n flex: 1,\n },\n})\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEe,SAASA,iBAAT,OAQZ;EAAA,IARuC;IACxCC,SADwC;IAExCC,QAFwC;IAGxCC;EAHwC,CAQvC;EACD,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMC,eAAe,GAAGC,KAAK,CAACC,MAAN,CACtB,IAAIC,qBAAA,CAASC,KAAb,CAAmBT,SAAS,GAAG,CAAH,GAAO,CAAnC,CADsB,CAAxB;EAGAM,KAAK,CAACI,SAAN,CAAgB,MAAM;IACpBF,qBAAA,CAASG,MAAT,CAAgBN,eAAe,CAACO,OAAhC,EAAyC;MACvCC,OAAO,EAAEb,SAAS,GAAG,CAAH,GAAO,CADc;MAEvCc,QAAQ,EAAE,GAF6B;MAGvCC,eAAe,EAAE;IAHsB,CAAzC,EAIGC,KAJH;EAKD,CAND,EAMG,CAAChB,SAAD,CANH;EAQA,oBACE,oBAAC,iBAAD;IAAM,KAAK,EAAEiB,MAAM,CAACC;EAApB,gBACE,oBAAC,qBAAD,CAAU,IAAV;IACE,aAAa,EAAElB,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLiB,MAAM,CAAChB,QADF,EAEL;MACEkB,OAAO,EAAEd,eAAe,CAACO,OAD3B;MAEEQ,SAAS,EAAE,CACT;QACEC,MAAM,EAAEhB,eAAe,CAACO,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CADS,EAOT;QACEC,MAAM,EAAEpB,eAAe,CAACO,OAAhB,CAAwBU,WAAxB,CAAoC;UAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;UAE1CC,WAAW,EAAE,CAAC,IAAD,EAAO,CAAP;QAF6B,CAApC;MADV,CAPS;IAFb,CAFK;EAFT,GAuBGvB,QAvBH,CADF,eA0BE,oBAAC,qBAAD,CAAU,IAAV;IACE,aAAa,EAAED,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLiB,MAAM,CAACf,YADF,EAEL;MACEwB,eAAe,EAAEvB,KAAK,CAACwB,MAAN,CAAaC,OADhC;MAEET,OAAO,EAAEd,eAAe,CAACO,OAAhB,CAAwBU,WAAxB,CAAoC;QAC3CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD+B;QAE3CC,WAAW,EAAE,CAAC,CAAD,EAAI,CAAJ;MAF8B,CAApC,CAFX;MAMEJ,SAAS,EAAE,CACT;QACES,KAAK,EAAExB,eAAe,CAACO,OAAhB,CAAwBU,WAAxB,CAAoC;UACzCC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD6B;UAEzCC,WAAW,EAAE,CAAC,CAAD,EAAI,IAAJ;QAF4B,CAApC;MADT,CADS;IANb,CAFK;EAFT,GAqBGtB,YArBH,CA1BF,CADF;AAoDD;;AAED,MAAMe,MAAM,GAAGa,uBAAA,CAAWC,MAAX,CAAkB;EAC/Bb,IAAI,EAAE;IAAEc,IAAI,EAAE;EAAR,CADyB;EAE/B9B,YAAY,EAAE;IACZ+B,QAAQ,EAAE,UADE;IAGZC,IAAI,EAAE,CAHM;IAIZC,KAAK,EAAE;EAJK,CAFiB;EAQ/BlC,QAAQ,EAAE;IACR+B,IAAI,EAAE;EADE;AARqB,CAAlB,CAAf"}
|
|
@@ -49,7 +49,7 @@ function Calendar(props) {
|
|
|
49
49
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
50
50
|
const selectColor = (0, React.useMemo)(() => {
|
|
51
51
|
if (theme.dark) {
|
|
52
|
-
return (0, _utils.darkenBy)((0, _color.default)(theme.colors.primary), 0.
|
|
52
|
+
return (0, _utils.darkenBy)((0, _color.default)(theme.colors.primary), 0.1).hex();
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
return (0, _utils.lightenBy)((0, _color.default)(theme.colors.primary), 0.9).hex();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","startYear","endYear","dates","validRange","dateMode","theme","useTheme","selectColor","useMemo","dark","darkenBy","Color","colors","primary","hex","lightenBy","scrollMode","selectedYear","setSelectedYear","React","useState","undefined","selectingYear","setSelectingYear","onPressYear","useCallback","year","prev","startDateRef","useLatest","endDateRef","onChangeRef","datesRef","onPressDate","d","current","getEndOfDay","sd","ed","isStart","dateToUnix","exists","some","areDatesOnSameDay","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","getInitialIndex","index","roundness","onPrev","onNext","StyleSheet","create","flex","viewPager","memo"],"sources":["Calendar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n startYear?: number\n endYear?: number\n\n // here they are optional but in final implemenation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n startYear,\n endYear,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.9).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) >= dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n startYear={startYear || 1800}\n endYear={endYear || 2200}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","startYear","endYear","dates","validRange","dateMode","theme","useTheme","selectColor","useMemo","dark","darkenBy","Color","colors","primary","hex","lightenBy","scrollMode","selectedYear","setSelectedYear","React","useState","undefined","selectingYear","setSelectingYear","onPressYear","useCallback","year","prev","startDateRef","useLatest","endDateRef","onChangeRef","datesRef","onPressDate","d","current","getEndOfDay","sd","ed","isStart","dateToUnix","exists","some","areDatesOnSameDay","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","getInitialIndex","index","roundness","onPrev","onNext","StyleSheet","create","flex","viewPager","memo"],"sources":["Calendar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport Swiper from './Swiper'\nimport Month from './Month'\nimport {\n areDatesOnSameDay,\n dateToUnix,\n DisableWeekDaysType,\n getEndOfDay,\n getInitialIndex,\n} from './dateUtils'\n\nimport CalendarHeader from './CalendarHeader'\nimport { useCallback, useMemo } from 'react'\nimport YearPicker from './YearPicker'\nimport Color from 'color'\nimport { useTheme } from 'react-native-paper'\nimport { useLatest, lightenBy, darkenBy } from '../utils'\n\nexport type ModeType = 'single' | 'range' | 'multiple'\n\nexport type ScrollModeType = 'horizontal' | 'vertical'\n\nexport type ValidRangeType = {\n startDate?: Date\n endDate?: Date\n disabledDates?: Date[]\n}\n\nexport type BaseCalendarProps = {\n locale: string\n disableWeekDays?: DisableWeekDaysType\n validRange?: ValidRangeType\n startYear?: number\n endYear?: number\n\n // here they are optional but in final implementation they are required\n date?: CalendarDate\n dates?: CalendarDates\n startDate?: CalendarDate\n endDate?: CalendarDate\n dateMode?: 'start' | 'end'\n}\n\nexport type CalendarDate = Date | undefined\nexport type CalendarDates = Date[] | undefined | null\n\nexport type RangeChange = (params: {\n startDate: CalendarDate\n endDate: CalendarDate\n}) => any\n\nexport type SingleChange = (params: { date: CalendarDate }) => void\n\nexport type MultiChange = (params: {\n dates: CalendarDates\n datePressed: Date\n change: 'added' | 'removed'\n}) => any\n\nexport type MultiConfirm = (params: { dates: Date[] }) => void\n\nexport interface CalendarSingleProps extends BaseCalendarProps {\n mode: 'single'\n date: CalendarDate\n onChange: SingleChange\n}\n\nexport interface CalendarRangeProps extends BaseCalendarProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange: RangeChange\n}\n\nexport interface CalendarMultiProps extends BaseCalendarProps {\n mode: 'multiple'\n dates: CalendarDates\n onChange: MultiChange\n}\n\nfunction Calendar(\n props: CalendarSingleProps | CalendarRangeProps | CalendarMultiProps\n) {\n const {\n locale,\n mode,\n onChange,\n startDate,\n endDate,\n date,\n disableWeekDays,\n startYear,\n endYear,\n dates,\n validRange,\n dateMode,\n } = props\n\n const theme = useTheme()\n\n const selectColor = useMemo<string>(() => {\n if (theme.dark) {\n return darkenBy(Color(theme.colors.primary), 0.1).hex()\n }\n return lightenBy(Color(theme.colors.primary), 0.9).hex()\n }, [theme])\n\n const scrollMode =\n mode === 'range' || mode === 'multiple' ? 'vertical' : 'horizontal'\n\n const [selectedYear, setSelectedYear] = React.useState<number | undefined>(\n undefined\n )\n const [selectingYear, setSelectingYear] = React.useState<boolean>(false)\n const onPressYear = useCallback(\n (year: number) => {\n setSelectedYear(year)\n setSelectingYear((prev) => !prev)\n },\n [setSelectingYear]\n )\n\n // prevent re-rendering all months when something changed we only need the\n // latest version of the props and we don't want the useCallback to change\n const startDateRef = useLatest<CalendarDate>(startDate)\n const endDateRef = useLatest<CalendarDate>(endDate)\n const onChangeRef = useLatest<RangeChange | SingleChange | MultiChange>(\n onChange\n )\n const datesRef = useLatest<CalendarDates>(dates)\n\n const onPressDate = useCallback(\n (d: Date) => {\n if (mode === 'single') {\n ;(onChangeRef.current as SingleChange)({\n date: dateMode === 'start' ? d : getEndOfDay(d),\n })\n } else if (mode === 'range') {\n const sd = startDateRef.current\n const ed = endDateRef.current\n let isStart: boolean = true\n if (sd && !ed && dateToUnix(d) >= dateToUnix(sd!)) {\n isStart = false\n }\n ;(onChangeRef.current as RangeChange)({\n startDate: isStart ? d : sd,\n endDate: !isStart ? getEndOfDay(d) : undefined,\n })\n } else if (mode === 'multiple') {\n datesRef.current = datesRef.current || []\n const exists = datesRef.current.some((ed) => areDatesOnSameDay(ed, d))\n\n const newDates = exists\n ? datesRef.current.filter((ed) => !areDatesOnSameDay(ed, d))\n : [...datesRef.current, d]\n\n newDates.sort((a, b) => a.getTime() - b.getTime())\n ;(onChangeRef.current as MultiChange)({\n dates: newDates,\n datePressed: d,\n change: exists ? 'removed' : 'added',\n })\n }\n },\n [mode, dateMode, onChangeRef, startDateRef, endDateRef, datesRef]\n )\n\n const firstDate = startDate || date || dates?.[0]\n\n return (\n <View style={styles.root}>\n <Swiper\n initialIndex={getInitialIndex(firstDate)}\n selectedYear={selectedYear}\n scrollMode={scrollMode}\n renderItem={({ index }) => (\n <Month\n locale={locale}\n mode={mode}\n key={index}\n validRange={validRange}\n index={index}\n startDate={startDate}\n endDate={endDate}\n date={date}\n dates={dates}\n onPressYear={onPressYear}\n selectingYear={selectingYear}\n onPressDate={onPressDate}\n scrollMode={scrollMode}\n primaryColor={theme.colors.primary}\n selectColor={selectColor}\n roundness={theme.roundness}\n disableWeekDays={disableWeekDays}\n />\n )}\n renderHeader={({ onPrev, onNext }) => (\n <CalendarHeader\n locale={locale}\n onPrev={onPrev}\n onNext={onNext}\n scrollMode={scrollMode}\n disableWeekDays={disableWeekDays}\n />\n )}\n />\n {scrollMode === 'horizontal' ? (\n <YearPicker\n selectedYear={selectedYear}\n selectingYear={selectingYear}\n onPressYear={onPressYear}\n startYear={startYear || 1800}\n endYear={endYear || 2200}\n />\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1 },\n viewPager: { flex: 1 },\n})\n\nexport default React.memo(Calendar)\n"],"mappings":"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"}
|
|
@@ -57,7 +57,8 @@ function DatePickerInput(_ref, ref) {
|
|
|
57
57
|
value,
|
|
58
58
|
locale,
|
|
59
59
|
inputMode,
|
|
60
|
-
validRange
|
|
60
|
+
validRange,
|
|
61
|
+
saveLabel
|
|
61
62
|
} = _ref3;
|
|
62
63
|
return withModal ? /*#__PURE__*/React.createElement(_DatePickerModal.default, {
|
|
63
64
|
date: value,
|
|
@@ -67,7 +68,8 @@ function DatePickerInput(_ref, ref) {
|
|
|
67
68
|
onConfirm: onInnerConfirm,
|
|
68
69
|
locale: locale,
|
|
69
70
|
dateMode: inputMode,
|
|
70
|
-
validRange: validRange
|
|
71
|
+
validRange: validRange,
|
|
72
|
+
saveLabel: saveLabel
|
|
71
73
|
}) : null;
|
|
72
74
|
}
|
|
73
75
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","React","useState","onDismiss","useCallback","onChangeRef","useLatest","onChange","onInnerConfirm","date","current","styles","calendarButton","value","locale","inputMode","validRange","StyleSheet","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n modal={({ value, locale, inputMode, validRange }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,SAASA,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGF,KAAK,CAACG,WAAN,CAAkB,MAAM;IACxCJ,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMK,WAAW,GAAG,IAAAC,gBAAA,EAAUR,IAAI,CAACS,QAAf,CAApB;EACA,MAAMC,cAAc,GAAGP,KAAK,CAACG,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEK;IAAF,CAAkB;IACjBT,UAAU,CAAC,KAAD,CAAV;IACAK,WAAW,CAACK,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACT,UAAD,EAAaK,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,oCAAD;IACE,GAAG,EAAEV;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,4BAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEe,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEf,YAHR;MAIE,OAAO,EAAE,MAAMG,UAAU,CAAC,IAAD;IAJ3B,EADO,GAOL,IAXR;IAaE,KAAK,EAAE;MAAA,IAAC;QAAEa,KAAF;QAASC,MAAT;QAAiBC,SAAjB;QAA4BC;
|
|
1
|
+
{"version":3,"names":["DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","React","useState","onDismiss","useCallback","onChangeRef","useLatest","onChange","onInnerConfirm","date","current","styles","calendarButton","value","locale","inputMode","validRange","saveLabel","StyleSheet","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n modal={({ value, locale, inputMode, validRange, saveLabel }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n saveLabel={saveLabel}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,SAASA,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGF,KAAK,CAACG,WAAN,CAAkB,MAAM;IACxCJ,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMK,WAAW,GAAG,IAAAC,gBAAA,EAAUR,IAAI,CAACS,QAAf,CAApB;EACA,MAAMC,cAAc,GAAGP,KAAK,CAACG,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEK;IAAF,CAAkB;IACjBT,UAAU,CAAC,KAAD,CAAV;IACAK,WAAW,CAACK,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACT,UAAD,EAAaK,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,oCAAD;IACE,GAAG,EAAEV;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,4BAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEe,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEf,YAHR;MAIE,OAAO,EAAE,MAAMG,UAAU,CAAC,IAAD;IAJ3B,EADO,GAOL,IAXR;IAaE,KAAK,EAAE;MAAA,IAAC;QAAEa,KAAF;QAASC,MAAT;QAAiBC,SAAjB;QAA4BC,UAA5B;QAAwCC;MAAxC,CAAD;MAAA,OACLrB,SAAS,gBACP,oBAAC,wBAAD;QACE,IAAI,EAAEiB,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEd,OAHX;QAIE,SAAS,EAAEI,SAJb;QAKE,SAAS,EAAEK,cALb;QAME,MAAM,EAAEM,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC,UARd;QASE,SAAS,EAAEC;MATb,EADO,GAYL,IAbC;IAAA;EAbT,GADF;AA+BD;;AAED,MAAMN,MAAM,GAAGO,uBAAA,CAAWC,MAAX,CAAkB;EAC/BP,cAAc,EAAE;IAAEQ,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;;4BAIerB,KAAK,CAACsB,UAAN,CAAiB7B,eAAjB,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n calendarIcon?: string\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n calendarIcon?: string\n saveLabel?: string\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n>\n"],"mappings":""}
|
|
@@ -35,6 +35,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
35
35
|
withDateFormatInLabel = true,
|
|
36
36
|
modal,
|
|
37
37
|
inputButtons,
|
|
38
|
+
saveLabel,
|
|
38
39
|
...rest
|
|
39
40
|
} = _ref;
|
|
40
41
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
@@ -52,6 +53,8 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
52
53
|
});
|
|
53
54
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
54
55
|
style: styles.root
|
|
56
|
+
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
57
|
+
style: styles.inputContainer
|
|
55
58
|
}, /*#__PURE__*/React.createElement(_TextInputMask.default, _extends({}, rest, {
|
|
56
59
|
ref: ref,
|
|
57
60
|
label: getLabel({
|
|
@@ -68,17 +71,16 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
68
71
|
keyboardAppearance: theme.dark ? 'dark' : 'default',
|
|
69
72
|
error: !!error,
|
|
70
73
|
style: [styles.input, style]
|
|
71
|
-
})), inputButtons,
|
|
72
|
-
style: styles.helperText
|
|
73
|
-
}, /*#__PURE__*/React.createElement(_reactNativePaper.HelperText, {
|
|
74
|
+
})), inputButtons), error ? /*#__PURE__*/React.createElement(_reactNativePaper.HelperText, {
|
|
74
75
|
style: styles.helperText,
|
|
75
76
|
type: "error",
|
|
76
77
|
visible: !!error
|
|
77
|
-
}, error)
|
|
78
|
+
}, error) : null), modal === null || modal === void 0 ? void 0 : modal({
|
|
78
79
|
value,
|
|
79
80
|
locale,
|
|
80
81
|
inputMode,
|
|
81
|
-
validRange
|
|
82
|
+
validRange,
|
|
83
|
+
saveLabel
|
|
82
84
|
}));
|
|
83
85
|
}
|
|
84
86
|
|
|
@@ -98,17 +100,20 @@ function getLabel(_ref2) {
|
|
|
98
100
|
|
|
99
101
|
const styles = _reactNative.StyleSheet.create({
|
|
100
102
|
root: {
|
|
101
|
-
minWidth: 150,
|
|
102
103
|
flexGrow: 1,
|
|
103
|
-
|
|
104
|
+
backgroundColor: 'pink'
|
|
104
105
|
},
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
inputContainer: {
|
|
107
|
+
flexGrow: 1,
|
|
108
|
+
flexDirection: 'row',
|
|
109
|
+
alignItems: 'center',
|
|
110
|
+
justifyContent: 'flex-start'
|
|
107
111
|
},
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
input: {
|
|
113
|
+
flexGrow: 1
|
|
110
114
|
},
|
|
111
|
-
|
|
115
|
+
helperText: {// flex: 1,
|
|
116
|
+
}
|
|
112
117
|
});
|
|
113
118
|
|
|
114
119
|
var _default = /*#__PURE__*/React.forwardRef(DatePickerInputWithoutModal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","modal","inputButtons","rest","theme","useTheme","formattedValue","inputFormat","onChangeText","error","useDateInput","styles","root","getLabel","dark","input","helperText","StyleSheet","create","
|
|
1
|
+
{"version":3,"names":["DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","modal","inputButtons","saveLabel","rest","theme","useTheme","formattedValue","inputFormat","onChangeText","error","useDateInput","styles","root","inputContainer","getLabel","dark","input","helperText","StyleSheet","create","flexGrow","backgroundColor","flexDirection","alignItems","justifyContent","React","forwardRef"],"sources":["DatePickerInputWithoutModal.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport useDateInput from './inputUtils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\n\nfunction DatePickerInputWithoutModal(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withDateFormatInLabel = true,\n modal,\n inputButtons,\n saveLabel,\n ...rest\n }: DatePickerInputProps & {\n modal?: (params: {\n value: DatePickerInputProps['value']\n locale: DatePickerInputProps['locale']\n inputMode: DatePickerInputProps['inputMode']\n validRange: DatePickerInputProps['validRange']\n saveLabel: DatePickerInputProps['saveLabel']\n }) => any\n inputButtons?: any\n },\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n return (\n <>\n <View style={styles.root}>\n <View style={styles.inputContainer}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({\n // TODO: support label components?\n label: label as any,\n inputFormat,\n withDateFormatInLabel,\n })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {inputButtons}\n </View>\n {error ? (\n <HelperText style={styles.helperText} type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({ value, locale, inputMode, validRange, saveLabel })}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n flexGrow: 1,\n backgroundColor: 'pink',\n },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n helperText: {\n // flex: 1,\n },\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,SAASA,2BAAT,OAwBEC,GAxBF,EAyBE;EAAA,IAxBA;IACEC,KADF;IAEEC,KAFF;IAGEC,QAHF;IAIEC,KAJF;IAKEC,MALF;IAMEC,UANF;IAOEC,SAPF;IAQEC,qBAAqB,GAAG,IAR1B;IASEC,KATF;IAUEC,YAVF;IAWEC,SAXF;IAYE,GAAGC;EAZL,CAwBA;EACA,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAM;IAAEC,cAAF;IAAkBC,WAAlB;IAA+BC,YAA/B;IAA6CC;EAA7C,IAAuD,IAAAC,mBAAA,EAAa;IACxEd,MADwE;IAExEH,KAFwE;IAGxEI,UAHwE;IAIxEC,SAJwE;IAKxEJ;EALwE,CAAb,CAA7D;EAQA,oBACE,uDACE,oBAAC,iBAAD;IAAM,KAAK,EAAEiB,MAAM,CAACC;EAApB,gBACE,oBAAC,iBAAD;IAAM,KAAK,EAAED,MAAM,CAACE;EAApB,gBACE,oBAAC,sBAAD,eACMV,IADN;IAEE,GAAG,EAAEZ,GAFP;IAGE,KAAK,EAAEuB,QAAQ,CAAC;MACd;MACAtB,KAAK,EAAEA,KAFO;MAGde,WAHc;MAIdR;IAJc,CAAD,CAHjB;IASE,KAAK,EAAEO,cATT;IAUE,YAAY,EAAE,YAVhB;IAWE,WAAW,EAAEC,WAXf;IAYE,IAAI,EAAEA,WAZR;IAaE,YAAY,EAAEC,YAbhB;IAcE,kBAAkB,EAAEJ,KAAK,CAACW,IAAN,GAAa,MAAb,GAAsB,SAd5C;IAeE,KAAK,EAAE,CAAC,CAACN,KAfX;IAgBE,KAAK,EAAE,CAACE,MAAM,CAACK,KAAR,EAAerB,KAAf;EAhBT,GADF,EAmBGM,YAnBH,CADF,EAsBGQ,KAAK,gBACJ,oBAAC,4BAAD;IAAY,KAAK,EAAEE,MAAM,CAACM,UAA1B;IAAsC,IAAI,EAAC,OAA3C;IAAmD,OAAO,EAAE,CAAC,CAACR;EAA9D,GACGA,KADH,CADI,GAIF,IA1BN,CADF,EA6BGT,KA7BH,aA6BGA,KA7BH,uBA6BGA,KAAK,CAAG;IAAEP,KAAF;IAASG,MAAT;IAAiBE,SAAjB;IAA4BD,UAA5B;IAAwCK;EAAxC,CAAH,CA7BR,CADF;AAiCD;;AAED,SAASY,QAAT,QAQG;EAAA,IARe;IAChBf,qBADgB;IAEhBQ,WAFgB;IAGhBf;EAHgB,CAQf;;EACD,IAAIO,qBAAJ,EAA2B;IACzB,OAAOP,KAAK,GAAI,GAAEA,KAAM,KAAIe,WAAY,GAA5B,GAAiCA,WAA7C;EACD;;EACD,OAAOf,KAAK,IAAI,EAAhB;AACD;;AAED,MAAMmB,MAAM,GAAGO,uBAAA,CAAWC,MAAX,CAAkB;EAC/BP,IAAI,EAAE;IACJQ,QAAQ,EAAE,CADN;IAEJC,eAAe,EAAE;EAFb,CADyB;EAK/BR,cAAc,EAAE;IACdO,QAAQ,EAAE,CADI;IAEdE,aAAa,EAAE,KAFD;IAGdC,UAAU,EAAE,QAHE;IAIdC,cAAc,EAAE;EAJF,CALe;EAW/BR,KAAK,EAAE;IACLI,QAAQ,EAAE;EADL,CAXwB;EAc/BH,UAAU,EAAE,CACV;EADU;AAdmB,CAAlB,CAAf;;4BAkBeQ,KAAK,CAACC,UAAN,CAAiBpC,2BAAjB,C"}
|
|
@@ -91,8 +91,8 @@ function DatePickerModalContent(props) {
|
|
|
91
91
|
onSave: onInnerConfirm,
|
|
92
92
|
onDismiss: onDismiss,
|
|
93
93
|
saveLabel: props.saveLabel,
|
|
94
|
-
saveLabelDisabled: props.saveLabelDisabled
|
|
95
|
-
uppercase: props.uppercase
|
|
94
|
+
saveLabelDisabled: props.saveLabelDisabled || false,
|
|
95
|
+
uppercase: props.uppercase || true,
|
|
96
96
|
disableSafeTop: disableSafeTop,
|
|
97
97
|
closeIcon: props.closeIcon
|
|
98
98
|
}), /*#__PURE__*/React.createElement(_DatePickerModalContentHeader.default, {
|
|
@@ -106,7 +106,7 @@ function DatePickerModalContent(props) {
|
|
|
106
106
|
moreLabel: props.moreLabel,
|
|
107
107
|
startLabel: props.startLabel,
|
|
108
108
|
endLabel: props.endLabel,
|
|
109
|
-
uppercase: props.uppercase
|
|
109
|
+
uppercase: props.uppercase || true,
|
|
110
110
|
locale: locale,
|
|
111
111
|
editIcon: props.editIcon,
|
|
112
112
|
calendarIcon: props.calendarIcon
|
|
@@ -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","memo"],"sources":["DatePickerModalContent.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n saveLabelDisabled?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n startYear,\n endYear,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params: any) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n saveLabelDisabled={props.saveLabelDisabled
|
|
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","memo"],"sources":["DatePickerModalContent.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n saveLabelDisabled?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n startYear,\n endYear,\n } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params: any) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n saveLabelDisabled={props.saveLabelDisabled || false}\n uppercase={props.uppercase || true}\n disableSafeTop={disableSafeTop}\n closeIcon={props.closeIcon}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase || true}\n locale={locale}\n editIcon={props.editIcon}\n calendarIcon={props.calendarIcon}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n startYear={startYear}\n endYear={endYear}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}
|
|
@@ -58,14 +58,17 @@ function DatePickerModalContentHeader(props) {
|
|
|
58
58
|
editIcon = 'pencil',
|
|
59
59
|
calendarIcon = 'calendar'
|
|
60
60
|
} = props;
|
|
61
|
+
const theme = (0, _reactNativePaper.useTheme)();
|
|
61
62
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
62
63
|
const color = (0, _utils.useHeaderTextColor)();
|
|
63
64
|
const allowEditing = mode !== 'multiple';
|
|
65
|
+
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.bodyLarge : theme.fonts.medium;
|
|
64
66
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
65
67
|
style: [styles.header]
|
|
66
68
|
}, /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_reactNativePaper.Text, {
|
|
67
69
|
style: [styles.label, {
|
|
68
|
-
color
|
|
70
|
+
color,
|
|
71
|
+
...textFont
|
|
69
72
|
}]
|
|
70
73
|
}, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
71
74
|
style: styles.headerContentContainer
|
|
@@ -81,7 +84,7 @@ function DatePickerModalContentHeader(props) {
|
|
|
81
84
|
}), allowEditing ? /*#__PURE__*/React.createElement(_reactNativePaper.IconButton, {
|
|
82
85
|
icon: collapsed ? editIcon : calendarIcon,
|
|
83
86
|
accessibilityLabel: collapsed ? (0, _utils2.getTranslation)(props.locale, 'typeInDate') : (0, _utils2.getTranslation)(props.locale, 'pickDateFromCalendar'),
|
|
84
|
-
|
|
87
|
+
iconColor: color,
|
|
85
88
|
onPress: onToggle
|
|
86
89
|
}) : null);
|
|
87
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getLabel","locale","mode","configuredLabel","getTranslation","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","label","color","useHeaderTextColor","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","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, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n uppercase?: boolean\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n editIcon?: string\n calendarIcon?: string\n closeIcon?: string\n}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const {\n onToggle,\n collapsed,\n mode,\n moreLabel,\n uppercase,\n editIcon = 'pencil',\n calendarIcon = 'calendar',\n } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? editIcon : calendarIcon}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getLabel","locale","mode","configuredLabel","getTranslation","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","editIcon","calendarIcon","theme","useTheme","label","color","useHeaderTextColor","allowEditing","textFont","isV3","fonts","bodyLarge","medium","styles","header","toUpperCase","headerContentContainer","fill","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}\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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"}
|
|
@@ -15,6 +15,8 @@ var _utils = require("../utils");
|
|
|
15
15
|
|
|
16
16
|
var _utils2 = require("../translations/utils");
|
|
17
17
|
|
|
18
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
19
|
+
|
|
18
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
21
|
|
|
20
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -27,10 +29,13 @@ function DatePickerModalHeader(props) {
|
|
|
27
29
|
} = props;
|
|
28
30
|
const saveLabel = props.saveLabel || (0, _utils2.getTranslation)(locale, 'save');
|
|
29
31
|
const color = (0, _utils.useHeaderTextColor)();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
33
|
+
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
34
|
+
style: [styles.animated, {
|
|
35
|
+
paddingTop: disableSafeTop ? 0 : insets.top,
|
|
36
|
+
paddingLeft: insets.left,
|
|
37
|
+
paddingRight: insets.right
|
|
38
|
+
}]
|
|
34
39
|
}, /*#__PURE__*/React.createElement(_reactNativePaper.Appbar, {
|
|
35
40
|
style: styles.appbarHeader
|
|
36
41
|
}, /*#__PURE__*/React.createElement(_reactNativePaper.Appbar.Action, {
|
|
@@ -43,11 +48,12 @@ function DatePickerModalHeader(props) {
|
|
|
43
48
|
title: ''
|
|
44
49
|
}), /*#__PURE__*/React.createElement(_reactNativePaper.Button, {
|
|
45
50
|
color: color,
|
|
51
|
+
textColor: color,
|
|
46
52
|
onPress: props.onSave,
|
|
47
|
-
disabled: props.saveLabelDisabled
|
|
48
|
-
uppercase: props.uppercase
|
|
53
|
+
disabled: props.saveLabelDisabled || false,
|
|
54
|
+
uppercase: props.uppercase || true,
|
|
49
55
|
testID: "react-native-paper-dates-save"
|
|
50
|
-
}, saveLabel)))
|
|
56
|
+
}, saveLabel)));
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -55,15 +61,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
55
61
|
flex: 1
|
|
56
62
|
},
|
|
57
63
|
animated: {
|
|
58
|
-
paddingBottom: 0,
|
|
59
64
|
elevation: 4
|
|
60
65
|
},
|
|
61
|
-
safeContent: {
|
|
62
|
-
paddingBottom: 0
|
|
63
|
-
},
|
|
64
|
-
safeContentNoTop: {
|
|
65
|
-
paddingTop: 0
|
|
66
|
-
},
|
|
67
66
|
header: {
|
|
68
67
|
height: 75,
|
|
69
68
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerModalHeader","props","disableSafeTop","locale","closeIcon","saveLabel","getTranslation","color","useHeaderTextColor","styles","animated","
|
|
1
|
+
{"version":3,"names":["DatePickerModalHeader","props","disableSafeTop","locale","closeIcon","saveLabel","getTranslation","color","useHeaderTextColor","insets","useSafeAreaInsets","styles","animated","paddingTop","top","paddingLeft","left","paddingRight","right","appbarHeader","onDismiss","onSave","saveLabelDisabled","uppercase","StyleSheet","create","fill","flex","elevation","header","height","alignItems","flexDirection","headerContentContainer","marginTop","label","letterSpacing","fontSize","singleHeaderText","rangeHeaderText","headerTextFilled","headerTextEmpty","headerSeparator","backgroundColor"],"sources":["DatePickerModalHeader.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Animated, StyleSheet } from 'react-native'\nimport { Appbar, Button } from 'react-native-paper'\n\nimport { useHeaderTextColor } from '../utils'\nimport { getTranslation } from '../translations/utils'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport interface DatePickerModalHeaderProps {\n disableSafeTop?: boolean\n saveLabel?: string\n saveLabelDisabled?: boolean\n uppercase?: boolean\n onDismiss: () => void\n onSave: () => void\n locale: string | undefined\n closeIcon?: string\n}\n\nexport default function DatePickerModalHeader(\n props: DatePickerModalHeaderProps\n) {\n const { disableSafeTop, locale, closeIcon = 'close' } = props\n const saveLabel = props.saveLabel || getTranslation(locale, 'save')\n const color = useHeaderTextColor()\n const insets = useSafeAreaInsets()\n\n return (\n <Animated.View\n style={[\n styles.animated,\n {\n paddingTop: disableSafeTop ? 0 : insets.top,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n <Appbar style={styles.appbarHeader}>\n <Appbar.Action\n icon={closeIcon}\n accessibilityLabel={getTranslation(locale, 'close')}\n onPress={props.onDismiss}\n color={color}\n testID=\"react-native-paper-dates-close\"\n />\n <Appbar.Content title={''} />\n <Button\n color={color}\n textColor={color}\n onPress={props.onSave}\n disabled={props.saveLabelDisabled || false}\n uppercase={props.uppercase || true}\n testID=\"react-native-paper-dates-save\"\n >\n {saveLabel}\n </Button>\n </Appbar>\n </Animated.View>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n elevation: 4,\n },\n\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n headerTextFilled: { color: 'rgba(255,255,255,1)' },\n headerTextEmpty: { color: 'rgba(255,255,255,0.5)' },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n backgroundColor: 'transparent',\n // alignItems:'center'\n },\n})\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAae,SAASA,qBAAT,CACbC,KADa,EAEb;EACA,MAAM;IAAEC,cAAF;IAAkBC,MAAlB;IAA0BC,SAAS,GAAG;EAAtC,IAAkDH,KAAxD;EACA,MAAMI,SAAS,GAAGJ,KAAK,CAACI,SAAN,IAAmB,IAAAC,sBAAA,EAAeH,MAAf,EAAuB,MAAvB,CAArC;EACA,MAAMI,KAAK,GAAG,IAAAC,yBAAA,GAAd;EACA,MAAMC,MAAM,GAAG,IAAAC,6CAAA,GAAf;EAEA,oBACE,oBAAC,qBAAD,CAAU,IAAV;IACE,KAAK,EAAE,CACLC,MAAM,CAACC,QADF,EAEL;MACEC,UAAU,EAAEX,cAAc,GAAG,CAAH,GAAOO,MAAM,CAACK,GAD1C;MAEEC,WAAW,EAAEN,MAAM,CAACO,IAFtB;MAGEC,YAAY,EAAER,MAAM,CAACS;IAHvB,CAFK;EADT,gBAUE,oBAAC,wBAAD;IAAQ,KAAK,EAAEP,MAAM,CAACQ;EAAtB,gBACE,oBAAC,wBAAD,CAAQ,MAAR;IACE,IAAI,EAAEf,SADR;IAEE,kBAAkB,EAAE,IAAAE,sBAAA,EAAeH,MAAf,EAAuB,OAAvB,CAFtB;IAGE,OAAO,EAAEF,KAAK,CAACmB,SAHjB;IAIE,KAAK,EAAEb,KAJT;IAKE,MAAM,EAAC;EALT,EADF,eAQE,oBAAC,wBAAD,CAAQ,OAAR;IAAgB,KAAK,EAAE;EAAvB,EARF,eASE,oBAAC,wBAAD;IACE,KAAK,EAAEA,KADT;IAEE,SAAS,EAAEA,KAFb;IAGE,OAAO,EAAEN,KAAK,CAACoB,MAHjB;IAIE,QAAQ,EAAEpB,KAAK,CAACqB,iBAAN,IAA2B,KAJvC;IAKE,SAAS,EAAErB,KAAK,CAACsB,SAAN,IAAmB,IALhC;IAME,MAAM,EAAC;EANT,GAQGlB,SARH,CATF,CAVF,CADF;AAiCD;;AAED,MAAMM,MAAM,GAAGa,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,IAAI,EAAE;IACJC,IAAI,EAAE;EADF,CADyB;EAI/Bf,QAAQ,EAAE;IACRgB,SAAS,EAAE;EADH,CAJqB;EAQ/BC,MAAM,EAAE;IACNC,MAAM,EAAE,EADF;IAENC,UAAU,EAAE,QAFN;IAGNC,aAAa,EAAE,KAHT;IAINjB,WAAW,EAAE,EAJP;IAKNE,YAAY,EAAE;EALR,CARuB;EAe/BgB,sBAAsB,EAAE;IAAEC,SAAS,EAAE,CAAb;IAAgBF,aAAa,EAAE;EAA/B,CAfO;EAgB/BG,KAAK,EAAE;IAAE5B,KAAK,EAAE,MAAT;IAAiB6B,aAAa,EAAE,CAAhC;IAAmCC,QAAQ,EAAE;EAA7C,CAhBwB;EAiB/BC,gBAAgB,EAAE;IAAE/B,KAAK,EAAE,MAAT;IAAiB8B,QAAQ,EAAE;EAA3B,CAjBa;EAkB/BE,eAAe,EAAE;IAAEhC,KAAK,EAAE,MAAT;IAAiB8B,QAAQ,EAAE;EAA3B,CAlBc;EAmB/BG,gBAAgB,EAAE;IAAEjC,KAAK,EAAE;EAAT,CAnBa;EAoB/BkC,eAAe,EAAE;IAAElC,KAAK,EAAE;EAAT,CApBc;EAqB/BmC,eAAe,EAAE;IACfnC,KAAK,EAAE,qBADQ;IAEf8B,QAAQ,EAAE,EAFK;IAGftB,WAAW,EAAE,CAHE;IAIfE,YAAY,EAAE;EAJC,CArBc;EA2B/BE,YAAY,EAAE;IACZS,SAAS,EAAE,CADC;IAEZe,eAAe,EAAE,aAFL,CAGZ;;EAHY;AA3BiB,CAAlB,CAAf"}
|
|
@@ -11,6 +11,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _utils = require("../utils");
|
|
13
13
|
|
|
14
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
15
|
+
|
|
14
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
17
|
|
|
16
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -20,22 +22,19 @@ function DatePickerModalHeaderBackground(_ref) {
|
|
|
20
22
|
children
|
|
21
23
|
} = _ref;
|
|
22
24
|
const backgroundColor = (0, _utils.useHeaderBackgroundColor)();
|
|
25
|
+
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
23
26
|
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
24
27
|
style: [styles.animated, {
|
|
25
|
-
backgroundColor
|
|
28
|
+
backgroundColor,
|
|
29
|
+
paddingLeft: insets.left,
|
|
30
|
+
paddingRight: insets.right
|
|
26
31
|
}]
|
|
27
|
-
},
|
|
28
|
-
style: styles.safeContent
|
|
29
|
-
}, children));
|
|
32
|
+
}, children);
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
const styles = _reactNative.StyleSheet.create({
|
|
33
36
|
animated: {
|
|
34
|
-
paddingBottom: 0,
|
|
35
37
|
elevation: 4
|
|
36
|
-
},
|
|
37
|
-
safeContent: {
|
|
38
|
-
paddingBottom: 0
|
|
39
38
|
}
|
|
40
39
|
});
|
|
41
40
|
//# sourceMappingURL=DatePickerModalHeaderBackground.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerModalHeaderBackground","children","backgroundColor","useHeaderBackgroundColor","styles","animated","
|
|
1
|
+
{"version":3,"names":["DatePickerModalHeaderBackground","children","backgroundColor","useHeaderBackgroundColor","insets","useSafeAreaInsets","styles","animated","paddingLeft","left","paddingRight","right","StyleSheet","create","elevation"],"sources":["DatePickerModalHeaderBackground.tsx"],"sourcesContent":["import { Animated, StyleSheet } from 'react-native'\nimport * as React from 'react'\nimport { useHeaderBackgroundColor } from '../utils'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport default function DatePickerModalHeaderBackground({\n children,\n}: {\n children: any\n}) {\n const backgroundColor = useHeaderBackgroundColor()\n const insets = useSafeAreaInsets()\n return (\n <Animated.View\n style={[\n styles.animated,\n {\n backgroundColor,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {children}\n </Animated.View>\n )\n}\n\nconst styles = StyleSheet.create({\n animated: {\n elevation: 4,\n },\n})\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEe,SAASA,+BAAT,OAIZ;EAAA,IAJqD;IACtDC;EADsD,CAIrD;EACD,MAAMC,eAAe,GAAG,IAAAC,+BAAA,GAAxB;EACA,MAAMC,MAAM,GAAG,IAAAC,6CAAA,GAAf;EACA,oBACE,oBAAC,qBAAD,CAAU,IAAV;IACE,KAAK,EAAE,CACLC,MAAM,CAACC,QADF,EAEL;MACEL,eADF;MAEEM,WAAW,EAAEJ,MAAM,CAACK,IAFtB;MAGEC,YAAY,EAAEN,MAAM,CAACO;IAHvB,CAFK;EADT,GAUGV,QAVH,CADF;AAcD;;AAED,MAAMK,MAAM,GAAGM,uBAAA,CAAWC,MAAX,CAAkB;EAC/BN,QAAQ,EAAE;IACRO,SAAS,EAAE;EADH;AADqB,CAAlB,CAAf"}
|