Nuns Practicing Misanthropy

    @jetbrains/ring-ui

    5.0.69 • Public • Published

    Ring UI — JetBrains Web UI components

    Storybook Build Status Storybook Dependencies Status Dev Dependencies Status 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

    • Try the codesandbox, based on create-react-app tooling, to see and try the UI components
    • Check out list of examples for each component

    Installation

    npm install @jetbrains/ring-ui

    Quick start

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

    // You need to import RingUI styles once
    import '@jetbrains/ring-ui/dist/style.css';
    
    import alertService from '@jetbrains/ring-ui/dist/alert-service/alert-service';
    import Button from '@jetbrains/ring-ui/dist/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.

      import React from 'react';
      import ReactDOM from 'react-dom';
      import LoaderInline from '@jetbrains/ring-ui/components/loader-inline/loader-inline';
      
      ReactDOM.render(<LoaderInline/>, document.getElementById('container'));
    3. Create webpack.config.js with the following contents (example):

      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,
            <Your rules here>
          ]
        }
      };
      
      module.exports = webpackConfig;

    Contributing

    See CONTRIBUTING.md

    Links

    Keywords

    none

    Install

    npm i @jetbrains/ring-ui

    DownloadsWeekly Downloads

    2,900

    Version

    5.0.69

    License

    Apache-2.0

    Unpacked Size

    3.81 MB

    Total Files

    1200

    Last publish

    Collaborators

    • skoch13
    • jetbrains-admin
    • kotlin
    • jetbrains-buildserver
    • allvo
    • bashor