v1.0.0
Overview
This is the initial public release of the IBM.com Library, which is a Carbon-based library for use on all of IBM.com. Its intentions are to provide a consistency of IBM.com specific components and patterns that adheres to the IBM Design Language, and is a complimentary solution to the Carbon Design System.
This release includes the primary foundation of the library itself, as well as an initial set of features described below. Starting this release, the IBM.com Library will follow a monthly release cycle.
Foundation
The primary foundation of the library will include several packages:
- @carbon/ibmdotcom-react: IBM.com React components
- @carbon/ibmdotcom-patterns-react: IBM.com React patterns
- @carbon/ibmdotcom-services: IBM.com ES6 Service classes
- @carbon/ibmdotcom-styles: Framework agnostic styles package for IBM.com components
- @carbon/ibmdotcom-utilities: IBM.com ES6 Utility classes
Each package (minus the styles package) includes their own living documentation output:
Features
React
- Masthead: The Masthead includes a refreshed look and feel, L0/L1 navigation, Search with Typeahead, and Profile
- Footer: The Footer has an updated look, with two different configurable types
- DotcomShell: The Dotcom Shell is an overall UI shell structure that includes the Masthead and Footer. This is a good starting point for building out an IBM.com page.
- HorizontalRule: A configurable
<hr />
element - Analytics:
- Scroll tracking
Patterns React
- LeadSpace (experimental): LeadSpace pattern with optional CTAs
Services
- Translation API: Fetches translation data for the Masthead and Footer. Currently supporting US English only.
- SearchTypeahead API: Typeahead search, used in the Masthead
- Profile API: Profile API that fetches the user's authentication status
- DDO API: API that fetches various data from the Digital Data Object
Utilities
- Various helper utilities
Experimental Features
To encourage ongoing development of features, the IBM.com Library embraces the creation of experimental features through feature flags. These are all configured through environment variables, so that they can be easily switched on or off. Additional environments have been stood up that have all feature flags turned on: