Carbon is a library of reusable React components.
See the demo and documentation site for live examples, or see create-carbon-app to get started.
- Assets
- Flux - please note that Carbon does not require Flux and supports any React compatible state container.
- Immutable
- Validations
- Decorators
- Services
- Integrating Carbon with other UI
- Testing changes to Carbon in your project
- Releasing Carbon
As Carbon is just React components, we support any test suite you prefer to use. However we also provide out-of-the-box test tooling through Carbon Factory.
- Clone the carbon repository (
git clone [email protected]:Sage/carbon.git
) cd carbon
npm install
npm start
- Navigate to https://localhost:8095/ in your favourite browser
Note: MockAPI for tables and dropdowns is disabled locally as it conflicts with HotReloading. To enable see
src/main.js
file
- Use renogen, or add a yml file manually to
./changelog/next
e.g../changelog/next/my-update.yml
. - Update or add an appropriate heading in the style shown below for each change:
Bug Fixes: "Modal: The Modal is now centered in the browser."
The following is a list of technologies Carbon utilises:
- React (JSX) - Components are written using React, as well as the useful JSX syntax.
- Flux - If your application requires a heavy use of data and interaction, Carbon provides utilities for easily integrating Flux based data stores.
- Immutable.js - For better performance and data handling, the components rely on using immutable data.
- Node (CommonJS) - The components (or modules) are written using the CommonJS pattern. This allows for modularity and creating isolated/independent components.
- Webpack - In order to consume the modular components in the browser, the code is compiled through Webpack. This also allows managing other dependencies such as stylesheets and images.
- Babel (ES6) - To benefit from ES6 (and ES7) features, the code is compiled through Babel (this also compiles the JSX).
Carbon is licensed under the Apache-2.0 licence.
Copyright (c) 2018 Sage Group Plc. All rights reserved.