@mui/x-date-pickers 7.17.0 → 7.19.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/AdapterDateFns/AdapterDateFns.js +1 -1
- package/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -0
- package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/AdapterMoment/AdapterMoment.js +1 -0
- package/CHANGELOG.md +208 -5
- package/DateCalendar/DateCalendar.js +9 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DatePicker/DatePicker.js +6 -0
- package/DatePicker/DatePicker.types.d.ts +5 -5
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.js +6 -0
- package/DateTimePicker/DateTimePicker.types.d.ts +7 -6
- package/DateTimePicker/DateTimePickerTabs.js +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +6 -0
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -6
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +11 -10
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -1
- package/MobileDatePicker/MobileDatePicker.js +6 -0
- package/MobileDatePicker/MobileDatePicker.types.d.ts +5 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +6 -0
- package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.js +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +1 -1
- package/PickersLayout/PickersLayout.d.ts +2 -2
- package/PickersLayout/PickersLayout.js +1 -1
- package/PickersSectionList/PickersSectionList.d.ts +4 -4
- package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +2 -2
- package/StaticDatePicker/StaticDatePicker.js +7 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +5 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +7 -1
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +5 -0
- package/TimeClock/Clock.js +1 -1
- package/TimeClock/ClockNumber.js +1 -1
- package/TimeClock/ClockPointer.js +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/YearCalendar/YearCalendar.js +19 -6
- package/YearCalendar/YearCalendar.types.d.ts +7 -1
- package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
- package/dateViewRenderers/dateViewRenderers.js +2 -0
- package/index.js +1 -1
- package/internals/components/PickerViewRoot/PickerViewRoot.d.ts +1 -1
- package/internals/components/PickersToolbarButton.js +1 -1
- package/internals/components/PickersToolbarText.js +1 -1
- package/locales/bgBG.d.ts +80 -0
- package/locales/bgBG.js +73 -0
- package/locales/csCZ.js +16 -20
- package/locales/hrHR.d.ts +80 -0
- package/locales/hrHR.js +90 -0
- package/locales/index.d.ts +3 -0
- package/locales/index.js +3 -0
- package/locales/ptBR.js +3 -4
- package/locales/ptPT.d.ts +80 -0
- package/locales/ptPT.js +73 -0
- package/models/pickers.d.ts +1 -1
- package/modern/AdapterDateFns/AdapterDateFns.js +1 -1
- package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -0
- package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/modern/AdapterMoment/AdapterMoment.js +1 -0
- package/modern/DateCalendar/DateCalendar.js +9 -1
- package/modern/DatePicker/DatePicker.js +6 -0
- package/modern/DateTimePicker/DateTimePicker.js +6 -0
- package/modern/DateTimePicker/DateTimePickerTabs.js +1 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +6 -0
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -0
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +1 -1
- package/modern/PickersLayout/PickersLayout.js +1 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +7 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +7 -1
- package/modern/TimeClock/Clock.js +1 -1
- package/modern/TimeClock/ClockNumber.js +1 -1
- package/modern/TimeClock/ClockPointer.js +1 -1
- package/modern/YearCalendar/YearCalendar.js +19 -6
- package/modern/dateViewRenderers/dateViewRenderers.js +2 -0
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersToolbarButton.js +1 -1
- package/modern/internals/components/PickersToolbarText.js +1 -1
- package/modern/locales/bgBG.js +73 -0
- package/modern/locales/csCZ.js +16 -20
- package/modern/locales/hrHR.js +90 -0
- package/modern/locales/index.js +3 -0
- package/modern/locales/ptBR.js +3 -4
- package/modern/locales/ptPT.js +73 -0
- package/node/AdapterDateFns/AdapterDateFns.js +1 -1
- package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -0
- package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
- package/node/AdapterMoment/AdapterMoment.js +1 -0
- package/node/DateCalendar/DateCalendar.js +9 -1
- package/node/DatePicker/DatePicker.js +6 -0
- package/node/DateTimePicker/DateTimePicker.js +6 -0
- package/node/DateTimePicker/DateTimePickerTabs.js +1 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +6 -0
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -0
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -1
- package/node/MobileDatePicker/MobileDatePicker.js +6 -0
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -0
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -1
- package/node/PickersLayout/PickersLayout.js +1 -1
- package/node/StaticDatePicker/StaticDatePicker.js +7 -1
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +7 -1
- package/node/TimeClock/Clock.js +1 -1
- package/node/TimeClock/ClockNumber.js +1 -1
- package/node/TimeClock/ClockPointer.js +1 -1
- package/node/YearCalendar/YearCalendar.js +19 -6
- package/node/dateViewRenderers/dateViewRenderers.js +2 -0
- package/node/index.js +1 -1
- package/node/internals/components/PickersToolbarButton.js +1 -1
- package/node/internals/components/PickersToolbarText.js +1 -1
- package/node/locales/bgBG.js +79 -0
- package/node/locales/csCZ.js +16 -20
- package/node/locales/hrHR.js +96 -0
- package/node/locales/index.js +33 -0
- package/node/locales/ptBR.js +3 -4
- package/node/locales/ptPT.js +79 -0
- package/package.json +4 -4
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
5
|
+
const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clsx from 'clsx';
|
|
@@ -88,6 +88,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
88
88
|
onYearFocus,
|
|
89
89
|
hasFocus,
|
|
90
90
|
onFocusedViewChange,
|
|
91
|
+
yearsOrder = 'asc',
|
|
91
92
|
yearsPerRow,
|
|
92
93
|
timezone: timezoneProp,
|
|
93
94
|
gridLabelId,
|
|
@@ -177,22 +178,24 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
177
178
|
React.useEffect(() => {
|
|
178
179
|
setFocusedYear(prevFocusedYear => selectedYear !== null && prevFocusedYear !== selectedYear ? selectedYear : prevFocusedYear);
|
|
179
180
|
}, [selectedYear]);
|
|
181
|
+
const verticalDirection = yearsOrder !== 'desc' ? yearsPerRow * 1 : yearsPerRow * -1;
|
|
182
|
+
const horizontalDirection = isRtl && yearsOrder === 'asc' || !isRtl && yearsOrder === 'desc' ? -1 : 1;
|
|
180
183
|
const handleKeyDown = useEventCallback((event, year) => {
|
|
181
184
|
switch (event.key) {
|
|
182
185
|
case 'ArrowUp':
|
|
183
|
-
focusYear(year -
|
|
186
|
+
focusYear(year - verticalDirection);
|
|
184
187
|
event.preventDefault();
|
|
185
188
|
break;
|
|
186
189
|
case 'ArrowDown':
|
|
187
|
-
focusYear(year +
|
|
190
|
+
focusYear(year + verticalDirection);
|
|
188
191
|
event.preventDefault();
|
|
189
192
|
break;
|
|
190
193
|
case 'ArrowLeft':
|
|
191
|
-
focusYear(year
|
|
194
|
+
focusYear(year - horizontalDirection);
|
|
192
195
|
event.preventDefault();
|
|
193
196
|
break;
|
|
194
197
|
case 'ArrowRight':
|
|
195
|
-
focusYear(year +
|
|
198
|
+
focusYear(year + horizontalDirection);
|
|
196
199
|
event.preventDefault();
|
|
197
200
|
break;
|
|
198
201
|
default:
|
|
@@ -230,6 +233,10 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
230
233
|
}
|
|
231
234
|
scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;
|
|
232
235
|
}, [autoFocus]);
|
|
236
|
+
const yearRange = utils.getYearRange([minDate, maxDate]);
|
|
237
|
+
if (yearsOrder === 'desc') {
|
|
238
|
+
yearRange.reverse();
|
|
239
|
+
}
|
|
233
240
|
return /*#__PURE__*/_jsx(YearCalendarRoot, _extends({
|
|
234
241
|
ref: handleRef,
|
|
235
242
|
className: clsx(classes.root, className),
|
|
@@ -237,7 +244,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
237
244
|
role: "radiogroup",
|
|
238
245
|
"aria-labelledby": gridLabelId
|
|
239
246
|
}, other, {
|
|
240
|
-
children:
|
|
247
|
+
children: yearRange.map(year => {
|
|
241
248
|
const yearNumber = utils.getYear(year);
|
|
242
249
|
const isSelected = yearNumber === selectedYear;
|
|
243
250
|
const isDisabled = disabled || isYearDisabled(year);
|
|
@@ -358,6 +365,12 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
|
|
|
358
365
|
* Used when the component is controlled.
|
|
359
366
|
*/
|
|
360
367
|
value: PropTypes.object,
|
|
368
|
+
/**
|
|
369
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
370
|
+
* If `desc`, years are displayed in descending order.
|
|
371
|
+
* @default 'asc'
|
|
372
|
+
*/
|
|
373
|
+
yearsOrder: PropTypes.oneOf(['asc', 'desc']),
|
|
361
374
|
/**
|
|
362
375
|
* Years rendered per row.
|
|
363
376
|
* @default 3
|
|
@@ -25,6 +25,7 @@ export const renderDateViewCalendar = ({
|
|
|
25
25
|
onMonthChange,
|
|
26
26
|
monthsPerRow,
|
|
27
27
|
onYearChange,
|
|
28
|
+
yearsOrder,
|
|
28
29
|
yearsPerRow,
|
|
29
30
|
slots,
|
|
30
31
|
slotProps,
|
|
@@ -63,6 +64,7 @@ export const renderDateViewCalendar = ({
|
|
|
63
64
|
onMonthChange: onMonthChange,
|
|
64
65
|
monthsPerRow: monthsPerRow,
|
|
65
66
|
onYearChange: onYearChange,
|
|
67
|
+
yearsOrder: yearsOrder,
|
|
66
68
|
yearsPerRow: yearsPerRow,
|
|
67
69
|
slots: slots,
|
|
68
70
|
slotProps: slotProps,
|
package/modern/index.js
CHANGED
|
@@ -46,7 +46,7 @@ export const PickersToolbarButton = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
46
46
|
return /*#__PURE__*/_jsx(PickersToolbarButtonRoot, _extends({
|
|
47
47
|
variant: "text",
|
|
48
48
|
ref: ref,
|
|
49
|
-
className: clsx(
|
|
49
|
+
className: clsx(classes.root, className)
|
|
50
50
|
}, width ? {
|
|
51
51
|
sx: {
|
|
52
52
|
width
|
|
@@ -46,7 +46,7 @@ export const PickersToolbarText = /*#__PURE__*/React.forwardRef(function Pickers
|
|
|
46
46
|
const classes = useUtilityClasses(props);
|
|
47
47
|
return /*#__PURE__*/_jsx(PickersToolbarTextRoot, _extends({
|
|
48
48
|
ref: ref,
|
|
49
|
-
className: clsx(
|
|
49
|
+
className: clsx(classes.root, className),
|
|
50
50
|
component: "span"
|
|
51
51
|
}, other, {
|
|
52
52
|
children: value
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { getPickersLocalization } from "./utils/getPickersLocalization.js";
|
|
2
|
+
const views = {
|
|
3
|
+
hours: 'часове',
|
|
4
|
+
minutes: 'минути',
|
|
5
|
+
seconds: 'секунди',
|
|
6
|
+
meridiem: 'преди обяд/след обяд'
|
|
7
|
+
};
|
|
8
|
+
const bgBGPickers = {
|
|
9
|
+
// Calendar navigation
|
|
10
|
+
previousMonth: 'Предишен месец',
|
|
11
|
+
nextMonth: 'Следващ месец',
|
|
12
|
+
// View navigation
|
|
13
|
+
openPreviousView: 'Отвори предишен изглед',
|
|
14
|
+
openNextView: 'Отвори следващ изглед',
|
|
15
|
+
calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'отворен е изглед на година, премини на изглед на календар' : 'отворен е изглед на календар, премини на изглед на година',
|
|
16
|
+
// DateRange labels
|
|
17
|
+
start: 'Начало',
|
|
18
|
+
end: 'Край',
|
|
19
|
+
startDate: 'Начална дата',
|
|
20
|
+
startTime: 'Начален час',
|
|
21
|
+
endDate: 'Крайна дата',
|
|
22
|
+
endTime: 'Краен час',
|
|
23
|
+
// Action bar
|
|
24
|
+
cancelButtonLabel: 'Отказ',
|
|
25
|
+
clearButtonLabel: 'Изчисти',
|
|
26
|
+
okButtonLabel: 'ОК',
|
|
27
|
+
todayButtonLabel: 'Днес',
|
|
28
|
+
// Toolbar titles
|
|
29
|
+
datePickerToolbarTitle: 'Избери дата',
|
|
30
|
+
dateTimePickerToolbarTitle: 'Избери дата и час',
|
|
31
|
+
timePickerToolbarTitle: 'Избери час',
|
|
32
|
+
dateRangePickerToolbarTitle: 'Избери времеви период',
|
|
33
|
+
// Clock labels
|
|
34
|
+
clockLabelText: (view, time, adapter) => `Избери ${views[view]}. ${time === null ? 'Не е избран час' : `Избраният час е ${adapter.format(time, 'fullTime')}`}`,
|
|
35
|
+
hoursClockNumberText: hours => `${hours} часа`,
|
|
36
|
+
minutesClockNumberText: minutes => `${minutes} минути`,
|
|
37
|
+
secondsClockNumberText: seconds => `${seconds} секунди`,
|
|
38
|
+
// Digital clock labels
|
|
39
|
+
selectViewText: view => `Избери ${views[view]}`,
|
|
40
|
+
// Calendar labels
|
|
41
|
+
calendarWeekNumberHeaderLabel: 'Седмица',
|
|
42
|
+
calendarWeekNumberHeaderText: '#',
|
|
43
|
+
calendarWeekNumberAriaLabelText: weekNumber => `Седмица ${weekNumber}`,
|
|
44
|
+
calendarWeekNumberText: weekNumber => `${weekNumber}`,
|
|
45
|
+
// Open picker labels
|
|
46
|
+
openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Избери дата, избраната дата е ${utils.format(value, 'fullDate')}` : 'Избери дата',
|
|
47
|
+
openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Избери час, избраният час е ${utils.format(value, 'fullTime')}` : 'Избери час',
|
|
48
|
+
fieldClearLabel: 'Изчисти стойност',
|
|
49
|
+
// Table labels
|
|
50
|
+
timeTableLabel: 'избери час',
|
|
51
|
+
dateTableLabel: 'избери дата',
|
|
52
|
+
// Field section placeholders
|
|
53
|
+
fieldYearPlaceholder: params => 'Г'.repeat(params.digitAmount),
|
|
54
|
+
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'ММММ' : 'ММ',
|
|
55
|
+
fieldDayPlaceholder: () => 'ДД',
|
|
56
|
+
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'СССС' : 'СС',
|
|
57
|
+
fieldHoursPlaceholder: () => 'чч',
|
|
58
|
+
fieldMinutesPlaceholder: () => 'мм',
|
|
59
|
+
fieldSecondsPlaceholder: () => 'сс',
|
|
60
|
+
fieldMeridiemPlaceholder: () => 'пс',
|
|
61
|
+
// View names
|
|
62
|
+
year: 'Година',
|
|
63
|
+
month: 'Месец',
|
|
64
|
+
day: 'Ден',
|
|
65
|
+
weekDay: 'Ден от седмицата',
|
|
66
|
+
hours: 'Часове',
|
|
67
|
+
minutes: 'Минути',
|
|
68
|
+
seconds: 'Секунди',
|
|
69
|
+
meridiem: 'Преди обяд/след обяд',
|
|
70
|
+
// Common
|
|
71
|
+
empty: 'Празно'
|
|
72
|
+
};
|
|
73
|
+
export const bgBG = getPickersLocalization(bgBGPickers);
|
package/modern/locales/csCZ.js
CHANGED
|
@@ -17,11 +17,10 @@ const csCZPickers = {
|
|
|
17
17
|
// DateRange labels
|
|
18
18
|
start: 'Začátek',
|
|
19
19
|
end: 'Konec',
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
startDate: 'Datum začátku',
|
|
21
|
+
startTime: 'Čas začátku',
|
|
22
|
+
endDate: 'Datum konce',
|
|
23
|
+
endTime: 'Čas konce',
|
|
25
24
|
// Action bar
|
|
26
25
|
cancelButtonLabel: 'Zrušit',
|
|
27
26
|
clearButtonLabel: 'Vymazat',
|
|
@@ -47,8 +46,7 @@ const csCZPickers = {
|
|
|
47
46
|
// Open picker labels
|
|
48
47
|
openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Vyberte datum, vybrané datum je ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Vyberte datum',
|
|
49
48
|
openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Vyberte čas, vybraný čas je ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Vyberte čas',
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
fieldClearLabel: 'Vymazat',
|
|
52
50
|
// Table labels
|
|
53
51
|
timeTableLabel: 'vyberte čas',
|
|
54
52
|
dateTableLabel: 'vyberte datum',
|
|
@@ -56,23 +54,21 @@ const csCZPickers = {
|
|
|
56
54
|
fieldYearPlaceholder: params => 'Y'.repeat(params.digitAmount),
|
|
57
55
|
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
|
|
58
56
|
fieldDayPlaceholder: () => 'DD',
|
|
59
|
-
|
|
57
|
+
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
|
|
60
58
|
fieldHoursPlaceholder: () => 'hh',
|
|
61
59
|
fieldMinutesPlaceholder: () => 'mm',
|
|
62
60
|
fieldSecondsPlaceholder: () => 'ss',
|
|
63
|
-
fieldMeridiemPlaceholder: () => 'aa'
|
|
64
|
-
|
|
61
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
65
62
|
// View names
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
year: 'Rok',
|
|
64
|
+
month: 'Měsíc',
|
|
65
|
+
day: 'Den',
|
|
66
|
+
weekDay: 'Pracovní den',
|
|
67
|
+
hours: 'Hodiny',
|
|
68
|
+
minutes: 'Minuty',
|
|
69
|
+
seconds: 'Sekundy',
|
|
70
|
+
meridiem: 'Odpoledne',
|
|
75
71
|
// Common
|
|
76
|
-
|
|
72
|
+
empty: 'Prázdný'
|
|
77
73
|
};
|
|
78
74
|
export const csCZ = getPickersLocalization(csCZPickers);
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { getPickersLocalization } from "./utils/getPickersLocalization.js";
|
|
2
|
+
// maps TimeView to its translation
|
|
3
|
+
const timeViews = {
|
|
4
|
+
hours: 'sati',
|
|
5
|
+
minutes: 'minute',
|
|
6
|
+
seconds: 'sekunde',
|
|
7
|
+
meridiem: 'meridiem'
|
|
8
|
+
};
|
|
9
|
+
const hrHRPickers = {
|
|
10
|
+
// Calendar navigation
|
|
11
|
+
previousMonth: 'Prethodni mjesec',
|
|
12
|
+
nextMonth: 'Naredni mjesec',
|
|
13
|
+
// View navigation
|
|
14
|
+
openPreviousView: 'Otvori prethodni prikaz',
|
|
15
|
+
openNextView: 'Otvori naredni prikaz',
|
|
16
|
+
calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'Otvoren je godišnji prikaz, promijeni na kalendarski prikaz' : 'Otvoren je kalendarski prikaz, promijeni na godišnji prikaz',
|
|
17
|
+
// DateRange labels
|
|
18
|
+
start: 'Početak',
|
|
19
|
+
end: 'Kraj',
|
|
20
|
+
startDate: 'Početni datum',
|
|
21
|
+
startTime: 'Početno vrijeme',
|
|
22
|
+
endDate: 'Krajnji datum',
|
|
23
|
+
endTime: 'Krajnje vrijeme',
|
|
24
|
+
// Action bar
|
|
25
|
+
cancelButtonLabel: 'Otkaži',
|
|
26
|
+
clearButtonLabel: 'Izbriši',
|
|
27
|
+
okButtonLabel: 'U redu',
|
|
28
|
+
todayButtonLabel: 'Danas',
|
|
29
|
+
// Toolbar titles
|
|
30
|
+
datePickerToolbarTitle: 'Odaberi datum',
|
|
31
|
+
dateTimePickerToolbarTitle: 'Odaberi datum i vrijeme',
|
|
32
|
+
timePickerToolbarTitle: 'Odaberi vrijeme',
|
|
33
|
+
dateRangePickerToolbarTitle: 'Odaberi vremenski okvir',
|
|
34
|
+
// Clock labels
|
|
35
|
+
clockLabelText: (view, time, utils, formattedTime) => `Odaberi ${timeViews[view] ?? view}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Vrijeme nije odabrano' : `Odabrano vrijeme je ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
|
|
36
|
+
hoursClockNumberText: hours => {
|
|
37
|
+
let suffix = 'sati';
|
|
38
|
+
if (Number(hours) === 1) {
|
|
39
|
+
suffix = 'sat';
|
|
40
|
+
} else if (Number(hours) < 5) {
|
|
41
|
+
suffix = 'sata';
|
|
42
|
+
}
|
|
43
|
+
return `${hours} ${suffix}`;
|
|
44
|
+
},
|
|
45
|
+
minutesClockNumberText: minutes => `${minutes} ${Number(minutes) > 1 && Number(minutes) < 5 ? 'minute' : 'minuta'}`,
|
|
46
|
+
secondsClockNumberText: seconds => {
|
|
47
|
+
let suffix = 'sekundi';
|
|
48
|
+
if (Number(seconds) === 1) {
|
|
49
|
+
suffix = 'sekunda';
|
|
50
|
+
} else if (Number(seconds) < 5) {
|
|
51
|
+
suffix = 'sekunde';
|
|
52
|
+
}
|
|
53
|
+
return `${seconds} ${suffix}`;
|
|
54
|
+
},
|
|
55
|
+
// Digital clock labels
|
|
56
|
+
selectViewText: view => `Odaberi ${timeViews[view]}`,
|
|
57
|
+
// Calendar labels
|
|
58
|
+
calendarWeekNumberHeaderLabel: 'Broj tjedna',
|
|
59
|
+
calendarWeekNumberHeaderText: '#',
|
|
60
|
+
calendarWeekNumberAriaLabelText: weekNumber => `Tjedan ${weekNumber}`,
|
|
61
|
+
calendarWeekNumberText: weekNumber => `${weekNumber}`,
|
|
62
|
+
// Open picker labels
|
|
63
|
+
openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Odaberi datum, odabrani datum je ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Odaberi datum',
|
|
64
|
+
openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Odaberi vrijeme, odabrano vrijeme je ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Odaberi vrijeme',
|
|
65
|
+
fieldClearLabel: 'Izbriši',
|
|
66
|
+
// Table labels
|
|
67
|
+
timeTableLabel: 'Odaberi vrijeme',
|
|
68
|
+
dateTableLabel: 'Odaberi datum',
|
|
69
|
+
// Field section placeholders
|
|
70
|
+
fieldYearPlaceholder: params => 'G'.repeat(params.digitAmount),
|
|
71
|
+
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
|
|
72
|
+
fieldDayPlaceholder: () => 'DD',
|
|
73
|
+
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
|
|
74
|
+
fieldHoursPlaceholder: () => 'hh',
|
|
75
|
+
fieldMinutesPlaceholder: () => 'mm',
|
|
76
|
+
fieldSecondsPlaceholder: () => 'ss',
|
|
77
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
78
|
+
// View names
|
|
79
|
+
year: 'Godina',
|
|
80
|
+
month: 'Mjesec',
|
|
81
|
+
day: 'Dan',
|
|
82
|
+
weekDay: 'Dan u tjednu',
|
|
83
|
+
hours: 'Sati',
|
|
84
|
+
minutes: 'Minute',
|
|
85
|
+
seconds: 'Sekunde',
|
|
86
|
+
meridiem: 'Meridiem',
|
|
87
|
+
// Common
|
|
88
|
+
empty: 'Isprazni'
|
|
89
|
+
};
|
|
90
|
+
export const hrHR = getPickersLocalization(hrHRPickers);
|
package/modern/locales/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./beBY.js";
|
|
2
|
+
export * from "./bgBG.js";
|
|
2
3
|
export * from "./caES.js";
|
|
3
4
|
export * from "./csCZ.js";
|
|
4
5
|
export * from "./daDK.js";
|
|
@@ -11,6 +12,7 @@ export * from "./faIR.js";
|
|
|
11
12
|
export * from "./fiFI.js";
|
|
12
13
|
export * from "./frFR.js";
|
|
13
14
|
export * from "./heIL.js";
|
|
15
|
+
export * from "./hrHR.js";
|
|
14
16
|
export * from "./huHU.js";
|
|
15
17
|
export * from "./isIS.js";
|
|
16
18
|
export * from "./itIT.js";
|
|
@@ -23,6 +25,7 @@ export * from "./nlNL.js";
|
|
|
23
25
|
export * from "./nnNO.js";
|
|
24
26
|
export * from "./plPL.js";
|
|
25
27
|
export * from "./ptBR.js";
|
|
28
|
+
export * from "./ptPT.js";
|
|
26
29
|
export * from "./roRO.js";
|
|
27
30
|
export * from "./ruRU.js";
|
|
28
31
|
export * from "./skSK.js";
|
package/modern/locales/ptBR.js
CHANGED
|
@@ -10,8 +10,8 @@ const ptBRPickers = {
|
|
|
10
10
|
previousMonth: 'Mês anterior',
|
|
11
11
|
nextMonth: 'Próximo mês',
|
|
12
12
|
// View navigation
|
|
13
|
-
openPreviousView: 'Abrir
|
|
14
|
-
openNextView: 'Abrir seleção
|
|
13
|
+
openPreviousView: 'Abrir seleção anterior',
|
|
14
|
+
openNextView: 'Abrir próxima seleção',
|
|
15
15
|
calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'Seleção de ano está aberta, alternando para seleção de calendário' : 'Seleção de calendários está aberta, alternando para seleção de ano',
|
|
16
16
|
// DateRange labels
|
|
17
17
|
start: 'Início',
|
|
@@ -45,8 +45,7 @@ const ptBRPickers = {
|
|
|
45
45
|
// Open picker labels
|
|
46
46
|
openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Escolha uma data, data selecionada ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Escolha uma data',
|
|
47
47
|
openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Escolha uma hora, hora selecionada ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Escolha uma hora',
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
fieldClearLabel: 'Limpar valor',
|
|
50
49
|
// Table labels
|
|
51
50
|
timeTableLabel: 'escolha uma hora',
|
|
52
51
|
dateTableLabel: 'escolha uma data',
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { getPickersLocalization } from "./utils/getPickersLocalization.js";
|
|
2
|
+
const timeViews = {
|
|
3
|
+
hours: 'horas',
|
|
4
|
+
minutes: 'minutos',
|
|
5
|
+
seconds: 'segundos',
|
|
6
|
+
meridiem: 'meridiano'
|
|
7
|
+
};
|
|
8
|
+
const ptPTPickers = {
|
|
9
|
+
// Calendar navigation
|
|
10
|
+
previousMonth: 'Mês anterior',
|
|
11
|
+
nextMonth: 'Próximo mês',
|
|
12
|
+
// View navigation
|
|
13
|
+
openPreviousView: 'Abrir seleção anterior',
|
|
14
|
+
openNextView: 'Abrir próxima seleção',
|
|
15
|
+
calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'A seleção do ano está aberta, altere para a seleção do calendário' : 'A seleção do calendários está aberta, altere para a seleção do ano',
|
|
16
|
+
// DateRange labels
|
|
17
|
+
start: 'Início',
|
|
18
|
+
end: 'Fim',
|
|
19
|
+
startDate: 'Data de início',
|
|
20
|
+
startTime: 'Hora de início',
|
|
21
|
+
endDate: 'Data de fim',
|
|
22
|
+
endTime: 'Hora de fim',
|
|
23
|
+
// Action bar
|
|
24
|
+
cancelButtonLabel: 'Cancelar',
|
|
25
|
+
clearButtonLabel: 'Limpar',
|
|
26
|
+
okButtonLabel: 'OK',
|
|
27
|
+
todayButtonLabel: 'Hoje',
|
|
28
|
+
// Toolbar titles
|
|
29
|
+
datePickerToolbarTitle: 'Selecione a data',
|
|
30
|
+
dateTimePickerToolbarTitle: 'Selecione a data e a hora',
|
|
31
|
+
timePickerToolbarTitle: 'Selecione a hora',
|
|
32
|
+
dateRangePickerToolbarTitle: 'Selecione o intervalo de datas',
|
|
33
|
+
// Clock labels
|
|
34
|
+
clockLabelText: (view, time, utils, formattedTime) => `Selecione ${timeViews[view]}. ${!formattedTime && (time === null || !utils.isValid(time)) ? 'Hora não selecionada' : `Selecionado a hora ${formattedTime ?? utils.format(time, 'fullTime')}`}`,
|
|
35
|
+
hoursClockNumberText: hours => `${hours} horas`,
|
|
36
|
+
minutesClockNumberText: minutes => `${minutes} minutos`,
|
|
37
|
+
secondsClockNumberText: seconds => `${seconds} segundos`,
|
|
38
|
+
// Digital clock labels
|
|
39
|
+
selectViewText: view => `Selecione ${timeViews[view]}`,
|
|
40
|
+
// Calendar labels
|
|
41
|
+
calendarWeekNumberHeaderLabel: 'Número da semana',
|
|
42
|
+
calendarWeekNumberHeaderText: 'N.º',
|
|
43
|
+
calendarWeekNumberAriaLabelText: weekNumber => `Semana ${weekNumber}`,
|
|
44
|
+
calendarWeekNumberText: weekNumber => `${weekNumber}`,
|
|
45
|
+
// Open picker labels
|
|
46
|
+
openDatePickerDialogue: (value, utils, formattedDate) => formattedDate || value !== null && utils.isValid(value) ? `Escolha uma data, a data selecionada é ${formattedDate ?? utils.format(value, 'fullDate')}` : 'Escolha uma data',
|
|
47
|
+
openTimePickerDialogue: (value, utils, formattedTime) => formattedTime || value !== null && utils.isValid(value) ? `Escolha uma hora, a hora selecionada é ${formattedTime ?? utils.format(value, 'fullTime')}` : 'Escolha uma hora',
|
|
48
|
+
fieldClearLabel: 'Limpar valor',
|
|
49
|
+
// Table labels
|
|
50
|
+
timeTableLabel: 'escolha uma hora',
|
|
51
|
+
dateTableLabel: 'escolha uma data',
|
|
52
|
+
// Field section placeholders
|
|
53
|
+
fieldYearPlaceholder: params => 'A'.repeat(params.digitAmount),
|
|
54
|
+
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
|
|
55
|
+
fieldDayPlaceholder: () => 'DD',
|
|
56
|
+
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'SSSS' : 'SS',
|
|
57
|
+
fieldHoursPlaceholder: () => 'hh',
|
|
58
|
+
fieldMinutesPlaceholder: () => 'mm',
|
|
59
|
+
fieldSecondsPlaceholder: () => 'ss',
|
|
60
|
+
fieldMeridiemPlaceholder: () => 'aa',
|
|
61
|
+
// View names
|
|
62
|
+
year: 'Ano',
|
|
63
|
+
month: 'Mês',
|
|
64
|
+
day: 'Dia',
|
|
65
|
+
weekDay: 'Dia da Semana',
|
|
66
|
+
hours: 'Horas',
|
|
67
|
+
minutes: 'Minutos',
|
|
68
|
+
seconds: 'Segundos',
|
|
69
|
+
meridiem: 'Meridiano',
|
|
70
|
+
// Common
|
|
71
|
+
empty: 'Vazio'
|
|
72
|
+
};
|
|
73
|
+
export const ptPT = getPickersLocalization(ptPTPickers);
|
|
@@ -87,7 +87,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
87
87
|
/* istanbul ignore next */
|
|
88
88
|
if (process.env.NODE_ENV !== 'production') {
|
|
89
89
|
if (typeof _addDays.default !== 'function') {
|
|
90
|
-
throw new Error(['MUI:
|
|
90
|
+
throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
super({
|
|
@@ -90,7 +90,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
90
90
|
/* istanbul ignore next */
|
|
91
91
|
if (process.env.NODE_ENV !== 'production') {
|
|
92
92
|
if (typeof _addDays.addDays !== 'function') {
|
|
93
|
-
throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
93
|
+
throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x or v4.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
94
94
|
}
|
|
95
95
|
if (!_format.longFormatters) {
|
|
96
96
|
throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
|
|
@@ -31,7 +31,7 @@ var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
|
|
|
31
31
|
var _valueManagers = require("../internals/utils/valueManagers");
|
|
32
32
|
var _dimensions = require("../internals/constants/dimensions");
|
|
33
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
34
|
-
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
34
|
+
const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
|
|
35
35
|
const useUtilityClasses = ownerState => {
|
|
36
36
|
const {
|
|
37
37
|
classes
|
|
@@ -127,6 +127,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
127
127
|
loading,
|
|
128
128
|
renderLoading,
|
|
129
129
|
displayWeekNumber,
|
|
130
|
+
yearsOrder,
|
|
130
131
|
yearsPerRow,
|
|
131
132
|
monthsPerRow,
|
|
132
133
|
timezone: timezoneProp
|
|
@@ -318,6 +319,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
318
319
|
shouldDisableYear: shouldDisableYear,
|
|
319
320
|
hasFocus: hasFocus,
|
|
320
321
|
onFocusedViewChange: isViewFocused => setFocusedView('year', isViewFocused),
|
|
322
|
+
yearsOrder: yearsOrder,
|
|
321
323
|
yearsPerRow: yearsPerRow,
|
|
322
324
|
referenceDate: referenceDate
|
|
323
325
|
})), view === 'month' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MonthCalendar.MonthCalendar, (0, _extends2.default)({}, baseDateValidationProps, commonViewProps, {
|
|
@@ -567,6 +569,12 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
567
569
|
* Available views.
|
|
568
570
|
*/
|
|
569
571
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
572
|
+
/**
|
|
573
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
574
|
+
* If `desc`, years are displayed in descending order.
|
|
575
|
+
* @default 'asc'
|
|
576
|
+
*/
|
|
577
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
570
578
|
/**
|
|
571
579
|
* Years rendered per row.
|
|
572
580
|
* @default 3
|
|
@@ -358,6 +358,12 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
358
358
|
* Available views.
|
|
359
359
|
*/
|
|
360
360
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
361
|
+
/**
|
|
362
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
363
|
+
* If `desc`, years are displayed in descending order.
|
|
364
|
+
* @default 'asc'
|
|
365
|
+
*/
|
|
366
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
361
367
|
/**
|
|
362
368
|
* Years rendered per row.
|
|
363
369
|
* @default 4 on desktop, 3 on mobile
|
|
@@ -429,6 +429,12 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
429
429
|
* Available views.
|
|
430
430
|
*/
|
|
431
431
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
|
|
432
|
+
/**
|
|
433
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
434
|
+
* If `desc`, years are displayed in descending order.
|
|
435
|
+
* @default 'asc'
|
|
436
|
+
*/
|
|
437
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
432
438
|
/**
|
|
433
439
|
* Years rendered per row.
|
|
434
440
|
* @default 4 on desktop, 3 on mobile
|
|
@@ -94,7 +94,7 @@ const DateTimePickerTabs = exports.DateTimePickerTabs = function DateTimePickerT
|
|
|
94
94
|
variant: "fullWidth",
|
|
95
95
|
value: viewToTab(view),
|
|
96
96
|
onChange: handleChange,
|
|
97
|
-
className: (0, _clsx.default)(
|
|
97
|
+
className: (0, _clsx.default)(classes.root, className),
|
|
98
98
|
sx: sx,
|
|
99
99
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tab.default, {
|
|
100
100
|
value: "date",
|
|
@@ -379,6 +379,12 @@ DesktopDatePicker.propTypes = {
|
|
|
379
379
|
* Available views.
|
|
380
380
|
*/
|
|
381
381
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
382
|
+
/**
|
|
383
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
384
|
+
* If `desc`, years are displayed in descending order.
|
|
385
|
+
* @default 'asc'
|
|
386
|
+
*/
|
|
387
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
382
388
|
/**
|
|
383
389
|
* Years rendered per row.
|
|
384
390
|
* @default 4
|
|
@@ -537,6 +537,12 @@ DesktopDateTimePicker.propTypes = {
|
|
|
537
537
|
* Available views.
|
|
538
538
|
*/
|
|
539
539
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
|
|
540
|
+
/**
|
|
541
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
542
|
+
* If `desc`, years are displayed in descending order.
|
|
543
|
+
* @default 'asc'
|
|
544
|
+
*/
|
|
545
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
540
546
|
/**
|
|
541
547
|
* Years rendered per row.
|
|
542
548
|
* @default 4
|
|
@@ -38,7 +38,7 @@ const DesktopDateTimePickerLayout = exports.DesktopDateTimePickerLayout = /*#__P
|
|
|
38
38
|
});
|
|
39
39
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickersLayout.PickersLayoutRoot, {
|
|
40
40
|
ref: ref,
|
|
41
|
-
className: (0, _clsx.default)(
|
|
41
|
+
className: (0, _clsx.default)(_PickersLayout.pickersLayoutClasses.root, classes?.root, className),
|
|
42
42
|
sx: [{
|
|
43
43
|
[`& .${_PickersLayout.pickersLayoutClasses.tabs}`]: {
|
|
44
44
|
gridRow: 4,
|
|
@@ -376,6 +376,12 @@ MobileDatePicker.propTypes = {
|
|
|
376
376
|
* Available views.
|
|
377
377
|
*/
|
|
378
378
|
views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
|
|
379
|
+
/**
|
|
380
|
+
* Years are displayed in ascending (chronological) order by default.
|
|
381
|
+
* If `desc`, years are displayed in descending order.
|
|
382
|
+
* @default 'asc'
|
|
383
|
+
*/
|
|
384
|
+
yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
|
379
385
|
/**
|
|
380
386
|
* Years rendered per row.
|
|
381
387
|
* @default 3
|