
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
jetbrainswebtest
Advanced tools
JetBrains IntelliJ Platform UI Components for React - Build IDE-like interfaces and prototypes
This library is used by UX designers to quickly prototype designs for IDEs. Components are imitating Int UI Kit.
This library provides a collection of reusable UI components designed with modern design principles, featuring:
src/
├── componentsConfig.js # Component configuration and categorization
├── ThemeContext.jsx # Theme management with system preference detection
├── ui/
│ ├── components/ # Individual component implementations
│ │ ├── button/ # Button component with variants
│ │ ├── input/ # Input with labeling and layouts
│ │ ├── tree/ # Hierarchical tree component
│ │ ├── tabs/ # Tab navigation system
│ │ ├── popup/ # Context menus and dropdowns
│ │ ├── toolwindow/ # Resizable panels with tabs
│ │ ├── stripe/ # Vertical toolbar system
│ │ ├── showcase/ # Code examples and design tokens
│ │ ├── projectselector/ # Project selection widget
│ │ └── icon/ # Icon component system
│ └── styles/
│ ├── Themes.css # Comprehensive theming system
│ ├── Colors.css # Color scales and palettes
│ └── Typography.css # Typography system
└── icons/ # SVG icon assets
Each component follows a consistent pattern:
The library uses a sophisticated CSS custom properties system:
<Button type="primary" size="slim">Primary Button</Button>
<Button type="secondary" disabled>Secondary Button</Button>
primary, secondarydefault, slimdisabled<Input label="Name" placeholder="Enter name..." />
<Input label="Email" layout="vertical" />
<Input error placeholder="Error state" />
horizontal (default), verticaldisabled, errordefault, small<Tree
data={treeData}
onNodeSelect={(id, selected) => {}}
onNodeToggle={(id, expanded) => {}}
/>
<TabBar
tabs={[{label: "Home"}, {label: "Settings", closable: true}]}
direction="horizontal"
size="small"
/>
horizontal, verticaldefault, small<Popup visible={true} header="Actions">
<Popup.Cell type="line" icon="📄">New File</Popup.Cell>
<Popup.Cell type="separator" />
<Popup.Cell type="search" placeholder="Search..." />
</Popup>
line, multiline, separator, search<ToolWindow
title="Project"
width={320}
height={400}
actions={['more', 'minimize']}
headerType="tabs"
tabs={[{label: "Debugger"}, {label: "Console"}]}
>
<Tree data={data} />
</ToolWindow>
default, tabs<ProjectSelector
projectName="my-project"
projectIcon="MP"
projectColor="cobalt"
projects={projects}
onProjectSelect={(project) => {}}
/>
The library uses a comprehensive color system with semantic naming:
/* Background Colors */
--bg-primary: var(--gray-10);
--bg-secondary: var(--gray-20);
--bg-elevated: var(--gray-white);
/* Text Colors */
--text-primary: var(--gray-black);
--text-secondary: var(--gray-70);
--text-muted: var(--gray-80);
/* Interactive Colors */
--accent-primary: var(--blue-80);
--button-primary-bg: var(--blue-80);
--input-border-focus: var(--blue-80);
.text-ui-default /* 13px Inter, 500 weight */
.text-ui-small /* 12px Inter, 500 weight */
.text-editor-default /* 13px JetBrains Mono, 500 weight */
.text-editor-small /* 12px JetBrains Mono, 500 weight */
npm install
npm start
Opens http://localhost:3000 with the component showcase.
npm run build
Creates optimized production build in the build folder.
npm test
Launches the test runner in interactive watch mode.
import { ThemeProvider } from './ThemeContext';
import Button from './ui/components/button/Button';
import './ui/styles/Themes.css';
function App() {
return (
<ThemeProvider>
<Button type="primary">Hello World</Button>
</ThemeProvider>
);
}
import { useTheme } from './ThemeContext';
function MyComponent() {
const { theme, themeMode, toggleTheme } = useTheme();
return (
<button onClick={toggleTheme}>
Current theme: {theme} (mode: {themeMode})
</button>
);
}
Components are configured in componentsConfig.js:
export const componentsConfig = [
{
name: 'Buttons',
key: 'buttons',
description: 'Primary and secondary button variants',
category: 'components'
},
// ... more components
];
The library includes a comprehensive showcase application that demonstrates:
The library automatically detects system theme preferences and updates accordingly:
// ThemeContext.jsx
const getSystemTheme = () => {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
};
All colors are defined as CSS custom properties, enabling easy theming:
:root {
--gray-10: #F7F6F8;
--gray-20: #EBEBED;
/* ... more color tokens */
}
.theme-light {
--bg-primary: var(--gray-10);
--text-primary: var(--gray-black);
}
.theme-dark {
--bg-primary: var(--gray-140);
--text-primary: var(--gray-30);
}
FAQs
JetBrains IntelliJ Platform UI Components for React - Build IDE-like interfaces and prototypes
We found that jetbrainswebtest demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.