Important
This library is a work in progress. The API of components needs to be revisited and made consistent. The documentation is incomplete and may contain unreleased features.
JUI is JetBrain's IntelliJ Platform UI implemented as a React.js library. A lot of accessibility aspects are implemented using hooks from react-aria and friends.
If you too love the user experience of the JetBrains products, and the developer experience of creating UI applications with react, you may find this interesting.
jui-demo-2.mp4
Component | Feature | Status | |
---|---|---|---|
List | |||
Speed Search | ✅ | ||
Divider | ✅ | ||
Disabled | ✅ | ||
Virtualization | ✅ | ||
Sections (with title) | ✅ | ||
Access to state in items (selected, focused, disabled) | ✅ | ||
Showing item overflow on hover | ❌ | ||
Tree | |||
Base | ✅ | ||
Speed Search | ✅ | ||
Virtualization | ✅ | ||
Tree with checkboxes 🧬 | ✅ | ||
Showing item overflow on hover | ❌ | ||
Tooltip | ✅ | ||
Progress Bar | ✅ | ||
Icon | ✅ | ||
Breadcrumb | ❌ | ||
Theming | |||
Theme objects based on theme json files | ✅ | ||
Support for XML color schemes | ❌ | ||
Checkbox | ✅ | ||
Button | ✅ | ||
Split Button | ❌ | ||
Icon Button (aka ActionButton) | ✅ | ||
Icon Button with menu 🧬 | ✅ | ||
Toolbar | ✅ | ||
Drop-Down List | ✅ | ||
Combo Box | ✅ | ||
Menu List 1 | |||
Basic | ✅ | ||
Speed search | ✅ | ||
Notifications | |||
Balloon | ✅ | ||
Alert | ✅ | ||
Action System | |||
Shortcut abstractions (KeyStroke, KeyboardShortcut, etc.) | ✅ | ||
Common shortcuts | ❌ | ||
Keymap | ✅ | ||
OS-based keymap | ❌ | ||
Popup | ✅ | ||
Tabs | |||
Basic support | ✅ | ||
multiple rows | ✅ | ||
single row - scroll | ✅ | ||
single row - shrink | ❌ | ||
Overflow dropdown menu | ✅ | ||
Vertical (tab placement left/right in the editor) | ❌ | ||
ThreeViewSplitter | ✅ | ||
StatusBar | ✅ | ||
Tool window | |||
Basic functionality | ✅ | ||
Reordering windows | ✅ | ||
Moving windows between anchors | ✅ | ||
Widescreen layout | ✅ | ||
Side by side layout on left or right | ❌ | ||
toggling tool window bars | ✅ | ||
Hide action | ✅️ | ||
Remove from sidebar action | ️✅ | ||
Maximize action | ✅ | ||
Resize | ✅ | ||
View Mode - Dock pin | ✅ | ||
View Mode - Dock unpin | ✅ | ||
View Mode - Undock | ✅ | ||
View Mode - Float | ✅ | ||
View Mode - Window 2 | ❌ | ||
Multiple view with tab switcher in the header | ✅ | ||
Multiple view with dropdown switcher in the header | ❌ | ||
Gear icon actions | ✅ | ||
ModalWindow | ✅ | ||
Alert | ✅ | ||
InputField | |||
Basic support ( validation, label placement, context help, disabled) | ✅ | ||
Built-in buttons | ✅ | ||
Expandable | ❌ | ||
SearchField | |||
Basic SearchField | ✅ | ||
With history popup | ✅ | ||
Link | ✅ |
🧬: higher level "molecule" components that capture a common usage of two or more atomic components, together.
- It seems in Intellij UI, such menu lists are only used in popups. Maybe only FlatSpeedSearchPopup
- Most probably will not be implemented.