@mui/x-date-pickers 5.0.4 → 5.0.6

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/CHANGELOG.md CHANGED
@@ -3,6 +3,88 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 5.17.9
7
+
8
+ _Oct 28, 2022_
9
+
10
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - ⚡ Fix memory leak during unmount of the DataGrid (#6579) @cherniavskii
13
+ - 🎁 Allow to disable the autofocus of the search field when opening the column visibility panel (#6630) @e-cloud
14
+ - 🐞 Bugfixes
15
+
16
+ ### `@mui/x-data-grid@v5.17.9` / `@mui/x-data-grid-pro@v5.17.9` / `@mui/x-data-grid-premium@v5.17.9`
17
+
18
+ #### Changes
19
+
20
+ - [DataGrid] Allow to disable autofocusing the search field in the columns panel (#6630) @e-cloud
21
+ - [DataGrid] Fix `setRows` method not persisting new rows data after `loading` prop change (#6637) @cherniavskii
22
+ - [DataGrid] Fix memory leak on grid unmount (#6579) @cherniavskii
23
+ - [l10n] Improve Bulgarian (bg-BG) locale (#6635) @AtanasVA
24
+
25
+ ### `@mui/x-date-pickers@v5.0.6` / `@mui/x-date-pickers-pro@v5.0.6`
26
+
27
+ #### Changes
28
+
29
+ - [pickers] Ignore milliseconds in mask logic (#6618) @alexfauquette
30
+ - [pickers] Update input when `inputFormat` is modified (#6617) @alexfauquette
31
+
32
+ ### Docs
33
+
34
+ - [docs] Add token to redirect feedbacks on slack (#6592) @alexfauquette
35
+ - [docs] Disable translations (#6639) @cherniavskii
36
+ - [docs] Fix code edit for when v6 will be stable (#6600) @oliviertassinari
37
+ - [docs] Fix typo in DataGrid demo page (#6632) (#6634) @LukasTy
38
+
39
+ ### Core
40
+
41
+ - [core] Upgrade monorepo (#6570) @cherniavskii
42
+
43
+ ## 5.17.8
44
+
45
+ _Oct 20, 2022_
46
+
47
+ We'd like to offer a big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
48
+
49
+ - 🐞 Bugfixes
50
+ - 🌍 Improve Turkish (tr-TR) locale on the data grid and pickers (#6573) @ramazansancar
51
+
52
+ ### `@mui/x-data-grid@v5.17.8` / `@mui/x-data-grid-pro@v5.17.8` / `@mui/x-data-grid-premium@v5.17.8`
53
+
54
+ #### Changes
55
+
56
+ - [DataGrid] Add `searchPredicate` prop to `GridColumnsPanel` component (#6572) @cherniavskii
57
+ - [DataGrid] Fix grid not updating state on `rowCount` prop change (#6474) @cherniavskii
58
+ - [DataGridPro] Fix row order being reset after updating the row (#6544) @cherniavskii
59
+ - [l10n] Improve Turkish (tr-TR) locale on the data grid and pickers (#6542) (#6573) @ramazansancar
60
+
61
+ ### `@mui/x-date-pickers@v5.0.5` / `@mui/x-date-pickers-pro@v5.0.5`
62
+
63
+ #### Changes
64
+
65
+ - [CalendarPicker] Don't move to closest enabled date when `props.date` contains a disabled date (#6537) @flaviendelangle
66
+ - [DateRangePicker] Fix calendar day outside of month layout shifting on hover (pick #6448) (#6538) @alexfauquette
67
+ - [pickers] Fix typescript issues (#6510) @flaviendelangle
68
+
69
+ ### Docs
70
+
71
+ - [docs] Fix 301 link to the sx prop page @oliviertassinari
72
+
73
+ ## 5.17.7
74
+
75
+ _Oct 13, 2022_
76
+
77
+ We'd like to offer a big thanks to the 2 contributors who made this release possible. Here are some highlights ✨:
78
+
79
+ - 🐞 Bugfixes
80
+
81
+ ### `@mui/x-data-grid@v5.17.7` / `@mui/x-data-grid-pro@v5.17.7` / `@mui/x-data-grid-premium@v5.17.7`
82
+
83
+ #### Changes
84
+
85
+ - [DataGrid] Fix error when using column grouping with all columns hidden (#6425) @alexfauquette
86
+ - [DataGrid] Fix start edit mode with printable character in React 18 (#6478) @m4theushw
87
+
6
88
  ## 5.17.6
7
89
 
8
90
  _Oct 6, 2022_
@@ -196,23 +196,6 @@ export const CalendarPicker = /*#__PURE__*/React.forwardRef(function CalendarPic
196
196
 
197
197
  return onChange(day, isFinish);
198
198
  }, [utils, date, onChange]);
199
- React.useEffect(() => {
200
- if (date && isDateDisabled(date)) {
201
- const closestEnabledDate = findClosestEnabledDate({
202
- utils,
203
- date,
204
- minDate,
205
- maxDate,
206
- disablePast,
207
- disableFuture,
208
- isDateDisabled
209
- });
210
- onChange(closestEnabledDate, 'partial');
211
- } // This call is too expensive to run it on each prop change.
212
- // So just ensure that we are not rendering disabled as selected on mount.
213
-
214
- }, []); // eslint-disable-line
215
-
216
199
  React.useEffect(() => {
217
200
  if (date) {
218
201
  changeMonth(date);
@@ -102,7 +102,8 @@ const PickersDayFiller = styled('div', {
102
102
  ownerState
103
103
  }), {
104
104
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
105
- opacity: 0
105
+ opacity: 0,
106
+ pointerEvents: 'none'
106
107
  }));
107
108
 
108
109
  const noop = () => {};
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.4
1
+ /** @license MUI v5.0.6
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -49,20 +49,24 @@ export const useMaskedInput = ({
49
49
 
50
50
  const prevRawValue = React.useRef();
51
51
  const prevLocale = React.useRef(utils.locale);
52
+ const prevInputFormat = React.useRef(inputFormat);
52
53
  React.useEffect(() => {
53
54
  const rawValueHasChanged = rawValue !== prevRawValue.current;
54
55
  const localeHasChanged = utils.locale !== prevLocale.current;
56
+ const inputFormatHasChanged = inputFormat !== prevInputFormat.current;
55
57
  prevRawValue.current = rawValue;
56
58
  prevLocale.current = utils.locale;
59
+ prevInputFormat.current = inputFormat;
57
60
 
58
- if (!rawValueHasChanged && !localeHasChanged) {
61
+ if (!rawValueHasChanged && !localeHasChanged && !inputFormatHasChanged) {
59
62
  return;
60
63
  }
61
64
 
62
65
  const newParsedValue = rawValue === null ? null : utils.date(rawValue);
63
66
  const isAcceptedValue = rawValue === null || utils.isValid(newParsedValue);
67
+ const innerEqualsParsed = innerInputValue === null ? newParsedValue === null : newParsedValue !== null && Math.abs(utils.getDiff(innerInputValue, newParsedValue, 'seconds')) === 0;
64
68
 
65
- if (!localeHasChanged && (!isAcceptedValue || utils.isEqual(innerInputValue, newParsedValue))) {
69
+ if (!localeHasChanged && !inputFormatHasChanged && (!isAcceptedValue || innerEqualsParsed)) {
66
70
  return;
67
71
  } // When dev set a new valid value, we trust them
68
72
 
@@ -1,7 +1,7 @@
1
1
  import { IUtils } from '@date-io/core/IUtils';
2
2
 
3
3
  // TODO: Maybe we should add the same constraint.
4
- // @ts-expect-error TDate in our codebase does not have the `ExtendableDateType` constraint.
4
+ // @ts-ignore TDate in our codebase does not have the `ExtendableDateType` constraint.
5
5
  export type MuiPickersAdapter<TDate> = IUtils<TDate>;
6
6
 
7
7
  export type MuiDateSectionName = 'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'am-pm';
@@ -200,23 +200,6 @@ export var CalendarPicker = /*#__PURE__*/React.forwardRef(function CalendarPicke
200
200
 
201
201
  return onChange(day, isFinish);
202
202
  }, [utils, date, onChange]);
203
- React.useEffect(function () {
204
- if (date && isDateDisabled(date)) {
205
- var closestEnabledDate = findClosestEnabledDate({
206
- utils: utils,
207
- date: date,
208
- minDate: minDate,
209
- maxDate: maxDate,
210
- disablePast: disablePast,
211
- disableFuture: disableFuture,
212
- isDateDisabled: isDateDisabled
213
- });
214
- onChange(closestEnabledDate, 'partial');
215
- } // This call is too expensive to run it on each prop change.
216
- // So just ensure that we are not rendering disabled as selected on mount.
217
-
218
- }, []); // eslint-disable-line
219
-
220
203
  React.useEffect(function () {
221
204
  if (date) {
222
205
  changeMonth(date);
@@ -97,7 +97,8 @@ var PickersDayFiller = styled('div', {
97
97
  ownerState: ownerState
98
98
  }), {
99
99
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
100
- opacity: 0
100
+ opacity: 0,
101
+ pointerEvents: 'none'
101
102
  });
102
103
  });
103
104
 
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.4
1
+ /** @license MUI v5.0.6
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -63,20 +63,24 @@ export var useMaskedInput = function useMaskedInput(_ref) {
63
63
 
64
64
  var prevRawValue = React.useRef();
65
65
  var prevLocale = React.useRef(utils.locale);
66
+ var prevInputFormat = React.useRef(inputFormat);
66
67
  React.useEffect(function () {
67
68
  var rawValueHasChanged = rawValue !== prevRawValue.current;
68
69
  var localeHasChanged = utils.locale !== prevLocale.current;
70
+ var inputFormatHasChanged = inputFormat !== prevInputFormat.current;
69
71
  prevRawValue.current = rawValue;
70
72
  prevLocale.current = utils.locale;
73
+ prevInputFormat.current = inputFormat;
71
74
 
72
- if (!rawValueHasChanged && !localeHasChanged) {
75
+ if (!rawValueHasChanged && !localeHasChanged && !inputFormatHasChanged) {
73
76
  return;
74
77
  }
75
78
 
76
79
  var newParsedValue = rawValue === null ? null : utils.date(rawValue);
77
80
  var isAcceptedValue = rawValue === null || utils.isValid(newParsedValue);
81
+ var innerEqualsParsed = innerInputValue === null ? newParsedValue === null : newParsedValue !== null && Math.abs(utils.getDiff(innerInputValue, newParsedValue, 'seconds')) === 0;
78
82
 
79
- if (!localeHasChanged && (!isAcceptedValue || utils.isEqual(innerInputValue, newParsedValue))) {
83
+ if (!localeHasChanged && !inputFormatHasChanged && (!isAcceptedValue || innerEqualsParsed)) {
80
84
  return;
81
85
  } // When dev set a new valid value, we trust them
82
86
 
@@ -1,5 +1,4 @@
1
- import { getPickersLocalization } from './utils/getPickersLocalization'; // import { CalendarPickerView } from '../internals/models';
2
-
1
+ import { getPickersLocalization } from './utils/getPickersLocalization';
3
2
  var trTRPickers = {
4
3
  // Calendar navigation
5
4
  previousMonth: 'Önceki ay',
@@ -7,8 +6,12 @@ var trTRPickers = {
7
6
  // View navigation
8
7
  openPreviousView: 'sonraki görünüm',
9
8
  openNextView: 'önceki görünüm',
10
- // calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
11
- // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`,
9
+ calendarViewSwitchingButtonAriaLabel: function calendarViewSwitchingButtonAriaLabel(view) {
10
+ return view === 'year' ? 'yıl görünümü açık, takvim görünümüne geç' : 'takvim görünümü açık, yıl görünümüne geç';
11
+ },
12
+ inputModeToggleButtonAriaLabel: function inputModeToggleButtonAriaLabel(isKeyboardInputOpen, viewType) {
13
+ return isKeyboardInputOpen ? "metin giri\u015Fi g\xF6r\xFCn\xFCm\xFC a\xE7\u0131k, \u015Furaya gidin: ".concat(viewType, " g\xF6r\xFCn\xFCm\xFC") : "".concat(viewType, " g\xF6r\xFCn\xFCm a\xE7\u0131k, metin giri\u015Fi g\xF6r\xFCn\xFCm\xFCne gidin");
14
+ },
12
15
  // DateRange placeholders
13
16
  start: 'Başlangıç',
14
17
  end: 'Bitiş',
@@ -16,22 +19,34 @@ var trTRPickers = {
16
19
  cancelButtonLabel: 'iptal',
17
20
  clearButtonLabel: 'Temizle',
18
21
  okButtonLabel: 'Tamam',
19
- todayButtonLabel: 'Bugün' // Toolbar titles
20
- // datePickerDefaultToolbarTitle: 'Select date',
21
- // dateTimePickerDefaultToolbarTitle: 'Select date & time',
22
- // timePickerDefaultToolbarTitle: 'Select time',
23
- // dateRangePickerDefaultToolbarTitle: 'Select date range',
22
+ todayButtonLabel: 'Bugün',
23
+ // Toolbar titles
24
+ datePickerDefaultToolbarTitle: 'Tarih Seç',
25
+ dateTimePickerDefaultToolbarTitle: 'Tarih & Saat seç',
26
+ timePickerDefaultToolbarTitle: 'Saat seç',
27
+ dateRangePickerDefaultToolbarTitle: 'Tarih aralığı seçin',
24
28
  // Clock labels
25
- // clockLabelText: (view, time, adapter) => `Select ${view}. ${time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`}`,
26
- // hoursClockNumberText: hours => `${hours} hours`,
27
- // minutesClockNumberText: minutes => `${minutes} minutes`,
28
- // secondsClockNumberText: seconds => `${seconds} seconds`,
29
+ clockLabelText: function clockLabelText(view, time, adapter) {
30
+ return "".concat(view, " se\xE7. ").concat(time === null ? 'Zaman seçilmedi' : "Se\xE7ilen zaman: ".concat(adapter.format(time, 'fullTime')));
31
+ },
32
+ hoursClockNumberText: function hoursClockNumberText(hours) {
33
+ return "".concat(hours, " saat");
34
+ },
35
+ minutesClockNumberText: function minutesClockNumberText(minutes) {
36
+ return "".concat(minutes, " dakika");
37
+ },
38
+ secondsClockNumberText: function secondsClockNumberText(seconds) {
39
+ return "".concat(seconds, " saniye");
40
+ },
29
41
  // Open picker labels
30
- // openDatePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose date, selected date is ${utils.format(utils.date(rawValue)!, 'fullDate')}` : 'Choose date',
31
- // openTimePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose time, selected time is ${utils.format(utils.date(rawValue)!, 'fullTime')}` : 'Choose time',
42
+ openDatePickerDialogue: function openDatePickerDialogue(value, utils) {
43
+ return value !== null && utils.isValid(value) ? "Tarih se\xE7in, se\xE7ilen tarih: ".concat(utils.format(value, 'fullDate')) : 'Tarih seç';
44
+ },
45
+ openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
46
+ return value !== null && utils.isValid(value) ? "Saat se\xE7in, se\xE7ilen saat: ".concat(utils.format(value, 'fullTime')) : 'Saat seç';
47
+ },
32
48
  // Table labels
33
- // timeTableLabel: 'pick time',
34
- // dateTableLabel: 'pick date',
35
-
49
+ timeTableLabel: 'saat seç',
50
+ dateTableLabel: 'tarih seç'
36
51
  };
37
52
  export var trTR = getPickersLocalization(trTRPickers);
package/locales/trTR.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { CalendarPickerView } from '../internals/models';
1
2
  export declare const trTR: {
2
3
  components: {
3
4
  MuiLocalizationProvider: {
@@ -13,14 +14,14 @@ export declare const trTR: {
13
14
  todayButtonLabel?: string | undefined;
14
15
  start?: string | undefined;
15
16
  end?: string | undefined;
16
- calendarViewSwitchingButtonAriaLabel?: ((currentView: import("..").CalendarPickerView) => string) | undefined;
17
+ calendarViewSwitchingButtonAriaLabel?: ((currentView: CalendarPickerView) => string) | undefined;
17
18
  inputModeToggleButtonAriaLabel?: ((isKeyboardInputOpen: boolean, viewType: "calendar" | "clock") => string) | undefined;
18
- clockLabelText?: ((view: import("..").ClockPickerView, time: any, adapter: import("../internals").MuiPickersAdapter<any>) => string) | undefined;
19
+ clockLabelText?: ((view: import("../internals/models").ClockPickerView, time: any, adapter: import("../internals/models").MuiPickersAdapter<any>) => string) | undefined;
19
20
  hoursClockNumberText?: ((hours: string) => string) | undefined;
20
21
  minutesClockNumberText?: ((minutes: string) => string) | undefined;
21
22
  secondsClockNumberText?: ((seconds: string) => string) | undefined;
22
- openDatePickerDialogue?: ((date: any, utils: import("../internals").MuiPickersAdapter<any>) => string) | undefined;
23
- openTimePickerDialogue?: ((date: any, utils: import("../internals").MuiPickersAdapter<any>) => string) | undefined;
23
+ openDatePickerDialogue?: ((date: any, utils: import("../internals/models").MuiPickersAdapter<any>) => string) | undefined;
24
+ openTimePickerDialogue?: ((date: any, utils: import("../internals/models").MuiPickersAdapter<any>) => string) | undefined;
24
25
  timeTableLabel?: string | undefined;
25
26
  dateTableLabel?: string | undefined;
26
27
  datePickerDefaultToolbarTitle?: string | undefined;
package/locales/trTR.js CHANGED
@@ -1,5 +1,4 @@
1
- import { getPickersLocalization } from './utils/getPickersLocalization'; // import { CalendarPickerView } from '../internals/models';
2
-
1
+ import { getPickersLocalization } from './utils/getPickersLocalization';
3
2
  const trTRPickers = {
4
3
  // Calendar navigation
5
4
  previousMonth: 'Önceki ay',
@@ -7,8 +6,8 @@ const trTRPickers = {
7
6
  // View navigation
8
7
  openPreviousView: 'sonraki görünüm',
9
8
  openNextView: 'önceki görünüm',
10
- // calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
11
- // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`,
9
+ calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'yıl görünümü açık, takvim görünümüne geç' : 'takvim görünümü açık, yıl görünümüne geç',
10
+ inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `metin girişi görünümü açık, şuraya gidin: ${viewType} görünümü` : `${viewType} görünüm açık, metin girişi görünümüne gidin`,
12
11
  // DateRange placeholders
13
12
  start: 'Başlangıç',
14
13
  end: 'Bitiş',
@@ -16,22 +15,22 @@ const trTRPickers = {
16
15
  cancelButtonLabel: 'iptal',
17
16
  clearButtonLabel: 'Temizle',
18
17
  okButtonLabel: 'Tamam',
19
- todayButtonLabel: 'Bugün' // Toolbar titles
20
- // datePickerDefaultToolbarTitle: 'Select date',
21
- // dateTimePickerDefaultToolbarTitle: 'Select date & time',
22
- // timePickerDefaultToolbarTitle: 'Select time',
23
- // dateRangePickerDefaultToolbarTitle: 'Select date range',
18
+ todayButtonLabel: 'Bugün',
19
+ // Toolbar titles
20
+ datePickerDefaultToolbarTitle: 'Tarih Seç',
21
+ dateTimePickerDefaultToolbarTitle: 'Tarih & Saat seç',
22
+ timePickerDefaultToolbarTitle: 'Saat seç',
23
+ dateRangePickerDefaultToolbarTitle: 'Tarih aralığı seçin',
24
24
  // Clock labels
25
- // clockLabelText: (view, time, adapter) => `Select ${view}. ${time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`}`,
26
- // hoursClockNumberText: hours => `${hours} hours`,
27
- // minutesClockNumberText: minutes => `${minutes} minutes`,
28
- // secondsClockNumberText: seconds => `${seconds} seconds`,
25
+ clockLabelText: (view, time, adapter) => `${view} seç. ${time === null ? 'Zaman seçilmedi' : `Seçilen zaman: ${adapter.format(time, 'fullTime')}`}`,
26
+ hoursClockNumberText: hours => `${hours} saat`,
27
+ minutesClockNumberText: minutes => `${minutes} dakika`,
28
+ secondsClockNumberText: seconds => `${seconds} saniye`,
29
29
  // Open picker labels
30
- // openDatePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose date, selected date is ${utils.format(utils.date(rawValue)!, 'fullDate')}` : 'Choose date',
31
- // openTimePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose time, selected time is ${utils.format(utils.date(rawValue)!, 'fullTime')}` : 'Choose time',
30
+ openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Tarih seçin, seçilen tarih: ${utils.format(value, 'fullDate')}` : 'Tarih seç',
31
+ openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Saat seçin, seçilen saat: ${utils.format(value, 'fullTime')}` : 'Saat seç',
32
32
  // Table labels
33
- // timeTableLabel: 'pick time',
34
- // dateTableLabel: 'pick date',
35
-
33
+ timeTableLabel: 'saat seç',
34
+ dateTableLabel: 'tarih seç'
36
35
  };
37
36
  export const trTR = getPickersLocalization(trTRPickers);
@@ -196,23 +196,6 @@ export const CalendarPicker = /*#__PURE__*/React.forwardRef(function CalendarPic
196
196
 
197
197
  return onChange(day, isFinish);
198
198
  }, [utils, date, onChange]);
199
- React.useEffect(() => {
200
- if (date && isDateDisabled(date)) {
201
- const closestEnabledDate = findClosestEnabledDate({
202
- utils,
203
- date,
204
- minDate,
205
- maxDate,
206
- disablePast,
207
- disableFuture,
208
- isDateDisabled
209
- });
210
- onChange(closestEnabledDate, 'partial');
211
- } // This call is too expensive to run it on each prop change.
212
- // So just ensure that we are not rendering disabled as selected on mount.
213
-
214
- }, []); // eslint-disable-line
215
-
216
199
  React.useEffect(() => {
217
200
  if (date) {
218
201
  changeMonth(date);
@@ -102,7 +102,8 @@ const PickersDayFiller = styled('div', {
102
102
  ownerState
103
103
  }), {
104
104
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
105
- opacity: 0
105
+ opacity: 0,
106
+ pointerEvents: 'none'
106
107
  }));
107
108
 
108
109
  const noop = () => {};
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.4
1
+ /** @license MUI v5.0.6
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -49,20 +49,24 @@ export const useMaskedInput = ({
49
49
 
50
50
  const prevRawValue = React.useRef();
51
51
  const prevLocale = React.useRef(utils.locale);
52
+ const prevInputFormat = React.useRef(inputFormat);
52
53
  React.useEffect(() => {
53
54
  const rawValueHasChanged = rawValue !== prevRawValue.current;
54
55
  const localeHasChanged = utils.locale !== prevLocale.current;
56
+ const inputFormatHasChanged = inputFormat !== prevInputFormat.current;
55
57
  prevRawValue.current = rawValue;
56
58
  prevLocale.current = utils.locale;
59
+ prevInputFormat.current = inputFormat;
57
60
 
58
- if (!rawValueHasChanged && !localeHasChanged) {
61
+ if (!rawValueHasChanged && !localeHasChanged && !inputFormatHasChanged) {
59
62
  return;
60
63
  }
61
64
 
62
65
  const newParsedValue = rawValue === null ? null : utils.date(rawValue);
63
66
  const isAcceptedValue = rawValue === null || utils.isValid(newParsedValue);
67
+ const innerEqualsParsed = innerInputValue === null ? newParsedValue === null : newParsedValue !== null && Math.abs(utils.getDiff(innerInputValue, newParsedValue, 'seconds')) === 0;
64
68
 
65
- if (!localeHasChanged && (!isAcceptedValue || utils.isEqual(innerInputValue, newParsedValue))) {
69
+ if (!localeHasChanged && !inputFormatHasChanged && (!isAcceptedValue || innerEqualsParsed)) {
66
70
  return;
67
71
  } // When dev set a new valid value, we trust them
68
72
 
@@ -1,5 +1,4 @@
1
- import { getPickersLocalization } from './utils/getPickersLocalization'; // import { CalendarPickerView } from '../internals/models';
2
-
1
+ import { getPickersLocalization } from './utils/getPickersLocalization';
3
2
  const trTRPickers = {
4
3
  // Calendar navigation
5
4
  previousMonth: 'Önceki ay',
@@ -7,8 +6,8 @@ const trTRPickers = {
7
6
  // View navigation
8
7
  openPreviousView: 'sonraki görünüm',
9
8
  openNextView: 'önceki görünüm',
10
- // calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
11
- // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`,
9
+ calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'yıl görünümü açık, takvim görünümüne geç' : 'takvim görünümü açık, yıl görünümüne geç',
10
+ inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `metin girişi görünümü açık, şuraya gidin: ${viewType} görünümü` : `${viewType} görünüm açık, metin girişi görünümüne gidin`,
12
11
  // DateRange placeholders
13
12
  start: 'Başlangıç',
14
13
  end: 'Bitiş',
@@ -16,22 +15,22 @@ const trTRPickers = {
16
15
  cancelButtonLabel: 'iptal',
17
16
  clearButtonLabel: 'Temizle',
18
17
  okButtonLabel: 'Tamam',
19
- todayButtonLabel: 'Bugün' // Toolbar titles
20
- // datePickerDefaultToolbarTitle: 'Select date',
21
- // dateTimePickerDefaultToolbarTitle: 'Select date & time',
22
- // timePickerDefaultToolbarTitle: 'Select time',
23
- // dateRangePickerDefaultToolbarTitle: 'Select date range',
18
+ todayButtonLabel: 'Bugün',
19
+ // Toolbar titles
20
+ datePickerDefaultToolbarTitle: 'Tarih Seç',
21
+ dateTimePickerDefaultToolbarTitle: 'Tarih & Saat seç',
22
+ timePickerDefaultToolbarTitle: 'Saat seç',
23
+ dateRangePickerDefaultToolbarTitle: 'Tarih aralığı seçin',
24
24
  // Clock labels
25
- // clockLabelText: (view, time, adapter) => `Select ${view}. ${time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`}`,
26
- // hoursClockNumberText: hours => `${hours} hours`,
27
- // minutesClockNumberText: minutes => `${minutes} minutes`,
28
- // secondsClockNumberText: seconds => `${seconds} seconds`,
25
+ clockLabelText: (view, time, adapter) => `${view} seç. ${time === null ? 'Zaman seçilmedi' : `Seçilen zaman: ${adapter.format(time, 'fullTime')}`}`,
26
+ hoursClockNumberText: hours => `${hours} saat`,
27
+ minutesClockNumberText: minutes => `${minutes} dakika`,
28
+ secondsClockNumberText: seconds => `${seconds} saniye`,
29
29
  // Open picker labels
30
- // openDatePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose date, selected date is ${utils.format(utils.date(rawValue)!, 'fullDate')}` : 'Choose date',
31
- // openTimePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose time, selected time is ${utils.format(utils.date(rawValue)!, 'fullTime')}` : 'Choose time',
30
+ openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Tarih seçin, seçilen tarih: ${utils.format(value, 'fullDate')}` : 'Tarih seç',
31
+ openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Saat seçin, seçilen saat: ${utils.format(value, 'fullTime')}` : 'Saat seç',
32
32
  // Table labels
33
- // timeTableLabel: 'pick time',
34
- // dateTableLabel: 'pick date',
35
-
33
+ timeTableLabel: 'saat seç',
34
+ dateTableLabel: 'tarih seç'
36
35
  };
37
36
  export const trTR = getPickersLocalization(trTRPickers);
@@ -227,23 +227,6 @@ const CalendarPicker = /*#__PURE__*/React.forwardRef(function CalendarPicker(inP
227
227
 
228
228
  return onChange(day, isFinish);
229
229
  }, [utils, date, onChange]);
230
- React.useEffect(() => {
231
- if (date && isDateDisabled(date)) {
232
- const closestEnabledDate = (0, _dateUtils.findClosestEnabledDate)({
233
- utils,
234
- date,
235
- minDate,
236
- maxDate,
237
- disablePast,
238
- disableFuture,
239
- isDateDisabled
240
- });
241
- onChange(closestEnabledDate, 'partial');
242
- } // This call is too expensive to run it on each prop change.
243
- // So just ensure that we are not rendering disabled as selected on mount.
244
-
245
- }, []); // eslint-disable-line
246
-
247
230
  React.useEffect(() => {
248
231
  if (date) {
249
232
  changeMonth(date);
@@ -129,7 +129,8 @@ const PickersDayFiller = (0, _styles.styled)('div', {
129
129
  ownerState
130
130
  }), {
131
131
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
132
- opacity: 0
132
+ opacity: 0,
133
+ pointerEvents: 'none'
133
134
  }));
134
135
 
135
136
  const noop = () => {};
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.4
1
+ /** @license MUI v5.0.6
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -67,20 +67,24 @@ const useMaskedInput = ({
67
67
 
68
68
  const prevRawValue = React.useRef();
69
69
  const prevLocale = React.useRef(utils.locale);
70
+ const prevInputFormat = React.useRef(inputFormat);
70
71
  React.useEffect(() => {
71
72
  const rawValueHasChanged = rawValue !== prevRawValue.current;
72
73
  const localeHasChanged = utils.locale !== prevLocale.current;
74
+ const inputFormatHasChanged = inputFormat !== prevInputFormat.current;
73
75
  prevRawValue.current = rawValue;
74
76
  prevLocale.current = utils.locale;
77
+ prevInputFormat.current = inputFormat;
75
78
 
76
- if (!rawValueHasChanged && !localeHasChanged) {
79
+ if (!rawValueHasChanged && !localeHasChanged && !inputFormatHasChanged) {
77
80
  return;
78
81
  }
79
82
 
80
83
  const newParsedValue = rawValue === null ? null : utils.date(rawValue);
81
84
  const isAcceptedValue = rawValue === null || utils.isValid(newParsedValue);
85
+ const innerEqualsParsed = innerInputValue === null ? newParsedValue === null : newParsedValue !== null && Math.abs(utils.getDiff(innerInputValue, newParsedValue, 'seconds')) === 0;
82
86
 
83
- if (!localeHasChanged && (!isAcceptedValue || utils.isEqual(innerInputValue, newParsedValue))) {
87
+ if (!localeHasChanged && !inputFormatHasChanged && (!isAcceptedValue || innerEqualsParsed)) {
84
88
  return;
85
89
  } // When dev set a new valid value, we trust them
86
90
 
@@ -7,7 +7,6 @@ exports.trTR = void 0;
7
7
 
8
8
  var _getPickersLocalization = require("./utils/getPickersLocalization");
9
9
 
10
- // import { CalendarPickerView } from '../internals/models';
11
10
  const trTRPickers = {
12
11
  // Calendar navigation
13
12
  previousMonth: 'Önceki ay',
@@ -15,8 +14,8 @@ const trTRPickers = {
15
14
  // View navigation
16
15
  openPreviousView: 'sonraki görünüm',
17
16
  openNextView: 'önceki görünüm',
18
- // calendarViewSwitchingButtonAriaLabel: (view: CalendarPickerView) => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
19
- // inputModeToggleButtonAriaLabel: (isKeyboardInputOpen: boolean, viewType: 'calendar' | 'clock') => isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`,
17
+ calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'yıl görünümü açık, takvim görünümüne geç' : 'takvim görünümü açık, yıl görünümüne geç',
18
+ inputModeToggleButtonAriaLabel: (isKeyboardInputOpen, viewType) => isKeyboardInputOpen ? `metin girişi görünümü açık, şuraya gidin: ${viewType} görünümü` : `${viewType} görünüm açık, metin girişi görünümüne gidin`,
20
19
  // DateRange placeholders
21
20
  start: 'Başlangıç',
22
21
  end: 'Bitiş',
@@ -24,23 +23,23 @@ const trTRPickers = {
24
23
  cancelButtonLabel: 'iptal',
25
24
  clearButtonLabel: 'Temizle',
26
25
  okButtonLabel: 'Tamam',
27
- todayButtonLabel: 'Bugün' // Toolbar titles
28
- // datePickerDefaultToolbarTitle: 'Select date',
29
- // dateTimePickerDefaultToolbarTitle: 'Select date & time',
30
- // timePickerDefaultToolbarTitle: 'Select time',
31
- // dateRangePickerDefaultToolbarTitle: 'Select date range',
26
+ todayButtonLabel: 'Bugün',
27
+ // Toolbar titles
28
+ datePickerDefaultToolbarTitle: 'Tarih Seç',
29
+ dateTimePickerDefaultToolbarTitle: 'Tarih & Saat seç',
30
+ timePickerDefaultToolbarTitle: 'Saat seç',
31
+ dateRangePickerDefaultToolbarTitle: 'Tarih aralığı seçin',
32
32
  // Clock labels
33
- // clockLabelText: (view, time, adapter) => `Select ${view}. ${time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`}`,
34
- // hoursClockNumberText: hours => `${hours} hours`,
35
- // minutesClockNumberText: minutes => `${minutes} minutes`,
36
- // secondsClockNumberText: seconds => `${seconds} seconds`,
33
+ clockLabelText: (view, time, adapter) => `${view} seç. ${time === null ? 'Zaman seçilmedi' : `Seçilen zaman: ${adapter.format(time, 'fullTime')}`}`,
34
+ hoursClockNumberText: hours => `${hours} saat`,
35
+ minutesClockNumberText: minutes => `${minutes} dakika`,
36
+ secondsClockNumberText: seconds => `${seconds} saniye`,
37
37
  // Open picker labels
38
- // openDatePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose date, selected date is ${utils.format(utils.date(rawValue)!, 'fullDate')}` : 'Choose date',
39
- // openTimePickerDialogue: (rawValue, utils) => rawValue && utils.isValid(utils.date(rawValue)) ? `Choose time, selected time is ${utils.format(utils.date(rawValue)!, 'fullTime')}` : 'Choose time',
38
+ openDatePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Tarih seçin, seçilen tarih: ${utils.format(value, 'fullDate')}` : 'Tarih seç',
39
+ openTimePickerDialogue: (value, utils) => value !== null && utils.isValid(value) ? `Saat seçin, seçilen saat: ${utils.format(value, 'fullTime')}` : 'Saat seç',
40
40
  // Table labels
41
- // timeTableLabel: 'pick time',
42
- // dateTableLabel: 'pick date',
43
-
41
+ timeTableLabel: 'saat seç',
42
+ dateTableLabel: 'tarih seç'
44
43
  };
45
44
  const trTR = (0, _getPickersLocalization.getPickersLocalization)(trTRPickers);
46
45
  exports.trTR = trTR;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "5.0.4",
3
+ "version": "5.0.6",
4
4
  "description": "The community edition of the date picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -31,9 +31,10 @@ import {
31
31
  PickerStaticWrapperProps,
32
32
  ExportedCalendarHeaderProps,
33
33
  } from '../internals';
34
+ import { CalendarOrClockPickerView } from '../internals/models';
34
35
 
35
36
  export interface PickersComponentsPropsList {
36
- MuiCalendarOrClockPicker: CalendarOrClockPickerProps<unknown, unknown>;
37
+ MuiCalendarOrClockPicker: CalendarOrClockPickerProps<unknown, CalendarOrClockPickerView>;
37
38
  MuiCalendarPicker: CalendarPickerProps<unknown>;
38
39
  MuiCalendarPickerSkeleton: CalendarPickerSkeletonProps;
39
40
  MuiClock: ClockProps<unknown>;