@mui/x-date-pickers 8.10.0 → 8.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDateFns/AdapterDateFns.js +194 -195
- package/AdapterDateFnsBase/AdapterDateFnsBase.js +57 -62
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +197 -198
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +196 -196
- package/AdapterDateFnsV2/AdapterDateFnsV2.js +193 -193
- package/AdapterDayjs/AdapterDayjs.js +378 -379
- package/AdapterLuxon/AdapterLuxon.js +324 -326
- package/AdapterMoment/AdapterMoment.js +297 -302
- package/AdapterMomentHijri/AdapterMomentHijri.js +78 -78
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +78 -80
- package/CHANGELOG.md +309 -0
- package/PickersTextField/PickersInputBase/PickersInputBase.js +14 -1
- package/PickersTextField/PickersTextField.js +3 -2
- package/esm/AdapterDateFns/AdapterDateFns.js +194 -194
- package/esm/AdapterDateFnsBase/AdapterDateFnsBase.js +57 -62
- package/esm/AdapterDateFnsJalali/AdapterDateFnsJalali.js +197 -197
- package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +196 -196
- package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +193 -193
- package/esm/AdapterDayjs/AdapterDayjs.js +378 -379
- package/esm/AdapterLuxon/AdapterLuxon.js +324 -325
- package/esm/AdapterMoment/AdapterMoment.js +297 -301
- package/esm/AdapterMomentHijri/AdapterMomentHijri.js +78 -78
- package/esm/AdapterMomentJalaali/AdapterMomentJalaali.js +78 -80
- package/esm/PickersTextField/PickersInputBase/PickersInputBase.js +14 -1
- package/esm/PickersTextField/PickersTextField.js +3 -2
- package/esm/index.js +1 -1
- package/esm/internals/hooks/useField/syncSelectionToDOM.js +3 -1
- package/esm/internals/models/helpers.d.ts +1 -1
- package/esm/models/fields.d.ts +4 -0
- package/index.js +1 -1
- package/internals/hooks/useField/syncSelectionToDOM.js +3 -1
- package/internals/models/helpers.d.ts +1 -1
- package/models/fields.d.ts +4 -0
- package/package.json +15 -16
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
/* eslint-disable class-methods-use-this */
|
|
3
2
|
/* v8 ignore next */
|
|
4
3
|
import defaultHMoment from 'moment-hijri';
|
|
5
4
|
import { AdapterMoment } from "../AdapterMoment/index.js";
|
|
@@ -130,6 +129,9 @@ const NUMBER_SYMBOL_MAP = {
|
|
|
130
129
|
* SOFTWARE.
|
|
131
130
|
*/
|
|
132
131
|
export class AdapterMomentHijri extends AdapterMoment {
|
|
132
|
+
lib = 'moment-hijri';
|
|
133
|
+
isTimezoneCompatible = false;
|
|
134
|
+
formatTokenMap = (() => formatTokenMap)();
|
|
133
135
|
constructor({
|
|
134
136
|
formats,
|
|
135
137
|
instance
|
|
@@ -138,85 +140,83 @@ export class AdapterMomentHijri extends AdapterMoment {
|
|
|
138
140
|
locale: 'ar-SA',
|
|
139
141
|
instance
|
|
140
142
|
});
|
|
141
|
-
this.lib = 'moment-hijri';
|
|
142
|
-
this.moment = void 0;
|
|
143
|
-
this.isTimezoneCompatible = false;
|
|
144
|
-
this.formatTokenMap = formatTokenMap;
|
|
145
|
-
this.date = value => {
|
|
146
|
-
if (value === null) {
|
|
147
|
-
return null;
|
|
148
|
-
}
|
|
149
|
-
return this.moment(value).locale('ar-SA');
|
|
150
|
-
};
|
|
151
|
-
/* v8 ignore next 3 */
|
|
152
|
-
this.getTimezone = () => {
|
|
153
|
-
return 'default';
|
|
154
|
-
};
|
|
155
|
-
/* v8 ignore next 3 */
|
|
156
|
-
this.setTimezone = value => {
|
|
157
|
-
return value;
|
|
158
|
-
};
|
|
159
|
-
this.parse = (value, format) => {
|
|
160
|
-
if (value === '') {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
return this.moment(value, format, true).locale('ar-SA');
|
|
164
|
-
};
|
|
165
|
-
this.formatNumber = numberToFormat => {
|
|
166
|
-
return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
|
|
167
|
-
};
|
|
168
|
-
this.startOfYear = value => {
|
|
169
|
-
return value.clone().startOf('iYear');
|
|
170
|
-
};
|
|
171
|
-
this.startOfMonth = value => {
|
|
172
|
-
return value.clone().startOf('iMonth');
|
|
173
|
-
};
|
|
174
|
-
this.endOfYear = value => {
|
|
175
|
-
return value.clone().endOf('iYear');
|
|
176
|
-
};
|
|
177
|
-
this.endOfMonth = value => {
|
|
178
|
-
return value.clone().endOf('iMonth');
|
|
179
|
-
};
|
|
180
|
-
this.addYears = (value, amount) => {
|
|
181
|
-
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'iYear') : value.clone().add(amount, 'iYear');
|
|
182
|
-
};
|
|
183
|
-
this.addMonths = (value, amount) => {
|
|
184
|
-
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'iMonth') : value.clone().add(amount, 'iMonth');
|
|
185
|
-
};
|
|
186
|
-
this.getYear = value => {
|
|
187
|
-
return value.iYear();
|
|
188
|
-
};
|
|
189
|
-
this.getMonth = value => {
|
|
190
|
-
return value.iMonth();
|
|
191
|
-
};
|
|
192
|
-
this.getDate = value => {
|
|
193
|
-
return value.iDate();
|
|
194
|
-
};
|
|
195
|
-
this.setYear = (value, year) => {
|
|
196
|
-
return value.clone().iYear(year);
|
|
197
|
-
};
|
|
198
|
-
this.setMonth = (value, month) => {
|
|
199
|
-
return value.clone().iMonth(month);
|
|
200
|
-
};
|
|
201
|
-
this.setDate = (value, date) => {
|
|
202
|
-
return value.clone().iDate(date);
|
|
203
|
-
};
|
|
204
|
-
this.getWeekNumber = value => {
|
|
205
|
-
return value.iWeek();
|
|
206
|
-
};
|
|
207
|
-
this.getYearRange = ([start, end]) => {
|
|
208
|
-
// moment-hijri only supports dates between 1356-01-01 H and 1499-12-29 H
|
|
209
|
-
// We need to throw if outside min/max bounds, otherwise the while loop below will be infinite.
|
|
210
|
-
if (start.isBefore('1937-03-14')) {
|
|
211
|
-
throw new Error('min date must be on or after 1356-01-01 H (1937-03-14)');
|
|
212
|
-
}
|
|
213
|
-
if (end.isAfter('2076-11-26')) {
|
|
214
|
-
throw new Error('max date must be on or before 1499-12-29 H (2076-11-26)');
|
|
215
|
-
}
|
|
216
|
-
return super.getYearRange([start, end]);
|
|
217
|
-
};
|
|
218
143
|
this.moment = instance || defaultHMoment;
|
|
219
144
|
this.locale = 'ar-SA';
|
|
220
145
|
this.formats = _extends({}, defaultFormats, formats);
|
|
221
146
|
}
|
|
147
|
+
date = value => {
|
|
148
|
+
if (value === null) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
return this.moment(value).locale('ar-SA');
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/* v8 ignore next 3 */
|
|
155
|
+
getTimezone = () => {
|
|
156
|
+
return 'default';
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/* v8 ignore next 3 */
|
|
160
|
+
setTimezone = value => {
|
|
161
|
+
return value;
|
|
162
|
+
};
|
|
163
|
+
parse = (value, format) => {
|
|
164
|
+
if (value === '') {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
return this.moment(value, format, true).locale('ar-SA');
|
|
168
|
+
};
|
|
169
|
+
formatNumber = numberToFormat => {
|
|
170
|
+
return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
|
|
171
|
+
};
|
|
172
|
+
startOfYear = value => {
|
|
173
|
+
return value.clone().startOf('iYear');
|
|
174
|
+
};
|
|
175
|
+
startOfMonth = value => {
|
|
176
|
+
return value.clone().startOf('iMonth');
|
|
177
|
+
};
|
|
178
|
+
endOfYear = value => {
|
|
179
|
+
return value.clone().endOf('iYear');
|
|
180
|
+
};
|
|
181
|
+
endOfMonth = value => {
|
|
182
|
+
return value.clone().endOf('iMonth');
|
|
183
|
+
};
|
|
184
|
+
addYears = (value, amount) => {
|
|
185
|
+
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'iYear') : value.clone().add(amount, 'iYear');
|
|
186
|
+
};
|
|
187
|
+
addMonths = (value, amount) => {
|
|
188
|
+
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'iMonth') : value.clone().add(amount, 'iMonth');
|
|
189
|
+
};
|
|
190
|
+
getYear = value => {
|
|
191
|
+
return value.iYear();
|
|
192
|
+
};
|
|
193
|
+
getMonth = value => {
|
|
194
|
+
return value.iMonth();
|
|
195
|
+
};
|
|
196
|
+
getDate = value => {
|
|
197
|
+
return value.iDate();
|
|
198
|
+
};
|
|
199
|
+
setYear = (value, year) => {
|
|
200
|
+
return value.clone().iYear(year);
|
|
201
|
+
};
|
|
202
|
+
setMonth = (value, month) => {
|
|
203
|
+
return value.clone().iMonth(month);
|
|
204
|
+
};
|
|
205
|
+
setDate = (value, date) => {
|
|
206
|
+
return value.clone().iDate(date);
|
|
207
|
+
};
|
|
208
|
+
getWeekNumber = value => {
|
|
209
|
+
return value.iWeek();
|
|
210
|
+
};
|
|
211
|
+
getYearRange = ([start, end]) => {
|
|
212
|
+
// moment-hijri only supports dates between 1356-01-01 H and 1499-12-29 H
|
|
213
|
+
// We need to throw if outside min/max bounds, otherwise the while loop below will be infinite.
|
|
214
|
+
if (start.isBefore('1937-03-14')) {
|
|
215
|
+
throw new Error('min date must be on or after 1356-01-01 H (1937-03-14)');
|
|
216
|
+
}
|
|
217
|
+
if (end.isAfter('2076-11-26')) {
|
|
218
|
+
throw new Error('max date must be on or before 1499-12-29 H (2076-11-26)');
|
|
219
|
+
}
|
|
220
|
+
return super.getYearRange([start, end]);
|
|
221
|
+
};
|
|
222
222
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
/* eslint-disable class-methods-use-this */
|
|
3
2
|
/* v8 ignore next */
|
|
4
3
|
import defaultJMoment from 'moment-jalaali';
|
|
5
4
|
import { AdapterMoment } from "../AdapterMoment/index.js";
|
|
@@ -128,6 +127,9 @@ const NUMBER_SYMBOL_MAP = {
|
|
|
128
127
|
* SOFTWARE.
|
|
129
128
|
*/
|
|
130
129
|
export class AdapterMomentJalaali extends AdapterMoment {
|
|
130
|
+
isTimezoneCompatible = false;
|
|
131
|
+
lib = 'moment-jalaali';
|
|
132
|
+
formatTokenMap = (() => formatTokenMap)();
|
|
131
133
|
constructor({
|
|
132
134
|
formats,
|
|
133
135
|
instance
|
|
@@ -136,87 +138,83 @@ export class AdapterMomentJalaali extends AdapterMoment {
|
|
|
136
138
|
locale: 'fa',
|
|
137
139
|
instance
|
|
138
140
|
});
|
|
139
|
-
this.isTimezoneCompatible = false;
|
|
140
|
-
this.lib = 'moment-jalaali';
|
|
141
|
-
this.moment = void 0;
|
|
142
|
-
this.formatTokenMap = formatTokenMap;
|
|
143
|
-
this.date = value => {
|
|
144
|
-
if (value === null) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return this.moment(value).locale('fa');
|
|
148
|
-
};
|
|
149
|
-
this.getTimezone = () => {
|
|
150
|
-
return 'default';
|
|
151
|
-
};
|
|
152
|
-
this.setTimezone = value => {
|
|
153
|
-
return value;
|
|
154
|
-
};
|
|
155
|
-
this.parse = (value, format) => {
|
|
156
|
-
if (value === '') {
|
|
157
|
-
return null;
|
|
158
|
-
}
|
|
159
|
-
return this.moment(value, format, true).locale('fa');
|
|
160
|
-
};
|
|
161
|
-
this.formatNumber = numberToFormat => {
|
|
162
|
-
return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
|
|
163
|
-
};
|
|
164
|
-
this.isSameYear = (value, comparing) => {
|
|
165
|
-
return value.jYear() === comparing.jYear();
|
|
166
|
-
};
|
|
167
|
-
this.isSameMonth = (value, comparing) => {
|
|
168
|
-
return value.jYear() === comparing.jYear() && value.jMonth() === comparing.jMonth();
|
|
169
|
-
};
|
|
170
|
-
this.isAfterYear = (value, comparing) => {
|
|
171
|
-
return value.jYear() > comparing.jYear();
|
|
172
|
-
};
|
|
173
|
-
this.isBeforeYear = (value, comparing) => {
|
|
174
|
-
return value.jYear() < comparing.jYear();
|
|
175
|
-
};
|
|
176
|
-
this.startOfYear = value => {
|
|
177
|
-
return value.clone().startOf('jYear');
|
|
178
|
-
};
|
|
179
|
-
this.startOfMonth = value => {
|
|
180
|
-
return value.clone().startOf('jMonth');
|
|
181
|
-
};
|
|
182
|
-
this.endOfYear = value => {
|
|
183
|
-
return value.clone().endOf('jYear');
|
|
184
|
-
};
|
|
185
|
-
this.endOfMonth = value => {
|
|
186
|
-
return value.clone().endOf('jMonth');
|
|
187
|
-
};
|
|
188
|
-
this.addYears = (value, amount) => {
|
|
189
|
-
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'jYear') : value.clone().add(amount, 'jYear');
|
|
190
|
-
};
|
|
191
|
-
this.addMonths = (value, amount) => {
|
|
192
|
-
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'jMonth') : value.clone().add(amount, 'jMonth');
|
|
193
|
-
};
|
|
194
|
-
this.getYear = value => {
|
|
195
|
-
return value.jYear();
|
|
196
|
-
};
|
|
197
|
-
this.getMonth = value => {
|
|
198
|
-
return value.jMonth();
|
|
199
|
-
};
|
|
200
|
-
this.getDate = value => {
|
|
201
|
-
return value.jDate();
|
|
202
|
-
};
|
|
203
|
-
this.getDaysInMonth = value => {
|
|
204
|
-
return this.moment.jDaysInMonth(value.jYear(), value.jMonth());
|
|
205
|
-
};
|
|
206
|
-
this.setYear = (value, year) => {
|
|
207
|
-
return value.clone().jYear(year);
|
|
208
|
-
};
|
|
209
|
-
this.setMonth = (value, month) => {
|
|
210
|
-
return value.clone().jMonth(month);
|
|
211
|
-
};
|
|
212
|
-
this.setDate = (value, date) => {
|
|
213
|
-
return value.clone().jDate(date);
|
|
214
|
-
};
|
|
215
|
-
this.getWeekNumber = value => {
|
|
216
|
-
return value.jWeek();
|
|
217
|
-
};
|
|
218
141
|
this.moment = instance || defaultJMoment;
|
|
219
142
|
this.locale = 'fa';
|
|
220
143
|
this.formats = _extends({}, defaultFormats, formats);
|
|
221
144
|
}
|
|
145
|
+
date = value => {
|
|
146
|
+
if (value === null) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return this.moment(value).locale('fa');
|
|
150
|
+
};
|
|
151
|
+
getTimezone = () => {
|
|
152
|
+
return 'default';
|
|
153
|
+
};
|
|
154
|
+
setTimezone = value => {
|
|
155
|
+
return value;
|
|
156
|
+
};
|
|
157
|
+
parse = (value, format) => {
|
|
158
|
+
if (value === '') {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
return this.moment(value, format, true).locale('fa');
|
|
162
|
+
};
|
|
163
|
+
formatNumber = numberToFormat => {
|
|
164
|
+
return numberToFormat.replace(/\d/g, match => NUMBER_SYMBOL_MAP[match]).replace(/,/g, '،');
|
|
165
|
+
};
|
|
166
|
+
isSameYear = (value, comparing) => {
|
|
167
|
+
return value.jYear() === comparing.jYear();
|
|
168
|
+
};
|
|
169
|
+
isSameMonth = (value, comparing) => {
|
|
170
|
+
return value.jYear() === comparing.jYear() && value.jMonth() === comparing.jMonth();
|
|
171
|
+
};
|
|
172
|
+
isAfterYear = (value, comparing) => {
|
|
173
|
+
return value.jYear() > comparing.jYear();
|
|
174
|
+
};
|
|
175
|
+
isBeforeYear = (value, comparing) => {
|
|
176
|
+
return value.jYear() < comparing.jYear();
|
|
177
|
+
};
|
|
178
|
+
startOfYear = value => {
|
|
179
|
+
return value.clone().startOf('jYear');
|
|
180
|
+
};
|
|
181
|
+
startOfMonth = value => {
|
|
182
|
+
return value.clone().startOf('jMonth');
|
|
183
|
+
};
|
|
184
|
+
endOfYear = value => {
|
|
185
|
+
return value.clone().endOf('jYear');
|
|
186
|
+
};
|
|
187
|
+
endOfMonth = value => {
|
|
188
|
+
return value.clone().endOf('jMonth');
|
|
189
|
+
};
|
|
190
|
+
addYears = (value, amount) => {
|
|
191
|
+
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'jYear') : value.clone().add(amount, 'jYear');
|
|
192
|
+
};
|
|
193
|
+
addMonths = (value, amount) => {
|
|
194
|
+
return amount < 0 ? value.clone().subtract(Math.abs(amount), 'jMonth') : value.clone().add(amount, 'jMonth');
|
|
195
|
+
};
|
|
196
|
+
getYear = value => {
|
|
197
|
+
return value.jYear();
|
|
198
|
+
};
|
|
199
|
+
getMonth = value => {
|
|
200
|
+
return value.jMonth();
|
|
201
|
+
};
|
|
202
|
+
getDate = value => {
|
|
203
|
+
return value.jDate();
|
|
204
|
+
};
|
|
205
|
+
getDaysInMonth = value => {
|
|
206
|
+
return this.moment.jDaysInMonth(value.jYear(), value.jMonth());
|
|
207
|
+
};
|
|
208
|
+
setYear = (value, year) => {
|
|
209
|
+
return value.clone().jYear(year);
|
|
210
|
+
};
|
|
211
|
+
setMonth = (value, month) => {
|
|
212
|
+
return value.clone().jMonth(month);
|
|
213
|
+
};
|
|
214
|
+
setDate = (value, date) => {
|
|
215
|
+
return value.clone().jDate(date);
|
|
216
|
+
};
|
|
217
|
+
getWeekNumber = value => {
|
|
218
|
+
return value.jWeek();
|
|
219
|
+
};
|
|
222
220
|
}
|
|
@@ -67,7 +67,7 @@ export const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot,
|
|
|
67
67
|
fieldDirection: 'rtl'
|
|
68
68
|
},
|
|
69
69
|
style: {
|
|
70
|
-
|
|
70
|
+
justifyContent: 'end'
|
|
71
71
|
}
|
|
72
72
|
}, {
|
|
73
73
|
props: {
|
|
@@ -98,6 +98,19 @@ export const PickersInputBaseSectionsContainer = styled(PickersSectionListRoot,
|
|
|
98
98
|
} : {
|
|
99
99
|
opacity: theme.palette.mode === 'light' ? 0.42 : 0.5
|
|
100
100
|
}
|
|
101
|
+
}, {
|
|
102
|
+
props: {
|
|
103
|
+
hasStartAdornment: false,
|
|
104
|
+
isFieldFocused: false,
|
|
105
|
+
isFieldValueEmpty: true,
|
|
106
|
+
inputHasLabel: true,
|
|
107
|
+
isLabelShrunk: true
|
|
108
|
+
},
|
|
109
|
+
style: theme.vars ? {
|
|
110
|
+
opacity: theme.vars.opacity.inputPlaceholder
|
|
111
|
+
} : {
|
|
112
|
+
opacity: theme.palette.mode === 'light' ? 0.42 : 0.5
|
|
113
|
+
}
|
|
101
114
|
}]
|
|
102
115
|
}));
|
|
103
116
|
const PickersInputBaseSection = styled(PickersSectionListSection, {
|
|
@@ -111,8 +111,9 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
|
|
|
111
111
|
isInputInFullWidth: fullWidth ?? false,
|
|
112
112
|
hasStartAdornment: Boolean(startAdornment ?? InputProps?.startAdornment),
|
|
113
113
|
hasEndAdornment: Boolean(endAdornment ?? InputProps?.endAdornment),
|
|
114
|
-
inputHasLabel: !!label
|
|
115
|
-
|
|
114
|
+
inputHasLabel: !!label,
|
|
115
|
+
isLabelShrunk: Boolean(InputLabelProps?.shrink)
|
|
116
|
+
}), [fieldOwnerState, areAllSectionsEmpty, focused, error, props.size, color, fullWidth, startAdornment, endAdornment, InputProps?.startAdornment, InputProps?.endAdornment, label, InputLabelProps?.shrink]);
|
|
116
117
|
const classes = useUtilityClasses(classesProp, ownerState);
|
|
117
118
|
const PickersInputComponent = VARIANT_COMPONENT[variant];
|
|
118
119
|
const inputAdditionalProps = {};
|
package/esm/index.js
CHANGED
|
@@ -19,7 +19,9 @@ export function syncSelectionToDOM(parameters) {
|
|
|
19
19
|
}
|
|
20
20
|
if (parsedSelectedSections == null) {
|
|
21
21
|
// If the selection contains an element inside the field, we reset it.
|
|
22
|
-
if (selection.rangeCount > 0 &&
|
|
22
|
+
if (selection.rangeCount > 0 &&
|
|
23
|
+
// Firefox can return a Restricted object here
|
|
24
|
+
selection.getRangeAt(0).startContainer instanceof Node && domGetters.getRoot().contains(selection.getRangeAt(0).startContainer)) {
|
|
23
25
|
selection.removeAllRanges();
|
|
24
26
|
}
|
|
25
27
|
if (focused) {
|
|
@@ -7,7 +7,7 @@ import { CSSObject, CSSInterpolation, Interpolation } from '@mui/system';
|
|
|
7
7
|
*/
|
|
8
8
|
export type ExtendMui<C, Removals extends keyof C = never> = Omit<C, 'classes' | 'theme' | Removals>;
|
|
9
9
|
type OverridesStyleRules<ClassKey extends string = string, ComponentName = keyof ComponentsPropsList, Theme = unknown, OwnerState = unknown> = Record<ClassKey, Interpolation<(ComponentName extends keyof ComponentsPropsList ? ComponentsPropsList[ComponentName] & Record<string, unknown> & {
|
|
10
|
-
ownerState: OwnerState extends
|
|
10
|
+
ownerState: OwnerState extends object ? OwnerState : ComponentsPropsList[ComponentName] & Record<string, unknown>;
|
|
11
11
|
} : {}) & {
|
|
12
12
|
theme: Theme;
|
|
13
13
|
} & Record<string, unknown>>>;
|
package/esm/models/fields.d.ts
CHANGED
|
@@ -178,5 +178,9 @@ export interface PickerTextFieldOwnerState extends FieldOwnerState {
|
|
|
178
178
|
* `true` if the input has a label, `false` otherwise.
|
|
179
179
|
*/
|
|
180
180
|
inputHasLabel: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* `true` if the input label is shrunk, `false` otherwise.
|
|
183
|
+
*/
|
|
184
|
+
isLabelShrunk: boolean;
|
|
181
185
|
}
|
|
182
186
|
export {};
|
package/index.js
CHANGED
|
@@ -26,7 +26,9 @@ function syncSelectionToDOM(parameters) {
|
|
|
26
26
|
}
|
|
27
27
|
if (parsedSelectedSections == null) {
|
|
28
28
|
// If the selection contains an element inside the field, we reset it.
|
|
29
|
-
if (selection.rangeCount > 0 &&
|
|
29
|
+
if (selection.rangeCount > 0 &&
|
|
30
|
+
// Firefox can return a Restricted object here
|
|
31
|
+
selection.getRangeAt(0).startContainer instanceof Node && domGetters.getRoot().contains(selection.getRangeAt(0).startContainer)) {
|
|
30
32
|
selection.removeAllRanges();
|
|
31
33
|
}
|
|
32
34
|
if (focused) {
|
|
@@ -7,7 +7,7 @@ import { CSSObject, CSSInterpolation, Interpolation } from '@mui/system';
|
|
|
7
7
|
*/
|
|
8
8
|
export type ExtendMui<C, Removals extends keyof C = never> = Omit<C, 'classes' | 'theme' | Removals>;
|
|
9
9
|
type OverridesStyleRules<ClassKey extends string = string, ComponentName = keyof ComponentsPropsList, Theme = unknown, OwnerState = unknown> = Record<ClassKey, Interpolation<(ComponentName extends keyof ComponentsPropsList ? ComponentsPropsList[ComponentName] & Record<string, unknown> & {
|
|
10
|
-
ownerState: OwnerState extends
|
|
10
|
+
ownerState: OwnerState extends object ? OwnerState : ComponentsPropsList[ComponentName] & Record<string, unknown>;
|
|
11
11
|
} : {}) & {
|
|
12
12
|
theme: Theme;
|
|
13
13
|
} & Record<string, unknown>>>;
|
package/models/fields.d.ts
CHANGED
|
@@ -178,5 +178,9 @@ export interface PickerTextFieldOwnerState extends FieldOwnerState {
|
|
|
178
178
|
* `true` if the input has a label, `false` otherwise.
|
|
179
179
|
*/
|
|
180
180
|
inputHasLabel: boolean;
|
|
181
|
+
/**
|
|
182
|
+
* `true` if the input label is shrunk, `false` otherwise.
|
|
183
|
+
*/
|
|
184
|
+
isLabelShrunk: boolean;
|
|
181
185
|
}
|
|
182
186
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.11.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The community edition of the MUI X Date and Time Picker components.",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@babel/runtime": "^7.28.2",
|
|
38
|
-
"@mui/utils": "^7.
|
|
38
|
+
"@mui/utils": "^7.3.1",
|
|
39
39
|
"@types/react-transition-group": "^4.4.12",
|
|
40
40
|
"clsx": "^2.1.1",
|
|
41
41
|
"prop-types": "^15.8.1",
|
|
42
42
|
"react-transition-group": "^4.4.5",
|
|
43
|
-
"@mui/x-internals": "8.
|
|
43
|
+
"@mui/x-internals": "8.11.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@emotion/react": "^11.9.0",
|
|
@@ -89,31 +89,30 @@
|
|
|
89
89
|
"engines": {
|
|
90
90
|
"node": ">=14.0.0"
|
|
91
91
|
},
|
|
92
|
-
"
|
|
92
|
+
"type": "commonjs",
|
|
93
|
+
"types": "./index.d.ts",
|
|
93
94
|
"exports": {
|
|
94
95
|
"./package.json": "./package.json",
|
|
95
96
|
".": {
|
|
96
|
-
"require": {
|
|
97
|
-
"types": "./index.d.ts",
|
|
98
|
-
"default": "./index.js"
|
|
99
|
-
},
|
|
100
97
|
"import": {
|
|
101
98
|
"types": "./esm/index.d.ts",
|
|
102
99
|
"default": "./esm/index.js"
|
|
100
|
+
},
|
|
101
|
+
"require": {
|
|
102
|
+
"types": "./index.d.ts",
|
|
103
|
+
"default": "./index.js"
|
|
103
104
|
}
|
|
104
105
|
},
|
|
105
106
|
"./*": {
|
|
106
|
-
"require": {
|
|
107
|
-
"types": "./*/index.d.ts",
|
|
108
|
-
"default": "./*/index.js"
|
|
109
|
-
},
|
|
110
107
|
"import": {
|
|
111
108
|
"types": "./esm/*/index.d.ts",
|
|
112
109
|
"default": "./esm/*/index.js"
|
|
110
|
+
},
|
|
111
|
+
"require": {
|
|
112
|
+
"types": "./*/index.d.ts",
|
|
113
|
+
"default": "./*/index.js"
|
|
113
114
|
}
|
|
114
115
|
},
|
|
115
|
-
"./esm": null
|
|
116
|
-
|
|
117
|
-
},
|
|
118
|
-
"types": "./index.d.ts"
|
|
116
|
+
"./esm": null
|
|
117
|
+
}
|
|
119
118
|
}
|