Skip to content

Repository files navigation

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

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

Features:

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 ✅
Mnemonics
In Menus ❌
In controls (Button and Checkbox) ✅
In custom components ✅

🧬: higher level "molecule" components that capture a common usage of two or more atomic components, together.

  1. It seems in Intellij UI, such menu lists are only used in popups. Maybe only FlatSpeedSearchPopup
  2. Most probably will not be implemented.

Links

About

IntelliJ Platform implementation in React.js

Topics

Resources

Stars

11 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages