@rt-tools/ui-kit-v2 0.4.0 → 0.6.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 +71 -0
- package/fesm2022/rt-tools-ui-kit-v2.mjs +395 -188
- package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
- package/package.json +1 -1
- package/rt-tools-ui-kit-v2-0.6.0.tgz +0 -0
- package/src/lib/components/aside/_rt-aside-overlay.scss +73 -71
- package/src/lib/components/aside/footer/rt-aside-footer.component.scss +20 -16
- package/src/lib/components/aside/header/rt-aside-header.component.scss +72 -70
- package/src/lib/components/aside/rt-aside.component.scss +107 -105
- package/src/lib/components/aside/unsaved-dialog/rt-aside-unsaved-dialog.component.scss +33 -31
- package/src/lib/components/aside-section/rt-aside-section.component.scss +27 -23
- package/src/lib/components/autocomplete/rt-autocomplete.component.scss +124 -118
- package/src/lib/components/bar-list/rt-bar-list.component.scss +85 -81
- package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +64 -57
- package/src/lib/components/button/rt-button.directive.scss +319 -280
- package/src/lib/components/calendar/rt-calendar.component.scss +106 -102
- package/src/lib/components/card/rt-card.component.scss +53 -45
- package/src/lib/components/chat/rt-chat.component.scss +312 -306
- package/src/lib/components/checkbox/rt-checkbox.component.scss +61 -54
- package/src/lib/components/collapsible-text/rt-collapsible-text.component.scss +36 -34
- package/src/lib/components/confirm-popover/rt-confirm-popover.component.scss +36 -30
- package/src/lib/components/container/CONTEXT.md +22 -0
- package/src/lib/components/container/rt-container.component.scss +91 -87
- package/src/lib/components/counter/rt-counter.component.scss +14 -12
- package/src/lib/components/counter-row/rt-counter-row.component.scss +31 -27
- package/src/lib/components/date-picker/rt-date-picker.component.scss +73 -71
- package/src/lib/components/delta-view/rt-delta-view.component.scss +27 -25
- package/src/lib/components/detail-list/rt-detail-list.component.scss +8 -6
- package/src/lib/components/detail-list/rt-detail-row.component.scss +18 -16
- package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +19 -17
- package/src/lib/components/dialog/header/rt-dialog-header.component.scss +27 -25
- package/src/lib/components/dialog/rt-dialog.component.scss +59 -56
- package/src/lib/components/download-link/rt-download-link.component.scss +32 -27
- package/src/lib/components/empty-state/rt-empty-state.component.scss +50 -46
- package/src/lib/components/field/rt-field.component.scss +63 -61
- package/src/lib/components/file-card/rt-file-card.component.scss +84 -78
- package/src/lib/components/file-drop/rt-file-drop.component.scss +83 -77
- package/src/lib/components/file-input/rt-file-input.component.scss +20 -18
- package/src/lib/components/file-list/rt-file-list.component.scss +9 -7
- package/src/lib/components/filter-control/rt-filter-control.component.scss +16 -14
- package/src/lib/components/header/rt-header.component.scss +61 -55
- package/src/lib/components/icon/rt-icon.component.scss +14 -12
- package/src/lib/components/icon-button/CONTEXT.md +4 -2
- package/src/lib/components/icon-button/rt-icon-button.component.scss +128 -112
- package/src/lib/components/info-item/rt-info-item.component.scss +38 -36
- package/src/lib/components/input/rt-input.component.scss +102 -98
- package/src/lib/components/input-number/rt-input-number.component.scss +84 -82
- package/src/lib/components/live-badge/rt-live-badge.component.scss +27 -23
- package/src/lib/components/logo/rt-logo.component.scss +54 -52
- package/src/lib/components/menu/rt-menu-confirm-dialog.component.scss +30 -28
- package/src/lib/components/menu/rt-menu-item.component.scss +47 -42
- package/src/lib/components/menu/rt-menu.component.scss +23 -15
- package/src/lib/components/message/rt-message.component.scss +53 -49
- package/src/lib/components/message-composer/rt-message-composer.component.scss +55 -49
- package/src/lib/components/money-list/rt-money-list.component.scss +13 -9
- package/src/lib/components/money-list/rt-money-row.component.scss +23 -19
- package/src/lib/components/multiselect/rt-multiselect.component.scss +169 -161
- package/src/lib/components/night-grid/rt-night-grid.component.scss +47 -42
- package/src/lib/components/note/rt-note.component.scss +15 -11
- package/src/lib/components/notifications-bell/rt-notifications-bell.component.scss +34 -27
- package/src/lib/components/page-header/rt-page-header-mobile.scss +142 -134
- package/src/lib/components/page-header/rt-page-header-submenu.scss +130 -123
- package/src/lib/components/page-header/rt-page-header.component.scss +221 -210
- package/src/lib/components/pagination/rt-pagination.component.scss +88 -81
- package/src/lib/components/photo-viewer/rt-photo-viewer.component.scss +109 -105
- package/src/lib/components/rich-editor/rt-rich-editor.component.scss +63 -59
- package/src/lib/components/section-nav/rt-section-nav.component.scss +53 -47
- package/src/lib/components/select/rt-select.component.scss +146 -138
- package/src/lib/components/skeleton/rt-skeleton.component.scss +50 -41
- package/src/lib/components/skeleton-wrapper/rt-skeleton-wrapper.component.scss +8 -6
- package/src/lib/components/spinner/rt-spinner.component.scss +35 -32
- package/src/lib/components/split-button/rt-split-button.component.scss +74 -62
- package/src/lib/components/stat-tile/rt-stat-tile.component.scss +95 -91
- package/src/lib/components/stepper/rt-stepper.component.scss +107 -101
- package/src/lib/components/table/copy-cell/rt-copy-cell.component.scss +34 -30
- package/src/lib/components/table/rt-table.component.scss +260 -252
- package/src/lib/components/table/settings-aside/rt-table-settings-aside.component.scss +7 -5
- package/src/lib/components/table/settings-panel/rt-table-settings-panel.component.scss +71 -61
- package/src/lib/components/table/sort-header/CONTEXT.md +40 -0
- package/src/lib/components/table/sort-header/rt-table-sort-header.component.scss +31 -29
- package/src/lib/components/tabs/CONTEXT.md +5 -0
- package/src/lib/components/tabs/rt-tabs.component.scss +184 -175
- package/src/lib/components/tag/rt-tag.component.scss +97 -92
- package/src/lib/components/textarea/rt-textarea.component.scss +62 -60
- package/src/lib/components/theme-toggle/rt-theme-toggle.component.scss +7 -5
- package/src/lib/components/thread-list/rt-thread-list.component.scss +221 -212
- package/src/lib/components/timeline/rt-timeline.component.scss +82 -76
- package/src/lib/components/toast/CONTEXT.md +8 -0
- package/src/lib/components/toast/rt-toast.component.scss +169 -160
- package/src/lib/components/toast/rt-toaster.component.scss +37 -35
- package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +129 -122
- package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +97 -91
- package/src/lib/components/toolbar/rt-toolbar.component.scss +56 -54
- package/src/lib/components/tooltip/rt-tooltip.component.scss +20 -15
- package/src/lib/components/welcome-dialog/rt-welcome-dialog.component.scss +46 -44
- package/src/lib/components/workspace/rt-workspace.component.scss +139 -131
- package/src/lib/components/workspace-details/rt-workspace-details.component.scss +105 -101
- package/src/styles/_index.scss +4 -0
- package/src/styles/_layers.scss +22 -0
- package/src/styles/_login.scss +87 -85
- package/src/styles/_mixins.scss +1 -1
- package/src/styles/_primitives.scss +126 -67
- package/src/styles/_scrollbar.scss +21 -19
- package/src/styles/_semantic.scss +140 -56
- package/src/styles/_theme-dark.scss +60 -27
- package/styles/tokens.css +628 -408
- package/types/rt-tools-ui-kit-v2.d.ts +9 -16
- package/rt-tools-ui-kit-v2-0.4.0.tgz +0 -0
|
@@ -1,257 +1,268 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
color: var(--rt-nav-item-color);
|
|
15
|
-
gap: var(--rt-space-2);
|
|
16
|
-
|
|
17
|
-
&__nav {
|
|
18
|
-
min-width: 0;
|
|
19
|
-
flex: 1 1 auto;
|
|
20
|
-
}
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* Цвет плашки вынесен в локальный override `--rt-page-header-bg`, дефолт
|
|
3
|
+
берётся из семантики навигации. Отступ от краёв страницы задаёт тот, кто
|
|
4
|
+
ставит шапку: своего у неё нет. */
|
|
5
|
+
.rt-page-header {
|
|
6
|
+
--rt-nav-header-radius: var(--rt-radius-md);
|
|
7
|
+
--rt-nav-header-transition-duration: var(--rt-duration-fast);
|
|
8
|
+
--rt-nav-item-radius: var(--rt-radius-md);
|
|
9
|
+
--rt-nav-item-border-width: var(--rt-border-width-thin);
|
|
10
|
+
--rt-nav-burger-radius: var(--rt-radius-ms);
|
|
11
|
+
--rt-nav-marker-radius: var(--rt-radius-full);
|
|
12
|
+
--rt-nav-user-avatar-radius: var(--rt-radius-full);
|
|
13
|
+
--rt-nav-user-avatar-border-width: var(--rt-border-width-thin);
|
|
21
14
|
|
|
22
|
-
&__list {
|
|
23
15
|
display: flex;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
margin: 0;
|
|
28
|
-
gap: var(--rt-nav-item-gap);
|
|
29
|
-
list-style: none;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/* Пункт ряда несёт собственную плашку. На фоне шапки того же цвета её не
|
|
33
|
-
видно — проступает только активный раздел, у которого фон белый. */
|
|
34
|
-
&__item {
|
|
35
|
-
display: inline-flex;
|
|
16
|
+
width: auto;
|
|
17
|
+
min-height: 48px;
|
|
18
|
+
box-sizing: border-box;
|
|
36
19
|
align-items: center;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
&__disabled-slot {
|
|
43
|
-
display: inline-flex;
|
|
44
|
-
flex-direction: column;
|
|
45
|
-
align-items: stretch;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
&__link {
|
|
49
|
-
position: relative;
|
|
50
|
-
display: inline-flex;
|
|
51
|
-
min-height: var(--rt-nav-item-height);
|
|
52
|
-
align-items: center;
|
|
53
|
-
padding: var(--rt-nav-item-padding);
|
|
54
|
-
border: 0;
|
|
55
|
-
border-radius: var(--rt-radius-md);
|
|
56
|
-
background-color: transparent;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
padding: var(--rt-nav-header-padding);
|
|
22
|
+
border-radius: var(--rt-nav-header-radius);
|
|
23
|
+
background-color: var(--rt-page-header-bg, var(--rt-nav-header-color-bg));
|
|
57
24
|
color: var(--rt-nav-item-color);
|
|
58
|
-
|
|
59
|
-
font-size: var(--rt-nav-item-font-size);
|
|
60
|
-
font-weight: var(--rt-nav-item-font-weight);
|
|
61
|
-
gap: var(--rt-nav-item-content-gap);
|
|
62
|
-
line-height: var(--rt-nav-item-line-height);
|
|
63
|
-
text-decoration: none;
|
|
64
|
-
transition: color var(--rt-duration-fast) linear;
|
|
65
|
-
white-space: nowrap;
|
|
66
|
-
|
|
67
|
-
/* Наведение красит подпись, а не фон: фоном отмечен активный раздел, и
|
|
68
|
-
два фона в одном ряду читались бы как два активных. */
|
|
69
|
-
&:hover {
|
|
70
|
-
color: var(--rt-nav-item-color-hover);
|
|
71
|
-
}
|
|
25
|
+
gap: var(--rt-space-2);
|
|
72
26
|
|
|
73
|
-
|
|
74
|
-
|
|
27
|
+
&__nav {
|
|
28
|
+
min-width: 0;
|
|
29
|
+
flex: 1 1 auto;
|
|
75
30
|
}
|
|
76
31
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
32
|
+
&__list {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-flow: row wrap;
|
|
35
|
+
align-items: center;
|
|
36
|
+
padding: 0;
|
|
37
|
+
margin: 0;
|
|
38
|
+
gap: var(--rt-nav-item-gap);
|
|
39
|
+
list-style: none;
|
|
80
40
|
}
|
|
81
41
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
42
|
+
/* Пункт ряда несёт собственную плашку. На фоне шапки того же цвета её не
|
|
43
|
+
видно — проступает только активный раздел, у которого фон белый. */
|
|
44
|
+
&__item {
|
|
45
|
+
display: inline-flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
border: var(--rt-nav-item-border-width) solid var(--rt-nav-item-color-border);
|
|
48
|
+
border-radius: var(--rt-nav-item-radius);
|
|
49
|
+
background-color: var(--rt-nav-item-color-bg);
|
|
85
50
|
}
|
|
86
51
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
color: var(--rt-nav-item-color-hover);
|
|
52
|
+
&__disabled-slot {
|
|
53
|
+
display: inline-flex;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
align-items: stretch;
|
|
92
56
|
}
|
|
93
57
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
58
|
+
&__link {
|
|
59
|
+
position: relative;
|
|
60
|
+
display: inline-flex;
|
|
61
|
+
min-height: var(--rt-nav-item-height);
|
|
62
|
+
align-items: center;
|
|
63
|
+
padding: var(--rt-nav-item-padding);
|
|
64
|
+
border: 0;
|
|
65
|
+
border-radius: var(--rt-nav-item-radius);
|
|
101
66
|
background-color: transparent;
|
|
102
|
-
color: var(--rt-nav-color
|
|
103
|
-
cursor:
|
|
104
|
-
|
|
67
|
+
color: var(--rt-nav-item-color);
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
font-size: var(--rt-nav-item-font-size);
|
|
70
|
+
font-weight: var(--rt-nav-item-font-weight);
|
|
71
|
+
gap: var(--rt-nav-item-content-gap);
|
|
72
|
+
line-height: var(--rt-nav-item-line-height);
|
|
73
|
+
text-decoration: none;
|
|
74
|
+
transition: color var(--rt-nav-header-transition-duration) linear;
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
|
|
77
|
+
/* Наведение красит подпись, а не фон: фоном отмечен активный раздел, и
|
|
78
|
+
два фона в одном ряду читались бы как два активных. */
|
|
105
79
|
&:hover {
|
|
106
|
-
|
|
80
|
+
color: var(--rt-nav-item-color-hover);
|
|
107
81
|
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
82
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
83
|
+
&:focus {
|
|
84
|
+
outline: none;
|
|
85
|
+
}
|
|
114
86
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
height: var(--rt-nav-marker-size);
|
|
120
|
-
flex-shrink: 0;
|
|
121
|
-
border-radius: var(--rt-radius-full);
|
|
122
|
-
background-color: var(--rt-nav-marker-color);
|
|
123
|
-
}
|
|
87
|
+
&:focus-visible {
|
|
88
|
+
outline: 2px dashed var(--rt-nav-color-focus);
|
|
89
|
+
outline-offset: 2px;
|
|
90
|
+
}
|
|
124
91
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
display: inline-flex;
|
|
130
|
-
flex-shrink: 0;
|
|
131
|
-
color: var(--rt-nav-item-color-caret);
|
|
132
|
-
}
|
|
92
|
+
&--is-active {
|
|
93
|
+
background-color: var(--rt-nav-item-color-bg-active);
|
|
94
|
+
color: var(--rt-nav-item-color);
|
|
95
|
+
}
|
|
133
96
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
border: 0;
|
|
141
|
-
border-radius: var(--rt-radius-ms);
|
|
142
|
-
background-color: transparent;
|
|
143
|
-
color: var(--rt-nav-item-color);
|
|
144
|
-
cursor: pointer;
|
|
145
|
-
transition: color var(--rt-duration-fast) linear;
|
|
97
|
+
/* Пока панель открыта, её раздел держит цвет наведения: курсор ушёл в
|
|
98
|
+
панель, наведение с него снялось, и без этого не видно, чья панель
|
|
99
|
+
открыта. */
|
|
100
|
+
&--is-open {
|
|
101
|
+
color: var(--rt-nav-item-color-hover);
|
|
102
|
+
}
|
|
146
103
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
104
|
+
/* `aria-disabled` браузер не стилизует сам: без этого правила пункт,
|
|
105
|
+
выключенный только для скринридера, выглядит рабочим. Нативный
|
|
106
|
+
`disabled` не годится — он не даёт ни наведения, ни фокуса, и
|
|
107
|
+
объяснение до пользователя не доходит. */
|
|
108
|
+
&--disabled,
|
|
109
|
+
&:disabled,
|
|
110
|
+
&[aria-disabled='true'] {
|
|
111
|
+
background-color: transparent;
|
|
112
|
+
color: var(--rt-nav-color-disabled);
|
|
113
|
+
cursor: not-allowed;
|
|
150
114
|
|
|
151
|
-
|
|
152
|
-
|
|
115
|
+
&:hover {
|
|
116
|
+
background-color: transparent;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
153
119
|
}
|
|
154
120
|
|
|
155
|
-
|
|
156
|
-
|
|
121
|
+
&__icon {
|
|
122
|
+
flex-shrink: 0;
|
|
157
123
|
}
|
|
158
124
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
125
|
+
/* Точка идёт следом за подписью и перед указателем раскрытия, в общем ритме
|
|
126
|
+
содержимого пункта. Поверх текста она садилась бы на последнюю букву. */
|
|
127
|
+
&__marker {
|
|
128
|
+
width: var(--rt-nav-marker-size);
|
|
129
|
+
height: var(--rt-nav-marker-size);
|
|
130
|
+
flex-shrink: 0;
|
|
131
|
+
border-radius: var(--rt-nav-marker-radius);
|
|
132
|
+
background-color: var(--rt-nav-marker-color);
|
|
162
133
|
}
|
|
163
134
|
|
|
164
|
-
|
|
165
|
-
|
|
135
|
+
/* Указатель раскрытия приглушён сильнее подписи: он говорит, что панель есть,
|
|
136
|
+
и не должен спорить с названием раздела. Начертание парное (вверх-вниз),
|
|
137
|
+
поэтому разворот на раскрытии ничего не добавил бы. */
|
|
138
|
+
&__caret {
|
|
139
|
+
display: inline-flex;
|
|
140
|
+
flex-shrink: 0;
|
|
141
|
+
color: var(--rt-nav-item-color-caret);
|
|
166
142
|
}
|
|
167
|
-
}
|
|
168
143
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
144
|
+
&__burger {
|
|
145
|
+
display: none; /* десктоп — гамбургера нет; включается ниже в @media */
|
|
146
|
+
flex-shrink: 0;
|
|
147
|
+
align-items: center;
|
|
148
|
+
justify-content: center;
|
|
149
|
+
padding: var(--rt-space-2);
|
|
150
|
+
border: 0;
|
|
151
|
+
border-radius: var(--rt-nav-burger-radius);
|
|
152
|
+
background-color: transparent;
|
|
153
|
+
color: var(--rt-nav-item-color);
|
|
154
|
+
cursor: pointer;
|
|
155
|
+
transition: color var(--rt-nav-header-transition-duration) linear;
|
|
172
156
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
2026-08-02: на 1081px ряд с иконками занимает 938.7px при доступных
|
|
177
|
-
798.4, без иконок — 762.7. */
|
|
178
|
-
@media (width <= 1380px) {
|
|
179
|
-
/* Селектор из двух классов, а не одного: `.rt-icon` задаёт иконке
|
|
180
|
-
`display`, и порядок стилей двух компонентов кита между собой не
|
|
181
|
-
закреплён ничем. */
|
|
182
|
-
&__link &__icon {
|
|
183
|
-
display: none;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
157
|
+
&:hover {
|
|
158
|
+
color: var(--rt-nav-item-color-hover);
|
|
159
|
+
}
|
|
186
160
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
161
|
+
&:active {
|
|
162
|
+
color: var(--rt-nav-item-color-pressed);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
&:focus {
|
|
166
|
+
outline: none;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&:focus-visible {
|
|
170
|
+
outline: 2px dashed var(--rt-nav-color-focus);
|
|
171
|
+
outline-offset: 2px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
&--is-open {
|
|
175
|
+
background-color: var(--rt-nav-item-color-bg-active);
|
|
176
|
+
}
|
|
191
177
|
}
|
|
192
178
|
|
|
193
|
-
&__burger {
|
|
194
|
-
|
|
179
|
+
&__burger-icon {
|
|
180
|
+
flex-shrink: 0;
|
|
195
181
|
}
|
|
196
|
-
}
|
|
197
182
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
gap: var(--rt-nav-item-content-gap);
|
|
211
|
-
line-height: var(--rt-leading-tight);
|
|
212
|
-
transition: background-color var(--rt-duration-fast) linear;
|
|
213
|
-
|
|
214
|
-
&:hover,
|
|
215
|
-
&:active {
|
|
216
|
-
background-color: var(--rt-nav-item-color-bg-active);
|
|
183
|
+
/* Восемь разделов с иконками в ряд не помещаются и переносятся на вторую
|
|
184
|
+
строку, а перенос удваивает высоту шапки. До широкого вьюпорта ряд идёт
|
|
185
|
+
без иконок: подпись раздела нужнее картинки рядом с ней. Замер в Chrome
|
|
186
|
+
2026-08-02: на 1081px ряд с иконками занимает 938.7px при доступных
|
|
187
|
+
798.4, без иконок — 762.7. */
|
|
188
|
+
@media (width <= 1380px) {
|
|
189
|
+
/* Селектор из двух классов, а не одного: `.rt-icon` задаёт иконке
|
|
190
|
+
`display`, и порядок стилей двух компонентов кита между собой не
|
|
191
|
+
закреплён ничем. */
|
|
192
|
+
&__link &__icon {
|
|
193
|
+
display: none;
|
|
194
|
+
}
|
|
217
195
|
}
|
|
218
196
|
|
|
219
|
-
|
|
220
|
-
|
|
197
|
+
/* Узкий вьюпорт: инлайн-навигация уступает место гамбургеру. */
|
|
198
|
+
@media (width <= 1080px) {
|
|
199
|
+
&__nav {
|
|
200
|
+
display: none;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
&__burger {
|
|
204
|
+
display: inline-flex;
|
|
205
|
+
}
|
|
221
206
|
}
|
|
222
207
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
208
|
+
&__user {
|
|
209
|
+
display: inline-flex;
|
|
210
|
+
min-height: var(--rt-nav-item-height);
|
|
211
|
+
align-items: center;
|
|
212
|
+
padding: var(--rt-nav-item-padding);
|
|
213
|
+
border: 0;
|
|
214
|
+
border-radius: var(--rt-nav-item-radius);
|
|
215
|
+
background-color: transparent;
|
|
216
|
+
color: var(--rt-nav-item-color);
|
|
217
|
+
cursor: pointer;
|
|
218
|
+
font-size: var(--rt-nav-item-font-size);
|
|
219
|
+
font-weight: var(--rt-nav-item-font-weight);
|
|
220
|
+
gap: var(--rt-nav-item-content-gap);
|
|
221
|
+
line-height: var(--rt-leading-tight);
|
|
222
|
+
transition: background-color var(--rt-nav-header-transition-duration) linear;
|
|
223
|
+
|
|
224
|
+
&:hover,
|
|
225
|
+
&:active {
|
|
226
|
+
background-color: var(--rt-nav-item-color-bg-active);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
&:focus {
|
|
230
|
+
outline: none;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
&:focus-visible {
|
|
234
|
+
outline: 2px dashed var(--rt-nav-color-focus);
|
|
235
|
+
outline-offset: 2px;
|
|
236
|
+
}
|
|
226
237
|
}
|
|
227
|
-
}
|
|
228
238
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
&__user-avatar {
|
|
240
|
+
display: inline-flex;
|
|
241
|
+
width: 16px;
|
|
242
|
+
height: 16px;
|
|
243
|
+
align-items: center;
|
|
244
|
+
justify-content: center;
|
|
245
|
+
border: var(--rt-nav-user-avatar-border-width) solid var(--rt-nav-item-color-caret);
|
|
246
|
+
border-radius: var(--rt-nav-user-avatar-radius);
|
|
247
|
+
color: var(--rt-color-text-muted);
|
|
248
|
+
font-size: var(--rt-text-2xs);
|
|
249
|
+
font-weight: var(--rt-font-weight-semibold);
|
|
250
|
+
line-height: var(--rt-leading-none);
|
|
251
|
+
}
|
|
242
252
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
253
|
+
&__user-name {
|
|
254
|
+
white-space: nowrap;
|
|
255
|
+
}
|
|
246
256
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
257
|
+
/* Начертание парное, вверх-вниз: разворачивать его при открытии нечего. */
|
|
258
|
+
&__user-caret {
|
|
259
|
+
display: inline-flex;
|
|
260
|
+
flex-shrink: 0;
|
|
261
|
+
color: var(--rt-nav-item-color-caret);
|
|
262
|
+
}
|
|
253
263
|
|
|
254
|
-
|
|
255
|
-
|
|
264
|
+
&__user--is-open {
|
|
265
|
+
background-color: var(--rt-nav-item-color-bg-active);
|
|
266
|
+
}
|
|
256
267
|
}
|
|
257
268
|
}
|