Carbon for IBM Products is an open source implementation of the closed source
pattern asset library (PAL).
These PAL designs build on the foundation of IBM’s open source Carbon Design
System and React implementation to offer components and patterns beyond the
typical component library. Carbon for IBM Products was previously known as
Carbon for IBM Cloud and Cognitive (@carbon/ibm-cloud-cognitive), and this
name can still be encountered in various places and historical logs.
Carbon for IBM Products common UI components
🚀 Getting started
If you’re just getting started and looking to browse our React components, take
a look at our Storybook.
📦 Installing Carbon for IBM Products
To use Carbon for IBM Products components, all you need to do is install the
@carbon/ibm-products package.
$ yarn add @carbon/ibm-products
# or
$ npm install @carbon/ibm-products
Then you can import the component styles in your index.js.
import'@carbon/ibm-products/css/index.min.css';
Webpack 4
Our package requires support for ES modules (see
#2378).
In Webpack 5, these are supported by default. In Webpack 4, you will need to add
the following rule to your config.
Note:@carbon/elements rolls up a number of Carbon packages that could be
installed independently. As this list of dependencies could change, we leave you
to view package.json in ibm-products if you wish to install individual
packages.
Examples
Online examples
Examples for each released component, and some that are still not quite ready,
can be found here on
@use'@carbon/ibm-products/scss' with (
$pkg-prefix: 'tst'
);
When using individual components e.g. AboutModal:
@use'@carbon/ibm-products/scss/config' with (
$pkg-prefix: 'tst'
);
@use'@carbon/ibm-products/scss/components/AboutModal';
See the
example gallery
for the most up-to-date prefix examples.
Enabling Canary components and flagged features
Components that have not yet completed the release review process are considered
to be canary and require the consumer to enable via a feature flag in a
config.js file.
For example, create a config.js in your src directory:
import { pkg } from'@carbon/ibm-products';
// Enable 'canary' (not yet reviewed/released) components// that we want to make use of
pkg.component.AboutModal = true;
pkg.component.SidePanel = true;
// Live dangerously: enable all components!
pkg.setAllComponents(true);
// Enable a feature flagged examples
pkg.feature.nameOfFeature = true;
pkg.feature['Component.feature'] = true;
// Live dangerously: enable all pre-release features!
pkg.setAllFeatures(true);
The default values for component and feature flag settings can be found by
running the following command.
node node_modules/@carbon/ibm-products/flags.js
Note: The above settings must happen before a component first renders or a
feature is first used.
Note: 2 In the case of features implemented via hooks the feature may
function without enabling. In all cases features that disabled by default will
log in the console a warning if enabled via a feature flag or an error if not.
Building and running locally
To get started, run the following commands and Storybook will be built and then
served on port 3000 on your local machine.
yarn install
yarn storybook
To build all the packages, run the following command.
yarn build
Browser support
This library supports the latest versions of:
Apple Safari
Google Chrome
Microsoft Edge
Mozilla Firefox
🙌 Contributing
This project is made possible by several community members who have invested
their precious time to give back to the Carbon community. It will continue to be
possible by having those that benefit from the package contribute back to it.
So, do not be shy. We both depend on and appreciate contributors, new and old,
who help us fix bugs, build new features, improve our documentation, etc.
This package uses IBM Telemetry to collect de-identified and anonymized metrics
data. By installing this package as a dependency you are agreeing to telemetry
collection. To opt out, see
Opting out of IBM Telemetry data collection.
For more information on the data being collected, please see the
IBM Telemetry documentation.
We found that @carbon/ibm-products demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 0 open source maintainers collaborating on the project.
Package last updated on 06 Nov 2024
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.