Skip to content

inclusion-numerique/react-dsfr

 
 

Repository files navigation

🇫🇷 French State Design System React toolkit 🇫🇷

Components documentation - Guides - Playground

👉 Version française du README ici.

WARNING: This Design System is only meant to be used for official French's public service websites.
Its main purpose is to make it easy to identify governmental websites for citizens. See terms.

This module is an advanced toolkit that leverages @gouvfr/dsfr, the vanilla JS/CSS implementation of the DSFR.

image

While this module is written in TypeScript, using TypeScript in your application is optional (but recommended as it comes with outstanding benefits to both you and your codebase).

💡 Need ready to use, DSFR compliant login and register pages? Checkout keycloak-theme-dsfr.

🚀 Get started 🚀

Governance

This module is a product of Etalab's Free and open source software pole.

This project is co-maintained by public servants from various French administrations.

Development

git clone https://github.com/codegouvfr/react-dsfr
cd react-dsfr
yarn

# Starting storybook
yarn storybook

# Starting test apps
yarn start-cra  # For testing in a Create React App setup
yarn start-vite # For testing in a Vite setup
yarn start-next-pagesdir # For testing in a Next.js 13 PagesDir setup (the default setup)
yarn start-next-appdir # For testing in a Next.js 13 AppDir setup

# Run all unit test (test/runtime):
yarn test
# Run only test/runtime/cssVariable.test.ts (for example)
npx vitest -t "Resolution of CSS variables"

# Debugging while unit testing

Want to contribute?

Thank you! See the contribution guide.

How to publish a new version on NPM, how to release a beta version

This repo was bootstrapped form garronej/ts-ci have a look at the documentation of this starter for understanding the lifecycle of this repo.

Use-cases

A few projects that use @codegouvfr/react-dsfr.

Keep in mind that the project has been released recently so it's only natural that there is only a few projects in production using it.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.3%
  • Other 1.7%