@manohub/ui 0.10.4 → 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 +155 -155
- package/dist/components/form/index.js +8 -1
- package/dist/components/tabs/index.d.ts +9 -6
- package/dist/components/tabs/index.js +6 -1
- package/dist/styles/components/avatar.css +131 -131
- package/dist/styles/components/avatar.tokens.css +24 -24
- package/dist/styles/components/badge.css +266 -266
- package/dist/styles/components/badge.tokens.css +24 -24
- package/dist/styles/components/button.css +460 -460
- package/dist/styles/components/capsule.css +128 -128
- package/dist/styles/components/capsule.tokens.css +27 -27
- package/dist/styles/components/card.css +198 -198
- package/dist/styles/components/checkbox.css +145 -145
- package/dist/styles/components/checkbox.tokens.css +26 -26
- package/dist/styles/components/code-block.css +216 -216
- package/dist/styles/components/code-block.tokens.css +40 -40
- package/dist/styles/components/collapse.css +62 -62
- package/dist/styles/components/collapse.tokens.css +20 -20
- package/dist/styles/components/dialog.css +158 -158
- package/dist/styles/components/dialog.tokens.css +24 -24
- package/dist/styles/components/divider.css +75 -75
- package/dist/styles/components/divider.tokens.css +22 -22
- package/dist/styles/components/drawer.css +143 -143
- package/dist/styles/components/drawer.tokens.css +22 -22
- package/dist/styles/components/filter.css +29 -29
- package/dist/styles/components/form.css +442 -430
- package/dist/styles/components/form.tokens.css +15 -15
- package/dist/styles/components/input.css +538 -533
- package/dist/styles/components/input.tokens.css +43 -43
- package/dist/styles/components/layout.css +200 -200
- package/dist/styles/components/list-view.css +244 -244
- package/dist/styles/components/loading.css +76 -76
- package/dist/styles/components/loading.tokens.css +23 -23
- package/dist/styles/components/nav.css +48 -48
- package/dist/styles/components/notice.css +153 -153
- package/dist/styles/components/notice.tokens.css +17 -17
- package/dist/styles/components/notification.css +159 -159
- package/dist/styles/components/notification.tokens.css +37 -37
- package/dist/styles/components/page.css +473 -473
- package/dist/styles/components/pagination.css +303 -303
- package/dist/styles/components/pagination.tokens.css +32 -32
- package/dist/styles/components/panel.css +77 -77
- package/dist/styles/components/query-state.css +88 -88
- package/dist/styles/components/radio.css +271 -271
- package/dist/styles/components/radio.tokens.css +26 -26
- package/dist/styles/components/search.css +34 -34
- package/dist/styles/components/select.css +326 -326
- package/dist/styles/components/select.tokens.css +44 -44
- package/dist/styles/components/skeleton.css +60 -60
- package/dist/styles/components/skeleton.tokens.css +27 -27
- package/dist/styles/components/steps.css +205 -205
- package/dist/styles/components/steps.tokens.css +44 -44
- package/dist/styles/components/switch.css +165 -165
- package/dist/styles/components/switch.tokens.css +26 -26
- package/dist/styles/components/tabbar.css +235 -235
- package/dist/styles/components/tabbar.tokens.css +30 -30
- package/dist/styles/components/table.css +504 -504
- package/dist/styles/components/table.tokens.css +44 -44
- package/dist/styles/components/tag.css +127 -127
- package/dist/styles/components/tag.tokens.css +24 -24
- package/dist/styles/components/toast.css +185 -185
- package/dist/styles/components/toast.tokens.css +26 -26
- package/dist/styles/components/tooltip.css +89 -89
- package/dist/styles/components/tooltip.tokens.css +25 -25
- package/dist/styles/components/tree.css +173 -173
- package/dist/styles/components/upload.css +151 -151
- package/dist/styles/components/upload.tokens.css +27 -27
- package/dist/styles/index.css +153 -153
- package/dist/styles/operations/collapse.css +84 -84
- package/dist/styles/operations/popup.css +193 -193
- package/dist/styles/operations/tabs.css +82 -73
- package/package.json +62 -62
|
@@ -1,128 +1,128 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Capsule —— 胶囊选择器(一组互斥选项,选中项白底胶囊浮在轨道上)。
|
|
3
|
-
*
|
|
4
|
-
* 出处:`@aihub/theme` 的 `playground/components/capsule.css` 与 `src/components/capsule.css`
|
|
5
|
-
* (轨道 32 高 / 内距 2 / 项 28 高 / 项内距 14 / 字号 14 / 圆角全;选中 = 白底 + 主色字 + medium +
|
|
6
|
-
* 1px 4px 主色投影;未选字 Te05、滑过转主色、禁用 Te07;轨道底 Au04)。
|
|
7
|
-
*
|
|
8
|
-
* **外形档**(`shape`):规范只有「圆角全」的胶囊形态;`.mh-capsule--square` 是**本仓新增**的圆角矩形档
|
|
9
|
-
* (与方角控件并排排版时用),圆角取**复选框档**令牌 `--ui-radius-sm`(比控件档更方,具体值随主题变)。
|
|
10
|
-
* 两档只差圆角令牌一处,其余几何与颜色一律不变。
|
|
11
|
-
*
|
|
12
|
-
* **操作是原生的**:一组同名 radio —— 开关与项**平级相邻、开关在前**,开关由本族隐身但保持可聚焦
|
|
13
|
-
* (Tab 进组、方向键换项、空格选中)。焦点环画在可见项上。
|
|
14
|
-
*
|
|
15
|
-
* 状态三源等价:原生 `input:checked` / 组件下发 `[data-state='active']` / 静态档 `.is-selected`。
|
|
16
|
-
*
|
|
17
|
-
* **与面板组合**:要「选中即切面板」,把本件塞进 `Tabs` 的 `selector` 插槽即可 ——
|
|
18
|
-
* 面板显隐由 `Tabs` 按受控值下发 `hidden`,本族不认识它、它也不认识本族(两层零互指)。
|
|
19
|
-
*
|
|
20
|
-
* **与 `Tabs` 的判据**:`Tabs` 是操作层的**骨架**(只给根、面板组与收起态,不带面),
|
|
21
|
-
* 面可由本件或按钮族的分段形态担任;本件是**带自己轨道与选中胶囊的轻量选择控件**。
|
|
22
|
-
*
|
|
23
|
-
* **轨道按内容宽收缩,不被父级拉宽**(缺省档口径的第二半)—— `align-self: flex-start` 就是为这条而写:
|
|
24
|
-
* 父级若是**列向弹性**(典型是 `Tabs` 的根 `.mh-tabs`),交叉轴缺省 `stretch` 会把唯一的子项拉成通栏,
|
|
25
|
-
* 轨道底随之变成一条长胶囊(实测:内容 112px 的轨道被拉到 638px);`TabBar` 同样被拉满,但它规范里
|
|
26
|
-
* 第 1 条就是「不画轨线」,没有底色,肉眼看不出来。要**主动**撑满仍然走 `block` 档 —— 那条
|
|
27
|
-
* `width: 100%` 是显式宽度,`align-self` 管不着它(撑满与否只由 `block` 决定)。
|
|
28
|
-
*/
|
|
29
|
-
.mh-capsule {
|
|
30
|
-
display: inline-flex;
|
|
31
|
-
/* 缺省不吃父级交叉轴的拉伸(理由见上);`align-self` 只对弹性子项生效,独立使用无副作用 */
|
|
32
|
-
align-self: flex-start;
|
|
33
|
-
align-items: center;
|
|
34
|
-
gap: 0; /* 胶囊相邻无间隙 */
|
|
35
|
-
min-height: var(--ui-capsule-height);
|
|
36
|
-
padding: var(--ui-capsule-inset);
|
|
37
|
-
border-radius: var(--ui-capsule-radius);
|
|
38
|
-
background: var(--ui-capsule-track-bg);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* 隐身开关:视觉隐藏但保持可聚焦(1px 盒 + clip-path,同 checkbox / radio 配方) */
|
|
42
|
-
.mh-capsule__input {
|
|
43
|
-
position: absolute;
|
|
44
|
-
width: 1px;
|
|
45
|
-
height: 1px;
|
|
46
|
-
margin: -1px;
|
|
47
|
-
padding: 0;
|
|
48
|
-
border: 0;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
white-space: nowrap;
|
|
51
|
-
clip-path: inset(50%);
|
|
52
|
-
appearance: none;
|
|
53
|
-
pointer-events: none; /* 别让这 1px 盒抢走轨道上的点击 */
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.mh-capsule__item {
|
|
57
|
-
display: inline-flex;
|
|
58
|
-
align-items: center;
|
|
59
|
-
justify-content: center;
|
|
60
|
-
height: var(--ui-capsule-item-height);
|
|
61
|
-
padding: 0 var(--ui-capsule-item-padding-x);
|
|
62
|
-
border: none;
|
|
63
|
-
border-radius: var(--ui-capsule-radius);
|
|
64
|
-
background: transparent;
|
|
65
|
-
font-family: inherit;
|
|
66
|
-
font-size: var(--ui-capsule-font-size);
|
|
67
|
-
line-height: var(--ui-line-body);
|
|
68
|
-
color: var(--ui-capsule-text);
|
|
69
|
-
cursor: pointer;
|
|
70
|
-
user-select: none;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/* 滑过:未选项文字转主色滑过档(白底项保持自己的字色) */
|
|
74
|
-
.mh-capsule__item:hover,
|
|
75
|
-
.mh-capsule__item.is-hover {
|
|
76
|
-
color: var(--ui-primary-hover);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* 键盘焦点环画在可见项上(隐身开关没有可见焦点;环随项自身圆角 = 胶囊形) */
|
|
80
|
-
.mh-capsule__input:focus-visible + .mh-capsule__item {
|
|
81
|
-
outline: 2px solid var(--ui-primary);
|
|
82
|
-
outline-offset: -2px;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/* 禁用:原生 disabled 与静态档同款(方向键会自动跳过禁用项,这是原生 radio 组的行为) */
|
|
86
|
-
.mh-capsule__item.is-disabled,
|
|
87
|
-
.mh-capsule__input:disabled + .mh-capsule__item {
|
|
88
|
-
color: var(--ui-base-content-subtle); /* Te07 */
|
|
89
|
-
cursor: not-allowed;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/* 选中:白底胶囊 + 主色字 + 投影(三源等价;下划线只属已退役的线性档,本族不画) */
|
|
93
|
-
.mh-capsule__item.is-selected,
|
|
94
|
-
.mh-capsule__item[data-state='active'],
|
|
95
|
-
.mh-capsule__input:checked + .mh-capsule__item {
|
|
96
|
-
background: var(--ui-capsule-item-bg);
|
|
97
|
-
color: var(--ui-primary);
|
|
98
|
-
font-weight: var(--ui-weight-medium);
|
|
99
|
-
box-shadow: 0 1px 4px color-mix(in srgb, var(--ui-primary) 30%, transparent);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/* ===== 尺寸档(只覆盖令牌,几何规则只有一份) ===== */
|
|
103
|
-
.mh-capsule--sm {
|
|
104
|
-
--ui-capsule-height: var(--ui-control-height-sm);
|
|
105
|
-
--ui-capsule-item-height: calc(var(--ui-control-height-sm) - 4px);
|
|
106
|
-
--ui-capsule-font-size: var(--ui-font-caption);
|
|
107
|
-
}
|
|
108
|
-
.mh-capsule--lg {
|
|
109
|
-
--ui-capsule-height: var(--ui-control-height-lg);
|
|
110
|
-
--ui-capsule-item-height: calc(var(--ui-control-height-lg) - 4px);
|
|
111
|
-
--ui-capsule-font-size: var(--ui-font-body);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/* ===== 外形档(只覆盖圆角令牌,几何与颜色规则只有一份) ===== */
|
|
115
|
-
.mh-capsule--square {
|
|
116
|
-
--ui-capsule-radius: var(--ui-radius-sm); /* 复选框档:比控件档更方(值随主题变) */
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/* ===== 整宽档:每项等分(移动端 / 表单里占满一行) ===== */
|
|
120
|
-
.mh-capsule--block {
|
|
121
|
-
display: flex;
|
|
122
|
-
width: 100%;
|
|
123
|
-
}
|
|
124
|
-
.mh-capsule--block > .mh-capsule__item {
|
|
125
|
-
flex: 1;
|
|
126
|
-
min-width: 0;
|
|
127
|
-
justify-content: center;
|
|
128
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Capsule —— 胶囊选择器(一组互斥选项,选中项白底胶囊浮在轨道上)。
|
|
3
|
+
*
|
|
4
|
+
* 出处:`@aihub/theme` 的 `playground/components/capsule.css` 与 `src/components/capsule.css`
|
|
5
|
+
* (轨道 32 高 / 内距 2 / 项 28 高 / 项内距 14 / 字号 14 / 圆角全;选中 = 白底 + 主色字 + medium +
|
|
6
|
+
* 1px 4px 主色投影;未选字 Te05、滑过转主色、禁用 Te07;轨道底 Au04)。
|
|
7
|
+
*
|
|
8
|
+
* **外形档**(`shape`):规范只有「圆角全」的胶囊形态;`.mh-capsule--square` 是**本仓新增**的圆角矩形档
|
|
9
|
+
* (与方角控件并排排版时用),圆角取**复选框档**令牌 `--ui-radius-sm`(比控件档更方,具体值随主题变)。
|
|
10
|
+
* 两档只差圆角令牌一处,其余几何与颜色一律不变。
|
|
11
|
+
*
|
|
12
|
+
* **操作是原生的**:一组同名 radio —— 开关与项**平级相邻、开关在前**,开关由本族隐身但保持可聚焦
|
|
13
|
+
* (Tab 进组、方向键换项、空格选中)。焦点环画在可见项上。
|
|
14
|
+
*
|
|
15
|
+
* 状态三源等价:原生 `input:checked` / 组件下发 `[data-state='active']` / 静态档 `.is-selected`。
|
|
16
|
+
*
|
|
17
|
+
* **与面板组合**:要「选中即切面板」,把本件塞进 `Tabs` 的 `selector` 插槽即可 ——
|
|
18
|
+
* 面板显隐由 `Tabs` 按受控值下发 `hidden`,本族不认识它、它也不认识本族(两层零互指)。
|
|
19
|
+
*
|
|
20
|
+
* **与 `Tabs` 的判据**:`Tabs` 是操作层的**骨架**(只给根、面板组与收起态,不带面),
|
|
21
|
+
* 面可由本件或按钮族的分段形态担任;本件是**带自己轨道与选中胶囊的轻量选择控件**。
|
|
22
|
+
*
|
|
23
|
+
* **轨道按内容宽收缩,不被父级拉宽**(缺省档口径的第二半)—— `align-self: flex-start` 就是为这条而写:
|
|
24
|
+
* 父级若是**列向弹性**(典型是 `Tabs` 的根 `.mh-tabs`),交叉轴缺省 `stretch` 会把唯一的子项拉成通栏,
|
|
25
|
+
* 轨道底随之变成一条长胶囊(实测:内容 112px 的轨道被拉到 638px);`TabBar` 同样被拉满,但它规范里
|
|
26
|
+
* 第 1 条就是「不画轨线」,没有底色,肉眼看不出来。要**主动**撑满仍然走 `block` 档 —— 那条
|
|
27
|
+
* `width: 100%` 是显式宽度,`align-self` 管不着它(撑满与否只由 `block` 决定)。
|
|
28
|
+
*/
|
|
29
|
+
.mh-capsule {
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
/* 缺省不吃父级交叉轴的拉伸(理由见上);`align-self` 只对弹性子项生效,独立使用无副作用 */
|
|
32
|
+
align-self: flex-start;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: 0; /* 胶囊相邻无间隙 */
|
|
35
|
+
min-height: var(--ui-capsule-height);
|
|
36
|
+
padding: var(--ui-capsule-inset);
|
|
37
|
+
border-radius: var(--ui-capsule-radius);
|
|
38
|
+
background: var(--ui-capsule-track-bg);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* 隐身开关:视觉隐藏但保持可聚焦(1px 盒 + clip-path,同 checkbox / radio 配方) */
|
|
42
|
+
.mh-capsule__input {
|
|
43
|
+
position: absolute;
|
|
44
|
+
width: 1px;
|
|
45
|
+
height: 1px;
|
|
46
|
+
margin: -1px;
|
|
47
|
+
padding: 0;
|
|
48
|
+
border: 0;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
white-space: nowrap;
|
|
51
|
+
clip-path: inset(50%);
|
|
52
|
+
appearance: none;
|
|
53
|
+
pointer-events: none; /* 别让这 1px 盒抢走轨道上的点击 */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.mh-capsule__item {
|
|
57
|
+
display: inline-flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
justify-content: center;
|
|
60
|
+
height: var(--ui-capsule-item-height);
|
|
61
|
+
padding: 0 var(--ui-capsule-item-padding-x);
|
|
62
|
+
border: none;
|
|
63
|
+
border-radius: var(--ui-capsule-radius);
|
|
64
|
+
background: transparent;
|
|
65
|
+
font-family: inherit;
|
|
66
|
+
font-size: var(--ui-capsule-font-size);
|
|
67
|
+
line-height: var(--ui-line-body);
|
|
68
|
+
color: var(--ui-capsule-text);
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
user-select: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* 滑过:未选项文字转主色滑过档(白底项保持自己的字色) */
|
|
74
|
+
.mh-capsule__item:hover,
|
|
75
|
+
.mh-capsule__item.is-hover {
|
|
76
|
+
color: var(--ui-primary-hover);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* 键盘焦点环画在可见项上(隐身开关没有可见焦点;环随项自身圆角 = 胶囊形) */
|
|
80
|
+
.mh-capsule__input:focus-visible + .mh-capsule__item {
|
|
81
|
+
outline: 2px solid var(--ui-primary);
|
|
82
|
+
outline-offset: -2px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* 禁用:原生 disabled 与静态档同款(方向键会自动跳过禁用项,这是原生 radio 组的行为) */
|
|
86
|
+
.mh-capsule__item.is-disabled,
|
|
87
|
+
.mh-capsule__input:disabled + .mh-capsule__item {
|
|
88
|
+
color: var(--ui-base-content-subtle); /* Te07 */
|
|
89
|
+
cursor: not-allowed;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* 选中:白底胶囊 + 主色字 + 投影(三源等价;下划线只属已退役的线性档,本族不画) */
|
|
93
|
+
.mh-capsule__item.is-selected,
|
|
94
|
+
.mh-capsule__item[data-state='active'],
|
|
95
|
+
.mh-capsule__input:checked + .mh-capsule__item {
|
|
96
|
+
background: var(--ui-capsule-item-bg);
|
|
97
|
+
color: var(--ui-primary);
|
|
98
|
+
font-weight: var(--ui-weight-medium);
|
|
99
|
+
box-shadow: 0 1px 4px color-mix(in srgb, var(--ui-primary) 30%, transparent);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* ===== 尺寸档(只覆盖令牌,几何规则只有一份) ===== */
|
|
103
|
+
.mh-capsule--sm {
|
|
104
|
+
--ui-capsule-height: var(--ui-control-height-sm);
|
|
105
|
+
--ui-capsule-item-height: calc(var(--ui-control-height-sm) - 4px);
|
|
106
|
+
--ui-capsule-font-size: var(--ui-font-caption);
|
|
107
|
+
}
|
|
108
|
+
.mh-capsule--lg {
|
|
109
|
+
--ui-capsule-height: var(--ui-control-height-lg);
|
|
110
|
+
--ui-capsule-item-height: calc(var(--ui-control-height-lg) - 4px);
|
|
111
|
+
--ui-capsule-font-size: var(--ui-font-body);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* ===== 外形档(只覆盖圆角令牌,几何与颜色规则只有一份) ===== */
|
|
115
|
+
.mh-capsule--square {
|
|
116
|
+
--ui-capsule-radius: var(--ui-radius-sm); /* 复选框档:比控件档更方(值随主题变) */
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ===== 整宽档:每项等分(移动端 / 表单里占满一行) ===== */
|
|
120
|
+
.mh-capsule--block {
|
|
121
|
+
display: flex;
|
|
122
|
+
width: 100%;
|
|
123
|
+
}
|
|
124
|
+
.mh-capsule--block > .mh-capsule__item {
|
|
125
|
+
flex: 1;
|
|
126
|
+
min-width: 0;
|
|
127
|
+
justify-content: center;
|
|
128
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* capsule —— 单件令牌(**基础值**)。
|
|
3
|
-
*
|
|
4
|
-
* 本件自己的几何 / 尺寸 / 色彩槽位;只服务本件,故不随主题进 `@manohub/theme`。
|
|
5
|
-
*
|
|
6
|
-
* ## 抽出说明
|
|
7
|
-
* 本文件从面文件里抽出(原先混写在 `capsule.css` 顶部):这些是**基础值**,锚在
|
|
8
|
-
* `[data-manohub-ui]` —— 跨包唯一作用域锚,由入口层无条件写在应用容器上,因此**任何落在
|
|
9
|
-
* 容器里的分件都取得到值**,不再依赖「声明在某个组件根类上」这条脆弱假设
|
|
10
|
-
* (历史症状:跨件消费的 `--ui-*-group-*` 取不到值,组内间距变 0)。
|
|
11
|
-
*
|
|
12
|
-
* ⚠️ `.mh-<件>--<档>` 这类**档位改写**留在面文件的修饰符块里 —— 它们靠「同一元素上两个
|
|
13
|
-
* 选择器改写同一个令牌」生效,搬到本文件会让档位失效。
|
|
14
|
-
* ⚠️ 新增组件要登记两处:本文件 + `src/styles/index.css`(见其文件头「五处齐备」)。
|
|
15
|
-
*/
|
|
16
|
-
[data-manohub-ui] {
|
|
17
|
-
/* 单件令牌(项高 28 + 内距 2×2 = 轨道 32,与规范实测一致) */
|
|
18
|
-
--ui-capsule-height: 32px;
|
|
19
|
-
--ui-capsule-item-height: 28px;
|
|
20
|
-
--ui-capsule-inset: 2px; /* 规范实测 2(本仓间距刻度从 4 起,取 4 会让轨道变 36,故按实测值给) */
|
|
21
|
-
--ui-capsule-item-padding-x: 14px; /* 规范实测(项宽 84 = 14 + 文字 56 + 14) */
|
|
22
|
-
--ui-capsule-font-size: var(--ui-font-body); /* 规范字号档 md(14)对位 */
|
|
23
|
-
--ui-capsule-track-bg: var(--ui-primary-weak); /* 规范 Au04 轨道底 */
|
|
24
|
-
--ui-capsule-item-bg: var(--ui-base-100); /* 选中 = 白底 */
|
|
25
|
-
--ui-capsule-text: var(--ui-base-content-muted); /* 未选 Te05 */
|
|
26
|
-
--ui-capsule-radius: var(--ui-radius-full); /* 缺省胶囊形;方形档覆盖为复选框档(见「外形档」) */
|
|
27
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* capsule —— 单件令牌(**基础值**)。
|
|
3
|
+
*
|
|
4
|
+
* 本件自己的几何 / 尺寸 / 色彩槽位;只服务本件,故不随主题进 `@manohub/theme`。
|
|
5
|
+
*
|
|
6
|
+
* ## 抽出说明
|
|
7
|
+
* 本文件从面文件里抽出(原先混写在 `capsule.css` 顶部):这些是**基础值**,锚在
|
|
8
|
+
* `[data-manohub-ui]` —— 跨包唯一作用域锚,由入口层无条件写在应用容器上,因此**任何落在
|
|
9
|
+
* 容器里的分件都取得到值**,不再依赖「声明在某个组件根类上」这条脆弱假设
|
|
10
|
+
* (历史症状:跨件消费的 `--ui-*-group-*` 取不到值,组内间距变 0)。
|
|
11
|
+
*
|
|
12
|
+
* ⚠️ `.mh-<件>--<档>` 这类**档位改写**留在面文件的修饰符块里 —— 它们靠「同一元素上两个
|
|
13
|
+
* 选择器改写同一个令牌」生效,搬到本文件会让档位失效。
|
|
14
|
+
* ⚠️ 新增组件要登记两处:本文件 + `src/styles/index.css`(见其文件头「五处齐备」)。
|
|
15
|
+
*/
|
|
16
|
+
[data-manohub-ui] {
|
|
17
|
+
/* 单件令牌(项高 28 + 内距 2×2 = 轨道 32,与规范实测一致) */
|
|
18
|
+
--ui-capsule-height: 32px;
|
|
19
|
+
--ui-capsule-item-height: 28px;
|
|
20
|
+
--ui-capsule-inset: 2px; /* 规范实测 2(本仓间距刻度从 4 起,取 4 会让轨道变 36,故按实测值给) */
|
|
21
|
+
--ui-capsule-item-padding-x: 14px; /* 规范实测(项宽 84 = 14 + 文字 56 + 14) */
|
|
22
|
+
--ui-capsule-font-size: var(--ui-font-body); /* 规范字号档 md(14)对位 */
|
|
23
|
+
--ui-capsule-track-bg: var(--ui-primary-weak); /* 规范 Au04 轨道底 */
|
|
24
|
+
--ui-capsule-item-bg: var(--ui-base-100); /* 选中 = 白底 */
|
|
25
|
+
--ui-capsule-text: var(--ui-base-content-muted); /* 未选 Te05 */
|
|
26
|
+
--ui-capsule-radius: var(--ui-radius-full); /* 缺省胶囊形;方形档覆盖为复选框档(见「外形档」) */
|
|
27
|
+
}
|