Skip to content

alirezamirian/jui

Repository files navigation

⚠️ Work in progress

This library is a work in progress. It's not published on npm just yet, and documentation is incomplete. But you can checkout these:

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
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.

  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