optimizely-oui
TypeScript icon, indicating that this package has built-in type declarations

49.0.0 • Public • Published

Axiom Component Library

A custom CSS framework and React component library that powers the Optimizely user interface.

Build Status codecov npm version

🔗 Links

📦 Installation

npm install optimizely-oui
yarn add optimizely-oui

ʦ TypeScript

Typescript types are generated for src/components from their JS files to aid consumption of this repo in Typescript. The optimizely-oui declaration file (types/templates/module-declaration.d.ts) exports all named component exports. To build the exported declaration file (types/index.d.ts), the autogenerated individual component module declarations are merged with the main declaration file (see yarn generate-types).

PropTypes

PropTypes can still be used for non-Typescript (.js) components as well as when more complex validation is needed. The (babel-plugin-typescript-to-proptypes)[https://www.npmjs.com/package/babel-plugin-typescript-to-proptypes] plugin is used to ensure that all components (typed or not) are exported with PropTypes.

💪 Contribute

Read how to contribute to Axiom for instructions on making pull requests.

🚢 Release

Check out the Release a New Version section for instructions on releasing a new version of Axiom.

⚡️ React

To use an Axiom component inside your React app:

import React from 'react';
import { Button } from 'optimizely-oui';
...
return ( <Button size="tiny">Click Me</Button> );

🧪 Testing

Thanks to Chromatic, Axiom runs visual regression tests on every pull request and merge. These tests are snapshots of each Storybook story within the repository. For implementation details, see the Chromatic section of the contributing guidelines.

💅 Sass

To use Axiom Sass variables and mixins in your project read how to use Axiom sass.

/optimizely-oui/

    Package Sidebar

    Install

    npm i optimizely-oui

    Weekly Downloads

    145

    Version

    49.0.0

    License

    SEE LICENSE IN LICENSE.md

    Unpacked Size

    19.3 MB

    Total Files

    1247

    Last publish

    Collaborators

    • optimizely-eng
    • kwalker3690
    • mikeng13
    • delikat
    • jessicalc
    • optimizely-frontend