Skip to content

myHerbAI/ring-ui

This branch is 1174 commits behind JetBrains/ring-ui:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7189c31 · Sep 6, 2024
Jul 24, 2024
Apr 29, 2024
Jul 20, 2024
Jun 7, 2024
Jan 27, 2023
Aug 21, 2024
Aug 1, 2024
Sep 11, 2023
Sep 6, 2024
Sep 6, 2024
Aug 2, 2024
Jun 5, 2024
Oct 16, 2014
Jun 7, 2024
Aug 2, 2024
Mar 1, 2013
Nov 13, 2023
May 31, 2022
Jan 8, 2024
Sep 6, 2024
Feb 15, 2023
Jul 24, 2024
Aug 2, 2017
Feb 15, 2024
Apr 23, 2024
Jul 17, 2024
Jun 14, 2024
Apr 13, 2023
Jan 17, 2018
Sep 6, 2024
Sep 6, 2024
Mar 2, 2021
Aug 9, 2024
Sep 28, 2023
Apr 15, 2024
May 24, 2022
Jun 16, 2023
Apr 23, 2024
Dec 10, 2021
Aug 31, 2023
Jun 7, 2024
Nov 9, 2023
May 23, 2024
Apr 9, 2024

Repository files navigation

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

  • 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

  • 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.

    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

About

A collection of JetBrains Web UI components

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 85.7%
  • CSS 11.2%
  • JavaScript 3.0%
  • Other 0.1%