diff --git a/cypress.config.ts b/cypress.config.ts
index 3a6c4534c66..cf3008c3a05 100644
--- a/cypress.config.ts
+++ b/cypress.config.ts
@@ -9,7 +9,6 @@ export default defineConfig({
'**/src/interfaces/*',
'**/src/enums/*',
'**/*.stories.tsx',
- '**/*.jss.ts',
'**/*.test.{ts,tsx}',
'**/node_modules/**',
'packages/*/src/index.ts',
diff --git a/docs/MigrationGuide.mdx b/docs/MigrationGuide.mdx
index 7a611839aec..2ec0fd81591 100644
--- a/docs/MigrationGuide.mdx
+++ b/docs/MigrationGuide.mdx
@@ -17,6 +17,35 @@ or the [changelog](?path=/docs/change-log--page)._
+## General changes
+
+### Removed `react-jss`
+
+UI5 Web Components for React is no longer relying on `react-jss` internally, hence the dependency is now removed and the `react-jss` ThemeProvider is no longer rendered as part of our `ThemeProvider`.
+If you are relying on `react-jss` in your application, please make sure to render your own `react-jss` ThemeProvider:
+
+```tsx
+import { ThemeProvider } from '@ui5/webcomponents-react';
+import { ThemingParameters } from '@ui5/webcomponents-react-base';
+import { ThemeProvider as ReactJssThemeProvider } from 'react-jss';
+
+function MyRootComponent() {
+ return (
+
+ {/* your app content goes here */}
+
+ );
+}
+```
+
+## Removed hooks
+
+### `useResponsiveContentPadding`
+
+The `useResponsiveContentPadding` hook has been removed.
+You can now apply responsive content paddings by applying the `sap-content-paddings-container` class from `@sap-ui/common-css` package to your element.
+You can find a more detailed documentation [here](https://sap.github.io/ui5-webcomponents-react/main/?path=/docs/knowledge-base-common-css--docs#content-paddings).
+
## Replaced Components
### AnalyticalCard
diff --git a/docs/knowledge-base/CommonCSS.mdx b/docs/knowledge-base/CommonCSS.mdx
new file mode 100644
index 00000000000..2c42cad3251
--- /dev/null
+++ b/docs/knowledge-base/CommonCSS.mdx
@@ -0,0 +1,47 @@
+import { Footer, TableOfContent } from '@sb/components';
+import { Meta } from '@storybook/blocks';
+import { Link, MessageStrip } from '@ui5/webcomponents-react';
+
+
+
+# Using Common CSS in your application
+
+
+
+We recommend using the [@sap-ui/common-css](https://www.npmjs.com/package/@sap-ui/common-css) package for applying common styling blocks based on SAP Fiori Design Guidelines.
+
+
+ This documentation is only showing a few samples which we consider to be useful for applications using UI5 Web
+ Components for React. You can find the full documentation for SAP UI Common CSS{' '}
+ here.
+ >
+ }
+>
+
+
+
+
+## Content Paddings
+
+[Full Documentation](https://sap.github.io/fundamental-styles/?path=/docs/common-css-content-paddings--docs)
+
+You can import the content paddings by adding the following import to your project:
+
+```ts
+import '@sap-ui/common-css/dist/sap-content-paddings.css';
+```
+
+### Responsive Content Paddings
+
+You can apply a dynamic content padding for your element by applying the following classes to your HTML:
+
+```html
+
+
I will have a responsive content padding
+
+```
+
+
diff --git a/docs/knowledge-base/Public-Utils.mdx b/docs/knowledge-base/Public-Utils.mdx
index 12937480c5b..38f8e4802ee 100644
--- a/docs/knowledge-base/Public-Utils.mdx
+++ b/docs/knowledge-base/Public-Utils.mdx
@@ -105,30 +105,4 @@ The `useI18nBundle` hook can be used for adding internationalization to your app
The `useViewportRange` hook is a utility hook based on the `Device.getCurrentRange()` and `Device.attachMediaHandler` API.
It will always return a string with the name of the currently active range.
-### `useResponsiveContentPadding`
-
-
-
-The `useResponsiveContentPadding` hook is a hook generating a style class or a tuple containing the style class and the current range if `returnRangeString` is set to `true`.
-It adds `padding-left` and `padding-right` corresponding to the range (retrieved with `Device.getCurrentRange()`) of the element.
-
-```jsx
-const YourComponent = (props) => {
- const elementRef = useRef(null);
- const responsivePaddingClass = useResponsiveContentPadding(elementRef.current);
- return (
-
- Content
-
- );
-};
-```
-
-```js
-// returns the style class as string
-const responsivePaddingClass = useResponsiveContentPadding(elementRef.current);
-// returns a tuple - the first entry is the style class, the second the current range string
-const [responsivePaddingClass, currentRange] = useResponsiveContentPadding(elementRef.current, true);
-```
-
diff --git a/docs/knowledge-base/ServerSideRendering.mdx b/docs/knowledge-base/ServerSideRendering.mdx
index a61bc926062..60166672668 100644
--- a/docs/knowledge-base/ServerSideRendering.mdx
+++ b/docs/knowledge-base/ServerSideRendering.mdx
@@ -26,10 +26,22 @@ We have templates available for both the pages and the app router.
In case you already have an existing Next.js project and want to add UI5 Web Components for React to it, you first need to follow our [general Getting Started Guide](https://sap.github.io/ui5-webcomponents-react/?path=/docs/getting-started--docs#add-ui5webcomponents-react-to-an-existing-app).
-As UI5 Web Components for React is using `react-jss` internally, you need to apply some changes to your `_app` and `_document` file (in case you are using the pages router).
-You can copy these changes either from the official [next.js-react-jss example](https://github.com/vercel/next.js/tree/canary/examples/with-react-jss) or from our [pages router template](https://github.com/SAP/ui5-webcomponents-react/tree/main/examples/nextjs-pages).
+For a better SSR support, we recommend importing our stylesheet bundle inside the `_app` file or the root layout (depending on whether you are using the pages or the app router) and set the `staticCssInjected` prop on our `ThemeProvider`:
+
+```tsx
+import '@ui5/webcomponents-react/styles.css';
+
+export default function AppOrRootLayout() {
+ // ...
+ return (
+ // ...
+
+ // ...
+
+ )
+}
+```
-In case you are already using the app router, you can copy the `react-jss` setup from the `app/CssRegistry.tsx` in our [app router template](https://github.com/SAP/ui5-webcomponents-react/tree/main/examples/nextjs-app). Make sure to add this component to your root layout!
### Common Pitfalls
diff --git a/docs/knowledge-base/Styling.mdx b/docs/knowledge-base/Styling.mdx
index 1f0c959eaa2..5bcdb1c1484 100644
--- a/docs/knowledge-base/Styling.mdx
+++ b/docs/knowledge-base/Styling.mdx
@@ -193,4 +193,8 @@ const TableComponent = () => {
+## Common CSS
+
+For applying common styling blocks based on SAP Fiori Design Guidelines, we recommend using the [@sap-ui/common-css](https://www.npmjs.com/package/@sap-ui/common-css) package. You can find out more about this [here](?path=/docs/knowledge-base-common-css--docs).
+
diff --git a/examples/nextjs-app/app/CssRegistry.tsx b/examples/nextjs-app/app/CssRegistry.tsx
deleted file mode 100644
index a5f84525e0d..00000000000
--- a/examples/nextjs-app/app/CssRegistry.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-'use client';
-
-import { useServerInsertedHTML } from 'next/navigation';
-import { useEffect, useState } from 'react';
-import { createGenerateId, JssProvider, SheetsRegistry } from 'react-jss';
-
-export function CssRegistry({ children }: { children: React.ReactNode }) {
- const [registry] = useState(() => new SheetsRegistry());
- const generateId = createGenerateId();
-
- useServerInsertedHTML(() => {
- return (
- <>
-
- >
- );
- });
-
- return (
-
- {children}
-
- );
-}
diff --git a/examples/nextjs-app/app/layout.tsx b/examples/nextjs-app/app/layout.tsx
index e09d236115d..4241387d3c5 100644
--- a/examples/nextjs-app/app/layout.tsx
+++ b/examples/nextjs-app/app/layout.tsx
@@ -1,7 +1,7 @@
import '@ui5/webcomponents-react/styles.css';
import './globals.css';
import { AppShell } from '@/app/components/AppShell';
-import { CssRegistry } from '@/app/CssRegistry';
+import { ThemeProvider } from '@ui5/webcomponents-react';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
@@ -19,9 +19,9 @@ export default function RootLayout({ children }: { children: React.ReactNode })