react-native-paper-dates 0.8.7 → 0.9.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 +30 -1
- package/lib/commonjs/Date/AnimatedCrossView.js.map +1 -1
- package/lib/commonjs/Date/AutoSizer.js.map +1 -1
- package/lib/commonjs/Date/Calendar.js +6 -2
- package/lib/commonjs/Date/Calendar.js.map +1 -1
- package/lib/commonjs/Date/CalendarEdit.js +4 -4
- package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
- package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.js +33 -87
- package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
- package/lib/commonjs/Date/DatePickerInput.shared.js +6 -0
- package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -0
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js +117 -0
- package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -0
- package/lib/commonjs/Date/DatePickerModal.js +1 -1
- package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContent.js +14 -8
- package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -3
- package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeader.js +5 -5
- package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/commonjs/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/commonjs/Date/DateRangeInput.js +3 -2
- package/lib/commonjs/Date/DateRangeInput.js.map +1 -1
- package/lib/commonjs/Date/Day.js.map +1 -1
- package/lib/commonjs/Date/DayName.js.map +1 -1
- package/lib/commonjs/Date/DayNames.js.map +1 -1
- package/lib/commonjs/Date/DayRange.js.map +1 -1
- package/lib/commonjs/Date/Month.js.map +1 -1
- 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/SwiperUtils.js.map +1 -1
- package/lib/commonjs/Date/Week.js.map +1 -1
- package/lib/commonjs/Date/YearPicker.js +5 -5
- package/lib/commonjs/Date/YearPicker.js.map +1 -1
- package/lib/commonjs/Date/dateUtils.js.map +1 -1
- package/lib/commonjs/Date/dateUtils.test.js.map +1 -1
- package/lib/commonjs/Date/inputUtils.js +1 -1
- package/lib/commonjs/Date/inputUtils.js.map +1 -1
- package/lib/commonjs/TextInputMask.js +1 -1
- package/lib/commonjs/TextInputMask.js.map +1 -1
- 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/AnalogClockHours.js +1 -1
- package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
- package/lib/commonjs/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/commonjs/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/commonjs/Time/TimeInput.js +1 -1
- package/lib/commonjs/Time/TimeInput.js.map +1 -1
- package/lib/commonjs/Time/TimeInputs.js +2 -2
- package/lib/commonjs/Time/TimeInputs.js.map +1 -1
- package/lib/commonjs/Time/TimePicker.js.map +1 -1
- package/lib/commonjs/Time/TimePickerModal.js +7 -2
- package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
- package/lib/commonjs/Time/timeUtils.js +7 -1
- package/lib/commonjs/Time/timeUtils.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/translations/ar.js +25 -0
- package/lib/commonjs/translations/ar.js.map +1 -0
- package/lib/commonjs/translations/de.js.map +1 -1
- package/lib/commonjs/translations/en.js.map +1 -1
- package/lib/commonjs/translations/enGB.js.map +1 -1
- package/lib/commonjs/translations/fr.js +25 -0
- package/lib/commonjs/translations/fr.js.map +1 -0
- package/lib/commonjs/translations/ko.js +25 -0
- package/lib/commonjs/translations/ko.js.map +1 -0
- package/lib/commonjs/translations/nl.js.map +1 -1
- package/lib/commonjs/translations/pl.js.map +1 -1
- package/lib/commonjs/translations/pt.js.map +1 -1
- package/lib/commonjs/translations/utils.js +1 -1
- package/lib/commonjs/translations/utils.js.map +1 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/Date/AnimatedCrossView.js.map +1 -1
- package/lib/module/Date/AutoSizer.js.map +1 -1
- package/lib/module/Date/Calendar.js +6 -2
- package/lib/module/Date/Calendar.js.map +1 -1
- package/lib/module/Date/CalendarEdit.js +4 -4
- package/lib/module/Date/CalendarEdit.js.map +1 -1
- package/lib/module/Date/CalendarHeader.js.map +1 -1
- package/lib/module/Date/DatePickerInput.js +34 -87
- package/lib/module/Date/DatePickerInput.js.map +1 -1
- package/lib/module/Date/DatePickerInput.shared.js +2 -0
- package/lib/module/Date/DatePickerInput.shared.js.map +1 -0
- package/lib/module/Date/DatePickerInputWithoutModal.js +97 -0
- package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -0
- package/lib/module/Date/DatePickerModal.js +1 -1
- package/lib/module/Date/DatePickerModal.js.map +1 -1
- package/lib/module/Date/DatePickerModalContent.js +14 -8
- package/lib/module/Date/DatePickerModalContent.js.map +1 -1
- package/lib/module/Date/DatePickerModalContentHeader.js +5 -3
- package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeader.js +5 -5
- package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
- package/lib/module/Date/DatePickerModalHeaderBackground.js.map +1 -1
- package/lib/module/Date/DateRangeInput.js +3 -2
- package/lib/module/Date/DateRangeInput.js.map +1 -1
- package/lib/module/Date/Day.js.map +1 -1
- package/lib/module/Date/DayName.js.map +1 -1
- package/lib/module/Date/DayNames.js.map +1 -1
- package/lib/module/Date/DayRange.js.map +1 -1
- package/lib/module/Date/Month.js.map +1 -1
- 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/SwiperUtils.js.map +1 -1
- package/lib/module/Date/Week.js.map +1 -1
- package/lib/module/Date/YearPicker.js +5 -5
- package/lib/module/Date/YearPicker.js.map +1 -1
- package/lib/module/Date/dateUtils.js.map +1 -1
- package/lib/module/Date/dateUtils.test.js.map +1 -1
- package/lib/module/Date/inputUtils.js +1 -1
- package/lib/module/Date/inputUtils.js.map +1 -1
- package/lib/module/TextInputMask.js +1 -1
- package/lib/module/TextInputMask.js.map +1 -1
- 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/AnalogClockHours.js +1 -1
- package/lib/module/Time/AnalogClockHours.js.map +1 -1
- package/lib/module/Time/AnalogClockMinutes.js.map +1 -1
- package/lib/module/Time/AnimatedClockSwitcher.js.map +1 -1
- package/lib/module/Time/TimeInput.js +1 -1
- package/lib/module/Time/TimeInput.js.map +1 -1
- package/lib/module/Time/TimeInputs.js +2 -2
- package/lib/module/Time/TimeInputs.js.map +1 -1
- package/lib/module/Time/TimePicker.js.map +1 -1
- package/lib/module/Time/TimePickerModal.js +8 -3
- package/lib/module/Time/TimePickerModal.js.map +1 -1
- package/lib/module/Time/timeUtils.js +3 -0
- package/lib/module/Time/timeUtils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/translations/ar.js +18 -0
- package/lib/module/translations/ar.js.map +1 -0
- package/lib/module/translations/de.js.map +1 -1
- package/lib/module/translations/en.js.map +1 -1
- package/lib/module/translations/enGB.js.map +1 -1
- package/lib/module/translations/fr.js +18 -0
- package/lib/module/translations/fr.js.map +1 -0
- package/lib/module/translations/ko.js +18 -0
- package/lib/module/translations/ko.js.map +1 -0
- package/lib/module/translations/nl.js.map +1 -1
- package/lib/module/translations/pl.js.map +1 -1
- package/lib/module/translations/pt.js.map +1 -1
- package/lib/module/translations/utils.js +1 -1
- package/lib/module/translations/utils.js.map +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/Date/Calendar.d.ts +2 -0
- package/lib/typescript/Date/DatePickerInput.d.ts +2 -16
- package/lib/typescript/Date/DatePickerInput.shared.d.ts +13 -0
- package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +51 -0
- package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
- package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +3 -0
- package/lib/typescript/Date/DatePickerModalHeader.d.ts +2 -0
- package/lib/typescript/Date/DateRangeInput.d.ts +2 -1
- package/lib/typescript/Date/YearPicker.d.ts +3 -1
- package/lib/typescript/TextInputMask.d.ts +31 -6
- package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
- package/lib/typescript/Time/timeUtils.d.ts +1 -0
- package/lib/typescript/translations/ar.d.ts +3 -0
- package/lib/typescript/translations/fr.d.ts +3 -0
- package/lib/typescript/translations/ko.d.ts +3 -0
- package/package.json +26 -25
- package/src/Date/Calendar.tsx +7 -1
- package/src/Date/CalendarEdit.tsx +4 -4
- package/src/Date/DatePickerInput.shared.tsx +17 -0
- package/src/Date/DatePickerInput.tsx +32 -102
- package/src/Date/DatePickerInputWithoutModal.tsx +110 -0
- package/src/Date/DatePickerModalContent.tsx +10 -1
- package/src/Date/DatePickerModalContentHeader.tsx +13 -2
- package/src/Date/DatePickerModalHeader.tsx +5 -2
- package/src/Date/DateRangeInput.tsx +8 -2
- package/src/Date/Swiper.native.tsx +1 -0
- package/src/Date/YearPicker.tsx +5 -4
- package/src/Date/inputUtils.ts +1 -1
- package/src/Time/AnalogClockHours.tsx +1 -1
- package/src/Time/TimeInputs.tsx +2 -2
- package/src/Time/TimePickerModal.tsx +9 -2
- package/src/Time/timeUtils.ts +10 -0
- package/src/translations/ar.ts +21 -0
- package/src/translations/fr.ts +23 -0
- package/src/translations/ko.ts +21 -0
- package/src/translations/utils.ts +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const fr = {
|
|
8
|
+
save: 'Enregistrer',
|
|
9
|
+
selectSingle: 'Sélectionner une date',
|
|
10
|
+
selectMultiple: 'Sélectionner plusieurs dates',
|
|
11
|
+
selectRange: 'Sélectionner une période',
|
|
12
|
+
notAccordingToDateFormat: inputFormat => `La date doit être au format ${inputFormat}`,
|
|
13
|
+
mustBeHigherThan: date => `La date doit être après le ${date}`,
|
|
14
|
+
mustBeLowerThan: date => `La date doit être avant le ${date}`,
|
|
15
|
+
mustBeBetween: (startDate, endDate) => `La date doit être en le ${startDate} et le ${endDate}`,
|
|
16
|
+
dateIsDisabled: 'Le jour n\'est pas autorisé',
|
|
17
|
+
previous: 'Précédent',
|
|
18
|
+
next: 'Suivant',
|
|
19
|
+
typeInDate: 'Entrer la date',
|
|
20
|
+
pickDateFromCalendar: 'Sélectionner une date dans le calendrier',
|
|
21
|
+
close: 'Fermer'
|
|
22
|
+
};
|
|
23
|
+
var _default = fr;
|
|
24
|
+
exports.default = _default;
|
|
25
|
+
//# sourceMappingURL=fr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fr","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["fr.ts"],"sourcesContent":["\n \nimport type { TranslationsType } from './utils'\n\nconst fr: TranslationsType = {\n save: 'Enregistrer',\n selectSingle: 'Sélectionner une date',\n selectMultiple: 'Sélectionner plusieurs dates',\n selectRange: 'Sélectionner une période',\n notAccordingToDateFormat: (inputFormat) =>\n `La date doit être au format ${inputFormat}`,\n mustBeHigherThan: (date) => `La date doit être après le ${date}`,\n mustBeLowerThan: (date) => `La date doit être avant le ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `La date doit être en le ${startDate} et le ${endDate}`,\n dateIsDisabled: 'Le jour n\\'est pas autorisé',\n previous: 'Précédent',\n next: 'Suivant',\n typeInDate: 'Entrer la date',\n pickDateFromCalendar: 'Sélectionner une date dans le calendrier',\n close: 'Fermer',\n}\nexport default fr\n"],"mappings":";;;;;;AAIA,MAAMA,EAAoB,GAAG;EACzBC,IAAI,EAAE,aADmB;EAEzBC,YAAY,EAAE,uBAFW;EAGzBC,cAAc,EAAE,8BAHS;EAIzBC,WAAW,EAAE,0BAJY;EAKzBC,wBAAwB,EAAGC,WAAD,IACrB,+BAA8BA,WAAY,EANtB;EAOzBC,gBAAgB,EAAGC,IAAD,IAAW,8BAA6BA,IAAK,EAPtC;EAQzBC,eAAe,EAAGD,IAAD,IAAW,8BAA6BA,IAAK,EARrC;EASzBE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACV,2BAA0BD,SAAU,UAASC,OAAQ,EAVjC;EAWzBC,cAAc,EAAE,6BAXS;EAYzBC,QAAQ,EAAE,WAZe;EAazBC,IAAI,EAAE,SAbmB;EAczBC,UAAU,EAAE,gBAda;EAezBC,oBAAoB,EAAE,0CAfG;EAgBzBC,KAAK,EAAE;AAhBkB,CAA7B;eAkBelB,E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const ko = {
|
|
8
|
+
save: '저장',
|
|
9
|
+
selectSingle: '날짜 선택',
|
|
10
|
+
selectMultiple: '여러 날짜 선택',
|
|
11
|
+
selectRange: '기간 선택',
|
|
12
|
+
notAccordingToDateFormat: inputFormat => `날짜 형식은 ${inputFormat}가 되어야 합니다`,
|
|
13
|
+
mustBeHigherThan: date => `${date} 보다 커야 합니다`,
|
|
14
|
+
mustBeLowerThan: date => `${date} 보다 작아야 합니다`,
|
|
15
|
+
mustBeBetween: (startDate, endDate) => `${startDate} - ${endDate} 사이여야 합니다`,
|
|
16
|
+
dateIsDisabled: '날짜는 허용되지 않습니다',
|
|
17
|
+
previous: '이전',
|
|
18
|
+
next: '다음',
|
|
19
|
+
typeInDate: '날짜 입력',
|
|
20
|
+
pickDateFromCalendar: '달력에서 날짜 선택',
|
|
21
|
+
close: '닫기'
|
|
22
|
+
};
|
|
23
|
+
var _default = ko;
|
|
24
|
+
exports.default = _default;
|
|
25
|
+
//# sourceMappingURL=ko.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ko","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["ko.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst ko: TranslationsType = {\n save: '저장',\n selectSingle: '날짜 선택',\n selectMultiple: '여러 날짜 선택',\n selectRange: '기간 선택',\n notAccordingToDateFormat: (inputFormat) =>\n `날짜 형식은 ${inputFormat}가 되어야 합니다`,\n mustBeHigherThan: (date) => `${date} 보다 커야 합니다`,\n mustBeLowerThan: (date) => `${date} 보다 작아야 합니다`,\n mustBeBetween: (startDate, endDate) =>\n `${startDate} - ${endDate} 사이여야 합니다`,\n dateIsDisabled: '날짜는 허용되지 않습니다',\n previous: '이전',\n next: '다음',\n typeInDate: '날짜 입력',\n pickDateFromCalendar: '달력에서 날짜 선택',\n close: '닫기',\n}\nexport default ko\n"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,IADqB;EAE3BC,YAAY,EAAE,OAFa;EAG3BC,cAAc,EAAE,UAHW;EAI3BC,WAAW,EAAE,OAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,UAASA,WAAY,WANG;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,GAAEA,IAAK,YAPT;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,GAAEA,IAAK,aARR;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,GAAED,SAAU,MAAKC,OAAQ,WAVD;EAW3BC,cAAc,EAAE,eAXW;EAY3BC,QAAQ,EAAE,IAZiB;EAa3BC,IAAI,EAAE,IAbqB;EAc3BC,UAAU,EAAE,OAde;EAe3BC,oBAAoB,EAAE,YAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["nl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["nl.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst nl: TranslationsType = {\n save: 'Opslaan',\n selectSingle: 'Selecteer datum',\n selectMultiple: 'Selecteer datums',\n selectRange: 'Selecteer periode',\n notAccordingToDateFormat: (inputFormat) =>\n `Datumformaat moet ${inputFormat} zijn`,\n mustBeHigherThan: (date) => `Moet later dan ${date}`,\n mustBeLowerThan: (date) => `Moet eerder dan ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `Moet tussen ${startDate} - ${endDate}`,\n dateIsDisabled: 'Deze dag mag niet',\n previous: 'Vorige',\n next: 'Volgende',\n typeInDate: 'Typ datum',\n pickDateFromCalendar: 'Kies datum van kalender',\n close: 'Sluit',\n}\nexport default nl\n"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,SADqB;EAE3BC,YAAY,EAAE,iBAFa;EAG3BC,cAAc,EAAE,kBAHW;EAI3BC,WAAW,EAAE,mBAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,qBAAoBA,WAAY,OANR;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,kBAAiBA,IAAK,EAPxB;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,eAAcD,SAAU,MAAKC,OAAQ,EAVb;EAW3BC,cAAc,EAAE,mBAXW;EAY3BC,QAAQ,EAAE,QAZiB;EAa3BC,IAAI,EAAE,UAbqB;EAc3BC,UAAU,EAAE,WAde;EAe3BC,oBAAoB,EAAE,yBAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["pl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["pl.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst pl: TranslationsType = {\n save: 'Zapisz',\n selectSingle: 'Wybierz datę',\n selectMultiple: 'Wybierz daty',\n selectRange: 'Wybierz zakres',\n notAccordingToDateFormat: (inputFormat) =>\n `Data musi mieć format ${inputFormat}`,\n mustBeHigherThan: (date) => `Nie wcześniej niżn ${date}`,\n mustBeLowerThan: (date) => `Nie później niż ${date}`,\n mustBeBetween: (startDate, endDate) => `Pomiędzy ${startDate} - ${endDate}`,\n dateIsDisabled: 'Niedozwolona data',\n\n previous: 'Poprzedni',\n next: 'Dalej',\n typeInDate: 'Wpisz datę',\n pickDateFromCalendar: 'Wybierz datę z kalendarza',\n close: 'Zamknij',\n}\nexport default pl\n"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,QADqB;EAE3BC,YAAY,EAAE,cAFa;EAG3BC,cAAc,EAAE,cAHW;EAI3BC,WAAW,EAAE,gBAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,yBAAwBA,WAAY,EANZ;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP5B;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KAAyB,YAAWD,SAAU,MAAKC,OAAQ,EAT/C;EAU3BC,cAAc,EAAE,mBAVW;EAY3BC,QAAQ,EAAE,WAZiB;EAa3BC,IAAI,EAAE,OAbqB;EAc3BC,UAAU,EAAE,YAde;EAe3BC,oBAAoB,EAAE,2BAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["pt","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["pt.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst pt: TranslationsType = {\n save: 'Salvar',\n selectSingle: 'Selecione a data',\n selectMultiple: 'Selecione as datas',\n selectRange: 'Selecione o período',\n notAccordingToDateFormat: (inputFormat: string) =>\n `O formato da data deve ser ${inputFormat}`,\n mustBeHigherThan: (date) => `Deve ser depois de ${date}`,\n mustBeLowerThan: (date) => `Deve ser antes de ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `Deve estar entre ${startDate} - ${endDate}`,\n dateIsDisabled: 'Data não é permitida',\n previous: 'Anterior',\n next: 'Próximo',\n typeInDate: 'Digite a data',\n pickDateFromCalendar: 'Escolha a data do calendário',\n close: 'Fechar',\n}\nexport default pt\n"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,QADqB;EAE3BC,YAAY,EAAE,kBAFa;EAG3BC,cAAc,EAAE,oBAHW;EAI3BC,WAAW,EAAE,qBAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,8BAA6BA,WAAY,EANjB;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP5B;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,qBAAoBA,IAAK,EAR1B;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,oBAAmBD,SAAU,MAAKC,OAAQ,EAVlB;EAW3BC,cAAc,EAAE,sBAXW;EAY3BC,QAAQ,EAAE,UAZiB;EAa3BC,IAAI,EAAE,SAbqB;EAc3BC,UAAU,EAAE,eAde;EAe3BC,oBAAoB,EAAE,8BAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E"}
|
|
@@ -18,7 +18,7 @@ function getTranslation(locale, key, fallback) {
|
|
|
18
18
|
|
|
19
19
|
const translation = translationsPerLocale[l][key];
|
|
20
20
|
|
|
21
|
-
if (!
|
|
21
|
+
if (!translation) {
|
|
22
22
|
console.warn(`[react-native-paper-dates] ${locale} is registered, but ${key} is missing`);
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["translationsPerLocale","getTranslation","locale","key","fallback","l","translationForLocale","console","warn","translation","registerTranslation","translations"],"sources":["utils.ts"],"sourcesContent":["export type TranslationsType = {\n selectSingle: string\n selectMultiple: string\n selectRange: string\n save: string\n notAccordingToDateFormat: (inputFormat: string) => string\n mustBeHigherThan: (date: string) => string\n mustBeLowerThan: (date: string) => string\n mustBeBetween: (startDate: string, endDate: string) => string\n dateIsDisabled: string\n previous: string\n next: string\n typeInDate: string\n pickDateFromCalendar: string\n close: string\n}\n\nlet translationsPerLocale: Record<string, TranslationsType> = {}\n\nexport function getTranslation<K extends keyof TranslationsType>(\n locale: string | undefined,\n key: K,\n fallback?: any\n) {\n const l = locale || 'en'\n const translationForLocale = translationsPerLocale[l]\n if (!translationForLocale) {\n console.warn(\n `[react-native-paper-dates] ${locale} is not registered, key: ${key}`\n )\n return fallback || key\n }\n const translation = translationsPerLocale[l][key]\n if (!translation) {\n console.warn(\n `[react-native-paper-dates] ${locale} is registered, but ${key} is missing`\n )\n }\n return translation || fallback || key\n}\n\nexport function registerTranslation(\n locale: string,\n translations: TranslationsType\n) {\n translationsPerLocale[locale] = translations\n}\n"],"mappings":";;;;;;;AAiBA,IAAIA,qBAAuD,GAAG,EAA9D;;AAEO,SAASC,cAAT,CACLC,MADK,EAELC,GAFK,EAGLC,QAHK,EAIL;EACA,MAAMC,CAAC,GAAGH,MAAM,IAAI,IAApB;EACA,MAAMI,oBAAoB,GAAGN,qBAAqB,CAACK,CAAD,CAAlD;;EACA,IAAI,CAACC,oBAAL,EAA2B;IACzBC,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,4BAA2BC,GAAI,EADtE;IAGA,OAAOC,QAAQ,IAAID,GAAnB;EACD;;EACD,MAAMM,WAAW,GAAGT,qBAAqB,CAACK,CAAD,CAArB,CAAyBF,GAAzB,CAApB;;EACA,IAAI,CAACM,WAAL,EAAkB;IAChBF,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,uBAAsBC,GAAI,aADjE;EAGD;;EACD,OAAOM,WAAW,IAAIL,QAAf,IAA2BD,GAAlC;AACD;;AAEM,SAASO,mBAAT,CACLR,MADK,EAELS,YAFK,EAGL;EACAX,qBAAqB,CAACE,MAAD,CAArB,GAAgCS,YAAhC;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useLatest","value","ref","React","useRef","current","useHeaderBackgroundColor","theme","useTheme","dark","mode","overlay","colors","surface","primary","useHeaderColorIsLight","background","Color","isLight","useHeaderTextColor","useTextColorOnPrimary","isDark","range","start","end","Array","fill","map","_","i","lightenBy","color","ratio","lightness","darkenBy"],"sources":["utils.ts"],"sourcesContent":["import * as React from 'react'\nimport { overlay, useTheme } from 'react-native-paper'\nimport Color from 'color'\n\nexport function useLatest<T>(value: T) {\n const ref = React.useRef(value)\n ref.current = value\n return ref\n}\n\nexport function useHeaderBackgroundColor() {\n const theme = useTheme()\n return theme.dark && theme.mode === 'adaptive'\n ? overlay(4, theme.colors.surface)\n : theme.colors.primary\n}\n\nexport function useHeaderColorIsLight() {\n const theme = useTheme()\n const background =\n theme.dark && theme.mode === 'adaptive'\n ? theme.colors.surface\n : theme.colors.primary\n return Color(background).isLight()\n}\n\nexport function useHeaderTextColor() {\n const isLight = useHeaderColorIsLight()\n return !isLight ? '#fff' : '#000'\n}\n\nexport function useTextColorOnPrimary() {\n const theme = useTheme()\n const isDark = !Color(theme.colors.primary).isLight()\n return isDark ? '#fff' : '#000'\n}\n\nexport function range(start: number, end: number) {\n return Array(end - start + 1)\n .fill(null)\n .map((_, i) => start + i)\n}\n\nexport function lightenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness + (100 - lightness) * ratio)\n}\n\nexport function darkenBy(color: Color, ratio: number) {\n const lightness = color.lightness()\n return color.lightness(lightness - lightness * ratio)\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEO,SAASA,SAAT,CAAsBC,KAAtB,EAAgC;EACrC,MAAMC,GAAG,GAAGC,KAAK,CAACC,MAAN,CAAaH,KAAb,CAAZ;EACAC,GAAG,CAACG,OAAJ,GAAcJ,KAAd;EACA,OAAOC,GAAP;AACD;;AAEM,SAASI,wBAAT,GAAoC;EACzC,MAAMC,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,OAAOD,KAAK,CAACE,IAAN,IAAcF,KAAK,CAACG,IAAN,KAAe,UAA7B,GACH,IAAAC,yBAAA,EAAQ,CAAR,EAAWJ,KAAK,CAACK,MAAN,CAAaC,OAAxB,CADG,GAEHN,KAAK,CAACK,MAAN,CAAaE,OAFjB;AAGD;;AAEM,SAASC,qBAAT,GAAiC;EACtC,MAAMR,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMQ,UAAU,GACdT,KAAK,CAACE,IAAN,IAAcF,KAAK,CAACG,IAAN,KAAe,UAA7B,GACIH,KAAK,CAACK,MAAN,CAAaC,OADjB,GAEIN,KAAK,CAACK,MAAN,CAAaE,OAHnB;EAIA,OAAO,IAAAG,cAAA,EAAMD,UAAN,EAAkBE,OAAlB,EAAP;AACD;;AAEM,SAASC,kBAAT,GAA8B;EACnC,MAAMD,OAAO,GAAGH,qBAAqB,EAArC;EACA,OAAO,CAACG,OAAD,GAAW,MAAX,GAAoB,MAA3B;AACD;;AAEM,SAASE,qBAAT,GAAiC;EACtC,MAAMb,KAAK,GAAG,IAAAC,0BAAA,GAAd;EACA,MAAMa,MAAM,GAAG,CAAC,IAAAJ,cAAA,EAAMV,KAAK,CAACK,MAAN,CAAaE,OAAnB,EAA4BI,OAA5B,EAAhB;EACA,OAAOG,MAAM,GAAG,MAAH,GAAY,MAAzB;AACD;;AAEM,SAASC,KAAT,CAAeC,KAAf,EAA8BC,GAA9B,EAA2C;EAChD,OAAOC,KAAK,CAACD,GAAG,GAAGD,KAAN,GAAc,CAAf,CAAL,CACJG,IADI,CACC,IADD,EAEJC,GAFI,CAEA,CAACC,CAAD,EAAIC,CAAJ,KAAUN,KAAK,GAAGM,CAFlB,CAAP;AAGD;;AAEM,SAASC,SAAT,CAAmBC,KAAnB,EAAiCC,KAAjC,EAAgD;EACrD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAG,CAAC,MAAMA,SAAP,IAAoBD,KAAhD,CAAP;AACD;;AAEM,SAASE,QAAT,CAAkBH,KAAlB,EAAgCC,KAAhC,EAA+C;EACpD,MAAMC,SAAS,GAAGF,KAAK,CAACE,SAAN,EAAlB;EACA,OAAOF,KAAK,CAACE,SAAN,CAAgBA,SAAS,GAAGA,SAAS,GAAGD,KAAxC,CAAP;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Animated","StyleSheet","View","useTheme","AnimatedCrossView","collapsed","calendar","calendarEdit","theme","calendarOpacity","useRef","Value","useEffect","timing","current","toValue","duration","useNativeDriver","start","styles","root","opacity","transform","scaleY","interpolate","inputRange","outputRange","scaleX","backgroundColor","colors","surface","scale","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 // visible,\n collapsed,\n calendar,\n calendarEdit,\n}: {\n calendar: any\n calendarEdit: any\n // visible: boolean\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 // if (visible) {\n Animated.timing(calendarOpacity.current, {\n toValue: collapsed ? 1 : 0,\n duration: 250,\n useNativeDriver: true,\n }).start()\n // }\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,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA,eAAe,SAASC,iBAAT,OAUZ;EAAA,IAVuC;IACxC;IACAC,SAFwC;IAGxCC,QAHwC;IAIxCC;EAJwC,CAUvC;EACD,MAAMC,KAAK,GAAGL,QAAQ,EAAtB;EACA,MAAMM,eAAe,GAAGV,KAAK,CAACW,MAAN,CACtB,IAAIV,QAAQ,CAACW,KAAb,CAAmBN,SAAS,GAAG,CAAH,GAAO,CAAnC,CADsB,CAAxB;EAGAN,KAAK,CAACa,SAAN,CAAgB,MAAM;IACpB;IACAZ,QAAQ,CAACa,MAAT,CAAgBJ,eAAe,CAACK,OAAhC,EAAyC;MACvCC,OAAO,EAAEV,SAAS,GAAG,CAAH,GAAO,CADc;MAEvCW,QAAQ,EAAE,GAF6B;MAGvCC,eAAe,EAAE;IAHsB,CAAzC,EAIGC,KAJH,GAFoB,CAOpB;EACD,CARD,EAQG,CAACb,SAAD,CARH;EAUA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEc,MAAM,CAACC;EAApB,gBACE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAEf,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACb,QADF,EAEL;MACEe,OAAO,EAAEZ,eAAe,CAACK,OAD3B;MAEEQ,SAAS,EAAE,CACT;QACEC,MAAM,EAAEd,eAAe,CAACK,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,EAAElB,eAAe,CAACK,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,GAuBGpB,QAvBH,CADF,eA0BE,oBAAC,QAAD,CAAU,IAAV;IACE,aAAa,EAAED,SAAS,GAAG,MAAH,GAAY,MADtC;IAEE,KAAK,EAAE,CACLc,MAAM,CAACZ,YADF,EAEL;MACEqB,eAAe,EAAEpB,KAAK,CAACqB,MAAN,CAAaC,OADhC;MAEET,OAAO,EAAEZ,eAAe,CAACK,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,EAAEtB,eAAe,CAACK,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,GAqBGnB,YArBH,CA1BF,CADF;AAoDD;AAED,MAAMY,MAAM,GAAGlB,UAAU,CAAC+B,MAAX,CAAkB;EAC/BZ,IAAI,EAAE;IAAEa,IAAI,EAAE;EAAR,CADyB;EAE/B1B,YAAY,EAAE;IACZ2B,QAAQ,EAAE,UADE;IAGZC,IAAI,EAAE,CAHM;IAIZC,KAAK,EAAE;EAJK,CAFiB;EAQ/B9B,QAAQ,EAAE;IACR2B,IAAI,EAAE;EADE;AARqB,CAAlB,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","AutoSizer","children","layout","setLayout","useState","onLayout","useCallback","event","nl","nativeEvent","width","height","styles","autoSizer","create","flex","overflow"],"sources":["AutoSizer.tsx"],"sourcesContent":["import * as React from 'react'\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native'\n\ntype WidthAndHeight = {\n width: number\n height: number\n}\n\nexport default function AutoSizer({\n children,\n}: {\n children: ({ width, height }: WidthAndHeight) => any\n}) {\n const [layout, setLayout] = React.useState<WidthAndHeight | null>(null)\n const onLayout = React.useCallback(\n (event: LayoutChangeEvent) => {\n const nl = event.nativeEvent.layout\n\n // https://github.com/necolas/react-native-web/issues/1704\n if (!layout || layout.width !== nl.width || layout.height !== nl.height) {\n setLayout({ width: nl.width, height: nl.height })\n }\n },\n [layout, setLayout]\n )\n return (\n <View style={[styles.autoSizer, layout && layout]} onLayout={onLayout}>\n {layout ? children(layout) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n autoSizer: {\n flex: 1,\n overflow: 'hidden',\n },\n})\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAA4BC,UAA5B,EAAwCC,IAAxC,QAAoD,cAApD;AAOA,eAAe,SAASC,SAAT,OAIZ;EAAA,IAJ+B;IAChCC;EADgC,CAI/B;EACD,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBN,KAAK,CAACO,QAAN,CAAsC,IAAtC,CAA5B;EACA,MAAMC,QAAQ,GAAGR,KAAK,CAACS,WAAN,CACdC,KAAD,IAA8B;IAC5B,MAAMC,EAAE,GAAGD,KAAK,CAACE,WAAN,CAAkBP,MAA7B,CAD4B,CAG5B;;IACA,IAAI,CAACA,MAAD,IAAWA,MAAM,CAACQ,KAAP,KAAiBF,EAAE,CAACE,KAA/B,IAAwCR,MAAM,CAACS,MAAP,KAAkBH,EAAE,CAACG,MAAjE,EAAyE;MACvER,SAAS,CAAC;QAAEO,KAAK,EAAEF,EAAE,CAACE,KAAZ;QAAmBC,MAAM,EAAEH,EAAE,CAACG;MAA9B,CAAD,CAAT;IACD;EACF,CARc,EASf,CAACT,MAAD,EAASC,SAAT,CATe,CAAjB;EAWA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACS,MAAM,CAACC,SAAR,EAAmBX,MAAM,IAAIA,MAA7B,CAAb;IAAmD,QAAQ,EAAEG;EAA7D,GACGH,MAAM,GAAGD,QAAQ,CAACC,MAAD,CAAX,GAAsB,IAD/B,CADF;AAKD;AAED,MAAMU,MAAM,GAAGd,UAAU,CAACgB,MAAX,CAAkB;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE,CADG;IAETC,QAAQ,EAAE;EAFD;AADoB,CAAlB,CAAf"}
|
|
@@ -19,6 +19,8 @@ function Calendar(props) {
|
|
|
19
19
|
endDate,
|
|
20
20
|
date,
|
|
21
21
|
disableWeekDays,
|
|
22
|
+
startYear,
|
|
23
|
+
endYear,
|
|
22
24
|
dates,
|
|
23
25
|
validRange,
|
|
24
26
|
dateMode
|
|
@@ -55,7 +57,7 @@ function Calendar(props) {
|
|
|
55
57
|
const ed = endDateRef.current;
|
|
56
58
|
let isStart = true;
|
|
57
59
|
|
|
58
|
-
if (sd && !ed && dateToUnix(d)
|
|
60
|
+
if (sd && !ed && dateToUnix(d) >= dateToUnix(sd)) {
|
|
59
61
|
isStart = false;
|
|
60
62
|
}
|
|
61
63
|
|
|
@@ -123,7 +125,9 @@ function Calendar(props) {
|
|
|
123
125
|
}), scrollMode === 'horizontal' ? /*#__PURE__*/React.createElement(YearPicker, {
|
|
124
126
|
selectedYear: selectedYear,
|
|
125
127
|
selectingYear: selectingYear,
|
|
126
|
-
onPressYear: onPressYear
|
|
128
|
+
onPressYear: onPressYear,
|
|
129
|
+
startYear: startYear ?? 1800,
|
|
130
|
+
endYear: endYear ?? 2200
|
|
127
131
|
}) : null);
|
|
128
132
|
}
|
|
129
133
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Calendar.tsx"],"names":["React","StyleSheet","View","Swiper","Month","areDatesOnSameDay","dateToUnix","getEndOfDay","getInitialIndex","CalendarHeader","useCallback","useMemo","YearPicker","Color","useTheme","useLatest","lightenBy","darkenBy","Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","dates","validRange","dateMode","theme","selectColor","dark","colors","primary","hex","scrollMode","selectedYear","setSelectedYear","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","create","flex","viewPager","memo"],"mappings":"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","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\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 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 />\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"]}
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","Swiper","Month","areDatesOnSameDay","dateToUnix","getEndOfDay","getInitialIndex","CalendarHeader","useCallback","useMemo","YearPicker","Color","useTheme","useLatest","lightenBy","darkenBy","Calendar","props","locale","mode","onChange","startDate","endDate","date","disableWeekDays","startYear","endYear","dates","validRange","dateMode","theme","selectColor","dark","colors","primary","hex","scrollMode","selectedYear","setSelectedYear","useState","undefined","selectingYear","setSelectingYear","onPressYear","year","prev","startDateRef","endDateRef","onChangeRef","datesRef","onPressDate","d","current","sd","ed","isStart","exists","some","newDates","filter","sort","a","b","getTime","datePressed","change","firstDate","styles","root","index","roundness","onPrev","onNext","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,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { View, StyleSheet, Keyboard } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import DatePickerInputWithoutModal from './DatePickerInputWithoutModal';
|
|
4
4
|
|
|
5
5
|
function CalendarEdit(_ref) {
|
|
6
6
|
let {
|
|
@@ -44,7 +44,7 @@ function CalendarEdit(_ref) {
|
|
|
44
44
|
}, []);
|
|
45
45
|
return /*#__PURE__*/React.createElement(View, {
|
|
46
46
|
style: styles.root
|
|
47
|
-
}, mode === 'single' ? /*#__PURE__*/React.createElement(
|
|
47
|
+
}, mode === 'single' ? /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, {
|
|
48
48
|
inputMode: "start",
|
|
49
49
|
ref: dateInput,
|
|
50
50
|
label: label,
|
|
@@ -59,7 +59,7 @@ function CalendarEdit(_ref) {
|
|
|
59
59
|
autoComplete: 'off'
|
|
60
60
|
}) : null, mode === 'range' ? /*#__PURE__*/React.createElement(View, {
|
|
61
61
|
style: styles.inner
|
|
62
|
-
}, /*#__PURE__*/React.createElement(
|
|
62
|
+
}, /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, {
|
|
63
63
|
inputMode: "start",
|
|
64
64
|
ref: startInput,
|
|
65
65
|
label: startLabel,
|
|
@@ -75,7 +75,7 @@ function CalendarEdit(_ref) {
|
|
|
75
75
|
autoComplete: 'off'
|
|
76
76
|
}), /*#__PURE__*/React.createElement(View, {
|
|
77
77
|
style: styles.separator
|
|
78
|
-
}), /*#__PURE__*/React.createElement(
|
|
78
|
+
}), /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, {
|
|
79
79
|
inputMode: "end",
|
|
80
80
|
ref: endInput,
|
|
81
81
|
label: endLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","Keyboard","DatePickerInputWithoutModal","CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","dateInput","useRef","startInput","endInput","useEffect","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","date","inner","startDate","separator","endDate","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,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,IADF,EAEEC,UAFF,EAIEC,QAJF,QAKO,cALP;AAUA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,YAAT,OAoBG;EAAA,IApBmB;IACpBC,IADoB;IAEpBC,KAFoB;IAGpBC,KAAK,GAAG,EAHY;IAIpBC,UAAU,GAAG,OAJO;IAKpBC,QAAQ,GAAG,KALS;IAMpBC,SANoB;IAOpBC,QAPoB;IAQpBC,UARoB;IASpBC;EAToB,CAoBnB;EACD,MAAMC,SAAS,GAAGf,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAlB;EACA,MAAMC,UAAU,GAAGjB,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAnB;EACA,MAAME,QAAQ,GAAGlB,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAjB,CAHC,CAKD;;EACAhB,KAAK,CAACmB,SAAN,CAAgB,MAAM;IACpB;IACA,IAAIR,SAAJ,EAAe;MACbR,QAAQ,CAACiB,OAAT;IACD;;IAED,MAAMC,aAAa,GAAG,CAACN,SAAS,CAACO,OAAX,EAAoBL,UAAU,CAACK,OAA/B,EAAwCC,MAAxC,CACnBC,CAAD,IAAOA,CADa,CAAtB;IAIA,MAAMC,YAAY,GAAG,CACnBV,SAAS,CAACO,OADS,EAEnBL,UAAU,CAACK,OAFQ,EAGnBJ,QAAQ,CAACI,OAHU,EAInBC,MAJmB,CAIXC,CAAD,IAAOA,CAJK,CAArB;;IAMA,IAAIb,SAAJ,EAAe;MACbc,YAAY,CAACC,OAAb,CAAsBC,EAAD,IAAQA,EAAE,CAACC,IAAH,EAA7B;IACD,CAFD,MAEO;MACLP,aAAa,CAACK,OAAd,CAAuBC,EAAD,IAAQA,EAAE,CAACE,KAAH,EAA9B;IACD;EACF,CArBD,EAqBG,CAACvB,IAAD,EAAOW,UAAP,EAAmBC,QAAnB,EAA6BH,SAA7B,EAAwCJ,SAAxC,CArBH;EAuBA,MAAMmB,kBAAkB,GAAG9B,KAAK,CAAC+B,WAAN,CAAkB,MAAM;IACjD,IAAIb,QAAQ,CAACI,OAAb,EAAsB;MACpBJ,QAAQ,CAACI,OAAT,CAAiBO,KAAjB;IACD;EACF,CAJ0B,EAIxB,CAACX,QAAD,CAJwB,CAA3B;EAMA,MAAMc,gBAAgB,GAAGhC,KAAK,CAAC+B,WAAN,CAAkB,MAAM,CAC/C;EACD,CAFwB,EAEtB,EAFsB,CAAzB;EAIA,MAAME,aAAa,GAAGjC,KAAK,CAAC+B,WAAN,CAAkB,MAAM,CAC5C;EACD,CAFqB,EAEnB,EAFmB,CAAtB;EAIA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEG,MAAM,CAACC;EAApB,GACG7B,IAAI,KAAK,QAAT,gBACC,oBAAC,2BAAD;IACE,SAAS,EAAC,OADZ;IAEE,GAAG,EAAES,SAFP;IAGE,KAAK,EAAEP,KAHT;IAIE,KAAK,EAAED,KAAK,CAAC6B,IAJf;IAKE,QAAQ,EAAGA,IAAD,IAAUxB,QAAQ,CAAC,EAAE,GAAGL,KAAL;MAAY6B;IAAZ,CAAD,CAL9B;IAME,eAAe,EAAEH,aANnB;IAOE,UAAU,EAAEpB,UAPd;IAQE,MAAM,EAAEC,MARV;IASE,SAAS,EAAE,KATb;IAUE,YAAY,EAAE;EAVhB,EADD,GAaG,IAdN,EAeGR,IAAI,KAAK,OAAT,gBACC,oBAAC,IAAD;IAAM,KAAK,EAAE4B,MAAM,CAACG;EAApB,gBACE,oBAAC,2BAAD;IACE,SAAS,EAAC,OADZ;IAEE,GAAG,EAAEpB,UAFP;IAGE,KAAK,EAAER,UAHT;IAIE,KAAK,EAAEF,KAAK,CAAC+B,SAJf;IAKE,QAAQ,EAAGA,SAAD,IAAe1B,QAAQ,CAAC,EAAE,GAAGL,KAAL;MAAY+B;IAAZ,CAAD,CALnC;IAME,aAAa,EAAE,MANjB;IAOE,eAAe,EAAER,kBAPnB;IAQE,UAAU,EAAEjB,UARd;IASE,MAAM,EAAEC,MATV;IAUE,SAAS,EAAE,KAVb;IAWE,YAAY,EAAE;EAXhB,EADF,eAcE,oBAAC,IAAD;IAAM,KAAK,EAAEoB,MAAM,CAACK;EAApB,EAdF,eAeE,oBAAC,2BAAD;IACE,SAAS,EAAC,KADZ;IAEE,GAAG,EAAErB,QAFP;IAGE,KAAK,EAAER,QAHT;IAIE,KAAK,EAAEH,KAAK,CAACiC,OAJf;IAKE,QAAQ,EAAGA,OAAD,IAAa5B,QAAQ,CAAC,EAAE,GAAGL,KAAL;MAAYiC;IAAZ,CAAD,CALjC;IAME,eAAe,EAAER,gBANnB;IAOE,UAAU,EAAEnB,UAPd;IAQE,MAAM,EAAEC,MARV;IASE,SAAS,EAAE,KATb;IAUE,YAAY,EAAC;EAVf,EAfF,CADD,GA6BG,IA5CN,CADF;AAgDD;;AAED,MAAMoB,MAAM,GAAGhC,UAAU,CAACuC,MAAX,CAAkB;EAC/BN,IAAI,EAAE;IAAEO,OAAO,EAAE;EAAX,CADyB;EAE/BL,KAAK,EAAE;IAAEM,aAAa,EAAE;EAAjB,CAFwB;EAG/BC,cAAc,EAAE;IAAEC,IAAI,EAAE;EAAR,CAHe;EAI/BC,KAAK,EAAE;IAAED,IAAI,EAAE;EAAR,CAJwB;EAK/BN,SAAS,EAAE;IAAEQ,KAAK,EAAE;EAAT;AALoB,CAAlB,CAAf;AAQA,4BAAe/C,KAAK,CAACgD,IAAN,CAAW3C,YAAX,CAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","IconButton","useTheme","DayNames","dayNamesHeight","getTranslation","buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","memo"],"sources":["CalendarHeader.tsx"],"sourcesContent":["import * as React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { IconButton, useTheme } from 'react-native-paper'\nimport DayNames, { dayNamesHeight } from './DayNames'\nimport type { DisableWeekDaysType } from './dateUtils'\nimport { getTranslation } from '../translations/utils'\n\nconst buttonContainerHeight = 56\nconst buttonContainerMarginTop = 4\nconst buttonContainerMarginBottom = 8\n\nexport function getCalendarHeaderHeight(scrollMode: 'horizontal' | 'vertical') {\n if (scrollMode === 'horizontal') {\n return (\n buttonContainerHeight +\n buttonContainerMarginTop +\n buttonContainerMarginBottom +\n dayNamesHeight\n )\n }\n return dayNamesHeight\n}\n\nfunction CalendarHeader({\n scrollMode,\n onPrev,\n onNext,\n disableWeekDays,\n locale,\n}: {\n locale: undefined | string\n scrollMode: 'horizontal' | 'vertical'\n onPrev: () => any\n onNext: () => any\n disableWeekDays?: DisableWeekDaysType\n}) {\n const theme = useTheme()\n const isHorizontal = scrollMode === 'horizontal'\n return (\n <View style={styles.datePickerHeader} pointerEvents={'box-none'}>\n {isHorizontal ? (\n <View style={styles.buttonContainer} pointerEvents={'box-none'}>\n <View style={styles.spacer} pointerEvents={'box-none'} />\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-left\"\n accessibilityLabel={getTranslation(locale, 'previous')}\n onPress={onPrev}\n />\n </View>\n\n <View\n style={[\n styles.buttonWrapper,\n { backgroundColor: theme.colors.surface },\n ]}\n >\n <IconButton\n icon=\"chevron-right\"\n accessibilityLabel={getTranslation(locale, 'next')}\n onPress={onNext}\n />\n </View>\n </View>\n ) : null}\n <DayNames disableWeekDays={disableWeekDays} locale={locale} />\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n datePickerHeader: {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n zIndex: 10,\n },\n buttonContainer: {\n height: buttonContainerHeight,\n marginTop: buttonContainerMarginTop,\n marginBottom: buttonContainerMarginBottom,\n flexDirection: 'row',\n alignItems: 'center',\n },\n buttonWrapper: {},\n spacer: { flex: 1 },\n})\n\nexport default React.memo(CalendarHeader)\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAASC,UAAT,EAAqBC,QAArB,QAAqC,oBAArC;AACA,OAAOC,QAAP,IAAmBC,cAAnB,QAAyC,YAAzC;AAEA,SAASC,cAAT,QAA+B,uBAA/B;AAEA,MAAMC,qBAAqB,GAAG,EAA9B;AACA,MAAMC,wBAAwB,GAAG,CAAjC;AACA,MAAMC,2BAA2B,GAAG,CAApC;AAEA,OAAO,SAASC,uBAAT,CAAiCC,UAAjC,EAAwE;EAC7E,IAAIA,UAAU,KAAK,YAAnB,EAAiC;IAC/B,OACEJ,qBAAqB,GACrBC,wBADA,GAEAC,2BAFA,GAGAJ,cAJF;EAMD;;EACD,OAAOA,cAAP;AACD;;AAED,SAASO,cAAT,OAYG;EAAA,IAZqB;IACtBD,UADsB;IAEtBE,MAFsB;IAGtBC,MAHsB;IAItBC,eAJsB;IAKtBC;EALsB,CAYrB;EACD,MAAMC,KAAK,GAAGd,QAAQ,EAAtB;EACA,MAAMe,YAAY,GAAGP,UAAU,KAAK,YAApC;EACA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEQ,MAAM,CAACC,gBAApB;IAAsC,aAAa,EAAE;EAArD,GACGF,YAAY,gBACX,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACE,eAApB;IAAqC,aAAa,EAAE;EAApD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEF,MAAM,CAACG,MAApB;IAA4B,aAAa,EAAE;EAA3C,EADF,eAEE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLH,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,cADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,UAAT,CAFpC;IAGE,OAAO,EAAEH;EAHX,EANF,CAFF,eAeE,oBAAC,IAAD;IACE,KAAK,EAAE,CACLM,MAAM,CAACI,aADF,EAEL;MAAEC,eAAe,EAAEP,KAAK,CAACQ,MAAN,CAAaC;IAAhC,CAFK;EADT,gBAME,oBAAC,UAAD;IACE,IAAI,EAAC,eADP;IAEE,kBAAkB,EAAEpB,cAAc,CAACU,MAAD,EAAS,MAAT,CAFpC;IAGE,OAAO,EAAEF;EAHX,EANF,CAfF,CADW,GA6BT,IA9BN,eA+BE,oBAAC,QAAD;IAAU,eAAe,EAAEC,eAA3B;IAA4C,MAAM,EAAEC;EAApD,EA/BF,CADF;AAmCD;;AAED,MAAMG,MAAM,GAAGnB,UAAU,CAAC2B,MAAX,CAAkB;EAC/BP,gBAAgB,EAAE;IAChBQ,QAAQ,EAAE,UADM;IAEhBC,GAAG,EAAE,CAFW;IAGhBC,KAAK,EAAE,CAHS;IAIhBC,IAAI,EAAE,CAJU;IAKhBC,MAAM,EAAE;EALQ,CADa;EAQ/BX,eAAe,EAAE;IACfY,MAAM,EAAE1B,qBADO;IAEf2B,SAAS,EAAE1B,wBAFI;IAGf2B,YAAY,EAAE1B,2BAHC;IAIf2B,aAAa,EAAE,KAJA;IAKfC,UAAU,EAAE;EALG,CARc;EAe/Bd,aAAa,EAAE,EAfgB;EAgB/BD,MAAM,EAAE;IAAEgB,IAAI,EAAE;EAAR;AAhBuB,CAAlB,CAAf;AAmBA,4BAAevC,KAAK,CAACwC,IAAN,CAAW3B,cAAX,CAAf"}
|
|
@@ -1,44 +1,23 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import { View, StyleSheet } from 'react-native';
|
|
4
|
+
import { IconButton } from 'react-native-paper';
|
|
5
|
+
import { StyleSheet } from 'react-native';
|
|
7
6
|
import DatePickerModal from './DatePickerModal';
|
|
8
|
-
import useDateInput from './inputUtils';
|
|
9
7
|
import { useLatest } from '../utils';
|
|
8
|
+
import DatePickerInputWithoutModal from './DatePickerInputWithoutModal';
|
|
10
9
|
|
|
11
10
|
function DatePickerInput(_ref, ref) {
|
|
12
11
|
let {
|
|
13
|
-
label,
|
|
14
|
-
value,
|
|
15
|
-
onChange,
|
|
16
|
-
style,
|
|
17
|
-
locale,
|
|
18
|
-
validRange,
|
|
19
|
-
inputMode,
|
|
20
12
|
withModal = true,
|
|
21
|
-
|
|
13
|
+
calendarIcon = 'calendar',
|
|
22
14
|
...rest
|
|
23
15
|
} = _ref;
|
|
24
|
-
const theme = useTheme();
|
|
25
|
-
const {
|
|
26
|
-
formattedValue,
|
|
27
|
-
inputFormat,
|
|
28
|
-
onChangeText,
|
|
29
|
-
error
|
|
30
|
-
} = useDateInput({
|
|
31
|
-
locale,
|
|
32
|
-
value,
|
|
33
|
-
validRange,
|
|
34
|
-
inputMode,
|
|
35
|
-
onChange
|
|
36
|
-
});
|
|
37
16
|
const [visible, setVisible] = React.useState(false);
|
|
38
17
|
const onDismiss = React.useCallback(() => {
|
|
39
18
|
setVisible(false);
|
|
40
19
|
}, [setVisible]);
|
|
41
|
-
const onChangeRef = useLatest(onChange);
|
|
20
|
+
const onChangeRef = useLatest(rest.onChange);
|
|
42
21
|
const onInnerConfirm = React.useCallback(_ref2 => {
|
|
43
22
|
let {
|
|
44
23
|
date
|
|
@@ -46,69 +25,37 @@ function DatePickerInput(_ref, ref) {
|
|
|
46
25
|
setVisible(false);
|
|
47
26
|
onChangeRef.current(date);
|
|
48
27
|
}, [setVisible, onChangeRef]);
|
|
49
|
-
return /*#__PURE__*/React.createElement(
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
mode: "single",
|
|
78
|
-
visible: visible,
|
|
79
|
-
onDismiss: onDismiss,
|
|
80
|
-
onConfirm: onInnerConfirm,
|
|
81
|
-
locale: locale,
|
|
82
|
-
dateMode: inputMode,
|
|
83
|
-
validRange: validRange
|
|
84
|
-
}) : null);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function getLabel(_ref3) {
|
|
88
|
-
let {
|
|
89
|
-
withDateFormatInLabel,
|
|
90
|
-
inputFormat,
|
|
91
|
-
label
|
|
92
|
-
} = _ref3;
|
|
93
|
-
|
|
94
|
-
if (withDateFormatInLabel) {
|
|
95
|
-
return label ? `${label} (${inputFormat})` : inputFormat;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return label || '';
|
|
28
|
+
return /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, _extends({
|
|
29
|
+
ref: ref
|
|
30
|
+
}, rest, {
|
|
31
|
+
inputButtons: withModal ? /*#__PURE__*/React.createElement(IconButton, {
|
|
32
|
+
size: 24,
|
|
33
|
+
style: styles.calendarButton,
|
|
34
|
+
icon: calendarIcon,
|
|
35
|
+
onPress: () => setVisible(true)
|
|
36
|
+
}) : null,
|
|
37
|
+
modal: _ref3 => {
|
|
38
|
+
let {
|
|
39
|
+
value,
|
|
40
|
+
locale,
|
|
41
|
+
inputMode,
|
|
42
|
+
validRange
|
|
43
|
+
} = _ref3;
|
|
44
|
+
return withModal ? /*#__PURE__*/React.createElement(DatePickerModal, {
|
|
45
|
+
date: value,
|
|
46
|
+
mode: "single",
|
|
47
|
+
visible: visible,
|
|
48
|
+
onDismiss: onDismiss,
|
|
49
|
+
onConfirm: onInnerConfirm,
|
|
50
|
+
locale: locale,
|
|
51
|
+
dateMode: inputMode,
|
|
52
|
+
validRange: validRange
|
|
53
|
+
}) : null;
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
99
56
|
}
|
|
100
57
|
|
|
101
58
|
const styles = StyleSheet.create({
|
|
102
|
-
root: {
|
|
103
|
-
minWidth: 150,
|
|
104
|
-
flexDirection: 'row',
|
|
105
|
-
position: 'relative',
|
|
106
|
-
alignItems: 'center',
|
|
107
|
-
flexGrow: 1
|
|
108
|
-
},
|
|
109
|
-
input: {
|
|
110
|
-
flexGrow: 1
|
|
111
|
-
},
|
|
112
59
|
calendarButton: {
|
|
113
60
|
position: 'absolute',
|
|
114
61
|
right: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","IconButton","StyleSheet","DatePickerModal","useLatest","DatePickerInputWithoutModal","DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onChange","onInnerConfirm","date","current","styles","calendarButton","value","locale","inputMode","validRange","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,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBZ,KAAK,CAACa,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGd,KAAK,CAACe,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,WAAW,GAAGZ,SAAS,CAACM,IAAI,CAACO,QAAN,CAA7B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACe,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEI;IAAF,CAAkB;IACjBP,UAAU,CAAC,KAAD,CAAV;IACAI,WAAW,CAACI,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACP,UAAD,EAAaI,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAET;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,UAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEa,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEb,YAHR;MAIE,OAAO,EAAE,MAAMG,UAAU,CAAC,IAAD;IAJ3B,EADO,GAOL,IAXR;IAaE,KAAK,EAAE;MAAA,IAAC;QAAEW,KAAF;QAASC,MAAT;QAAiBC,SAAjB;QAA4BC;MAA5B,CAAD;MAAA,OACLlB,SAAS,gBACP,oBAAC,eAAD;QACE,IAAI,EAAEe,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEZ,OAHX;QAIE,SAAS,EAAEG,SAJb;QAKE,SAAS,EAAEI,cALb;QAME,MAAM,EAAEM,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC;MARd,EADO,GAWL,IAZC;IAAA;EAbT,GADF;AA8BD;;AAED,MAAML,MAAM,GAAGnB,UAAU,CAACyB,MAAX,CAAkB;EAC/BL,cAAc,EAAE;IAAEM,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;AAIA,4BAAe9B,KAAK,CAAC+B,UAAN,CAAiBzB,eAAjB,CAAf"}
|
|
@@ -0,0 +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":""}
|