react-native-paper-dates 0.6.0 → 0.8.2

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.
Files changed (120) hide show
  1. package/README.md +20 -5
  2. package/lib/commonjs/Date/CalendarEdit.js +3 -3
  3. package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
  4. package/lib/commonjs/Date/CalendarHeader.js +6 -8
  5. package/lib/commonjs/Date/CalendarHeader.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerInput.js +8 -9
  7. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerModalContent.js +4 -0
  9. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  10. package/lib/commonjs/Date/DatePickerModalContentHeader.js +5 -6
  11. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  12. package/lib/commonjs/Date/DatePickerModalHeader.js +5 -4
  13. package/lib/commonjs/Date/DatePickerModalHeader.js.map +1 -1
  14. package/lib/commonjs/Date/DateRangeInput.js +1 -4
  15. package/lib/commonjs/Date/DateRangeInput.js.map +1 -1
  16. package/lib/commonjs/Date/Day.js +2 -4
  17. package/lib/commonjs/Date/Day.js.map +1 -1
  18. package/lib/commonjs/Date/Month.js +4 -8
  19. package/lib/commonjs/Date/Month.js.map +1 -1
  20. package/lib/commonjs/Date/YearPicker.js +3 -4
  21. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  22. package/lib/commonjs/Date/inputUtils.js +1 -1
  23. package/lib/commonjs/Date/inputUtils.js.map +1 -1
  24. package/lib/commonjs/Time/AnalogClock.js +4 -0
  25. package/lib/commonjs/Time/AnalogClock.js.map +1 -1
  26. package/lib/commonjs/Time/TimeInput.js +1 -4
  27. package/lib/commonjs/Time/TimeInput.js.map +1 -1
  28. package/lib/commonjs/Time/TimePickerModal.js +7 -7
  29. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  30. package/lib/commonjs/index.js +9 -0
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/translations/de.js +25 -0
  33. package/lib/commonjs/translations/de.js.map +1 -0
  34. package/lib/commonjs/translations/en.js +9 -4
  35. package/lib/commonjs/translations/en.js.map +1 -1
  36. package/lib/commonjs/translations/enGB.js +9 -4
  37. package/lib/commonjs/translations/enGB.js.map +1 -1
  38. package/lib/commonjs/translations/nl.js +9 -4
  39. package/lib/commonjs/translations/nl.js.map +1 -1
  40. package/lib/commonjs/translations/pl.js +9 -4
  41. package/lib/commonjs/translations/pl.js.map +1 -1
  42. package/lib/commonjs/translations/pt.js +25 -0
  43. package/lib/commonjs/translations/pt.js.map +1 -0
  44. package/lib/commonjs/translations/utils.js.map +1 -1
  45. package/lib/module/Date/CalendarEdit.js +3 -3
  46. package/lib/module/Date/CalendarEdit.js.map +1 -1
  47. package/lib/module/Date/CalendarHeader.js +5 -8
  48. package/lib/module/Date/CalendarHeader.js.map +1 -1
  49. package/lib/module/Date/DatePickerInput.js +8 -9
  50. package/lib/module/Date/DatePickerInput.js.map +1 -1
  51. package/lib/module/Date/DatePickerModalContent.js +4 -0
  52. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  53. package/lib/module/Date/DatePickerModalContentHeader.js +5 -6
  54. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  55. package/lib/module/Date/DatePickerModalHeader.js +5 -4
  56. package/lib/module/Date/DatePickerModalHeader.js.map +1 -1
  57. package/lib/module/Date/DateRangeInput.js +1 -4
  58. package/lib/module/Date/DateRangeInput.js.map +1 -1
  59. package/lib/module/Date/Day.js +2 -4
  60. package/lib/module/Date/Day.js.map +1 -1
  61. package/lib/module/Date/Month.js +4 -8
  62. package/lib/module/Date/Month.js.map +1 -1
  63. package/lib/module/Date/YearPicker.js +3 -4
  64. package/lib/module/Date/YearPicker.js.map +1 -1
  65. package/lib/module/Date/inputUtils.js +1 -1
  66. package/lib/module/Date/inputUtils.js.map +1 -1
  67. package/lib/module/Time/AnalogClock.js +4 -0
  68. package/lib/module/Time/AnalogClock.js.map +1 -1
  69. package/lib/module/Time/TimeInput.js +1 -4
  70. package/lib/module/Time/TimeInput.js.map +1 -1
  71. package/lib/module/Time/TimePickerModal.js +7 -7
  72. package/lib/module/Time/TimePickerModal.js.map +1 -1
  73. package/lib/module/index.js +1 -0
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/translations/de.js +18 -0
  76. package/lib/module/translations/de.js.map +1 -0
  77. package/lib/module/translations/en.js +9 -4
  78. package/lib/module/translations/en.js.map +1 -1
  79. package/lib/module/translations/enGB.js +9 -4
  80. package/lib/module/translations/enGB.js.map +1 -1
  81. package/lib/module/translations/nl.js +9 -4
  82. package/lib/module/translations/nl.js.map +1 -1
  83. package/lib/module/translations/pl.js +9 -4
  84. package/lib/module/translations/pl.js.map +1 -1
  85. package/lib/module/translations/pt.js +18 -0
  86. package/lib/module/translations/pt.js.map +1 -0
  87. package/lib/module/translations/utils.js.map +1 -1
  88. package/lib/typescript/Date/DatePickerInput.d.ts +8 -8
  89. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +1 -0
  90. package/lib/typescript/Date/DatePickerModalHeader.d.ts +1 -0
  91. package/lib/typescript/TextInputMask.d.ts +3 -3
  92. package/lib/typescript/Time/TimePickerModal.d.ts +2 -1
  93. package/lib/typescript/index.d.ts +1 -0
  94. package/lib/typescript/translations/de.d.ts +3 -0
  95. package/lib/typescript/translations/pt.d.ts +3 -0
  96. package/lib/typescript/translations/utils.d.ts +9 -4
  97. package/package.json +3 -8
  98. package/src/Date/CalendarEdit.tsx +3 -3
  99. package/src/Date/CalendarHeader.tsx +3 -6
  100. package/src/Date/DatePickerInput.tsx +13 -8
  101. package/src/Date/DatePickerModalContent.tsx +2 -0
  102. package/src/Date/DatePickerModalContentHeader.tsx +10 -6
  103. package/src/Date/DatePickerModalHeader.tsx +3 -3
  104. package/src/Date/DateRangeInput.tsx +1 -7
  105. package/src/Date/Day.tsx +1 -3
  106. package/src/Date/Month.tsx +2 -6
  107. package/src/Date/YearPicker.tsx +2 -3
  108. package/src/Date/inputUtils.ts +13 -9
  109. package/src/Time/AnalogClock.tsx +4 -0
  110. package/src/Time/TimeInput.tsx +0 -3
  111. package/src/Time/TimePickerModal.tsx +7 -5
  112. package/src/index.tsx +1 -0
  113. package/src/translations/de.ts +20 -0
  114. package/src/translations/en.ts +10 -4
  115. package/src/translations/enGB.ts +10 -4
  116. package/src/translations/nl.ts +10 -4
  117. package/src/translations/pl.ts +10 -4
  118. package/src/translations/pt.ts +21 -0
  119. package/src/translations/utils.ts +10 -5
  120. package/src/.DS_Store +0 -0
@@ -10,10 +10,15 @@ const en = {
10
10
  selectMultiple: 'Select dates',
11
11
  selectRange: 'Select period',
12
12
  notAccordingToDateFormat: inputFormat => `Date format must be ${inputFormat}`,
13
- mustBeHigherThan: 'Must be later then',
14
- mustBeLowerThan: 'Must be earlier then',
15
- mustBeBetween: 'Must be between',
16
- dateIsDisabled: 'Day is not allowed'
13
+ mustBeHigherThan: date => `Must be later then ${date}`,
14
+ mustBeLowerThan: date => `Must be earlier then ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `Must be between ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'Day is not allowed',
17
+ previous: 'Previous',
18
+ next: 'Next',
19
+ typeInDate: 'Type in date',
20
+ pickDateFromCalendar: 'Pick date from calendar',
21
+ close: 'Close'
17
22
  };
18
23
  var _default = en;
19
24
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["en.ts"],"names":["en","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","mustBeLowerThan","mustBeBetween","dateIsDisabled"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,MADqB;AAE3BC,EAAAA,YAAY,EAAE,aAFa;AAG3BC,EAAAA,cAAc,EAAE,cAHW;AAI3BC,EAAAA,WAAW,EAAE,eAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,uBAAsBA,WAAY,EANV;AAO3BC,EAAAA,gBAAgB,EAAE,oBAPS;AAQ3BC,EAAAA,eAAe,EAAE,sBARU;AAS3BC,EAAAA,aAAa,EAAE,iBATY;AAU3BC,EAAAA,cAAc,EAAE;AAVW,CAA7B;eAYeV,E","sourcesContent":["import type { TranslationsType } from './utils'\n\nconst en: TranslationsType = {\n save: 'Save',\n selectSingle: 'Select date',\n selectMultiple: 'Select dates',\n selectRange: 'Select period',\n notAccordingToDateFormat: (inputFormat: string) =>\n `Date format must be ${inputFormat}`,\n mustBeHigherThan: 'Must be later then',\n mustBeLowerThan: 'Must be earlier then',\n mustBeBetween: 'Must be between',\n dateIsDisabled: 'Day is not allowed',\n}\nexport default en\n"]}
1
+ {"version":3,"sources":["en.ts"],"names":["en","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,MADqB;AAE3BC,EAAAA,YAAY,EAAE,aAFa;AAG3BC,EAAAA,cAAc,EAAE,cAHW;AAI3BC,EAAAA,WAAW,EAAE,eAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,uBAAsBA,WAAY,EANV;AAO3BC,EAAAA,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP5B;AAQ3BC,EAAAA,eAAe,EAAGD,IAAD,IAAW,wBAAuBA,IAAK,EAR7B;AAS3BE,EAAAA,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,mBAAkBD,SAAU,MAAKC,OAAQ,EAVjB;AAW3BC,EAAAA,cAAc,EAAE,oBAXW;AAY3BC,EAAAA,QAAQ,EAAE,UAZiB;AAa3BC,EAAAA,IAAI,EAAE,MAbqB;AAc3BC,EAAAA,UAAU,EAAE,cAde;AAe3BC,EAAAA,oBAAoB,EAAE,yBAfK;AAgB3BC,EAAAA,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E","sourcesContent":["import type { TranslationsType } from './utils'\n\nconst en: TranslationsType = {\n save: 'Save',\n selectSingle: 'Select date',\n selectMultiple: 'Select dates',\n selectRange: 'Select period',\n notAccordingToDateFormat: (inputFormat) =>\n `Date format must be ${inputFormat}`,\n mustBeHigherThan: (date) => `Must be later then ${date}`,\n mustBeLowerThan: (date) => `Must be earlier then ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `Must be between ${startDate} - ${endDate}`,\n dateIsDisabled: 'Day is not allowed',\n previous: 'Previous',\n next: 'Next',\n typeInDate: 'Type in date',\n pickDateFromCalendar: 'Pick date from calendar',\n close: 'Close',\n}\nexport default en\n"]}
@@ -10,10 +10,15 @@ const enGB = {
10
10
  selectMultiple: 'Select dates',
11
11
  selectRange: 'Select period',
12
12
  notAccordingToDateFormat: inputFormat => `Date format must be ${inputFormat}`,
13
- mustBeHigherThan: 'Must be later then',
14
- mustBeLowerThan: 'Must be earlier then',
15
- mustBeBetween: 'Must be between',
16
- dateIsDisabled: 'Day is not allowed'
13
+ mustBeHigherThan: date => `Must be later then ${date}`,
14
+ mustBeLowerThan: date => `Must be earlier then ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `Must be between ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'Day is not allowed',
17
+ previous: 'Previous',
18
+ next: 'Next',
19
+ typeInDate: 'Type in date',
20
+ pickDateFromCalendar: 'Pick date from calendar',
21
+ close: 'Close'
17
22
  };
18
23
  var _default = enGB;
19
24
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["enGB.ts"],"names":["enGB","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","mustBeLowerThan","mustBeBetween","dateIsDisabled"],"mappings":";;;;;;AAEA,MAAMA,IAAsB,GAAG;AAC7BC,EAAAA,IAAI,EAAE,MADuB;AAE7BC,EAAAA,YAAY,EAAE,aAFe;AAG7BC,EAAAA,cAAc,EAAE,cAHa;AAI7BC,EAAAA,WAAW,EAAE,eAJgB;AAK7BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,uBAAsBA,WAAY,EANR;AAO7BC,EAAAA,gBAAgB,EAAE,oBAPW;AAQ7BC,EAAAA,eAAe,EAAE,sBARY;AAS7BC,EAAAA,aAAa,EAAE,iBATc;AAU7BC,EAAAA,cAAc,EAAE;AAVa,CAA/B;eAYeV,I","sourcesContent":["import type { TranslationsType } from './utils'\n\nconst enGB: TranslationsType = {\n save: 'Save',\n selectSingle: 'Select date',\n selectMultiple: 'Select dates',\n selectRange: 'Select period',\n notAccordingToDateFormat: (inputFormat: string) =>\n `Date format must be ${inputFormat}`,\n mustBeHigherThan: 'Must be later then',\n mustBeLowerThan: 'Must be earlier then',\n mustBeBetween: 'Must be between',\n dateIsDisabled: 'Day is not allowed',\n}\nexport default enGB\n"]}
1
+ {"version":3,"sources":["enGB.ts"],"names":["enGB","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"mappings":";;;;;;AAEA,MAAMA,IAAsB,GAAG;AAC7BC,EAAAA,IAAI,EAAE,MADuB;AAE7BC,EAAAA,YAAY,EAAE,aAFe;AAG7BC,EAAAA,cAAc,EAAE,cAHa;AAI7BC,EAAAA,WAAW,EAAE,eAJgB;AAK7BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,uBAAsBA,WAAY,EANR;AAO7BC,EAAAA,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP1B;AAQ7BC,EAAAA,eAAe,EAAGD,IAAD,IAAW,wBAAuBA,IAAK,EAR3B;AAS7BE,EAAAA,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,mBAAkBD,SAAU,MAAKC,OAAQ,EAVf;AAW7BC,EAAAA,cAAc,EAAE,oBAXa;AAY7BC,EAAAA,QAAQ,EAAE,UAZmB;AAa7BC,EAAAA,IAAI,EAAE,MAbuB;AAc7BC,EAAAA,UAAU,EAAE,cAdiB;AAe7BC,EAAAA,oBAAoB,EAAE,yBAfO;AAgB7BC,EAAAA,KAAK,EAAE;AAhBsB,CAA/B;eAkBelB,I","sourcesContent":["import type { TranslationsType } from './utils'\n\nconst enGB: TranslationsType = {\n save: 'Save',\n selectSingle: 'Select date',\n selectMultiple: 'Select dates',\n selectRange: 'Select period',\n notAccordingToDateFormat: (inputFormat) =>\n `Date format must be ${inputFormat}`,\n mustBeHigherThan: (date) => `Must be later then ${date}`,\n mustBeLowerThan: (date) => `Must be earlier then ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `Must be between ${startDate} - ${endDate}`,\n dateIsDisabled: 'Day is not allowed',\n previous: 'Previous',\n next: 'Next',\n typeInDate: 'Type in date',\n pickDateFromCalendar: 'Pick date from calendar',\n close: 'Close',\n}\nexport default enGB\n"]}
@@ -10,10 +10,15 @@ const nl = {
10
10
  selectMultiple: 'Selecteer datums',
11
11
  selectRange: 'Selecteer periode',
12
12
  notAccordingToDateFormat: inputFormat => `Datumformaat moet ${inputFormat} zijn`,
13
- mustBeHigherThan: 'Moet later dan',
14
- mustBeLowerThan: 'Moet eerder dan',
15
- mustBeBetween: 'Moet tussen',
16
- dateIsDisabled: 'Deze dag mag niet'
13
+ mustBeHigherThan: date => `Moet later dan ${date}`,
14
+ mustBeLowerThan: date => `Moet eerder dan ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `Moet tussen ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'Deze dag mag niet',
17
+ previous: 'Vorige',
18
+ next: 'Volgende',
19
+ typeInDate: 'Typ datum',
20
+ pickDateFromCalendar: 'Kies datum van kalender',
21
+ close: 'Sluit'
17
22
  };
18
23
  var _default = nl;
19
24
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["nl.ts"],"names":["nl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","mustBeLowerThan","mustBeBetween","dateIsDisabled"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,SADqB;AAE3BC,EAAAA,YAAY,EAAE,iBAFa;AAG3BC,EAAAA,cAAc,EAAE,kBAHW;AAI3BC,EAAAA,WAAW,EAAE,mBAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,qBAAoBA,WAAY,OANR;AAO3BC,EAAAA,gBAAgB,EAAE,gBAPS;AAQ3BC,EAAAA,eAAe,EAAE,iBARU;AAS3BC,EAAAA,aAAa,EAAE,aATY;AAU3BC,EAAAA,cAAc,EAAE;AAVW,CAA7B;eAYeV,E","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: string) =>\n `Datumformaat moet ${inputFormat} zijn`,\n mustBeHigherThan: 'Moet later dan',\n mustBeLowerThan: 'Moet eerder dan',\n mustBeBetween: 'Moet tussen',\n dateIsDisabled: 'Deze dag mag niet',\n}\nexport default nl\n"]}
1
+ {"version":3,"sources":["nl.ts"],"names":["nl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,SADqB;AAE3BC,EAAAA,YAAY,EAAE,iBAFa;AAG3BC,EAAAA,cAAc,EAAE,kBAHW;AAI3BC,EAAAA,WAAW,EAAE,mBAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,qBAAoBA,WAAY,OANR;AAO3BC,EAAAA,gBAAgB,EAAGC,IAAD,IAAW,kBAAiBA,IAAK,EAPxB;AAQ3BC,EAAAA,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;AAS3BE,EAAAA,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,eAAcD,SAAU,MAAKC,OAAQ,EAVb;AAW3BC,EAAAA,cAAc,EAAE,mBAXW;AAY3BC,EAAAA,QAAQ,EAAE,QAZiB;AAa3BC,EAAAA,IAAI,EAAE,UAbqB;AAc3BC,EAAAA,UAAU,EAAE,WAde;AAe3BC,EAAAA,oBAAoB,EAAE,yBAfK;AAgB3BC,EAAAA,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E","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"]}
@@ -10,10 +10,15 @@ const pl = {
10
10
  selectMultiple: 'Wybierz daty',
11
11
  selectRange: 'Wybierz zakres',
12
12
  notAccordingToDateFormat: inputFormat => `Data musi mieć format ${inputFormat}`,
13
- mustBeHigherThan: 'Nie wcześniej niż',
14
- mustBeLowerThan: 'Nie później niż',
15
- mustBeBetween: 'Pomiędzy',
16
- dateIsDisabled: 'Niedozwolona data'
13
+ mustBeHigherThan: date => `Nie wcześniej niżn ${date}`,
14
+ mustBeLowerThan: date => `Nie później niż ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `Pomiędzy ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'Niedozwolona data',
17
+ previous: 'Poprzedni',
18
+ next: 'Dalej',
19
+ typeInDate: 'Wpisz datę',
20
+ pickDateFromCalendar: 'Wybierz datę z kalendarza',
21
+ close: 'Zamknij'
17
22
  };
18
23
  var _default = pl;
19
24
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["pl.ts"],"names":["pl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","mustBeLowerThan","mustBeBetween","dateIsDisabled"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,QADqB;AAE3BC,EAAAA,YAAY,EAAE,cAFa;AAG3BC,EAAAA,cAAc,EAAE,cAHW;AAI3BC,EAAAA,WAAW,EAAE,gBAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,yBAAwBA,WAAY,EANZ;AAO3BC,EAAAA,gBAAgB,EAAE,mBAPS;AAQ3BC,EAAAA,eAAe,EAAE,iBARU;AAS3BC,EAAAA,aAAa,EAAE,UATY;AAU3BC,EAAAA,cAAc,EAAE;AAVW,CAA7B;eAYeV,E","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: string) =>\n `Data musi mieć format ${inputFormat}`,\n mustBeHigherThan: 'Nie wcześniej niż',\n mustBeLowerThan: 'Nie później niż',\n mustBeBetween: 'Pomiędzy',\n dateIsDisabled: 'Niedozwolona data',\n}\nexport default pl\n"]}
1
+ {"version":3,"sources":["pl.ts"],"names":["pl","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,QADqB;AAE3BC,EAAAA,YAAY,EAAE,cAFa;AAG3BC,EAAAA,cAAc,EAAE,cAHW;AAI3BC,EAAAA,WAAW,EAAE,gBAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,yBAAwBA,WAAY,EANZ;AAO3BC,EAAAA,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP5B;AAQ3BC,EAAAA,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;AAS3BE,EAAAA,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KAAyB,YAAWD,SAAU,MAAKC,OAAQ,EAT/C;AAU3BC,EAAAA,cAAc,EAAE,mBAVW;AAY3BC,EAAAA,QAAQ,EAAE,WAZiB;AAa3BC,EAAAA,IAAI,EAAE,OAbqB;AAc3BC,EAAAA,UAAU,EAAE,YAde;AAe3BC,EAAAA,oBAAoB,EAAE,2BAfK;AAgB3BC,EAAAA,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E","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"]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const pt = {
8
+ save: 'Salvar',
9
+ selectSingle: 'Selecione a data',
10
+ selectMultiple: 'Selecione as datas',
11
+ selectRange: 'Selecione o período',
12
+ notAccordingToDateFormat: inputFormat => `O formato da data deve ser ${inputFormat}`,
13
+ mustBeHigherThan: date => `Deve ser depois de ${date}`,
14
+ mustBeLowerThan: date => `Deve ser antes de ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `Deve estar entre ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'Data não é permitida',
17
+ previous: 'Anterior',
18
+ next: 'Próximo',
19
+ typeInDate: 'Digite a data',
20
+ pickDateFromCalendar: 'Escolha a data do calendário',
21
+ close: 'Fechar'
22
+ };
23
+ var _default = pt;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=pt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["pt.ts"],"names":["pt","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;AAC3BC,EAAAA,IAAI,EAAE,QADqB;AAE3BC,EAAAA,YAAY,EAAE,kBAFa;AAG3BC,EAAAA,cAAc,EAAE,oBAHW;AAI3BC,EAAAA,WAAW,EAAE,qBAJc;AAK3BC,EAAAA,wBAAwB,EAAGC,WAAD,IACvB,8BAA6BA,WAAY,EANjB;AAO3BC,EAAAA,gBAAgB,EAAGC,IAAD,IAAW,sBAAqBA,IAAK,EAP5B;AAQ3BC,EAAAA,eAAe,EAAGD,IAAD,IAAW,qBAAoBA,IAAK,EAR1B;AAS3BE,EAAAA,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,oBAAmBD,SAAU,MAAKC,OAAQ,EAVlB;AAW3BC,EAAAA,cAAc,EAAE,sBAXW;AAY3BC,EAAAA,QAAQ,EAAE,UAZiB;AAa3BC,EAAAA,IAAI,EAAE,SAbqB;AAc3BC,EAAAA,UAAU,EAAE,eAde;AAe3BC,EAAAA,oBAAoB,EAAE,8BAfK;AAgB3BC,EAAAA,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E","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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["translationsPerLocale","getTranslation","locale","key","fallback","l","translationForLocale","console","warn","translation","registerTranslation","translations"],"mappings":";;;;;;;AAYA,IAAIA,qBAAuD,GAAG,EAA9D;;AAEO,SAASC,cAAT,CACLC,MADK,EAELC,GAFK,EAGLC,QAHK,EAIL;AACA,QAAMC,CAAC,GAAGH,MAAM,IAAI,IAApB;AACA,QAAMI,oBAAoB,GAAGN,qBAAqB,CAACK,CAAD,CAAlD;;AACA,MAAI,CAACC,oBAAL,EAA2B;AACzBC,IAAAA,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,4BAA2BC,GAAI,EADtE;AAGA,WAAOC,QAAQ,IAAID,GAAnB;AACD;;AACD,QAAMM,WAAW,GAAGT,qBAAqB,CAACK,CAAD,CAArB,CAAyBF,GAAzB,CAApB;;AACA,MAAI,CAACG,oBAAL,EAA2B;AACzBC,IAAAA,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,uBAAsBC,GAAI,aADjE;AAGD;;AACD,SAAOM,WAAW,IAAIL,QAAf,IAA2BD,GAAlC;AACD;;AAEM,SAASO,mBAAT,CACLR,MADK,EAELS,YAFK,EAGL;AACAX,EAAAA,qBAAqB,CAACE,MAAD,CAArB,GAAgCS,YAAhC;AACD","sourcesContent":["export type TranslationsType = {\n selectSingle: string\n selectMultiple: string\n selectRange: string\n save: string\n notAccordingToDateFormat: (inputFormat: string) => string\n mustBeHigherThan: string\n mustBeLowerThan: string\n mustBeBetween: string\n dateIsDisabled: string\n}\n\nlet translationsPerLocale: Record<string, TranslationsType> = {}\n\nexport function getTranslation(\n locale: string | undefined,\n key: keyof TranslationsType,\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 (!translationForLocale) {\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"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["translationsPerLocale","getTranslation","locale","key","fallback","l","translationForLocale","console","warn","translation","registerTranslation","translations"],"mappings":";;;;;;;AAiBA,IAAIA,qBAAuD,GAAG,EAA9D;;AAEO,SAASC,cAAT,CACLC,MADK,EAELC,GAFK,EAGLC,QAHK,EAIL;AACA,QAAMC,CAAC,GAAGH,MAAM,IAAI,IAApB;AACA,QAAMI,oBAAoB,GAAGN,qBAAqB,CAACK,CAAD,CAAlD;;AACA,MAAI,CAACC,oBAAL,EAA2B;AACzBC,IAAAA,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,4BAA2BC,GAAI,EADtE;AAGA,WAAOC,QAAQ,IAAID,GAAnB;AACD;;AACD,QAAMM,WAAW,GAAGT,qBAAqB,CAACK,CAAD,CAArB,CAAyBF,GAAzB,CAApB;;AACA,MAAI,CAACG,oBAAL,EAA2B;AACzBC,IAAAA,OAAO,CAACC,IAAR,CACG,8BAA6BN,MAAO,uBAAsBC,GAAI,aADjE;AAGD;;AACD,SAAOM,WAAW,IAAIL,QAAf,IAA2BD,GAAlC;AACD;;AAEM,SAASO,mBAAT,CACLR,MADK,EAELS,YAFK,EAGL;AACAX,EAAAA,qBAAqB,CAACE,MAAD,CAArB,GAAgCS,YAAhC;AACD","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 (!translationForLocale) {\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"]}
@@ -58,7 +58,7 @@ function CalendarEdit(_ref) {
58
58
  validRange: validRange,
59
59
  locale: locale,
60
60
  withModal: false,
61
- autoCompleteType: 'off'
61
+ autoComplete: 'off'
62
62
  }) : null, mode === 'range' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatePickerInput, {
63
63
  inputMode: "start",
64
64
  ref: startInput,
@@ -72,7 +72,7 @@ function CalendarEdit(_ref) {
72
72
  validRange: validRange,
73
73
  locale: locale,
74
74
  withModal: false,
75
- autoCompleteType: 'off'
75
+ autoComplete: 'off'
76
76
  }), /*#__PURE__*/React.createElement(View, {
77
77
  style: styles.separator
78
78
  }), /*#__PURE__*/React.createElement(DatePickerInput, {
@@ -87,7 +87,7 @@ function CalendarEdit(_ref) {
87
87
  validRange: validRange,
88
88
  locale: locale,
89
89
  withModal: false,
90
- autoCompleteType: 'off'
90
+ autoComplete: "off"
91
91
  })) : null));
92
92
  }
93
93
 
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarEdit.tsx"],"names":["React","View","StyleSheet","Keyboard","DatePickerInput","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","inner","date","startDate","separator","endDate","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"mappings":"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","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 DatePickerInput from './DatePickerInput'\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 <View style={styles.inner}>\n {mode === 'single' ? (\n <DatePickerInput\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 autoCompleteType={'off'}\n />\n ) : null}\n {mode === 'range' ? (\n <>\n <DatePickerInput\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 autoCompleteType={'off'}\n />\n <View style={styles.separator} />\n <DatePickerInput\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 autoCompleteType={'off'}\n />\n </>\n ) : null}\n </View>\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"]}
1
+ {"version":3,"sources":["CalendarEdit.tsx"],"names":["React","View","StyleSheet","Keyboard","DatePickerInput","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","inner","date","startDate","separator","endDate","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,IADF,EAEEC,UAFF,EAIEC,QAJF,QAKO,cALP;AAUA,OAAOC,eAAP,MAA4B,mBAA5B;;AAEA,SAASC,YAAT,OAoBG;AAAA,MApBmB;AACpBC,IAAAA,IADoB;AAEpBC,IAAAA,KAFoB;AAGpBC,IAAAA,KAAK,GAAG,EAHY;AAIpBC,IAAAA,UAAU,GAAG,OAJO;AAKpBC,IAAAA,QAAQ,GAAG,KALS;AAMpBC,IAAAA,SANoB;AAOpBC,IAAAA,QAPoB;AAQpBC,IAAAA,UARoB;AASpBC,IAAAA;AAToB,GAoBnB;AACD,QAAMC,SAAS,GAAGf,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAlB;AACA,QAAMC,UAAU,GAAGjB,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAnB;AACA,QAAME,QAAQ,GAAGlB,KAAK,CAACgB,MAAN,CAAqC,IAArC,CAAjB,CAHC,CAKD;;AACAhB,EAAAA,KAAK,CAACmB,SAAN,CAAgB,MAAM;AACpB;AACA,QAAIR,SAAJ,EAAe;AACbR,MAAAA,QAAQ,CAACiB,OAAT;AACD;;AAED,UAAMC,aAAa,GAAG,CAACN,SAAS,CAACO,OAAX,EAAoBL,UAAU,CAACK,OAA/B,EAAwCC,MAAxC,CACnBC,CAAD,IAAOA,CADa,CAAtB;AAIA,UAAMC,YAAY,GAAG,CACnBV,SAAS,CAACO,OADS,EAEnBL,UAAU,CAACK,OAFQ,EAGnBJ,QAAQ,CAACI,OAHU,EAInBC,MAJmB,CAIXC,CAAD,IAAOA,CAJK,CAArB;;AAMA,QAAIb,SAAJ,EAAe;AACbc,MAAAA,YAAY,CAACC,OAAb,CAAsBC,EAAD,IAAQA,EAAE,CAACC,IAAH,EAA7B;AACD,KAFD,MAEO;AACLP,MAAAA,aAAa,CAACK,OAAd,CAAuBC,EAAD,IAAQA,EAAE,CAACE,KAAH,EAA9B;AACD;AACF,GArBD,EAqBG,CAACvB,IAAD,EAAOW,UAAP,EAAmBC,QAAnB,EAA6BH,SAA7B,EAAwCJ,SAAxC,CArBH;AAuBA,QAAMmB,kBAAkB,GAAG9B,KAAK,CAAC+B,WAAN,CAAkB,MAAM;AACjD,QAAIb,QAAQ,CAACI,OAAb,EAAsB;AACpBJ,MAAAA,QAAQ,CAACI,OAAT,CAAiBO,KAAjB;AACD;AACF,GAJ0B,EAIxB,CAACX,QAAD,CAJwB,CAA3B;AAMA,QAAMc,gBAAgB,GAAGhC,KAAK,CAAC+B,WAAN,CAAkB,MAAM,CAC/C;AACD,GAFwB,EAEtB,EAFsB,CAAzB;AAIA,QAAME,aAAa,GAAGjC,KAAK,CAAC+B,WAAN,CAAkB,MAAM,CAC5C;AACD,GAFqB,EAEnB,EAFmB,CAAtB;AAIA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEG,MAAM,CAACC;AAApB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAED,MAAM,CAACE;AAApB,KACG9B,IAAI,KAAK,QAAT,gBACC,oBAAC,eAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,GAAG,EAAES,SAFP;AAGE,IAAA,KAAK,EAAEP,KAHT;AAIE,IAAA,KAAK,EAAED,KAAK,CAAC8B,IAJf;AAKE,IAAA,QAAQ,EAAGA,IAAD,IAAUzB,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAY8B,MAAAA;AAAZ,KAAD,CAL9B;AAME,IAAA,eAAe,EAAEJ,aANnB;AAOE,IAAA,UAAU,EAAEpB,UAPd;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,SAAS,EAAE,KATb;AAUE,IAAA,YAAY,EAAE;AAVhB,IADD,GAaG,IAdN,EAeGR,IAAI,KAAK,OAAT,gBACC,uDACE,oBAAC,eAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,GAAG,EAAEW,UAFP;AAGE,IAAA,KAAK,EAAER,UAHT;AAIE,IAAA,KAAK,EAAEF,KAAK,CAAC+B,SAJf;AAKE,IAAA,QAAQ,EAAGA,SAAD,IAAe1B,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAY+B,MAAAA;AAAZ,KAAD,CALnC;AAME,IAAA,aAAa,EAAE,MANjB;AAOE,IAAA,eAAe,EAAER,kBAPnB;AAQE,IAAA,UAAU,EAAEjB,UARd;AASE,IAAA,MAAM,EAAEC,MATV;AAUE,IAAA,SAAS,EAAE,KAVb;AAWE,IAAA,YAAY,EAAE;AAXhB,IADF,eAcE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAEoB,MAAM,CAACK;AAApB,IAdF,eAeE,oBAAC,eAAD;AACE,IAAA,SAAS,EAAC,KADZ;AAEE,IAAA,GAAG,EAAErB,QAFP;AAGE,IAAA,KAAK,EAAER,QAHT;AAIE,IAAA,KAAK,EAAEH,KAAK,CAACiC,OAJf;AAKE,IAAA,QAAQ,EAAGA,OAAD,IAAa5B,QAAQ,CAAC,EAAE,GAAGL,KAAL;AAAYiC,MAAAA;AAAZ,KAAD,CALjC;AAME,IAAA,eAAe,EAAER,gBANnB;AAOE,IAAA,UAAU,EAAEnB,UAPd;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,SAAS,EAAE,KATb;AAUE,IAAA,YAAY,EAAC;AAVf,IAfF,CADD,GA6BG,IA5CN,CADF,CADF;AAkDD;;AAED,MAAMoB,MAAM,GAAGhC,UAAU,CAACuC,MAAX,CAAkB;AAC/BN,EAAAA,IAAI,EAAE;AAAEO,IAAAA,OAAO,EAAE;AAAX,GADyB;AAE/BN,EAAAA,KAAK,EAAE;AAAEO,IAAAA,aAAa,EAAE;AAAjB,GAFwB;AAG/BC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAHe;AAI/BC,EAAAA,KAAK,EAAE;AAAED,IAAAA,IAAI,EAAE;AAAR,GAJwB;AAK/BN,EAAAA,SAAS,EAAE;AAAEQ,IAAAA,KAAK,EAAE;AAAT;AALoB,CAAlB,CAAf;AAQA,4BAAe/C,KAAK,CAACgD,IAAN,CAAW3C,YAAX,CAAf","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 DatePickerInput from './DatePickerInput'\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 <View style={styles.inner}>\n {mode === 'single' ? (\n <DatePickerInput\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 <>\n <DatePickerInput\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 <DatePickerInput\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 </>\n ) : null}\n </View>\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"]}
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { StyleSheet, View } from 'react-native';
3
3
  import { IconButton, useTheme } from 'react-native-paper';
4
4
  import DayNames, { dayNamesHeight } from './DayNames';
5
+ import { getTranslation } from '../translations/utils';
5
6
  const buttonContainerHeight = 56;
6
7
  const buttonContainerMarginTop = 4;
7
8
  const buttonContainerMarginBottom = 8;
@@ -38,20 +39,16 @@ function CalendarHeader(_ref) {
38
39
  }]
39
40
  }, /*#__PURE__*/React.createElement(IconButton, {
40
41
  icon: "chevron-left",
41
- onPress: onPrev // RN types bug
42
- ,
43
- hasTVPreferredFocus: undefined,
44
- tvParallaxProperties: undefined
42
+ accessibilityLabel: getTranslation(locale, 'previous'),
43
+ onPress: onPrev
45
44
  })), /*#__PURE__*/React.createElement(View, {
46
45
  style: [styles.buttonWrapper, {
47
46
  backgroundColor: theme.colors.surface
48
47
  }]
49
48
  }, /*#__PURE__*/React.createElement(IconButton, {
50
49
  icon: "chevron-right",
51
- onPress: onNext // RN types bug
52
- ,
53
- hasTVPreferredFocus: undefined,
54
- tvParallaxProperties: undefined
50
+ accessibilityLabel: getTranslation(locale, 'next'),
51
+ onPress: onNext
55
52
  }))) : null, /*#__PURE__*/React.createElement(DayNames, {
56
53
  disableWeekDays: disableWeekDays,
57
54
  locale: locale
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarHeader.tsx"],"names":["React","StyleSheet","View","IconButton","useTheme","DayNames","dayNamesHeight","buttonContainerHeight","buttonContainerMarginTop","buttonContainerMarginBottom","getCalendarHeaderHeight","scrollMode","CalendarHeader","onPrev","onNext","disableWeekDays","locale","theme","isHorizontal","styles","datePickerHeader","buttonContainer","spacer","buttonWrapper","backgroundColor","colors","surface","undefined","create","position","top","right","left","zIndex","height","marginTop","marginBottom","flexDirection","alignItems","flex","memo"],"mappings":"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","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'\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 onPress={onPrev}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\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 onPress={onNext}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\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"]}
1
+ {"version":3,"sources":["CalendarHeader.tsx"],"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"],"mappings":"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","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"]}
@@ -51,7 +51,8 @@ function DatePickerInput(_ref, ref) {
51
51
  }, /*#__PURE__*/React.createElement(TextInputWithMask, _extends({}, rest, {
52
52
  ref: ref,
53
53
  label: getLabel({
54
- label,
54
+ // TODO: support label components?
55
+ label: label,
55
56
  inputFormat,
56
57
  withDateFormatInLabel
57
58
  }),
@@ -67,10 +68,7 @@ function DatePickerInput(_ref, ref) {
67
68
  size: 24,
68
69
  style: styles.calendarButton,
69
70
  icon: "calendar",
70
- onPress: () => setVisible(true) // RN types bug
71
- ,
72
- hasTVPreferredFocus: undefined,
73
- tvParallaxProperties: undefined
71
+ onPress: () => setVisible(true)
74
72
  }) : null), /*#__PURE__*/React.createElement(HelperText, {
75
73
  type: "error",
76
74
  visible: !!error
@@ -81,7 +79,8 @@ function DatePickerInput(_ref, ref) {
81
79
  onDismiss: onDismiss,
82
80
  onConfirm: onInnerConfirm,
83
81
  locale: locale,
84
- dateMode: inputMode
82
+ dateMode: inputMode,
83
+ validRange: validRange
85
84
  }) : null);
86
85
  }
87
86
 
@@ -105,15 +104,15 @@ const styles = StyleSheet.create({
105
104
  flexDirection: 'row',
106
105
  position: 'relative',
107
106
  alignItems: 'center',
108
- flexGrow: 1,
109
- alignSelf: 'flex-start'
107
+ flexGrow: 1
110
108
  },
111
109
  input: {
112
110
  flexGrow: 1
113
111
  },
114
112
  calendarButton: {
115
113
  position: 'absolute',
116
- right: 0
114
+ right: 0,
115
+ zIndex: 10
117
116
  }
118
117
  });
119
118
  export default /*#__PURE__*/React.forwardRef(DatePickerInput);
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerInput.tsx"],"names":["React","TextInputWithMask","HelperText","IconButton","useTheme","View","StyleSheet","DatePickerModal","useDateInput","useLatest","DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","undefined","create","minWidth","flexDirection","position","alignItems","flexGrow","alignSelf","right","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: Omit<React.ComponentProps<typeof TextInput>, 'value' | 'onChange'> & {\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 },\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({ label, inputFormat, withDateFormatInLabel })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\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 />\n ) : null}\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 minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n alignSelf: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
1
+ {"version":3,"sources":["DatePickerInput.tsx"],"names":["React","TextInputWithMask","HelperText","IconButton","useTheme","View","StyleSheet","DatePickerModal","useDateInput","useLatest","DatePickerInput","ref","label","value","onChange","style","locale","validRange","inputMode","withModal","withDateFormatInLabel","rest","theme","formattedValue","inputFormat","onChangeText","error","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onInnerConfirm","date","current","styles","root","getLabel","dark","input","calendarButton","create","minWidth","flexDirection","position","alignItems","flexGrow","right","zIndex","forwardRef"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, IconButton, TextInput, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport useDateInput from './inputUtils'\nimport type { ValidRangeType } from './Calendar'\nimport { useLatest } from '../utils'\n\nfunction DatePickerInput(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withModal = true,\n withDateFormatInLabel = true,\n ...rest\n }: {\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 } & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n >,\n ref: any\n) {\n const theme = useTheme()\n const { formattedValue, inputFormat, onChangeText, error } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n })\n\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <>\n <View style={styles.root}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({\n // TODO: support label components?\n label: label as any,\n inputFormat,\n withDateFormatInLabel,\n })}\n value={formattedValue}\n keyboardType={'number-pad'}\n placeholder={inputFormat}\n mask={inputFormat}\n onChangeText={onChangeText}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={!!error}\n style={[styles.input, style]}\n />\n {withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon=\"calendar\"\n onPress={() => setVisible(true)}\n />\n ) : null}\n </View>\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\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 />\n ) : null}\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 minWidth: 150,\n flexDirection: 'row',\n position: 'relative',\n alignItems: 'center',\n flexGrow: 1,\n },\n input: {\n flexGrow: 1,\n },\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\nexport default React.forwardRef(DatePickerInput)\n"]}
@@ -6,6 +6,8 @@ import DatePickerModalContentHeader from './DatePickerModalContentHeader';
6
6
  import CalendarEdit from './CalendarEdit';
7
7
  import DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground';
8
8
  export function DatePickerModalContent(props) {
9
+ var _props$uppercase, _props$uppercase2;
10
+
9
11
  const {
10
12
  mode,
11
13
  onChange,
@@ -68,6 +70,7 @@ export function DatePickerModalContent(props) {
68
70
  onSave: onInnerConfirm,
69
71
  onDismiss: onDismiss,
70
72
  saveLabel: props.saveLabel,
73
+ uppercase: (_props$uppercase = props.uppercase) !== null && _props$uppercase !== void 0 ? _props$uppercase : true,
71
74
  disableSafeTop: disableSafeTop
72
75
  }), /*#__PURE__*/React.createElement(DatePickerModalContentHeader, {
73
76
  state: state,
@@ -80,6 +83,7 @@ export function DatePickerModalContent(props) {
80
83
  moreLabel: props.moreLabel,
81
84
  startLabel: props.startLabel,
82
85
  endLabel: props.endLabel,
86
+ uppercase: (_props$uppercase2 = props.uppercase) !== null && _props$uppercase2 !== void 0 ? _props$uppercase2 : true,
83
87
  locale: locale
84
88
  })), /*#__PURE__*/React.createElement(AnimatedCrossView, {
85
89
  collapsed: collapsed,
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\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 } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\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 disableSafeTop={disableSafeTop}\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 locale={locale}\n />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\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"]}
1
+ {"version":3,"sources":["DatePickerModalContent.tsx"],"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","uppercase","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","memo"],"mappings":"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","sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\n\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n}\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 } = props\n\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params) => {\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 uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\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 />\n </DatePickerModalHeaderBackground>\n\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n />\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"]}
@@ -32,7 +32,8 @@ export default function DatePickerModalContentHeader(props) {
32
32
  onToggle,
33
33
  collapsed,
34
34
  mode,
35
- moreLabel
35
+ moreLabel,
36
+ uppercase
36
37
  } = props;
37
38
  const label = getLabel(props.locale, props.mode, props.label);
38
39
  const color = useHeaderTextColor();
@@ -43,7 +44,7 @@ export default function DatePickerModalContentHeader(props) {
43
44
  style: [styles.label, {
44
45
  color
45
46
  }]
46
- }, label.toUpperCase()), /*#__PURE__*/React.createElement(View, {
47
+ }, uppercase ? label.toUpperCase() : label), /*#__PURE__*/React.createElement(View, {
47
48
  style: styles.headerContentContainer
48
49
  }, mode === 'range' ? /*#__PURE__*/React.createElement(HeaderContentRange, _extends({}, props, {
49
50
  color: color
@@ -56,11 +57,9 @@ export default function DatePickerModalContentHeader(props) {
56
57
  style: styles.fill
57
58
  }), allowEditing ? /*#__PURE__*/React.createElement(IconButton, {
58
59
  icon: collapsed ? 'pencil' : 'calendar',
60
+ accessibilityLabel: collapsed ? getTranslation(props.locale, 'typeInDate') : getTranslation(props.locale, 'pickDateFromCalendar'),
59
61
  color: color,
60
- onPress: onToggle // RN types bug
61
- ,
62
- hasTVPreferredFocus: undefined,
63
- tvParallaxProperties: undefined
62
+ onPress: onToggle
64
63
  }) : null);
65
64
  }
66
65
  export function HeaderContentSingle(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["React","View","StyleSheet","IconButton","Text","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","undefined","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n headerSeparator?: string\n startLabel?: string\n endLabel?: 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 { onToggle, collapsed, mode, moreLabel } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>{label.toUpperCase()}</Text>\n\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n color={color}\n onPress={onToggle}\n // RN types bug\n hasTVPreferredFocus={undefined}\n tvParallaxProperties={undefined}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}
1
+ {"version":3,"sources":["DatePickerModalContentHeader.tsx"],"names":["React","View","StyleSheet","IconButton","Text","useHeaderTextColor","Color","getTranslation","getLabel","locale","mode","configuredLabel","DatePickerModalContentHeader","props","onToggle","collapsed","moreLabel","uppercase","label","color","allowEditing","styles","header","toUpperCase","headerContentContainer","fill","HeaderContentSingle","state","emptyLabel","lighterColor","fade","rgb","toString","dateColor","date","formatter","useMemo","Intl","DateTimeFormat","month","day","singleHeaderText","format","HeaderContentMulti","dateCount","dates","length","map","join","HeaderContentRange","headerSeparator","startLabel","endLabel","startColor","startDate","endColor","endDate","rangeHeaderText","create","flex","animated","paddingBottom","elevation","safeContent","height","alignItems","flexDirection","paddingLeft","paddingRight","marginTop","letterSpacing","fontSize","excludeInRangeHeaderText","excludeInRangeHeaderTextSmall","marginLeft","appbarHeader","column","row"],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { IconButton, Text } from 'react-native-paper'\nimport type { ModeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\nimport { useHeaderTextColor } from '../utils'\nimport Color from 'color'\nimport { getTranslation } from '../translations/utils'\n\nexport interface HeaderPickProps {\n moreLabel?: string\n label?: string\n emptyLabel?: string\n saveLabel?: string\n uppercase?: boolean\n headerSeparator?: string\n startLabel?: string\n endLabel?: string\n}\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 { onToggle, collapsed, mode, moreLabel, uppercase } = props\n\n const label = getLabel(props.locale, props.mode, props.label)\n\n const color = useHeaderTextColor()\n const allowEditing = mode !== 'multiple'\n return (\n <View style={[styles.header]}>\n <View>\n <Text style={[styles.label, { color }]}>\n {uppercase ? label.toUpperCase() : label}\n </Text>\n <View style={styles.headerContentContainer}>\n {mode === 'range' ? (\n <HeaderContentRange {...props} color={color} />\n ) : null}\n {mode === 'single' ? (\n <HeaderContentSingle {...props} color={color} />\n ) : null}\n {mode === 'multiple' ? (\n <HeaderContentMulti\n {...props}\n color={color}\n moreLabel={moreLabel}\n />\n ) : null}\n </View>\n </View>\n <View style={styles.fill} />\n {allowEditing ? (\n <IconButton\n icon={collapsed ? 'pencil' : 'calendar'}\n accessibilityLabel={\n collapsed\n ? getTranslation(props.locale, 'typeInDate')\n : getTranslation(props.locale, 'pickDateFromCalendar')\n }\n color={color}\n onPress={onToggle}\n />\n ) : null}\n </View>\n )\n}\n\nexport function HeaderContentSingle({\n state,\n emptyLabel = ' ',\n color,\n locale,\n}: HeaderContentProps & { color: string }) {\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = state.date ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>\n {state.date ? formatter.format(state.date) : emptyLabel}\n </Text>\n )\n}\n\nexport function HeaderContentMulti({\n state,\n emptyLabel = ' ',\n moreLabel = 'more',\n color,\n locale,\n}: HeaderContentProps & { color: string; moreLabel: string | undefined }) {\n const dateCount = state.dates?.length || 0\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const dateColor = dateCount ? color : lighterColor\n\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n let label = emptyLabel\n if (dateCount) {\n if (dateCount <= 2) {\n label = state.dates!.map((date) => formatter.format(date)).join(', ')\n } else {\n label =\n formatter.format(state.dates![0]) + ` (+ ${dateCount - 1} ${moreLabel})`\n }\n }\n\n return (\n <Text style={[styles.singleHeaderText, { color: dateColor }]}>{label}</Text>\n )\n}\n\nexport function HeaderContentRange({\n locale,\n state,\n headerSeparator = '-',\n startLabel = 'Start',\n endLabel = 'End',\n color,\n}: HeaderContentProps & { color: string }) {\n const formatter = React.useMemo(() => {\n return new Intl.DateTimeFormat(locale, {\n month: 'short',\n day: 'numeric',\n })\n }, [locale])\n\n const lighterColor = Color(color).fade(0.5).rgb().toString()\n const startColor = state.startDate ? color : lighterColor\n const endColor = state.endDate ? color : lighterColor\n\n return (\n <>\n <Text style={[styles.rangeHeaderText, { color: startColor }]}>\n {state.startDate ? formatter.format(state.startDate) : startLabel}\n </Text>\n <Text style={[styles.headerSeparator, { color }]}>{headerSeparator}</Text>\n <Text style={[styles.rangeHeaderText, { color: endColor }]}>\n {state.endDate ? formatter.format(state.endDate) : endLabel}\n </Text>\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n fill: {\n flex: 1,\n },\n animated: {\n paddingBottom: 0,\n elevation: 4,\n },\n safeContent: {\n paddingBottom: 0,\n },\n header: {\n height: 75,\n alignItems: 'center',\n flexDirection: 'row',\n paddingLeft: 24,\n paddingRight: 12,\n },\n headerContentContainer: { marginTop: 5, flexDirection: 'row' },\n label: { color: '#fff', letterSpacing: 1, fontSize: 13 },\n singleHeaderText: { color: '#fff', fontSize: 25 },\n rangeHeaderText: { color: '#fff', fontSize: 25 },\n excludeInRangeHeaderText: { fontSize: 25 },\n excludeInRangeHeaderTextSmall: {\n fontSize: 14,\n marginTop: -3,\n marginLeft: 3,\n },\n\n headerSeparator: {\n color: 'rgba(255,255,255,1)',\n fontSize: 25,\n paddingLeft: 6,\n paddingRight: 6,\n },\n appbarHeader: {\n elevation: 0,\n },\n column: { flexDirection: 'column' },\n row: { flexDirection: 'row' },\n})\n"]}