You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Try the codesandbox, based on create-react-app tooling, to see and try the UI components
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 onceimport'@jetbrains/ring-ui-built/components/style.css';importalertServicefrom'@jetbrains/ring-ui-built/components/alert-service/alert-service';importButtonfrom'@jetbrains/ring-ui-built/components/button/button';
...
exportconstDemo=()=>{return(<ButtononClick={()=>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:
Install Ring UI with npm install @jetbrains/ring-ui --save-exact
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.
Create webpack.config.js with the following contents (example):
constringConfig=require('@jetbrains/ring-ui/webpack.config').config;constwebpackConfig={entry: 'src/entry.js',// your entry point for webpackoutput: {path: 'path/to/dist',filename: '[name].js'},module: {rules: [
...ringConfig.module.rules,<Yourruleshere>
]
}};module.exports=webpackConfig;