react-native-paper-dates 0.11.15 → 0.14.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/CalendarEdit.js +8 -4
- package/lib/commonjs/Date/CalendarEdit.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 +14 -1
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModal.js +2 -0
- package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +4 -2
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +6 -4
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/Swiper.js +6 -4
- package/lib/commonjs/Date/Swiper.js.map +1 -1
- package/lib/commonjs/Date/Swiper.native.js +2 -1
- package/lib/commonjs/Date/Swiper.native.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +3 -0
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +2 -0
- package/lib/commonjs/TextInputMask.js.map +1 -1
- package/lib/commonjs/Time/AnalogClock.js +7 -3
- package/lib/commonjs/Time/AnalogClock.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockHours.js +4 -9
- package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
- package/lib/commonjs/Time/TimeInput.js +2 -1
- package/lib/commonjs/Time/TimeInput.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +4 -1
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js +9 -2
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +5 -1
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/index.js +9 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/translations/he.js +25 -0
- package/lib/commonjs/translations/he.js.map +1 -0
- package/lib/module/Date/CalendarEdit.js +8 -4
- package/lib/module/Date/CalendarEdit.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 +14 -1
- package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
- package/lib/module/Date/DatePickerModal.js +2 -0
- package/lib/module/Date/DatePickerModal.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +4 -2
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +6 -4
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/Swiper.js +6 -4
- package/lib/module/Date/Swiper.js.map +1 -1
- package/lib/module/Date/Swiper.native.js +2 -1
- package/lib/module/Date/Swiper.native.js.map +1 -1
- package/lib/module/Date/YearPicker.js +4 -1
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/TextInputMask.js +2 -0
- package/lib/module/TextInputMask.js.map +1 -1
- package/lib/module/Time/AnalogClock.js +7 -3
- package/lib/module/Time/AnalogClock.js.map +1 -1
- package/lib/module/Time/AnalogClockHours.js +4 -8
- package/lib/module/Time/AnalogClockHours.js.map +1 -1
- package/lib/module/Time/TimeInput.js +2 -1
- package/lib/module/Time/TimeInput.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +4 -1
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js +9 -2
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +5 -1
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/translations/he.js +18 -0
- package/lib/module/translations/he.js.map +1 -0
- package/lib/typescript/Date/CalendarEdit.d.ts +2 -1
- 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 +8 -7
- package/lib/typescript/Date/DatePickerModal.d.ts +1 -0
- package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
- package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +2 -0
- package/lib/typescript/TextInputMask.d.ts +5 -6
- package/lib/typescript/Time/TimeInput.d.ts +1 -0
- package/lib/typescript/Time/TimeInputs.d.ts +2 -1
- package/lib/typescript/Time/TimePicker.d.ts +3 -1
- package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/translations/he.d.ts +3 -0
- package/package.json +26 -25
- package/src/Date/CalendarEdit.tsx +5 -0
- package/src/Date/DatePickerInput.shared.tsx +2 -1
- package/src/Date/DatePickerInput.tsx +2 -0
- package/src/Date/DatePickerInputWithoutModal.tsx +14 -0
- package/src/Date/DatePickerModal.tsx +3 -0
- package/src/Date/DatePickerModalContent.tsx +3 -0
- package/src/Date/DatePickerModalContentHeader.tsx +9 -3
- package/src/Date/Swiper.native.tsx +1 -0
- package/src/Date/Swiper.tsx +3 -1
- package/src/Date/YearPicker.tsx +4 -1
- package/src/TextInputMask.tsx +2 -0
- package/src/Time/AnalogClock.tsx +7 -6
- package/src/Time/AnalogClockHours.tsx +10 -6
- package/src/Time/TimeInput.tsx +3 -1
- package/src/Time/TimeInputs.tsx +4 -0
- package/src/Time/TimePicker.tsx +9 -1
- package/src/Time/TimePickerModal.tsx +6 -0
- package/src/index.tsx +1 -0
- package/src/translations/he.ts +21 -0
|
@@ -27,7 +27,8 @@ function CalendarEdit(_ref) {
|
|
|
27
27
|
collapsed,
|
|
28
28
|
onChange,
|
|
29
29
|
validRange,
|
|
30
|
-
locale
|
|
30
|
+
locale,
|
|
31
|
+
inputEnabled
|
|
31
32
|
} = _ref;
|
|
32
33
|
const dateInput = React.useRef(null);
|
|
33
34
|
const startInput = React.useRef(null);
|
|
@@ -71,7 +72,8 @@ function CalendarEdit(_ref) {
|
|
|
71
72
|
validRange: validRange,
|
|
72
73
|
locale: locale,
|
|
73
74
|
withModal: false,
|
|
74
|
-
autoComplete: 'off'
|
|
75
|
+
autoComplete: 'off',
|
|
76
|
+
inputEnabled: inputEnabled
|
|
75
77
|
}) : null, mode === 'range' ? /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
76
78
|
style: styles.inner
|
|
77
79
|
}, /*#__PURE__*/React.createElement(_DatePickerInputWithoutModal.default, {
|
|
@@ -87,7 +89,8 @@ function CalendarEdit(_ref) {
|
|
|
87
89
|
validRange: validRange,
|
|
88
90
|
locale: locale,
|
|
89
91
|
withModal: false,
|
|
90
|
-
autoComplete: 'off'
|
|
92
|
+
autoComplete: 'off',
|
|
93
|
+
inputEnabled: inputEnabled
|
|
91
94
|
}), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
92
95
|
style: styles.separator
|
|
93
96
|
}), /*#__PURE__*/React.createElement(_DatePickerInputWithoutModal.default, {
|
|
@@ -102,7 +105,8 @@ function CalendarEdit(_ref) {
|
|
|
102
105
|
validRange: validRange,
|
|
103
106
|
locale: locale,
|
|
104
107
|
withModal: false,
|
|
105
|
-
autoComplete: "off"
|
|
108
|
+
autoComplete: "off",
|
|
109
|
+
inputEnabled: inputEnabled
|
|
106
110
|
})) : null);
|
|
107
111
|
}
|
|
108
112
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","dateInput","React","useRef","startInput","endInput","useEffect","Keyboard","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","date","inner","startDate","separator","endDate","StyleSheet","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"sources":["CalendarEdit.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n TextInput as TextInputNative,\n Keyboard,\n} from 'react-native'\n\nimport type { ModeType, ValidRangeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\n\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction CalendarEdit({\n mode,\n state,\n label = '',\n startLabel = 'Start',\n endLabel = 'End',\n collapsed,\n onChange,\n validRange,\n locale,\n}: {\n mode: ModeType\n label?: string\n startLabel?: string\n endLabel?: string\n state: LocalState\n collapsed: boolean\n onChange: (s: LocalState) => any\n validRange: ValidRangeType | undefined\n locale: string\n}) {\n const dateInput = React.useRef<TextInputNative | null>(null)\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n\n // when switching views focus, or un-focus text input\n React.useEffect(() => {\n // hide open keyboard\n if (collapsed) {\n Keyboard.dismiss()\n }\n\n const inputsToFocus = [dateInput.current, startInput.current].filter(\n (n) => n\n ) as TextInputNative[]\n\n const inputsToBlur = [\n dateInput.current,\n startInput.current,\n endInput.current,\n ].filter((n) => n) as TextInputNative[]\n\n if (collapsed) {\n inputsToBlur.forEach((ip) => ip.blur())\n } else {\n inputsToFocus.forEach((ip) => ip.focus())\n }\n }, [mode, startInput, endInput, dateInput, collapsed])\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n const onSubmitInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n return (\n <View style={styles.root}>\n {mode === 'single' ? (\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={dateInput}\n label={label}\n value={state.date}\n onChange={(date) => onChange({ ...state, date })}\n onSubmitEditing={onSubmitInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n />\n ) : null}\n {mode === 'range' ? (\n <View style={styles.inner}>\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={startInput}\n label={startLabel}\n value={state.startDate}\n onChange={(startDate) => onChange({ ...state, startDate })}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n />\n <View style={styles.separator} />\n <DatePickerInputWithoutModal\n inputMode=\"end\"\n ref={endInput}\n label={endLabel}\n value={state.endDate}\n onChange={(endDate) => onChange({ ...state, endDate })}\n onSubmitEditing={onSubmitEndInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete=\"off\"\n />\n </View>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { padding: 12 },\n inner: { flexDirection: 'row' },\n inputContainer: { flex: 1 },\n input: { flex: 1 },\n separator: { width: 12 },\n})\n\nexport default React.memo(CalendarEdit)\n"],"mappings":";;;;;;;AAAA;;AACA;;AAUA;;;;;;;;AAEA,SAASA,YAAT,
|
|
1
|
+
{"version":3,"names":["CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","inputEnabled","dateInput","React","useRef","startInput","endInput","useEffect","Keyboard","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","date","inner","startDate","separator","endDate","StyleSheet","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"sources":["CalendarEdit.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n TextInput as TextInputNative,\n Keyboard,\n} from 'react-native'\n\nimport type { ModeType, ValidRangeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\n\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction CalendarEdit({\n mode,\n state,\n label = '',\n startLabel = 'Start',\n endLabel = 'End',\n collapsed,\n onChange,\n validRange,\n locale,\n inputEnabled,\n}: {\n mode: ModeType\n label?: string\n startLabel?: string\n endLabel?: string\n state: LocalState\n collapsed: boolean\n onChange: (s: LocalState) => any\n validRange: ValidRangeType | undefined\n locale: string\n inputEnabled?: boolean\n}) {\n const dateInput = React.useRef<TextInputNative | null>(null)\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n\n // when switching views focus, or un-focus text input\n React.useEffect(() => {\n // hide open keyboard\n if (collapsed) {\n Keyboard.dismiss()\n }\n\n const inputsToFocus = [dateInput.current, startInput.current].filter(\n (n) => n\n ) as TextInputNative[]\n\n const inputsToBlur = [\n dateInput.current,\n startInput.current,\n endInput.current,\n ].filter((n) => n) as TextInputNative[]\n\n if (collapsed) {\n inputsToBlur.forEach((ip) => ip.blur())\n } else {\n inputsToFocus.forEach((ip) => ip.focus())\n }\n }, [mode, startInput, endInput, dateInput, collapsed])\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n const onSubmitInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n return (\n <View style={styles.root}>\n {mode === 'single' ? (\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={dateInput}\n label={label}\n value={state.date}\n onChange={(date) => onChange({ ...state, date })}\n onSubmitEditing={onSubmitInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n inputEnabled={inputEnabled}\n />\n ) : null}\n {mode === 'range' ? (\n <View style={styles.inner}>\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={startInput}\n label={startLabel}\n value={state.startDate}\n onChange={(startDate) => onChange({ ...state, startDate })}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n inputEnabled={inputEnabled}\n />\n <View style={styles.separator} />\n <DatePickerInputWithoutModal\n inputMode=\"end\"\n ref={endInput}\n label={endLabel}\n value={state.endDate}\n onChange={(endDate) => onChange({ ...state, endDate })}\n onSubmitEditing={onSubmitEndInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete=\"off\"\n inputEnabled={inputEnabled}\n />\n </View>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { padding: 12 },\n inner: { flexDirection: 'row' },\n inputContainer: { flex: 1 },\n input: { flex: 1 },\n separator: { width: 12 },\n})\n\nexport default React.memo(CalendarEdit)\n"],"mappings":"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"}
|
|
@@ -64,7 +64,8 @@ function DatePickerInput(_ref, ref) {
|
|
|
64
64
|
saveLabelDisabled,
|
|
65
65
|
uppercase,
|
|
66
66
|
startYear,
|
|
67
|
-
endYear
|
|
67
|
+
endYear,
|
|
68
|
+
inputEnabled
|
|
68
69
|
} = _ref3;
|
|
69
70
|
return withModal ? /*#__PURE__*/React.createElement(_DatePickerModal.default, {
|
|
70
71
|
date: value,
|
|
@@ -79,7 +80,8 @@ function DatePickerInput(_ref, ref) {
|
|
|
79
80
|
saveLabelDisabled: saveLabelDisabled ?? false,
|
|
80
81
|
uppercase: uppercase ?? true,
|
|
81
82
|
startYear: startYear ?? 1800,
|
|
82
|
-
endYear: endYear ?? 2200
|
|
83
|
+
endYear: endYear ?? 2200,
|
|
84
|
+
inputEnabled: inputEnabled
|
|
83
85
|
}) : null;
|
|
84
86
|
}
|
|
85
87
|
}));
|
|
@@ -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","disabled","value","locale","inputMode","validRange","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","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 disabled={rest.disabled}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n modal={({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n }) =>\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 saveLabelDisabled={saveLabelDisabled ?? false}\n uppercase={uppercase ?? true}\n startYear={startYear ?? 1800}\n endYear={endYear ?? 2200}\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,QAAQ,EAAEC,IAAI,CAACe,QAJjB;MAKE,OAAO,EAAE,MAAMb,UAAU,CAAC,IAAD;IAL3B,EADO,GAQL,IAZR,CAcE;IAdF;IAeE,KAAK,EAAE;MAAA,IAAC;QACNc,KADM;QAENC,MAFM;QAGNC,SAHM;QAINC,UAJM;QAKNC,SALM;QAMNC,iBANM;QAONC,SAPM;QAQNC,SARM;QASNC;
|
|
1
|
+
{"version":3,"names":["DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","React","useState","onDismiss","useCallback","onChangeRef","useLatest","onChange","onInnerConfirm","date","current","styles","calendarButton","disabled","value","locale","inputMode","validRange","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","inputEnabled","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 disabled={rest.disabled}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n modal={({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n inputEnabled,\n }) =>\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 saveLabelDisabled={saveLabelDisabled ?? false}\n uppercase={uppercase ?? true}\n startYear={startYear ?? 1800}\n endYear={endYear ?? 2200}\n inputEnabled={inputEnabled}\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,QAAQ,EAAEC,IAAI,CAACe,QAJjB;MAKE,OAAO,EAAE,MAAMb,UAAU,CAAC,IAAD;IAL3B,EADO,GAQL,IAZR,CAcE;IAdF;IAeE,KAAK,EAAE;MAAA,IAAC;QACNc,KADM;QAENC,MAFM;QAGNC,SAHM;QAINC,UAJM;QAKNC,SALM;QAMNC,iBANM;QAONC,SAPM;QAQNC,SARM;QASNC,OATM;QAUNC;MAVM,CAAD;MAAA,OAYL3B,SAAS,gBACP,oBAAC,wBAAD;QACE,IAAI,EAAEkB,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEf,OAHX;QAIE,SAAS,EAAEI,SAJb;QAKE,SAAS,EAAEK,cALb;QAME,MAAM,EAAEO,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC,UARd;QASE,SAAS,EAAEC,SATb;QAUE,iBAAiB,EAAEC,iBAAiB,IAAI,KAV1C;QAWE,SAAS,EAAEC,SAAS,IAAI,IAX1B;QAYE,SAAS,EAAEC,SAAS,IAAI,IAZ1B;QAaE,OAAO,EAAEC,OAAO,IAAI,IAbtB;QAcE,YAAY,EAAEC;MAdhB,EADO,GAiBL,IA7BC;IAAA;EAfT,GADF;AAiDD;;AAED,MAAMZ,MAAM,GAAGa,uBAAA,CAAWC,MAAX,CAAkB;EAC/Bb,cAAc,EAAE;IAAEc,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;;4BAIe3B,KAAK,CAAC4B,UAAN,CAAiBnC,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 hideValidationErrors?: boolean\n hasError?: boolean\n onValidationError?: ((error: string | null) => void) | undefined\n calendarIcon?: string\n saveLabel?: string\n saveLabelDisabled?: boolean\n uppercase?: boolean\n startYear?: number\n endYear?: number\n onChangeText?: (text: string | undefined) => void\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 hideValidationErrors?: boolean\n hasError?: boolean\n onValidationError?: ((error: string | null) => void) | undefined\n calendarIcon?: string\n saveLabel?: string\n saveLabelDisabled?: boolean\n uppercase?: boolean\n startYear?: number\n endYear?: number\n onChangeText?: (text: string | undefined) => void\n inputEnabled?: boolean\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText' | 'inputMode'\n>\n"],"mappings":""}
|
|
@@ -44,6 +44,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
44
44
|
startYear,
|
|
45
45
|
endYear,
|
|
46
46
|
onChangeText,
|
|
47
|
+
inputEnabled,
|
|
47
48
|
...rest
|
|
48
49
|
} = _ref;
|
|
49
50
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
@@ -60,6 +61,16 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
60
61
|
onChange,
|
|
61
62
|
onValidationError
|
|
62
63
|
});
|
|
64
|
+
let disabled;
|
|
65
|
+
|
|
66
|
+
if (inputEnabled !== undefined) {
|
|
67
|
+
disabled = !inputEnabled;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (rest.disabled) {
|
|
71
|
+
disabled = rest.disabled;
|
|
72
|
+
}
|
|
73
|
+
|
|
63
74
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
64
75
|
style: styles.root
|
|
65
76
|
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
@@ -75,6 +86,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
75
86
|
value: formattedValue,
|
|
76
87
|
keyboardType: rest.keyboardType ?? 'number-pad',
|
|
77
88
|
mask: inputFormat,
|
|
89
|
+
disabled: disabled,
|
|
78
90
|
onChangeText: onDateInputChangeText,
|
|
79
91
|
onChange: e => onChangeText && onChangeText(e.nativeEvent.text),
|
|
80
92
|
keyboardAppearance: theme.dark ? 'dark' : 'default',
|
|
@@ -92,7 +104,8 @@ function DatePickerInputWithoutModal(_ref, ref) {
|
|
|
92
104
|
saveLabelDisabled,
|
|
93
105
|
uppercase,
|
|
94
106
|
startYear,
|
|
95
|
-
endYear
|
|
107
|
+
endYear,
|
|
108
|
+
inputEnabled
|
|
96
109
|
}));
|
|
97
110
|
}
|
|
98
111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","hasError","hideValidationErrors","onValidationError","modal","inputButtons","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","onChangeText","rest","theme","useTheme","formattedValue","inputFormat","onDateInputChangeText","error","useDateInput","styles","root","inputContainer","getLabel","keyboardType","e","nativeEvent","text","dark","input","StyleSheet","create","flexGrow","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 hasError,\n hideValidationErrors,\n onValidationError,\n modal,\n inputButtons,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n onChangeText,\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 saveLabelDisabled: DatePickerInputProps['saveLabelDisabled']\n uppercase: DatePickerInputProps['uppercase']\n startYear: DatePickerInputProps['startYear']\n endYear: DatePickerInputProps['endYear']\n }) => any\n inputButtons?: any\n },\n ref: any\n) {\n const theme = useTheme()\n const {\n formattedValue,\n inputFormat,\n onChangeText: onDateInputChangeText,\n error,\n } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n onValidationError,\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={rest.keyboardType ?? 'number-pad'}\n mask={inputFormat}\n onChangeText={onDateInputChangeText}\n onChange={(e) => onChangeText && onChangeText(e.nativeEvent.text)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={(!!error && !hideValidationErrors) || !!hasError}\n style={[styles.input, style]}\n />\n {inputButtons}\n </View>\n {error && !hideValidationErrors ? (\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n })}\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 },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,SAASA,2BAAT,
|
|
1
|
+
{"version":3,"names":["DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","hasError","hideValidationErrors","onValidationError","modal","inputButtons","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","onChangeText","inputEnabled","rest","theme","useTheme","formattedValue","inputFormat","onDateInputChangeText","error","useDateInput","disabled","undefined","styles","root","inputContainer","getLabel","keyboardType","e","nativeEvent","text","dark","input","StyleSheet","create","flexGrow","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 hasError,\n hideValidationErrors,\n onValidationError,\n modal,\n inputButtons,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n onChangeText,\n inputEnabled,\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 saveLabelDisabled: DatePickerInputProps['saveLabelDisabled']\n uppercase: DatePickerInputProps['uppercase']\n startYear: DatePickerInputProps['startYear']\n endYear: DatePickerInputProps['endYear']\n inputEnabled: DatePickerInputProps['inputEnabled']\n }) => any\n inputButtons?: any\n },\n ref: any\n) {\n const theme = useTheme()\n const {\n formattedValue,\n inputFormat,\n onChangeText: onDateInputChangeText,\n error,\n } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n onValidationError,\n })\n\n let disabled\n\n if (inputEnabled !== undefined) {\n disabled = !inputEnabled\n }\n\n if (rest.disabled) {\n disabled = rest.disabled\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={rest.keyboardType ?? 'number-pad'}\n mask={inputFormat}\n disabled={disabled}\n onChangeText={onDateInputChangeText}\n onChange={(e) => onChangeText && onChangeText(e.nativeEvent.text)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={(!!error && !hideValidationErrors) || !!hasError}\n style={[styles.input, style]}\n />\n {inputButtons}\n </View>\n {error && !hideValidationErrors ? (\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n inputEnabled,\n })}\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 },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ function DatePickerModal(props) {
|
|
|
32
32
|
animationType,
|
|
33
33
|
disableStatusBar,
|
|
34
34
|
disableStatusBarPadding,
|
|
35
|
+
inputEnabled,
|
|
35
36
|
...rest
|
|
36
37
|
} = props;
|
|
37
38
|
|
|
@@ -76,6 +77,7 @@ function DatePickerModal(props) {
|
|
|
76
77
|
backgroundColor: headerBackgroundColor
|
|
77
78
|
}]
|
|
78
79
|
}), /*#__PURE__*/React.createElement(_DatePickerModalContent.default, _extends({}, rest, {
|
|
80
|
+
inputEnabled: inputEnabled,
|
|
79
81
|
disableSafeTop: disableStatusBar
|
|
80
82
|
})))))));
|
|
81
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatePickerModal","props","theme","useTheme","dimensions","useWindowDimensions","visible","animationType","disableStatusBar","disableStatusBarPadding","rest","animationTypeCalculated","Platform","select","web","default","isLight","useHeaderColorIsLight","headerBackgroundColor","useHeaderBackgroundColor","StyleSheet","absoluteFill","onDismiss","supportedOrientations","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","modalContent","surface","width","modalContentBig","height","StatusBar","currentHeight","create","justifyContent","alignItems","flex","maxWidth","maxHeight","borderRadius","overflow","React","memo"],"sources":["DatePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n TouchableWithoutFeedback,\n useWindowDimensions,\n View,\n Platform,\n StatusBar,\n} from 'react-native'\n\nimport { useTheme } from 'react-native-paper'\nimport DatePickerModalContent, {\n DatePickerModalContentMultiProps,\n DatePickerModalContentRangeProps,\n DatePickerModalContentSingleProps,\n} from './DatePickerModalContent'\nimport { useHeaderBackgroundColor, useHeaderColorIsLight } from '../utils'\n\ninterface DatePickerModalProps {\n visible: boolean\n animationType?: 'slide' | 'fade' | 'none'\n disableStatusBar?: boolean\n disableStatusBarPadding?: boolean\n}\n\nexport interface DatePickerModalSingleProps\n extends DatePickerModalContentSingleProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalMultiProps\n extends DatePickerModalContentMultiProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalRangeProps\n extends DatePickerModalContentRangeProps,\n DatePickerModalProps {}\n\nexport function DatePickerModal(\n props:\n | DatePickerModalRangeProps\n | DatePickerModalSingleProps\n | DatePickerModalMultiProps\n) {\n const theme = useTheme()\n const dimensions = useWindowDimensions()\n const {\n visible,\n animationType,\n disableStatusBar,\n disableStatusBarPadding,\n ...rest\n } = props\n const animationTypeCalculated =\n animationType ||\n Platform.select({\n web: 'none',\n default: 'slide',\n })\n\n const isLight = useHeaderColorIsLight()\n const headerBackgroundColor = useHeaderBackgroundColor()\n\n return (\n <View style={[StyleSheet.absoluteFill]} pointerEvents=\"box-none\">\n <Modal\n animationType={animationTypeCalculated}\n transparent={true}\n visible={visible}\n onRequestClose={rest.onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={rest.onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <View\n style={[\n styles.modalContent,\n { backgroundColor: theme.colors.surface },\n dimensions.width > 650 ? styles.modalContentBig : null,\n ]}\n >\n {disableStatusBar ? null : (\n <StatusBar\n translucent={true}\n barStyle={isLight ? 'dark-content' : 'light-content'}\n />\n )}\n {disableStatusBarPadding ? null : (\n <View\n style={[\n {\n height: StatusBar.currentHeight,\n backgroundColor: headerBackgroundColor,\n },\n ]}\n />\n )}\n <DatePickerModalContent\n {...rest}\n disableSafeTop={disableStatusBar}\n />\n </View>\n </View>\n </>\n </Modal>\n </View>\n )\n}\nconst supportedOrientations: any = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n flex: 1,\n width: '100%',\n },\n modalContentBig: {\n maxWidth: 600,\n maxHeight: 800,\n borderRadius: 10,\n width: '100%',\n overflow: 'hidden',\n },\n})\n\nexport default React.memo(DatePickerModal)\n"],"mappings":";;;;;;;;AAAA;;AACA;;AAUA;;AACA;;AAKA;;;;;;;;;;
|
|
1
|
+
{"version":3,"names":["DatePickerModal","props","theme","useTheme","dimensions","useWindowDimensions","visible","animationType","disableStatusBar","disableStatusBarPadding","inputEnabled","rest","animationTypeCalculated","Platform","select","web","default","isLight","useHeaderColorIsLight","headerBackgroundColor","useHeaderBackgroundColor","StyleSheet","absoluteFill","onDismiss","supportedOrientations","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","modalContent","surface","width","modalContentBig","height","StatusBar","currentHeight","create","justifyContent","alignItems","flex","maxWidth","maxHeight","borderRadius","overflow","React","memo"],"sources":["DatePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n TouchableWithoutFeedback,\n useWindowDimensions,\n View,\n Platform,\n StatusBar,\n} from 'react-native'\n\nimport { useTheme } from 'react-native-paper'\nimport DatePickerModalContent, {\n DatePickerModalContentMultiProps,\n DatePickerModalContentRangeProps,\n DatePickerModalContentSingleProps,\n} from './DatePickerModalContent'\nimport { useHeaderBackgroundColor, useHeaderColorIsLight } from '../utils'\n\ninterface DatePickerModalProps {\n visible: boolean\n animationType?: 'slide' | 'fade' | 'none'\n disableStatusBar?: boolean\n disableStatusBarPadding?: boolean\n inputEnabled?: boolean\n}\n\nexport interface DatePickerModalSingleProps\n extends DatePickerModalContentSingleProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalMultiProps\n extends DatePickerModalContentMultiProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalRangeProps\n extends DatePickerModalContentRangeProps,\n DatePickerModalProps {}\n\nexport function DatePickerModal(\n props:\n | DatePickerModalRangeProps\n | DatePickerModalSingleProps\n | DatePickerModalMultiProps\n) {\n const theme = useTheme()\n const dimensions = useWindowDimensions()\n const {\n visible,\n animationType,\n disableStatusBar,\n disableStatusBarPadding,\n inputEnabled,\n ...rest\n } = props\n const animationTypeCalculated =\n animationType ||\n Platform.select({\n web: 'none',\n default: 'slide',\n })\n\n const isLight = useHeaderColorIsLight()\n const headerBackgroundColor = useHeaderBackgroundColor()\n\n return (\n <View style={[StyleSheet.absoluteFill]} pointerEvents=\"box-none\">\n <Modal\n animationType={animationTypeCalculated}\n transparent={true}\n visible={visible}\n onRequestClose={rest.onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={rest.onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <View\n style={[\n styles.modalContent,\n { backgroundColor: theme.colors.surface },\n dimensions.width > 650 ? styles.modalContentBig : null,\n ]}\n >\n {disableStatusBar ? null : (\n <StatusBar\n translucent={true}\n barStyle={isLight ? 'dark-content' : 'light-content'}\n />\n )}\n {disableStatusBarPadding ? null : (\n <View\n style={[\n {\n height: StatusBar.currentHeight,\n backgroundColor: headerBackgroundColor,\n },\n ]}\n />\n )}\n <DatePickerModalContent\n {...rest}\n inputEnabled={inputEnabled}\n disableSafeTop={disableStatusBar}\n />\n </View>\n </View>\n </>\n </Modal>\n </View>\n )\n}\nconst supportedOrientations: any = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n flex: 1,\n width: '100%',\n },\n modalContentBig: {\n maxWidth: 600,\n maxHeight: 800,\n borderRadius: 10,\n width: '100%',\n overflow: 'hidden',\n },\n})\n\nexport default React.memo(DatePickerModal)\n"],"mappings":";;;;;;;;AAAA;;AACA;;AAUA;;AACA;;AAKA;;;;;;;;;;AAsBO,SAASA,eAAT,CACLC,KADK,EAKL;EACA,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMC,UAAU,GAAG,IAAAC,gCAAA,GAAnB;EACA,MAAM;IACJC,OADI;IAEJC,aAFI;IAGJC,gBAHI;IAIJC,uBAJI;IAKJC,YALI;IAMJ,GAAGC;EANC,IAOFV,KAPJ;;EAQA,MAAMW,uBAAuB,GAC3BL,aAAa,IACbM,qBAAA,CAASC,MAAT,CAAgB;IACdC,GAAG,EAAE,MADS;IAEdC,OAAO,EAAE;EAFK,CAAhB,CAFF;;EAOA,MAAMC,OAAO,GAAG,IAAAC,4BAAA,GAAhB;EACA,MAAMC,qBAAqB,GAAG,IAAAC,+BAAA,GAA9B;EAEA,oBACE,oBAAC,iBAAD;IAAM,KAAK,EAAE,CAACC,uBAAA,CAAWC,YAAZ,CAAb;IAAwC,aAAa,EAAC;EAAtD,gBACE,oBAAC,kBAAD;IACE,aAAa,EAAEV,uBADjB;IAEE,WAAW,EAAE,IAFf;IAGE,OAAO,EAAEN,OAHX;IAIE,cAAc,EAAEK,IAAI,CAACY,SAJvB;IAKE,iBAAiB,EAAC,gBALpB;IAME,qBAAqB,EAAEC,qBANzB,CAOE;IAPF;IAQE,oBAAoB,EAAE;EARxB,gBAUE,uDACE,oBAAC,qCAAD;IAA0B,OAAO,EAAEb,IAAI,CAACY;EAAxC,gBACE,oBAAC,iBAAD;IACE,KAAK,EAAE,CACLF,uBAAA,CAAWC,YADN,EAELG,MAAM,CAACC,eAFF,EAGL;MAAEC,eAAe,EAAEzB,KAAK,CAAC0B,MAAN,CAAaC;IAAhC,CAHK;EADT,EADF,CADF,eAUE,oBAAC,iBAAD;IACE,KAAK,EAAE,CAACR,uBAAA,CAAWC,YAAZ,EAA0BG,MAAM,CAACK,SAAjC,CADT;IAEE,aAAa,EAAC;EAFhB,gBAIE,oBAAC,iBAAD;IACE,KAAK,EAAE,CACLL,MAAM,CAACM,YADF,EAEL;MAAEJ,eAAe,EAAEzB,KAAK,CAAC0B,MAAN,CAAaI;IAAhC,CAFK,EAGL5B,UAAU,CAAC6B,KAAX,GAAmB,GAAnB,GAAyBR,MAAM,CAACS,eAAhC,GAAkD,IAH7C;EADT,GAOG1B,gBAAgB,GAAG,IAAH,gBACf,oBAAC,sBAAD;IACE,WAAW,EAAE,IADf;IAEE,QAAQ,EAAES,OAAO,GAAG,cAAH,GAAoB;EAFvC,EARJ,EAaGR,uBAAuB,GAAG,IAAH,gBACtB,oBAAC,iBAAD;IACE,KAAK,EAAE,CACL;MACE0B,MAAM,EAAEC,sBAAA,CAAUC,aADpB;MAEEV,eAAe,EAAER;IAFnB,CADK;EADT,EAdJ,eAuBE,oBAAC,+BAAD,eACMR,IADN;IAEE,YAAY,EAAED,YAFhB;IAGE,cAAc,EAAEF;EAHlB,GAvBF,CAJF,CAVF,CAVF,CADF,CADF;AA4DD;;AACD,MAAMgB,qBAA0B,GAAG,CACjC,UADiC,EAEjC,sBAFiC,EAGjC,WAHiC,EAIjC,gBAJiC,EAKjC,iBALiC,CAAnC;;AAQA,MAAMC,MAAM,GAAGJ,uBAAA,CAAWiB,MAAX,CAAkB;EAC/BR,SAAS,EAAE;IACTS,cAAc,EAAE,QADP;IAETC,UAAU,EAAE,QAFH;IAGTC,IAAI,EAAE;EAHG,CADoB;EAM/Bf,eAAe,EAAE;IACfe,IAAI,EAAE;EADS,CANc;EAS/BV,YAAY,EAAE;IACZU,IAAI,EAAE,CADM;IAEZR,KAAK,EAAE;EAFK,CATiB;EAa/BC,eAAe,EAAE;IACfQ,QAAQ,EAAE,GADK;IAEfC,SAAS,EAAE,GAFI;IAGfC,YAAY,EAAE,EAHC;IAIfX,KAAK,EAAE,MAJQ;IAKfY,QAAQ,EAAE;EALK;AAbc,CAAlB,CAAf;;4BAsBeC,KAAK,CAACC,IAAN,CAAW/C,eAAX,C"}
|
|
@@ -109,7 +109,8 @@ function DatePickerModalContent(props) {
|
|
|
109
109
|
uppercase: props.uppercase ?? true,
|
|
110
110
|
locale: locale,
|
|
111
111
|
editIcon: props === null || props === void 0 ? void 0 : props.editIcon,
|
|
112
|
-
calendarIcon: props.calendarIcon
|
|
112
|
+
calendarIcon: props.calendarIcon,
|
|
113
|
+
allowEditing: props.allowEditing || true
|
|
113
114
|
})), /*#__PURE__*/React.createElement(_AnimatedCrossView.default, {
|
|
114
115
|
collapsed: collapsed,
|
|
115
116
|
calendar: /*#__PURE__*/React.createElement(_Calendar.default, {
|
|
@@ -135,7 +136,8 @@ function DatePickerModalContent(props) {
|
|
|
135
136
|
collapsed: collapsed,
|
|
136
137
|
onChange: onInnerChange,
|
|
137
138
|
validRange: validRange,
|
|
138
|
-
locale: locale
|
|
139
|
+
locale: locale,
|
|
140
|
+
inputEnabled: props.inputEnabled
|
|
139
141
|
})
|
|
140
142
|
}));
|
|
141
143
|
}
|
|
@@ -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'\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n saveLabelDisabled?: boolean\n uppercase?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n startYear,\n endYear,\n } = props\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params: any) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n saveLabelDisabled={props.saveLabelDisabled ?? false}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n closeIcon={props.closeIcon}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase ?? true}\n locale={locale}\n editIcon={props?.editIcon}\n calendarIcon={props.calendarIcon}\n />\n </DatePickerModalHeaderBackground>\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n startYear={startYear}\n endYear={endYear}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":";;;;;;;;AAAA;;AAEA;;AAUA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;
|
|
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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"}
|
|
@@ -56,14 +56,16 @@ function DatePickerModalContentHeader(props) {
|
|
|
56
56
|
moreLabel,
|
|
57
57
|
uppercase,
|
|
58
58
|
editIcon,
|
|
59
|
-
calendarIcon
|
|
59
|
+
calendarIcon,
|
|
60
|
+
inputDate,
|
|
61
|
+
allowEditing
|
|
60
62
|
} = props;
|
|
61
63
|
const theme = (0, _reactNativePaper.useTheme)();
|
|
62
64
|
const label = getLabel(props.locale, props.mode, props.label);
|
|
63
65
|
const color = (0, _utils.useHeaderTextColor)();
|
|
66
|
+
const isAllowEditing = allowEditing && mode !== 'multiple' && inputDate !== undefined;
|
|
64
67
|
const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color;
|
|
65
|
-
const
|
|
66
|
-
let textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.labelMedium : theme.fonts.medium;
|
|
68
|
+
const textFont = theme !== null && theme !== void 0 && theme.isV3 ? theme.fonts.labelMedium : theme.fonts.medium;
|
|
67
69
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
68
70
|
style: styles.header
|
|
69
71
|
}, /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_reactNativePaper.Text, {
|
|
@@ -82,7 +84,7 @@ function DatePickerModalContentHeader(props) {
|
|
|
82
84
|
moreLabel: moreLabel
|
|
83
85
|
})) : null)), /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
84
86
|
style: styles.fill
|
|
85
|
-
}),
|
|
87
|
+
}), isAllowEditing ? /*#__PURE__*/React.createElement(_reactNativePaper.IconButton, {
|
|
86
88
|
icon: collapsed ? editIcon ?? theme.isV3 ? 'pencil-outline' : 'pencil' : calendarIcon ?? theme.isV3 ? 'calendar-blank' : 'calendar',
|
|
87
89
|
accessibilityLabel: collapsed ? (0, _utils2.getTranslation)(props.locale, 'typeInDate') : (0, _utils2.getTranslation)(props.locale, 'pickDateFromCalendar'),
|
|
88
90
|
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","theme","useTheme","label","color","useHeaderTextColor","supportingTextColor","isV3","colors","onSurfaceVariant","allowEditing","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}\n\nexport interface HeaderContentProps extends HeaderPickProps {\n state: LocalState\n mode: ModeType\n collapsed: boolean\n onToggle: () => any\n locale: string | undefined\n}\n\nfunction getLabel(\n locale: string | undefined,\n mode: ModeType,\n configuredLabel?: string\n) {\n if (configuredLabel) {\n return configuredLabel\n }\n if (mode === 'range') {\n return getTranslation(locale, 'selectRange')\n }\n if (mode === 'multiple') {\n return getTranslation(locale, 'selectMultiple')\n }\n if (mode === 'single') {\n return getTranslation(locale, 'selectSingle')\n }\n return '...?'\n}\n\nexport default function DatePickerModalContentHeader(\n props: HeaderContentProps\n) {\n const {\n onToggle,\n collapsed,\n mode,\n moreLabel,\n uppercase,\n editIcon,\n calendarIcon,\n } = props\n const theme = useTheme()\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const supportingTextColor = theme.isV3 ? theme.colors.onSurfaceVariant : color\n const allowEditing = mode !== 'multiple'\n\n let textFont = theme?.isV3\n ? theme.fonts.labelMedium\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.header}>\n <View>\n <Text\n style={[styles.label, { color: supportingTextColor, ...textFont }]}\n >\n {uppercase ? label.toUpperCase() : label}\n </Text>\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={\n collapsed\n ? editIcon ?? theme.isV3\n ? 'pencil-outline'\n : 'pencil'\n : calendarIcon ?? theme.isV3\n ? 'calendar-blank'\n : 'calendar'\n }\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n iconColor={theme.isV3 ? theme.colors.onSurface : color}\n onPress={onToggle}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const theme = useTheme()\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const theme = useTheme()\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const theme = useTheme()\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : lighterColor\n const endColor = state.endDate\n ? theme.isV3\n ? theme.colors.onSurface\n : color\n : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"],"mappings":"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"}
|
|
1
|
+
{"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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"}
|
|
@@ -89,8 +89,7 @@ function VerticalScroller(_ref3) {
|
|
|
89
89
|
renderItem
|
|
90
90
|
} = _ref3;
|
|
91
91
|
const idx = React.useRef(initialIndex);
|
|
92
|
-
const [visibleIndexes, setVisibleIndexes] = React.useState(visibleArray(initialIndex));
|
|
93
|
-
|
|
92
|
+
const [visibleIndexes, setVisibleIndexes] = React.useState(visibleArray(initialIndex));
|
|
94
93
|
const parentRef = React.useRef(null);
|
|
95
94
|
useIsomorphicLayoutEffect(() => {
|
|
96
95
|
const element = parentRef.current;
|
|
@@ -122,7 +121,8 @@ function VerticalScroller(_ref3) {
|
|
|
122
121
|
}
|
|
123
122
|
}, [setVisibleIndexesThrottled]);
|
|
124
123
|
return /*#__PURE__*/React.createElement("div", {
|
|
125
|
-
ref: parentRef
|
|
124
|
+
ref: parentRef // eslint-disable-next-line react-native/no-inline-styles
|
|
125
|
+
,
|
|
126
126
|
style: {
|
|
127
127
|
height,
|
|
128
128
|
width,
|
|
@@ -130,12 +130,14 @@ function VerticalScroller(_ref3) {
|
|
|
130
130
|
},
|
|
131
131
|
onScroll: onScroll
|
|
132
132
|
}, /*#__PURE__*/React.createElement("div", {
|
|
133
|
+
// eslint-disable-next-line react-native/no-inline-styles
|
|
133
134
|
style: {
|
|
134
135
|
height: estimatedHeight * _dateUtils.totalMonths,
|
|
135
136
|
position: 'relative'
|
|
136
137
|
}
|
|
137
138
|
}, [0, 1, 2, 3, 4].map(vi => /*#__PURE__*/React.createElement("div", {
|
|
138
|
-
key: vi
|
|
139
|
+
key: vi // eslint-disable-next-line react-native/no-inline-styles
|
|
140
|
+
,
|
|
139
141
|
style: {
|
|
140
142
|
willChange: 'transform',
|
|
141
143
|
transform: `translateY(${(0, _Month.getVerticalMonthsOffset)(visibleIndexes[vi])}px)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Swiper","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","isHorizontal","index","setIndex","React","useState","onPrev","useCallback","prev","onNext","renderProps","indexRef","useLatest","useYearChange","newIndex","currentIndexRef","styles","flex1","width","height","estimatedMonthHeight","visibleArray","i","VerticalScroller","estimatedHeight","idx","useRef","visibleIndexes","setVisibleIndexes","parentRef","useIsomorphicLayoutEffect","element","current","top","getVerticalMonthsOffset","montHeaderHeight","scrollTo","setVisibleIndexesThrottled","useDebouncedCallback","onScroll","e","currentTarget","scrollTop","offset","beginOffset","getIndexFromVerticalOffset","overflow","totalMonths","position","map","vi","willChange","transform","left","right","getMonthHeight","empty","StyleSheet","create","flex","callback","mounted","latest","timerId","useEffect","window","cancelAnimationFrame","args","requestAnimationFrame","useLayoutEffect","memo"],"sources":["Swiper.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\n\nimport {\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport { useLatest } from '../utils'\nimport { RenderProps, SwiperProps, useYearChange } from './SwiperUtils'\nimport AutoSizer from './AutoSizer'\n\nfunction Swiper({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n}: SwiperProps) {\n const isHorizontal = scrollMode === 'horizontal'\n const [index, setIndex] = React.useState(initialIndex)\n\n const onPrev = React.useCallback(() => {\n setIndex((prev) => prev - 1)\n }, [setIndex])\n\n const onNext = React.useCallback(() => {\n setIndex((prev) => prev + 1)\n }, [setIndex])\n\n const renderProps = {\n index,\n onPrev,\n onNext,\n }\n const indexRef = useLatest(index)\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n setIndex(newIndex)\n }\n },\n {\n selectedYear,\n currentIndexRef: indexRef,\n }\n )\n\n return (\n <>\n {renderHeader && renderHeader(renderProps)}\n {isHorizontal ? (\n <View style={styles.flex1}>\n {renderItem({ index, onPrev, onNext })}\n </View>\n ) : (\n <AutoSizer>\n {({ width, height }) => (\n <VerticalScroller\n width={width}\n height={height}\n initialIndex={initialIndex}\n estimatedHeight={estimatedMonthHeight}\n renderItem={renderItem}\n />\n )}\n </AutoSizer>\n )}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nconst visibleArray = (i: number) => [i - 2, i - 1, i, i + 1, i + 2]\n\nfunction VerticalScroller({\n width,\n height,\n initialIndex,\n estimatedHeight,\n renderItem,\n}: {\n renderItem: (renderProps: RenderProps) => any\n width: number\n height: number\n initialIndex: number\n estimatedHeight: number\n}) {\n const idx = React.useRef<number>(initialIndex)\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n visibleArray(initialIndex)\n )\n // eslint-disable-next-line no-undef\n const parentRef = React.useRef<HTMLDivElement | null>(null)\n\n useIsomorphicLayoutEffect(() => {\n const element = parentRef.current\n if (!element) {\n return\n }\n const top = getVerticalMonthsOffset(idx.current) - montHeaderHeight\n\n element.scrollTo({\n top,\n })\n }, [parentRef, idx])\n\n const setVisibleIndexesThrottled = useDebouncedCallback(setVisibleIndexes)\n\n const onScroll = React.useCallback(\n (e: React.UIEvent) => {\n const top = e.currentTarget.scrollTop\n if (top === 0) {\n return\n }\n\n const offset = top - beginOffset\n const index = getIndexFromVerticalOffset(offset)\n\n if (idx.current !== index) {\n idx.current = index\n setVisibleIndexesThrottled(visibleArray(index))\n }\n },\n [setVisibleIndexesThrottled]\n )\n\n return (\n <div\n ref={parentRef}\n style={{\n height,\n width,\n overflow: 'auto',\n }}\n onScroll={onScroll}\n >\n <div\n style={{\n height: estimatedHeight * totalMonths,\n position: 'relative',\n }}\n >\n {[0, 1, 2, 3, 4].map((vi) => (\n <div\n key={vi}\n style={{\n willChange: 'transform',\n transform: `translateY(${getVerticalMonthsOffset(\n visibleIndexes[vi]\n )}px)`,\n left: 0,\n right: 0,\n position: 'absolute',\n height: getMonthHeight('vertical', visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: empty,\n onNext: empty,\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst empty = () => null\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n})\n\nexport function useDebouncedCallback(callback: any): any {\n const mounted = React.useRef<boolean>(true)\n const latest = useLatest(callback)\n const timerId = React.useRef<any>(null)\n\n React.useEffect(() => {\n return () => {\n mounted.current = false\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n }\n }, [mounted, timerId])\n\n return React.useCallback(\n (args: any) => {\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n timerId.current = window.requestAnimationFrame(function () {\n if (mounted.current) {\n latest.current(args)\n }\n })\n },\n [mounted, timerId, latest]\n )\n}\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport default React.memo(Swiper)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Swiper","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","isHorizontal","index","setIndex","React","useState","onPrev","useCallback","prev","onNext","renderProps","indexRef","useLatest","useYearChange","newIndex","currentIndexRef","styles","flex1","width","height","estimatedMonthHeight","visibleArray","i","VerticalScroller","estimatedHeight","idx","useRef","visibleIndexes","setVisibleIndexes","parentRef","useIsomorphicLayoutEffect","element","current","top","getVerticalMonthsOffset","montHeaderHeight","scrollTo","setVisibleIndexesThrottled","useDebouncedCallback","onScroll","e","currentTarget","scrollTop","offset","beginOffset","getIndexFromVerticalOffset","overflow","totalMonths","position","map","vi","willChange","transform","left","right","getMonthHeight","empty","StyleSheet","create","flex","callback","mounted","latest","timerId","useEffect","window","cancelAnimationFrame","args","requestAnimationFrame","useLayoutEffect","memo"],"sources":["Swiper.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\n\nimport {\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport { useLatest } from '../utils'\nimport { RenderProps, SwiperProps, useYearChange } from './SwiperUtils'\nimport AutoSizer from './AutoSizer'\n\nfunction Swiper({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n}: SwiperProps) {\n const isHorizontal = scrollMode === 'horizontal'\n const [index, setIndex] = React.useState(initialIndex)\n\n const onPrev = React.useCallback(() => {\n setIndex((prev) => prev - 1)\n }, [setIndex])\n\n const onNext = React.useCallback(() => {\n setIndex((prev) => prev + 1)\n }, [setIndex])\n\n const renderProps = {\n index,\n onPrev,\n onNext,\n }\n const indexRef = useLatest(index)\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n setIndex(newIndex)\n }\n },\n {\n selectedYear,\n currentIndexRef: indexRef,\n }\n )\n\n return (\n <>\n {renderHeader && renderHeader(renderProps)}\n {isHorizontal ? (\n <View style={styles.flex1}>\n {renderItem({ index, onPrev, onNext })}\n </View>\n ) : (\n <AutoSizer>\n {({ width, height }) => (\n <VerticalScroller\n width={width}\n height={height}\n initialIndex={initialIndex}\n estimatedHeight={estimatedMonthHeight}\n renderItem={renderItem}\n />\n )}\n </AutoSizer>\n )}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nconst visibleArray = (i: number) => [i - 2, i - 1, i, i + 1, i + 2]\n\nfunction VerticalScroller({\n width,\n height,\n initialIndex,\n estimatedHeight,\n renderItem,\n}: {\n renderItem: (renderProps: RenderProps) => any\n width: number\n height: number\n initialIndex: number\n estimatedHeight: number\n}) {\n const idx = React.useRef<number>(initialIndex)\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n visibleArray(initialIndex)\n )\n const parentRef = React.useRef<HTMLDivElement | null>(null)\n\n useIsomorphicLayoutEffect(() => {\n const element = parentRef.current\n if (!element) {\n return\n }\n const top = getVerticalMonthsOffset(idx.current) - montHeaderHeight\n\n element.scrollTo({\n top,\n })\n }, [parentRef, idx])\n\n const setVisibleIndexesThrottled = useDebouncedCallback(setVisibleIndexes)\n\n const onScroll = React.useCallback(\n (e: React.UIEvent) => {\n const top = e.currentTarget.scrollTop\n if (top === 0) {\n return\n }\n\n const offset = top - beginOffset\n const index = getIndexFromVerticalOffset(offset)\n\n if (idx.current !== index) {\n idx.current = index\n setVisibleIndexesThrottled(visibleArray(index))\n }\n },\n [setVisibleIndexesThrottled]\n )\n\n return (\n <div\n ref={parentRef}\n // eslint-disable-next-line react-native/no-inline-styles\n style={{\n height,\n width,\n overflow: 'auto',\n }}\n onScroll={onScroll}\n >\n <div\n // eslint-disable-next-line react-native/no-inline-styles\n style={{\n height: estimatedHeight * totalMonths,\n position: 'relative',\n }}\n >\n {[0, 1, 2, 3, 4].map((vi) => (\n <div\n key={vi}\n // eslint-disable-next-line react-native/no-inline-styles\n style={{\n willChange: 'transform',\n transform: `translateY(${getVerticalMonthsOffset(\n visibleIndexes[vi]\n )}px)`,\n left: 0,\n right: 0,\n position: 'absolute',\n height: getMonthHeight('vertical', visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: empty,\n onNext: empty,\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst empty = () => null\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n})\n\nexport function useDebouncedCallback(callback: any): any {\n const mounted = React.useRef<boolean>(true)\n const latest = useLatest(callback)\n const timerId = React.useRef<any>(null)\n\n React.useEffect(() => {\n return () => {\n mounted.current = false\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n }\n }, [mounted, timerId])\n\n return React.useCallback(\n (args: any) => {\n if (timerId.current) {\n window.cancelAnimationFrame(timerId.current)\n }\n timerId.current = window.requestAnimationFrame(function () {\n if (mounted.current) {\n latest.current(args)\n }\n })\n },\n [mounted, timerId, latest]\n )\n}\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport default React.memo(Swiper)\n"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA;;AAOA;;AACA;;AACA;;AACA;;;;;;;;AAEA,SAASA,MAAT,OAOgB;EAAA,IAPA;IACdC,UADc;IAEdC,UAFc;IAGdC,YAHc;IAIdC,YAJc;IAKdC,YALc;IAMdC;EANc,CAOA;EACd,MAAMC,YAAY,GAAGN,UAAU,KAAK,YAApC;EACA,MAAM,CAACO,KAAD,EAAQC,QAAR,IAAoBC,KAAK,CAACC,QAAN,CAAeL,YAAf,CAA1B;EAEA,MAAMM,MAAM,GAAGF,KAAK,CAACG,WAAN,CAAkB,MAAM;IACrCJ,QAAQ,CAAEK,IAAD,IAAUA,IAAI,GAAG,CAAlB,CAAR;EACD,CAFc,EAEZ,CAACL,QAAD,CAFY,CAAf;EAIA,MAAMM,MAAM,GAAGL,KAAK,CAACG,WAAN,CAAkB,MAAM;IACrCJ,QAAQ,CAAEK,IAAD,IAAUA,IAAI,GAAG,CAAlB,CAAR;EACD,CAFc,EAEZ,CAACL,QAAD,CAFY,CAAf;EAIA,MAAMO,WAAW,GAAG;IAClBR,KADkB;IAElBI,MAFkB;IAGlBG;EAHkB,CAApB;EAKA,MAAME,QAAQ,GAAG,IAAAC,gBAAA,EAAUV,KAAV,CAAjB;EACA,IAAAW,0BAAA,EACGC,QAAD,IAAc;IACZ,IAAIA,QAAJ,EAAc;MACZX,QAAQ,CAACW,QAAD,CAAR;IACD;EACF,CALH,EAME;IACEf,YADF;IAEEgB,eAAe,EAAEJ;EAFnB,CANF;EAYA,oBACE,0CACGd,YAAY,IAAIA,YAAY,CAACa,WAAD,CAD/B,EAEGT,YAAY,gBACX,oBAAC,iBAAD;IAAM,KAAK,EAAEe,MAAM,CAACC;EAApB,GACGrB,UAAU,CAAC;IAAEM,KAAF;IAASI,MAAT;IAAiBG;EAAjB,CAAD,CADb,CADW,gBAKX,oBAAC,kBAAD,QACG;IAAA,IAAC;MAAES,KAAF;MAASC;IAAT,CAAD;IAAA,oBACC,oBAAC,gBAAD;MACE,KAAK,EAAED,KADT;MAEE,MAAM,EAAEC,MAFV;MAGE,YAAY,EAAEnB,YAHhB;MAIE,eAAe,EAAEoB,+BAJnB;MAKE,UAAU,EAAExB;IALd,EADD;EAAA,CADH,CAPJ,EAmBGE,YAAY,IAAIA,YAAY,CAACY,WAAD,CAnB/B,CADF;AAuBD;;AAED,MAAMW,YAAY,GAAIC,CAAD,IAAe,CAACA,CAAC,GAAG,CAAL,EAAQA,CAAC,GAAG,CAAZ,EAAeA,CAAf,EAAkBA,CAAC,GAAG,CAAtB,EAAyBA,CAAC,GAAG,CAA7B,CAApC;;AAEA,SAASC,gBAAT,QAYG;EAAA,IAZuB;IACxBL,KADwB;IAExBC,MAFwB;IAGxBnB,YAHwB;IAIxBwB,eAJwB;IAKxB5B;EALwB,CAYvB;EACD,MAAM6B,GAAG,GAAGrB,KAAK,CAACsB,MAAN,CAAqB1B,YAArB,CAAZ;EACA,MAAM,CAAC2B,cAAD,EAAiBC,iBAAjB,IAAsCxB,KAAK,CAACC,QAAN,CAC1CgB,YAAY,CAACrB,YAAD,CAD8B,CAA5C;EAGA,MAAM6B,SAAS,GAAGzB,KAAK,CAACsB,MAAN,CAAoC,IAApC,CAAlB;EAEAI,yBAAyB,CAAC,MAAM;IAC9B,MAAMC,OAAO,GAAGF,SAAS,CAACG,OAA1B;;IACA,IAAI,CAACD,OAAL,EAAc;MACZ;IACD;;IACD,MAAME,GAAG,GAAG,IAAAC,8BAAA,EAAwBT,GAAG,CAACO,OAA5B,IAAuCG,uBAAnD;;IAEAJ,OAAO,CAACK,QAAR,CAAiB;MACfH;IADe,CAAjB;EAGD,CAVwB,EAUtB,CAACJ,SAAD,EAAYJ,GAAZ,CAVsB,CAAzB;EAYA,MAAMY,0BAA0B,GAAGC,oBAAoB,CAACV,iBAAD,CAAvD;EAEA,MAAMW,QAAQ,GAAGnC,KAAK,CAACG,WAAN,CACdiC,CAAD,IAAsB;IACpB,MAAMP,GAAG,GAAGO,CAAC,CAACC,aAAF,CAAgBC,SAA5B;;IACA,IAAIT,GAAG,KAAK,CAAZ,EAAe;MACb;IACD;;IAED,MAAMU,MAAM,GAAGV,GAAG,GAAGW,sBAArB;IACA,MAAM1C,KAAK,GAAG,IAAA2C,iCAAA,EAA2BF,MAA3B,CAAd;;IAEA,IAAIlB,GAAG,CAACO,OAAJ,KAAgB9B,KAApB,EAA2B;MACzBuB,GAAG,CAACO,OAAJ,GAAc9B,KAAd;MACAmC,0BAA0B,CAAChB,YAAY,CAACnB,KAAD,CAAb,CAA1B;IACD;EACF,CAdc,EAef,CAACmC,0BAAD,CAfe,CAAjB;EAkBA,oBACE;IACE,GAAG,EAAER,SADP,CAEE;IAFF;IAGE,KAAK,EAAE;MACLV,MADK;MAELD,KAFK;MAGL4B,QAAQ,EAAE;IAHL,CAHT;IAQE,QAAQ,EAAEP;EARZ,gBAUE;IACE;IACA,KAAK,EAAE;MACLpB,MAAM,EAAEK,eAAe,GAAGuB,sBADrB;MAELC,QAAQ,EAAE;IAFL;EAFT,GAOG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgBC,GAAhB,CAAqBC,EAAD,iBACnB;IACE,GAAG,EAAEA,EADP,CAEE;IAFF;IAGE,KAAK,EAAE;MACLC,UAAU,EAAE,WADP;MAELC,SAAS,EAAG,cAAa,IAAAlB,8BAAA,EACvBP,cAAc,CAACuB,EAAD,CADS,CAEvB,KAJG;MAKLG,IAAI,EAAE,CALD;MAMLC,KAAK,EAAE,CANF;MAOLN,QAAQ,EAAE,UAPL;MAQL7B,MAAM,EAAE,IAAAoC,qBAAA,EAAe,UAAf,EAA2B5B,cAAc,CAACuB,EAAD,CAAzC;IARH;EAHT,GAcGtD,UAAU,CAAC;IACVM,KAAK,EAAEyB,cAAc,CAACuB,EAAD,CADX;IAEV5C,MAAM,EAAEkD,KAFE;IAGV/C,MAAM,EAAE+C;EAHE,CAAD,CAdb,CADD,CAPH,CAVF,CADF;AA2CD;;AAED,MAAMA,KAAK,GAAG,MAAM,IAApB;;AAEA,MAAMxC,MAAM,GAAGyC,uBAAA,CAAWC,MAAX,CAAkB;EAC/BzC,KAAK,EAAE;IACL0C,IAAI,EAAE;EADD;AADwB,CAAlB,CAAf;;AAMO,SAASrB,oBAAT,CAA8BsB,QAA9B,EAAkD;EACvD,MAAMC,OAAO,GAAGzD,KAAK,CAACsB,MAAN,CAAsB,IAAtB,CAAhB;EACA,MAAMoC,MAAM,GAAG,IAAAlD,gBAAA,EAAUgD,QAAV,CAAf;EACA,MAAMG,OAAO,GAAG3D,KAAK,CAACsB,MAAN,CAAkB,IAAlB,CAAhB;EAEAtB,KAAK,CAAC4D,SAAN,CAAgB,MAAM;IACpB,OAAO,MAAM;MACXH,OAAO,CAAC7B,OAAR,GAAkB,KAAlB;;MACA,IAAI+B,OAAO,CAAC/B,OAAZ,EAAqB;QACnBiC,MAAM,CAACC,oBAAP,CAA4BH,OAAO,CAAC/B,OAApC;MACD;IACF,CALD;EAMD,CAPD,EAOG,CAAC6B,OAAD,EAAUE,OAAV,CAPH;EASA,OAAO3D,KAAK,CAACG,WAAN,CACJ4D,IAAD,IAAe;IACb,IAAIJ,OAAO,CAAC/B,OAAZ,EAAqB;MACnBiC,MAAM,CAACC,oBAAP,CAA4BH,OAAO,CAAC/B,OAApC;IACD;;IACD+B,OAAO,CAAC/B,OAAR,GAAkBiC,MAAM,CAACG,qBAAP,CAA6B,YAAY;MACzD,IAAIP,OAAO,CAAC7B,OAAZ,EAAqB;QACnB8B,MAAM,CAAC9B,OAAP,CAAemC,IAAf;MACD;IACF,CAJiB,CAAlB;EAKD,CAVI,EAWL,CAACN,OAAD,EAAUE,OAAV,EAAmBD,MAAnB,CAXK,CAAP;AAaD;;AAED,MAAMhC,yBAAyB,GAC7B,OAAOmC,MAAP,KAAkB,WAAlB,GAAgC7D,KAAK,CAACiE,eAAtC,GAAwDjE,KAAK,CAAC4D,SADhE;;4BAGe5D,KAAK,CAACkE,IAAN,CAAW5E,MAAX,C"}
|
|
@@ -163,7 +163,8 @@ function SwiperInner(_ref3) {
|
|
|
163
163
|
width: isHorizontal ? width * _dateUtils.totalMonths : width
|
|
164
164
|
}]
|
|
165
165
|
}, visibleIndexes ? new Array(visibleIndexes.length).fill(undefined).map((_, vi) => /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
166
|
-
key: vi
|
|
166
|
+
key: vi // eslint-disable-next-line react-native/no-inline-styles
|
|
167
|
+
,
|
|
167
168
|
style: {
|
|
168
169
|
top: isHorizontal ? 0 : (0, _Month.getVerticalMonthsOffset)(visibleIndexes[vi]),
|
|
169
170
|
left: isHorizontal ? (0, _Month.getHorizontalMonthOffset)(visibleIndexes[vi], width) : 0,
|