# Библиотека компонентов Plasma B2C Набор компонентов и утилит для создания web-приложений на базе [ReactJS](https://reactjs.org/). ## Использование Библиотека реализована с помощью: - [typescript](https://www.typescriptlang.org/) - [styled-components](https://styled-components.com/) (рекомендуем использовать версию `5.3.11`) Однако их использование **необязательно**! ### Установка зависимостей ```bash $ npm install --save @salutejs/plasma-b2c @salutejs/plasma-themes ``` Для работы со `styled-components`, необходимо установить ```bash $ npm install --save styled-components@5.3.11 ``` ### Использование компонентов Все компоненты доступны напрямую из пакета ```jsx import styled from 'styled-components'; import { Button } from '@salutejs/plasma-b2c'; import { textAccent } from '@salutejs/plasma-themes/tokens'; export const App = () => { const StyledP = styled.p` color: ${textAccent}; `; return ( <> Token usage example ); }; ``` ## Подключение шрифтов Типографическая система основана на фирменных шрифтах. Для того чтобы шрифт было удобно поставлять в web-приложения, шрифт был загружен на **CDN** Для использования типографической системы необходимо загрузить два `css` файла в зависимости от используемых шрифтов в теме. ### Create react app Добавить внутрь тега `head`. ```html B2C App ... ``` ### NextJs ```tsx import Head from 'next/head'; import { H2, Button } from '@salutejs/plasma-b2c'; export default function Home() { return ( <> Create Next App with plasma-b2c components

Salute B2C

); } ``` **Примечание:** Библиотека поддерживает работу с **RSC** только при **явном использовании** директивы **'use client'**. ```js 'use client'; import { Button } from '@salutejs/plasma-b2c'; ``` ## Подключение темы Точкой входа является корень приложения: - Если вы используете [Create React App](https://create-react-app.dev), делайте вызов внутри `src/index.tsx`. - Если вы используете [Next.js](https://nextjs.org/), создайте файл `pages/_app.tsx` и подключите стили в нем. ### Styled components ```jsx import React from 'react'; import { createGlobalStyle } from 'styled-components'; import { Button, BodyL } from '@salutejs/plasma-b2c'; import { plasma_b2c__light } from '@salutejs/plasma-themes'; const Theme = createGlobalStyle(plasma_b2c__light); const App = () => { return ( <> Hello B2C