@rt-tools/ui-kit 0.3.1 → 0.5.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 +1 -1
- package/fesm2022/rt-tools-ui-kit.mjs +4394 -3750
- package/fesm2022/rt-tools-ui-kit.mjs.map +1 -1
- package/package.json +3 -4
- package/rt-tools-ui-kit-0.5.0.tgz +0 -0
- package/src/lib/ui-kit/action-bar/components/bar/rtui-action-bar.component.scss +14 -0
- package/src/lib/ui-kit/action-bar/components/container/rtui-action-bar-container.component.scss +47 -0
- package/src/lib/ui-kit/action-bar/stories/component/test-action-bar.component.scss +15 -0
- package/src/lib/ui-kit/aside/components/container/aside-container.component.scss +4 -1
- package/src/lib/ui-kit/aside/components/error-notification/aside-error-box.component.scss +1 -1
- package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +24 -0
- package/src/lib/ui-kit/buttons/unified-button/rtui-button.component.scss +210 -206
- package/src/lib/ui-kit/buttons/unified-button/stories/component/test-button-matrix.component.scss +38 -0
- package/src/lib/ui-kit/icon/rtui-icon.component.scss +43 -24
- package/src/lib/ui-kit/info-badge/info-badge.component.scss +23 -23
- package/src/lib/ui-kit/popover/stories/component/test-popover.component.scss +32 -0
- package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +57 -0
- package/src/lib/ui-kit/scrollable/stories/component/test-scrollable.component.scss +17 -0
- package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +185 -4
- package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +45 -4
- package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +20 -0
- package/src/lib/ui-kit/spinner/spinner.component.scss +1 -1
- package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +20 -17
- package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +21 -0
- package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +26 -0
- package/src/lib/ui-kit/table/stories/dynamic-list/test-dynamic-list.component.scss +18 -0
- package/src/lib/ui-kit/toolbar/stories/component/test-toolbar.component.scss +22 -0
- package/src/styles/TOKENS.md +25 -16
- package/src/styles/base/_base.scss +6 -3
- package/src/styles/base/_tokens.scss +24 -0
- package/src/styles/color-scheme.spec.ts +4 -1
- package/src/styles/components/_rtui_button.scss +13 -547
- package/src/styles/components/button/_base.scss +64 -0
- package/src/styles/components/button/_map.scss +184 -0
- package/src/styles/components/button/_palettes.scss +218 -0
- package/src/styles/components/button/_sizes.scss +29 -0
- package/src/styles/components/button/_text.scss +68 -0
- package/src/styles/main.scss +0 -1
- package/styles/tokens.css +11 -0
- package/types/rt-tools-ui-kit.d.ts +614 -361
- package/rt-tools-ui-kit-0.3.1.tgz +0 -0
- package/src/styles/components/_button.scss +0 -372
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// Виды кнопки таблицей: пятнадцать палитр по три оформления — сплошное, обводка и светлое —
|
|
2
|
+
// плюс основа и текстовые виды. Каждое правило берёт значения отсюда, а не пишет их у себя.
|
|
3
|
+
// Часть стилей кнопки — входом остаётся `_rtui_button.scss`, он же подключает части по порядку.
|
|
4
|
+
|
|
5
|
+
$rtui-button: (
|
|
6
|
+
base: (
|
|
7
|
+
width: auto,
|
|
8
|
+
bg: transparent,
|
|
9
|
+
border: 0,
|
|
10
|
+
color: var(--rt-text-base-soft),
|
|
11
|
+
display: inline-flex,
|
|
12
|
+
font-size: 0,
|
|
13
|
+
gap: 0,
|
|
14
|
+
padding: 0,
|
|
15
|
+
shadow: 0,
|
|
16
|
+
shadow-blur: 8px,
|
|
17
|
+
),
|
|
18
|
+
accent: (
|
|
19
|
+
border: 1px solid var(--rt-color-blue-100),
|
|
20
|
+
color: var(--rt-text-static-light),
|
|
21
|
+
bg: var(--rt-color-blue-60),
|
|
22
|
+
hover-bg: var(--rt-color-blue-40),
|
|
23
|
+
active-shadow: var(--rt-color-blue-40),
|
|
24
|
+
),
|
|
25
|
+
accent-outline: (
|
|
26
|
+
border: 1px solid var(--rt-color-blue-100),
|
|
27
|
+
bg: var(--rt-color-blue-20),
|
|
28
|
+
color: var(--rt-text-accent-info),
|
|
29
|
+
hover-border: 1px solid var(--rt-color-blue-80),
|
|
30
|
+
hover-bg: var(--rt-bg-base-base),
|
|
31
|
+
active-shadow: var(--rt-color-blue-40),
|
|
32
|
+
),
|
|
33
|
+
accent-light: (
|
|
34
|
+
color: var(--rt-text-accent-info),
|
|
35
|
+
bg: var(--rt-color-blue-40),
|
|
36
|
+
hover-color: var(--rt-text-accent-info-soft),
|
|
37
|
+
hover-bg: var(--rt-color-blue-20),
|
|
38
|
+
active-shadow: var(--rt-color-blue-40),
|
|
39
|
+
),
|
|
40
|
+
success: (
|
|
41
|
+
border: 1px solid var(--rt-color-green-100),
|
|
42
|
+
color: var(--rt-text-static-light),
|
|
43
|
+
bg: var(--rt-bg-accent-success-solid),
|
|
44
|
+
hover-bg: var(--rt-color-green-60),
|
|
45
|
+
active-shadow: var(--rt-color-green-40),
|
|
46
|
+
),
|
|
47
|
+
success-outline: (
|
|
48
|
+
border: 1px solid var(--rt-color-green-100),
|
|
49
|
+
bg: var(--rt-color-green-20),
|
|
50
|
+
color: var(--rt-text-accent-success),
|
|
51
|
+
hover-border: 1px solid var(--rt-color-green-80),
|
|
52
|
+
hover-bg: var(--rt-bg-base-base),
|
|
53
|
+
active-shadow: var(--rt-color-green-40),
|
|
54
|
+
),
|
|
55
|
+
success-light: (
|
|
56
|
+
color: var(--rt-text-accent-success),
|
|
57
|
+
bg: var(--rt-color-green-20),
|
|
58
|
+
hover-color: var(--rt-text-accent-success-soft),
|
|
59
|
+
hover-bg: var(--rt-bg-accent-success-subtle),
|
|
60
|
+
active-shadow: var(--rt-color-green-40),
|
|
61
|
+
),
|
|
62
|
+
secondary: (
|
|
63
|
+
border: 1px solid var(--rt-border-neutral-emphasis),
|
|
64
|
+
color: var(--rt-text-static-light),
|
|
65
|
+
bg: var(--rt-bg-base-emphasis),
|
|
66
|
+
hover-bg: var(--rt-bg-base-emphasis-soft),
|
|
67
|
+
active-shadow: var(--rt-bg-base-emphasis-soft),
|
|
68
|
+
),
|
|
69
|
+
secondary-outline: (
|
|
70
|
+
border: 1px solid var(--rt-border-neutral-emphasis),
|
|
71
|
+
bg: var(--rt-bg-base-strong),
|
|
72
|
+
color: var(--rt-text-base-secondary),
|
|
73
|
+
hover-bg: var(--rt-bg-base-base),
|
|
74
|
+
active-shadow: var(--rt-bg-base-emphasis-soft),
|
|
75
|
+
),
|
|
76
|
+
secondary-light: (
|
|
77
|
+
color: var(--rt-text-base-soft),
|
|
78
|
+
bg: var(--rt-bg-base-emphasis-soft),
|
|
79
|
+
hover-color: var(--rt-text-base-secondary),
|
|
80
|
+
hover-bg: var(--rt-bg-base-strong),
|
|
81
|
+
active-shadow: var(--rt-bg-base-emphasis-soft),
|
|
82
|
+
),
|
|
83
|
+
error: (
|
|
84
|
+
border: 1px solid var(--rt-border-accent-danger),
|
|
85
|
+
color: var(--rt-text-static-light),
|
|
86
|
+
bg: var(--rt-color-red-80),
|
|
87
|
+
hover-bg: var(--rt-color-red-60),
|
|
88
|
+
active-shadow: var(--rt-color-red-40),
|
|
89
|
+
),
|
|
90
|
+
error-outline: (
|
|
91
|
+
border: 1px solid var(--rt-border-accent-danger),
|
|
92
|
+
bg: var(--rt-bg-accent-danger-subtle),
|
|
93
|
+
color: var(--rt-text-accent-danger),
|
|
94
|
+
hover-bg: var(--rt-bg-base-base),
|
|
95
|
+
active-shadow: var(--rt-color-red-40),
|
|
96
|
+
),
|
|
97
|
+
error-light: (
|
|
98
|
+
color: var(--rt-text-accent-danger),
|
|
99
|
+
bg: var(--rt-color-red-40),
|
|
100
|
+
hover-bg: var(--rt-bg-accent-danger-subtle),
|
|
101
|
+
active-shadow: var(--rt-color-red-40),
|
|
102
|
+
),
|
|
103
|
+
warning: (
|
|
104
|
+
border: 1px solid var(--rt-color-orange-100),
|
|
105
|
+
color: var(--rt-text-static-light),
|
|
106
|
+
bg: var(--rt-bg-accent-warning-solid),
|
|
107
|
+
hover-bg: var(--rt-color-orange-60),
|
|
108
|
+
active-shadow: var(--rt-color-orange-40),
|
|
109
|
+
),
|
|
110
|
+
warning-outline: (
|
|
111
|
+
border: 1px solid var(--rt-color-orange-100),
|
|
112
|
+
bg: var(--rt-color-orange-10),
|
|
113
|
+
color: var(--rt-text-accent-warning),
|
|
114
|
+
hover-bg: var(--rt-bg-base-base),
|
|
115
|
+
active-shadow: var(--rt-color-orange-40),
|
|
116
|
+
),
|
|
117
|
+
warning-light: (
|
|
118
|
+
color: var(--rt-text-accent-warning),
|
|
119
|
+
bg: var(--rt-color-orange-10),
|
|
120
|
+
hover-bg: var(--rt-color-orange-5),
|
|
121
|
+
active-shadow: var(--rt-color-orange-40),
|
|
122
|
+
),
|
|
123
|
+
accent-text: (
|
|
124
|
+
border: 0,
|
|
125
|
+
bg: transparent,
|
|
126
|
+
color: var(--rt-text-accent-info),
|
|
127
|
+
hover-bg: var(--rt-bg-base-hover),
|
|
128
|
+
),
|
|
129
|
+
success-text: (
|
|
130
|
+
border: 0,
|
|
131
|
+
bg: transparent,
|
|
132
|
+
color: var(--rt-text-accent-success),
|
|
133
|
+
hover-bg: var(--rt-bg-base-hover),
|
|
134
|
+
),
|
|
135
|
+
secondary-text: (
|
|
136
|
+
border: 0,
|
|
137
|
+
bg: transparent,
|
|
138
|
+
color: var(--rt-text-base-secondary),
|
|
139
|
+
hover-bg: var(--rt-bg-base-hover),
|
|
140
|
+
),
|
|
141
|
+
error-text: (
|
|
142
|
+
border: 0,
|
|
143
|
+
bg: transparent,
|
|
144
|
+
color: var(--rt-text-accent-danger),
|
|
145
|
+
hover-bg: var(--rt-bg-base-hover),
|
|
146
|
+
),
|
|
147
|
+
warning-text: (
|
|
148
|
+
border: 0,
|
|
149
|
+
bg: transparent,
|
|
150
|
+
color: var(--rt-text-accent-warning),
|
|
151
|
+
hover-bg: var(--rt-bg-base-hover),
|
|
152
|
+
),
|
|
153
|
+
size-sm: (
|
|
154
|
+
gap: 4px,
|
|
155
|
+
padding: 4px 8px,
|
|
156
|
+
font-size: 12px,
|
|
157
|
+
width: auto,
|
|
158
|
+
display: inline-flex,
|
|
159
|
+
),
|
|
160
|
+
|
|
161
|
+
size-md: (
|
|
162
|
+
gap: 8px,
|
|
163
|
+
padding: 8px 16px,
|
|
164
|
+
font-size: 14px,
|
|
165
|
+
width: auto,
|
|
166
|
+
display: inline-flex,
|
|
167
|
+
),
|
|
168
|
+
|
|
169
|
+
size-lg: (
|
|
170
|
+
gap: 12px,
|
|
171
|
+
padding: 12px 24px,
|
|
172
|
+
font-size: 18px,
|
|
173
|
+
width: auto,
|
|
174
|
+
display: inline-flex,
|
|
175
|
+
),
|
|
176
|
+
|
|
177
|
+
size-full: (
|
|
178
|
+
width: 100%,
|
|
179
|
+
display: flex,
|
|
180
|
+
gap: 8px,
|
|
181
|
+
padding: 8px 16px,
|
|
182
|
+
font-size: 14px,
|
|
183
|
+
),
|
|
184
|
+
);
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
// Палитры кнопки: пятнадцать классов вида — сплошное оформление, обводка и светлое у каждой из
|
|
2
|
+
// пяти ролей. Каждый класс только переназначает свойства основы.
|
|
3
|
+
// Часть стилей кнопки — входом остаётся `_rtui_button.scss`.
|
|
4
|
+
|
|
5
|
+
/* accent */
|
|
6
|
+
.rtui-btn-accent {
|
|
7
|
+
--border: var(--rt-rtui-btn-accent-border);
|
|
8
|
+
--color: var(--rt-rtui-btn-accent-color);
|
|
9
|
+
--bg: var(--rt-rtui-btn-accent-bg);
|
|
10
|
+
|
|
11
|
+
&:hover {
|
|
12
|
+
--bg: var(--rt-rtui-btn-accent-hover-bg);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:active {
|
|
16
|
+
--shadow: var(--rt-rtui-btn-accent-active-shadow);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.rtui-btn-accent-outline {
|
|
21
|
+
--border: var(--rt-rtui-btn-accent-outline-border);
|
|
22
|
+
--bg: var(--rt-rtui-btn-accent-outline-bg);
|
|
23
|
+
--color: var(--rt-rtui-btn-accent-outline-color);
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
--border: var(--rt-rtui-btn-accent-outline-hover-border);
|
|
27
|
+
--bg: var(--rt-rtui-btn-accent-outline-hover-bg);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:active {
|
|
31
|
+
--shadow: var(--rt-rtui-btn-accent-outline-active-shadow);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.rtui-btn-accent-light {
|
|
36
|
+
--color: var(--rt-rtui-btn-accent-light-color);
|
|
37
|
+
--bg: var(--rt-rtui-btn-accent-light-bg);
|
|
38
|
+
|
|
39
|
+
&:hover {
|
|
40
|
+
--color: var(--rt-rtui-btn-accent-light-hover-color);
|
|
41
|
+
--bg: var(--rt-rtui-btn-accent-light-hover-bg);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&:active {
|
|
45
|
+
--shadow: var(--rt-rtui-btn-accent-light-active-shadow);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* success */
|
|
50
|
+
.rtui-btn-success {
|
|
51
|
+
--border: var(--rt-rtui-btn-success-border);
|
|
52
|
+
--color: var(--rt-rtui-btn-success-color);
|
|
53
|
+
--bg: var(--rt-rtui-btn-success-bg);
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
--bg: var(--rt-rtui-btn-success-hover-bg);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&:active {
|
|
60
|
+
--shadow: var(--rt-rtui-btn-success-active-shadow);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.rtui-btn-success-outline {
|
|
65
|
+
--border: var(--rt-rtui-btn-success-outline-border);
|
|
66
|
+
--bg: var(--rt-rtui-btn-success-outline-bg);
|
|
67
|
+
--color: var(--rt-rtui-btn-success-outline-color);
|
|
68
|
+
|
|
69
|
+
&:hover {
|
|
70
|
+
--border: var(--rt-rtui-btn-success-outline-hover-border);
|
|
71
|
+
--bg: var(--rt-rtui-btn-success-outline-hover-bg);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:active {
|
|
75
|
+
--shadow: var(--rt-rtui-btn-success-outline-active-shadow);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.rtui-btn-success-light {
|
|
80
|
+
--color: var(--rt-rtui-btn-success-light-color);
|
|
81
|
+
--bg: var(--rt-rtui-btn-success-light-bg);
|
|
82
|
+
|
|
83
|
+
&:hover {
|
|
84
|
+
--color: var(--rt-rtui-btn-success-light-hover-color);
|
|
85
|
+
--bg: var(--rt-rtui-btn-success-light-hover-bg);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&:active {
|
|
89
|
+
--shadow: var(--rt-rtui-btn-success-light-active-shadow);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* secondary */
|
|
94
|
+
.rtui-btn-secondary {
|
|
95
|
+
--border: var(--rt-rtui-btn-secondary-border);
|
|
96
|
+
--color: var(--rt-rtui-btn-secondary-color);
|
|
97
|
+
--bg: var(--rt-rtui-btn-secondary-bg);
|
|
98
|
+
|
|
99
|
+
&:hover {
|
|
100
|
+
--bg: var(--rt-rtui-btn-secondary-hover-bg);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&:active {
|
|
104
|
+
--shadow: var(--rt-rtui-btn-secondary-active-shadow);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.rtui-btn-secondary-outline {
|
|
109
|
+
--border: var(--rt-rtui-btn-secondary-outline-border);
|
|
110
|
+
--bg: var(--rt-rtui-btn-secondary-outline-bg);
|
|
111
|
+
--color: var(--rt-rtui-btn-secondary-outline-color);
|
|
112
|
+
|
|
113
|
+
&:hover {
|
|
114
|
+
--bg: var(--rt-rtui-btn-secondary-outline-hover-bg);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&:active {
|
|
118
|
+
--shadow: var(--rt-rtui-btn-secondary-outline-active-shadow);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.rtui-btn-secondary-light {
|
|
123
|
+
--color: var(--rt-rtui-btn-secondary-light-color);
|
|
124
|
+
--bg: var(--rt-rtui-btn-secondary-light-bg);
|
|
125
|
+
|
|
126
|
+
&:hover {
|
|
127
|
+
--color: var(--rt-rtui-btn-secondary-light-hover-color);
|
|
128
|
+
--bg: var(--rt-rtui-btn-secondary-light-hover-bg);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&:active {
|
|
132
|
+
--shadow: var(--rt-rtui-btn-secondary-light-active-shadow);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* error */
|
|
137
|
+
.rtui-btn-error {
|
|
138
|
+
--border: var(--rt-rtui-btn-error-border);
|
|
139
|
+
--color: var(--rt-rtui-btn-error-color);
|
|
140
|
+
--bg: var(--rt-rtui-btn-error-bg);
|
|
141
|
+
|
|
142
|
+
&:hover {
|
|
143
|
+
--bg: var(--rt-rtui-btn-error-hover-bg);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&:active {
|
|
147
|
+
--shadow: var(--rt-rtui-btn-error-active-shadow);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.rtui-btn-error-outline {
|
|
152
|
+
--border: var(--rt-rtui-btn-error-outline-border);
|
|
153
|
+
--bg: var(--rt-rtui-btn-error-outline-bg);
|
|
154
|
+
--color: var(--rt-rtui-btn-error-outline-color);
|
|
155
|
+
|
|
156
|
+
&:hover {
|
|
157
|
+
--bg: var(--rt-rtui-btn-error-outline-hover-bg);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&:active {
|
|
161
|
+
--shadow: var(--rt-rtui-btn-error-outline-active-shadow);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.rtui-btn-error-light {
|
|
166
|
+
--color: var(--rt-rtui-btn-error-light-color);
|
|
167
|
+
--bg: var(--rt-rtui-btn-error-light-bg);
|
|
168
|
+
|
|
169
|
+
&:hover {
|
|
170
|
+
--bg: var(--rt-rtui-btn-error-light-hover-bg);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
&:active {
|
|
174
|
+
--shadow: var(--rt-rtui-btn-error-light-active-shadow);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* warning */
|
|
179
|
+
.rtui-btn-warning {
|
|
180
|
+
--border: var(--rt-rtui-btn-warning-border);
|
|
181
|
+
--color: var(--rt-rtui-btn-warning-color);
|
|
182
|
+
--bg: var(--rt-rtui-btn-warning-bg);
|
|
183
|
+
|
|
184
|
+
&:hover {
|
|
185
|
+
--bg: var(--rt-rtui-btn-warning-hover-bg);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
&:active {
|
|
189
|
+
--shadow: var(--rt-rtui-btn-warning-active-shadow);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.rtui-btn-warning-outline {
|
|
194
|
+
--border: var(--rt-rtui-btn-warning-outline-border);
|
|
195
|
+
--bg: var(--rt-rtui-btn-warning-outline-bg);
|
|
196
|
+
--color: var(--rt-rtui-btn-warning-outline-color);
|
|
197
|
+
|
|
198
|
+
&:hover {
|
|
199
|
+
--bg: var(--rt-rtui-btn-warning-outline-hover-bg);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
&:active {
|
|
203
|
+
--shadow: var(--rt-rtui-btn-warning-outline-active-shadow);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.rtui-btn-warning-light {
|
|
208
|
+
--color: var(--rt-rtui-btn-warning-light-color);
|
|
209
|
+
--bg: var(--rt-rtui-btn-warning-light-bg);
|
|
210
|
+
|
|
211
|
+
&:hover {
|
|
212
|
+
--bg: var(--rt-rtui-btn-warning-light-hover-bg);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
&:active {
|
|
216
|
+
--shadow: var(--rt-rtui-btn-warning-light-active-shadow);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Размеры кнопки и её растяжение по ширине родителя.
|
|
2
|
+
// Часть стилей кнопки — входом остаётся `_rtui_button.scss`.
|
|
3
|
+
|
|
4
|
+
/* size */
|
|
5
|
+
.rtui-btn-sm {
|
|
6
|
+
--gap: var(--rt-rtui-btn-size-sm-gap);
|
|
7
|
+
--padding: var(--rt-rtui-btn-size-sm-padding);
|
|
8
|
+
--font-size: var(--rt-rtui-btn-size-sm-font-size);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.rtui-btn-md {
|
|
12
|
+
--gap: var(--rt-rtui-btn-size-md-gap);
|
|
13
|
+
--padding: var(--rt-rtui-btn-size-md-padding);
|
|
14
|
+
--font-size: var(--rt-rtui-btn-size-md-font-size);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.rtui-btn-lg {
|
|
18
|
+
--gap: var(--rt-rtui-btn-size-lg-gap);
|
|
19
|
+
--padding: var(--rt-rtui-btn-size-lg-padding);
|
|
20
|
+
--font-size: var(--rt-rtui-btn-size-lg-font-size);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.rtui-btn-full {
|
|
24
|
+
--width: var(--rt-rtui-btn-size-full-width);
|
|
25
|
+
--display: var(--rt-rtui-btn-size-full-display);
|
|
26
|
+
--gap: var(--rt-rtui-btn-size-full-gap);
|
|
27
|
+
--padding: var(--rt-rtui-btn-size-full-padding);
|
|
28
|
+
--font-size: var(--rt-rtui-btn-size-full-font-size);
|
|
29
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Текстовые виды кнопки: оформление без фона и рамки. Стоят после палитр намеренно — правила
|
|
2
|
+
// равной силы разбираются порядком, и вид без фона обязан перебивать сплошной.
|
|
3
|
+
// Часть стилей кнопки — входом остаётся `_rtui_button.scss`.
|
|
4
|
+
|
|
5
|
+
/* text — transparent, borderless label with a subtle hover wash.
|
|
6
|
+
Shared box matches the legacy text-button (inline-text look). Compound
|
|
7
|
+
`.rtui-btn[...-text]` (0,2,0) outranks the size tokens (0,1,0) regardless of order. */
|
|
8
|
+
.rtui-btn[class*='-text'] {
|
|
9
|
+
--font-size: 16px;
|
|
10
|
+
--gap: 8px;
|
|
11
|
+
--padding: 0 10px;
|
|
12
|
+
|
|
13
|
+
min-height: 30px;
|
|
14
|
+
border-radius: 5px;
|
|
15
|
+
font-weight: 400;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.rtui-btn-accent-text {
|
|
19
|
+
--border: var(--rt-rtui-btn-accent-text-border);
|
|
20
|
+
--bg: var(--rt-rtui-btn-accent-text-bg);
|
|
21
|
+
--color: var(--rt-rtui-btn-accent-text-color);
|
|
22
|
+
|
|
23
|
+
&:hover {
|
|
24
|
+
--bg: var(--rt-rtui-btn-accent-text-hover-bg);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.rtui-btn-success-text {
|
|
29
|
+
--border: var(--rt-rtui-btn-success-text-border);
|
|
30
|
+
--bg: var(--rt-rtui-btn-success-text-bg);
|
|
31
|
+
--color: var(--rt-rtui-btn-success-text-color);
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
--bg: var(--rt-rtui-btn-success-text-hover-bg);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* secondary-text resolves its colour ON the element so the `--rt-text-base-secondary`
|
|
39
|
+
semantic (`--mat-sys-on-surface-variant` hybrid) lands where Material is in scope. */
|
|
40
|
+
.rtui-btn-secondary-text {
|
|
41
|
+
--border: var(--rt-rtui-btn-secondary-text-border);
|
|
42
|
+
--bg: var(--rt-rtui-btn-secondary-text-bg);
|
|
43
|
+
--color: var(--mat-sys-on-surface-variant, var(--rt-rtui-btn-secondary-text-color));
|
|
44
|
+
|
|
45
|
+
&:hover {
|
|
46
|
+
--bg: var(--rt-rtui-btn-secondary-text-hover-bg);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.rtui-btn-error-text {
|
|
51
|
+
--border: var(--rt-rtui-btn-error-text-border);
|
|
52
|
+
--bg: var(--rt-rtui-btn-error-text-bg);
|
|
53
|
+
--color: var(--rt-rtui-btn-error-text-color);
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
--bg: var(--rt-rtui-btn-error-text-hover-bg);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.rtui-btn-warning-text {
|
|
61
|
+
--border: var(--rt-rtui-btn-warning-text-border);
|
|
62
|
+
--bg: var(--rt-rtui-btn-warning-text-bg);
|
|
63
|
+
--color: var(--rt-rtui-btn-warning-text-color);
|
|
64
|
+
|
|
65
|
+
&:hover {
|
|
66
|
+
--bg: var(--rt-rtui-btn-warning-text-hover-bg);
|
|
67
|
+
}
|
|
68
|
+
}
|
package/src/styles/main.scss
CHANGED
package/styles/tokens.css
CHANGED
|
@@ -174,6 +174,8 @@
|
|
|
174
174
|
--rt-bg-accent-warning-solid: var(--rt-color-warning-80);
|
|
175
175
|
--rt-bg-accent-warning-hover: light-dark(color-mix(in srgb, var(--rt-color-warning-80) 90%, #000), color-mix(in srgb, var(--rt-color-warning-80) 90%, #fff));
|
|
176
176
|
--rt-bg-accent-warning-disabled: color-mix(in srgb, var(--rt-color-warning-80) 38%, transparent);
|
|
177
|
+
--rt-bg-accent-highlight: light-dark(#ffeb3b, #ffd54f);
|
|
178
|
+
--rt-text-accent-highlight: #181818;
|
|
177
179
|
--rt-bg-accent-danger-subtle: light-dark(var(--rt-color-danger-10), color-mix(in srgb, var(--rt-color-danger-100) 18%, #1c1b1e));
|
|
178
180
|
--rt-bg-accent-danger-solid: var(--rt-color-danger-100);
|
|
179
181
|
--rt-bg-accent-danger-hover: light-dark(color-mix(in srgb, var(--rt-color-danger-100) 90%, #000), color-mix(in srgb, var(--rt-color-danger-100) 90%, #fff));
|
|
@@ -241,7 +243,9 @@
|
|
|
241
243
|
--rt-spacing-4: 0.25rem;
|
|
242
244
|
--rt-spacing-6: 0.375rem;
|
|
243
245
|
--rt-spacing-8: 0.5rem;
|
|
246
|
+
--rt-spacing-10: 0.625rem;
|
|
244
247
|
--rt-spacing-12: 0.75rem;
|
|
248
|
+
--rt-spacing-14: 0.875rem;
|
|
245
249
|
--rt-spacing-16: 1rem;
|
|
246
250
|
--rt-spacing-20: 1.25rem;
|
|
247
251
|
--rt-spacing-24: 1.5rem;
|
|
@@ -266,6 +270,13 @@
|
|
|
266
270
|
--rt-font-weight-medium: 500;
|
|
267
271
|
--rt-font-weight-semibold: 600;
|
|
268
272
|
--rt-font-weight-bold: 700;
|
|
273
|
+
--rt-icon-size-xs: 0.875rem;
|
|
274
|
+
--rt-icon-size-sm: 1rem;
|
|
275
|
+
--rt-icon-size-md: 1.5rem;
|
|
276
|
+
--rt-icon-size-lg: 2rem;
|
|
277
|
+
--rt-icon-size-xl: 2.5rem;
|
|
278
|
+
--rt-icon-size-xxl: 3rem;
|
|
279
|
+
--rt-icon-size-3xl: 3.5rem;
|
|
269
280
|
--rt-shadow-sm: 0 0.0625rem 0.25rem 0 rgba(0, 0, 0, 0.12);
|
|
270
281
|
--rt-shadow-md: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.14);
|
|
271
282
|
--rt-shadow-lg: 0 0.5rem 1rem 0 var(--rt-shadow-color);
|