/terra-core

Terra offers a set of configurable React components designed to help build scalable and modular application UIs. The library easily integrates with webpack-based workflows and was created to solve real-world issues in projects we work on day to day.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Terra Core

Cerener OSS Build Status lerna devDependencies status

Packages

Versioning

When a component reaches v1.0.0., it is considered to be stable and will follow SemVer for versioning.

  1. MAJOR versions represent breaking changes
  2. MINOR versions represent added functionality in a backwards-compatible manner
  3. PATCH versions represent backwards-compatible bug fixes

Consult the component CHANGELOGs, related issues, and PRs for more information.

We view the React.js props API of our components as our main public API. We use this to guide us when versioning components.

Prior to components reaching v1.0.0, a component is considered to be in a beta stage. Components in beta stage may include breaking changes, new features, and bug fixes all within v0.x.x releases.

Status

✅ Stable 🔶 Beta 🚧 In Progress ❌ Deprecated

Terra Package Version Status
terra-alert NPM version
terra-arrange NPM version
terra-app-delegate NPM version
terra-application NPM version
terra-badge NPM version
terra-base NPM version
terra-button NPM version
terra-button-group NPM version
terra-card NPM version
terra-content-container NPM version
terra-date-picker NPM version
terra-demographics-banner NPM version
terra-dynamic-grid NPM version
terra-embedded-content-consumer NPM version
terra-form NPM version
terra-grid NPM version
terra-heading NPM version
terra-i18n NPM version
terra-i18n-plugin NPM version
terra-icon NPM version
terra-image NPM version
terra-legacy-theme NPM version
terra-list NPM version
terra-markdown NPM version
terra-menu NPM version
terra-mixins NPM version
terra-modal NPM version
terra-modal-manager NPM version
terra-overlay NPM version
terra-popup NPM version
terra-progress-bar NPM version
terra-props-table NPM version
terra-responsive-element NPM version
terra-search-field NPM version
terra-slide-group NPM version
terra-slide-panel NPM version
terra-status NPM version
terra-status-view NPM version
terra-table NPM version
terra-text NPM version
terra-time-input NPM version
terra-toggle NPM version
terra-toggle-button NPM version

Supported Browsers

Browser Version
Chrome & Chrome for Android Current
Edge Current
Firefox Current
Internet Explorer 10 & 11
Safari & Mobile Safari Current

Internationalization (I18n)

  1. Please follow Base Getting Started to install Base, and consume it with locale props.
  2. Install and config terra-i18n-plugin:
  3. Install and config react-intl
    • Install it npm install --save react-intl.
    • Add alias webpack config to avoid importing duplicate react-intl.
      resolve: {
        extensions: ['.js', '.jsx'],
        alias: {
          'react-intl': path.resolve(__dirname, 'node_modules/react-intl'),
        },
      },
      
  4. Provide values for locale and customMessages prop of Base.
  5. Follow react-intl wiki to use injectIntl(pass translations to props) or FormattedMessage(render translations) to consume translations.

Packages Requiring I18n

Contributing

Please read through our contributing guidelines. Included are directions for issue reporting and pull requests.

Local Development

  1. Install docker https://www.docker.com/ to run browser tests.
  2. Install dependencies and run tests.
npm install
npm run test

LICENSE

Copyright 2017 Cerner Innovation, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.