@rt-tools/ui-kit 0.5.0 → 0.5.1
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/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rt-tools/ui-kit",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Yauheni Krumin",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"tslib": "^2.8.0",
|
|
9
|
-
"@rt-tools/core": "^0.
|
|
10
|
-
"@rt-tools/store": "^0.3.
|
|
9
|
+
"@rt-tools/core": "^0.4.0",
|
|
10
|
+
"@rt-tools/store": "^0.3.2",
|
|
11
11
|
"@rt-tools/utils": "^0.4.0"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@rt-tools/core": "^0.
|
|
15
|
-
"@rt-tools/store": "^0.3.
|
|
14
|
+
"@rt-tools/core": "^0.4.0",
|
|
15
|
+
"@rt-tools/store": "^0.3.2",
|
|
16
16
|
"@rt-tools/utils": "^0.4.0",
|
|
17
17
|
"@angular/cdk": "^22.0.0",
|
|
18
18
|
"@angular/common": "^22.0.0",
|
|
Binary file
|
|
@@ -46,6 +46,15 @@ $side-menu: (
|
|
|
46
46
|
track-color: var(--rt-bg-base-strong),
|
|
47
47
|
thumb-color: var(--rt-bg-base-emphasis-soft),
|
|
48
48
|
),
|
|
49
|
+
// Ручка тяги: видимая полоса и зона, которой она захватывается курсором, — два разных числа.
|
|
50
|
+
// Пока они были одним, попасть в четыре пикселя удавалось не с первого раза, а промах мимо
|
|
51
|
+
// ручки попадает в панель подменю — то есть вместо тяги человек нажимает пункт. Зона шире
|
|
52
|
+
// втрое и стоит по центру прежнего места: видимое от этого не двигается ни на пиксель.
|
|
53
|
+
resizer: (
|
|
54
|
+
width: 0.25rem,
|
|
55
|
+
grab-width: 0.75rem,
|
|
56
|
+
hover-color: var(--rt-border-neutral-default),
|
|
57
|
+
),
|
|
49
58
|
);
|
|
50
59
|
|
|
51
60
|
:host(.rtui-side-menu--pinned) {
|
|
@@ -71,6 +80,10 @@ $side-menu: (
|
|
|
71
80
|
// и выражение, повторённое у каждого, разъезжается на первой же правке одного из них.
|
|
72
81
|
--rt-side-menu-sub-menu-shown-width: max(var(--rt-side-menu-sub-menu-width), var(--rt-side-menu-sub-menu-dragged-width, 0px));
|
|
73
82
|
|
|
83
|
+
// Правый край панели подменю на экране: отступ полосы значков плюс её показанная ширина.
|
|
84
|
+
// Тем же числом стоит ручка тяги, и повторённое у неё выражение разошлось бы с этим.
|
|
85
|
+
--rt-side-menu-panel-edge: calc(var(--rt-side-menu-base-width) + var(--rt-side-menu-sub-menu-shown-width));
|
|
86
|
+
|
|
74
87
|
// Полоса прокрутки обоих списков меню — полосы значков и подменю. Оформляется здесь, а не у
|
|
75
88
|
// прокручиваемой области: вид остальных её экранов от этой правки не двигается. Правило
|
|
76
89
|
// пробивает инкапсуляцию, потому что прокручивается внутренний узел области, а полоса
|
|
@@ -204,15 +217,36 @@ $side-menu: (
|
|
|
204
217
|
// уносит в свою область содержимого. Снаружи ручка идёт от края экрана до края, и стоит она
|
|
205
218
|
// там, где кончается панель: отступ полосы значков плюс ширина самой панели.
|
|
206
219
|
.rtui-side-menu-resizer {
|
|
220
|
+
// Свес — половина лишней ширины, на которую зона захвата шире видимой полосы. Его
|
|
221
|
+
// используют два места: сам узел, сдвинутый влево на эту величину, и полоса внутри него,
|
|
222
|
+
// отступающая на неё же. Выражение, повторённое у обоих, расходится на первой же правке
|
|
223
|
+
// одного.
|
|
224
|
+
--rt-side-menu-resizer-overhang: calc((var(--rt-side-menu-resizer-grab-width) - var(--rt-side-menu-resizer-width)) / 2);
|
|
225
|
+
|
|
226
|
+
// Отступ узла от правого края панели: своя ширина полосы плюс свес слева от неё.
|
|
227
|
+
--rt-side-menu-resizer-inset: calc(var(--rt-side-menu-resizer-width) + var(--rt-side-menu-resizer-overhang));
|
|
228
|
+
|
|
229
|
+
// Узел занимает зону захвата целиком и стоит так, чтобы прежняя полоса осталась на своём
|
|
230
|
+
// месте: лишняя ширина расходится поровну в обе стороны от неё.
|
|
207
231
|
position: fixed;
|
|
208
232
|
z-index: 3;
|
|
209
|
-
left: calc(var(--rt-side-menu-
|
|
210
|
-
width:
|
|
233
|
+
left: calc(var(--rt-side-menu-panel-edge) - var(--rt-side-menu-resizer-inset));
|
|
234
|
+
width: var(--rt-side-menu-resizer-grab-width);
|
|
211
235
|
cursor: col-resize;
|
|
212
236
|
inset-block: 0;
|
|
213
237
|
|
|
214
|
-
|
|
215
|
-
|
|
238
|
+
// Красится не сам узел, а полоса внутри него: закрашенная зона захвата стала бы втрое
|
|
239
|
+
// толще прежней линии и читалась бы другим оформлением, а не тем же с большей мишенью.
|
|
240
|
+
&:before {
|
|
241
|
+
position: absolute;
|
|
242
|
+
left: var(--rt-side-menu-resizer-overhang);
|
|
243
|
+
width: var(--rt-side-menu-resizer-width);
|
|
244
|
+
content: '';
|
|
245
|
+
inset-block: 0;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
&:hover:before {
|
|
249
|
+
background-color: var(--rt-side-menu-resizer-hover-color);
|
|
216
250
|
}
|
|
217
251
|
}
|
|
218
252
|
|
|
Binary file
|