@volvo-cars/ced-os-react-components

Set of components for developing UIs in the onboarding and support apps

Usage no npm install needed!

<script type="module">
  import volvoCarsCedOsReactComponents from 'https://cdn.skypack.dev/@volvo-cars/ced-os-react-components';
</script>

README

Support Web Components

This a component library based on vcc-ui created to standardize the creation and articulation of support article data provided via an API in JSON. Meaning when the new API provides content in JSON, it will have a structure that maps to these components. That way the data from the backend will dictate the structure and not the actual components. Although all components can and should be used where suitable also in other contexts.

The components can be viewed in this Storybook

The component are organized based on the Atomic design principles by Brad Frost.

Development

Getting Started

  • npm install
  • npm run dev to run storybook
  • npm test to run tests

Publish

The library is automatically published to Github packages and NPM when a new tag in the format v.X.X.X is pushed to Github.

The steps to publish are:

  1. build
  2. bump version. se npm version mayor|minor|patch to bump version

Use npm version mayor|minor|patch to bump version an

Usage

The library is published as an NPM package and also a Github package.

Install from NPM package registry

Run npm install @volvo-cars/ced-os-react-components.

Install from Github package registry

To be able to install the package from the Github registry some configuration and Github authentication is needed.

Add a file called .npmrc to your project and paste the lines below into it to configure NPM to load @volvo-cars packages from the Github registry. The second line references an environment variable on your machine: VCC_GITHUB_PACKAGES_TOKEN.

@volvo-cars:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${VCC_GITHUB_PACKAGES_TOKEN}

The value of VCC_GITHUB_PACKAGES_TOKEN should be a Github Personal Access token with at least "read:packages" permissions.

If you use the dotenv package in your project it's also possible to define the variable in the .env file. In which case you need to do dotenv npm install

Example usage

JSONArticle

The main entrypoint

// ...
import { JSONArticle } from '@volvo-cars/ced-os-react-components';

const Article = ({ articleId, content }) => {
    return (
        <View paddingTop={[3, 6]} paddingBottom={[3, 6]}>
            <JSONArticle data-article-id={articleId} data={content} />
        </View>
);
};