npm install @cdek-it/react-ui-kitдалее в scss своего проекта прописать
@use '@cdek-it/react-ui-kit/dist/theme-light.css';Для поддержки старых верси браузера, нужны следующие телодвижения
npm install -D vite-plugin-string-replaceДалее в конфиге vite.config.ts
export default defineConfig({
// ...
plugins: [
//...
StringReplace([
{
search: '@layer primereact {',
replace: '@media screen {',
},
]),
//...
]
});В дизайне в основном используется https://tabler.io/icons/
Но можно подключать свои, так как с версии 1.1.0 они не идут в пакете
Подключить можно 3 вариантами
- Иконки как шрифты
- Иконки как svg
- Иконки с CDN
Начиная с версии 1.1.0 в пакете не будут добавляться иконки @tabler/icons-webfont
Чтобы их поставить нужно
npm install @tabler/icons-webfontдалее в scss прописать
@import "@tabler/icons-webfont/dist/tabler-icons.min.css";Прочитать внимательно
При подключении иконок как шрифты у вас будет over 6000 иконок из которых вы будете использовать 1%, но весить все это будет много и грузится тоже долго. А во время загрузки будут квадраты
Поэтому лучше использовать как svg или на cdn
Подключаются как реакт компоненты, далее в сборке будут только те, которые нужны в проекте
Чтобы их поставить нужно
npm install @tabler/icons-reactдалее в scss прописать
@import "@tabler/icons-webfont/dist/tabler-icons.min.css";если используется vite, обязательно добавить строчку в vite.config.ts
//...
resolve: {
alias: {
//...
'@tabler/icons-react': '@tabler/icons-react/dist/esm/icons/index.mjs',
},
},
//...если не добавить, будет оочень долгая сборка в дев режиме https://stackoverflow.com/questions/79194970/tabler-icons-for-react-slowing-down-app-on-initial-load
Если не используется tailwind, то в scss можно добавить
@use '@cdek-it/react-ui-kit/dist/utils/icons.scss';тогда можно будет использвать классы из дизайна: вместо text-2xl -> icon-2xl и тд
Если используется tailwind, то подключение ниже
Добавляются в проекте в html, актуальность загруженной версии нужно смотреть в фронт-гильдии
<link rel="preconnect" href="https://public-static.cdek.ru" />
<link
rel="stylesheet"
href="https://public-static.cdek.ru/common/icons/v3.30.0/tabler-icons.min.css"
/>Используем v3
npm install -D tailwindcss@^3.0.0 postcss autoprefixerКонфиг для темы tailwind.config.js
/** @type {import('tailwindcss').Config} */
import { colors, screens, iconsPluginCallback } from '@cdek-it/react-ui-kit/dist/tailwind';
import plugin from 'tailwindcss/plugin';
export default {
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
theme: {
colors,
screens,
extend: {
...themeExtend,
},
},
plugins: [
// для иконок, чтобы можно было использовать icon-2xl, icon-[111px], md:icon-3xl
plugin(iconsPluginCallback),
],
};Конфиг postcss.config.js
export default {
plugins: {
'postcss-import': {},
tailwindcss: {},
autoprefixer: {},
},
};Далее в своем проекте подключаем
@use '@cdek-it/react-ui-kit/dist/utils/typography.scss';
@tailwind base;
@tailwind utilities;...