dcx-react-library
is a React library with a set of components ready to use in your project.
There are plenty of libraries available in React that can help to increase your productivity however most of them contain lots of css and are hard to style based on your project's requirements.
dcx-react-library is UI/UX agnostic, this allows the dcx-react-library to be easily integrated into any project.
You have few options to make your components good looking 💄:
- You can provide the styling to match the look and feel of your application passing the class to every component 👷
- 🔥 🔥You can use the design system tokens that we built for you - from version 1.0.0 🔥 🔥
To see the full list of components built in dcx-react-library, and how to use it, have a look on our storybook-showcase In Storybook, each component is presented with 4 main sections:
- documentation: describes the list of properties available, optional and mandatory;
- live: you can play directly with all the properties and see the component's behaviour;
- unstyled: the bare component without any styling applied;
- styled: an example (mainly based on GDS) of how to style the component and the final result.
- design system: an example of how to style the component using the tokens exposed by the design system.
Using dcx-react-library should not require any particular setup.
You only need to import the component and use it 😃
Steps:
yarn add @capgeminiuk/dcx-react-library
- Import the component you need and use it. For example:
import { Button } from '@capgeminiuk/dcx-react-library';
const App = () => {
return <Button label="start" onClick={() => {}} />;
};
We don't ship dcx-react-library
with any included CSS. However, some stylesheet is required to use some components (for example, toggle
and tooltip
).
/* The following line can be included in your src/index.js or App.js file */
import '@capgeminiuk/dcx-react-library/dist/dcx-react-library.css';
The dcx-react-library
supports opt-in styling customizable via CSS custom properties.
To keep the library UI/UX agnostic the styles are not shipped by default. In order to include them in your project you can import them as follows:
/* main.jsx */
import '@capgeminiuk/dcx-react-library/design-system/index.css';
Note that this will setup the styling for all the components in the library. You may want to fine-tune the imports if performance is critical for your application.
All the components have their own stylesheet and can be imported individually when needed:
/* Needed for core styles */
import '@capgeminiuk/dcx-react-library/design-system/base.css';
/* Individual imports, works well with tree-shaking */
import '@capgeminiuk/dcx-react-library/design-system/form-control.css';
import '@capgeminiuk/dcx-react-library/design-system/button.css';
// ...
Don't forget to add the base.css
import before loading the individual stylesheets. It contains the core definitions used for the design system to work.
If you'd like to contribute, please follow our CONTRIBUTING section.
- For an introduction to the DCX React Library please read our Introducing the DCX React Library blog post.
- For tips on how you can contribute to the DCX React Library please read our Contributing to the DCX React Library blog post.
- If you want to know more about the DCX React Library 1.0.0 release please read our 1.0.0 release update blog post
If you find a bug or you would like to recommend an improvement, please raise an issue and use the appropriate template. We will be more than happy to improve the library, smashing all the bugs found and improve the functionality.
Thanks goes to these wonderful people