Here are our responses to questions we expect to get frequently.
The OpenSearch UI Framework (OUI) is a design library used by the OpenSearch Project to build React applications that need to share our branding and aesthetics. It distributes UI React components and static assets for use in building web layouts.
Yes, but be aware of the license as always. The roadmap and priorities are directed by usage within the OpenSearch project.
We use semver for versioning and use that to denote breaking changes in OUI upgrades. We consider API changes in our prop names or existing component functionality to be a reason for a breaking change, but do not consider renaming of CSS selectors, mixins, or other style changes to be breaking.
Traditionally releases are made weekly against whatever is in master and you can upgrade from NPM as you see fit.
OUI started as a JS and Sass library that outputs separate CSS and JS bundles. Over time we introduced TypeScript and started adding types, writing new components in TS, and migrating old components over. The goal is to actively convert everything over into a full TS system while retaining our build targets of ES5+commonjs, ES5+ES Modules, and a consolidated bundle file.
For styling we use Sass and generate a final CSS blob for the entire library, with some JSON theming files extracted from the Sass. You can find more information in consuming OUI and theming.
Yes! We accept PRs regularly similar to our other OpenSearch repos. You can find documentation around creating and submitting new components in CONTRIBUTING.md.
Bug reports and feature requests are welcome!