@xihan-ui/styles 3.2.0 → 4.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/CHANGELOG.md +441 -0
- package/component-tokens.d.ts +229 -60
- package/components.tokens.json +5124 -1555
- package/css/accordion.css +47 -20
- package/css/alert.css +14 -15
- package/css/anchor.css +2 -2
- package/css/approval.css +37 -13
- package/css/avatar-group.css +9 -12
- package/css/avatar.css +20 -18
- package/css/back-top.css +21 -7
- package/css/badge.css +5 -5
- package/css/breadcrumb.css +18 -16
- package/css/button-group.css +4 -6
- package/css/button.css +4 -7
- package/css/calendar-picker.css +177 -94
- package/css/calendar-range-picker.css +206 -121
- package/css/card.css +34 -6
- package/css/carousel.css +65 -49
- package/css/cascader.css +41 -29
- package/css/checkbox-group.css +9 -6
- package/css/checkbox.css +5 -4
- package/css/citation.css +7 -2
- package/css/clipboard.css +20 -4
- package/css/collapsible.css +29 -14
- package/css/color-field.css +4 -4
- package/css/color-picker.css +77 -23
- package/css/color-slider.css +10 -8
- package/css/color-swatch-picker.css +5 -5
- package/css/combobox.css +14 -10
- package/css/command.css +13 -8
- package/css/context-menu.css +10 -5
- package/css/date-field.css +4 -4
- package/css/date-picker.css +165 -102
- package/css/date-range-picker.css +186 -123
- package/css/description.css +10 -6
- package/css/descriptions.css +47 -19
- package/css/dialog.css +50 -35
- package/css/drawer.css +75 -21
- package/css/editable.css +15 -41
- package/css/empty-state.css +21 -3
- package/css/field-array.css +4 -1
- package/css/field.css +17 -18
- package/css/fieldset.css +33 -13
- package/css/file-upload.css +65 -32
- package/css/float-button.css +25 -15
- package/css/floating-panel.css +1 -1
- package/css/form.css +24 -10
- package/css/grid-list.css +1 -1
- package/css/highlight.css +4 -4
- package/css/hover-card.css +19 -12
- package/css/image-viewer.css +77 -27
- package/css/image.css +12 -4
- package/css/infinite-scroll.css +8 -4
- package/css/input-group.css +74 -26
- package/css/kbd.css +1 -1
- package/css/label.css +27 -11
- package/css/layout.css +17 -10
- package/css/list.css +13 -9
- package/css/listbox.css +12 -7
- package/css/loading-bar.css +3 -0
- package/css/mention.css +10 -8
- package/css/menu.css +10 -5
- package/css/menubar.css +13 -8
- package/css/navigation-menu.css +2 -2
- package/css/notification.css +114 -31
- package/css/number-animation.css +2 -2
- package/css/number-field.css +60 -37
- package/css/page-header.css +63 -26
- package/css/pagination.css +35 -38
- package/css/password-input.css +10 -66
- package/css/pin-input.css +18 -26
- package/css/popconfirm.css +20 -11
- package/css/popover.css +18 -12
- package/css/progress.css +14 -13
- package/css/prompt-input.css +3 -3
- package/css/question-flow.css +33 -7
- package/css/radio-group.css +120 -55
- package/css/rating.css +31 -14
- package/css/select.css +14 -10
- package/css/separator.css +22 -4
- package/css/side-nav.css +16 -11
- package/css/signature-pad.css +23 -9
- package/css/skeleton.css +7 -7
- package/css/slider.css +71 -42
- package/css/sparkline.css +8 -2
- package/css/spinner.css +40 -20
- package/css/statistic.css +14 -14
- package/css/steps.css +115 -84
- package/css/switch.css +9 -7
- package/css/table.css +27 -10
- package/css/tabs.css +35 -12
- package/css/tag-group.css +17 -6
- package/css/tag.css +54 -29
- package/css/tags-input.css +38 -19
- package/css/text-field.css +5 -5
- package/css/time-field.css +4 -4
- package/css/time-picker.css +150 -64
- package/css/time-range-picker.css +91 -62
- package/css/timeline.css +37 -20
- package/css/timer.css +3 -3
- package/css/toggle-group.css +4 -4
- package/css/tool-call.css +6 -4
- package/css/toolbar.css +6 -5
- package/css/tooltip.css +15 -16
- package/css/tour.css +14 -7
- package/css/transfer.css +22 -16
- package/css/tree-select.css +10 -10
- package/css/tree.css +26 -25
- package/css/typography.css +28 -25
- package/dist/css/accordion.css +47 -20
- package/dist/css/alert.css +14 -15
- package/dist/css/anchor.css +2 -2
- package/dist/css/approval.css +37 -13
- package/dist/css/avatar-group.css +9 -12
- package/dist/css/avatar.css +20 -18
- package/dist/css/back-top.css +21 -7
- package/dist/css/badge.css +5 -5
- package/dist/css/breadcrumb.css +18 -16
- package/dist/css/button-group.css +4 -6
- package/dist/css/button.css +4 -7
- package/dist/css/calendar-picker.css +177 -94
- package/dist/css/calendar-range-picker.css +206 -121
- package/dist/css/card.css +34 -6
- package/dist/css/carousel.css +65 -49
- package/dist/css/cascader.css +41 -29
- package/dist/css/checkbox-group.css +9 -6
- package/dist/css/checkbox.css +5 -4
- package/dist/css/citation.css +7 -2
- package/dist/css/clipboard.css +20 -4
- package/dist/css/collapsible.css +29 -14
- package/dist/css/color-field.css +4 -4
- package/dist/css/color-picker.css +77 -23
- package/dist/css/color-slider.css +10 -8
- package/dist/css/color-swatch-picker.css +5 -5
- package/dist/css/combobox.css +14 -10
- package/dist/css/command.css +13 -8
- package/dist/css/context-menu.css +10 -5
- package/dist/css/date-field.css +4 -4
- package/dist/css/date-picker.css +165 -102
- package/dist/css/date-range-picker.css +186 -123
- package/dist/css/description.css +10 -6
- package/dist/css/descriptions.css +47 -19
- package/dist/css/dialog.css +50 -35
- package/dist/css/drawer.css +75 -21
- package/dist/css/editable.css +15 -41
- package/dist/css/empty-state.css +21 -3
- package/dist/css/field-array.css +4 -1
- package/dist/css/field.css +17 -18
- package/dist/css/fieldset.css +33 -13
- package/dist/css/file-upload.css +65 -32
- package/dist/css/float-button.css +25 -15
- package/dist/css/floating-panel.css +1 -1
- package/dist/css/form.css +24 -10
- package/dist/css/grid-list.css +1 -1
- package/dist/css/highlight.css +4 -4
- package/dist/css/hover-card.css +19 -12
- package/dist/css/image-viewer.css +77 -27
- package/dist/css/image.css +12 -4
- package/dist/css/infinite-scroll.css +8 -4
- package/dist/css/input-group.css +74 -26
- package/dist/css/kbd.css +1 -1
- package/dist/css/label.css +27 -11
- package/dist/css/layout.css +17 -10
- package/dist/css/list.css +13 -9
- package/dist/css/listbox.css +12 -7
- package/dist/css/loading-bar.css +3 -0
- package/dist/css/mention.css +10 -8
- package/dist/css/menu.css +10 -5
- package/dist/css/menubar.css +13 -8
- package/dist/css/navigation-menu.css +2 -2
- package/dist/css/notification.css +114 -31
- package/dist/css/number-animation.css +2 -2
- package/dist/css/number-field.css +60 -37
- package/dist/css/page-header.css +63 -26
- package/dist/css/pagination.css +35 -38
- package/dist/css/password-input.css +10 -66
- package/dist/css/pin-input.css +18 -26
- package/dist/css/popconfirm.css +20 -11
- package/dist/css/popover.css +18 -12
- package/dist/css/progress.css +14 -13
- package/dist/css/prompt-input.css +3 -3
- package/dist/css/question-flow.css +33 -7
- package/dist/css/radio-group.css +120 -55
- package/dist/css/rating.css +31 -14
- package/dist/css/select.css +14 -10
- package/dist/css/separator.css +22 -4
- package/dist/css/side-nav.css +16 -11
- package/dist/css/signature-pad.css +23 -9
- package/dist/css/skeleton.css +7 -7
- package/dist/css/slider.css +71 -42
- package/dist/css/sparkline.css +8 -2
- package/dist/css/spinner.css +40 -20
- package/dist/css/statistic.css +14 -14
- package/dist/css/steps.css +115 -84
- package/dist/css/switch.css +9 -7
- package/dist/css/table.css +27 -10
- package/dist/css/tabs.css +35 -12
- package/dist/css/tag-group.css +17 -6
- package/dist/css/tag.css +54 -29
- package/dist/css/tags-input.css +38 -19
- package/dist/css/text-field.css +5 -5
- package/dist/css/time-field.css +4 -4
- package/dist/css/time-picker.css +150 -64
- package/dist/css/time-range-picker.css +91 -62
- package/dist/css/timeline.css +37 -20
- package/dist/css/timer.css +3 -3
- package/dist/css/toggle-group.css +4 -4
- package/dist/css/tool-call.css +6 -4
- package/dist/css/toolbar.css +6 -5
- package/dist/css/tooltip.css +15 -16
- package/dist/css/tour.css +14 -7
- package/dist/css/transfer.css +22 -16
- package/dist/css/tree-select.css +10 -10
- package/dist/css/tree.css +26 -25
- package/dist/css/typography.css +28 -25
- package/dist/family/action-control.css +30 -24
- package/dist/family/chart.css +57 -0
- package/dist/family/collection-item.css +12 -8
- package/dist/family/field-chrome.css +28 -19
- package/dist/family/loading-ring.css +20 -13
- package/dist/family/swatch.css +4 -4
- package/dist/family/tag-list.css +6 -0
- package/family/action-control.css +30 -24
- package/family/chart.css +57 -0
- package/family/collection-item.css +12 -8
- package/family/field-chrome.css +28 -19
- package/family/loading-ring.css +20 -13
- package/family/swatch.css +4 -4
- package/family/tag-list.css +6 -0
- package/index.css +3580 -2060
- package/index.unlayered.css +3579 -2060
- package/package.json +2 -2
package/dist/css/separator.css
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* 各自取用:换档只改槽,画在哪个节点上互不影响。
|
|
17
17
|
*/
|
|
18
18
|
.xh-scope-separator[data-part='root'] {
|
|
19
|
-
--xh-_separator-color: var(--xh-separator-color, var(--xh-
|
|
19
|
+
--xh-_separator-color: var(--xh-separator-color, var(--xh-border-default));
|
|
20
20
|
--xh-_separator-dash: var(--xh-separator-dash-length, var(--xh-space-1_5));
|
|
21
21
|
--xh-_separator-dash-gap: var(--xh-separator-dash-gap, var(--xh-space-1_5));
|
|
22
22
|
--xh-_separator-paint: var(--xh-_separator-color);
|
|
@@ -26,15 +26,20 @@
|
|
|
26
26
|
background: var(--xh-_separator-paint);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
/* 分隔线自带上下(竖向为左右)留白:横向上下各 20px,竖向左右各 12px,放进内容里不必另包一层加边距 */
|
|
29
30
|
.xh-scope-separator[data-part='root'][data-orientation='horizontal'] {
|
|
30
31
|
inline-size: 100%;
|
|
31
32
|
block-size: var(--xh-separator-thickness, var(--xh-stroke-thin));
|
|
33
|
+
margin-block: var(--xh-separator-my, var(--xh-space-5));
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
.xh-scope-separator[data-part='root'][data-orientation='vertical'] {
|
|
35
37
|
align-self: stretch;
|
|
36
38
|
inline-size: var(--xh-separator-thickness, var(--xh-stroke-thin));
|
|
37
39
|
block-size: 100%;
|
|
40
|
+
/* 父容器没有高度时也留一截与文字等高的线 */
|
|
41
|
+
min-block-size: var(--xh-glyph-size-text);
|
|
42
|
+
margin-inline: var(--xh-separator-mx, var(--xh-space-3));
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
/* —— 形态 ——
|
|
@@ -74,7 +79,9 @@
|
|
|
74
79
|
align-items: center;
|
|
75
80
|
inline-size: 100%;
|
|
76
81
|
block-size: auto;
|
|
77
|
-
gap: var(--xh-separator-gap, var(--xh-space-
|
|
82
|
+
gap: var(--xh-separator-gap, var(--xh-space-4));
|
|
83
|
+
/* 文字自带一行行高,上下留白收一半,整段占的高度与单线时相当 */
|
|
84
|
+
margin-block: var(--xh-separator-my, var(--xh-space-2_5));
|
|
78
85
|
background: none;
|
|
79
86
|
}
|
|
80
87
|
|
|
@@ -102,8 +109,9 @@
|
|
|
102
109
|
/* 分节文字:不参与等分,也不折行 */
|
|
103
110
|
.xh-scope-separator[data-part='content'] {
|
|
104
111
|
flex: none;
|
|
105
|
-
color: var(--xh-separator-content-fg, var(--xh-fg-
|
|
106
|
-
font-size: var(--xh-separator-content-font-size, var(--xh-text-
|
|
112
|
+
color: var(--xh-separator-content-fg, var(--xh-fg-default));
|
|
113
|
+
font-size: var(--xh-separator-content-font-size, var(--xh-text-body-size));
|
|
114
|
+
font-weight: var(--xh-separator-content-font-weight, var(--xh-font-weight-medium));
|
|
107
115
|
line-height: var(--xh-leading-normal);
|
|
108
116
|
white-space: nowrap;
|
|
109
117
|
}
|
|
@@ -114,6 +122,16 @@
|
|
|
114
122
|
flex: 0 0 var(--xh-separator-align-length, var(--xh-space-6));
|
|
115
123
|
}
|
|
116
124
|
|
|
125
|
+
/* 强制色:线是底色(与虚线的渐变)画的,系统会把底色换成 Canvas,线就此消失。
|
|
126
|
+
线退出强制换色、颜色直接取 CanvasText,实线与虚线同一条槽 */
|
|
127
|
+
@media (forced-colors: active) {
|
|
128
|
+
.xh-scope-separator:is([data-part='root'], [data-part='line']) {
|
|
129
|
+
--xh-_separator-color: CanvasText;
|
|
130
|
+
|
|
131
|
+
forced-color-adjust: none;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
117
135
|
/* 声明过任何 display 就盖掉了 UA 的 [hidden]{display:none},收起态得自己还回去。
|
|
118
136
|
写在文件末尾:兜底必须排在该部件所有 display 声明之后 */
|
|
119
137
|
.xh-scope-separator[data-part='root'][hidden] {
|
package/dist/css/side-nav.css
CHANGED
|
@@ -30,8 +30,11 @@
|
|
|
30
30
|
把 --xh-icon-size 改接到 --xh-control-indicator-* 一族的盒尺 */
|
|
31
31
|
--xh-icon-size: var(--xh-side-nav-icon-size, var(--xh-glyph-size-md));
|
|
32
32
|
|
|
33
|
-
/*
|
|
34
|
-
|
|
33
|
+
/* 尺寸档只换这三个私有槽,行从这两处继承它们,换档不必给每个部件各写一条选择器。
|
|
34
|
+
行高取导航行的尺(比同档控件高一截) */
|
|
35
|
+
--xh-_side-nav-row-h: var(--xh-nav-row-h-md);
|
|
36
|
+
/* 面板内的搜索框是字段,高度仍走控件尺 */
|
|
37
|
+
--xh-_side-nav-input-h: var(--xh-control-h-md);
|
|
35
38
|
--xh-_side-nav-row-px: var(--xh-control-px-md);
|
|
36
39
|
--xh-_side-nav-row-gap: var(--xh-control-gap-md);
|
|
37
40
|
--xh-_side-nav-row-font-size: var(--xh-control-font-md);
|
|
@@ -41,7 +44,8 @@
|
|
|
41
44
|
/* 缺省档写在上面那条里 */
|
|
42
45
|
.xh-scope-side-nav:is([data-part='root'], [data-part='positioner'])[data-size='sm'] {
|
|
43
46
|
--xh-icon-size: var(--xh-side-nav-icon-size, var(--xh-glyph-size-sm));
|
|
44
|
-
--xh-_side-nav-row-h: var(--xh-
|
|
47
|
+
--xh-_side-nav-row-h: var(--xh-nav-row-h-sm);
|
|
48
|
+
--xh-_side-nav-input-h: var(--xh-control-h-sm);
|
|
45
49
|
--xh-_side-nav-row-px: var(--xh-control-px-sm);
|
|
46
50
|
--xh-_side-nav-row-gap: var(--xh-control-gap-sm);
|
|
47
51
|
--xh-_side-nav-row-font-size: var(--xh-control-font-sm);
|
|
@@ -49,7 +53,8 @@
|
|
|
49
53
|
|
|
50
54
|
.xh-scope-side-nav:is([data-part='root'], [data-part='positioner'])[data-size='lg'] {
|
|
51
55
|
--xh-icon-size: var(--xh-side-nav-icon-size, var(--xh-glyph-size-lg));
|
|
52
|
-
--xh-_side-nav-row-h: var(--xh-
|
|
56
|
+
--xh-_side-nav-row-h: var(--xh-nav-row-h-lg);
|
|
57
|
+
--xh-_side-nav-input-h: var(--xh-control-h-lg);
|
|
53
58
|
--xh-_side-nav-row-px: var(--xh-control-px-lg);
|
|
54
59
|
--xh-_side-nav-row-gap: var(--xh-control-gap-lg);
|
|
55
60
|
--xh-_side-nav-row-font-size: var(--xh-control-font-lg);
|
|
@@ -79,7 +84,7 @@
|
|
|
79
84
|
|
|
80
85
|
flex: none;
|
|
81
86
|
min-inline-size: 0;
|
|
82
|
-
block-size: var(--xh-side-nav-input-h, var(--xh-_side-nav-
|
|
87
|
+
block-size: var(--xh-side-nav-input-h, var(--xh-_side-nav-input-h));
|
|
83
88
|
padding-block: 0;
|
|
84
89
|
padding-inline: var(--xh-side-nav-input-px, var(--xh-_side-nav-row-px));
|
|
85
90
|
border: none;
|
|
@@ -213,7 +218,7 @@
|
|
|
213
218
|
--xh-collection-inline-padding: var(--xh-side-nav-link-px, var(--xh-_side-nav-row-px));
|
|
214
219
|
--xh-collection-gap: 0;
|
|
215
220
|
--xh-collection-font-size: var(--xh-side-nav-link-font-size, var(--xh-_side-nav-row-font-size));
|
|
216
|
-
--xh-collection-radius: var(--xh-side-nav-link-radius, var(--xh-shape-
|
|
221
|
+
--xh-collection-radius: var(--xh-side-nav-link-radius, var(--xh-shape-surface));
|
|
217
222
|
/* 作者的图标尺槽经桥接槽下发到行,家族缺省按 data-xh-collection-size 取档 */
|
|
218
223
|
--xh-collection-glyph-size: var(--xh-side-nav-icon-size, var(--xh-_collection-glyph-size));
|
|
219
224
|
--xh-collection-fg-rest: var(--xh-side-nav-row-fg, currentColor);
|
|
@@ -223,16 +228,16 @@
|
|
|
223
228
|
--xh-collection-bg-hover: var(--xh-side-nav-row-bg-hover, var(--xh-bg-subtle));
|
|
224
229
|
--xh-collection-bg-keyboard-highlight: var(--xh-side-nav-row-bg-hover, var(--xh-bg-subtle));
|
|
225
230
|
--xh-collection-bg-pressed: var(--xh-side-nav-row-bg-pressed, var(--xh-bg-subtle-hover));
|
|
226
|
-
/*
|
|
231
|
+
/* 当前页:页内持久集合的标记是品牌淡底行面 + 淡底前景;侧栏另把字重提到 semibold,整列扫读时当前项一眼可见 */
|
|
227
232
|
--xh-collection-bg-current: var(--xh-side-nav-row-bg-active, var(--xh-bg-brand-subtle));
|
|
228
233
|
--xh-collection-fg-current: var(--xh-side-nav-row-fg-active, var(--xh-fg-on-brand-subtle));
|
|
229
234
|
--xh-collection-fg-current-hover: var(--xh-side-nav-row-fg-active, var(--xh-fg-on-brand-subtle));
|
|
230
235
|
--xh-collection-fg-current-highlight: var(--xh-side-nav-row-fg-active, var(--xh-fg-on-brand-subtle));
|
|
231
236
|
--xh-collection-fg-current-pressed: var(--xh-side-nav-row-fg-active, var(--xh-fg-on-brand-subtle));
|
|
232
|
-
--xh-collection-font-weight-current: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-
|
|
233
|
-
--xh-collection-font-weight-current-hover: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-
|
|
234
|
-
--xh-collection-font-weight-current-highlight: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-
|
|
235
|
-
--xh-collection-font-weight-current-pressed: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-
|
|
237
|
+
--xh-collection-font-weight-current: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-semibold));
|
|
238
|
+
--xh-collection-font-weight-current-hover: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-semibold));
|
|
239
|
+
--xh-collection-font-weight-current-highlight: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-semibold));
|
|
240
|
+
--xh-collection-font-weight-current-pressed: var(--xh-side-nav-row-font-weight-active, var(--xh-font-weight-semibold));
|
|
236
241
|
--xh-collection-indicator-fg-current: var(--xh-side-nav-indicator-color, var(--xh-fg-brand));
|
|
237
242
|
--xh-collection-indicator-fg-current-hover: var(--xh-side-nav-indicator-color, var(--xh-fg-brand));
|
|
238
243
|
--xh-collection-indicator-fg-current-highlight: var(--xh-side-nav-indicator-color, var(--xh-fg-brand));
|
|
@@ -23,34 +23,34 @@
|
|
|
23
23
|
gap: var(--xh-signature-pad-gap, var(--xh-space-2));
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
/* 复合单字段的标签:14 /
|
|
26
|
+
/* 复合单字段的标签:14 / 400 / fg-muted,不随档;与画布隔 space-2——
|
|
27
27
|
容器的 gap 归画布之后的部件,标签在它之上补一段差值把距离收成目标值 */
|
|
28
28
|
.xh-scope-signature-pad[data-part='label'] {
|
|
29
29
|
margin-block-end: calc(
|
|
30
|
-
var(--xh-signature-pad-label-gap, var(--xh-space-
|
|
30
|
+
var(--xh-signature-pad-label-gap, var(--xh-space-2))
|
|
31
31
|
- var(--xh-signature-pad-gap, var(--xh-space-2))
|
|
32
32
|
);
|
|
33
|
-
color: var(--xh-signature-pad-label-fg, var(--xh-fg-
|
|
33
|
+
color: var(--xh-signature-pad-label-fg, var(--xh-fg-muted));
|
|
34
34
|
font-size: var(--xh-signature-pad-label-font-size, var(--xh-text-label-size));
|
|
35
35
|
font-weight: var(--xh-signature-pad-label-font-weight, var(--xh-text-label-weight));
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.xh-scope-signature-pad[data-part='label'][data-disabled] {
|
|
39
|
-
color: var(--xh-signature-pad-label-fg-disabled, var(--xh-fg-
|
|
39
|
+
color: var(--xh-signature-pad-label-fg-disabled, var(--xh-fg-muted));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/* 画布是块状的写字区:宽度铺满外层,高度由宽高比决定。
|
|
43
43
|
控件行高那把尺量的是一行控件,一块要写字的面积用不上它。
|
|
44
44
|
touch-action 由连接层内联写死,触摸落笔才不会被页面滚动抢走。
|
|
45
45
|
外壳按字段规则自绘(登记的画布型字段例外:字段家族配方钉死控件行高,画布按宽高比撑高吃不下它):
|
|
46
|
-
|
|
46
|
+
静息字段淡底 + border-control 描边 + control 圆角 + 无影,与字段外壳同一副面 */
|
|
47
47
|
.xh-scope-signature-pad[data-part='control'] {
|
|
48
48
|
display: block;
|
|
49
49
|
inline-size: 100%;
|
|
50
50
|
aspect-ratio: var(--xh-signature-pad-aspect-ratio, 5 / 2);
|
|
51
51
|
border: var(--xh-stroke-thin) solid var(--xh-signature-pad-border, var(--xh-border-control));
|
|
52
52
|
border-radius: var(--xh-signature-pad-radius, var(--xh-shape-control));
|
|
53
|
-
background: var(--xh-signature-pad-bg,
|
|
53
|
+
background: var(--xh-signature-pad-bg, var(--xh-bg-field));
|
|
54
54
|
cursor: crosshair;
|
|
55
55
|
/* 一划就会把画布连同旁边的文字一起刷成选中态 */
|
|
56
56
|
user-select: none;
|
|
@@ -60,14 +60,21 @@
|
|
|
60
60
|
background-color var(--xh-motion-duration-micro) var(--xh-motion-ease-enter);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/* 悬停:底不变、描边升 border-strong,与字段外壳的悬停同一档 */
|
|
64
|
+
.xh-scope-signature-pad[data-part='control']:not([data-disabled]):not([data-readonly]):not([data-invalid]):not([data-drawing]):hover {
|
|
65
|
+
border-color: var(--xh-signature-pad-border-hover, var(--xh-border-strong));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* 校验失败:失效描边 + 4% 失效色淡底,与字段外壳的失效档同一副面 */
|
|
63
69
|
.xh-scope-signature-pad[data-part='control'][data-invalid] {
|
|
64
70
|
border-color: var(--xh-signature-pad-control-border-invalid, var(--xh-border-invalid));
|
|
71
|
+
background: var(--xh-signature-pad-bg-invalid, var(--xh-bg-field-invalid));
|
|
65
72
|
}
|
|
66
73
|
|
|
67
|
-
/*
|
|
68
|
-
用在这儿会让描边在落笔时反而变弱 */
|
|
74
|
+
/* 落笔期间与字段聚焦同一副面:换承载面 + 聚焦描边。排在失效之后,落笔时失效档让位 */
|
|
69
75
|
.xh-scope-signature-pad[data-part='control'][data-drawing] {
|
|
70
|
-
border-color: var(--xh-signature-pad-border-drawing, var(--xh-border-control-
|
|
76
|
+
border-color: var(--xh-signature-pad-border-drawing, var(--xh-border-control-focus));
|
|
77
|
+
background: var(--xh-signature-pad-bg-drawing, var(--xh-bg-surface));
|
|
71
78
|
}
|
|
72
79
|
|
|
73
80
|
/* 只读仍看得见签名,只是改不动:收掉手型,别暗示"在这儿能写";
|
|
@@ -176,4 +183,11 @@
|
|
|
176
183
|
.xh-scope-signature-pad[data-part='clear-trigger'][hidden] {
|
|
177
184
|
display: none;
|
|
178
185
|
}
|
|
186
|
+
|
|
187
|
+
/* 高对比档底色被系统换掉,落笔与失效只剩描边分得开:换系统高亮色 */
|
|
188
|
+
@media (forced-colors: active) {
|
|
189
|
+
.xh-scope-signature-pad[data-part='control']:is([data-drawing], [data-invalid]) {
|
|
190
|
+
border-color: Highlight;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
179
193
|
}
|
package/dist/css/skeleton.css
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
.xh-scope-skeleton[data-part='root'] {
|
|
28
28
|
display: flex;
|
|
29
29
|
flex-direction: column;
|
|
30
|
-
gap: var(--xh-skeleton-gap, var(--xh-space-
|
|
30
|
+
gap: var(--xh-skeleton-gap, var(--xh-space-4));
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/* 声明了 display 就盖掉了 UA 的 [hidden]{display:none},补这条兜住加载结束后的收起态 */
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
/*
|
|
46
46
|
* 单根骨架条。底色与微光两层叠在一起:
|
|
47
47
|
* background-color 是静止时看到的那层,background-image 是扫过去的那道光。
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* 微光取淡底一档叠在条底上:浅色下黑墨叠深、扫过去是一道比条底深的暗带,
|
|
49
|
+
* 深色下白墨叠亮、是一道亮带;两个主题里都是条底往前景方向再进一档。
|
|
50
50
|
*/
|
|
51
51
|
.xh-scope-skeleton[data-part='item'] {
|
|
52
52
|
inline-size: 100%;
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
background-image: linear-gradient(
|
|
57
57
|
90deg,
|
|
58
58
|
transparent 20%,
|
|
59
|
-
var(--xh-skeleton-sheen, var(--xh-bg-
|
|
59
|
+
var(--xh-skeleton-sheen, var(--xh-bg-subtle)) 50%,
|
|
60
60
|
transparent 80%
|
|
61
61
|
);
|
|
62
62
|
background-repeat: no-repeat;
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
animation: xh-shimmer var(--xh-skeleton-duration, var(--xh-motion-loop-shimmer)) var(--xh-motion-ease-loop) infinite;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
/*
|
|
68
|
+
/* 一行文字的高度取一行正文的行框,小圆角的方条,看起来就是一行还没排出来的字 */
|
|
69
69
|
.xh-scope-skeleton[data-part='item'][data-shape='text'] {
|
|
70
|
-
block-size: var(--xh-skeleton-text-block-size, var(--xh-text-
|
|
71
|
-
border-radius: var(--xh-skeleton-text-radius, var(--xh-shape-
|
|
70
|
+
block-size: var(--xh-skeleton-text-block-size, var(--xh-text-body-line-h));
|
|
71
|
+
border-radius: var(--xh-skeleton-text-radius, var(--xh-shape-inset));
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/* 头像位:正方形加满圆角。宽度定死不跟着容器拉长,高度也不许被主轴压扁 */
|
package/dist/css/slider.css
CHANGED
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
切换 orientation 的那一帧还会跟连接层清空另一轴的动作抢位置,把拇指钉在两轴都被约束的地方。
|
|
18
18
|
皮肤只管另一条轴(交叉轴)的尺寸、颜色、圆角与状态表现。 */
|
|
19
19
|
|
|
20
|
-
/* 私有槽位:组件令牌 →
|
|
21
|
-
三个角色节点用到,收成两个槽位挂在 root 上,尺寸档只改这两处,靠继承发到子部件。
|
|
20
|
+
/* 私有槽位:组件令牌 → 中档两级回退。轨道厚度与拇指直径同时被 control / track / thumb
|
|
21
|
+
三个角色节点用到,收成两个槽位挂在 root 上,尺寸档只改这两处,靠继承发到子部件。
|
|
22
|
+
中档是一条 2px 的细轨(描边粗档)配 12px 的拇指(轨道拇指的 md 档) */
|
|
22
23
|
.xh-scope-slider[data-part='root'] {
|
|
23
|
-
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-track-thumb-size));
|
|
24
|
-
--xh-_track-thickness: var(--xh-slider-track-thickness, var(--xh-
|
|
24
|
+
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-track-thumb-size-md));
|
|
25
|
+
--xh-_track-thickness: var(--xh-slider-track-thickness, var(--xh-stroke-thick));
|
|
25
26
|
|
|
26
27
|
display: flex;
|
|
27
28
|
flex-direction: column;
|
|
@@ -38,15 +39,17 @@
|
|
|
38
39
|
/* 禁用不整体压暗:前景与表面各自降级——连接层把 data-disabled 发到每个角色节点上,
|
|
39
40
|
轨道、区间、拇指、刻度与标签就近消费,写在各自的规则里 */
|
|
40
41
|
|
|
41
|
-
/* 字段标签:14 /
|
|
42
|
+
/* 字段标签:14 / 400 / fg-muted,与控件隔 space-2,禁用不另变色 */
|
|
42
43
|
.xh-scope-slider[data-part='label'] {
|
|
43
|
-
|
|
44
|
+
/* 竖排时标签与控件之间的距离:根的 gap 之上补一段差值,--xh-slider-label-gap 给多少最终就是多少 */
|
|
45
|
+
margin-block-end: calc(var(--xh-slider-label-gap, var(--xh-space-2)) - var(--xh-slider-gap, var(--xh-space-1)));
|
|
46
|
+
color: var(--xh-slider-label-fg, var(--xh-fg-muted));
|
|
44
47
|
font-size: var(--xh-slider-label-font-size, var(--xh-text-label-size));
|
|
45
48
|
font-weight: var(--xh-slider-label-font-weight, var(--xh-text-label-weight));
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
.xh-scope-slider[data-part='label'][data-disabled] {
|
|
49
|
-
color: var(--xh-slider-label-fg-disabled, var(--xh-fg-
|
|
52
|
+
color: var(--xh-slider-label-fg-disabled, var(--xh-fg-muted));
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
/* 拇指以它为定位上下文(拇指常常浮出轨道,挂在 track 上会被轨道的盒子束住)。
|
|
@@ -88,12 +91,40 @@
|
|
|
88
91
|
cursor: not-allowed;
|
|
89
92
|
}
|
|
90
93
|
|
|
94
|
+
/* 粗指针:控件只有拇指那么厚,命中区沿交叉轴外扩,补足到粗指针命中下限(--xh-control-hit-coarse)。
|
|
95
|
+
外扩总量是「下限 − 拇指直径」,按拇指算而不是写死一格,sm 档 10px 的拇指也补得到下限。
|
|
96
|
+
横排时块首朝着标签:那一侧只扩半个余量、且不越过标签与控件之间的间距,点在标签上仍归标签、不直接跳值;
|
|
97
|
+
少扩的那一截挪到块尾补齐。竖排时标签不在行内轴上,两侧对称各扩一半。
|
|
98
|
+
落指在轨道上下这一截也能按下即跳、接着拖;伪元素排在刻度之前,刻度文案仍压在它上面接得到点按 */
|
|
99
|
+
@media (pointer: coarse) {
|
|
100
|
+
.xh-scope-slider[data-part='control'][data-orientation='horizontal']::before {
|
|
101
|
+
--xh-_slider-hit-start: min(
|
|
102
|
+
var(--xh-slider-label-gap, var(--xh-space-2)),
|
|
103
|
+
(var(--xh-control-hit-coarse) - var(--xh-_thumb-size)) / 2
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
content: '';
|
|
107
|
+
position: absolute;
|
|
108
|
+
inset-block-start: calc(-1 * var(--xh-_slider-hit-start));
|
|
109
|
+
inset-block-end: calc(var(--xh-_slider-hit-start) + var(--xh-_thumb-size) - var(--xh-control-hit-coarse));
|
|
110
|
+
inset-inline: 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.xh-scope-slider[data-part='control'][data-orientation='vertical']::before {
|
|
114
|
+
content: '';
|
|
115
|
+
position: absolute;
|
|
116
|
+
inset-block: 0;
|
|
117
|
+
inset-inline: calc((var(--xh-_thumb-size) - var(--xh-control-hit-coarse)) / 2);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
91
121
|
/* 已选区间以它为定位上下文。不写 overflow: hidden:作者把拇指写进轨道里也是合法结构,
|
|
92
122
|
一裁就把拇指切掉半个;区间的圆角由它自己那条 border-radius 兜住,本就不靠轨道来裁。 */
|
|
93
123
|
.xh-scope-slider[data-part='track'] {
|
|
94
124
|
position: relative;
|
|
95
125
|
border-radius: var(--xh-slider-track-radius, var(--xh-shape-pill));
|
|
96
|
-
|
|
126
|
+
/* 底槽取淡底阶梯的 200 档(--xh-bg-subtle-hover) */
|
|
127
|
+
background: var(--xh-slider-track-bg, var(--xh-bg-subtle-hover));
|
|
97
128
|
}
|
|
98
129
|
|
|
99
130
|
.xh-scope-slider[data-part='track'][data-orientation='horizontal'] {
|
|
@@ -106,7 +137,7 @@
|
|
|
106
137
|
inline-size: var(--xh-_track-thickness);
|
|
107
138
|
}
|
|
108
139
|
|
|
109
|
-
/* 禁用:底槽退到 100
|
|
140
|
+
/* 禁用:底槽退到 100 档淡底,已选区间退到 200 档——两者仍分得开,值还读得出,只是没了品牌色 */
|
|
110
141
|
.xh-scope-slider[data-part='track'][data-disabled] {
|
|
111
142
|
background: var(--xh-slider-track-bg-disabled, var(--xh-bg-subtle));
|
|
112
143
|
}
|
|
@@ -146,39 +177,35 @@
|
|
|
146
177
|
background: var(--xh-slider-range-bg-invalid, var(--xh-border-invalid));
|
|
147
178
|
}
|
|
148
179
|
|
|
180
|
+
/* 区间叠在底槽上:取不透明档,半透明的墨色压在半透明的底槽上会再叠深一层 */
|
|
149
181
|
.xh-scope-slider[data-part='range'][data-disabled] {
|
|
150
|
-
background: var(--xh-slider-range-bg-disabled, var(--xh-
|
|
182
|
+
background: var(--xh-slider-range-bg-disabled, var(--xh-bg-subtle-hover-opaque));
|
|
151
183
|
}
|
|
152
184
|
|
|
153
185
|
/* 圆点浮在轨道之上:轨道是流内的,拇指是绝对定位的,天然后来居上,不必再堆 z-index。
|
|
154
186
|
box-sizing 必须显式写:描边要吃进直径里,否则实际盒子比 --xh-_thumb-size 宽两条边,
|
|
155
187
|
下面按半个直径回拉的负外边距就对不上圆心。
|
|
156
|
-
|
|
188
|
+
拇指是平面的白底圆:2px 强调色描边就是它的边界,静止不投影;跟着手走时才抬起(见拖动那档) */
|
|
157
189
|
.xh-scope-slider[data-part='thumb'] {
|
|
158
190
|
position: absolute;
|
|
159
191
|
box-sizing: border-box;
|
|
160
192
|
inline-size: var(--xh-_thumb-size);
|
|
161
193
|
block-size: var(--xh-_thumb-size);
|
|
162
|
-
|
|
163
|
-
拇指就与同色的已选区间糊成一片 */
|
|
164
|
-
border: var(--xh-stroke-thick) solid var(--xh-slider-thumb-border, var(--xh-border-default-opaque));
|
|
194
|
+
border: var(--xh-stroke-thick) solid var(--xh-slider-thumb-border, var(--xh-_tone, var(--xh-bg-brand)));
|
|
165
195
|
border-radius: var(--xh-slider-thumb-radius, var(--xh-shape-circle));
|
|
166
|
-
background: var(--xh-slider-thumb-bg, var(--xh-
|
|
167
|
-
|
|
168
|
-
不写就取到从页面继承下来的正文色 */
|
|
169
|
-
color: var(--xh-_tone-on, var(--xh-fg-on-brand));
|
|
170
|
-
box-shadow: var(--xh-slider-thumb-shadow, var(--xh-elevation-raised));
|
|
196
|
+
background: var(--xh-slider-thumb-bg, var(--xh-bg-surface));
|
|
197
|
+
box-shadow: var(--xh-slider-thumb-shadow, none);
|
|
171
198
|
cursor: grab;
|
|
172
199
|
transition:
|
|
173
200
|
scale var(--xh-motion-duration-nudge) var(--xh-motion-ease-enter-strong),
|
|
174
201
|
box-shadow var(--xh-motion-duration-micro) var(--xh-motion-ease-enter);
|
|
175
202
|
}
|
|
176
203
|
|
|
177
|
-
/*
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
204
|
+
/* 可悬停设备上指针落到拇指即放大一档,与拖动中同一比例:提示它抓得起来 */
|
|
205
|
+
@media (hover: hover) {
|
|
206
|
+
.xh-scope-slider[data-part='thumb']:hover:not([data-disabled], [data-readonly]) {
|
|
207
|
+
scale: var(--xh-slider-thumb-scale-dragging, var(--xh-motion-scale-drag));
|
|
208
|
+
}
|
|
182
209
|
}
|
|
183
210
|
|
|
184
211
|
/* 内联样式把 inset-inline-start 定在值所在的比例上,那是拇指的**起始边**不是圆心;
|
|
@@ -201,7 +228,7 @@
|
|
|
201
228
|
|
|
202
229
|
/* 多拇指时只有手真正推着的那一个带 data-dragging,放大与光标因此不会全组一起变。
|
|
203
230
|
放大用 scale 而不是改尺寸:变换绕自身中心发生,圆心不动,负外边距的算式也不用跟着改。
|
|
204
|
-
|
|
231
|
+
静止时不投影,拖动中才抬起到 lifted:跟着手走的东西离开页面一档,
|
|
205
232
|
又不到锚定浮层那一层——用 floating 会让拇指和下拉面板一样重。 */
|
|
206
233
|
.xh-scope-slider[data-part='thumb'][data-dragging] {
|
|
207
234
|
/* 放大比例落进私有槽:挂在拇指里的值气泡读同一支反向缩回原尺寸 */
|
|
@@ -213,16 +240,16 @@
|
|
|
213
240
|
}
|
|
214
241
|
|
|
215
242
|
.xh-scope-slider[data-part='thumb'][data-invalid] {
|
|
216
|
-
|
|
243
|
+
border-color: var(--xh-slider-thumb-border-invalid, var(--xh-border-invalid));
|
|
217
244
|
}
|
|
218
245
|
|
|
219
246
|
.xh-scope-slider[data-part='thumb'][data-readonly]:not([data-disabled]) {
|
|
220
247
|
cursor: default;
|
|
221
248
|
}
|
|
222
249
|
|
|
223
|
-
/*
|
|
224
|
-
不写 color:圆点上没有字,禁用拇指不进 Tab 序列也不会聚焦,环的前景在这里没有消费者 */
|
|
250
|
+
/* 禁用:白面留着、描边退到 200 档(不透明档:描边压在拇指自己的白底上,半透明的墨色要先兑实)、影收掉 */
|
|
225
251
|
.xh-scope-slider[data-part='thumb'][data-disabled] {
|
|
252
|
+
border-color: var(--xh-slider-thumb-border-disabled, var(--xh-bg-subtle-hover-opaque));
|
|
226
253
|
background: var(--xh-slider-thumb-bg-disabled, var(--xh-bg-surface));
|
|
227
254
|
box-shadow: var(--xh-slider-thumb-shadow-disabled, none);
|
|
228
255
|
cursor: not-allowed;
|
|
@@ -280,15 +307,14 @@
|
|
|
280
307
|
|
|
281
308
|
/* —— 尺寸 —— */
|
|
282
309
|
/* 尺寸只改 root 上那两个槽位,control / track / thumb 跟着一起走;中间档不写规则,缺省即中档。
|
|
283
|
-
|
|
310
|
+
拇指按轨道拇指的三档取 10 / 12 / 16px;轨道小档沿用中档的 2px(再细就读不出是条轨道),大档加到 3px */
|
|
284
311
|
.xh-scope-slider[data-part='root'][data-size='sm'] {
|
|
285
|
-
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-
|
|
286
|
-
--xh-_track-thickness: var(--xh-slider-track-thickness, var(--xh-space-1));
|
|
312
|
+
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-track-thumb-size-sm));
|
|
287
313
|
}
|
|
288
314
|
|
|
289
315
|
.xh-scope-slider[data-part='root'][data-size='lg'] {
|
|
290
|
-
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-
|
|
291
|
-
--xh-_track-thickness: var(--xh-slider-track-thickness, var(--xh-
|
|
316
|
+
--xh-_thumb-size: var(--xh-slider-thumb-size, var(--xh-track-thumb-size-lg));
|
|
317
|
+
--xh-_track-thickness: var(--xh-slider-track-thickness, var(--xh-stroke-strong));
|
|
292
318
|
}
|
|
293
319
|
|
|
294
320
|
/* —— 刻度:圆点钉在轨道上、文案排在轨道外侧,坐标由连接层按百分比内联给出 —— */
|
|
@@ -298,21 +324,24 @@
|
|
|
298
324
|
pointer-events: none;
|
|
299
325
|
}
|
|
300
326
|
|
|
301
|
-
/*
|
|
327
|
+
/* 刻度点是 8px 的白底小圆,2px 描边取轨道色;正方盒取 circle(正方盒不得用 pill 冒充圆)。
|
|
328
|
+
box-sizing 显式写:描边吃进直径里,平移回中才落在比例点上 */
|
|
302
329
|
.xh-scope-slider[data-part='tick'] {
|
|
303
330
|
position: absolute;
|
|
304
331
|
inset-block-start: 50%;
|
|
305
|
-
|
|
306
|
-
|
|
332
|
+
box-sizing: border-box;
|
|
333
|
+
inline-size: var(--xh-slider-tick-size, var(--xh-space-2));
|
|
334
|
+
block-size: var(--xh-slider-tick-size, var(--xh-space-2));
|
|
335
|
+
border: var(--xh-stroke-thick) solid var(--xh-slider-tick-border, var(--xh-bg-subtle-hover));
|
|
307
336
|
border-radius: var(--xh-slider-tick-radius, var(--xh-shape-circle));
|
|
308
|
-
background: var(--xh-slider-tick-bg, var(--xh-
|
|
337
|
+
background: var(--xh-slider-tick-bg, var(--xh-bg-surface));
|
|
309
338
|
/* 连接层把比例点写在 inset-inline-start 上:平移的行内分量乘书写方向的符号,rtl 下掉头,刻度点才以比例点为中心 */
|
|
310
339
|
translate: calc(-50% * var(--xh-direction-sign)) -50%;
|
|
311
340
|
}
|
|
312
341
|
|
|
313
|
-
/*
|
|
342
|
+
/* 落进已选区间的刻度点描边跟 range 同色 */
|
|
314
343
|
.xh-scope-slider[data-part='tick'][data-passed] {
|
|
315
|
-
|
|
344
|
+
border-color: var(--xh-slider-tick-border-active, var(--xh-_tone, var(--xh-bg-brand)));
|
|
316
345
|
}
|
|
317
346
|
|
|
318
347
|
.xh-scope-slider[data-part='tick-label'] {
|
|
@@ -334,13 +363,13 @@
|
|
|
334
363
|
}
|
|
335
364
|
|
|
336
365
|
/* 禁用:刻度点与文案由 tick-group 上的 data-disabled 下发(连接层不给每个刻度单发),
|
|
337
|
-
|
|
366
|
+
刻度点描边与底槽同退到 100 档、已过的与区间同退到 200 档,文案换禁用前景,点它跳档的手型收掉 */
|
|
338
367
|
.xh-scope-slider[data-part='tick-group'][data-disabled] [data-part='tick']:where(.xh-scope-slider) {
|
|
339
|
-
|
|
368
|
+
border-color: var(--xh-slider-tick-border-disabled, var(--xh-bg-subtle));
|
|
340
369
|
}
|
|
341
370
|
|
|
342
371
|
.xh-scope-slider[data-part='tick-group'][data-disabled] [data-part='tick'][data-passed]:where(.xh-scope-slider) {
|
|
343
|
-
|
|
372
|
+
border-color: var(--xh-slider-tick-border-active-disabled, var(--xh-bg-subtle-hover-opaque));
|
|
344
373
|
}
|
|
345
374
|
|
|
346
375
|
.xh-scope-slider[data-part='tick-group'][data-disabled] [data-part='tick-label']:where(.xh-scope-slider) {
|
package/dist/css/sparkline.css
CHANGED
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
--xh-_chart-metric-gap: var(--xh-chart-gap);
|
|
24
24
|
--xh-_chart-metric-bar-max: var(--xh-sparkline-bar-max, var(--xh-chart-bar-max));
|
|
25
25
|
--xh-_chart-metric-radius: var(--xh-sparkline-bar-radius, var(--xh-shape-inset));
|
|
26
|
+
/* 迷你图不画轴、标签与命中区,这几项照样写全:度量槽登记成了长度,不写的那项读到的是初始值 0,不是缺省 */
|
|
27
|
+
--xh-_chart-metric-hit-min: var(--xh-chart-hit-min);
|
|
28
|
+
--xh-_chart-metric-tick-length: var(--xh-chart-tick-length);
|
|
29
|
+
--xh-_chart-metric-label-gap: var(--xh-chart-label-gap);
|
|
30
|
+
--xh-_chart-metric-font-size: var(--xh-text-caption-size);
|
|
31
|
+
--xh-_chart-metric-leading: var(--xh-leading-tight);
|
|
26
32
|
|
|
27
33
|
/* 缺省中性:线与柱退到弱化色,只让标记点取品牌色相的色槽 1,读者先看到「现在在哪」 */
|
|
28
34
|
--xh-_sparkline-color: var(--xh-sparkline-color, var(--xh-chart-deemphasis));
|
|
@@ -30,9 +36,9 @@
|
|
|
30
36
|
|
|
31
37
|
display: inline-block;
|
|
32
38
|
inline-size: var(--xh-sparkline-width, 6rem);
|
|
33
|
-
/*
|
|
39
|
+
/* 级联兜底:先写一行正文的行框令牌(正文字号 × 正文行距),再写 1lh。
|
|
34
40
|
1lh 晚于本库声明的浏览器地板,取不到时旧引擎丢掉后一条、留下前一条。 */
|
|
35
|
-
block-size: var(--xh-sparkline-height,
|
|
41
|
+
block-size: var(--xh-sparkline-height, var(--xh-text-body-line-h));
|
|
36
42
|
block-size: var(--xh-sparkline-height, 1lh);
|
|
37
43
|
/* 高度正好是一个行盒:顶边贴行盒顶边,行高不被撑开;居中对齐会按字的 x 高度再挪半格,行盒就多出一截 */
|
|
38
44
|
vertical-align: top;
|