Porsche Design SystemSearchNavigate to GitHub repository of Porsche Design SystemOpen sidebar
Getting StartedTestingAdvanced
React Table of Contents Quick start To build your own application with the React components of Porsche Design System, follow these steps: Follow the instructions at (Introduction)[/developing/introduction] to get the required npm package Run yarn create react-app my-app --template typescript or npx create-react-app my-app --template typescript to create a directory inside the current folder with the initial project structure called my-app To add TypeScript to your Create React App, you have to install it:
# install with yarn: yarn add typescript @types/node @types/react @types/react-dom @types/jest # install with npm: npm install typescript @types/node @types/react @types/react-dom @types/jest
Install the Porsche Design System
# install with yarn: yarn add @porsche-design-system/components-react # install with npm: npm install @porsche-design-system/components-react
You are ready to start building your own application. Integration The following project is a standard React (Create React App) setup extended by the necessary PorscheDesignSystemProvider which you can import from @porsche-design-system/components-react :
// index.tsx import ReactDOM from 'react-dom'; import { PorscheDesignSystemProvider } from '@porsche-design-system/components-react'; import './index.css'; import { App } from './App'; ReactDOM.render( <React.StrictMode> <PorscheDesignSystemProvider> <App /> </PorscheDesignSystemProvider> </React.StrictMode>, document.getElementById('root') );
Change your App file to use at least one Porsche Design System component, for example:
// App.tsx import { PHeading } from '@porsche-design-system/components-react'; export const App = (): JSX.Element => ( <div className="App"> <PHeading>Welcome to React</PHeading> </div> );
Run yarn start or npm start and check if the components are displayed correctly. Now, when you look at the result in your browser you should see an error message like "The Porsche Design System is used without using the getInitialStyles() partial". To fix this, you have to apply the getInitialStyles() partial which is mandatory since v3.7.0. When are Porsche Design System components initialized? See componentsReady() for further information. How do Porsche Design System components work in detail? See Initialization for further information. Sample integration We provide a public GitHub repository with a basic sample project setup to show how it is managed in real code. You can find the repository of the React example project here: Sample integration React Get the project up and running Clone the repository by executing git clone https://github.com/porsche-design-system/sample-integration-react.git Follow the installation guidelines in the README.md file
Global settingsThemeChanges the theme of the application and any Porsche Design System component. It's possible to choose between forced theme light and dark. It's also possible to use auto, which applies light or dark theme depending on the operating system settings automatically.LightDarkAuto (sync with operating system)DirectionChanges the direction of HTML elements, mostly used on<html> tag to support languages which are read from right to left like e.g. Arabic.LTR (left-to-right)RTL (right-to-left)AutoText ZoomChanges the text size and values with unit rem or em relatively. This setting can be defined in browser settings for any website or by an application itself on<html> tag. To achieve WCAG 2.2 AA compliance it's obligatory to support text zoom up to at least 200%.100%130%150%200%