@mui/x-date-pickers 6.18.6 → 6.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.
Files changed (72) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +3 -24
  2. package/AdapterDateFns/AdapterDateFns.js +11 -272
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +65 -0
  4. package/AdapterDateFnsBase/AdapterDateFnsBase.js +308 -0
  5. package/AdapterDateFnsBase/index.d.ts +1 -0
  6. package/AdapterDateFnsBase/index.js +1 -0
  7. package/AdapterDateFnsBase/package.json +6 -0
  8. package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +88 -0
  9. package/AdapterDateFnsV3/AdapterDateFnsV3.js +357 -0
  10. package/AdapterDateFnsV3/index.d.ts +1 -0
  11. package/AdapterDateFnsV3/index.js +1 -0
  12. package/AdapterDateFnsV3/package.json +6 -0
  13. package/AdapterLuxon/AdapterLuxon.d.ts +32 -32
  14. package/CHANGELOG.md +85 -1
  15. package/DateCalendar/DateCalendar.js +6 -4
  16. package/DateCalendar/DateCalendar.types.d.ts +0 -8
  17. package/DigitalClock/DigitalClock.js +3 -2
  18. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
  19. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
  20. package/TimeClock/TimeClock.js +3 -2
  21. package/hooks/useClearableField.d.ts +1 -1
  22. package/hooks/useClearableField.js +3 -3
  23. package/index.js +1 -1
  24. package/internals/hooks/useViews.d.ts +4 -4
  25. package/internals/hooks/useViews.js +13 -13
  26. package/internals/models/helpers.d.ts +1 -0
  27. package/internals/models/props/clock.d.ts +0 -9
  28. package/legacy/AdapterDateFns/AdapterDateFns.js +278 -528
  29. package/legacy/AdapterDateFnsBase/AdapterDateFnsBase.js +308 -0
  30. package/legacy/AdapterDateFnsBase/index.js +1 -0
  31. package/legacy/AdapterDateFnsV3/AdapterDateFnsV3.js +376 -0
  32. package/legacy/AdapterDateFnsV3/index.js +1 -0
  33. package/legacy/DateCalendar/DateCalendar.js +6 -4
  34. package/legacy/DigitalClock/DigitalClock.js +3 -2
  35. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
  36. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
  37. package/legacy/TimeClock/TimeClock.js +3 -2
  38. package/legacy/hooks/useClearableField.js +3 -3
  39. package/legacy/index.js +1 -1
  40. package/legacy/internals/hooks/useViews.js +13 -13
  41. package/legacy/locales/index.js +1 -0
  42. package/locales/index.d.ts +1 -0
  43. package/locales/index.js +1 -0
  44. package/modern/AdapterDateFns/AdapterDateFns.js +11 -271
  45. package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +307 -0
  46. package/modern/AdapterDateFnsBase/index.js +1 -0
  47. package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +357 -0
  48. package/modern/AdapterDateFnsV3/index.js +1 -0
  49. package/modern/DateCalendar/DateCalendar.js +6 -4
  50. package/modern/DigitalClock/DigitalClock.js +3 -2
  51. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
  52. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
  53. package/modern/TimeClock/TimeClock.js +3 -2
  54. package/modern/hooks/useClearableField.js +3 -3
  55. package/modern/index.js +1 -1
  56. package/modern/internals/hooks/useViews.js +13 -13
  57. package/modern/locales/index.js +1 -0
  58. package/node/AdapterDateFns/AdapterDateFns.js +11 -271
  59. package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +315 -0
  60. package/node/AdapterDateFnsBase/index.js +12 -0
  61. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +366 -0
  62. package/node/AdapterDateFnsV3/index.js +12 -0
  63. package/node/DateCalendar/DateCalendar.js +6 -4
  64. package/node/DigitalClock/DigitalClock.js +3 -2
  65. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +9 -13
  66. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -12
  67. package/node/TimeClock/TimeClock.js +3 -2
  68. package/node/hooks/useClearableField.js +3 -3
  69. package/node/index.js +1 -1
  70. package/node/internals/hooks/useViews.js +13 -13
  71. package/node/locales/index.js +11 -0
  72. package/package.json +2 -2
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AdapterDateFnsBase = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ /* eslint-disable class-methods-use-this */
10
+
11
+ const formatTokenMap = {
12
+ // Year
13
+ y: {
14
+ sectionType: 'year',
15
+ contentType: 'digit',
16
+ maxLength: 4
17
+ },
18
+ yy: 'year',
19
+ yyy: {
20
+ sectionType: 'year',
21
+ contentType: 'digit',
22
+ maxLength: 4
23
+ },
24
+ yyyy: 'year',
25
+ // Month
26
+ M: {
27
+ sectionType: 'month',
28
+ contentType: 'digit',
29
+ maxLength: 2
30
+ },
31
+ MM: 'month',
32
+ MMMM: {
33
+ sectionType: 'month',
34
+ contentType: 'letter'
35
+ },
36
+ MMM: {
37
+ sectionType: 'month',
38
+ contentType: 'letter'
39
+ },
40
+ L: {
41
+ sectionType: 'month',
42
+ contentType: 'digit',
43
+ maxLength: 2
44
+ },
45
+ LL: 'month',
46
+ LLL: {
47
+ sectionType: 'month',
48
+ contentType: 'letter'
49
+ },
50
+ LLLL: {
51
+ sectionType: 'month',
52
+ contentType: 'letter'
53
+ },
54
+ // Day of the month
55
+ d: {
56
+ sectionType: 'day',
57
+ contentType: 'digit',
58
+ maxLength: 2
59
+ },
60
+ dd: 'day',
61
+ do: {
62
+ sectionType: 'day',
63
+ contentType: 'digit-with-letter'
64
+ },
65
+ // Day of the week
66
+ E: {
67
+ sectionType: 'weekDay',
68
+ contentType: 'letter'
69
+ },
70
+ EE: {
71
+ sectionType: 'weekDay',
72
+ contentType: 'letter'
73
+ },
74
+ EEE: {
75
+ sectionType: 'weekDay',
76
+ contentType: 'letter'
77
+ },
78
+ EEEE: {
79
+ sectionType: 'weekDay',
80
+ contentType: 'letter'
81
+ },
82
+ EEEEE: {
83
+ sectionType: 'weekDay',
84
+ contentType: 'letter'
85
+ },
86
+ i: {
87
+ sectionType: 'weekDay',
88
+ contentType: 'digit',
89
+ maxLength: 1
90
+ },
91
+ ii: 'weekDay',
92
+ iii: {
93
+ sectionType: 'weekDay',
94
+ contentType: 'letter'
95
+ },
96
+ iiii: {
97
+ sectionType: 'weekDay',
98
+ contentType: 'letter'
99
+ },
100
+ e: {
101
+ sectionType: 'weekDay',
102
+ contentType: 'digit',
103
+ maxLength: 1
104
+ },
105
+ ee: 'weekDay',
106
+ eee: {
107
+ sectionType: 'weekDay',
108
+ contentType: 'letter'
109
+ },
110
+ eeee: {
111
+ sectionType: 'weekDay',
112
+ contentType: 'letter'
113
+ },
114
+ eeeee: {
115
+ sectionType: 'weekDay',
116
+ contentType: 'letter'
117
+ },
118
+ eeeeee: {
119
+ sectionType: 'weekDay',
120
+ contentType: 'letter'
121
+ },
122
+ c: {
123
+ sectionType: 'weekDay',
124
+ contentType: 'digit',
125
+ maxLength: 1
126
+ },
127
+ cc: 'weekDay',
128
+ ccc: {
129
+ sectionType: 'weekDay',
130
+ contentType: 'letter'
131
+ },
132
+ cccc: {
133
+ sectionType: 'weekDay',
134
+ contentType: 'letter'
135
+ },
136
+ ccccc: {
137
+ sectionType: 'weekDay',
138
+ contentType: 'letter'
139
+ },
140
+ cccccc: {
141
+ sectionType: 'weekDay',
142
+ contentType: 'letter'
143
+ },
144
+ // Meridiem
145
+ a: 'meridiem',
146
+ aa: 'meridiem',
147
+ aaa: 'meridiem',
148
+ // Hours
149
+ H: {
150
+ sectionType: 'hours',
151
+ contentType: 'digit',
152
+ maxLength: 2
153
+ },
154
+ HH: 'hours',
155
+ h: {
156
+ sectionType: 'hours',
157
+ contentType: 'digit',
158
+ maxLength: 2
159
+ },
160
+ hh: 'hours',
161
+ // Minutes
162
+ m: {
163
+ sectionType: 'minutes',
164
+ contentType: 'digit',
165
+ maxLength: 2
166
+ },
167
+ mm: 'minutes',
168
+ // Seconds
169
+ s: {
170
+ sectionType: 'seconds',
171
+ contentType: 'digit',
172
+ maxLength: 2
173
+ },
174
+ ss: 'seconds'
175
+ };
176
+ const defaultFormats = {
177
+ year: 'yyyy',
178
+ month: 'LLLL',
179
+ monthShort: 'MMM',
180
+ dayOfMonth: 'd',
181
+ weekday: 'EEEE',
182
+ weekdayShort: 'EEEEEE',
183
+ hours24h: 'HH',
184
+ hours12h: 'hh',
185
+ meridiem: 'aa',
186
+ minutes: 'mm',
187
+ seconds: 'ss',
188
+ fullDate: 'PP',
189
+ fullDateWithWeekday: 'PPPP',
190
+ keyboardDate: 'P',
191
+ shortDate: 'MMM d',
192
+ normalDate: 'd MMMM',
193
+ normalDateWithWeekday: 'EEE, MMM d',
194
+ monthAndYear: 'LLLL yyyy',
195
+ monthAndDate: 'MMMM d',
196
+ fullTime: 'p',
197
+ fullTime12h: 'hh:mm aa',
198
+ fullTime24h: 'HH:mm',
199
+ fullDateTime: 'PP p',
200
+ fullDateTime12h: 'PP hh:mm aa',
201
+ fullDateTime24h: 'PP HH:mm',
202
+ keyboardDateTime: 'P p',
203
+ keyboardDateTime12h: 'P hh:mm aa',
204
+ keyboardDateTime24h: 'P HH:mm'
205
+ };
206
+ /**
207
+ * Based on `@date-io/date-fns`
208
+ *
209
+ * MIT License
210
+ *
211
+ * Copyright (c) 2017 Dmitriy Kovalenko
212
+ *
213
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
214
+ * of this software and associated documentation files (the "Software"), to deal
215
+ * in the Software without restriction, including without limitation the rights
216
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
217
+ * copies of the Software, and to permit persons to whom the Software is
218
+ * furnished to do so, subject to the following conditions:
219
+ *
220
+ * The above copyright notice and this permission notice shall be included in all
221
+ * copies or substantial portions of the Software.
222
+ *
223
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
224
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
225
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
226
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
227
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
228
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
229
+ * SOFTWARE.
230
+ */
231
+ class AdapterDateFnsBase {
232
+ constructor(props) {
233
+ this.isMUIAdapter = true;
234
+ this.isTimezoneCompatible = false;
235
+ this.lib = 'date-fns';
236
+ this.locale = void 0;
237
+ this.formats = void 0;
238
+ this.formatTokenMap = formatTokenMap;
239
+ this.escapedCharacters = {
240
+ start: "'",
241
+ end: "'"
242
+ };
243
+ this.longFormatters = void 0;
244
+ this.date = value => {
245
+ if (typeof value === 'undefined') {
246
+ return new Date();
247
+ }
248
+ if (value === null) {
249
+ return null;
250
+ }
251
+ return new Date(value);
252
+ };
253
+ this.dateWithTimezone = value => {
254
+ return this.date(value);
255
+ };
256
+ this.getTimezone = () => {
257
+ return 'default';
258
+ };
259
+ this.setTimezone = value => {
260
+ return value;
261
+ };
262
+ this.toJsDate = value => {
263
+ return value;
264
+ };
265
+ this.getCurrentLocaleCode = () => {
266
+ return this.locale?.code || 'en-US';
267
+ };
268
+ // Note: date-fns input types are more lenient than this adapter, so we need to expose our more
269
+ // strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.
270
+ this.is12HourCycleInCurrentLocale = () => {
271
+ if (this.locale) {
272
+ return /a/.test(this.locale.formatLong.time({
273
+ width: 'short'
274
+ }));
275
+ }
276
+
277
+ // By default, date-fns is using en-US locale with am/pm enabled
278
+ return true;
279
+ };
280
+ this.expandFormat = format => {
281
+ const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
282
+
283
+ // @see https://github.com/date-fns/date-fns/blob/master/src/format/index.js#L31
284
+ return format.match(longFormatRegexp).map(token => {
285
+ const firstCharacter = token[0];
286
+ if (firstCharacter === 'p' || firstCharacter === 'P') {
287
+ const longFormatter = this.longFormatters[firstCharacter];
288
+ return longFormatter(token, this.locale.formatLong);
289
+ }
290
+ return token;
291
+ }).join('');
292
+ };
293
+ this.getFormatHelperText = format => {
294
+ return this.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
295
+ };
296
+ this.isNull = value => {
297
+ return value === null;
298
+ };
299
+ this.formatNumber = numberToFormat => {
300
+ return numberToFormat;
301
+ };
302
+ this.getMeridiemText = ampm => {
303
+ return ampm === 'am' ? 'AM' : 'PM';
304
+ };
305
+ const {
306
+ locale,
307
+ formats,
308
+ longFormatters
309
+ } = props;
310
+ this.locale = locale;
311
+ this.formats = (0, _extends2.default)({}, defaultFormats, formats);
312
+ this.longFormatters = longFormatters;
313
+ }
314
+ }
315
+ exports.AdapterDateFnsBase = AdapterDateFnsBase;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AdapterDateFnsBase", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AdapterDateFnsBase.AdapterDateFnsBase;
10
+ }
11
+ });
12
+ var _AdapterDateFnsBase = require("./AdapterDateFnsBase");
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AdapterDateFns = void 0;
7
+ var _addDays = require("date-fns/addDays");
8
+ var _addSeconds = require("date-fns/addSeconds");
9
+ var _addMinutes = require("date-fns/addMinutes");
10
+ var _addHours = require("date-fns/addHours");
11
+ var _addWeeks = require("date-fns/addWeeks");
12
+ var _addMonths = require("date-fns/addMonths");
13
+ var _addYears = require("date-fns/addYears");
14
+ var _differenceInYears = require("date-fns/differenceInYears");
15
+ var _differenceInQuarters = require("date-fns/differenceInQuarters");
16
+ var _differenceInMonths = require("date-fns/differenceInMonths");
17
+ var _differenceInWeeks = require("date-fns/differenceInWeeks");
18
+ var _differenceInDays = require("date-fns/differenceInDays");
19
+ var _differenceInHours = require("date-fns/differenceInHours");
20
+ var _differenceInMinutes = require("date-fns/differenceInMinutes");
21
+ var _differenceInSeconds = require("date-fns/differenceInSeconds");
22
+ var _differenceInMilliseconds = require("date-fns/differenceInMilliseconds");
23
+ var _eachDayOfInterval = require("date-fns/eachDayOfInterval");
24
+ var _endOfDay = require("date-fns/endOfDay");
25
+ var _endOfWeek = require("date-fns/endOfWeek");
26
+ var _endOfYear = require("date-fns/endOfYear");
27
+ var _format = require("date-fns/format");
28
+ var _getDate = require("date-fns/getDate");
29
+ var _getDaysInMonth = require("date-fns/getDaysInMonth");
30
+ var _getHours = require("date-fns/getHours");
31
+ var _getMinutes = require("date-fns/getMinutes");
32
+ var _getMonth = require("date-fns/getMonth");
33
+ var _getSeconds = require("date-fns/getSeconds");
34
+ var _getMilliseconds = require("date-fns/getMilliseconds");
35
+ var _getWeek = require("date-fns/getWeek");
36
+ var _getYear = require("date-fns/getYear");
37
+ var _isAfter = require("date-fns/isAfter");
38
+ var _isBefore = require("date-fns/isBefore");
39
+ var _isEqual = require("date-fns/isEqual");
40
+ var _isSameDay = require("date-fns/isSameDay");
41
+ var _isSameYear = require("date-fns/isSameYear");
42
+ var _isSameMonth = require("date-fns/isSameMonth");
43
+ var _isSameHour = require("date-fns/isSameHour");
44
+ var _isValid = require("date-fns/isValid");
45
+ var _parse = require("date-fns/parse");
46
+ var _setDate = require("date-fns/setDate");
47
+ var _setHours = require("date-fns/setHours");
48
+ var _setMinutes = require("date-fns/setMinutes");
49
+ var _setMonth = require("date-fns/setMonth");
50
+ var _setSeconds = require("date-fns/setSeconds");
51
+ var _setMilliseconds = require("date-fns/setMilliseconds");
52
+ var _setYear = require("date-fns/setYear");
53
+ var _startOfDay = require("date-fns/startOfDay");
54
+ var _startOfMonth = require("date-fns/startOfMonth");
55
+ var _endOfMonth = require("date-fns/endOfMonth");
56
+ var _startOfWeek = require("date-fns/startOfWeek");
57
+ var _startOfYear = require("date-fns/startOfYear");
58
+ var _formatISO = require("date-fns/formatISO");
59
+ var _parseISO = require("date-fns/parseISO");
60
+ var _isWithinInterval = require("date-fns/isWithinInterval");
61
+ var _enUS = require("date-fns/locale/en-US");
62
+ var _AdapterDateFnsBase = require("../AdapterDateFnsBase");
63
+ /* eslint-disable class-methods-use-this */
64
+ // TODO remove when date-fns-v3 is the default
65
+ // @ts-nocheck
66
+
67
+ // @ts-ignore TODO remove when date-fns-v3 is the default
68
+
69
+ // date-fns v2 does not export types
70
+ // @ts-ignore TODO remove when date-fns-v3 is the default
71
+
72
+ /**
73
+ * Based on `@date-io/date-fns`
74
+ *
75
+ * MIT License
76
+ *
77
+ * Copyright (c) 2017 Dmitriy Kovalenko
78
+ *
79
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
80
+ * of this software and associated documentation files (the "Software"), to deal
81
+ * in the Software without restriction, including without limitation the rights
82
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
83
+ * copies of the Software, and to permit persons to whom the Software is
84
+ * furnished to do so, subject to the following conditions:
85
+ *
86
+ * The above copyright notice and this permission notice shall be included in all
87
+ * copies or substantial portions of the Software.
88
+ *
89
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
90
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
91
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
92
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
93
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
94
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
95
+ * SOFTWARE.
96
+ */
97
+ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
98
+ constructor({
99
+ locale,
100
+ formats
101
+ } = {}) {
102
+ if (typeof _addDays.addDays !== 'function') {
103
+ 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'));
104
+ }
105
+ if (!_format.longFormatters) {
106
+ throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
107
+ }
108
+ super({
109
+ locale: locale ?? _enUS.enUS,
110
+ formats,
111
+ longFormatters: _format.longFormatters
112
+ });
113
+ this.parseISO = isoString => {
114
+ return (0, _parseISO.parseISO)(isoString);
115
+ };
116
+ this.toISO = value => {
117
+ return (0, _formatISO.formatISO)(value, {
118
+ format: 'extended'
119
+ });
120
+ };
121
+ this.parse = (value, format) => {
122
+ if (value === '') {
123
+ return null;
124
+ }
125
+ return (0, _parse.parse)(value, format, new Date(), {
126
+ locale: this.locale
127
+ });
128
+ };
129
+ this.isValid = value => {
130
+ return (0, _isValid.isValid)(this.date(value));
131
+ };
132
+ this.format = (value, formatKey) => {
133
+ return this.formatByString(value, this.formats[formatKey]);
134
+ };
135
+ this.formatByString = (value, formatString) => {
136
+ return (0, _format.format)(value, formatString, {
137
+ locale: this.locale
138
+ });
139
+ };
140
+ this.getDiff = (value, comparing, unit) => {
141
+ switch (unit) {
142
+ case 'years':
143
+ return (0, _differenceInYears.differenceInYears)(value, this.date(comparing));
144
+ case 'quarters':
145
+ return (0, _differenceInQuarters.differenceInQuarters)(value, this.date(comparing));
146
+ case 'months':
147
+ return (0, _differenceInMonths.differenceInMonths)(value, this.date(comparing));
148
+ case 'weeks':
149
+ return (0, _differenceInWeeks.differenceInWeeks)(value, this.date(comparing));
150
+ case 'days':
151
+ return (0, _differenceInDays.differenceInDays)(value, this.date(comparing));
152
+ case 'hours':
153
+ return (0, _differenceInHours.differenceInHours)(value, this.date(comparing));
154
+ case 'minutes':
155
+ return (0, _differenceInMinutes.differenceInMinutes)(value, this.date(comparing));
156
+ case 'seconds':
157
+ return (0, _differenceInSeconds.differenceInSeconds)(value, this.date(comparing));
158
+ default:
159
+ {
160
+ return (0, _differenceInMilliseconds.differenceInMilliseconds)(value, this.date(comparing));
161
+ }
162
+ }
163
+ };
164
+ this.isEqual = (value, comparing) => {
165
+ if (value === null && comparing === null) {
166
+ return true;
167
+ }
168
+ return (0, _isEqual.isEqual)(value, comparing);
169
+ };
170
+ this.isSameYear = (value, comparing) => {
171
+ return (0, _isSameYear.isSameYear)(value, comparing);
172
+ };
173
+ this.isSameMonth = (value, comparing) => {
174
+ return (0, _isSameMonth.isSameMonth)(value, comparing);
175
+ };
176
+ this.isSameDay = (value, comparing) => {
177
+ return (0, _isSameDay.isSameDay)(value, comparing);
178
+ };
179
+ this.isSameHour = (value, comparing) => {
180
+ return (0, _isSameHour.isSameHour)(value, comparing);
181
+ };
182
+ this.isAfter = (value, comparing) => {
183
+ return (0, _isAfter.isAfter)(value, comparing);
184
+ };
185
+ this.isAfterYear = (value, comparing) => {
186
+ return (0, _isAfter.isAfter)(value, (0, _endOfYear.endOfYear)(comparing));
187
+ };
188
+ this.isAfterDay = (value, comparing) => {
189
+ return (0, _isAfter.isAfter)(value, (0, _endOfDay.endOfDay)(comparing));
190
+ };
191
+ this.isBefore = (value, comparing) => {
192
+ return (0, _isBefore.isBefore)(value, comparing);
193
+ };
194
+ this.isBeforeYear = (value, comparing) => {
195
+ return (0, _isBefore.isBefore)(value, this.startOfYear(comparing));
196
+ };
197
+ this.isBeforeDay = (value, comparing) => {
198
+ return (0, _isBefore.isBefore)(value, this.startOfDay(comparing));
199
+ };
200
+ this.isWithinRange = (value, [start, end]) => {
201
+ return (0, _isWithinInterval.isWithinInterval)(value, {
202
+ start,
203
+ end
204
+ });
205
+ };
206
+ this.startOfYear = value => {
207
+ return (0, _startOfYear.startOfYear)(value);
208
+ };
209
+ this.startOfMonth = value => {
210
+ return (0, _startOfMonth.startOfMonth)(value);
211
+ };
212
+ this.startOfWeek = value => {
213
+ return (0, _startOfWeek.startOfWeek)(value, {
214
+ locale: this.locale
215
+ });
216
+ };
217
+ this.startOfDay = value => {
218
+ return (0, _startOfDay.startOfDay)(value);
219
+ };
220
+ this.endOfYear = value => {
221
+ return (0, _endOfYear.endOfYear)(value);
222
+ };
223
+ this.endOfMonth = value => {
224
+ return (0, _endOfMonth.endOfMonth)(value);
225
+ };
226
+ this.endOfWeek = value => {
227
+ return (0, _endOfWeek.endOfWeek)(value, {
228
+ locale: this.locale
229
+ });
230
+ };
231
+ this.endOfDay = value => {
232
+ return (0, _endOfDay.endOfDay)(value);
233
+ };
234
+ this.addYears = (value, amount) => {
235
+ return (0, _addYears.addYears)(value, amount);
236
+ };
237
+ this.addMonths = (value, amount) => {
238
+ return (0, _addMonths.addMonths)(value, amount);
239
+ };
240
+ this.addWeeks = (value, amount) => {
241
+ return (0, _addWeeks.addWeeks)(value, amount);
242
+ };
243
+ this.addDays = (value, amount) => {
244
+ return (0, _addDays.addDays)(value, amount);
245
+ };
246
+ this.addHours = (value, amount) => {
247
+ return (0, _addHours.addHours)(value, amount);
248
+ };
249
+ this.addMinutes = (value, amount) => {
250
+ return (0, _addMinutes.addMinutes)(value, amount);
251
+ };
252
+ this.addSeconds = (value, amount) => {
253
+ return (0, _addSeconds.addSeconds)(value, amount);
254
+ };
255
+ this.getYear = value => {
256
+ return (0, _getYear.getYear)(value);
257
+ };
258
+ this.getMonth = value => {
259
+ return (0, _getMonth.getMonth)(value);
260
+ };
261
+ this.getDate = value => {
262
+ return (0, _getDate.getDate)(value);
263
+ };
264
+ this.getHours = value => {
265
+ return (0, _getHours.getHours)(value);
266
+ };
267
+ this.getMinutes = value => {
268
+ return (0, _getMinutes.getMinutes)(value);
269
+ };
270
+ this.getSeconds = value => {
271
+ return (0, _getSeconds.getSeconds)(value);
272
+ };
273
+ this.getMilliseconds = value => {
274
+ return (0, _getMilliseconds.getMilliseconds)(value);
275
+ };
276
+ this.setYear = (value, year) => {
277
+ return (0, _setYear.setYear)(value, year);
278
+ };
279
+ this.setMonth = (value, month) => {
280
+ return (0, _setMonth.setMonth)(value, month);
281
+ };
282
+ this.setDate = (value, date) => {
283
+ return (0, _setDate.setDate)(value, date);
284
+ };
285
+ this.setHours = (value, hours) => {
286
+ return (0, _setHours.setHours)(value, hours);
287
+ };
288
+ this.setMinutes = (value, minutes) => {
289
+ return (0, _setMinutes.setMinutes)(value, minutes);
290
+ };
291
+ this.setSeconds = (value, seconds) => {
292
+ return (0, _setSeconds.setSeconds)(value, seconds);
293
+ };
294
+ this.setMilliseconds = (value, milliseconds) => {
295
+ return (0, _setMilliseconds.setMilliseconds)(value, milliseconds);
296
+ };
297
+ this.getDaysInMonth = value => {
298
+ return (0, _getDaysInMonth.getDaysInMonth)(value);
299
+ };
300
+ this.getNextMonth = value => {
301
+ return (0, _addMonths.addMonths)(value, 1);
302
+ };
303
+ this.getPreviousMonth = value => {
304
+ return (0, _addMonths.addMonths)(value, -1);
305
+ };
306
+ this.getMonthArray = value => {
307
+ const firstMonth = (0, _startOfYear.startOfYear)(value);
308
+ const monthArray = [firstMonth];
309
+ while (monthArray.length < 12) {
310
+ const prevMonth = monthArray[monthArray.length - 1];
311
+ monthArray.push(this.getNextMonth(prevMonth));
312
+ }
313
+ return monthArray;
314
+ };
315
+ this.mergeDateAndTime = (dateParam, timeParam) => {
316
+ return this.setSeconds(this.setMinutes(this.setHours(dateParam, this.getHours(timeParam)), this.getMinutes(timeParam)), this.getSeconds(timeParam));
317
+ };
318
+ this.getWeekdays = () => {
319
+ const now = new Date();
320
+ return (0, _eachDayOfInterval.eachDayOfInterval)({
321
+ start: (0, _startOfWeek.startOfWeek)(now, {
322
+ locale: this.locale
323
+ }),
324
+ end: (0, _endOfWeek.endOfWeek)(now, {
325
+ locale: this.locale
326
+ })
327
+ }).map(day => this.formatByString(day, 'EEEEEE'));
328
+ };
329
+ this.getWeekArray = value => {
330
+ const start = (0, _startOfWeek.startOfWeek)((0, _startOfMonth.startOfMonth)(value), {
331
+ locale: this.locale
332
+ });
333
+ const end = (0, _endOfWeek.endOfWeek)((0, _endOfMonth.endOfMonth)(value), {
334
+ locale: this.locale
335
+ });
336
+ let count = 0;
337
+ let current = start;
338
+ const nestedWeeks = [];
339
+ while ((0, _isBefore.isBefore)(current, end)) {
340
+ const weekNumber = Math.floor(count / 7);
341
+ nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
342
+ nestedWeeks[weekNumber].push(current);
343
+ current = (0, _addDays.addDays)(current, 1);
344
+ count += 1;
345
+ }
346
+ return nestedWeeks;
347
+ };
348
+ this.getWeekNumber = value => {
349
+ return (0, _getWeek.getWeek)(value, {
350
+ locale: this.locale
351
+ });
352
+ };
353
+ this.getYearRange = (start, end) => {
354
+ const startDate = (0, _startOfYear.startOfYear)(start);
355
+ const endDate = (0, _endOfYear.endOfYear)(end);
356
+ const years = [];
357
+ let current = startDate;
358
+ while ((0, _isBefore.isBefore)(current, endDate)) {
359
+ years.push(current);
360
+ current = (0, _addYears.addYears)(current, 1);
361
+ }
362
+ return years;
363
+ };
364
+ }
365
+ }
366
+ exports.AdapterDateFns = AdapterDateFns;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AdapterDateFns", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AdapterDateFnsV.AdapterDateFns;
10
+ }
11
+ });
12
+ var _AdapterDateFnsV = require("./AdapterDateFnsV3");