@mr.slonn/my-scss-theme 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -0
- package/index.scss +1 -0
- package/package.json +10 -0
- package/scss/.sassdocrc +85 -0
- package/scss/_font-vars.scss +25 -0
- package/scss/_fonts.scss +139 -0
- package/scss/abstracts/_animations.scss +819 -0
- package/scss/abstracts/_breakpoints.scss +865 -0
- package/scss/abstracts/_colors.scss +256 -0
- package/scss/abstracts/_functions.scss +3 -0
- package/scss/abstracts/_grid.scss +816 -0
- package/scss/abstracts/_index.scss +134 -0
- package/scss/abstracts/_mixins.scss +1142 -0
- package/scss/abstracts/_patterns.scss +657 -0
- package/scss/abstracts/_radius.scss +279 -0
- package/scss/abstracts/_search-form.scss +271 -0
- package/scss/abstracts/_spacing.scss +158 -0
- package/scss/abstracts/_typography.scss +477 -0
- package/scss/abstracts/_utilities.scss +0 -0
- package/scss/abstracts/_variables.scss +3 -0
- package/scss/abstracts/breadcrumb/_base.scss +194 -0
- package/scss/abstracts/breadcrumb/_index.scss +12 -0
- package/scss/abstracts/breadcrumb/_variables.scss +54 -0
- package/scss/abstracts/buttons/_base.scss +92 -0
- package/scss/abstracts/buttons/_index.scss +31 -0
- package/scss/abstracts/buttons/_modifiers.scss +114 -0
- package/scss/abstracts/buttons/_variables.scss +98 -0
- package/scss/abstracts/buttons/_variants.scss +295 -0
- package/scss/abstracts/callout/_base.scss +142 -0
- package/scss/abstracts/callout/_index.scss +23 -0
- package/scss/abstracts/callout/_variables.scss +27 -0
- package/scss/abstracts/cards/_base.scss +74 -0
- package/scss/abstracts/cards/_blur.scss +65 -0
- package/scss/abstracts/cards/_featured.scss +363 -0
- package/scss/abstracts/cards/_hover.scss +99 -0
- package/scss/abstracts/cards/_index.scss +51 -0
- package/scss/abstracts/cards/_parts.scss +135 -0
- package/scss/abstracts/cards/_sizes.scss +52 -0
- package/scss/abstracts/cards/_variables.scss +72 -0
- package/scss/abstracts/cards/_variants.scss +143 -0
- package/scss/abstracts/cards/_vertical.scss +218 -0
- package/scss/abstracts/chip/_base.scss +99 -0
- package/scss/abstracts/chip/_icon.scss +73 -0
- package/scss/abstracts/chip/_index.scss +21 -0
- package/scss/abstracts/chip/_variables.scss +57 -0
- package/scss/abstracts/chip/_variants.scss +98 -0
- package/scss/abstracts/file-card/_base.scss +326 -0
- package/scss/abstracts/file-card/_index.scss +12 -0
- package/scss/abstracts/file-card/_variables.scss +79 -0
- package/scss/abstracts/hero/_base.scss +182 -0
- package/scss/abstracts/hero/_index.scss +23 -0
- package/scss/abstracts/hero/_variables.scss +59 -0
- package/scss/abstracts/info-card/_base.scss +152 -0
- package/scss/abstracts/info-card/_index.scss +12 -0
- package/scss/abstracts/info-card/_variables.scss +44 -0
- package/scss/abstracts/news-card/_base.scss +143 -0
- package/scss/abstracts/news-card/_compact.scss +24 -0
- package/scss/abstracts/news-card/_featured.scss +83 -0
- package/scss/abstracts/news-card/_index.scss +31 -0
- package/scss/abstracts/news-card/_variables.scss +44 -0
- package/scss/abstracts/project-card/_base.scss +109 -0
- package/scss/abstracts/project-card/_index.scss +23 -0
- package/scss/abstracts/project-card/_variables.scss +20 -0
- package/scss/abstracts/search-form/_base.scss +132 -0
- package/scss/abstracts/search-form/_composite.scss +54 -0
- package/scss/abstracts/search-form/_index.scss +31 -0
- package/scss/abstracts/search-form/_theme.scss +89 -0
- package/scss/abstracts/search-form/_variables.scss +39 -0
- package/scss/abstracts/section-title/_base.scss +127 -0
- package/scss/abstracts/section-title/_index.scss +23 -0
- package/scss/abstracts/section-title/_variables.scss +27 -0
- package/scss/abstracts/service-card/_base.scss +77 -0
- package/scss/abstracts/service-card/_index.scss +23 -0
- package/scss/abstracts/service-card/_variables.scss +23 -0
- package/scss/abstracts/sidebar-menu/_base.scss +148 -0
- package/scss/abstracts/sidebar-menu/_index.scss +12 -0
- package/scss/abstracts/sidebar-menu/_variables.scss +55 -0
- package/scss/abstracts/stats-card/_base.scss +99 -0
- package/scss/abstracts/stats-card/_index.scss +23 -0
- package/scss/abstracts/stats-card/_variables.scss +32 -0
- package/scss/api.scss +12 -0
- package/scss/components/_breadcrumb.scss +140 -0
- package/scss/components/_buttons.scss +226 -0
- package/scss/components/_callout.scss +118 -0
- package/scss/components/_chip.scss +56 -0
- package/scss/components/_file-card.scss +182 -0
- package/scss/components/_hero.scss +103 -0
- package/scss/components/_index.scss +110 -0
- package/scss/components/_info-card.scss +103 -0
- package/scss/components/_news-card-compact.scss +33 -0
- package/scss/components/_news-card-featured.scss +49 -0
- package/scss/components/_news-card.scss +303 -0
- package/scss/components/_project-card.scss +93 -0
- package/scss/components/_search-form.scss +181 -0
- package/scss/components/_section-title.scss +94 -0
- package/scss/components/_service-card.scss +83 -0
- package/scss/components/_sidebar-menu.scss +82 -0
- package/scss/components/_stats-card.scss +92 -0
- package/scss/components/_tag.scss +144 -0
- package/scss/components/_top-nav.scss +537 -0
- package/scss/main.scss +73 -0
- package/scss/utilities/_index.scss +40 -0
- package/scss/utilities/_visibility.scss +224 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// FILE CARD — CSS Classes
|
|
3
|
+
// local/common/theme-moexp/src/scss/components/_file-card.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// File Card — карточка файла для скачивания
|
|
8
|
+
/// CSS классы для использования в шаблонах Bitrix
|
|
9
|
+
/// @group components-file-card
|
|
10
|
+
/// @author MOEXP Team
|
|
11
|
+
////
|
|
12
|
+
|
|
13
|
+
@use "../abstracts/file-card" as fc;
|
|
14
|
+
@use "../abstracts/mixins";
|
|
15
|
+
@use "../abstracts/spacing";
|
|
16
|
+
@use "../abstracts/typography";
|
|
17
|
+
@use "../abstracts/radius";
|
|
18
|
+
@use "../abstracts/breakpoints";
|
|
19
|
+
|
|
20
|
+
// ============================================
|
|
21
|
+
// LIST
|
|
22
|
+
// ============================================
|
|
23
|
+
|
|
24
|
+
// ============================================
|
|
25
|
+
// LIST
|
|
26
|
+
// ============================================
|
|
27
|
+
|
|
28
|
+
.file-list {
|
|
29
|
+
@include fc.list;
|
|
30
|
+
|
|
31
|
+
> .file-item:not(:last-child) {
|
|
32
|
+
border-bottom: 1px solid;
|
|
33
|
+
@include mixins.border-color-hsl(border, 0.5);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// вложенный список
|
|
37
|
+
&--nested {
|
|
38
|
+
@include fc.nested;
|
|
39
|
+
border: 0;
|
|
40
|
+
border-radius: 0;
|
|
41
|
+
background: transparent;
|
|
42
|
+
|
|
43
|
+
> .file-item:not(:last-child) {
|
|
44
|
+
border-bottom: 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// позиция списка
|
|
50
|
+
.file-item {
|
|
51
|
+
margin: 0;
|
|
52
|
+
padding: 0;
|
|
53
|
+
|
|
54
|
+
&--group {
|
|
55
|
+
// группа = единый визуальный блок
|
|
56
|
+
> .file-card {
|
|
57
|
+
border-bottom: 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// ============================================
|
|
63
|
+
// CARD
|
|
64
|
+
// ============================================
|
|
65
|
+
|
|
66
|
+
.file-card {
|
|
67
|
+
@include fc.card;
|
|
68
|
+
|
|
69
|
+
// ──────────────────────────────
|
|
70
|
+
// Элементы
|
|
71
|
+
// ──────────────────────────────
|
|
72
|
+
|
|
73
|
+
&__icon {
|
|
74
|
+
@include fc.icon;
|
|
75
|
+
|
|
76
|
+
svg {
|
|
77
|
+
@include fc.icon-color(accent);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&__content {
|
|
82
|
+
@include fc.content;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&__title {
|
|
86
|
+
@include fc.title(foreground);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&__description {
|
|
90
|
+
@include fc.description(foreground-muted);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&__actions {
|
|
94
|
+
@include fc.actions;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&__meta {
|
|
98
|
+
@include fc.meta;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&__date {
|
|
102
|
+
@include fc.date(foreground-muted);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&__size {
|
|
106
|
+
@include fc.size(foreground-caption);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&__download {
|
|
110
|
+
@include fc.download;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// ──────────────────────────────
|
|
114
|
+
// Вложенная карточка
|
|
115
|
+
// ──────────────────────────────
|
|
116
|
+
|
|
117
|
+
&--nested {
|
|
118
|
+
@include fc.card-nested;
|
|
119
|
+
|
|
120
|
+
.file-card__icon {
|
|
121
|
+
width: fc.$icon-size-nested;
|
|
122
|
+
height: fc.$icon-size-nested;
|
|
123
|
+
|
|
124
|
+
svg {
|
|
125
|
+
width: fc.$icon-svg-size-nested;
|
|
126
|
+
height: fc.$icon-svg-size-nested;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.file-card__download {
|
|
131
|
+
width: fc.$download-size-nested;
|
|
132
|
+
height: fc.$download-size-nested;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.file-card__title {
|
|
136
|
+
font-size: typography.$font-size-sm;
|
|
137
|
+
margin-bottom: spacing.$spacing-2xs;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.file-card__description {
|
|
141
|
+
font-size: typography.$font-size-xs;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// ──────────────────────────────
|
|
146
|
+
// Модификаторы
|
|
147
|
+
// ──────────────────────────────
|
|
148
|
+
|
|
149
|
+
&--compact {
|
|
150
|
+
.file-card__title {
|
|
151
|
+
margin-bottom: 0;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
&--static {
|
|
156
|
+
&:hover {
|
|
157
|
+
background-color: transparent;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// ============================================
|
|
163
|
+
// STANDALONE (вне списка)
|
|
164
|
+
// ============================================
|
|
165
|
+
|
|
166
|
+
.file-card--standalone {
|
|
167
|
+
@include mixins.bg-color(background-card);
|
|
168
|
+
@include mixins.border-hsl(1px, solid, border, 0.5);
|
|
169
|
+
@include radius.rounded(sm);
|
|
170
|
+
overflow: hidden;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// ============================================
|
|
174
|
+
// ACCESSIBILITY
|
|
175
|
+
// ============================================
|
|
176
|
+
|
|
177
|
+
@media (prefers-reduced-motion: reduce) {
|
|
178
|
+
.file-card,
|
|
179
|
+
.file-card__download {
|
|
180
|
+
transition: none !important;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// HERO COMPONENT
|
|
3
|
+
// local/common/theme-moexp/src/scss/components/_hero.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// Hero — Hero-секция с фоновым изображением
|
|
8
|
+
///
|
|
9
|
+
/// Готовые CSS-классы для использования в HTML.
|
|
10
|
+
/// Для кастомизации используйте миксины из abstracts/hero.
|
|
11
|
+
///
|
|
12
|
+
/// @group components-hero
|
|
13
|
+
/// @author MOEXP Team
|
|
14
|
+
/// @since 1.0.0
|
|
15
|
+
///
|
|
16
|
+
/// @example html - Базовая структура
|
|
17
|
+
/// <section class="hero">
|
|
18
|
+
/// <picture class="hero__bg">
|
|
19
|
+
/// <source srcset="image.webp" type="image/webp">
|
|
20
|
+
/// <img src="image.jpg" alt="" width="1920" height="600">
|
|
21
|
+
/// </picture>
|
|
22
|
+
///
|
|
23
|
+
/// <div class="container">
|
|
24
|
+
/// <div class="hero__container">
|
|
25
|
+
/// <h1 class="hero__title">Заголовок</h1>
|
|
26
|
+
/// <p class="hero__subtitle">Подзаголовок</p>
|
|
27
|
+
/// <div class="hero__actions">
|
|
28
|
+
/// <a href="#" class="hero__actions-btn btn btn--primary">Кнопка 1</a>
|
|
29
|
+
/// <a href="#" class="hero__actions-btn btn btn--outline">Кнопка 2</a>
|
|
30
|
+
/// </div>
|
|
31
|
+
/// </div>
|
|
32
|
+
/// </div>
|
|
33
|
+
/// </section>
|
|
34
|
+
////
|
|
35
|
+
|
|
36
|
+
@use "../abstracts/hero" as hero;
|
|
37
|
+
@use "../abstracts/typography";
|
|
38
|
+
@use "../font-vars" as fonts;
|
|
39
|
+
|
|
40
|
+
// ============================================
|
|
41
|
+
// BASE
|
|
42
|
+
// ============================================
|
|
43
|
+
|
|
44
|
+
/// Hero секция
|
|
45
|
+
/// @output position: relative, overflow: hidden, overlay
|
|
46
|
+
.hero {
|
|
47
|
+
@include hero.hero;
|
|
48
|
+
|
|
49
|
+
// ----------------------------------------
|
|
50
|
+
// CONTAINER
|
|
51
|
+
// ----------------------------------------
|
|
52
|
+
|
|
53
|
+
/// Контейнер контента Hero
|
|
54
|
+
/// @output max-width, padding, z-index
|
|
55
|
+
&__container {
|
|
56
|
+
@include hero.hero-container;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// ----------------------------------------
|
|
60
|
+
// TITLE
|
|
61
|
+
// ----------------------------------------
|
|
62
|
+
|
|
63
|
+
/// Заголовок Hero (h1)
|
|
64
|
+
/// @output Адаптивный размер, color
|
|
65
|
+
&__title {
|
|
66
|
+
@include typography.hero-title($font-heading: fonts.$font-golos-text);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// ----------------------------------------
|
|
70
|
+
// SUBTITLE
|
|
71
|
+
// ----------------------------------------
|
|
72
|
+
|
|
73
|
+
/// Подзаголовок Hero
|
|
74
|
+
/// @output max-width, font-size, opacity
|
|
75
|
+
&__subtitle {
|
|
76
|
+
@include typography.hero-subtitle;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// ----------------------------------------
|
|
80
|
+
// ACTIONS
|
|
81
|
+
// ----------------------------------------
|
|
82
|
+
|
|
83
|
+
/// Контейнер кнопок
|
|
84
|
+
/// @output flex, flex-wrap, gap
|
|
85
|
+
&__actions {
|
|
86
|
+
@include hero.hero-actions;
|
|
87
|
+
|
|
88
|
+
// Кнопка внутри actions
|
|
89
|
+
&-btn {
|
|
90
|
+
@include hero.hero-actions-btn;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// ----------------------------------------
|
|
95
|
+
// BACKGROUND
|
|
96
|
+
// ----------------------------------------
|
|
97
|
+
|
|
98
|
+
/// Фоновое изображение (picture)
|
|
99
|
+
/// @output Абсолютное позиционирование, object-fit
|
|
100
|
+
&__bg {
|
|
101
|
+
@include hero.hero-bg;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// COMPONENTS INDEX
|
|
3
|
+
// local\common\theme-moexp\src\scss\components\_index.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// Индекс CSS-компонентов темы
|
|
8
|
+
///
|
|
9
|
+
/// Центральная точка входа для всех готовых CSS-компонентов.
|
|
10
|
+
/// При `@use "components"` все классы попадают в итоговый CSS.
|
|
11
|
+
///
|
|
12
|
+
/// **Отличие от abstracts:**
|
|
13
|
+
/// - `abstracts/` — миксины для использования через `@include`
|
|
14
|
+
/// - `components/` — готовые CSS-классы для HTML
|
|
15
|
+
///
|
|
16
|
+
/// @group components
|
|
17
|
+
/// @author MOEXP Team
|
|
18
|
+
/// @since 1.0.0
|
|
19
|
+
///
|
|
20
|
+
/// @example scss - Подключение в main.scss
|
|
21
|
+
/// @use "components";
|
|
22
|
+
/// // → .chip, .chip--link, .chip--on-dark и т.д.
|
|
23
|
+
///
|
|
24
|
+
/// @example html - Использование в разметке
|
|
25
|
+
/// <a href="tel:+74951234567" class="chip chip--link">
|
|
26
|
+
/// <svg class="chip__icon">...</svg>
|
|
27
|
+
/// <span class="chip__text">+7 (495) 123-45-67</span>
|
|
28
|
+
/// </a>
|
|
29
|
+
////
|
|
30
|
+
|
|
31
|
+
// ─────────────────────────────────────────
|
|
32
|
+
// UI ELEMENTS
|
|
33
|
+
// ─────────────────────────────────────────
|
|
34
|
+
|
|
35
|
+
/// Chip — компактные ссылки/кнопки с иконками
|
|
36
|
+
/// @see components-chip
|
|
37
|
+
@use "chip";
|
|
38
|
+
|
|
39
|
+
/// Search Form — форма поиска с иконкой
|
|
40
|
+
/// @see components-search-form
|
|
41
|
+
@use "search-form";
|
|
42
|
+
|
|
43
|
+
/// Title — заголовки
|
|
44
|
+
/// @see components-section-title
|
|
45
|
+
@use "section-title";
|
|
46
|
+
|
|
47
|
+
/// Tag — лейбл на краточках
|
|
48
|
+
/// @see components-tag
|
|
49
|
+
@use "tag";
|
|
50
|
+
|
|
51
|
+
/// Service Card — карточки услуг
|
|
52
|
+
/// @see components-service-card
|
|
53
|
+
@use "service-card";
|
|
54
|
+
|
|
55
|
+
/// Callout — выноска с информацией
|
|
56
|
+
/// @see components-callout
|
|
57
|
+
@use "callout";
|
|
58
|
+
|
|
59
|
+
/// News Card Featured — карточка с изображением
|
|
60
|
+
/// @see components-news-card-featured
|
|
61
|
+
@use "news-card-featured";
|
|
62
|
+
|
|
63
|
+
/// News Card Compact — карточка без изображения
|
|
64
|
+
/// @see components-news-card-compact
|
|
65
|
+
@use "news-card-compact";
|
|
66
|
+
|
|
67
|
+
/// Project Card — карточки проектов
|
|
68
|
+
/// @see components-project-card
|
|
69
|
+
@use "project-card";
|
|
70
|
+
|
|
71
|
+
/// Stats Card — карточка статистики
|
|
72
|
+
/// @see components-stats-card
|
|
73
|
+
@use "stats-card";
|
|
74
|
+
|
|
75
|
+
/// Buttons — кнопки всех вариантов
|
|
76
|
+
/// @see components-buttons
|
|
77
|
+
@use "buttons";
|
|
78
|
+
|
|
79
|
+
/// Top Menu — Верхнее меню
|
|
80
|
+
/// @see top-nav
|
|
81
|
+
@forward "top-nav";
|
|
82
|
+
|
|
83
|
+
/// Hero — Hero-секция с фоном и overlay
|
|
84
|
+
/// @see components-hero
|
|
85
|
+
@use "hero";
|
|
86
|
+
|
|
87
|
+
/// Breadcrumb — навигационная цепочка
|
|
88
|
+
/// @see components-breadcrumb
|
|
89
|
+
@use "breadcrumb";
|
|
90
|
+
|
|
91
|
+
/// Sidebar Menu — боковое меню навигации
|
|
92
|
+
/// @see components-sidebar-menu
|
|
93
|
+
@use "sidebar-menu";
|
|
94
|
+
|
|
95
|
+
/// Info Card — карточка с информацией
|
|
96
|
+
/// @see components-info-card
|
|
97
|
+
@use "info-card";
|
|
98
|
+
|
|
99
|
+
/// File Card — карточка файла для скачивания
|
|
100
|
+
/// @see components-file-card
|
|
101
|
+
@use "file-card";
|
|
102
|
+
|
|
103
|
+
// ─────────────────────────────────────────
|
|
104
|
+
// TODO: Будущие компоненты
|
|
105
|
+
// ─────────────────────────────────────────
|
|
106
|
+
|
|
107
|
+
// @use "badge"; // Бейджи, метки
|
|
108
|
+
// @use "tag"; // Теги
|
|
109
|
+
// @use "avatar"; // Аватары
|
|
110
|
+
// @use "tooltip"; // Подсказки
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// INFO CARD — CSS Classes
|
|
3
|
+
// local/common/theme-moexp/src/scss/components/_info-card.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// Info Card — карточка с информацией
|
|
8
|
+
/// CSS классы для использования в шаблонах Bitrix
|
|
9
|
+
/// @group components-info-card
|
|
10
|
+
/// @author MOEXP Team
|
|
11
|
+
////
|
|
12
|
+
|
|
13
|
+
@use "../abstracts/info-card" as ic;
|
|
14
|
+
@use "../abstracts/mixins";
|
|
15
|
+
@use "../abstracts/spacing";
|
|
16
|
+
|
|
17
|
+
// ============================================
|
|
18
|
+
// CSS КЛАССЫ
|
|
19
|
+
// ============================================
|
|
20
|
+
|
|
21
|
+
.info-card {
|
|
22
|
+
@include ic.base;
|
|
23
|
+
|
|
24
|
+
// ──────────────────────────────
|
|
25
|
+
// Элементы
|
|
26
|
+
// ──────────────────────────────
|
|
27
|
+
|
|
28
|
+
&__title {
|
|
29
|
+
@include ic.title(foreground);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&__highlight {
|
|
33
|
+
@include ic.highlight(accent);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__subtitle {
|
|
37
|
+
@include ic.subtitle(foreground);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&__list {
|
|
41
|
+
@include ic.list;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&__item {
|
|
45
|
+
@include ic.item;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__label {
|
|
49
|
+
@include ic.label(foreground-muted);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&__value {
|
|
53
|
+
@include ic.value(foreground);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ──────────────────────────────
|
|
57
|
+
// Модификаторы
|
|
58
|
+
// ──────────────────────────────
|
|
59
|
+
|
|
60
|
+
/// Компактный вариант
|
|
61
|
+
&--compact {
|
|
62
|
+
padding: spacing.$spacing-md;
|
|
63
|
+
|
|
64
|
+
.info-card__title {
|
|
65
|
+
margin-bottom: spacing.$spacing-sm;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.info-card__highlight {
|
|
69
|
+
margin-bottom: spacing.$spacing-sm;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/// Без рамки
|
|
74
|
+
&--borderless {
|
|
75
|
+
border: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// На тёмном фоне
|
|
79
|
+
&--on-dark {
|
|
80
|
+
@include mixins.bg-color(primary, 0.1);
|
|
81
|
+
@include mixins.border-hsl(1px, solid, primary-foreground, 0.2);
|
|
82
|
+
|
|
83
|
+
.info-card__title {
|
|
84
|
+
@include mixins.text-color(primary-foreground);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.info-card__highlight {
|
|
88
|
+
@include mixins.text-color(accent);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.info-card__subtitle {
|
|
92
|
+
@include mixins.text-color(primary-foreground);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.info-card__label {
|
|
96
|
+
@include mixins.text-color(primary-foreground, 0.7);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.info-card__value {
|
|
100
|
+
@include mixins.text-color(primary-foreground);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// NEWS CARD COMPACT COMPONENT
|
|
3
|
+
// local/common/theme-moexp/src/scss/components/_news-card-compact.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// Compact карточка новости (без изображения)
|
|
8
|
+
/// @group components-news-card-compact
|
|
9
|
+
////
|
|
10
|
+
|
|
11
|
+
@use "../abstracts/news-card" as nc;
|
|
12
|
+
@use "../font-vars" as fonts;
|
|
13
|
+
|
|
14
|
+
.news-card-compact {
|
|
15
|
+
@include nc.news-card-base;
|
|
16
|
+
|
|
17
|
+
&__content {
|
|
18
|
+
@include nc.news-card-compact-content;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__meta {
|
|
22
|
+
@include nc.news-card-meta;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__title {
|
|
26
|
+
font-family: fonts.$font-literata;
|
|
27
|
+
@include nc.news-card-title($size: xl, $parent-selector: ".news-card-compact");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__description {
|
|
31
|
+
@include nc.news-card-description;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// ============================================
|
|
2
|
+
// NEWS CARD FEATURED COMPONENT
|
|
3
|
+
// local/common/theme-moexp/src/scss/components/_news-card-featured.scss
|
|
4
|
+
// ============================================
|
|
5
|
+
|
|
6
|
+
////
|
|
7
|
+
/// Featured карточка новости (с изображением)
|
|
8
|
+
/// @group components-news-card-featured
|
|
9
|
+
////
|
|
10
|
+
|
|
11
|
+
@use "../abstracts/news-card" as nc;
|
|
12
|
+
@use "../font-vars" as fonts;
|
|
13
|
+
|
|
14
|
+
.news-card-featured {
|
|
15
|
+
@include nc.news-card-base;
|
|
16
|
+
|
|
17
|
+
&__grid {
|
|
18
|
+
@include nc.news-card-featured-grid(left);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&--image-right &__grid {
|
|
22
|
+
@include nc.news-card-featured-grid(right);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__image-wrap {
|
|
26
|
+
@include nc.news-card-featured-image-wrap;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&__image {
|
|
30
|
+
@include nc.news-card-featured-image($parent-selector: ".news-card-featured");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&__content {
|
|
34
|
+
@include nc.news-card-content;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&__meta {
|
|
38
|
+
@include nc.news-card-meta;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&__title {
|
|
42
|
+
font-family: fonts.$font-literata;
|
|
43
|
+
@include nc.news-card-title($parent-selector: ".news-card-featured");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&__description {
|
|
47
|
+
@include nc.news-card-description;
|
|
48
|
+
}
|
|
49
|
+
}
|