MCPcopy
hub / github.com/JetBrains/ring-ui

github.com/JetBrains/ring-ui @v7.0.117 sqlite

repository ↗ · DeepWiki ↗ · release v7.0.117 ↗
2,141 symbols 4,220 edges 453 files 106 documented · 5%
README

Ring UI — JetBrains Web UI components

Storybook Build Status Storybook NPM version NPM downloads

official JetBrains project

This collection of UI components aims to provide all the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.

Try now

Installation

  • For Quick Start, use pre-built version: npm install @jetbrains/ring-ui-built
  • For complex projects, use "sources" version npm install @jetbrains/ring-ui You will then need to include building Ring UI into your WebPack build (see "Building Ring UI from source via Webpack" below)

Quick start

The easiest way is to import necessary components as ES modules:

// You need to import RingUI styles once
import '@jetbrains/ring-ui-built/components/style.css';

import alertService from '@jetbrains/ring-ui-built/components/alert-service/alert-service';
import Button from '@jetbrains/ring-ui-built/components/button/button';

...

export const Demo = () => {
  return (
    <Button onClick={() => alertService.successMessage('Hello world')}>
      Click me
    </Button>
  );
};

The bundle size will depend on the amount of components you imported.

Building Ring UI from source via Webpack

In case you have complex build, and you want to compile RingUI sources together with your sources in a same build process, you can use the following configuration:

  1. Install Ring UI with npm install @jetbrains/ring-ui --save-exact

  2. If you are building your app with webpack, make sure to import ring-ui components where needed. Otherwise, create an entry point (for example, /app/app__components.tpl.js) and import the components there. ``` javascript import React from 'react'; import ReactDOM from 'react-dom'; import LoaderInline from '@jetbrains/ring-ui/components/loader-inline/loader-inline';

ReactDOM.render(, document.getElementById('container')); ```

  1. Create webpack.config.js with the following contents (example): ``` javascript const ringConfig = require('@jetbrains/ring-ui/webpack.config').config;

const webpackConfig = { entry: 'src/entry.js', // your entry point for webpack output: { path: 'path/to/dist', filename: '[name].js' }, module: { rules: [ ...ringConfig.module.rules, ] } };

module.exports = webpackConfig; ```

Contributing

See CONTRIBUTING.md

Extension points exported contracts — how you extend this code

LoginFlow (Interface)
(no doc) [4 implementers]
src/auth/auth-core.ts
HTTPAuth (Interface)
(no doc) [3 implementers]
src/http/http.ts
StorageInterface (Interface)
(no doc) [2 implementers]
src/storage/storage.ts
TabTrap (Interface)
* @name TabTrap
src/tab-trap/tab-trap.tsx
ParticleType (Interface)
(no doc) [2 implementers]
src/loader/loader-core.ts
AnalyticsPlugin (Interface)
(no doc) [2 implementers]
src/analytics/analytics.ts
RerendererProps (Interface)
* Wraps a component to add a "rerender" method * @param ComposedComponent * @param captureNode, whether the wrapper sh
src/global/rerender-hoc.tsx
ConfirmArgs (Interface)
(no doc)
src/confirm/confirm.stories.tsx

Core symbols most depended-on inside this repo

has
called by 88
src/global/memoize.ts
simulateCombo
called by 60
test-helpers/simulate-combo.ts
translate
called by 54
src/i18n/i18n.ts
add
called by 46
src/global/dom.ts
get
called by 41
src/global/memoize.ts
getUID
called by 35
src/global/get-uid.ts
bind
called by 31
src/shortcuts/core.ts
addDependency
called by 26
packages/rollup-css-plugin/css-plugin-dependencies.js

Shape

Function 735
Method 717
Class 338
Interface 332
Enum 19

Languages

TypeScript100%

Modules by API surface

src/auth/auth-core.ts69 symbols
src/select/select.tsx48 symbols
src/select/select.stories.tsx47 symbols
src/query-assist/query-assist.tsx34 symbols
src/loader/loader-core.ts34 symbols
src/list/list.tsx29 symbols
src/table/selection.ts27 symbols
src/select/select-popup.tsx26 symbols
src/shortcuts/core.ts22 symbols
src/popup/popup.tsx22 symbols
src/popup/popup.stories.tsx22 symbols
src/global/dom.ts21 symbols

Dependencies from manifests, versioned

@babel/cli7.29.7 · 1×
@babel/core7.29.7 · 1×
@babel/eslint-parser7.29.7 · 1×
@babel/preset-typescript7.29.7 · 1×
@csstools/css-parser-algorithms4.0.0 · 1×
@csstools/stylelint-no-at-nest-rule5.0.0 · 1×
@eslint/compat2.1.0 · 1×
@eslint/eslintrc3.3.5 · 1×
@eslint/js10.0.1 · 1×
@figma/code-connect1.4.7 · 1×
@jetbrains/babel-preset-jetbrains2.4.0 · 1×
@jetbrains/eslint-config6.0.5 · 1×

For agents

$ claude mcp add ring-ui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact