8.51.0 • Published 6 months ago

@admiral-ds/react-ui v8.51.0

Weekly downloads
-
License
See license in ./...
Repository
github
Last release
6 months ago

@admiral-ds/react-ui

Библиотека компонентов React, основанная на дизайн системе Admiral 2.1

Содержимое

Установка

@admiral-ds/react-ui требует зависимостей :

  1. styled-components > 5.1.0
  2. react > 16.0.0
  3. react-dom > 16.0.0

    Можно воспользоваться готовым темплейтом с настроенной библиотекой https://github.com/AdmiralDS/web-app-vite-admiral или создать проект снуля и установить библиотеку:

$ npm create vite@latest my-web-app -- --template react-ts
$ cd my-web-app
$ npm install
$ npm i @admiral-ds/react-ui
$ npm run dev

Подключение

Для правильной работы @admiral-ds/react-ui требуется использовать <ThemeProvider>, <FontsVTBGroup /> и <DropdownProvider>, их рекомендуется подключать в корне проекта:

main.tsx

import React from 'react';
import ReactDOM from 'react-dom/client';
import { ThemeProvider } from 'styled-components';
import { LIGHT_THEME, FontsVTBGroup, DropdownProvider } from '@admiral-ds/react-ui';
import App from './App';
import './index.css';

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <ThemeProvider theme={LIGHT_THEME}>
      <DropdownProvider>
        <FontsVTBGroup />
        <App />
      </DropdownProvider>
    </ThemeProvider>
  </React.StrictMode>,
);

App.tsx

import { useState } from 'react';
import styled from 'styled-components';
import './App.css';

// Импорт иконки как URL ресурс
import reactLogo from './assets/react.svg';
import { T, Link } from '@admiral-ds/react-ui';

const Divider = styled.div`
  width: 10px;
  height: 12px;
`;

function App() {
  const [count, setCount] = useState(0);

  return (
    <>
      <div>
        <a href="https://vitejs.dev" target="_blank">
          {/* импорт иконки через директорию assets. Доступ к этой директории есть и у index.html */}
          <img src="/vite.svg" className="logo" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react" alt="React logo" />
        </a>
      </div>
      <h1>Vite + React</h1>
      <div className="card">
        <button className="button" onClick={() => setCount((count) => count + 1)}>
          count is {count}
        </button>
        <T font="Subtitle/Subtitle 1" as="p">
          Edit <code>src/App.tsx</code> and save to test HMR
        </T>
      </div>
      <p className="read-the-docs">Click on the Vite and React logos to learn more</p>
      <Link appearance="primary" href="https://admiralds.github.io/react-ui" target="_blank" rel="noopener noreferrer">
        Admiral Storybook
        <Divider />
      </Link>
    </>
  );
}

export default App;

Если ваш проект НЕ использует create-react-app , то для правильной работы webpack вам потребуется настройка file-loader, и SVGR.

$ npm i -D @svgr/webpack

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const AppConfig = require('./src/app.config');

module.exports = {
  entry: './src/index.tsx',
  output: {
    path: path.resolve(__dirname, 'public'),
    filename: 'main.bundle.js',
    publicPath: AppConfig.webPackPublicPath,
  },
  plugins: [
    new HtmlWebpackPlugin({
      favicon: 'src/favicon.ico',
      template: 'src/index.html',
    }),
  ],
  module: {
    rules: [
      {
        test: /\.svg$/i,
        issuer: /\.[jt]sx?$/,
        use: ['@svgr/webpack'],
      },
      {
        test: /\.(gif|svg|jpg|png|otf|ttf)$/,
        use: 'file-loader',
      },
      {
        test: /\.(js|ts|tsx)$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
      },
    ],
  },
  resolve: {
    extensions: ['.tsx', '.ts', '.js'],
  },
  devServer: {
    hot: true,
  },
};
8.34.0

10 months ago

8.34.1

10 months ago

8.45.1

8 months ago

8.45.0

8 months ago

8.35.0

10 months ago

8.50.0

6 months ago

8.46.0

7 months ago

8.36.0

9 months ago

8.51.0

6 months ago

8.47.0

7 months ago

8.37.0

9 months ago

8.40.0

9 months ago

8.40.1

9 months ago

8.40.2

9 months ago

8.48.0

7 months ago

8.30.0

11 months ago

8.30.1

11 months ago

8.38.0

9 months ago

8.41.0

9 months ago

8.49.1

6 months ago

8.49.0

7 months ago

8.31.0

11 months ago

8.39.0

9 months ago

8.39.1

9 months ago

8.28.2

1 year ago

8.27.0

1 year ago

8.39.2

9 months ago

8.42.0

9 months ago

8.32.0

10 months ago

8.29.1

12 months ago

8.29.2

11 months ago

8.29.3

11 months ago

8.29.4

11 months ago

8.28.0

1 year ago

8.28.1

1 year ago

8.43.0

9 months ago

8.33.0

10 months ago

8.33.1

10 months ago

8.29.0

1 year ago

8.44.1

8 months ago

8.44.0

8 months ago

8.26.0

1 year ago

8.25.3

1 year ago

8.25.4

1 year ago

8.25.2

1 year ago

8.25.1

1 year ago

8.25.0

1 year ago

8.24.0

1 year ago

8.24.1

1 year ago

8.24.2

1 year ago

8.22.0

1 year ago

8.19.0

1 year ago

8.23.0

1 year ago

8.17.0

1 year ago

8.20.0

1 year ago

8.18.0

1 year ago

8.21.0

1 year ago

8.18.1

1 year ago

8.11.0

1 year ago

8.15.0

1 year ago

8.6.0

1 year ago

8.12.0

1 year ago

8.16.0

1 year ago

8.7.0

1 year ago

8.13.0

1 year ago

8.4.5

2 years ago

8.8.0

1 year ago

8.4.4

2 years ago

8.4.7

1 year ago

8.4.6

1 year ago

8.4.3

2 years ago

8.4.2

2 years ago

8.4.8

1 year ago

8.10.0

1 year ago

8.10.2

1 year ago

8.10.1

1 year ago

8.14.0

1 year ago

8.9.0

1 year ago

8.5.0

1 year ago

8.4.1

2 years ago

8.4.0

2 years ago

8.3.1

2 years ago

8.3.0

2 years ago

8.2.0

2 years ago

8.1.1

2 years ago

8.1.0

2 years ago

8.0.3

2 years ago

8.0.2

2 years ago

8.0.1

2 years ago

8.0.0

2 years ago

7.15.0

2 years ago

7.14.2

2 years ago

7.14.0

2 years ago

7.14.1

2 years ago

7.13.0

2 years ago

7.12.2

2 years ago

7.12.1

2 years ago

7.12.0

2 years ago

7.11.1

2 years ago

7.11.0

2 years ago

7.10.0

2 years ago

7.9.2

2 years ago

7.9.1

2 years ago

7.9.0

2 years ago

7.8.4

2 years ago

7.8.3

2 years ago

7.8.2

2 years ago

7.8.1

2 years ago

7.8.0

2 years ago

7.7.0

2 years ago

7.6.1

2 years ago

7.6.0

2 years ago

7.5.1

2 years ago

7.5.0

2 years ago

7.4.1

2 years ago

7.4.0

2 years ago

7.3.0

2 years ago

5.3.0

2 years ago

6.1.0

2 years ago

6.3.0

2 years ago

6.1.1

2 years ago

7.1.0

2 years ago

5.4.0

2 years ago

6.0.0

2 years ago

6.2.0

2 years ago

7.0.0

2 years ago

7.2.0

2 years ago

5.1.0

2 years ago

5.2.0

2 years ago

5.0.1

3 years ago

5.0.0

3 years ago

4.17.0

3 years ago

4.14.1

3 years ago

4.16.0

3 years ago

4.16.1

3 years ago

4.12.0

3 years ago

4.14.0

3 years ago

4.15.0

3 years ago

4.15.1

3 years ago

4.11.0

3 years ago

4.11.1

3 years ago

4.13.0

3 years ago

4.11.2

3 years ago

4.9.2

3 years ago

4.9.1

3 years ago

4.10.0

3 years ago

4.4.1

3 years ago

4.4.0

3 years ago

4.6.0

3 years ago

4.4.2

3 years ago

4.2.0

3 years ago

4.8.1

3 years ago

4.8.0

3 years ago

4.5.0

3 years ago

4.7.0

3 years ago

4.5.2

3 years ago

4.5.1

3 years ago

4.3.0

3 years ago

3.10.1

3 years ago

3.10.0

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

3.8.3

3 years ago

3.8.2

3 years ago

3.9.0

3 years ago

3.8.1

3 years ago

3.4.0

3 years ago

3.3.0

3 years ago

3.2.0

3 years ago

3.1.0

3 years ago

3.0.1

3 years ago

3.8.0

3 years ago

3.7.0

3 years ago

3.6.0

3 years ago

3.5.0

3 years ago

2.5.0

3 years ago

2.4.0

3 years ago

2.3.0

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.2.2

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.10.0

3 years ago

1.2.0

4 years ago

1.9.0

3 years ago

1.8.0

3 years ago

1.7.0

3 years ago

1.5.2

3 years ago

1.6.0

3 years ago

1.5.1

3 years ago

1.4.2

3 years ago

1.5.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago

0.9.1

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago