elastic / eui

Elastic UI Framework 🙌

Home Page:https://eui.elastic.co/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Meta] Split the EUI library between Core and Advanced

JasonStoltz opened this issue · comments

The EUI library has accumulated more components than a Design System should reasonably have.

This library should be bisected into a "Core" library, and an "Advanced" library.

A precedence for this concept has been set by Material UI, which delivers MUI Core and MUI X.

In Advanced, we may find components like our DataGrid (See a previous Spike completed here and Markdown Editor.

Components in the Core library should be the most reusable UI components used to compose UI at Elastic. The goal would be to get our core library down to ~40 components.

The goal of this effort is ultimately to reduce the overall surface area of EUI to both reduce the support burden and allow us more flexibility to make sweeping changes to the library.

The idea would be that the Core library gets top-notch support and investment from the EUI team, while the Advanced library gets less and relies more heavily on outside contributions.

In addition to bisecting the library, we will consider deprecating niche components and components that are built specifically for Kibana. Components of that nature should be inlined as shared Kibana components -- they do not need to be part of the Design System.