Elastic UI
A collection of React UI components for quickly building user interfaces
README
Elastic UI Framework
The Elastic UI Framework is a collection of React UI components for quickly building user interfaces at Elastic.
Check out our [full documentation site][docs] which contains many examples of components in the EUI framework aesthetic, and how to use them in your products. We also have a [FAQ][faq] that covers common usage questions. For other general questions regarding EUI, check out the Discussions tab.
The rest of this doc will detail how to run and contribute to the EUI documentation site locally.
Running Locally
Node
We depend upon the version of node defined in .nvmrc.
You will probably want to install a node version manager. nvm is recommended.
To install and use the correct node version with nvm:
- ``` sh
- nvm install
- ```
Notes: if you are running on an M1 Apple device, you might want to the following
- downgrade to node v14 (lts/fermium aka v14.19.3 works)
- make sure that you're running your terminal in Rosetta mode
> - select the Terminal application in the Finder (Applications -> Utilities)
- right-click and select Get Info then check the Open using Rosetta check-box
- close the window and restart your Terminal
Documentation
You can run the documentation locally at http://localhost:8030/ by running the following.
- ``` sh
- yarn
- yarn start
- ```
If another process is already listening on port 8030, the next free port will be used. Alternatively, you can specify a port:
- ``` sh
- yarn start --port 9000
- ```
Goals
The primary goal of this library is to provide reusable UI components that can be used throughout
Elastic's web products. As React components, they remove CSS from the process of building UIs.
As a single source of truth, the framework allows our designers to make changes to our aesthetic
directly in the code. And unit test coverage for the UI components allows us to deliver a stable
"API for user interfaces".
Wiki
Consumption
[Consuming EUI][consuming]
Maintenance / Contributing
License
[Dual-licensed under Elastic v2 and Server Side Public License, v 1][license] Read the [FAQ][faq] for details.
[license]: LICENSE.txt
[faq]: FAQ.md
[consuming]: wiki/consuming.md
[docs]: https://elastic.github.io/eui/