Skip to content

docs(compat): better outline legacy table pitfalls #7102

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

Merged
merged 2 commits into from
Mar 19, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions packages/compat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,22 @@ npm install @ui5/webcomponents-react-compat
As the v1 `ui5-table` (`Table`) component is part of this package and some custom element names are equal to the new v2 `ui5-table`, importing components from the root (`import { Table } from "@ui5/webcomponents-react-compat"`) is discouraged.
The primary reason is that tree-shaking capabilities are limited in the default configurations of most bundlers in dev mode. As a result, custom elements for the v1 table will still be defined, even if only the `Toolbar` is imported. This can cause unexpected behavior if the v2 table is also used in the same app.

**Please only import components from the file path!**
> ⚠️ **Warning:** It is not supported using the v1 `Table` and the v2 `Table` in the same application!

> ⚠️ **Warning:** Please only import components from this package via the file path!

E.g.:

- `import { Table } from '@ui5/webcomponents-react-compat/dist/components/Table/index.js';`
- `import { Toolbar } from '@ui5/webcomponents-react-compat/dist/components/Toolbar/index.js';`

**It is not supported using the v1 `Table` and the v2 `Table` in the same application!**
In case you're still facing issues with the custom element definitions of the `Table` in development environments, you can add the web component import before any other component import in your application.

Following are the imports of duplicate custom element names:

- `Table` (`ui5-table`): `import '@ui5/webcomponents-compat/dist/Table.js';`
- `TableCell` (`ui5-table-cell`): `import "@ui5/webcomponents-compat/dist/TableCell.js";`
- `TableRow` (`ui5-table-row`): `import "@ui5/webcomponents-compat/dist/TableRow.js";`

## Documentation

Expand Down
Loading