@manohub/ui 1.0.2 → 1.0.3
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.
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
color: var(--ui-base-content);
|
|
416
416
|
}
|
|
417
417
|
|
|
418
|
-
/*
|
|
418
|
+
/* 标题左端的品牌色竖标(主色胶囊,几何见 `form.tokens.css` 的两枚令牌 —— 库内唯一来源)。
|
|
419
419
|
* **只在有标题文本时出现**:这一行也会在「只给 `extra`」时渲染(筛选条那种),
|
|
420
420
|
* 那时凭空多一条竖标就成了坏的排版 —— 用 `:has()` 守住真正有标题的那一种。
|
|
421
421
|
* `flex: none`:标题换行时竖标不许被挤扁。竖标与文本之间的间距由标题行既有的 `gap` 给,
|
|
@@ -434,6 +434,7 @@
|
|
|
434
434
|
|
|
435
435
|
.mh-form__title-text {
|
|
436
436
|
min-width: 0;
|
|
437
|
+
padding: 6px 0;
|
|
437
438
|
}
|
|
438
439
|
|
|
439
440
|
/* 右端操作位(`extra` 槽):贴右由 `margin-left: auto` 表达,不用 `justify-content: space-between`
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
[data-manohub-ui] {
|
|
13
13
|
--ui-form-label-width: 120px;
|
|
14
14
|
--ui-form-column-min: 320px;
|
|
15
|
-
/*
|
|
16
|
-
|
|
15
|
+
/* 标题行左端的品牌色竖标(主色 3×14 胶囊)。库内只留这一份规格:文档站示例标题曾自带一份
|
|
16
|
+
同值的竖标(`.mh-demo__title::before`),现由演示改用本件的 `Form.Header`,那一份已删。 */
|
|
17
17
|
--ui-form-title-bar-width: 3px;
|
|
18
|
-
--ui-form-title-bar-height:
|
|
18
|
+
--ui-form-title-bar-height: 14px;
|
|
19
19
|
}
|
|
@@ -271,6 +271,11 @@
|
|
|
271
271
|
* 框挂在控件上时附加位就落在框外 —— 带眼睛的密码框实测:壳 220px、带框的控件只到 196px,
|
|
272
272
|
* 眼睛图标飘在框外。壳定高 + 控件 `height: 100%`,整件仍是可点区域。
|
|
273
273
|
* **裸 `.mh-input`(不带壳)仍由控件自己画框**(Select 的搜索行就靠它),见上一节。
|
|
274
|
+
*
|
|
275
|
+
* **宽度口径归壳**(`--ui-control-width` / `--ui-control-min-width`,两枚都在主题层):
|
|
276
|
+
* 壳就是消费方看见的那个控件箱 —— Input / Textarea / NumberInput 一律渲染壳,故定宽与收缩下限
|
|
277
|
+
* 都设在这里;控件本体仍是 `width: 100%`(它要么在壳的内容盒里按 flex 收缩,要么在 Select 的
|
|
278
|
+
* 搜索行里撑满面板)—— 把令牌也设到控件本体会让它在壳的内距之外多出 24px。
|
|
274
279
|
*/
|
|
275
280
|
.mh-input__wrap {
|
|
276
281
|
/* 左右内距走**内部变量**再吃令牌:壳是框与内距的主,而档位类挂在控件上(壳是它的父),
|
|
@@ -281,7 +286,12 @@
|
|
|
281
286
|
display: inline-flex;
|
|
282
287
|
align-items: center;
|
|
283
288
|
gap: var(--ui-input-affix-gap);
|
|
284
|
-
|
|
289
|
+
/* 定宽 + 收缩下限:缺省撑满所在列,容器宽度由内容决定(flex 的 shrink-to-fit 槽)或行被挤时
|
|
290
|
+
不再塌成内容宽 —— 消费方在任意容器上重设这两枚令牌即整片生效(见 theme 的 spacing.css)。
|
|
291
|
+
⚠️ 行内输入(`Search` 的表壳)按导入顺序被 search.css 的 `.mh-search__input` 收回
|
|
292
|
+
`width: 100%; min-width: 0` —— 它的宽度归那一行,不归本件 */
|
|
293
|
+
width: var(--ui-control-width);
|
|
294
|
+
min-width: var(--ui-control-min-width);
|
|
285
295
|
height: var(--ui-input-height);
|
|
286
296
|
padding: 0 var(--mh-input-padding-x);
|
|
287
297
|
border: 1px solid var(--ui-input-line);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* 也不重画任何控件的框 —— 两份输入框几何必然在改令牌时漂开。
|
|
7
7
|
*
|
|
8
8
|
* 两条摆法:
|
|
9
|
-
* - 输入框 `flex: 1 1 auto` + `min-width: 0
|
|
9
|
+
* - 输入框 `flex: 1 1 auto` + `min-width: 0`:输入框自带宽度口径,在 flex 行里
|
|
10
10
|
* 必须允许收缩,否则会把同行的搜索按钮挤出容器(窄栏里尤其明显);
|
|
11
11
|
* - 搜索按钮 `flex: none`:它永远是「那么大」,宽度让给输入框。
|
|
12
12
|
*
|
|
@@ -14,18 +14,26 @@
|
|
|
14
14
|
* 再出一个同字形的图标按钮就是同一个意思画两遍)。此时 `__btn` 那条摆法规则无对象,
|
|
15
15
|
* 输入框自然占满整行——摆法不用改,缺了按钮也不留空档。
|
|
16
16
|
*
|
|
17
|
+
* **宽度口径**:整行吃控件的同一对令牌(`--ui-control-width` / `--ui-control-min-width`,见主题
|
|
18
|
+
* 的 spacing.css)—— 消费方在容器上定宽即整行定宽;行内那个输入框是 `Input` 的表壳
|
|
19
|
+
* (`class` 落在壳上,是 input 面的既有契约),它在 `input.css` 里同样吃了这两枚令牌,
|
|
20
|
+
* 故这里按导入顺序(本文件在 `input.css` 之后,见 `styles/index.css`)把它**收回**:
|
|
21
|
+
* 输入框的宽度归这一行,重复吃控件的宽度口径会让「240 的输入框 + 右侧按钮」溢出行宽。
|
|
22
|
+
*
|
|
17
23
|
* **类名与面文件名同根**:`.mh-search*`,一律 `mh-` 前缀。
|
|
18
24
|
*/
|
|
19
25
|
.mh-search {
|
|
20
26
|
display: flex;
|
|
21
27
|
align-items: center;
|
|
22
28
|
gap: var(--ui-space-2);
|
|
23
|
-
width:
|
|
24
|
-
min-width:
|
|
29
|
+
width: var(--ui-control-width);
|
|
30
|
+
min-width: var(--ui-control-min-width);
|
|
25
31
|
}
|
|
26
32
|
|
|
27
33
|
.mh-search__input {
|
|
28
34
|
flex: 1 1 auto;
|
|
35
|
+
/* 收回 input 面的宽度口径(同特异性、本文件在后 ⇒ 这条生效;min-width 同理收回 0,允许被压缩) */
|
|
36
|
+
width: 100%;
|
|
29
37
|
min-width: 0;
|
|
30
38
|
}
|
|
31
39
|
|
package/dist/styles/index.css
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* | 段 | 命名 | 落点 | 锚 |
|
|
14
14
|
* |---|---|---|---|
|
|
15
|
-
* | 全局令牌(跨件共用的值) | `--ui-{primary,base-*,space-*,radius-*,shadow-*,font-*}`、尺寸档(`--ui-control-height-*` / `--ui-mark-height-*`)、线型档(`--ui-line-dashed`) | `@manohub/theme` | `[data-manohub-ui]` |
|
|
15
|
+
* | 全局令牌(跨件共用的值) | `--ui-{primary,base-*,space-*,radius-*,shadow-*,font-*}`、尺寸档(`--ui-control-height-*` / `--ui-control-width` / `--ui-control-min-width` / `--ui-mark-height-*`)、线型档(`--ui-line-dashed`) | `@manohub/theme` | `[data-manohub-ui]` |
|
|
16
16
|
* | 组件令牌**基础值** | `--ui-<件>-*` | 本目录同名 `<件>.tokens.css` | `[data-manohub-ui]` |
|
|
17
17
|
* | 组件令牌**档位改写** | `--ui-<件>-*` | 面文件 `<件>.css` 的**修饰符块** | `.mh-<件>--<档>` 等 |
|
|
18
18
|
* | 内部状态变量 | `--mh-<件>-*` | 面文件(修饰符机制本身) | 组件根类 / 修饰符类 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manohub/ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "AIHub 自绘组件层:不依赖 farris 的手写 Vue TSX 组件 + 自带令牌层(Farris 规范视觉 · daisyUI 式语义令牌 · shadcn 式 API 词汇)。",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"vue": "^3.5.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@manohub/icon": "^1.0.
|
|
38
|
+
"@manohub/icon": "^1.0.3"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^24.0.0",
|