Skip to content

v7.0.0-alpha.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@DanailH DanailH released this 04 Dec 12:29
· 542 commits to next since this release
dddfa61

We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:

  • 🚀 Support localized start of the week on pickers' AdapterLuxon

    When using Luxon 3.4.4 or higher, the start of the week will be defined by the date locale (e.g.: Sunday for en-US, Monday for fr-FR).

  • 📈 Fix a lot of Charts package issues

  • 🎉 The Data Grid features Cell selection and Clipboard paste are now stable

  • 🌍 Improve Bulgarian (bg-BG) locale on Data Grid

  • 🐞 Bugfixes

  • 📚 Documentation improvements

Data Grid

Breaking changes

  • The clipboard paste feature is now enabled by default. The flag clipboardPaste is no longer needed to be passed to the experimentalFeatures prop.

  • The clipboard-related exports ignoreValueFormatterDuringExport and splitClipboardPastedText are no longer prefixed with unstable_.

  • The deprecated constants SUBMIT_FILTER_STROKE_TIME and SUBMIT_FILTER_DATE_STROKE_TIME have been removed from the DataGrid exports. Use the filterDebounceMs prop to customize filter debounce time.

  • The slots.preferencesPanel slot and the slotProps.preferencesPanel prop were removed. Use slots.panel and slotProps.panel instead.

  • The GridPreferencesPanel component is not exported anymore as it wasn't meant to be used outside of the Data Grid.

  • The unstable_ prefix has been removed from the cell selection props listed below.

    Old name New name
    unstable_cellSelection cellSelection
    unstable_cellSelectionModel cellSelectionModel
    unstable_onCellSelectionModelChange onCellSelectionModelChange
  • The unstable_ prefix has been removed from the cell selection API methods listed below.

    Old name New name
    unstable_getCellSelectionModel getCellSelectionModel
    unstable_getSelectedCellsAsArray getSelectedCellsAsArray
    unstable_isCellSelected isCellSelected
    unstable_selectCellRange selectCellRange
    unstable_setCellSelectionModel setCellSelectionModel
  • The Quick Filter now ignores hidden columns by default.
    See including hidden columns section for more details.

@mui/[email protected]

@mui/[email protected] pro

Same changes as in @mui/[email protected].

@mui/[email protected] premium

Same changes as in @mui/[email protected], plus:

Date Pickers

Breaking changes

  • The Date and Time Pickers now use the localized week when using AdapterLuxon and Luxon v3.4.4 or higher is installed.
    This new behavior allows AdapterLuxon to have the same behavior as the other adapters.
    If you want to keep the start of the week on Monday even if your locale says otherwise, you can hardcode the week settings as follows:
    The Firefox browser currently does not support this behavior because the getWeekInfo API is not yet implemented.

    import { Settings } from 'luxon';
    
    Settings.defaultWeekSettings = {
      firstDay: 1,
      minimalDays: Info.getMinimumDaysInFirstWeek(),
      weekend: [6, 7],
    };
  • Add new parameters to the shortcuts slot onChange callback

    The onChange callback fired when selecting a shortcut now requires two new parameters (previously they were optional):

    • The changeImportance of the shortcut.
    • The item containing the entire shortcut object.
     const CustomShortcuts = (props) => {
       return (
         <React.Fragment>
           {props.items.map(item => {
             const value = item.getValue({ isValid: props.isValid });
             return (
               <button
    -            onClick={() => onChange(value)}
    +            onClick={() => onChange(value, props.changeImportance ?? 'accept', item)}
               >
                 {value}
               </button>
             )
           }}
         </React.Fragment>
       )
     }
    
     <DatePicker slots={{ shortcuts: CustomShortcuts }} />
    • Usage of AdapterDayjs with the customParseFormat plugin
      The call to dayjs.extend(customParseFormatPlugin) has been moved to the AdapterDayjs constructor. This allows users to pass custom options to this plugin before the adapter uses it.

    If you are using this plugin before the rendering of the first LocalizationProvider component and did not call dayjs.extend in your own codebase, you will need to manually extend dayjs:

    import dayjs from 'dayjs';
    import customParseFormatPlugin from 'dayjs/plugin/customParseFormat';
    
    dayjs.extend(customParseFormatPlugin);

    The other plugins are still added before the adapter initialization.

@mui/[email protected]

@mui/[email protected] pro

Same changes as in @mui/[email protected].

Charts / @mui/[email protected]

Docs

Core