VS Code styled Fluent UI components for React. Wraps Fluent UI v9 components and applies VS Code theme-based styling using Griffel CSS-in-JS.
npm install vsc-ui-reactimport { VscButton } from 'vsc-ui-react';
export function Example() {
return (
<VscButton appearance="primary" size="compact">
Save
</VscButton>
);
}| Component | Description |
|---|---|
VscButton |
Standard button with VS Code styling |
VscSplitButton |
Button with a primary action and a dropdown trigger |
VscMenuButton |
Button that opens a menu |
| Component | Description |
|---|---|
VscInput |
Text input with validation state and icon support |
VscTextarea |
Multi-line text input |
VscSearchBox |
Search-specific input with built-in icon styling |
| Component | Description |
|---|---|
VscField |
Wrapper providing label, validation message, and hint for form controls |
| Component | Description |
|---|---|
VscDropdown |
Select-style dropdown |
VscCombobox |
Editable combobox with filtering |
VscListbox |
Inline listbox |
VscOption |
Option item |
VscOptionGroup |
Grouped options |
VscTriggerLabel |
Label portion inside a dropdown trigger |
VscTriggerDescription |
Description portion inside a dropdown trigger |
VscOptionSeparator |
Visual separator between options |
| Component | Description |
|---|---|
VscMenuPopover |
Menu popover container |
VscMenuList |
Menu list wrapper |
VscMenuItem |
Standard menu item |
VscMenuItemCheckbox |
Checkbox menu item |
VscMenuItemRadio |
Radio menu item |
VscMenuDivider |
Menu divider |
VscMenuGroup |
Grouped menu items |
VscMenuGroupHeader |
Header for a menu group |
Also re-exports Menu, MenuTrigger, and MenuSplitGroup from Fluent UI for convenience.
| Component | Description |
|---|---|
VscTabList |
Tab strip container |
VscTab |
Individual tab |
Interactive component documentation is built in. To run locally:
npm run storybookThis starts Storybook at http://localhost:6007. Use the toolbar toggle to switch between dark and light themes.
To build a static Storybook site:
npm run build-storybookStories live alongside their components in src/components/<Name>/<Name>.stories.tsx.
See CONTRIBUTING.md for development setup and publishing instructions.