Skip to content

Commit 630b67d

Browse files
Merge branch 'master' into fix/rating-test-with-user-event
2 parents b7804d9 + 44ba5f7 commit 630b67d

File tree

185 files changed

+1153
-1047
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

185 files changed

+1153
-1047
lines changed

.circleci/config.yml

-6
Original file line numberDiff line numberDiff line change
@@ -258,12 +258,6 @@ jobs:
258258
- run:
259259
name: '`pnpm proptypes` changes committed?'
260260
command: git add -A && git diff --exit-code --staged
261-
- run:
262-
name: 'Write "use client" directive'
263-
command: pnpm rsc:build
264-
- run:
265-
name: '`pnpm rsc:build` changes committed?'
266-
command: git add -A && git diff --exit-code --staged
267261
- run:
268262
name: Generate the documentation
269263
command: pnpm docs:api

.eslintrc.js

+18
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ module.exports = /** @type {Config} */ ({
343343
patterns: NO_RESTRICTED_IMPORTS_PATTERNS_DEEPLY_NESTED,
344344
},
345345
],
346+
'no-irregular-whitespace': ['error', { skipJSXText: true, skipStrings: true }],
346347
},
347348
},
348349
{
@@ -407,6 +408,21 @@ module.exports = /** @type {Config} */ ({
407408
'react/prop-types': 'off',
408409
},
409410
},
411+
{
412+
files: ['packages/*/src/*/*.?(c|m)[jt]s?(x)'],
413+
excludedFiles: [
414+
'*.spec.*',
415+
'*.test.*',
416+
// deprecated library
417+
'**/mui-base/**/*',
418+
'**/mui-joy/**/*',
419+
// used internally, not used on app router yet
420+
'**/mui-docs/**/*',
421+
],
422+
rules: {
423+
'material-ui/disallow-react-api-in-server-components': 'error',
424+
},
425+
},
410426
{
411427
files: ['packages/*/src/**/*.?(c|m)[jt]s?(x)'],
412428
excludedFiles: '*.spec.*',
@@ -519,6 +535,7 @@ module.exports = /** @type {Config} */ ({
519535
'import/no-default-export': 'error',
520536
'import/prefer-default-export': 'off',
521537
'react-compiler/react-compiler': 'off',
538+
'no-irregular-whitespace': ['error', { skipComments: true }],
522539
},
523540
},
524541
{
@@ -544,6 +561,7 @@ module.exports = /** @type {Config} */ ({
544561
// Reset the default until https://github.com/jsx-eslint/eslint-plugin-react/issues/3672 is fixed.
545562
'react/jsx-no-target-blank': ['error', { allowReferrer: false }],
546563
'react/prop-types': 'off',
564+
'no-irregular-whitespace': ['error', { skipJSXText: true, skipStrings: true }],
547565
},
548566
},
549567
{

CHANGELOG.md

+42
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,47 @@
11
# [Versions](https://mui.com/versions/)
22

3+
## 6.4.1
4+
5+
<!-- generated comparing v6.4.0..master -->
6+
7+
_Jan 21, 2025_
8+
9+
A big thanks to the 9 contributors who made this release possible.
10+
11+
12+
13+
- [ButtonBase] Export types used in ButtonBase props (#43530) @Janpot
14+
- [Dialog] Add slots and slotProps (#44792) @sai6855
15+
- [Drawer] Deprecate composed classes (#44870) @yash49
16+
- [IconButton] Set default loading to `null` (#45057) @siriwatknp
17+
- [ListItem] Add codemod for deprecated props (#45022) @sai6855
18+
- [Modal] Add migration guide and codemod for deprecated props (#45021) @sai6855
19+
- [TextField] Fix filled state to be synced with autofill (#44135) @DiegoAndai
20+
21+
22+
23+
- Fix dark mode flicker using `useEnhancedEffect` (#44812) @siriwatknp
24+
25+
26+
27+
- Do not deep merge React component (#45058) @siriwatknp
28+
29+
### Docs
30+
31+
- Fix typo (#45070) @Fullchee
32+
- Improve Toolpad templates section (#44914) @bharatkashyap
33+
- Fix expand / collapse icons orientation (#44989) @zanivan
34+
- Rename "Base UI" to "MUI Base" in all text (#45060) @mj12albert
35+
- Add @mui/base deprecation callout (#45030) @mj12albert
36+
- Update @mui/base deprecation message (#45064) @mj12albert
37+
38+
### Core
39+
40+
- [code-infra] Add "use client" directive to files with React APIs (#45036) @Janpot
41+
- [docs] 301 redirect `/base-ui` to `base-ui.com` (#45061) @mj12albert
42+
43+
All contributors of this release in alphabetical order: @bharatkashyap, @DiegoAndai, @Fullchee, @Janpot, @mj12albert, @sai6855, @siriwatknp, @yash49, @zanivan
44+
345
## 6.4.0
446

547
<!-- generated comparing v6.3.1..master -->

CHANGELOG.old.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -3151,7 +3151,7 @@ A big thanks to the 12 contributors who made this release possible. Here are som
31513151
- [docs][base] Remove usage of `component` prop in docs (#37462) @sai6855
31523152
- [docs] Fix docs redirections @oliviertassinari
31533153
- [docs] Fix Fluent -> Fluent UI @oliviertassinari
3154-
- [docs] Fix MUI Base -> Base UI @oliviertassinari
3154+
- [docs] Fix MUI Base -> Base UI @oliviertassinari
31553155
- [docs] Add base-vite-tailwind example repo (#36994) @mj12albert
31563156
- [docs] Fix search bar layout shift (#37460) @oliviertassinari
31573157
- [docs] Tweak Material UI's "Showcase" page design (#37259) @danilo-leal
@@ -3366,7 +3366,7 @@ A big thanks to the 18 contributors who made this release possible. Here are som
33663366

33673367
### Core
33683368

3369-
- [blog] Fix images using "MUI Base" instead of "Base UI" (#37044) @danilo-leal
3369+
- [blog] Fix images using "MUI Base" instead of "Base UI" (#37044) @danilo-leal
33703370
- [core] Add VS Code extensions recommendations (#37166) @michaldudak
33713371
- [test] `e2e-website` related minor fixes (#37204) @ZeeshanTamboli
33723372

@@ -3671,7 +3671,7 @@ A big thanks to the 9 contributors who made this release possible. Here are some
36713671
### Core
36723672

36733673
- [core] Increase margin to scroll @oliviertassinari
3674-
- [core] Replace MUI Base with Base UI (#36716) @mnajdova
3674+
- [core] Replace MUI Base with Base UI (#36716) @mnajdova
36753675

36763676
All contributors of this release in alphabetical order: @alirezahekmati, @danilo-leal, @hbjORbj, @Lioness100, @mnajdova, @oliviertassinari, @sai6855, @siriwatknp, @ZeeshanTamboli
36773677

@@ -3711,7 +3711,7 @@ A big thanks to the 17 contributors who made this release possible. Here are som
37113711
- [docs][base] Move styles to the bottom of demos code for `Menu` (#36582) @gitstart
37123712
- [docs][base] Move styles code to bottom in the `Button` demos (#36590) @sai6855
37133713
- [docs][base] Show components & hooks API on the components page (#35938) @mnajdova
3714-
- [docs] Describe slotProps in MUI Base customization doc (#36206) @michaldudak
3714+
- [docs] Describe slotProps in MUI Base customization doc (#36206) @michaldudak
37153715
- [docs] Fix double API page redirection (#36743) @oliviertassinari
37163716
- [docs] Remove hash property and leverage pathname (#36764) @siriwatknp
37173717
- [docs] Introduce markdown permalink to source (#36729) @oliviertassinari

apps/pigment-css-vite-app/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"@vitejs/plugin-react": "^4.3.4",
3535
"postcss": "^8.4.49",
3636
"postcss-combine-media-query": "^1.0.1",
37-
"vite": "5.4.11",
37+
"vite": "5.4.12",
3838
"vite-plugin-node-polyfills": "0.22.0",
3939
"vite-plugin-pages": "^0.32.4"
4040
},

babel.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ module.exports = function getBabelConfig(api) {
149149
ignore: [/@babel[\\|/]runtime/], // Fix a Windows issue.
150150
overrides: [
151151
{
152-
exclude: /\.test\.(js|ts|tsx)$/,
152+
exclude: /\.test\.(m?js|ts|tsx)$/,
153153
plugins: ['@babel/plugin-transform-react-constant-elements'],
154154
},
155155
{

docs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Docs
22

3-
This is the website of the company (MUI), the documentation of Material UI, Base UI, MUI System, and Joy UI.
3+
This is the website of the company (MUI), the documentation of Material UI, MUI Base, MUI System, and Joy UI.
44

55
To start the docs site in development mode, from the project root, run:
66

docs/config.d.ts

-7
This file was deleted.

docs/config.js docs/config.ts

+4-11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// Valid languages to server-side render in production
2-
const LANGUAGES = ['en'];
2+
export const LANGUAGES = ['en'];
33

44
// Server side rendered languages
5-
const LANGUAGES_SSR = ['en'];
5+
export const LANGUAGES_SSR = ['en'];
66

77
// Work in progress
8-
const LANGUAGES_IN_PROGRESS = LANGUAGES.slice();
8+
export const LANGUAGES_IN_PROGRESS = LANGUAGES.slice();
99

10-
const LANGUAGES_IGNORE_PAGES = (pathname) => {
10+
export const LANGUAGES_IGNORE_PAGES = (pathname: string) => {
1111
// We don't have the bandwidth like Qt to translate our blog posts
1212
// https://www.qt.io/zh-cn/blog
1313
if (pathname === '/blog' || pathname.startsWith('/blog/')) {
@@ -20,10 +20,3 @@ const LANGUAGES_IGNORE_PAGES = (pathname) => {
2020

2121
return false;
2222
};
23-
24-
module.exports = {
25-
LANGUAGES,
26-
LANGUAGES_IN_PROGRESS,
27-
LANGUAGES_SSR,
28-
LANGUAGES_IGNORE_PAGES,
29-
};
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Base UI components
1+
# MUI Base components
22

3-
<p class="description">Every Base UI component available so far, sorted alphabetically.</p>
3+
<p class="description">Every MUI Base component available so far, sorted alphabetically.</p>
44

55
{{"component": "modules/components/BaseUIComponents.js"}}

docs/data/base/components/accordion/accordion.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ productId: base-ui
33
title: React Accordion component
44
githubLabel: 'component: accordion'
55
waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/accordion/
6+
newUrl: https://base-ui.com/react/components/accordion
7+
newName: Accordion
68
---
79

8-
# Accordion 🚧
10+
# Accordion
911

1012
<p class="description">Accordions let users show and hide sections of related content on a page.</p>
11-
12-
:::warning
13-
The Base UI Accordion component isn't available yet, but you can upvote [this GitHub issue](https://github.com/mui/base-ui/issues/25) to see it arrive sooner.
14-
:::

docs/data/base/components/autocomplete/autocomplete.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/
1818

1919
An autocomplete component is an enhanced text input that shows a list of suggested options as users type and lets them select an option from the list.
2020

21-
Base UI provides the `useAutocomplete` hook for building a custom Autocomplete.
21+
MUI Base provides the `useAutocomplete` hook for building a custom Autocomplete.
2222
It implements the WAI-ARIA Combobox pattern and is typically used to assist users in completing form inputs or search queries faster.
2323

2424
{{"demo": "AutocompleteIntroduction", "defaultCodeOpen": false, "bg": "gradient"}}
@@ -102,9 +102,9 @@ Learn more about controlled and uncontrolled components in the [React documentat
102102

103103
React Portals can be used to render the listbox outside of the DOM hierarchy, making it easier to allow it to "float" above adjacent elements.
104104

105-
Base UI provides a [Popper](/base-ui/react-popper/) component built around React's `createPortal()` for exactly this purpose, and additionally helps you manage keyboard focus as it moves in and out of the portal.
105+
MUI Base provides a [Popper](/base-ui/react-popper/) component built around React's `createPortal()` for exactly this purpose, and additionally helps you manage keyboard focus as it moves in and out of the portal.
106106

107-
To render the listbox in Base UI's Popper, the `ref`s must be merged as follows:
107+
To render the listbox in MUI Base's Popper, the `ref`s must be merged as follows:
108108

109109
```jsx
110110
import { useAutocomplete } from '@mui/base/useAutocomplete';

docs/data/base/components/button/button.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ You can even use SVGs, as shown in the demo below:
127127

128128
### Using with links
129129

130-
The following demo illustrates how to use the Button as a link, whether using the Base UI Button itself for the `href`, or with the [Next.js Link component](https://nextjs.org/docs/pages/api-reference/components/link):
130+
The following demo illustrates how to use the Button as a link, whether using the MUI Base Button itself for the `href`, or with the [Next.js Link component](https://nextjs.org/docs/pages/api-reference/components/link):
131131

132132
{{"demo": "UnstyledLinkButton.js", "defaultCodeOpen": true}}
133133

@@ -142,7 +142,7 @@ Instead, `aria-disabled` is used, which makes the Button focusable.
142142

143143
This should be used whenever the disabled Button needs to be read by screen readers.
144144

145-
Base UI uses this prop internally in [menu items](/base-ui/react-menu/), making it possible to use the keyboard to navigate to disabled items (in compliance with [ARIA guidelines](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols)).
145+
MUI Base uses this prop internally in [menu items](/base-ui/react-menu/), making it possible to use the keyboard to navigate to disabled items (in compliance with [ARIA guidelines](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols)).
146146

147147
The following demo shows how the `focusableWhenDisabled` prop works—use the <kbd class="key">Tab</kbd> key to navigate within this document to see that only the second Button accepts the focus:
148148

docs/data/base/components/checkbox/checkbox.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ productId: base-ui
33
title: React Checkbox component
44
githubLabel: 'component: checkbox'
55
waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/checkbox/
6+
newUrl: https://base-ui.com/react/components/checkbox
7+
newName: Checkbox
68
---
79

8-
# Checkbox 🚧
10+
# Checkbox
911

1012
<p class="description">Checkboxes give users binary choices when presented with multiple options in a series.</p>
11-
12-
:::warning
13-
The Base UI Checkbox component isn't available yet, but you can upvote [this GitHub issue](https://github.com/mui/base-ui/issues/24) to see it arrive sooner.
14-
:::

docs/data/base/components/drawer/drawer.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ title: React Drawer component
44
githubLabel: 'component: drawer'
55
---
66

7-
# Drawer 🚧
7+
# Drawer
88

99
<p class="description">Navigation drawers (also known as sidebars) provide ergonomic access to different destinations without taking the user out of context.</p>
1010

11-
:::warning
12-
The Base UI Drawer component isn't available yet, but you can upvote [this GitHub issue](https://github.com/mui/base-ui/issues/38) to see it arrive sooner.
11+
:::error
12+
@mui/base has been deprecated and replaced by MUI Base. Please follow [this GitHub issue](https://github.com/mui/base-ui/issues/38) to track the development of the Drawer component.
1313
:::

docs/data/base/components/form-control/form-control.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ title: React Form Control component and hook
44
components: FormControl
55
hooks: useFormControlContext
66
githubLabel: 'component: FormControl'
7+
newUrl: https://base-ui.com/react/components/field
8+
newName: Field
79
---
810

911
# Form Control

docs/data/base/components/input/input.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ title: React Input component and hook
44
components: Input
55
hooks: useInput
66
githubLabel: 'component: input'
7+
newUrl: https://base-ui.com/react/components/input
8+
newName: Input
79
---
810

911
# Input

docs/data/base/components/menu/menu.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ components: Menu, MenuItem, MenuButton, Dropdown
55
hooks: useMenu, useMenuItem, useMenuButton, useDropdown, useMenuItemContextStabilizer
66
githubLabel: 'component: menu'
77
waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/
8+
newUrl: https://base-ui.com/react/components/menu
9+
newName: Menu
810
---
911

1012
# Menu
@@ -17,7 +19,7 @@ waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/
1719

1820
## Introduction
1921

20-
The Base UI Dropdown Menu is implemented using a collection of related components:
22+
The MUI Base Dropdown Menu is implemented using a collection of related components:
2123

2224
- Dropdown - The outermost container that houses all Menu components.
2325
- Menu Button - The button that toggles the visibility of the Menu.

docs/data/base/components/modal/modal.md

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ components: Modal
55
hooks: useModal
66
githubLabel: 'component: modal'
77
waiAria: https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
8+
newUrl: https://base-ui.com/react/components/dialog
9+
newName: Dialog
810
---
911

1012
# Modal

docs/data/base/components/number-input/number-input.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ title: React Number Input component and hook
44
components: NumberInput
55
hooks: useNumberInput
66
githubLabel: 'component: number input'
7+
newUrl: https://base-ui.com/react/components/number-field
8+
newName: Number Field
79
---
810

911
# Number Input
@@ -17,7 +19,7 @@ githubLabel: 'component: number input'
1719
## Introduction
1820

1921
A number input is a UI element that accepts numeric values from the user.
20-
Base UI's Number Input component is a customizable replacement for the native HTML `<input type="number">` that solves common usability issues of its native counterpart, such as:
22+
MUI Base's Number Input component is a customizable replacement for the native HTML `<input type="number">` that solves common usability issues of its native counterpart, such as:
2123

2224
- Inconsistencies across browsers in the appearance and behavior of the stepper buttons
2325
- Allowing certain non-numeric characters ('e', '+', '-', '.') and silently discarding others
@@ -41,7 +43,7 @@ The following demo shows how to create a Number Input component, apply some styl
4143

4244
### Anatomy
4345

44-
The Base UI Number Input component consists of four slots:
46+
The MUI Base Number Input component consists of four slots:
4547

4648
- `root`: an outer `<div>` containing the other interior slots
4749
- `input`: an `<input>` element
@@ -137,7 +139,7 @@ If you only define one or the other, the opposite end of the range will be open-
137139

138140
```
139141

140-
The demo below shows a Number Input with a an accepted range of 1 to 99:
142+
The demo below shows a Number Input with an accepted range of 1 to 99:
141143

142144
{{"demo": "QuantityInput.js", "defaultCodeOpen": false}}
143145

docs/data/base/components/pagination/pagination.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ githubLabel: 'component: Pagination'
88

99
<p class="description">The Pagination component lets the user select a specific page from a range of pages.</p>
1010

11-
:::warning
12-
The Base UI Pagination component isn't available yet, but you can upvote [this GitHub issue](https://github.com/mui/base-ui/issues/29) to see it arrive sooner.
11+
:::error
12+
@mui/base has been deprecated and replaced by MUI Base. Please follow [this GitHub issue](https://github.com/mui/base-ui/issues/29) to track the development of the Pagination component.
1313
:::

0 commit comments

Comments
 (0)