@salutejs/giga-chat
TypeScript icon, indicating that this package has built-in type declarations

0.207.0-canary.1652.12375947799.0 • Public • Published

Библиотека компонентов GIGA CHAT

Реализация компонентов для создания веб-приложений.

Использование

Компоненты реализованы на typescript с помощью react , styled-components и emotion;

Использование данного пакета предполагает установку зависимостей: react & react-dom;

Использование styled-components и emotion на проекте необязательно, так же как и использование typescript.

Но для того чтобы компоненты работали корректно необходимо установить styled-components или emotion.

Установка пакета

$ npm install --save react react-dom
$ npm install --save @salutejs/giga-chat @salutejs/plasma-typo @salutejs/plasma-themes

Так же надо установить пакет styled-components

$ npm install --save styled-components@5.3.1

Или, если вы используете пакет @emotion

$ npm install --save @emotion/styled @emotion/react @emotion/css

Настройка при работе с пакетом styled-components

Создайте компонент для подключения глобальных стилей:

import { createGlobalStyle } from 'styled-components';
import { standard } from '@salutejs/plasma-typo';
import { plasma_giga__light } from '@salutejs/plasma-themes';

const ThemeStyle = createGlobalStyle(plasma_giga__light);
const TypoStyle = createGlobalStyle(standard);

export const GlobalStyle = () => (
    <>
        <ThemeStyle />
        <TypoStyle />
    </>
);

Настройка при работе с пакетом @emotion

Создайте компонент для подключения глобальных стилей:

import { Global, css } from '@emotion/react';
import { standard } from '@salutejs/plasma-typo';
import { plasma_giga__light } from '@salutejs/plasma-themes';

const themeStyle = css(plasma_giga__light);
const typoStyle = css(standard);

export const GlobalStyle = () => (
    <>
        <Global styles={themeStyle} />
        <Global styles={typoStyle} />
    </>
);

Корень приложения

В корне приложения вызовите компонент глобальных стилей GlobalStyle:

  • Если вы используете Create React App, делайте вызов внутри src/index.tsx.
  • Если вы используете Next.js, создайте файл pages/_app.tsx и подключите стили в нем.

Для корректной работы server side rendering приложение нужно обернуть SSRProvider (доступен в giga-chat);

Использование компонентов

Все компоненты styled-components доступны из директории components или напрямую из пакета:

// App.tsx
import { Button } from '@salutejs/giga-chat';
import { textAccent } from '@salutejs/plasma-themes/tokens/plasma-giga';

export const App = () => {
    return (
        <Button>Hello, Giga Chat!</Button>

        <p style={{color: textAccent}}>
            Token usage example
        </p>
    );
};

@emotion

Все компоненты @emotion доступны из директории emotion:

// App.tsx
import { Button } from '@salutejs/giga-chat/emotion';
import { textAccent } from '@salutejs/plasma-tokens/brands/plasma-giga';

export const App = () => {
    return (
        <>
            <Button>Hello, Plasma!</Button>

            <p style={{ color: textAccent }}>Token usage example</p>
        </>
    );
};

/@salutejs/giga-chat/

    Package Sidebar

    Install

    npm i @salutejs/giga-chat

    Weekly Downloads

    3

    Version

    0.207.0-canary.1652.12375947799.0

    License

    MIT

    Unpacked Size

    9.73 MB

    Total Files

    1754

    Last publish

    Collaborators

    • salute-eva
    • awinogradov
    • turanchoks
    • salute-assistant