@cdek-it/typography — пакет с глобальными типографическими стилями для веб-приложений.
Подключается один раз и применяется ко всему проекту.
Для улучшения производительности рекомендуется использовать preconnect:
<link rel="preconnect" href="https://public-static.cdek.ru" />
<link rel="stylesheet" href="https://public-static.cdek.ru/common/typography/v3.0.1/typography.min.css">
⚠️ Подключение должно идти до ваших кастомных стилей, если вы планируете их переопределять.
npm install @cdek-it/typographyили
yarn add @cdek-it/typographyИмпорт в CSS/SCSS файл:
@import '@cdek-it/typography/dist/index.min.css';src/assets/main.css
@import '@cdek-it/typography/dist/index.min.css';src/main.ts
import { createApp } from 'vue';
import App from './App.vue';
import './assets/main.css';
createApp(App).mount('#app');src/main.tsx или src/index.tsx
import '@cdek-it/typography/dist/index.min.css';
import App from './App';
export default App;pages/_app.tsx или app/layout.tsx
import '@cdek-it/typography/dist/index.min.css';
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />;
}nuxt.config.ts
export default defineNuxtConfig({
css: [
'@cdek-it/typography/dist/index.min.css',
],
});angular.json
{
"styles": [
"node_modules/@cdek-it/typography/dist/index.min.css",
"src/styles.css"
]
}Начиная с версии 4.0.0 стили пакета живут в слое components, а сам пакет объявляет
порядок слоёв:
@layer theme, base, components, utilities;Это значит, что утилиты Tailwind и токен-утилиты переопределяют цвет текста без !:
<h2 class="title-h2 text-white">Заголовок на тёмном фоне</h2>
<p class="body-regular-base text-color-secondary">Подпись</p>Работает при любом порядке подключения — и когда пакет импортирован до Tailwind, и когда после.
Обычный CSS вне слоёв сильнее любого слоя, поэтому такое переопределение работает как раньше:
<link rel="preconnect" href="https://public-static.cdek.ru" />
<link rel="stylesheet" href="https://public-static.cdek.ru/common/typography/v3.0.1/typography.min.css">
<style>
h1 {
font-weight: 700;
}
</style>Переопределять можно и из своего слоя components — при условии, что он подключён после пакета:
@import '@cdek-it/typography/dist/index.min.css';
@layer components {
.title-h2 {
font-weight: 700;
}
}- Обходы вида
text-white!продолжают работать, чистить их можно постепенно - Если вы переопределяли типографику из слоя
base— перенесите правила вcomponentsили в обычный CSS вне слоёв
- Подключайте стили один раз на уровне приложения
- Используйте
typography.min.cssв продакшене - Не подключайте typography в
scoped/moduleстилях - Переопределяйте стили после подключения пакета — см. раздел «Слои каскада»
- Используйте preconnect для улучшения производительности загрузки
Для включения темной темы используйте JavaScript:
document.documentElement.dataset.theme = 'dark';
⚠️ Это решение-хак для случаев, когда не используются библиотеки Prime для переключения темы. В штатных ситуациях рекомендуется использовать встроенные механизмы управления темами.