Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[core] Add exports field to packages #41596

Closed
wants to merge 23 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
1646c6f
Initial commit from POC changes
DiegoAndai Mar 21, 2024
365aaea
Fix @app/next-app build
DiegoAndai Mar 21, 2024
a8a9c75
Refactor exports field flag
DiegoAndai Mar 21, 2024
330c04b
Update mui-material/src/styles/index.d.ts
DiegoAndai Mar 21, 2024
f3f6a46
Refactor build structure check and exports field computation
DiegoAndai Mar 22, 2024
bf84a60
Add `@mui/types` exports field
DiegoAndai Mar 22, 2024
91383ac
Breaking changes guide
DiegoAndai Mar 27, 2024
222eef3
Merge branch 'next' into add-exports-field
DiegoAndai Apr 10, 2024
bee0004
Refactor to add compatibility mode with previous configuration
DiegoAndai Apr 10, 2024
9b37c2a
Add modern export to exports field
DiegoAndai Apr 11, 2024
d7d133d
pnpm dedupe
DiegoAndai Apr 12, 2024
a28200d
pnpm prettier
DiegoAndai Apr 12, 2024
9fe59d8
Update broken link
DiegoAndai Apr 12, 2024
74cb37c
Exclude codemod and docs packages from exports format
DiegoAndai Apr 12, 2024
6bda919
pnpm dedupe
DiegoAndai Apr 12, 2024
6bad76d
Merge branch 'next' into add-exports-field
DiegoAndai Apr 15, 2024
5d0050b
pnpm install / pnpm dedupe
DiegoAndai Apr 15, 2024
35a501e
Merge branch 'next' into add-exports-field
DiegoAndai Apr 15, 2024
90a3325
Change "modern" custom export to "mui-moder"
DiegoAndai Apr 16, 2024
b94b4a6
Make exports field opt-in instead of opt-out
DiegoAndai Apr 16, 2024
6964f8b
Merge branch 'next' into add-exports-field
DiegoAndai Apr 16, 2024
7442410
Remove 'use client' directive from index files
DiegoAndai Apr 18, 2024
fb7a4ff
Exclude material-nextjs from exports format build
DiegoAndai Apr 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion apps/pigment-css-vite-app/src/Slider/ZeroSlider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
import { isHostComponent, useSlotProps } from '@mui/base/utils';
import { styled } from '@pigment-css/react';
import { capitalize } from '@mui/material/utils';
import SliderValueLabel from '@mui/material/Slider/SliderValueLabel';
import { SliderValueLabel } from '@mui/material/Slider';
import { useSlider, valueToPercent } from '@mui/base/useSlider';
import { alpha, lighten, darken } from '@mui/system/colorManipulator';
import type { Theme } from '@mui/material/styles';
Expand Down
4 changes: 4 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ module.exports = function getBabelConfig(api) {
]);
}

if (process.env.MUI_ADD_IMPORT_EXTENSIONS === 'true') {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to not always add the extensions?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The regressions and rollup (umd) builds use this config file as well, and those break if we add the extensions.

When we remove the umd build, I could test if the issue with the regressions build is fixable, and we can remove this check. Does that make sense?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally al tests use builds that are as close to the real build as possible

Copy link
Member Author

@DiegoAndai DiegoAndai Mar 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense, I'll look into adapting the regressions builds as well 👍🏼

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Janpot, I investigated the issue a bit. The regressions build uses babel.config.js to compile the packages as well as other files, like the docs data files and the regressions tests files. It also points to the src of the packages instead of the build (see the regressions webpack config and the base webpack config).

I was able to use the packages builds instead of the src code by doing

diff --git a/test/regressions/webpack.config.js b/test/regressions/webpack.config.js
index b4472eedd1..c9d02bb705 100644
--- a/test/regressions/webpack.config.js
+++ b/test/regressions/webpack.config.js
@@ -64,6 +64,20 @@ module.exports = {
       // Exclude polyfill and treat 'zlib' as an empty module since it is not required. next -> gzip-size relies on it.
       zlib: false,
     },
+    alias: {
+      ...webpackBaseConfig.resolve.alias,
+      '@mui/material': path.resolve(__dirname, '../../packages/mui-material/build'),
+      '@mui/icons-material': path.resolve(__dirname, '../../packages/mui-icons-material/build/esm'),
+      '@mui/lab': path.resolve(__dirname, '../../packages/mui-lab/build'),
+      '@mui/styled-engine': path.resolve(__dirname, '../../packages/mui-styled-engine/build'),
+      '@mui/styled-engine-sc': path.resolve(__dirname, '../../packages/mui-styled-engine-sc/build'),
+      '@mui/styles': path.resolve(__dirname, '../../packages/mui-styles/build'),
+      '@mui/system': path.resolve(__dirname, '../../packages/mui-system/build'),
+      '@mui/private-theming': path.resolve(__dirname, '../../packages/mui-private-theming/build'),
+      '@mui/base': path.resolve(__dirname, '../../packages/mui-base/build'),
+      '@mui/utils': path.resolve(__dirname, '../../packages/mui-utils/build'),
+      '@mui/joy': path.resolve(__dirname, '../../packages/mui-joy/build'),
+    },
   },

But even after doing that I still had to filter out some files and not add the file extensions to them:

diff --git a/babel.config.js b/babel.config.js
index 12d09a03c2..2d3ba4a891 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -103,10 +103,6 @@ module.exports = function getBabelConfig(api) {
     ]);
   }
 
-  if (process.env.MUI_ADD_IMPORT_EXTENSIONS === 'true') {
-    plugins.push(['babel-plugin-add-import-extension', { extension: useESModules ? 'mjs' : 'js' }]);
-  }
-
   return {
     assumptions: {
       noDocumentAll: true,
@@ -119,6 +115,12 @@ module.exports = function getBabelConfig(api) {
         exclude: /\.test\.(js|ts|tsx)$/,
         plugins: ['@babel/plugin-transform-react-constant-elements'],
       },
+      {
+        exclude: /(\/test\/regressions|packages\/mui-docs|docs)/,
+        plugins: [
+          ['babel-plugin-add-import-extension', { extension: useESModules ? 'mjs' : 'js' }],
+        ],
+      },
     ],
     env: {
       coverage: {

This is because the files in those folders do not have extensions, as we're not adding them. We could add them, but I think this is outside of this PR's scope.

In conclusion, I would do

  1. Maintain the MUI_ADD_IMPORT_EXTENSIONS flag for this PR, adding the extensions only when building using build.mjs
  2. Remove the UMD build in a separate PR
  3. Create an issue to use the package builds instead of src for the regression tests. In that issue's PR, we could revisit removing MUI_ADD_IMPORT_EXTENSIONS and modifying the regression infrastructure accordingly.

What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok for me

plugins.push(['babel-plugin-add-import-extension', { extension: useESModules ? 'mjs' : 'js' }]);
}

return {
assumptions: {
noDocumentAll: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as React from 'react';
// import of a small, pure module in a private demo
// bundle size and module duplication is negligible
/* eslint-disable-next-line no-restricted-imports */
import { convertLength } from '@mui/material/styles/cssUtils';
import { createTheme, responsiveFontSizes } from '@mui/material/styles';
import {
createTheme,
responsiveFontSizes,
unstable_convertLength as convertLength,
} from '@mui/material/styles';
import Box from '@mui/material/Box';
import { LineChart } from '@mui/x-charts';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,50 +214,25 @@ It will perform the following diffs:

The packages published on npm are **transpiled** with [Babel](https://github.com/babel/babel), optimized for performance with the [supported platforms](/material-ui/getting-started/supported-platforms/).

A [modern bundle](#modern-bundle) is also available.

### How to use custom bundles?

:::error
You are strongly discouraged to:

- Import from any of the custom bundles directly. Do not do this:

```js
import { Button } from '@mui/material/legacy';
```

You have no guarantee that the dependencies also use legacy or modern bundles, leading to module duplication in your JavaScript files.

- Import from any of the undocumented files or folders. Do not do this:

```js
import { Button } from '@mui/material/esm';
```

You have no guarantee that these imports will continue to work from one version to the next.
### Modern bundle

:::
The modern bundle targets the latest released versions of evergreen browsers (Chrome, Firefox, Safari, Edge).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The modern bundle targets the latest released versions of evergreen browsers (Chrome, Firefox, Safari, Edge).
The modern bundle targets the latest released versions of the most popular browsers: Chrome, Firefox, Safari, and Edge.

This can be used to make separate bundles targeting different browsers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This can be used to make separate bundles targeting different browsers.
This can be used to create separate bundles that target different browsers.


A great way to use these bundles is to configure bundler aliases, for example with [Webpack's `resolve.alias`](https://webpack.js.org/configuration/resolve/#resolvealias):
To use it, configure your bundler's resolve condition names.
For example, with [Webpack's `resolve.conditionNames`](https://webpack.js.org/configuration/resolve/#resolveconditionnames):

```js
```js title="webpack.config.js"
{
// ...
resolve: {
alias: {
'@mui/material': '@mui/material/legacy',
'@mui/styled-engine': '@mui/styled-engine/legacy',
'@mui/system': '@mui/system/legacy',
'@mui/base': '@mui/base/legacy',
'@mui/utils': '@mui/utils/legacy',
'@mui/lab': '@mui/lab/legacy',
}
conditionNames: ['mui-modern', 'import', 'default'];
}
}
```

### Modern bundle
Here's the documentation for common bundlers:

The modern bundle can be found under the [`/modern` folder](https://unpkg.com/@mui/material/modern/).
It targets the latest released versions of evergreen browsers (Chrome, Firefox, Safari, Edge).
This can be used to make separate bundles targeting different browsers.
- [Webpack](https://webpack.js.org/configuration/resolve/#resolveconditionnames)
- [Vite](https://vitejs.dev/config/shared-options.html#resolve-conditions)
- [ESBuild](https://esbuild.github.io/api/#conditions)
70 changes: 70 additions & 0 deletions docs/data/material/migration/migration-v5/migration-v5.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,73 @@ The steps you need to take to migrate from Material UI v5 to v6 are described
This list is a work in progress.
Expect updates as new breaking changes are introduced.
:::

### Added exports field to package.json

The `exports` field has been added to the `@mui/material/package.json` file to improve the ESM and CJS builds split:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `exports` field has been added to the `@mui/material/package.json` file to improve the ESM and CJS builds split:
The `exports` field has been added to the `@mui/material/package.json` file to improve the split between ESM and CJS builds:


```json title="@mui/material/package.json"
// ...
"exports": {
".": {
"types": "./index.d.ts",
"mui-modern": "./modern/index.mjs",
"import": "./index.mjs",
"default": "./node/index.js"
},
"./*": {
"types": "./*/index.d.ts",
"mui-modern": "./modern/index.mjs",
"import": "./*/index.mjs",
"default": "./node/*/index.js"
}
}
// ...
```

Read more about the `exports` field in the [Node.js documentation](https://nodejs.org/api/packages.html#exports).

This change limits the exported modules to the root import and one level deep imports.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This change limits the exported modules to the root import and one level deep imports.
This change limits the exported modules to root imports and those that are one level deep.

If you were importing from deeper levels, you will need to update your imports:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you were importing from deeper levels, you will need to update your imports:
If you were previously importing from deeper levels, you must update your imports as shown below:


```diff title="index.mjs"
- import buttonClasses from '@mui/material/Button/buttonClasses';
+ import { buttonClasses } from '@mui/material/Button';
```

```diff title="index.cjs"
- const { default: Button } = require('@mui/material/node/Button');
+ const { default: Button } = require('@mui/material/Button');
```

You might have to update your bundler configuration to support the new structure.
Following are some common use cases that require changes:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Following are some common use cases that require changes:
Here are some common use cases that require changes:


#### Importing CJS

If you were importing from `/node` as a workaround, this is no longer necessary as the `exports` field maps CJS to the correct files.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you were importing from `/node` as a workaround, this is no longer necessary as the `exports` field maps CJS to the correct files.
If you were previously importing from `/node` as a workaround, this is no longer necessary because the `exports` field maps CJS to the correct files.


#### Using the modern bundle

The way the modern bundle should be imported has changed.
Previously, you would alias `@mui/material` to `@mui/material/modern` in your bundler configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Previously, you would alias `@mui/material` to `@mui/material/modern` in your bundler configuration.
Previously you would alias `@mui/material` to `@mui/material/modern` in your bundler configuration.

Now, you should configure your bundler's resolve conditions to use the `"mui-modern"` condition name.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Now, you should configure your bundler's resolve conditions to use the `"mui-modern"` condition name.
Now you should configure your bundler's resolve conditions to use the `"mui-modern"` condition name.

Here's the updated Webpack example that was previously documented:

```diff title="webpack.config.js"
module.exports = {
//...
resolve: {
- alias: {
- '@mui/material': '@mui/material/modern',
- }
+ conditionNames: ['mui-modern', 'import', 'default'],
},
};
```

Documentation: [resolve.conditionNames](https://webpack.js.org/configuration/resolve/#resolveconditionnames)

:::info
For guidance on other bundlers, refer to the [Modern bundle documentation](/material-ui/guides/minimizing-bundle-size/#modern-bundle).
:::
45 changes: 37 additions & 8 deletions docs/data/system/migration/migration-v5/migration-v5.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,45 @@ This list is a work in progress.
Expect updates as new breaking changes are introduced.
:::

### Root code is now ESM
### Added exports field to package.json

The ESM code, previously under the `esm/` build, has been moved to the root of the package.
The CommonJS code, previously on the root, has been moved to the `node/` build.
The `exports` field has been added to the `@mui/system/package.json` file to improve the ESM and CJS builds split:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `exports` field has been added to the `@mui/system/package.json` file to improve the ESM and CJS builds split:
The `exports` field has been added to the `@mui/system/package.json` file to improve the split between ESM and CJS builds:


:::info
This is an intermediate step to prepare for adding the `exports` field to the `package.json` file.
If you have trouble using this new structure, please wait for the future update which adds the `exports` field.
You can follow progress on https://github.com/mui/material-ui/issues/30671.
:::
```json title="@mui/system/package.json"
// ...
"exports": {
".": {
"types": "./index.d.ts",
"mui-modern": "./modern/index.mjs",
"import": "./index.mjs",
"default": "./node/index.js"
},
"./*": {
"types": "./*/index.d.ts",
"mui-modern": "./modern/index.mjs",
"import": "./*/index.mjs",
"default": "./node/*/index.js"
}
}
// ...
```

Read more about the `exports` field in the [Node.js documentation](https://nodejs.org/api/packages.html#exports).

This change limits the exported modules to the root import and one level deep imports.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as the suggestions in the other doc above

If you were importing from deeper levels, you will need to update your imports:

```diff
- import styled from '@mui/system/esm/styled';
+ import styled from '@mui/system/styled';
```

You might have to update your bundler configuration to support the new structure.
Following are some common use cases that require changes:

#### Importing ESM

If you were importing from `/esm` as a workaround, this is no longer necessary as the `exports` field maps ESM to the correct files.

### GridProps type

Expand Down
7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,9 @@
},
"dependencies": {
"@googleapis/sheets": "^5.0.5",
"@slack/bolt": "^3.17.1",
"@netlify/functions": "^2.6.0",
"@slack/bolt": "^3.17.1",
"babel-plugin-add-import-extension": "^1.6.0",
"execa": "^8.0.1",
"google-auth-library": "^9.7.0"
},
Expand All @@ -105,11 +106,11 @@
"@babel/preset-typescript": "^7.24.1",
"@babel/register": "^7.23.7",
"@mnajdova/enzyme-adapter-react-18": "^0.2.0",
"@mui/internal-docs-utils": "workspace:^",
"@mui/internal-scripts": "workspace:^",
"@mui-internal/api-docs-builder": "workspace:^",
"@mui-internal/api-docs-builder-core": "workspace:^",
"@mui-internal/test-utils": "workspace:^",
"@mui/internal-docs-utils": "workspace:^",
"@mui/internal-scripts": "workspace:^",
"@mui/joy": "workspace:*",
"@mui/material": "workspace:^",
"@mui/utils": "workspace:^",
Expand Down
8 changes: 4 additions & 4 deletions packages/mui-base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
},
"scripts": {
"build": "pnpm build:modern && pnpm build:node && pnpm build:stable && pnpm build:types && pnpm build:copy-files",
"build:modern": "node ../../scripts/build.mjs modern",
"build:node": "node ../../scripts/build.mjs node",
"build:stable": "node ../../scripts/build.mjs stable",
"build:copy-files": "node ../../scripts/copyFiles.mjs",
"build:modern": "node ../../scripts/build.mjs modern --exportFormat exports",
"build:node": "node ../../scripts/build.mjs node --exportFormat exports",
"build:stable": "node ../../scripts/build.mjs stable --exportFormat exports",
"build:copy-files": "node ../../scripts/copyFiles.mjs --exportFormat exports",
"build:types": "node ../../scripts/buildTypes.mjs",
"prebuild": "rimraf build tsconfig.build.tsbuildinfo",
"release": "pnpm build && pnpm publish",
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Badge/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Badge } from './Badge';
export * from './Badge.types';
export * from './badgeClasses';
1 change: 0 additions & 1 deletion packages/mui-base/src/Button/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Button } from './Button';

export * from './buttonClasses';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Input/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Input } from './Input';

export * from './Input.types';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/MenuButton/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { MenuButton } from './MenuButton';
export * from './MenuButton.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/MenuItem/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export * from './MenuItem';
export * from './MenuItem.types';
export * from './menuItemClasses';
1 change: 0 additions & 1 deletion packages/mui-base/src/MultiSelect/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
'use client';
export { MultiSelect } from './MultiSelect';
1 change: 0 additions & 1 deletion packages/mui-base/src/NoSsr/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { NoSsr } from './NoSsr';
export * from './NoSsr.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/Option/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export * from './Option';
export * from './Option.types';
export * from './optionClasses';
1 change: 0 additions & 1 deletion packages/mui-base/src/OptionGroup/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { OptionGroup } from './OptionGroup';

export * from './OptionGroup.types';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Popper/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Popper } from './Popper';
export type {
PopperPlacementType,
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Portal/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { Portal } from './Portal';
export * from './Portal.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/Select/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Select } from './Select';

export * from './selectClasses';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Slider/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Slider } from './Slider';
export * from './Slider.types';
export * from './sliderClasses';
1 change: 0 additions & 1 deletion packages/mui-base/src/Snackbar/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Snackbar } from './Snackbar';

export * from './Snackbar.types';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Switch/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Switch } from './Switch';
export * from './Switch.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Tab/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Tab } from './Tab';
export * from './Tab.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/TabPanel/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { TabPanel } from './TabPanel';
export * from './TabPanel.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/TablePagination/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { TablePagination } from './TablePagination';
export * from './TablePagination.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/Tabs/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Tabs } from './Tabs';
export * from './TabsContext';
export * from './tabsClasses';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/TabsList/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { TabsList } from './TabsList';
export * from './TabsList.types';

Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/TextareaAutosize/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { TextareaAutosize } from './TextareaAutosize';
export * from './TextareaAutosize.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/Unstable_NumberInput/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { NumberInput as Unstable_NumberInput } from './NumberInput';
export * from './numberInputClasses';
export * from './NumberInput.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/Unstable_Popup/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { Popup as Unstable_Popup } from './Popup';
export * from './Popup.types';
export * from './popupClasses';
Expand Down
1 change: 0 additions & 1 deletion packages/mui-base/src/unstable_useModal/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
'use client';
export { useModal as unstable_useModal } from './useModal';
export * from './useModal.types';
export * from './ModalManager';
1 change: 0 additions & 1 deletion packages/mui-base/src/unstable_useNumberInput/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { useNumberInput as unstable_useNumberInput } from './useNumberInput';
export * from './useNumberInput.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/useBadge/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { useBadge } from './useBadge';
export * from './useBadge.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/useButton/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export { useButton } from './useButton';
export * from './useButton.types';
1 change: 0 additions & 1 deletion packages/mui-base/src/useCompound/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
'use client';
export * from './useCompoundParent';
export * from './useCompoundItem';
Loading
Loading