@mui/x-date-pickers 6.0.2 → 6.0.4
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/index.js +1 -0
- package/AdapterDateFnsJalali/index.js +69 -0
- package/AdapterDayjs/index.js +5 -0
- package/AdapterLuxon/index.js +13 -3
- package/AdapterMoment/index.js +5 -0
- package/AdapterMomentHijri/index.js +5 -0
- package/AdapterMomentJalaali/index.js +5 -0
- package/CHANGELOG.md +119 -5
- package/DateCalendar/DateCalendar.types.d.ts +1 -1
- package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
- package/DateCalendar/index.d.ts +0 -1
- package/DateField/DateField.js +4 -0
- package/DateField/DateField.types.d.ts +2 -2
- package/DateField/useDateField.js +5 -3
- package/DatePicker/DatePickerToolbar.d.ts +1 -1
- package/DatePicker/shared.d.ts +2 -2
- package/DateTimeField/DateTimeField.js +4 -0
- package/DateTimeField/DateTimeField.types.d.ts +2 -2
- package/DateTimeField/useDateTimeField.js +5 -3
- package/DateTimePicker/DateTimePickerTabs.d.ts +1 -1
- package/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/DateTimePicker/shared.d.ts +1 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.types.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.types.d.ts +1 -1
- package/PickersDay/PickersDay.js +4 -4
- package/PickersLayout/PickersLayout.d.ts +1 -1
- package/PickersLayout/PickersLayout.types.d.ts +1 -1
- package/PickersLayout/index.d.ts +1 -1
- package/PickersLayout/usePickerLayout.d.ts +1 -1
- package/README.md +1 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -1
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -1
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -1
- package/TimeClock/Clock.d.ts +1 -1
- package/TimeClock/ClockPointer.d.ts +1 -1
- package/TimeClock/TimeClock.types.d.ts +1 -1
- package/TimeClock/index.d.ts +0 -1
- package/TimeField/TimeField.js +4 -0
- package/TimeField/TimeField.types.d.ts +2 -2
- package/TimeField/useTimeField.js +5 -3
- package/TimePicker/TimePickerToolbar.d.ts +1 -1
- package/TimePicker/shared.d.ts +1 -2
- package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
- package/index.d.ts +1 -6
- package/index.js +4 -2
- package/internals/components/PickersToolbar.d.ts +1 -1
- package/internals/demo/DemoContainer.js +15 -7
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -7
- package/internals/hooks/useField/index.d.ts +2 -2
- package/internals/hooks/useField/index.js +1 -1
- package/internals/hooks/useField/useField.d.ts +3 -2
- package/internals/hooks/useField/useField.js +61 -30
- package/internals/hooks/useField/useField.types.d.ts +48 -116
- package/internals/hooks/useField/useField.utils.d.ts +7 -5
- package/internals/hooks/useField/useField.utils.js +68 -50
- package/internals/hooks/useField/useFieldCharacterEditing.d.ts +2 -1
- package/internals/hooks/useField/useFieldState.d.ts +4 -3
- package/internals/hooks/useField/useFieldState.js +86 -65
- package/internals/hooks/useIsLandscape.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
- package/internals/hooks/usePicker/usePicker.d.ts +2 -2
- package/internals/hooks/usePicker/usePicker.types.d.ts +4 -4
- package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +1 -1
- package/internals/hooks/usePicker/usePickerValue.d.ts +9 -8
- package/internals/hooks/usePicker/usePickerValue.js +7 -11
- package/internals/hooks/usePicker/usePickerViews.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
- package/internals/hooks/useViews.d.ts +1 -1
- package/internals/hooks/useViews.js +8 -0
- package/internals/hooks/validation/models.d.ts +1 -1
- package/internals/hooks/validation/useDateTimeValidation.d.ts +3 -3
- package/internals/hooks/validation/useDateValidation.d.ts +2 -2
- package/internals/hooks/validation/useTimeValidation.d.ts +2 -2
- package/internals/index.d.ts +4 -8
- package/internals/index.js +2 -2
- package/internals/models/fields.d.ts +2 -20
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +0 -1
- package/internals/models/muiPickersAdapter.d.ts +1 -10
- package/internals/models/props/basePickerProps.d.ts +3 -3
- package/internals/models/props/tabs.d.ts +1 -1
- package/internals/models/props/toolbar.d.ts +1 -1
- package/internals/utils/date-utils.d.ts +1 -0
- package/internals/utils/date-utils.js +6 -0
- package/internals/utils/time-utils.d.ts +2 -1
- package/internals/utils/utils.d.ts +1 -1
- package/internals/utils/utils.js +3 -3
- package/internals/utils/validation.d.ts +1 -1
- package/internals/utils/valueManagers.d.ts +2 -4
- package/internals/utils/valueManagers.js +11 -12
- package/internals/utils/views.d.ts +1 -1
- package/legacy/AdapterDateFns/index.js +1 -0
- package/legacy/AdapterDateFnsJalali/index.js +69 -0
- package/legacy/AdapterDayjs/index.js +5 -0
- package/legacy/AdapterLuxon/index.js +13 -3
- package/legacy/AdapterMoment/index.js +5 -0
- package/legacy/AdapterMomentHijri/index.js +5 -0
- package/legacy/AdapterMomentJalaali/index.js +5 -0
- package/legacy/DateField/DateField.js +4 -0
- package/legacy/DateField/useDateField.js +4 -2
- package/legacy/DateTimeField/DateTimeField.js +4 -0
- package/legacy/DateTimeField/useDateTimeField.js +4 -2
- package/legacy/PickersDay/PickersDay.js +4 -4
- package/legacy/TimeField/TimeField.js +4 -0
- package/legacy/TimeField/useTimeField.js +4 -2
- package/legacy/index.js +4 -2
- package/legacy/internals/demo/DemoContainer.js +12 -6
- package/legacy/internals/hooks/useField/index.js +1 -1
- package/legacy/internals/hooks/useField/useField.js +86 -44
- package/legacy/internals/hooks/useField/useField.utils.js +76 -54
- package/legacy/internals/hooks/useField/useFieldState.js +92 -72
- package/legacy/internals/hooks/usePicker/usePickerValue.js +9 -13
- package/legacy/internals/hooks/useViews.js +10 -0
- package/legacy/internals/index.js +2 -2
- package/legacy/internals/models/index.js +0 -1
- package/legacy/internals/utils/date-utils.js +6 -0
- package/legacy/internals/utils/utils.js +3 -3
- package/legacy/internals/utils/valueManagers.js +12 -19
- package/legacy/locales/daDK.js +91 -0
- package/legacy/locales/faIR.js +33 -16
- package/legacy/locales/nbNO.js +12 -10
- package/legacy/locales/nlNL.js +12 -10
- package/legacy/locales/plPL.js +12 -10
- package/legacy/locales/svSE.js +12 -10
- package/legacy/models/index.js +3 -0
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +2 -3
- package/locales/daDK.d.ts +51 -0
- package/locales/daDK.js +59 -0
- package/locales/faIR.js +13 -16
- package/locales/nbNO.js +8 -10
- package/locales/nlNL.d.ts +4 -4
- package/locales/nlNL.js +8 -10
- package/locales/plPL.js +8 -10
- package/locales/svSE.js +8 -10
- package/locales/utils/pickersLocaleTextApi.d.ts +2 -1
- package/models/fields.d.ts +117 -0
- package/models/fields.js +1 -0
- package/models/index.d.ts +3 -0
- package/models/index.js +3 -0
- package/models/package.json +6 -0
- package/models/validation.d.ts +8 -0
- package/models/validation.js +1 -0
- package/models/views.js +1 -0
- package/modern/AdapterDateFns/index.js +1 -0
- package/modern/AdapterDateFnsJalali/index.js +69 -0
- package/modern/AdapterDayjs/index.js +5 -0
- package/modern/AdapterLuxon/index.js +13 -3
- package/modern/AdapterMoment/index.js +5 -0
- package/modern/AdapterMomentHijri/index.js +5 -0
- package/modern/AdapterMomentJalaali/index.js +5 -0
- package/modern/DateField/DateField.js +4 -0
- package/modern/DateField/useDateField.js +5 -3
- package/modern/DateTimeField/DateTimeField.js +4 -0
- package/modern/DateTimeField/useDateTimeField.js +5 -3
- package/modern/PickersDay/PickersDay.js +4 -4
- package/modern/TimeField/TimeField.js +4 -0
- package/modern/TimeField/useTimeField.js +5 -3
- package/modern/index.js +4 -2
- package/modern/internals/demo/DemoContainer.js +15 -7
- package/modern/internals/hooks/useField/index.js +1 -1
- package/modern/internals/hooks/useField/useField.js +59 -29
- package/modern/internals/hooks/useField/useField.utils.js +68 -50
- package/modern/internals/hooks/useField/useFieldState.js +86 -65
- package/modern/internals/hooks/usePicker/usePickerValue.js +7 -11
- package/modern/internals/hooks/useViews.js +8 -0
- package/modern/internals/index.js +2 -2
- package/modern/internals/models/index.js +0 -1
- package/modern/internals/utils/date-utils.js +6 -0
- package/modern/internals/utils/utils.js +3 -3
- package/modern/internals/utils/valueManagers.js +11 -12
- package/modern/locales/daDK.js +56 -0
- package/modern/locales/faIR.js +13 -16
- package/modern/locales/nbNO.js +8 -10
- package/modern/locales/nlNL.js +8 -10
- package/modern/locales/plPL.js +8 -10
- package/modern/locales/svSE.js +8 -10
- package/modern/models/fields.js +1 -0
- package/modern/models/index.js +3 -0
- package/modern/models/validation.js +1 -0
- package/modern/models/views.js +1 -0
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +2 -3
- package/node/AdapterDateFns/index.js +1 -0
- package/node/AdapterDateFnsJalali/index.js +69 -0
- package/node/AdapterDayjs/index.js +5 -0
- package/node/AdapterLuxon/index.js +13 -3
- package/node/AdapterMoment/index.js +5 -0
- package/node/AdapterMomentHijri/index.js +5 -0
- package/node/AdapterMomentJalaali/index.js +5 -0
- package/node/DateField/DateField.js +4 -0
- package/node/DateField/useDateField.js +5 -3
- package/node/DateTimeField/DateTimeField.js +4 -0
- package/node/DateTimeField/useDateTimeField.js +5 -3
- package/node/PickersDay/PickersDay.js +4 -4
- package/node/TimeField/TimeField.js +4 -0
- package/node/TimeField/useTimeField.js +5 -3
- package/node/index.js +14 -2
- package/node/internals/demo/DemoContainer.js +15 -7
- package/node/internals/hooks/useField/index.js +0 -6
- package/node/internals/hooks/useField/useField.js +58 -28
- package/node/internals/hooks/useField/useField.utils.js +71 -52
- package/node/internals/hooks/useField/useFieldState.js +85 -64
- package/node/internals/hooks/usePicker/usePickerValue.js +7 -11
- package/node/internals/hooks/useViews.js +8 -0
- package/node/internals/index.js +6 -12
- package/node/internals/models/index.js +0 -11
- package/node/internals/utils/date-utils.js +9 -2
- package/node/internals/utils/utils.js +3 -3
- package/node/internals/utils/valueManagers.js +9 -10
- package/node/locales/daDK.js +62 -0
- package/node/locales/faIR.js +13 -16
- package/node/locales/nbNO.js +8 -10
- package/node/locales/nlNL.js +8 -10
- package/node/locales/plPL.js +8 -10
- package/node/locales/svSE.js +8 -10
- package/node/models/index.js +38 -0
- package/node/models/validation.js +5 -0
- package/node/models/views.js +5 -0
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +2 -3
- package/package.json +2 -2
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +2 -3
- package/themeAugmentation/props.d.ts +1 -1
- package/timeViewRenderers/timeViewRenderers.d.ts +1 -1
- /package/{internals/models/views.js → legacy/models/fields.js} +0 -0
- /package/legacy/{internals/models/views.js → models/validation.js} +0 -0
- /package/{modern/internals → legacy}/models/views.js +0 -0
- /package/{internals/models → models}/views.d.ts +0 -0
- /package/node/{internals/models/views.js → models/fields.js} +0 -0
|
@@ -2,10 +2,10 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { useTheme } from '@mui/material/styles';
|
|
6
5
|
import useControlled from '@mui/utils/useControlled';
|
|
6
|
+
import { useTheme } from '@mui/material/styles';
|
|
7
7
|
import { useUtils, useLocaleText, useLocalizationContext } from '../useUtils';
|
|
8
|
-
import { addPositionPropertiesToSections, splitFormatIntoSections,
|
|
8
|
+
import { addPositionPropertiesToSections, splitFormatIntoSections, clampDaySectionIfPossible, mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections } from './useField.utils';
|
|
9
9
|
export var useFieldState = function useFieldState(params) {
|
|
10
10
|
var _ref;
|
|
11
11
|
var utils = useUtils();
|
|
@@ -30,19 +30,21 @@ export var useFieldState = function useFieldState(params) {
|
|
|
30
30
|
var sectionsValueBoundaries = React.useMemo(function () {
|
|
31
31
|
return getSectionsBoundaries(utils);
|
|
32
32
|
}, [utils]);
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
var getSectionsFromValue = React.useCallback(function (value) {
|
|
34
|
+
var fallbackSections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
35
|
+
return fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, isRTL, function (date) {
|
|
36
|
+
return splitFormatIntoSections(utils, localeText, format, date);
|
|
37
|
+
});
|
|
38
|
+
}, [fieldValueManager, format, localeText, isRTL, utils]);
|
|
36
39
|
var placeholder = React.useMemo(function () {
|
|
37
|
-
return fieldValueManager.getValueStrFromSections(
|
|
38
|
-
}, [fieldValueManager,
|
|
40
|
+
return fieldValueManager.getValueStrFromSections(getSectionsFromValue(valueManager.emptyValue), isRTL);
|
|
41
|
+
}, [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, isRTL]);
|
|
39
42
|
var _React$useState = React.useState(function () {
|
|
40
|
-
var sections =
|
|
43
|
+
var sections = getSectionsFromValue(valueFromTheOutside);
|
|
41
44
|
validateSections(sections, valueType);
|
|
42
45
|
return {
|
|
43
46
|
sections: sections,
|
|
44
47
|
value: valueFromTheOutside,
|
|
45
|
-
placeholder: placeholder,
|
|
46
48
|
referenceValue: fieldValueManager.updateReferenceValue(utils, valueFromTheOutside, valueManager.getTodayValue(utils)),
|
|
47
49
|
tempValueStrAndroid: null
|
|
48
50
|
};
|
|
@@ -98,12 +100,11 @@ export var useFieldState = function useFieldState(params) {
|
|
|
98
100
|
}, [selectedSections, state.sections]);
|
|
99
101
|
var publishValue = function publishValue(_ref2) {
|
|
100
102
|
var value = _ref2.value,
|
|
101
|
-
referenceValue = _ref2.referenceValue
|
|
102
|
-
|
|
103
|
-
var newSections = fieldValueManager.getSectionsFromValue(utils, localeText, sections, value, format);
|
|
103
|
+
referenceValue = _ref2.referenceValue,
|
|
104
|
+
sections = _ref2.sections;
|
|
104
105
|
setState(function (prevState) {
|
|
105
106
|
return _extends({}, prevState, {
|
|
106
|
-
sections:
|
|
107
|
+
sections: sections,
|
|
107
108
|
value: value,
|
|
108
109
|
referenceValue: referenceValue,
|
|
109
110
|
tempValueStrAndroid: null
|
|
@@ -128,7 +129,7 @@ export var useFieldState = function useFieldState(params) {
|
|
|
128
129
|
value: newSectionValue,
|
|
129
130
|
modified: true
|
|
130
131
|
});
|
|
131
|
-
return addPositionPropertiesToSections(newSections);
|
|
132
|
+
return addPositionPropertiesToSections(newSections, isRTL);
|
|
132
133
|
};
|
|
133
134
|
var clearValue = function clearValue() {
|
|
134
135
|
if (valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue)) {
|
|
@@ -136,8 +137,9 @@ export var useFieldState = function useFieldState(params) {
|
|
|
136
137
|
}
|
|
137
138
|
publishValue({
|
|
138
139
|
value: valueManager.emptyValue,
|
|
139
|
-
referenceValue: state.referenceValue
|
|
140
|
-
|
|
140
|
+
referenceValue: state.referenceValue,
|
|
141
|
+
sections: getSectionsFromValue(valueManager.emptyValue)
|
|
142
|
+
});
|
|
141
143
|
};
|
|
142
144
|
var clearActiveSection = function clearActiveSection() {
|
|
143
145
|
if (selectedSectionIndexes == null) {
|
|
@@ -148,19 +150,20 @@ export var useFieldState = function useFieldState(params) {
|
|
|
148
150
|
return;
|
|
149
151
|
}
|
|
150
152
|
var activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
|
|
151
|
-
var
|
|
152
|
-
var nonEmptySectionCountBefore = activeDateSections.filter(function (section) {
|
|
153
|
+
var nonEmptySectionCountBefore = activeDateManager.getSections(state.sections).filter(function (section) {
|
|
153
154
|
return section.value !== '';
|
|
154
155
|
}).length;
|
|
155
156
|
var isTheOnlyNonEmptySection = nonEmptySectionCountBefore === 1;
|
|
156
157
|
var newSections = setSectionValue(selectedSectionIndexes.startIndex, '');
|
|
157
158
|
var newActiveDate = isTheOnlyNonEmptySection ? null : utils.date(new Date(''));
|
|
158
|
-
var
|
|
159
|
-
if ((newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.
|
|
160
|
-
publishValue(
|
|
159
|
+
var newValues = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);
|
|
160
|
+
if ((newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date))) {
|
|
161
|
+
publishValue(_extends({}, newValues, {
|
|
162
|
+
sections: newSections
|
|
163
|
+
}));
|
|
161
164
|
} else {
|
|
162
165
|
setState(function (prevState) {
|
|
163
|
-
return _extends({}, prevState,
|
|
166
|
+
return _extends({}, prevState, newValues, {
|
|
164
167
|
sections: newSections,
|
|
165
168
|
tempValueStrAndroid: null
|
|
166
169
|
});
|
|
@@ -180,61 +183,80 @@ export var useFieldState = function useFieldState(params) {
|
|
|
180
183
|
var newReferenceValue = fieldValueManager.updateReferenceValue(utils, newValue, state.referenceValue);
|
|
181
184
|
publishValue({
|
|
182
185
|
value: newValue,
|
|
183
|
-
referenceValue: newReferenceValue
|
|
186
|
+
referenceValue: newReferenceValue,
|
|
187
|
+
sections: getSectionsFromValue(newValue, state.sections)
|
|
184
188
|
});
|
|
185
189
|
};
|
|
186
190
|
var updateSectionValue = function updateSectionValue(_ref3) {
|
|
187
191
|
var activeSection = _ref3.activeSection,
|
|
188
192
|
newSectionValue = _ref3.newSectionValue,
|
|
189
193
|
shouldGoToNextSection = _ref3.shouldGoToNextSection;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
setState(function (prevState) {
|
|
203
|
-
return _extends({}, prevState, values, {
|
|
204
|
-
sections: sections != null ? sections : state.sections,
|
|
205
|
-
tempValueStrAndroid: null
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
};
|
|
194
|
+
/**
|
|
195
|
+
* 1. Decide which section should be focused
|
|
196
|
+
*/
|
|
197
|
+
if (shouldGoToNextSection && selectedSectionIndexes && selectedSectionIndexes.startIndex < state.sections.length - 1) {
|
|
198
|
+
setSelectedSections(selectedSectionIndexes.startIndex + 1);
|
|
199
|
+
} else if (selectedSectionIndexes && selectedSectionIndexes.startIndex !== selectedSectionIndexes.endIndex) {
|
|
200
|
+
setSelectedSections(selectedSectionIndexes.startIndex);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* 2. Try to build a valid date from the new section value
|
|
205
|
+
*/
|
|
210
206
|
var activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
|
|
211
207
|
var newSections = setSectionValue(selectedSectionIndexes.startIndex, newSectionValue);
|
|
212
|
-
var
|
|
213
|
-
var newActiveDate = getDateFromDateSections(utils,
|
|
208
|
+
var newActiveDateSections = activeDateManager.getSections(newSections);
|
|
209
|
+
var newActiveDate = getDateFromDateSections(utils, newActiveDateSections);
|
|
210
|
+
var shouldRegenSections = false;
|
|
214
211
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
newActiveDate = getDateFromDateSections(utils,
|
|
212
|
+
/**
|
|
213
|
+
* If the date is invalid,
|
|
214
|
+
* Then we can try to clamp the day section to see if that produces a valid date.
|
|
215
|
+
* This can be useful if the month has fewer days than the day value currently provided.
|
|
216
|
+
*/
|
|
217
|
+
if (!utils.isValid(newActiveDate)) {
|
|
218
|
+
var clampedSections = clampDaySectionIfPossible(utils, newActiveDateSections, sectionsValueBoundaries);
|
|
219
|
+
if (clampedSections != null) {
|
|
220
|
+
shouldRegenSections = true;
|
|
221
|
+
newActiveDate = getDateFromDateSections(utils, clampedSections);
|
|
225
222
|
}
|
|
226
223
|
}
|
|
224
|
+
var values;
|
|
225
|
+
var shouldPublish;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* If the new date is valid,
|
|
229
|
+
* Then we merge the value of the modified sections into the reference date.
|
|
230
|
+
* This makes sure that we don't lose some information of the initial date (like the time on a date field).
|
|
231
|
+
*/
|
|
227
232
|
if (newActiveDate != null && utils.isValid(newActiveDate)) {
|
|
228
|
-
var mergedDate = mergeDateIntoReferenceDate(utils, newActiveDate,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
+
var mergedDate = mergeDateIntoReferenceDate(utils, newActiveDate, newActiveDateSections, activeDateManager.referenceDate, true);
|
|
234
|
+
values = activeDateManager.getNewValuesFromNewActiveDate(mergedDate);
|
|
235
|
+
shouldPublish = true;
|
|
236
|
+
} else {
|
|
237
|
+
values = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);
|
|
238
|
+
shouldPublish = (newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date));
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* If the value has been modified (to clamp the day).
|
|
243
|
+
* Then we need to re-generate the sections to make sure they also have this change.
|
|
244
|
+
*/
|
|
245
|
+
var sections = shouldRegenSections ? getSectionsFromValue(values.value, state.sections) : newSections;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Publish or update the internal state with the new value and sections.
|
|
249
|
+
*/
|
|
250
|
+
if (shouldPublish) {
|
|
251
|
+
return publishValue(_extends({}, values, {
|
|
252
|
+
sections: sections
|
|
253
|
+
}));
|
|
233
254
|
}
|
|
234
|
-
return
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
255
|
+
return setState(function (prevState) {
|
|
256
|
+
return _extends({}, prevState, values, {
|
|
257
|
+
sections: sections,
|
|
258
|
+
tempValueStrAndroid: null
|
|
259
|
+
});
|
|
238
260
|
});
|
|
239
261
|
};
|
|
240
262
|
var setTempAndroidValueStr = function setTempAndroidValueStr(tempValueStrAndroid) {
|
|
@@ -246,27 +268,25 @@ export var useFieldState = function useFieldState(params) {
|
|
|
246
268
|
};
|
|
247
269
|
React.useEffect(function () {
|
|
248
270
|
if (!valueManager.areValuesEqual(utils, state.value, valueFromTheOutside)) {
|
|
249
|
-
var sections = fieldValueManager.getSectionsFromValue(utils, localeText, state.sections, valueFromTheOutside, format);
|
|
250
271
|
setState(function (prevState) {
|
|
251
272
|
return _extends({}, prevState, {
|
|
252
273
|
value: valueFromTheOutside,
|
|
253
274
|
referenceValue: fieldValueManager.updateReferenceValue(utils, valueFromTheOutside, prevState.referenceValue),
|
|
254
|
-
sections:
|
|
275
|
+
sections: getSectionsFromValue(valueFromTheOutside)
|
|
255
276
|
});
|
|
256
277
|
});
|
|
257
278
|
}
|
|
258
279
|
}, [valueFromTheOutside]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
259
280
|
|
|
260
281
|
React.useEffect(function () {
|
|
261
|
-
var sections =
|
|
282
|
+
var sections = getSectionsFromValue(state.value);
|
|
262
283
|
validateSections(sections, valueType);
|
|
263
284
|
setState(function (prevState) {
|
|
264
285
|
return _extends({}, prevState, {
|
|
265
|
-
sections: sections
|
|
266
|
-
placeholder: placeholder
|
|
286
|
+
sections: sections
|
|
267
287
|
});
|
|
268
288
|
});
|
|
269
|
-
}, [format, utils.locale
|
|
289
|
+
}, [format, utils.locale]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
270
290
|
|
|
271
291
|
return {
|
|
272
292
|
state: state,
|
|
@@ -277,7 +297,7 @@ export var useFieldState = function useFieldState(params) {
|
|
|
277
297
|
updateSectionValue: updateSectionValue,
|
|
278
298
|
updateValueFromValueStr: updateValueFromValueStr,
|
|
279
299
|
setTempAndroidValueStr: setTempAndroidValueStr,
|
|
280
|
-
|
|
281
|
-
|
|
300
|
+
sectionsValueBoundaries: sectionsValueBoundaries,
|
|
301
|
+
placeholder: placeholder
|
|
282
302
|
};
|
|
283
303
|
};
|
|
@@ -31,11 +31,8 @@ export var usePickerValue = function usePickerValue(_ref) {
|
|
|
31
31
|
state: 'value'
|
|
32
32
|
}),
|
|
33
33
|
_useControlled2 = _slicedToArray(_useControlled, 2),
|
|
34
|
-
|
|
34
|
+
value = _useControlled2[0],
|
|
35
35
|
setValue = _useControlled2[1];
|
|
36
|
-
var value = React.useMemo(function () {
|
|
37
|
-
return valueManager.cleanValue(utils, rawValue);
|
|
38
|
-
}, [valueManager, utils, rawValue]);
|
|
39
36
|
var _useControlled3 = useControlled({
|
|
40
37
|
controlled: selectedSectionsProp,
|
|
41
38
|
default: null,
|
|
@@ -92,7 +89,7 @@ export var usePickerValue = function usePickerValue(_ref) {
|
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
91
|
});
|
|
95
|
-
if (
|
|
92
|
+
if (!params.skipOnChangeCall && !valueManager.areValuesEqual(utils, dateState.committed, params.value)) {
|
|
96
93
|
setValue(params.value);
|
|
97
94
|
if (onChange) {
|
|
98
95
|
var _context = {
|
|
@@ -137,18 +134,14 @@ export var usePickerValue = function usePickerValue(_ref) {
|
|
|
137
134
|
// Reset all date in state to the empty value and close picker.
|
|
138
135
|
setDate({
|
|
139
136
|
value: valueManager.emptyValue,
|
|
140
|
-
action: 'acceptAndClose'
|
|
141
|
-
// force `onChange` in cases like input (value) === `Invalid date`
|
|
142
|
-
forceOnChangeCall: !valueManager.areValuesEqual(utils, value, valueManager.emptyValue)
|
|
137
|
+
action: 'acceptAndClose'
|
|
143
138
|
});
|
|
144
139
|
});
|
|
145
140
|
var handleAccept = useEventCallback(function () {
|
|
146
141
|
// Set all date in state to equal the current draft value and close picker.
|
|
147
142
|
setDate({
|
|
148
143
|
value: dateState.draft,
|
|
149
|
-
action: 'acceptAndClose'
|
|
150
|
-
// force `onChange` in cases like input (value) === `Invalid date`
|
|
151
|
-
forceOnChangeCall: !valueManager.areValuesEqual(utils, dateState.committed, dateState.draft)
|
|
144
|
+
action: 'acceptAndClose'
|
|
152
145
|
});
|
|
153
146
|
});
|
|
154
147
|
var handleDismiss = useEventCallback(function () {
|
|
@@ -248,8 +241,11 @@ export var usePickerValue = function usePickerValue(_ref) {
|
|
|
248
241
|
selectedSections: selectedSections,
|
|
249
242
|
onSelectedSectionsChange: handleFieldSelectedSectionsChange
|
|
250
243
|
};
|
|
244
|
+
var viewValue = React.useMemo(function () {
|
|
245
|
+
return valueManager.cleanValue(utils, dateState.draft);
|
|
246
|
+
}, [utils, valueManager, dateState.draft]);
|
|
251
247
|
var viewResponse = {
|
|
252
|
-
value:
|
|
248
|
+
value: viewValue,
|
|
253
249
|
onChange: handleChange,
|
|
254
250
|
onClose: handleClose,
|
|
255
251
|
open: isOpen,
|
|
@@ -268,7 +264,7 @@ export var usePickerValue = function usePickerValue(_ref) {
|
|
|
268
264
|
}) : validationResponse === null;
|
|
269
265
|
};
|
|
270
266
|
var layoutResponse = _extends({}, actions, {
|
|
271
|
-
value:
|
|
267
|
+
value: viewValue,
|
|
272
268
|
onChange: handleChangeAndCommit,
|
|
273
269
|
isValid: isValid
|
|
274
270
|
});
|
|
@@ -25,6 +25,8 @@ export function useViews(_ref) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
var previousOpenTo = React.useRef(openTo);
|
|
29
|
+
var previousViews = React.useRef(views);
|
|
28
30
|
var defaultView = React.useRef(views.includes(openTo) ? openTo : views[0]);
|
|
29
31
|
var _useControlled = useControlled({
|
|
30
32
|
name: 'useViews',
|
|
@@ -45,6 +47,14 @@ export function useViews(_ref) {
|
|
|
45
47
|
_useControlled4 = _slicedToArray(_useControlled3, 2),
|
|
46
48
|
focusedView = _useControlled4[0],
|
|
47
49
|
setFocusedView = _useControlled4[1];
|
|
50
|
+
React.useEffect(function () {
|
|
51
|
+
// Update the current view when `openTo` or `views` props change
|
|
52
|
+
if (previousOpenTo.current && previousOpenTo.current !== openTo || previousViews.current && previousViews.current.some(function (previousView) {
|
|
53
|
+
return !views.includes(previousView);
|
|
54
|
+
})) {
|
|
55
|
+
setView(views.includes(openTo) ? openTo : views[0]);
|
|
56
|
+
}
|
|
57
|
+
}, [openTo, setView, view, views]);
|
|
48
58
|
var viewIndex = views.indexOf(view);
|
|
49
59
|
var previousView = (_views = views[viewIndex - 1]) != null ? _views : null;
|
|
50
60
|
var nextView = (_views2 = views[viewIndex + 1]) != null ? _views2 : null;
|
|
@@ -9,7 +9,7 @@ export { pickersArrowSwitcherClasses } from './components/PickersArrowSwitcher/p
|
|
|
9
9
|
export { pickersPopperClasses } from './components/pickersPopperClasses';
|
|
10
10
|
export { PickersToolbarButton } from './components/PickersToolbarButton';
|
|
11
11
|
export { DAY_MARGIN, DIALOG_WIDTH } from './constants/dimensions';
|
|
12
|
-
export { useField, createDateStrForInputFromSections, addPositionPropertiesToSections
|
|
12
|
+
export { useField, createDateStrForInputFromSections, addPositionPropertiesToSections } from './hooks/useField';
|
|
13
13
|
export { usePicker } from './hooks/usePicker';
|
|
14
14
|
export { useStaticPicker } from './hooks/useStaticPicker';
|
|
15
15
|
export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNow } from './hooks/useUtils';
|
|
@@ -18,7 +18,7 @@ export { validateDate } from './hooks/validation/useDateValidation';
|
|
|
18
18
|
export { validateTime } from './hooks/validation/useTimeValidation';
|
|
19
19
|
export { validateDateTime } from './hooks/validation/useDateTimeValidation';
|
|
20
20
|
export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
|
|
21
|
-
export { applyDefaultDate, replaceInvalidDateByNull } from './utils/date-utils';
|
|
21
|
+
export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual } from './utils/date-utils';
|
|
22
22
|
export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './utils/utils';
|
|
23
23
|
export { defaultReduceAnimations } from './utils/defaultReduceAnimations';
|
|
24
24
|
export { extractValidationProps } from './utils/validation';
|
|
@@ -64,4 +64,10 @@ export var applyDefaultDate = function applyDefaultDate(utils, value, defaultVal
|
|
|
64
64
|
return defaultValue;
|
|
65
65
|
}
|
|
66
66
|
return value;
|
|
67
|
+
};
|
|
68
|
+
export var areDatesEqual = function areDatesEqual(utils, a, b) {
|
|
69
|
+
if (!utils.isValid(a) && a != null && !utils.isValid(b) && b != null) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return utils.isEqual(a, b);
|
|
67
73
|
};
|
|
@@ -7,7 +7,7 @@ export function arrayIncludes(array, itemOrItems) {
|
|
|
7
7
|
}
|
|
8
8
|
return array.indexOf(itemOrItems) !== -1;
|
|
9
9
|
}
|
|
10
|
-
export var onSpaceOrEnter = function onSpaceOrEnter(innerFn,
|
|
10
|
+
export var onSpaceOrEnter = function onSpaceOrEnter(innerFn, externalEvent) {
|
|
11
11
|
return function (event) {
|
|
12
12
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
13
13
|
innerFn(event);
|
|
@@ -16,8 +16,8 @@ export var onSpaceOrEnter = function onSpaceOrEnter(innerFn, onFocus) {
|
|
|
16
16
|
event.preventDefault();
|
|
17
17
|
event.stopPropagation();
|
|
18
18
|
}
|
|
19
|
-
if (
|
|
20
|
-
|
|
19
|
+
if (externalEvent) {
|
|
20
|
+
externalEvent(event);
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
};
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { replaceInvalidDateByNull } from './date-utils';
|
|
2
|
-
import { addPositionPropertiesToSections, createDateStrForInputFromSections
|
|
1
|
+
import { areDatesEqual, replaceInvalidDateByNull } from './date-utils';
|
|
2
|
+
import { addPositionPropertiesToSections, createDateStrForInputFromSections } from '../hooks/useField/useField.utils';
|
|
3
3
|
export var singleItemValueManager = {
|
|
4
4
|
emptyValue: null,
|
|
5
5
|
getTodayValue: function getTodayValue(utils) {
|
|
6
6
|
return utils.date();
|
|
7
7
|
},
|
|
8
8
|
cleanValue: replaceInvalidDateByNull,
|
|
9
|
-
areValuesEqual:
|
|
10
|
-
return utils.isEqual(a, b);
|
|
11
|
-
},
|
|
9
|
+
areValuesEqual: areDatesEqual,
|
|
12
10
|
isSameError: function isSameError(a, b) {
|
|
13
11
|
return a === b;
|
|
14
12
|
},
|
|
@@ -18,24 +16,22 @@ export var singleItemFieldValueManager = {
|
|
|
18
16
|
updateReferenceValue: function updateReferenceValue(utils, value, prevReferenceValue) {
|
|
19
17
|
return value == null || !utils.isValid(value) ? prevReferenceValue : value;
|
|
20
18
|
},
|
|
21
|
-
getSectionsFromValue: function getSectionsFromValue(utils,
|
|
19
|
+
getSectionsFromValue: function getSectionsFromValue(utils, date, prevSections, isRTL, getSectionsFromDate) {
|
|
22
20
|
var shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
|
|
23
21
|
if (shouldReUsePrevDateSections) {
|
|
24
22
|
return prevSections;
|
|
25
23
|
}
|
|
26
|
-
return addPositionPropertiesToSections(
|
|
27
|
-
},
|
|
28
|
-
getValueStrFromSections: function getValueStrFromSections(sections) {
|
|
29
|
-
return createDateStrForInputFromSections(sections);
|
|
30
|
-
},
|
|
31
|
-
getActiveDateSections: function getActiveDateSections(sections) {
|
|
32
|
-
return sections;
|
|
24
|
+
return addPositionPropertiesToSections(getSectionsFromDate(date), isRTL);
|
|
33
25
|
},
|
|
26
|
+
getValueStrFromSections: createDateStrForInputFromSections,
|
|
34
27
|
getActiveDateManager: function getActiveDateManager(utils, state) {
|
|
35
28
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
date: state.value,
|
|
30
|
+
referenceDate: state.referenceValue,
|
|
31
|
+
getSections: function getSections(sections) {
|
|
32
|
+
return sections;
|
|
33
|
+
},
|
|
34
|
+
getNewValuesFromNewActiveDate: function getNewValuesFromNewActiveDate(newActiveDate) {
|
|
39
35
|
return {
|
|
40
36
|
value: newActiveDate,
|
|
41
37
|
referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate
|
|
@@ -48,8 +44,5 @@ export var singleItemFieldValueManager = {
|
|
|
48
44
|
},
|
|
49
45
|
hasError: function hasError(error) {
|
|
50
46
|
return error != null;
|
|
51
|
-
},
|
|
52
|
-
getSectionOrder: function getSectionOrder(utils, localeText, format, isRTL) {
|
|
53
|
-
return _getSectionOrder(splitFormatIntoSections(utils, localeText, format, null), isRTL);
|
|
54
47
|
}
|
|
55
48
|
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { getPickersLocalization } from './utils/getPickersLocalization';
|
|
2
|
+
|
|
3
|
+
// maps TimeView to its translation
|
|
4
|
+
var timeViews = {
|
|
5
|
+
hours: 'Timer',
|
|
6
|
+
minutes: 'Minutter',
|
|
7
|
+
seconds: 'Sekunder'
|
|
8
|
+
};
|
|
9
|
+
var daDKPickers = {
|
|
10
|
+
// Calendar navigation
|
|
11
|
+
previousMonth: 'Forrige måned',
|
|
12
|
+
nextMonth: 'Næste måned',
|
|
13
|
+
// View navigation
|
|
14
|
+
openPreviousView: 'åben forrige visning',
|
|
15
|
+
openNextView: 'åben næste visning',
|
|
16
|
+
calendarViewSwitchingButtonAriaLabel: function calendarViewSwitchingButtonAriaLabel(view) {
|
|
17
|
+
return view === 'year' ? 'årsvisning er åben, skift til kalendervisning' : 'kalendervisning er åben, skift til årsvisning';
|
|
18
|
+
},
|
|
19
|
+
// DateRange placeholders
|
|
20
|
+
start: 'Start',
|
|
21
|
+
end: 'Slut',
|
|
22
|
+
// Action bar
|
|
23
|
+
cancelButtonLabel: 'Annuller',
|
|
24
|
+
clearButtonLabel: 'Ryd',
|
|
25
|
+
okButtonLabel: 'OK',
|
|
26
|
+
todayButtonLabel: 'I dag',
|
|
27
|
+
// Toolbar titles
|
|
28
|
+
datePickerToolbarTitle: 'Vælg dato',
|
|
29
|
+
dateTimePickerToolbarTitle: 'Vælg dato & tidspunkt',
|
|
30
|
+
timePickerToolbarTitle: 'Vælg tidspunkt',
|
|
31
|
+
dateRangePickerToolbarTitle: 'Vælg datointerval',
|
|
32
|
+
// Clock labels
|
|
33
|
+
clockLabelText: function clockLabelText(view, time, adapter) {
|
|
34
|
+
var _timeViews$view;
|
|
35
|
+
return "V\xE6lg ".concat((_timeViews$view = timeViews[view]) != null ? _timeViews$view : view, ". ").concat(time === null ? 'Intet tidspunkt valgt' : "Valgte tidspunkt er ".concat(adapter.format(time, 'fullTime')));
|
|
36
|
+
},
|
|
37
|
+
hoursClockNumberText: function hoursClockNumberText(hours) {
|
|
38
|
+
return "".concat(hours, " timer");
|
|
39
|
+
},
|
|
40
|
+
minutesClockNumberText: function minutesClockNumberText(minutes) {
|
|
41
|
+
return "".concat(minutes, " minutter");
|
|
42
|
+
},
|
|
43
|
+
secondsClockNumberText: function secondsClockNumberText(seconds) {
|
|
44
|
+
return "".concat(seconds, " sekunder");
|
|
45
|
+
},
|
|
46
|
+
// Calendar labels
|
|
47
|
+
calendarWeekNumberHeaderLabel: 'Ugenummer',
|
|
48
|
+
calendarWeekNumberHeaderText: '#',
|
|
49
|
+
calendarWeekNumberAriaLabelText: function calendarWeekNumberAriaLabelText(weekNumber) {
|
|
50
|
+
return "Uge ".concat(weekNumber);
|
|
51
|
+
},
|
|
52
|
+
calendarWeekNumberText: function calendarWeekNumberText(weekNumber) {
|
|
53
|
+
return "".concat(weekNumber);
|
|
54
|
+
},
|
|
55
|
+
// Open picker labels
|
|
56
|
+
openDatePickerDialogue: function openDatePickerDialogue(value, utils) {
|
|
57
|
+
return value !== null && utils.isValid(value) ? "V\xE6lg dato, valgte dato er ".concat(utils.format(value, 'fullDate')) : 'Vælg dato';
|
|
58
|
+
},
|
|
59
|
+
openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
|
|
60
|
+
return value !== null && utils.isValid(value) ? "V\xE6lg tidspunkt, valgte tidspunkt er ".concat(utils.format(value, 'fullTime')) : 'Vælg tidspunkt';
|
|
61
|
+
},
|
|
62
|
+
// Table labels
|
|
63
|
+
timeTableLabel: 'vælg tidspunkt',
|
|
64
|
+
dateTableLabel: 'vælg dato',
|
|
65
|
+
// Field section placeholders
|
|
66
|
+
fieldYearPlaceholder: function fieldYearPlaceholder(params) {
|
|
67
|
+
return 'Y'.repeat(params.digitAmount);
|
|
68
|
+
},
|
|
69
|
+
fieldMonthPlaceholder: function fieldMonthPlaceholder(params) {
|
|
70
|
+
return params.contentType === 'letter' ? 'MMMM' : 'MM';
|
|
71
|
+
},
|
|
72
|
+
fieldDayPlaceholder: function fieldDayPlaceholder() {
|
|
73
|
+
return 'DD';
|
|
74
|
+
},
|
|
75
|
+
fieldWeekDayPlaceholder: function fieldWeekDayPlaceholder(params) {
|
|
76
|
+
return params.contentType === 'letter' ? 'EEEE' : 'EE';
|
|
77
|
+
},
|
|
78
|
+
fieldHoursPlaceholder: function fieldHoursPlaceholder() {
|
|
79
|
+
return 'hh';
|
|
80
|
+
},
|
|
81
|
+
fieldMinutesPlaceholder: function fieldMinutesPlaceholder() {
|
|
82
|
+
return 'mm';
|
|
83
|
+
},
|
|
84
|
+
fieldSecondsPlaceholder: function fieldSecondsPlaceholder() {
|
|
85
|
+
return 'ss';
|
|
86
|
+
},
|
|
87
|
+
fieldMeridiemPlaceholder: function fieldMeridiemPlaceholder() {
|
|
88
|
+
return 'aa';
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
export var daDK = getPickersLocalization(daDKPickers);
|
package/legacy/locales/faIR.js
CHANGED
|
@@ -36,11 +36,14 @@ var faIRPickers = {
|
|
|
36
36
|
return "".concat(seconds, " \u062B\u0627\u0646\u06CC\u0647 \u0647\u0627");
|
|
37
37
|
},
|
|
38
38
|
// Calendar labels
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
calendarWeekNumberHeaderLabel: 'عدد هفته',
|
|
40
|
+
calendarWeekNumberHeaderText: '#',
|
|
41
|
+
calendarWeekNumberAriaLabelText: function calendarWeekNumberAriaLabelText(weekNumber) {
|
|
42
|
+
return "\u0647\u0641\u062A\u0647 ".concat(weekNumber);
|
|
43
|
+
},
|
|
44
|
+
calendarWeekNumberText: function calendarWeekNumberText(weekNumber) {
|
|
45
|
+
return "".concat(weekNumber);
|
|
46
|
+
},
|
|
44
47
|
// Open picker labels
|
|
45
48
|
openDatePickerDialogue: function openDatePickerDialogue(value, utils) {
|
|
46
49
|
return value !== null && utils.isValid(value) ? "\u062A\u0627\u0631\u06CC\u062E \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u062A\u0627\u0631\u06CC\u062E \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647 ".concat(utils.format(value, 'fullDate'), " \u0645\u06CC \u0628\u0627\u0634\u062F") : 'تاریخ را انتخاب کنید';
|
|
@@ -50,17 +53,31 @@ var faIRPickers = {
|
|
|
50
53
|
},
|
|
51
54
|
// Table labels
|
|
52
55
|
timeTableLabel: 'انتخاب تاریخ',
|
|
53
|
-
dateTableLabel: 'انتخاب ساعت'
|
|
54
|
-
|
|
56
|
+
dateTableLabel: 'انتخاب ساعت',
|
|
55
57
|
// Field section placeholders
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
fieldYearPlaceholder: function fieldYearPlaceholder(params) {
|
|
59
|
+
return 'Y'.repeat(params.digitAmount);
|
|
60
|
+
},
|
|
61
|
+
fieldMonthPlaceholder: function fieldMonthPlaceholder(params) {
|
|
62
|
+
return params.contentType === 'letter' ? 'MMMM' : 'MM';
|
|
63
|
+
},
|
|
64
|
+
fieldDayPlaceholder: function fieldDayPlaceholder() {
|
|
65
|
+
return 'DD';
|
|
66
|
+
},
|
|
67
|
+
fieldWeekDayPlaceholder: function fieldWeekDayPlaceholder(params) {
|
|
68
|
+
return params.contentType === 'letter' ? 'EEEE' : 'EE';
|
|
69
|
+
},
|
|
70
|
+
fieldHoursPlaceholder: function fieldHoursPlaceholder() {
|
|
71
|
+
return 'hh';
|
|
72
|
+
},
|
|
73
|
+
fieldMinutesPlaceholder: function fieldMinutesPlaceholder() {
|
|
74
|
+
return 'mm';
|
|
75
|
+
},
|
|
76
|
+
fieldSecondsPlaceholder: function fieldSecondsPlaceholder() {
|
|
77
|
+
return 'ss';
|
|
78
|
+
},
|
|
79
|
+
fieldMeridiemPlaceholder: function fieldMeridiemPlaceholder() {
|
|
80
|
+
return 'aa';
|
|
81
|
+
}
|
|
64
82
|
};
|
|
65
|
-
|
|
66
83
|
export var faIR = getPickersLocalization(faIRPickers);
|