dsh-plugin-core 0.18.0 → 0.19.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/dist/ui/InputGroup.d.ts +84 -0
- package/dist/ui/InputGroup.d.ts.map +1 -0
- package/dist/ui/InputGroup.js +121 -0
- package/dist/ui/InputGroup.js.map +1 -0
- package/dist/ui/controls/input-group-css.generated.d.ts +2 -0
- package/dist/ui/controls/input-group-css.generated.d.ts.map +1 -0
- package/dist/ui/controls/input-group-css.generated.js +4 -0
- package/dist/ui/controls/input-group-css.generated.js.map +1 -0
- package/dist/ui/controls-css.d.ts +1 -0
- package/dist/ui/controls-css.d.ts.map +1 -1
- package/dist/ui/controls-css.js +1 -0
- package/dist/ui/controls-css.js.map +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/docs/design/structure.md +2 -1
- package/docs/help/ui.doc.ts +63 -0
- package/docs/help/ui.md +59 -0
- package/package.json +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 组合输入框 —— 输入框 + 后置按钮组(+ 可选前置标题)焊成一体(L2 组件皮肤,P3)
|
|
3
|
+
*
|
|
4
|
+
* 外观与 {@link SplitGroup} 同一套口径:外框 / 圆角 / 相邻 1px 分隔 / 整体聚焦圈都由外壳画,
|
|
5
|
+
* 内件(Input、Button、IconButton)把自己的边框、圆角、外圈交出来。区别只有一条:
|
|
6
|
+
* **这里持状态** —— 输入值受控于调用方,提交点与撤销栈在控件内部。
|
|
7
|
+
*
|
|
8
|
+
* 用法:
|
|
9
|
+
* h(InputGroup, {
|
|
10
|
+
* label: '任务名', value, onChange: setValue, undoable: true,
|
|
11
|
+
* actions: [
|
|
12
|
+
* { label: '返回', variant: 'ghost', onClick: () => close() },
|
|
13
|
+
* { label: '确定', variant: 'primary', onClick: save },
|
|
14
|
+
* ],
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* 撤销口径:Enter / 失焦 / 点任一动作 = 一次提交,把提交前的值压栈;点撤销弹回栈顶。
|
|
18
|
+
* 父级直接改 `value`(如外部清空)不算编辑,不进栈。
|
|
19
|
+
*/
|
|
20
|
+
import { createElement as h, type CSSProperties, type ReactNode } from 'react';
|
|
21
|
+
import { type ButtonVariant } from './Button.js';
|
|
22
|
+
import { type FieldSize } from './Field.js';
|
|
23
|
+
/** 后置按钮:只给 icon = 纯图标钮(正方形);给 label = 文字钮;两个都给 = 图标 + 文字。 */
|
|
24
|
+
export interface InputGroupAction {
|
|
25
|
+
/** 图标(任意 ReactNode)。 */
|
|
26
|
+
icon?: ReactNode;
|
|
27
|
+
/** 文案。不给且没图标 ⇒ 不渲染。 */
|
|
28
|
+
label?: string;
|
|
29
|
+
/**
|
|
30
|
+
* 外观档(默认 `info`)。要语义色就直接传这一档 —— `success` / `info` / `warning` / `danger`
|
|
31
|
+
* 都是 Button 现成的档,不是另外调色(用户 2026-11-02 定:别自造颜色,用这几档语义色,主要 success 与 info)。
|
|
32
|
+
*/
|
|
33
|
+
variant?: ButtonVariant;
|
|
34
|
+
/** 单钮禁用。 */
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
/** 无障碍名:只有图标时必给(否则读屏只知道「按钮」)。 */
|
|
37
|
+
ariaLabel?: string;
|
|
38
|
+
/** 点击。 */
|
|
39
|
+
onClick: () => void;
|
|
40
|
+
}
|
|
41
|
+
export interface InputGroupProps {
|
|
42
|
+
/** 当前值。 */
|
|
43
|
+
value: string;
|
|
44
|
+
/** 变更回调。 */
|
|
45
|
+
onChange: (value: string) => void;
|
|
46
|
+
/** 前置标题:与输入框同格、灰底,和控件是一体的。 */
|
|
47
|
+
label?: string;
|
|
48
|
+
/** 占位。 */
|
|
49
|
+
placeholder?: string;
|
|
50
|
+
/** 高度档(默认 lg)。 */
|
|
51
|
+
size?: FieldSize;
|
|
52
|
+
/** 自定义高度(px):给了就压过 size 档。 */
|
|
53
|
+
height?: number;
|
|
54
|
+
/** 校验不通过:整组描红。 */
|
|
55
|
+
error?: boolean;
|
|
56
|
+
/** 禁用整组。 */
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
/** 后置按钮,顺序即布局顺序;一枚或多枚都行(如「返回」+「确定」)。 */
|
|
59
|
+
actions?: InputGroupAction[];
|
|
60
|
+
/** 开启撤销:按钮组最前面多一枚撤销钮,回到上一次提交前的值。 */
|
|
61
|
+
undoable?: boolean;
|
|
62
|
+
/** 撤销钮的无障碍名(默认「撤销」)。 */
|
|
63
|
+
undoLabel?: string;
|
|
64
|
+
/** Enter 提交回调(提交点之一,撤销栈照记)。 */
|
|
65
|
+
onSubmit?: (value: string) => void;
|
|
66
|
+
/** 无障碍名(整组 role=group)。 */
|
|
67
|
+
'aria-label'?: string;
|
|
68
|
+
/** 根节点 id。 */
|
|
69
|
+
id?: string;
|
|
70
|
+
/** 追加 class(只补布局,不覆盖皮肤)。 */
|
|
71
|
+
className?: string;
|
|
72
|
+
/** 追加样式(只补布局)。 */
|
|
73
|
+
style?: CSSProperties;
|
|
74
|
+
/** 问号提示文字:给了就在整组后面挂标准 FieldHint。 */
|
|
75
|
+
hint?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 渲染一个「输入框 + 按钮组」组合控件。
|
|
79
|
+
*
|
|
80
|
+
* @param props 见 {@link InputGroupProps}。
|
|
81
|
+
* @returns 组合控件元素。
|
|
82
|
+
*/
|
|
83
|
+
export declare function InputGroup(props: InputGroupProps): ReturnType<typeof h>;
|
|
84
|
+
//# sourceMappingURL=InputGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.d.ts","sourceRoot":"","sources":["../../src/ui/InputGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,IAAI,CAAC,EAAoB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChG,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAI5D,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU;IACV,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,KAAK,EAAE,MAAM,CAAA;IACb,YAAY;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB;IAClB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAyFvE"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 组合输入框 —— 输入框 + 后置按钮组(+ 可选前置标题)焊成一体(L2 组件皮肤,P3)
|
|
3
|
+
*
|
|
4
|
+
* 外观与 {@link SplitGroup} 同一套口径:外框 / 圆角 / 相邻 1px 分隔 / 整体聚焦圈都由外壳画,
|
|
5
|
+
* 内件(Input、Button、IconButton)把自己的边框、圆角、外圈交出来。区别只有一条:
|
|
6
|
+
* **这里持状态** —— 输入值受控于调用方,提交点与撤销栈在控件内部。
|
|
7
|
+
*
|
|
8
|
+
* 用法:
|
|
9
|
+
* h(InputGroup, {
|
|
10
|
+
* label: '任务名', value, onChange: setValue, undoable: true,
|
|
11
|
+
* actions: [
|
|
12
|
+
* { label: '返回', variant: 'ghost', onClick: () => close() },
|
|
13
|
+
* { label: '确定', variant: 'primary', onClick: save },
|
|
14
|
+
* ],
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* 撤销口径:Enter / 失焦 / 点任一动作 = 一次提交,把提交前的值压栈;点撤销弹回栈顶。
|
|
18
|
+
* 父级直接改 `value`(如外部清空)不算编辑,不进栈。
|
|
19
|
+
*/
|
|
20
|
+
import { createElement as h, useRef, useState } from 'react';
|
|
21
|
+
import { Button, IconButton } from './Button.js';
|
|
22
|
+
import { Input, withHint } from './Field.js';
|
|
23
|
+
import { ensureComponentStyles } from './css.js';
|
|
24
|
+
import { BUTTON_CSS, FIELD_CSS, INPUT_GROUP_CSS } from './controls-css.js';
|
|
25
|
+
/**
|
|
26
|
+
* 渲染一个「输入框 + 按钮组」组合控件。
|
|
27
|
+
*
|
|
28
|
+
* @param props 见 {@link InputGroupProps}。
|
|
29
|
+
* @returns 组合控件元素。
|
|
30
|
+
*/
|
|
31
|
+
export function InputGroup(props) {
|
|
32
|
+
ensureComponentStyles('input-group', INPUT_GROUP_CSS);
|
|
33
|
+
ensureComponentStyles('field', FIELD_CSS);
|
|
34
|
+
ensureComponentStyles('button', BUTTON_CSS);
|
|
35
|
+
const { value, onChange, label, placeholder, size = 'lg', height, error, disabled, actions = [], undoable = false, undoLabel = '撤销', onSubmit, } = props;
|
|
36
|
+
const committed = useRef(value);
|
|
37
|
+
const [undoStack, setUndoStack] = useState([]);
|
|
38
|
+
const commit = () => {
|
|
39
|
+
if (value === committed.current)
|
|
40
|
+
return;
|
|
41
|
+
const prev = committed.current;
|
|
42
|
+
committed.current = value;
|
|
43
|
+
setUndoStack((stack) => [...stack, prev]);
|
|
44
|
+
};
|
|
45
|
+
const undo = () => {
|
|
46
|
+
const prev = undoStack[undoStack.length - 1];
|
|
47
|
+
if (prev === undefined)
|
|
48
|
+
return;
|
|
49
|
+
setUndoStack((stack) => stack.slice(0, -1));
|
|
50
|
+
committed.current = prev;
|
|
51
|
+
onChange(prev);
|
|
52
|
+
};
|
|
53
|
+
const nodes = [];
|
|
54
|
+
if (label !== undefined)
|
|
55
|
+
nodes.push(h('span', { key: 'label', className: 'dshpc-igroup__label' }, label));
|
|
56
|
+
nodes.push(h(Input, {
|
|
57
|
+
key: 'input',
|
|
58
|
+
value,
|
|
59
|
+
onChange,
|
|
60
|
+
placeholder,
|
|
61
|
+
size,
|
|
62
|
+
disabled,
|
|
63
|
+
'aria-label': props['aria-label'],
|
|
64
|
+
onBlur: commit,
|
|
65
|
+
onKeyDown: (event) => {
|
|
66
|
+
if (event.key !== 'Enter')
|
|
67
|
+
return;
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
commit();
|
|
70
|
+
if (onSubmit !== undefined)
|
|
71
|
+
onSubmit(value);
|
|
72
|
+
},
|
|
73
|
+
}));
|
|
74
|
+
if (undoable) {
|
|
75
|
+
nodes.push(h(IconButton, {
|
|
76
|
+
key: 'undo',
|
|
77
|
+
variant: 'plain',
|
|
78
|
+
size,
|
|
79
|
+
icon: '↶',
|
|
80
|
+
label: undoLabel,
|
|
81
|
+
disabled: disabled === true || undoStack.length === 0,
|
|
82
|
+
onClick: undo,
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
actions.forEach((action, i) => {
|
|
86
|
+
if (action.label === undefined && (action.icon === undefined || action.icon === null))
|
|
87
|
+
return;
|
|
88
|
+
const run = () => { commit(); action.onClick(); };
|
|
89
|
+
const off = disabled === true || action.disabled === true;
|
|
90
|
+
const onlyIcon = action.label === undefined;
|
|
91
|
+
nodes.push(onlyIcon
|
|
92
|
+
? h(IconButton, {
|
|
93
|
+
key: `action-${String(i)}`,
|
|
94
|
+
variant: 'plain',
|
|
95
|
+
size,
|
|
96
|
+
icon: action.icon,
|
|
97
|
+
label: action.ariaLabel ?? '操作',
|
|
98
|
+
disabled: off,
|
|
99
|
+
onClick: run,
|
|
100
|
+
})
|
|
101
|
+
: h(Button, {
|
|
102
|
+
key: `action-${String(i)}`,
|
|
103
|
+
variant: action.variant ?? 'info',
|
|
104
|
+
size,
|
|
105
|
+
icon: action.icon,
|
|
106
|
+
disabled: off,
|
|
107
|
+
onClick: run,
|
|
108
|
+
}, action.label));
|
|
109
|
+
});
|
|
110
|
+
const className = `dshpc-igroup dshpc-igroup--${size}`
|
|
111
|
+
+ `${error === true ? ' dshpc-igroup--error' : ''}`
|
|
112
|
+
+ `${props.className !== undefined && props.className !== '' ? ` ${props.className}` : ''}`;
|
|
113
|
+
return withHint(h('div', {
|
|
114
|
+
role: 'group',
|
|
115
|
+
'aria-label': props['aria-label'] ?? label,
|
|
116
|
+
id: props.id,
|
|
117
|
+
className,
|
|
118
|
+
style: height === undefined ? props.style : { height, ...props.style },
|
|
119
|
+
}, nodes), props.hint);
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=InputGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.js","sourceRoot":"","sources":["../../src/ui/InputGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const INPUT_GROUP_CSS = "\n/* \u2500\u2500 \u7EC4\u5408\u8F93\u5165\u6846 InputGroup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u8F93\u5165\u6846 + \u540E\u7F6E\u6309\u94AE\uFF08\u4E00\u679A\u6216\u591A\u679A\uFF09+ \u53EF\u9009\u524D\u7F6E\u6807\u9898\uFF0C\u710A\u6210\u4E00\u4F53\u3002\n \u4E0E SplitGroup \u540C\u4E00\u5957\u5916\u89C2\u53E3\u5F84\uFF1A\u5916\u6846 / \u5706\u89D2 / \u76F8\u90BB 1px \u5206\u9694 / \u6574\u4F53\u805A\u7126\u5708\u90FD\u7531\u5916\u58F3\u753B\uFF0C\n \u5185\u4EF6\uFF08.dshpc-input / .dshpc-btn / .dshpc-iconbtn\uFF09\u628A\u81EA\u5DF1\u7684\u8FB9\u6846\u3001\u5706\u89D2\u3001\u5916\u5708\u4EA4\u51FA\u6765\u3002\n\n \u9AD8\u5EA6\u9ED8\u8BA4\u5403 --dshpc-control-h-*\uFF08sm 24 / md 28 / lg 32\uFF09\uFF1B\u8C03\u7528\u65B9\u8981\u81EA\u5B9A\u4E49\u5C31\u5728\u6839\u8282\u70B9\n \u5185\u8054 height\uFF0C\u8FD9\u91CC\u8BA9\u5185\u4EF6 height:100% \u8DDF\u4E0A \u2014\u2014 \u5185\u4EF6\u6863\u4F4D\u9AD8\u5EA6\u53EA\u6709 0,1,0\uFF0C\u88AB\u672C\u6587\u4EF6\u7684\n 0,2,0 \u538B\u6389\uFF0C\u4E0D\u4F1A\u51FA\u73B0\u300C\u5916\u58F3\u53D8\u9AD8\u4E86\u3001\u91CC\u9762\u7684\u6846\u8FD8\u662F 32\u300D\u3002\n \uFF08\u26A0\uFE0F \u522B\u6539\u6210\u4E0D\u5199 height:100% \u53EA\u9760 stretch\uFF1Ainput \u6709\u786E\u5B9A\u9AD8\u5EA6\u65F6 flex \u4E0D\u4F1A\u62C9\u4F38\u5B83\u3002\uFF09 */\n/* min-width\uFF1A\u8F93\u5165\u683C\u662F flex:1\uFF0C\u6CA1\u6709\u5B83\u65F6 inline-flex \u6309\u5360\u4F4D\u6587\u5B57\u5BBD\u6536\u5F97\u5F88\u7A84\uFF08\u641C\u7D22\u6846 + \u6309\u94AE\u7684\u5178\u578B\u7528\u6CD5\u4F1A\u96BE\u770B\uFF09\u3002\n \u8981\u66F4\u5BBD / \u66F4\u7A84\u7531\u8C03\u7528\u65B9\u5728\u5916\u9762\u5957\u58F3\u6216\u7ED9 className\uFF0C\u4E0D\u8BB8\u5728\u8FD9\u91CC\u5199\u6B7B max-width\u3002 */\n.dshpc-igroup{display:inline-flex;align-items:stretch;min-width:200px;max-width:100%;box-sizing:border-box;overflow:hidden;\n border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);}\n.dshpc-igroup--sm{height:var(--dshpc-control-h-sm);}\n.dshpc-igroup--md{height:var(--dshpc-control-h-md);}\n.dshpc-igroup--lg{height:var(--dshpc-control-h-lg);}\n.dshpc-igroup--error{border-color:var(--dshpc-danger);}\n/* \u6574\u4F53\u805A\u7126\uFF1A\u5185\u4EF6\u81EA\u5DF1\u7684\u7126\u70B9\u5708\u4EA4\u51FA\u6765\uFF0C\u7531\u5916\u58F3\u753B\u4E00\u6574\u5708\uFF08\u5404\u753B\u5404\u7684\u4F1A\u53D8\u6210\u683C\u5185\u534A\u5708\uFF09 */\n.dshpc-igroup:focus-within{border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}\n\n/* \u524D\u7F6E\u6807\u9898\uFF1A\u4E0E\u8F93\u5165\u6846\u540C\u683C\uFF0C\u7070\u5E95\u533A\u5206\uFF08\u4E0E SplitGroup \u5DE6\u683C\u540C\u4E00\u53E3\u5F84\uFF09 */\n.dshpc-igroup__label{display:inline-flex;align-items:center;flex:none;padding:0 8px;white-space:nowrap;\n background:var(--dshpc-surface-sunken);color:var(--dshpc-fg-2);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);}\n.dshpc-igroup--md .dshpc-igroup__label,.dshpc-igroup--lg .dshpc-igroup__label{font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}\n\n/* \u8F93\u5165\u683C\uFF1A\u4EA4\u51FA\u8FB9\u6846 / \u5706\u89D2 / \u5E95\u8272 / \u7126\u70B9\u5708\uFF1B\u5BBD\u5EA6\u4EA4\u7ED9 flex\uFF08\u539F\u751F width:100% \u4F1A\u548C flex-basis \u6253\u67B6\uFF09 */\n.dshpc-igroup > .dshpc-input{flex:1 1 auto;width:auto;min-width:0;height:100%;border:0;border-radius:0;background:transparent;}\n.dshpc-igroup > .dshpc-input:focus{box-shadow:none;}\n\n/* \u6309\u94AE\u683C\uFF1A\u4EA4\u51FA\u8FB9\u6846\u4E0E\u5706\u89D2\uFF1B\u5B9E\u5FC3\u5E95\u8272\u4FDD\u7559\uFF08\u53F3\u4FA7\u300C\u786E\u5B9A\u300D\u8BE5\u6709\u91CD\u91CF\uFF09\u3002\n \u7EAF\u56FE\u6807\u94AE\u672C\u8EAB\u662F\u56FA\u5B9A\u5BBD\u7684\u65B9\u5757\uFF0C\u8FD9\u91CC\u6539\u6210\u6309\u9AD8\u5EA6\u6491\u51FA\u7684\u6B63\u65B9\u5F62\uFF0C\u81EA\u5B9A\u4E49\u9AD8\u5EA6\u65F6\u624D\u4E0D\u4F1A\u53D8\u6210\u7AD6\u957F\u6761\u3002 */\n.dshpc-igroup > .dshpc-btn,.dshpc-igroup > .dshpc-iconbtn{flex:none;height:100%;border-radius:0;}\n.dshpc-igroup > .dshpc-iconbtn{width:auto;aspect-ratio:1;}\n.dshpc-igroup > .dshpc-btn{border:0;}\n\n/* \u5206\u9694\u7EBF\uFF1A\u76F8\u90BB\u5144\u5F1F\u7684\u5DE6\u63CF\u8FB9\uFF0C\u4E0D\u989D\u5916\u63D2 DOM\u3002\u540E\u4E24\u6761\u662F\u7ED9\u300C\u6E05\u8FC7\u8FB9\u6846\u300D\u7684\u683C\u5B50\u8865\u56DE\u6765\u7684\uFF0C\n \u5FC5\u987B\u5199\u6210 0,2,0 \u4E14\u5199\u5728\u4E0A\u9762\u7684 border:0 \u4E4B\u540E \u2014\u2014 \u5426\u5219\u88AB border:0 \u538B\u6389\uFF0C\u683C\u5B50\u4E4B\u95F4\u6CA1\u5206\u9694\u3002 */\n.dshpc-igroup > * + *{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n.dshpc-igroup > * + .dshpc-input{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n.dshpc-igroup > * + .dshpc-btn{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n";
|
|
2
|
+
//# sourceMappingURL=input-group-css.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-group-css.generated.d.ts","sourceRoot":"","sources":["../../../src/ui/controls/input-group-css.generated.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,ggKAAohF,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// ⚠️ 生成物,勿手改。真源 = src/ui/controls/input-group.css
|
|
2
|
+
// 由 scripts/gen-css.mjs 生成(`pnpm run gen:css`):改样式请改那个 .css 文件后重新生成。
|
|
3
|
+
export const INPUT_GROUP_CSS = "\n/* ── 组合输入框 InputGroup ─────────────────────────────────────────────\n 输入框 + 后置按钮(一枚或多枚)+ 可选前置标题,焊成一体。\n 与 SplitGroup 同一套外观口径:外框 / 圆角 / 相邻 1px 分隔 / 整体聚焦圈都由外壳画,\n 内件(.dshpc-input / .dshpc-btn / .dshpc-iconbtn)把自己的边框、圆角、外圈交出来。\n\n 高度默认吃 --dshpc-control-h-*(sm 24 / md 28 / lg 32);调用方要自定义就在根节点\n 内联 height,这里让内件 height:100% 跟上 —— 内件档位高度只有 0,1,0,被本文件的\n 0,2,0 压掉,不会出现「外壳变高了、里面的框还是 32」。\n (⚠️ 别改成不写 height:100% 只靠 stretch:input 有确定高度时 flex 不会拉伸它。) */\n/* min-width:输入格是 flex:1,没有它时 inline-flex 按占位文字宽收得很窄(搜索框 + 按钮的典型用法会难看)。\n 要更宽 / 更窄由调用方在外面套壳或给 className,不许在这里写死 max-width。 */\n.dshpc-igroup{display:inline-flex;align-items:stretch;min-width:200px;max-width:100%;box-sizing:border-box;overflow:hidden;\n border:1px solid var(--dshpc-border);border-radius:var(--dshpc-radius-md);background:var(--dshpc-surface-1);}\n.dshpc-igroup--sm{height:var(--dshpc-control-h-sm);}\n.dshpc-igroup--md{height:var(--dshpc-control-h-md);}\n.dshpc-igroup--lg{height:var(--dshpc-control-h-lg);}\n.dshpc-igroup--error{border-color:var(--dshpc-danger);}\n/* 整体聚焦:内件自己的焦点圈交出来,由外壳画一整圈(各画各的会变成格内半圈) */\n.dshpc-igroup:focus-within{border-color:var(--dshpc-focus);box-shadow:0 0 0 1px var(--dshpc-focus);}\n\n/* 前置标题:与输入框同格,灰底区分(与 SplitGroup 左格同一口径) */\n.dshpc-igroup__label{display:inline-flex;align-items:center;flex:none;padding:0 8px;white-space:nowrap;\n background:var(--dshpc-surface-sunken);color:var(--dshpc-fg-2);\n font-size:var(--dshpc-font-sm);line-height:var(--dshpc-line-sm);}\n.dshpc-igroup--md .dshpc-igroup__label,.dshpc-igroup--lg .dshpc-igroup__label{font-size:var(--dshpc-font-md);line-height:var(--dshpc-line-md);}\n\n/* 输入格:交出边框 / 圆角 / 底色 / 焦点圈;宽度交给 flex(原生 width:100% 会和 flex-basis 打架) */\n.dshpc-igroup > .dshpc-input{flex:1 1 auto;width:auto;min-width:0;height:100%;border:0;border-radius:0;background:transparent;}\n.dshpc-igroup > .dshpc-input:focus{box-shadow:none;}\n\n/* 按钮格:交出边框与圆角;实心底色保留(右侧「确定」该有重量)。\n 纯图标钮本身是固定宽的方块,这里改成按高度撑出的正方形,自定义高度时才不会变成竖长条。 */\n.dshpc-igroup > .dshpc-btn,.dshpc-igroup > .dshpc-iconbtn{flex:none;height:100%;border-radius:0;}\n.dshpc-igroup > .dshpc-iconbtn{width:auto;aspect-ratio:1;}\n.dshpc-igroup > .dshpc-btn{border:0;}\n\n/* 分隔线:相邻兄弟的左描边,不额外插 DOM。后两条是给「清过边框」的格子补回来的,\n 必须写成 0,2,0 且写在上面的 border:0 之后 —— 否则被 border:0 压掉,格子之间没分隔。 */\n.dshpc-igroup > * + *{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n.dshpc-igroup > * + .dshpc-input{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n.dshpc-igroup > * + .dshpc-btn{box-sizing:border-box;border-left:1px solid var(--dshpc-border);}\n";
|
|
4
|
+
//# sourceMappingURL=input-group-css.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-group-css.generated.js","sourceRoot":"","sources":["../../../src/ui/controls/input-group-css.generated.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,ihFAAihF,CAAA"}
|
|
@@ -8,6 +8,7 @@ export { QUICK_TOOLBAR_CSS } from './controls/quick-toolbar-css.generated.js';
|
|
|
8
8
|
export { HINT_CSS } from './controls/hint-css.generated.js';
|
|
9
9
|
export { DATETIME_CSS } from './controls/datetime-css.generated.js';
|
|
10
10
|
export { SPLIT_GROUP_CSS } from './controls/split-group-css.generated.js';
|
|
11
|
+
export { INPUT_GROUP_CSS } from './controls/input-group-css.generated.js';
|
|
11
12
|
export { TABLE_BASE_CSS } from './controls/table-css.generated.js';
|
|
12
13
|
export { TABLE_PLAIN_CSS } from './controls/table-plain-css.generated.js';
|
|
13
14
|
export { PAGINATION_CSS } from './controls/pagination-css.generated.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls-css.d.ts","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
|
|
1
|
+
{"version":3,"file":"controls-css.d.ts","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
|
package/dist/ui/controls-css.js
CHANGED
|
@@ -15,6 +15,7 @@ export { QUICK_TOOLBAR_CSS } from './controls/quick-toolbar-css.generated.js';
|
|
|
15
15
|
export { HINT_CSS } from './controls/hint-css.generated.js';
|
|
16
16
|
export { DATETIME_CSS } from './controls/datetime-css.generated.js';
|
|
17
17
|
export { SPLIT_GROUP_CSS } from './controls/split-group-css.generated.js';
|
|
18
|
+
export { INPUT_GROUP_CSS } from './controls/input-group-css.generated.js';
|
|
18
19
|
// 表格:基础层与各外观皮肤分开导出 —— 组件只 import 自己那一份(外观按需分包)。
|
|
19
20
|
export { TABLE_BASE_CSS } from './controls/table-css.generated.js';
|
|
20
21
|
export { TABLE_PLAIN_CSS } from './controls/table-plain-css.generated.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls-css.js","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,mCAAmC;AACnC,8DAA8D;AAC9D,kEAAkE;AAClE,gDAAgD;AAChD,kDAAkD;AAClD,4DAA4D;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
|
|
1
|
+
{"version":3,"file":"controls-css.js","sourceRoot":"","sources":["../../src/ui/controls-css.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,mCAAmC;AACnC,8DAA8D;AAC9D,kEAAkE;AAClE,gDAAgD;AAChD,kDAAkD;AAClD,4DAA4D;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export { showToast, notify, type ToastVariant, type ToastPosition, type ToastOpt
|
|
|
22
22
|
export { Button, IconButton, type ButtonProps, type ButtonSize, type ButtonVariant, type IconButtonProps } from './Button.js';
|
|
23
23
|
export { Segmented, type SegmentedProps, type SegmentedTone } from './Segmented.js';
|
|
24
24
|
export { SplitGroup, type SplitGroupProps } from './SplitGroup.js';
|
|
25
|
+
export { InputGroup, type InputGroupAction, type InputGroupProps, } from './InputGroup.js';
|
|
25
26
|
export { Textarea, type TextareaProps } from './Textarea.js';
|
|
26
27
|
export { Checkbox, type CheckboxProps } from './Checkbox.js';
|
|
27
28
|
export { MarqueeText } from './MarqueeText.js';
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export { showToast, notify, } from './Toast.js';
|
|
|
28
28
|
export { Button, IconButton } from './Button.js';
|
|
29
29
|
export { Segmented } from './Segmented.js';
|
|
30
30
|
export { SplitGroup } from './SplitGroup.js';
|
|
31
|
+
export { InputGroup, } from './InputGroup.js';
|
|
31
32
|
export { Textarea } from './Textarea.js';
|
|
32
33
|
export { Checkbox } from './Checkbox.js';
|
|
33
34
|
export { MarqueeText } from './MarqueeText.js';
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
|
package/docs/design/structure.md
CHANGED
|
@@ -53,6 +53,7 @@ dsh-plugin-core/
|
|
|
53
53
|
│ ├── 选择 ✅ WorkspacePicker(选工作区,自取宿主快照)
|
|
54
54
|
│ │ 通用 Picker 是纯零件;领域选择器经 connectHost 自取数(2026-10-20)
|
|
55
55
|
│ ├── 组合 ✅ SplitGroup(两格焊成一体:只画外框 / 分隔 / 聚焦圈,不持状态)
|
|
56
|
+
│ │ InputGroup(输入框 + 按钮组焊成一体:可选前置标题 / 撤销 / 自定义高度)
|
|
56
57
|
│ └── 布局 ✅ PanelDock / createPanelDock(可停靠分栏:多面板 + 拖拽拉栏)
|
|
57
58
|
│ 组名 = 窗口一对一、同名覆盖、默认上限 3 超限拒绝;
|
|
58
59
|
│ 不做 tab 切换 / 自动淘汰 / 浮动层(用户 2026-10-20 定案)
|
|
@@ -120,7 +121,7 @@ utils(谁都不依赖,谁都可以用)
|
|
|
120
121
|
│ ├─ 动作 Button / IconButton
|
|
121
122
|
│ ├─ 反馈 Modal / Toast
|
|
122
123
|
│ ├─ 展示 Card / StripCard / Chip / Table / MarqueeText / SectionHead / FieldHint / LiveText
|
|
123
|
-
│ ├─ 组合 SplitGroup
|
|
124
|
+
│ ├─ 组合 SplitGroup(展示在选择器页)/ InputGroup(展示在表单页)
|
|
124
125
|
│ └─ 布局 PanelDock / 拉栏 / QuickToolbar
|
|
125
126
|
│
|
|
126
127
|
├─ ③ 高级空间
|
package/docs/help/ui.doc.ts
CHANGED
|
@@ -94,6 +94,34 @@ h(SplitGroup, null,
|
|
|
94
94
|
h(Picker, { size: 'md', options: membersOf(scope), value: member, onChange: setMember, searchable: true }),
|
|
95
95
|
)`
|
|
96
96
|
|
|
97
|
+
const inputGroupExample = `import { InputGroup } from 'dsh-plugin-core/ui'
|
|
98
|
+
|
|
99
|
+
// 输入框 + 按钮组焊成一体;label 是前置标题,undoable 在最前面加撤销钮
|
|
100
|
+
h(InputGroup, {
|
|
101
|
+
label: '任务名',
|
|
102
|
+
value: name, onChange: setName,
|
|
103
|
+
undoable: true,
|
|
104
|
+
onSubmit: save, // Enter 提交(提交点也会进撤销栈)
|
|
105
|
+
actions: [
|
|
106
|
+
{ label: '返回', variant: 'ghost', onClick: back },
|
|
107
|
+
{ label: '确定', variant: 'success', onClick: save }, // 语义色直接传档,不自己调色
|
|
108
|
+
],
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
// 按钮三形:纯图标(正方形,ariaLabel 给读屏)/ 图标 + 文字 / 纯文字;size 三档
|
|
112
|
+
h(InputGroup, {
|
|
113
|
+
size: 'md', value: kw, onChange: setKw,
|
|
114
|
+
actions: [
|
|
115
|
+
{ icon: h(IconRefreshOutlineRegular, { size: 14 }), ariaLabel: '重置', onClick: reset },
|
|
116
|
+
{ icon: h(IconSearchOutlineRegular, { size: 14 }), label: '搜索', onClick: search },
|
|
117
|
+
],
|
|
118
|
+
})
|
|
119
|
+
|
|
120
|
+
// 高度自定义:height 直接给 px,压过 size 档(内件跟着撑满)
|
|
121
|
+
h(InputGroup, {
|
|
122
|
+
value: kw, onChange: setKw, height: 44,
|
|
123
|
+
actions: [{ label: '确定', onClick: save }],
|
|
124
|
+
})`
|
|
97
125
|
const tableExample = `import { Table, Chip } from 'dsh-plugin-core/ui'
|
|
98
126
|
|
|
99
127
|
const columns = [
|
|
@@ -415,6 +443,41 @@ const doc: DocTopic = {
|
|
|
415
443
|
],
|
|
416
444
|
code: [{ id: 'ui-splitgroup-example', lang: 'tsx', src: splitGroupExample }],
|
|
417
445
|
},
|
|
446
|
+
{
|
|
447
|
+
id: 'input-group',
|
|
448
|
+
heading: { zh: 'InputGroup(组合输入框)', en: 'InputGroup (input with actions)' },
|
|
449
|
+
prose: [
|
|
450
|
+
{
|
|
451
|
+
zh: '输入框 + 后置按钮组焊成一体,外观与 SplitGroup 同一套口径(外框 / 圆角 / 相邻 1px 分隔 / 整体聚焦圈都由外壳画,内件把自己的边框、圆角交出来)。区别是这里**持状态**:值受控于调用方,提交点与撤销栈在控件内部。',
|
|
452
|
+
en: 'An input and a trailing button group welded into one shell, using the same skin rules as SplitGroup (frame, radius, 1px dividers and the focus ring all come from the shell; inner controls hand over their border and radius). The difference: this one **holds state** — the value is controlled by the caller, while commit points and the undo stack live inside.',
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
zh: '按钮可以是任意多枚(返回 + 确定、图标 / 图文 / 纯文字);`label` 是前置标题,与输入框同格灰底。`size` 三档(sm 24 / md 28 / lg 32),要别的就传 `height`(px),内件跟着撑满。',
|
|
456
|
+
en: 'Any number of buttons (back + confirm; icon / icon+text / text only); `label` is a leading title sharing the cell with a sunken background. Three sizes (sm 24 / md 28 / lg 32); pass `height` in px for anything else and the inner controls fill it.',
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
zh: '撤销口径:Enter / 失焦 / 点任一动作 = 一次提交,提交前的值进栈;点撤销弹回栈顶、栈空时按钮禁用。父级直接改 `value`(如外部清空)不算编辑,不进栈。',
|
|
460
|
+
en: 'Undo semantics: Enter / blur / clicking any action is one commit, and the value before it is pushed; the undo button pops the top and is disabled while the stack is empty. A `value` change made directly by the parent (such as an external clear) is not an edit and never enters the stack.',
|
|
461
|
+
},
|
|
462
|
+
],
|
|
463
|
+
api: [
|
|
464
|
+
{
|
|
465
|
+
id: 'ui-input-group',
|
|
466
|
+
rows: [
|
|
467
|
+
{ name: 'value / onChange(v)', type: 'string / (v: string) => void', def: '—', desc: { zh: '受控值', en: 'Controlled value' } },
|
|
468
|
+
{ name: 'label', type: 'string', def: '—', desc: { zh: '前置标题(同格灰底);同时作为整组无障碍名的兜底', en: 'Leading title in the same cell (sunken background); also the fallback accessible name for the group' } },
|
|
469
|
+
{ name: 'actions', type: 'InputGroupAction[]', def: '—', desc: { zh: '{ icon?, label?, variant?, disabled?, ariaLabel?, onClick };只给 icon 退化成正方形图标钮(ariaLabel 必给),给 label 走 Button;variant 默认 info,语义色就用 Button 现成的档(success / info / warning / danger),不另调色', en: '{ icon?, label?, variant?, disabled?, ariaLabel?, onClick }; icon-only degrades to a square icon button (pass ariaLabel), a label renders a Button; variant defaults to info — for a semantic colour pass Button’s own variant (success / info / warning / danger) instead of a custom colour' } },
|
|
470
|
+
{ name: 'undoable / undoLabel', type: 'boolean / string', def: "false / '撤销'", desc: { zh: '最前面加撤销钮,回到上一次提交前的值', en: 'Prepends an undo button returning to the value before the last commit' } },
|
|
471
|
+
{ name: 'size / height', type: "'sm' | 'md' | 'lg' / number(px)", def: "'lg' / —", desc: { zh: 'height 给了就压过 size 档', en: 'height overrides the size preset' } },
|
|
472
|
+
{ name: 'error / disabled', type: 'boolean', def: '—', desc: { zh: 'error 描红整组;disabled 禁用输入与所有按钮', en: 'error turns the whole shell red; disabled disables the input and every button' } },
|
|
473
|
+
{ name: 'onSubmit(v)', type: '(v: string) => void', def: '—', desc: { zh: 'Enter 提交(同时记一次撤销点)', en: 'Enter submit (also records an undo point)' } },
|
|
474
|
+
{ name: 'hint', type: 'string', def: '—', desc: { zh: '整组后面挂标准 FieldHint', en: 'Attaches a standard FieldHint after the whole group' } },
|
|
475
|
+
{ name: 'placeholder / aria-label / id / className / style', type: 'string', def: '—', desc: { zh: '占位 / 无障碍名 / 锚点 / 只补布局', en: 'Placeholder / accessible name / anchor / layout-only additions' } },
|
|
476
|
+
],
|
|
477
|
+
},
|
|
478
|
+
],
|
|
479
|
+
code: [{ id: 'ui-inputgroup-example', lang: 'tsx', src: inputGroupExample }],
|
|
480
|
+
},
|
|
418
481
|
{
|
|
419
482
|
id: 'datetime-picker',
|
|
420
483
|
heading: { zh: 'DateTimePicker(日期时间选择)', en: 'DateTimePicker (date & time)' },
|
package/docs/help/ui.md
CHANGED
|
@@ -177,6 +177,65 @@ h(SplitGroup, null,
|
|
|
177
177
|
)
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
+
## InputGroup(组合输入框)
|
|
181
|
+
|
|
182
|
+
> EN: InputGroup (input with actions)
|
|
183
|
+
|
|
184
|
+
输入框 + 后置按钮组焊成一体,外观与 SplitGroup 同一套口径(外框 / 圆角 / 相邻 1px 分隔 / 整体聚焦圈都由外壳画,内件把自己的边框、圆角交出来)。区别是这里**持状态**:值受控于调用方,提交点与撤销栈在控件内部。
|
|
185
|
+
|
|
186
|
+
> EN: An input and a trailing button group welded into one shell, using the same skin rules as SplitGroup (frame, radius, 1px dividers and the focus ring all come from the shell; inner controls hand over their border and radius). The difference: this one **holds state** — the value is controlled by the caller, while commit points and the undo stack live inside.
|
|
187
|
+
|
|
188
|
+
按钮可以是任意多枚(返回 + 确定、图标 / 图文 / 纯文字);`label` 是前置标题,与输入框同格灰底。`size` 三档(sm 24 / md 28 / lg 32),要别的就传 `height`(px),内件跟着撑满。
|
|
189
|
+
|
|
190
|
+
> EN: Any number of buttons (back + confirm; icon / icon+text / text only); `label` is a leading title sharing the cell with a sunken background. Three sizes (sm 24 / md 28 / lg 32); pass `height` in px for anything else and the inner controls fill it.
|
|
191
|
+
|
|
192
|
+
撤销口径:Enter / 失焦 / 点任一动作 = 一次提交,提交前的值进栈;点撤销弹回栈顶、栈空时按钮禁用。父级直接改 `value`(如外部清空)不算编辑,不进栈。
|
|
193
|
+
|
|
194
|
+
> EN: Undo semantics: Enter / blur / clicking any action is one commit, and the value before it is pushed; the undo button pops the top and is disabled while the stack is empty. A `value` change made directly by the parent (such as an external clear) is not an edit and never enters the stack.
|
|
195
|
+
|
|
196
|
+
| 参数 | 类型 | 默认 | 说明(zh) | 说明(en) |
|
|
197
|
+
|---|---|---|---|---|
|
|
198
|
+
| `value / onChange(v)` | `string / (v: string) => void` | — | 受控值 | Controlled value |
|
|
199
|
+
| `label` | `string` | — | 前置标题(同格灰底);同时作为整组无障碍名的兜底 | Leading title in the same cell (sunken background); also the fallback accessible name for the group |
|
|
200
|
+
| `actions` | `InputGroupAction[]` | — | { icon?, label?, variant?, disabled?, ariaLabel?, onClick };只给 icon 退化成正方形图标钮(ariaLabel 必给),给 label 走 Button;variant 默认 info,语义色就用 Button 现成的档(success / info / warning / danger),不另调色 | { icon?, label?, variant?, disabled?, ariaLabel?, onClick }; icon-only degrades to a square icon button (pass ariaLabel), a label renders a Button; variant defaults to info — for a semantic colour pass Button’s own variant (success / info / warning / danger) instead of a custom colour |
|
|
201
|
+
| `undoable / undoLabel` | `boolean / string` | false / '撤销' | 最前面加撤销钮,回到上一次提交前的值 | Prepends an undo button returning to the value before the last commit |
|
|
202
|
+
| `size / height` | `'sm' \| 'md' \| 'lg' / number(px)` | 'lg' / — | height 给了就压过 size 档 | height overrides the size preset |
|
|
203
|
+
| `error / disabled` | `boolean` | — | error 描红整组;disabled 禁用输入与所有按钮 | error turns the whole shell red; disabled disables the input and every button |
|
|
204
|
+
| `onSubmit(v)` | `(v: string) => void` | — | Enter 提交(同时记一次撤销点) | Enter submit (also records an undo point) |
|
|
205
|
+
| `hint` | `string` | — | 整组后面挂标准 FieldHint | Attaches a standard FieldHint after the whole group |
|
|
206
|
+
| `placeholder / aria-label / id / className / style` | `string` | — | 占位 / 无障碍名 / 锚点 / 只补布局 | Placeholder / accessible name / anchor / layout-only additions |
|
|
207
|
+
|
|
208
|
+
```tsx id="ui-inputgroup-example"
|
|
209
|
+
import { InputGroup } from 'dsh-plugin-core/ui'
|
|
210
|
+
|
|
211
|
+
// 输入框 + 按钮组焊成一体;label 是前置标题,undoable 在最前面加撤销钮
|
|
212
|
+
h(InputGroup, {
|
|
213
|
+
label: '任务名',
|
|
214
|
+
value: name, onChange: setName,
|
|
215
|
+
undoable: true,
|
|
216
|
+
onSubmit: save, // Enter 提交(提交点也会进撤销栈)
|
|
217
|
+
actions: [
|
|
218
|
+
{ label: '返回', variant: 'ghost', onClick: back },
|
|
219
|
+
{ label: '确定', variant: 'success', onClick: save }, // 语义色直接传档,不自己调色
|
|
220
|
+
],
|
|
221
|
+
})
|
|
222
|
+
|
|
223
|
+
// 按钮三形:纯图标(正方形,ariaLabel 给读屏)/ 图标 + 文字 / 纯文字;size 三档
|
|
224
|
+
h(InputGroup, {
|
|
225
|
+
size: 'md', value: kw, onChange: setKw,
|
|
226
|
+
actions: [
|
|
227
|
+
{ icon: h(IconRefreshOutlineRegular, { size: 14 }), ariaLabel: '重置', onClick: reset },
|
|
228
|
+
{ icon: h(IconSearchOutlineRegular, { size: 14 }), label: '搜索', onClick: search },
|
|
229
|
+
],
|
|
230
|
+
})
|
|
231
|
+
|
|
232
|
+
// 高度自定义:height 直接给 px,压过 size 档(内件跟着撑满)
|
|
233
|
+
h(InputGroup, {
|
|
234
|
+
value: kw, onChange: setKw, height: 44,
|
|
235
|
+
actions: [{ label: '确定', onClick: save }],
|
|
236
|
+
})
|
|
237
|
+
```
|
|
238
|
+
|
|
180
239
|
## DateTimePicker(日期时间选择)
|
|
181
240
|
|
|
182
241
|
> EN: DateTimePicker (date & time)
|
package/package.json
CHANGED