@mui/x-date-pickers 7.4.0 → 7.5.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.d.ts +5 -0
- package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -5
- package/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -2
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +3 -20
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +14 -227
- package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +3 -20
- package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +17 -230
- package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +5 -0
- package/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -1
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +2 -6
- package/CHANGELOG.md +93 -0
- package/DateCalendar/DateCalendar.js +5 -4
- package/PickersLayout/usePickerLayout.js +6 -7
- package/index.js +1 -1
- package/internals/components/PickersModalDialog.d.ts +2 -2
- package/internals/demo/DemoContainer.js +1 -1
- package/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -2
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +14 -227
- package/modern/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +17 -230
- package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -1
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +2 -6
- package/modern/DateCalendar/DateCalendar.js +5 -4
- package/modern/PickersLayout/usePickerLayout.js +6 -7
- package/modern/index.js +1 -1
- package/modern/internals/demo/DemoContainer.js +1 -1
- package/modern/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/modern/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -2
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +14 -227
- package/node/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js +17 -230
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +2 -6
- package/node/DateCalendar/DateCalendar.js +5 -4
- package/node/PickersLayout/usePickerLayout.js +6 -7
- package/node/index.js +1 -1
- package/node/internals/demo/DemoContainer.js +1 -1
- package/node/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/node/internals/hooks/usePicker/usePickerViews.js +1 -0
- package/package.json +2 -2
|
@@ -50,175 +50,11 @@ var _startOfYear = _interopRequireDefault(require("date-fns-jalali/startOfYear")
|
|
|
50
50
|
var _isWithinInterval = _interopRequireDefault(require("date-fns-jalali/isWithinInterval"));
|
|
51
51
|
var _faIR = _interopRequireDefault(require("date-fns-jalali/locale/fa-IR"));
|
|
52
52
|
var _longFormatters = _interopRequireDefault(require("date-fns-jalali/_lib/format/longFormatters"));
|
|
53
|
+
var _AdapterDateFnsBase = require("../AdapterDateFnsBase");
|
|
53
54
|
/* eslint-disable class-methods-use-this */
|
|
54
55
|
|
|
55
56
|
// @ts-ignore
|
|
56
57
|
|
|
57
|
-
const formatTokenMap = {
|
|
58
|
-
// Year
|
|
59
|
-
y: {
|
|
60
|
-
sectionType: 'year',
|
|
61
|
-
contentType: 'digit',
|
|
62
|
-
maxLength: 4
|
|
63
|
-
},
|
|
64
|
-
yy: 'year',
|
|
65
|
-
yyy: {
|
|
66
|
-
sectionType: 'year',
|
|
67
|
-
contentType: 'digit',
|
|
68
|
-
maxLength: 4
|
|
69
|
-
},
|
|
70
|
-
yyyy: 'year',
|
|
71
|
-
// Month
|
|
72
|
-
M: {
|
|
73
|
-
sectionType: 'month',
|
|
74
|
-
contentType: 'digit',
|
|
75
|
-
maxLength: 2
|
|
76
|
-
},
|
|
77
|
-
MM: 'month',
|
|
78
|
-
MMMM: {
|
|
79
|
-
sectionType: 'month',
|
|
80
|
-
contentType: 'letter'
|
|
81
|
-
},
|
|
82
|
-
MMM: {
|
|
83
|
-
sectionType: 'month',
|
|
84
|
-
contentType: 'letter'
|
|
85
|
-
},
|
|
86
|
-
L: {
|
|
87
|
-
sectionType: 'month',
|
|
88
|
-
contentType: 'digit',
|
|
89
|
-
maxLength: 2
|
|
90
|
-
},
|
|
91
|
-
LL: 'month',
|
|
92
|
-
LLL: {
|
|
93
|
-
sectionType: 'month',
|
|
94
|
-
contentType: 'letter'
|
|
95
|
-
},
|
|
96
|
-
LLLL: {
|
|
97
|
-
sectionType: 'month',
|
|
98
|
-
contentType: 'letter'
|
|
99
|
-
},
|
|
100
|
-
// Day of the month
|
|
101
|
-
d: {
|
|
102
|
-
sectionType: 'day',
|
|
103
|
-
contentType: 'digit',
|
|
104
|
-
maxLength: 2
|
|
105
|
-
},
|
|
106
|
-
dd: 'day',
|
|
107
|
-
do: {
|
|
108
|
-
sectionType: 'day',
|
|
109
|
-
contentType: 'digit-with-letter'
|
|
110
|
-
},
|
|
111
|
-
// Day of the week
|
|
112
|
-
E: {
|
|
113
|
-
sectionType: 'weekDay',
|
|
114
|
-
contentType: 'letter'
|
|
115
|
-
},
|
|
116
|
-
EE: {
|
|
117
|
-
sectionType: 'weekDay',
|
|
118
|
-
contentType: 'letter'
|
|
119
|
-
},
|
|
120
|
-
EEE: {
|
|
121
|
-
sectionType: 'weekDay',
|
|
122
|
-
contentType: 'letter'
|
|
123
|
-
},
|
|
124
|
-
EEEE: {
|
|
125
|
-
sectionType: 'weekDay',
|
|
126
|
-
contentType: 'letter'
|
|
127
|
-
},
|
|
128
|
-
EEEEE: {
|
|
129
|
-
sectionType: 'weekDay',
|
|
130
|
-
contentType: 'letter'
|
|
131
|
-
},
|
|
132
|
-
i: {
|
|
133
|
-
sectionType: 'weekDay',
|
|
134
|
-
contentType: 'digit',
|
|
135
|
-
maxLength: 1
|
|
136
|
-
},
|
|
137
|
-
ii: 'weekDay',
|
|
138
|
-
iii: {
|
|
139
|
-
sectionType: 'weekDay',
|
|
140
|
-
contentType: 'letter'
|
|
141
|
-
},
|
|
142
|
-
iiii: {
|
|
143
|
-
sectionType: 'weekDay',
|
|
144
|
-
contentType: 'letter'
|
|
145
|
-
},
|
|
146
|
-
e: {
|
|
147
|
-
sectionType: 'weekDay',
|
|
148
|
-
contentType: 'digit',
|
|
149
|
-
maxLength: 1
|
|
150
|
-
},
|
|
151
|
-
ee: 'weekDay',
|
|
152
|
-
eee: {
|
|
153
|
-
sectionType: 'weekDay',
|
|
154
|
-
contentType: 'letter'
|
|
155
|
-
},
|
|
156
|
-
eeee: {
|
|
157
|
-
sectionType: 'weekDay',
|
|
158
|
-
contentType: 'letter'
|
|
159
|
-
},
|
|
160
|
-
eeeee: {
|
|
161
|
-
sectionType: 'weekDay',
|
|
162
|
-
contentType: 'letter'
|
|
163
|
-
},
|
|
164
|
-
eeeeee: {
|
|
165
|
-
sectionType: 'weekDay',
|
|
166
|
-
contentType: 'letter'
|
|
167
|
-
},
|
|
168
|
-
c: {
|
|
169
|
-
sectionType: 'weekDay',
|
|
170
|
-
contentType: 'digit',
|
|
171
|
-
maxLength: 1
|
|
172
|
-
},
|
|
173
|
-
cc: 'weekDay',
|
|
174
|
-
ccc: {
|
|
175
|
-
sectionType: 'weekDay',
|
|
176
|
-
contentType: 'letter'
|
|
177
|
-
},
|
|
178
|
-
cccc: {
|
|
179
|
-
sectionType: 'weekDay',
|
|
180
|
-
contentType: 'letter'
|
|
181
|
-
},
|
|
182
|
-
ccccc: {
|
|
183
|
-
sectionType: 'weekDay',
|
|
184
|
-
contentType: 'letter'
|
|
185
|
-
},
|
|
186
|
-
cccccc: {
|
|
187
|
-
sectionType: 'weekDay',
|
|
188
|
-
contentType: 'letter'
|
|
189
|
-
},
|
|
190
|
-
// Meridiem
|
|
191
|
-
a: 'meridiem',
|
|
192
|
-
aa: 'meridiem',
|
|
193
|
-
aaa: 'meridiem',
|
|
194
|
-
// Hours
|
|
195
|
-
H: {
|
|
196
|
-
sectionType: 'hours',
|
|
197
|
-
contentType: 'digit',
|
|
198
|
-
maxLength: 2
|
|
199
|
-
},
|
|
200
|
-
HH: 'hours',
|
|
201
|
-
h: {
|
|
202
|
-
sectionType: 'hours',
|
|
203
|
-
contentType: 'digit',
|
|
204
|
-
maxLength: 2
|
|
205
|
-
},
|
|
206
|
-
hh: 'hours',
|
|
207
|
-
// Minutes
|
|
208
|
-
m: {
|
|
209
|
-
sectionType: 'minutes',
|
|
210
|
-
contentType: 'digit',
|
|
211
|
-
maxLength: 2
|
|
212
|
-
},
|
|
213
|
-
mm: 'minutes',
|
|
214
|
-
// Seconds
|
|
215
|
-
s: {
|
|
216
|
-
sectionType: 'seconds',
|
|
217
|
-
contentType: 'digit',
|
|
218
|
-
maxLength: 2
|
|
219
|
-
},
|
|
220
|
-
ss: 'seconds'
|
|
221
|
-
};
|
|
222
58
|
const defaultFormats = {
|
|
223
59
|
year: 'yyyy',
|
|
224
60
|
month: 'LLLL',
|
|
@@ -281,40 +117,22 @@ const NUMBER_SYMBOL_MAP = {
|
|
|
281
117
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
282
118
|
* SOFTWARE.
|
|
283
119
|
*/
|
|
284
|
-
class AdapterDateFnsJalali {
|
|
120
|
+
class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
285
121
|
constructor({
|
|
286
|
-
locale
|
|
122
|
+
locale,
|
|
287
123
|
formats
|
|
288
124
|
} = {}) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (typeof value === 'undefined') {
|
|
301
|
-
return new Date();
|
|
302
|
-
}
|
|
303
|
-
if (value === null) {
|
|
304
|
-
return null;
|
|
305
|
-
}
|
|
306
|
-
return new Date(value);
|
|
307
|
-
};
|
|
308
|
-
this.getInvalidDate = () => new Date('Invalid Date');
|
|
309
|
-
this.getTimezone = () => {
|
|
310
|
-
return 'default';
|
|
311
|
-
};
|
|
312
|
-
this.setTimezone = value => {
|
|
313
|
-
return value;
|
|
314
|
-
};
|
|
315
|
-
this.toJsDate = value => {
|
|
316
|
-
return value;
|
|
317
|
-
};
|
|
125
|
+
if (typeof _addDays.default !== 'function') {
|
|
126
|
+
throw new Error(['MUI: The `date-fns-jalali` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalaliV3` instead.'].join('\n'));
|
|
127
|
+
}
|
|
128
|
+
super({
|
|
129
|
+
locale: locale ?? _faIR.default,
|
|
130
|
+
// some formats are different in jalali adapter,
|
|
131
|
+
// this ensures that `AdapterDateFnsBase` formats are overridden
|
|
132
|
+
formats: (0, _extends2.default)({}, defaultFormats, formats),
|
|
133
|
+
longFormatters: _longFormatters.default,
|
|
134
|
+
lib: 'date-fns-jalali'
|
|
135
|
+
});
|
|
318
136
|
this.parse = (value, format) => {
|
|
319
137
|
if (value === '') {
|
|
320
138
|
return null;
|
|
@@ -326,29 +144,6 @@ class AdapterDateFnsJalali {
|
|
|
326
144
|
this.getCurrentLocaleCode = () => {
|
|
327
145
|
return this.locale?.code || 'fa-IR';
|
|
328
146
|
};
|
|
329
|
-
// Note: date-fns input types are more lenient than this adapter, so we need to expose our more
|
|
330
|
-
// strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.
|
|
331
|
-
this.is12HourCycleInCurrentLocale = () => {
|
|
332
|
-
if (this.locale) {
|
|
333
|
-
return /a/.test(this.locale.formatLong.time());
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
// By default, date-fns-jalali is using fa-IR locale with am/pm enabled
|
|
337
|
-
return true;
|
|
338
|
-
};
|
|
339
|
-
this.expandFormat = format => {
|
|
340
|
-
// @see https://github.com/date-fns/date-fns/blob/master/src/format/index.js#L31
|
|
341
|
-
const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
|
|
342
|
-
const locale = this.locale ?? _faIR.default;
|
|
343
|
-
return format.match(longFormatRegexp).map(token => {
|
|
344
|
-
const firstCharacter = token[0];
|
|
345
|
-
if (firstCharacter === 'p' || firstCharacter === 'P') {
|
|
346
|
-
const longFormatter = _longFormatters.default[firstCharacter];
|
|
347
|
-
return longFormatter(token, locale.formatLong, {});
|
|
348
|
-
}
|
|
349
|
-
return token;
|
|
350
|
-
}).join('');
|
|
351
|
-
};
|
|
352
147
|
this.isValid = value => {
|
|
353
148
|
if (value == null) {
|
|
354
149
|
return false;
|
|
@@ -536,14 +331,6 @@ class AdapterDateFnsJalali {
|
|
|
536
331
|
}
|
|
537
332
|
return years;
|
|
538
333
|
};
|
|
539
|
-
if (typeof _addDays.default !== 'function') {
|
|
540
|
-
throw new Error(['MUI: The `date-fns-jalali` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalaliV3` instead.'].join('\n'));
|
|
541
|
-
}
|
|
542
|
-
this.locale = _locale;
|
|
543
|
-
this.formats = (0, _extends2.default)({}, defaultFormats, formats);
|
|
544
|
-
}
|
|
545
|
-
getDayOfWeek(value) {
|
|
546
|
-
return value.getDay() + 1;
|
|
547
334
|
}
|
|
548
335
|
}
|
|
549
336
|
exports.AdapterDateFnsJalali = AdapterDateFnsJalali;
|
|
@@ -49,6 +49,7 @@ var _startOfWeek = require("date-fns-jalali/startOfWeek");
|
|
|
49
49
|
var _startOfYear = require("date-fns-jalali/startOfYear");
|
|
50
50
|
var _isWithinInterval = require("date-fns-jalali/isWithinInterval");
|
|
51
51
|
var _faIR = require("date-fns-jalali/locale/fa-IR");
|
|
52
|
+
var _AdapterDateFnsBase = require("../AdapterDateFnsBase");
|
|
52
53
|
/* eslint-disable class-methods-use-this */
|
|
53
54
|
// TODO remove when date-fns-jalali-v3 is the default
|
|
54
55
|
// @ts-nocheck
|
|
@@ -56,171 +57,6 @@ var _faIR = require("date-fns-jalali/locale/fa-IR");
|
|
|
56
57
|
// date-fns-jalali v2 does not export types
|
|
57
58
|
// @ts-ignore TODO remove when date-fns-jalali-v3 is the default
|
|
58
59
|
|
|
59
|
-
const formatTokenMap = {
|
|
60
|
-
// Year
|
|
61
|
-
y: {
|
|
62
|
-
sectionType: 'year',
|
|
63
|
-
contentType: 'digit',
|
|
64
|
-
maxLength: 4
|
|
65
|
-
},
|
|
66
|
-
yy: 'year',
|
|
67
|
-
yyy: {
|
|
68
|
-
sectionType: 'year',
|
|
69
|
-
contentType: 'digit',
|
|
70
|
-
maxLength: 4
|
|
71
|
-
},
|
|
72
|
-
yyyy: 'year',
|
|
73
|
-
// Month
|
|
74
|
-
M: {
|
|
75
|
-
sectionType: 'month',
|
|
76
|
-
contentType: 'digit',
|
|
77
|
-
maxLength: 2
|
|
78
|
-
},
|
|
79
|
-
MM: 'month',
|
|
80
|
-
MMMM: {
|
|
81
|
-
sectionType: 'month',
|
|
82
|
-
contentType: 'letter'
|
|
83
|
-
},
|
|
84
|
-
MMM: {
|
|
85
|
-
sectionType: 'month',
|
|
86
|
-
contentType: 'letter'
|
|
87
|
-
},
|
|
88
|
-
L: {
|
|
89
|
-
sectionType: 'month',
|
|
90
|
-
contentType: 'digit',
|
|
91
|
-
maxLength: 2
|
|
92
|
-
},
|
|
93
|
-
LL: 'month',
|
|
94
|
-
LLL: {
|
|
95
|
-
sectionType: 'month',
|
|
96
|
-
contentType: 'letter'
|
|
97
|
-
},
|
|
98
|
-
LLLL: {
|
|
99
|
-
sectionType: 'month',
|
|
100
|
-
contentType: 'letter'
|
|
101
|
-
},
|
|
102
|
-
// Day of the month
|
|
103
|
-
d: {
|
|
104
|
-
sectionType: 'day',
|
|
105
|
-
contentType: 'digit',
|
|
106
|
-
maxLength: 2
|
|
107
|
-
},
|
|
108
|
-
dd: 'day',
|
|
109
|
-
do: {
|
|
110
|
-
sectionType: 'day',
|
|
111
|
-
contentType: 'digit-with-letter'
|
|
112
|
-
},
|
|
113
|
-
// Day of the week
|
|
114
|
-
E: {
|
|
115
|
-
sectionType: 'weekDay',
|
|
116
|
-
contentType: 'letter'
|
|
117
|
-
},
|
|
118
|
-
EE: {
|
|
119
|
-
sectionType: 'weekDay',
|
|
120
|
-
contentType: 'letter'
|
|
121
|
-
},
|
|
122
|
-
EEE: {
|
|
123
|
-
sectionType: 'weekDay',
|
|
124
|
-
contentType: 'letter'
|
|
125
|
-
},
|
|
126
|
-
EEEE: {
|
|
127
|
-
sectionType: 'weekDay',
|
|
128
|
-
contentType: 'letter'
|
|
129
|
-
},
|
|
130
|
-
EEEEE: {
|
|
131
|
-
sectionType: 'weekDay',
|
|
132
|
-
contentType: 'letter'
|
|
133
|
-
},
|
|
134
|
-
i: {
|
|
135
|
-
sectionType: 'weekDay',
|
|
136
|
-
contentType: 'digit',
|
|
137
|
-
maxLength: 1
|
|
138
|
-
},
|
|
139
|
-
ii: 'weekDay',
|
|
140
|
-
iii: {
|
|
141
|
-
sectionType: 'weekDay',
|
|
142
|
-
contentType: 'letter'
|
|
143
|
-
},
|
|
144
|
-
iiii: {
|
|
145
|
-
sectionType: 'weekDay',
|
|
146
|
-
contentType: 'letter'
|
|
147
|
-
},
|
|
148
|
-
e: {
|
|
149
|
-
sectionType: 'weekDay',
|
|
150
|
-
contentType: 'digit',
|
|
151
|
-
maxLength: 1
|
|
152
|
-
},
|
|
153
|
-
ee: 'weekDay',
|
|
154
|
-
eee: {
|
|
155
|
-
sectionType: 'weekDay',
|
|
156
|
-
contentType: 'letter'
|
|
157
|
-
},
|
|
158
|
-
eeee: {
|
|
159
|
-
sectionType: 'weekDay',
|
|
160
|
-
contentType: 'letter'
|
|
161
|
-
},
|
|
162
|
-
eeeee: {
|
|
163
|
-
sectionType: 'weekDay',
|
|
164
|
-
contentType: 'letter'
|
|
165
|
-
},
|
|
166
|
-
eeeeee: {
|
|
167
|
-
sectionType: 'weekDay',
|
|
168
|
-
contentType: 'letter'
|
|
169
|
-
},
|
|
170
|
-
c: {
|
|
171
|
-
sectionType: 'weekDay',
|
|
172
|
-
contentType: 'digit',
|
|
173
|
-
maxLength: 1
|
|
174
|
-
},
|
|
175
|
-
cc: 'weekDay',
|
|
176
|
-
ccc: {
|
|
177
|
-
sectionType: 'weekDay',
|
|
178
|
-
contentType: 'letter'
|
|
179
|
-
},
|
|
180
|
-
cccc: {
|
|
181
|
-
sectionType: 'weekDay',
|
|
182
|
-
contentType: 'letter'
|
|
183
|
-
},
|
|
184
|
-
ccccc: {
|
|
185
|
-
sectionType: 'weekDay',
|
|
186
|
-
contentType: 'letter'
|
|
187
|
-
},
|
|
188
|
-
cccccc: {
|
|
189
|
-
sectionType: 'weekDay',
|
|
190
|
-
contentType: 'letter'
|
|
191
|
-
},
|
|
192
|
-
// Meridiem
|
|
193
|
-
a: 'meridiem',
|
|
194
|
-
aa: 'meridiem',
|
|
195
|
-
aaa: 'meridiem',
|
|
196
|
-
// Hours
|
|
197
|
-
H: {
|
|
198
|
-
sectionType: 'hours',
|
|
199
|
-
contentType: 'digit',
|
|
200
|
-
maxLength: 2
|
|
201
|
-
},
|
|
202
|
-
HH: 'hours',
|
|
203
|
-
h: {
|
|
204
|
-
sectionType: 'hours',
|
|
205
|
-
contentType: 'digit',
|
|
206
|
-
maxLength: 2
|
|
207
|
-
},
|
|
208
|
-
hh: 'hours',
|
|
209
|
-
// Minutes
|
|
210
|
-
m: {
|
|
211
|
-
sectionType: 'minutes',
|
|
212
|
-
contentType: 'digit',
|
|
213
|
-
maxLength: 2
|
|
214
|
-
},
|
|
215
|
-
mm: 'minutes',
|
|
216
|
-
// Seconds
|
|
217
|
-
s: {
|
|
218
|
-
sectionType: 'seconds',
|
|
219
|
-
contentType: 'digit',
|
|
220
|
-
maxLength: 2
|
|
221
|
-
},
|
|
222
|
-
ss: 'seconds'
|
|
223
|
-
};
|
|
224
60
|
const defaultFormats = {
|
|
225
61
|
year: 'yyyy',
|
|
226
62
|
month: 'LLLL',
|
|
@@ -283,40 +119,25 @@ const NUMBER_SYMBOL_MAP = {
|
|
|
283
119
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
284
120
|
* SOFTWARE.
|
|
285
121
|
*/
|
|
286
|
-
class AdapterDateFnsJalali {
|
|
122
|
+
class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
287
123
|
constructor({
|
|
288
|
-
locale
|
|
124
|
+
locale,
|
|
289
125
|
formats
|
|
290
126
|
} = {}) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
if (value === null) {
|
|
306
|
-
return null;
|
|
307
|
-
}
|
|
308
|
-
return new Date(value);
|
|
309
|
-
};
|
|
310
|
-
this.getInvalidDate = () => new Date('Invalid Date');
|
|
311
|
-
this.getTimezone = () => {
|
|
312
|
-
return 'default';
|
|
313
|
-
};
|
|
314
|
-
this.setTimezone = value => {
|
|
315
|
-
return value;
|
|
316
|
-
};
|
|
317
|
-
this.toJsDate = value => {
|
|
318
|
-
return value;
|
|
319
|
-
};
|
|
127
|
+
if (typeof _addDays.addDays !== 'function') {
|
|
128
|
+
throw new Error([`MUI: The \`date-fns-jalali\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
|
|
129
|
+
}
|
|
130
|
+
if (!_format.longFormatters) {
|
|
131
|
+
throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
|
|
132
|
+
}
|
|
133
|
+
super({
|
|
134
|
+
locale: locale ?? _faIR.faIR,
|
|
135
|
+
// some formats are different in jalali adapter,
|
|
136
|
+
// this ensures that `AdapterDateFnsBase` formats are overridden
|
|
137
|
+
formats: (0, _extends2.default)({}, defaultFormats, formats),
|
|
138
|
+
longFormatters: _format.longFormatters,
|
|
139
|
+
lib: 'date-fns-jalali'
|
|
140
|
+
});
|
|
320
141
|
this.parse = (value, format) => {
|
|
321
142
|
if (value === '') {
|
|
322
143
|
return null;
|
|
@@ -328,29 +149,6 @@ class AdapterDateFnsJalali {
|
|
|
328
149
|
this.getCurrentLocaleCode = () => {
|
|
329
150
|
return this.locale?.code || 'fa-IR';
|
|
330
151
|
};
|
|
331
|
-
// Note: date-fns input types are more lenient than this adapter, so we need to expose our more
|
|
332
|
-
// strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.
|
|
333
|
-
this.is12HourCycleInCurrentLocale = () => {
|
|
334
|
-
if (this.locale) {
|
|
335
|
-
return /a/.test(this.locale.formatLong.time());
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
// By default, date-fns-jalali is using fa-IR locale with am/pm enabled
|
|
339
|
-
return true;
|
|
340
|
-
};
|
|
341
|
-
this.expandFormat = format => {
|
|
342
|
-
// @see https://github.com/date-fns/date-fns/blob/master/src/format/index.js#L31
|
|
343
|
-
const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
|
|
344
|
-
const locale = this.locale ?? _faIR.faIR;
|
|
345
|
-
return format.match(longFormatRegexp).map(token => {
|
|
346
|
-
const firstCharacter = token[0];
|
|
347
|
-
if (firstCharacter === 'p' || firstCharacter === 'P') {
|
|
348
|
-
const longFormatter = _format.longFormatters[firstCharacter];
|
|
349
|
-
return longFormatter(token, locale.formatLong, {});
|
|
350
|
-
}
|
|
351
|
-
return token;
|
|
352
|
-
}).join('');
|
|
353
|
-
};
|
|
354
152
|
this.isValid = value => {
|
|
355
153
|
if (value == null) {
|
|
356
154
|
return false;
|
|
@@ -538,17 +336,6 @@ class AdapterDateFnsJalali {
|
|
|
538
336
|
}
|
|
539
337
|
return years;
|
|
540
338
|
};
|
|
541
|
-
if (typeof _addDays.addDays !== 'function') {
|
|
542
|
-
throw new Error([`MUI: The \`date-fns-jalali\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
|
|
543
|
-
}
|
|
544
|
-
if (!_format.longFormatters) {
|
|
545
|
-
throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
|
|
546
|
-
}
|
|
547
|
-
this.locale = _locale;
|
|
548
|
-
this.formats = (0, _extends2.default)({}, defaultFormats, formats);
|
|
549
|
-
}
|
|
550
|
-
getDayOfWeek(value) {
|
|
551
|
-
return value.getDay() + 1;
|
|
552
339
|
}
|
|
553
340
|
}
|
|
554
341
|
exports.AdapterDateFnsJalali = AdapterDateFnsJalali;
|
|
@@ -171,14 +171,10 @@ class AdapterMomentJalaali extends _AdapterMoment.AdapterMoment {
|
|
|
171
171
|
return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
|
|
172
172
|
};
|
|
173
173
|
this.isSameYear = (value, comparing) => {
|
|
174
|
-
|
|
175
|
-
// @ts-ignore
|
|
176
|
-
return value.clone().isSame(comparing, 'jYear');
|
|
174
|
+
return value.jYear() === comparing.jYear();
|
|
177
175
|
};
|
|
178
176
|
this.isSameMonth = (value, comparing) => {
|
|
179
|
-
|
|
180
|
-
// @ts-ignore
|
|
181
|
-
return value.clone().isSame(comparing, 'jMonth');
|
|
177
|
+
return value.jYear() === comparing.jYear() && value.jMonth() === comparing.jMonth();
|
|
182
178
|
};
|
|
183
179
|
this.isAfterYear = (value, comparing) => {
|
|
184
180
|
return value.jYear() > comparing.jYear();
|
|
@@ -207,9 +207,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
207
207
|
disableFuture,
|
|
208
208
|
reduceAnimations,
|
|
209
209
|
timezone,
|
|
210
|
-
labelId: gridLabelId
|
|
211
|
-
slots,
|
|
212
|
-
slotProps
|
|
210
|
+
labelId: gridLabelId
|
|
213
211
|
},
|
|
214
212
|
ownerState: props
|
|
215
213
|
});
|
|
@@ -303,7 +301,10 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
303
301
|
className: (0, _clsx.default)(classes.root, className),
|
|
304
302
|
ownerState: ownerState
|
|
305
303
|
}, other, {
|
|
306
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, (0, _extends2.default)({}, calendarHeaderProps
|
|
304
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, (0, _extends2.default)({}, calendarHeaderProps, {
|
|
305
|
+
slots: slots,
|
|
306
|
+
slotProps: slotProps
|
|
307
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateCalendarViewTransitionContainer, {
|
|
307
308
|
reduceAnimations: reduceAnimations,
|
|
308
309
|
className: classes.viewTransitionContainer,
|
|
309
310
|
transKey: view,
|
|
@@ -72,9 +72,9 @@ const usePickerLayout = props => {
|
|
|
72
72
|
onClear,
|
|
73
73
|
onCancel,
|
|
74
74
|
onSetToday,
|
|
75
|
-
actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']
|
|
76
|
-
className: classes.actionBar
|
|
75
|
+
actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']
|
|
77
76
|
},
|
|
77
|
+
className: classes.actionBar,
|
|
78
78
|
ownerState: (0, _extends2.default)({}, props, {
|
|
79
79
|
wrapperVariant
|
|
80
80
|
})
|
|
@@ -95,9 +95,9 @@ const usePickerLayout = props => {
|
|
|
95
95
|
onViewChange,
|
|
96
96
|
views,
|
|
97
97
|
disabled,
|
|
98
|
-
readOnly
|
|
99
|
-
className: classes.toolbar
|
|
98
|
+
readOnly
|
|
100
99
|
},
|
|
100
|
+
className: classes.toolbar,
|
|
101
101
|
ownerState: (0, _extends2.default)({}, props, {
|
|
102
102
|
wrapperVariant
|
|
103
103
|
})
|
|
@@ -126,14 +126,13 @@ const usePickerLayout = props => {
|
|
|
126
126
|
additionalProps: {
|
|
127
127
|
isValid,
|
|
128
128
|
isLandscape,
|
|
129
|
-
onChange: onSelectShortcut
|
|
130
|
-
className: classes.shortcuts
|
|
129
|
+
onChange: onSelectShortcut
|
|
131
130
|
},
|
|
131
|
+
className: classes.shortcuts,
|
|
132
132
|
ownerState: {
|
|
133
133
|
isValid,
|
|
134
134
|
isLandscape,
|
|
135
135
|
onChange: onSelectShortcut,
|
|
136
|
-
className: classes.shortcuts,
|
|
137
136
|
wrapperVariant
|
|
138
137
|
}
|
|
139
138
|
});
|
package/node/index.js
CHANGED
|
@@ -11,7 +11,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _Stack = _interopRequireWildcard(require("@mui/material/Stack"));
|
|
12
12
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
13
13
|
var _TextField = require("@mui/material/TextField");
|
|
14
|
-
var _PickersTextField = require("
|
|
14
|
+
var _PickersTextField = require("../../PickersTextField");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -288,7 +288,7 @@ const useFieldV6TextField = params => {
|
|
|
288
288
|
});
|
|
289
289
|
});
|
|
290
290
|
const placeholder = React.useMemo(() => {
|
|
291
|
-
if (inPlaceholder) {
|
|
291
|
+
if (inPlaceholder !== undefined) {
|
|
292
292
|
return inPlaceholder;
|
|
293
293
|
}
|
|
294
294
|
return fieldValueManager.getV6InputValueFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL);
|
|
@@ -108,6 +108,7 @@ const usePickerViews = ({
|
|
|
108
108
|
if (currentViewMode === 'field' && open) {
|
|
109
109
|
onClose();
|
|
110
110
|
setTimeout(() => {
|
|
111
|
+
fieldRef?.current?.setSelectedSections(view);
|
|
111
112
|
// focusing the input before the range selection is done
|
|
112
113
|
// calling it outside of timeout results in an inconsistent behavior between Safari And Chrome
|
|
113
114
|
fieldRef?.current?.focusField(view);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "The community edition of the Date and Time Picker components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"directory": "packages/x-date-pickers"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@babel/runtime": "^7.24.
|
|
38
|
+
"@babel/runtime": "^7.24.5",
|
|
39
39
|
"@mui/base": "^5.0.0-beta.40",
|
|
40
40
|
"@mui/system": "^5.15.14",
|
|
41
41
|
"@mui/utils": "^5.15.14",
|