niuma-ui 1.3.5 → 1.3.7
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 +13 -0
- package/dist/components/RsDropdown.css +35 -0
- package/dist/components/RsDropdown.d.ts +8 -1
- package/dist/components/RsDropdown.impl.js +9 -5
- package/dist/components/RsDropdownItemView.d.ts +11 -0
- package/dist/components/RsDropdownItemView.impl.js +32 -0
- package/dist/components/RsDropdownItemView.js +5 -0
- package/dist/components/RsDropdownItems.d.ts +3 -0
- package/dist/components/RsDropdownItems.impl.js +23 -34
- package/dist/components/RsSplitPane.css +12 -0
- package/dist/components/RsSplitPane.d.ts +6 -0
- package/dist/components/RsSplitPane.impl.js +8 -1
- package/dist/components/dropdown-utils.d.ts +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/locale/messages.js +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,19 @@
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.3.7] - 2026-09-15
|
|
10
|
+
|
|
11
|
+
### 新增
|
|
12
|
+
|
|
13
|
+
- `RsDropdown`:`size`、`contentWidth="fit"`、菜单项 `hint`。工具条动作菜单走公开档位,不要 `:deep` 改菜单内边距。
|
|
14
|
+
|
|
15
|
+
## [1.3.6] - 2026-09-14
|
|
16
|
+
|
|
17
|
+
### 新增
|
|
18
|
+
|
|
19
|
+
- `RsSplitPane`:`fill`(默认关)铺满父级并拉高插槽根节点,业务不要 `:deep` 改 `.rs-split__pane`。
|
|
20
|
+
- `RsSplitPane`:`collapsible` 只表示可吸附折叠(拖过阈值 / Enter / `collapse()`)。分隔条不画折叠钮,与 Allotment、react-resizable-panels 一致。
|
|
21
|
+
|
|
9
22
|
## [1.3.5] - 2026-09-12
|
|
10
23
|
|
|
11
24
|
### 修复
|
|
@@ -155,3 +155,38 @@
|
|
|
155
155
|
opacity: 0.38;
|
|
156
156
|
cursor: not-allowed;
|
|
157
157
|
}
|
|
158
|
+
.rs-dropdown__item-copy {
|
|
159
|
+
display: flex;
|
|
160
|
+
flex-direction: column;
|
|
161
|
+
gap: 1px;
|
|
162
|
+
min-width: 0;
|
|
163
|
+
}
|
|
164
|
+
.rs-dropdown__item-hint {
|
|
165
|
+
font-size: var(--rs-font-size-xs);
|
|
166
|
+
color: var(--rs-muted);
|
|
167
|
+
line-height: var(--rs-line-height-tight);
|
|
168
|
+
white-space: normal;
|
|
169
|
+
display: -webkit-box;
|
|
170
|
+
-webkit-line-clamp: 2;
|
|
171
|
+
-webkit-box-orient: vertical;
|
|
172
|
+
overflow: hidden;
|
|
173
|
+
}
|
|
174
|
+
.rs-dropdown__content--fit {
|
|
175
|
+
min-width: 10.5rem;
|
|
176
|
+
width: max-content;
|
|
177
|
+
}
|
|
178
|
+
.rs-dropdown__content--ssm .rs-dropdown__item {
|
|
179
|
+
min-height: 26px;
|
|
180
|
+
padding: 5px 8px;
|
|
181
|
+
gap: var(--rs-space-xs);
|
|
182
|
+
font-size: var(--rs-font-size-xs);
|
|
183
|
+
align-items: flex-start;
|
|
184
|
+
}
|
|
185
|
+
.rs-dropdown__content--ssm .rs-dropdown__item-icon {
|
|
186
|
+
margin-top: 2px;
|
|
187
|
+
}
|
|
188
|
+
.rs-dropdown__content--sm .rs-dropdown__item {
|
|
189
|
+
min-height: 28px;
|
|
190
|
+
padding: 6px 10px;
|
|
191
|
+
font-size: var(--rs-font-size-sm);
|
|
192
|
+
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { type RsDropdownItems as RsDropdownData } from './dropdown-utils';
|
|
1
|
+
import { type RsDropdownContentWidth, type RsDropdownItems as RsDropdownData } from './dropdown-utils';
|
|
2
|
+
import type { RsComponentSize } from '../theme/types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
items: RsDropdownData;
|
|
4
5
|
placeholder?: string;
|
|
5
6
|
disabled?: boolean;
|
|
6
7
|
/** 选中后是否在触发器回显选项 label;false 时固定显示 placeholder(操作菜单) */
|
|
7
8
|
showSelected?: boolean;
|
|
9
|
+
/** 菜单项密度,与控件 size 对齐 */
|
|
10
|
+
size?: RsComponentSize;
|
|
11
|
+
/** 菜单宽度;工具条图标按钮用 fit,避免被触发器宽度压扁 */
|
|
12
|
+
contentWidth?: RsDropdownContentWidth;
|
|
8
13
|
};
|
|
9
14
|
type __VLS_ModelProps = {
|
|
10
15
|
modelValue?: string;
|
|
@@ -21,8 +26,10 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
21
26
|
onSelect?: ((value: string) => any) | undefined;
|
|
22
27
|
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
23
28
|
}>, {
|
|
29
|
+
size: RsComponentSize;
|
|
24
30
|
disabled: boolean;
|
|
25
31
|
showSelected: boolean;
|
|
32
|
+
contentWidth: RsDropdownContentWidth;
|
|
26
33
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
27
34
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
28
35
|
declare const _default: typeof __VLS_export;
|
|
@@ -18,7 +18,9 @@ var RsDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
18
18
|
showSelected: {
|
|
19
19
|
type: Boolean,
|
|
20
20
|
default: true
|
|
21
|
-
}
|
|
21
|
+
},
|
|
22
|
+
size: { default: "md" },
|
|
23
|
+
contentWidth: { default: "trigger" }
|
|
22
24
|
}, {
|
|
23
25
|
"modelValue": {},
|
|
24
26
|
"modelModifiers": {}
|
|
@@ -69,7 +71,7 @@ var RsDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
69
71
|
_: 1
|
|
70
72
|
}, 8, ["disabled"])), createVNode(unref(DropdownMenuPortal), null, {
|
|
71
73
|
default: withCtx(() => [createVNode(unref(DropdownMenuContent), {
|
|
72
|
-
class: "rs-dropdown__content",
|
|
74
|
+
class: normalizeClass(["rs-dropdown__content", [`rs-dropdown__content--${__props.size}`, `rs-dropdown__content--${__props.contentWidth}`]]),
|
|
73
75
|
"side-offset": 4
|
|
74
76
|
}, {
|
|
75
77
|
default: withCtx(() => [__props.showSelected ? (openBlock(), createBlock(unref(DropdownMenuRadioGroup), {
|
|
@@ -79,16 +81,18 @@ var RsDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
79
81
|
}, {
|
|
80
82
|
default: withCtx(() => [createVNode(RsDropdownItems_default, {
|
|
81
83
|
items: __props.items,
|
|
84
|
+
size: __props.size,
|
|
82
85
|
selectable: ""
|
|
83
|
-
}, null, 8, ["items"])]),
|
|
86
|
+
}, null, 8, ["items", "size"])]),
|
|
84
87
|
_: 1
|
|
85
88
|
}, 8, ["modelValue"])) : (openBlock(), createBlock(RsDropdownItems_default, {
|
|
86
89
|
key: 1,
|
|
87
90
|
items: __props.items,
|
|
91
|
+
size: __props.size,
|
|
88
92
|
onSelect
|
|
89
|
-
}, null, 8, ["items"]))]),
|
|
93
|
+
}, null, 8, ["items", "size"]))]),
|
|
90
94
|
_: 1
|
|
91
|
-
})]),
|
|
95
|
+
}, 8, ["class"])]),
|
|
92
96
|
_: 1
|
|
93
97
|
})]),
|
|
94
98
|
_: 3
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RsDropdownItem } from './dropdown-utils';
|
|
2
|
+
import { type RsComponentSize } from '../theme/types';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
item: RsDropdownItem;
|
|
5
|
+
size?: RsComponentSize;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
|
+
size: RsComponentSize;
|
|
9
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import RsIcon_default from "./RsIcon.js";
|
|
2
|
+
import { RS_COMPONENT_SIZE_ICON_PX } from "../theme/types.js";
|
|
3
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, openBlock, toDisplayString } from "vue";
|
|
4
|
+
//#region src/components/RsDropdownItemView.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = { class: "rs-dropdown__item-copy" };
|
|
6
|
+
var _hoisted_2 = { class: "rs-dropdown__item-label" };
|
|
7
|
+
var _hoisted_3 = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "rs-dropdown__item-hint"
|
|
10
|
+
};
|
|
11
|
+
var RsDropdownItemView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
12
|
+
__name: "RsDropdownItemView",
|
|
13
|
+
props: {
|
|
14
|
+
item: {},
|
|
15
|
+
size: { default: "md" }
|
|
16
|
+
},
|
|
17
|
+
setup(__props) {
|
|
18
|
+
/** 下拉项内容:图标 + 标题 + 可选说明,密度由 size 控制。 */
|
|
19
|
+
const props = __props;
|
|
20
|
+
const iconSize = computed(() => RS_COMPONENT_SIZE_ICON_PX[props.size]);
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return openBlock(), createElementBlock(Fragment, null, [__props.item.icon ? (openBlock(), createBlock(RsIcon_default, {
|
|
23
|
+
key: 0,
|
|
24
|
+
name: __props.item.icon,
|
|
25
|
+
size: iconSize.value,
|
|
26
|
+
class: "rs-dropdown__item-icon"
|
|
27
|
+
}, null, 8, ["name", "size"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_1, [createElementVNode("span", _hoisted_2, toDisplayString(__props.item.label), 1), __props.item.hint ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.item.hint), 1)) : createCommentVNode("", true)])], 64);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { RsDropdownItemView_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import RsDropdownItemView_vue_vue_type_script_setup_true_lang_default from "./RsDropdownItemView.impl.js";
|
|
2
|
+
//#region src/components/RsDropdownItemView.vue
|
|
3
|
+
var RsDropdownItemView_default = RsDropdownItemView_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { RsDropdownItemView_default as default };
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { type RsDropdownItems } from './dropdown-utils';
|
|
2
|
+
import type { RsComponentSize } from '../theme/types';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
items: RsDropdownItems;
|
|
4
5
|
/** true:单选互斥;false:操作项 */
|
|
5
6
|
selectable?: boolean;
|
|
7
|
+
size?: RsComponentSize;
|
|
6
8
|
};
|
|
7
9
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
10
|
select: (value: string) => any;
|
|
9
11
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
12
|
onSelect?: ((value: string) => any) | undefined;
|
|
11
13
|
}>, {
|
|
14
|
+
size: RsComponentSize;
|
|
12
15
|
selectable: boolean;
|
|
13
16
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
17
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import RsIcon_default from "./RsIcon.js";
|
|
2
1
|
import { DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem } from "./reka.js";
|
|
3
2
|
import { isDropdownItemGroup } from "./dropdown-utils.js";
|
|
4
|
-
import
|
|
3
|
+
import RsDropdownItemView_default from "./RsDropdownItemView.js";
|
|
4
|
+
import { Fragment, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, renderList, toDisplayString, unref, withCtx } from "vue";
|
|
5
5
|
//#region src/components/RsDropdownItems.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var _hoisted_1 = { class: "rs-dropdown__item-label" };
|
|
7
|
-
var _hoisted_2 = { class: "rs-dropdown__item-label" };
|
|
8
|
-
var _hoisted_3 = { class: "rs-dropdown__item-label" };
|
|
9
|
-
var _hoisted_4 = { class: "rs-dropdown__item-label" };
|
|
10
6
|
var RsDropdownItems_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
11
7
|
__name: "RsDropdownItems",
|
|
12
8
|
props: {
|
|
@@ -14,7 +10,8 @@ var RsDropdownItems_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
14
10
|
selectable: {
|
|
15
11
|
type: Boolean,
|
|
16
12
|
default: false
|
|
17
|
-
}
|
|
13
|
+
},
|
|
14
|
+
size: { default: "md" }
|
|
18
15
|
},
|
|
19
16
|
emits: ["select"],
|
|
20
17
|
setup(__props, { emit: __emit }) {
|
|
@@ -26,7 +23,7 @@ var RsDropdownItems_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
26
23
|
return (_ctx, _cache) => {
|
|
27
24
|
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (entry, index) => {
|
|
28
25
|
return openBlock(), createElementBlock(Fragment, { key: index }, [unref(isDropdownItemGroup)(entry) ? (openBlock(), createBlock(unref(DropdownMenuGroup), {
|
|
29
|
-
key:
|
|
26
|
+
key: `group-${index}`,
|
|
30
27
|
class: "rs-dropdown__group"
|
|
31
28
|
}, {
|
|
32
29
|
default: withCtx(() => [createVNode(unref(DropdownMenuLabel), { class: "rs-dropdown__group-label" }, {
|
|
@@ -39,12 +36,10 @@ var RsDropdownItems_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
39
36
|
disabled: item.disabled,
|
|
40
37
|
class: "rs-dropdown__item"
|
|
41
38
|
}, {
|
|
42
|
-
default: withCtx(() => [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class: "rs-dropdown__item-icon"
|
|
47
|
-
}, null, 8, ["name"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_1, toDisplayString(item.label), 1)]),
|
|
39
|
+
default: withCtx(() => [createVNode(RsDropdownItemView_default, {
|
|
40
|
+
item,
|
|
41
|
+
size: __props.size
|
|
42
|
+
}, null, 8, ["item", "size"])]),
|
|
48
43
|
_: 2
|
|
49
44
|
}, 1032, ["value", "disabled"]);
|
|
50
45
|
}), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(entry.options, (item) => {
|
|
@@ -54,41 +49,35 @@ var RsDropdownItems_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
54
49
|
class: "rs-dropdown__item",
|
|
55
50
|
onSelect: ($event) => onActionSelect(item)
|
|
56
51
|
}, {
|
|
57
|
-
default: withCtx(() => [
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
class: "rs-dropdown__item-icon"
|
|
62
|
-
}, null, 8, ["name"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_2, toDisplayString(item.label), 1)]),
|
|
52
|
+
default: withCtx(() => [createVNode(RsDropdownItemView_default, {
|
|
53
|
+
item,
|
|
54
|
+
size: __props.size
|
|
55
|
+
}, null, 8, ["item", "size"])]),
|
|
63
56
|
_: 2
|
|
64
57
|
}, 1032, ["disabled", "onSelect"]);
|
|
65
58
|
}), 128))]),
|
|
66
59
|
_: 2
|
|
67
60
|
}, 1024)) : __props.selectable ? (openBlock(), createBlock(unref(DropdownMenuRadioItem), {
|
|
68
|
-
key: entry.value
|
|
61
|
+
key: `radio-${entry.value}`,
|
|
69
62
|
value: entry.value,
|
|
70
63
|
disabled: entry.disabled,
|
|
71
64
|
class: "rs-dropdown__item"
|
|
72
65
|
}, {
|
|
73
|
-
default: withCtx(() => [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
class: "rs-dropdown__item-icon"
|
|
78
|
-
}, null, 8, ["name"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_3, toDisplayString(entry.label), 1)]),
|
|
66
|
+
default: withCtx(() => [createVNode(RsDropdownItemView_default, {
|
|
67
|
+
item: entry,
|
|
68
|
+
size: __props.size
|
|
69
|
+
}, null, 8, ["item", "size"])]),
|
|
79
70
|
_: 2
|
|
80
71
|
}, 1032, ["value", "disabled"])) : (openBlock(), createBlock(unref(DropdownMenuItem), {
|
|
81
|
-
key: entry.value
|
|
72
|
+
key: `action-${entry.value}`,
|
|
82
73
|
disabled: entry.disabled,
|
|
83
74
|
class: "rs-dropdown__item",
|
|
84
75
|
onSelect: ($event) => onActionSelect(entry)
|
|
85
76
|
}, {
|
|
86
|
-
default: withCtx(() => [
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
class: "rs-dropdown__item-icon"
|
|
91
|
-
}, null, 8, ["name"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_4, toDisplayString(entry.label), 1)]),
|
|
77
|
+
default: withCtx(() => [createVNode(RsDropdownItemView_default, {
|
|
78
|
+
item: entry,
|
|
79
|
+
size: __props.size
|
|
80
|
+
}, null, 8, ["item", "size"])]),
|
|
92
81
|
_: 2
|
|
93
82
|
}, 1032, ["disabled", "onSelect"]))], 64);
|
|
94
83
|
}), 128);
|
|
@@ -22,6 +22,18 @@
|
|
|
22
22
|
min-height: 0;
|
|
23
23
|
overflow: hidden;
|
|
24
24
|
}
|
|
25
|
+
|
|
26
|
+
/* fill:面板当弹性列,插槽根节点吃满。业务改自己的内容,不要 :deep 本组件。 */
|
|
27
|
+
.rs-split--fill > .rs-split__pane:not(.rs-split__pane--auto) {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
}
|
|
31
|
+
.rs-split--fill > .rs-split__pane:not(.rs-split__pane--auto) > * {
|
|
32
|
+
flex: 1 1 auto;
|
|
33
|
+
min-width: 0;
|
|
34
|
+
min-height: 0;
|
|
35
|
+
width: 100%;
|
|
36
|
+
}
|
|
25
37
|
.rs-split__pane--auto {
|
|
26
38
|
/* 内容撑开;超出 max 时在面板内滚动 */
|
|
27
39
|
overflow: auto;
|
|
@@ -10,6 +10,11 @@ type __VLS_Props = {
|
|
|
10
10
|
keyboardStep?: number;
|
|
11
11
|
/** 在分隔条中央展示抓手(grip)指示 */
|
|
12
12
|
withHandle?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 面板铺满父级,并把插槽根节点拉高。
|
|
15
|
+
* 默认关,不改变原有内容尺寸;工作台 / 设置页显式打开,避免 :deep。
|
|
16
|
+
*/
|
|
17
|
+
fill?: boolean;
|
|
13
18
|
};
|
|
14
19
|
type __VLS_ModelProps = {
|
|
15
20
|
/** 各面板尺寸(百分比,总和 100) */
|
|
@@ -36,6 +41,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, RsSpl
|
|
|
36
41
|
onCollapse?: ((key: string) => any) | undefined;
|
|
37
42
|
"onUpdate:sizes"?: ((value: number[]) => any) | undefined;
|
|
38
43
|
}>, {
|
|
44
|
+
fill: boolean;
|
|
39
45
|
disabled: boolean;
|
|
40
46
|
orientation: RsSplitOrientation;
|
|
41
47
|
keyboardStep: number;
|
|
@@ -40,6 +40,10 @@ var RsSplitPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
40
40
|
withHandle: {
|
|
41
41
|
type: Boolean,
|
|
42
42
|
default: false
|
|
43
|
+
},
|
|
44
|
+
fill: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: false
|
|
43
47
|
}
|
|
44
48
|
}, {
|
|
45
49
|
"sizes": { default: () => [] },
|
|
@@ -369,7 +373,10 @@ var RsSplitPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
369
373
|
return openBlock(), createElementBlock("div", {
|
|
370
374
|
ref_key: "rootRef",
|
|
371
375
|
ref: rootRef,
|
|
372
|
-
class: normalizeClass(["rs-split", [`rs-split--${__props.orientation}`, {
|
|
376
|
+
class: normalizeClass(["rs-split", [`rs-split--${__props.orientation}`, {
|
|
377
|
+
"rs-split--disabled": __props.disabled,
|
|
378
|
+
"rs-split--fill": __props.fill
|
|
379
|
+
}]])
|
|
373
380
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.panes, (pane, index) => {
|
|
374
381
|
return openBlock(), createElementBlock(Fragment, { key: pane.key }, [createElementVNode("div", {
|
|
375
382
|
class: normalizeClass(["rs-split__pane", {
|
|
@@ -2,6 +2,8 @@ export interface RsDropdownItem {
|
|
|
2
2
|
label: string;
|
|
3
3
|
value: string;
|
|
4
4
|
icon?: string;
|
|
5
|
+
/** 次要说明,工具条动作菜单等场景使用 */
|
|
6
|
+
hint?: string;
|
|
5
7
|
disabled?: boolean;
|
|
6
8
|
}
|
|
7
9
|
export interface RsDropdownItemGroup {
|
|
@@ -9,5 +11,7 @@ export interface RsDropdownItemGroup {
|
|
|
9
11
|
options: RsDropdownItem[];
|
|
10
12
|
}
|
|
11
13
|
export type RsDropdownItems = RsDropdownItem[] | RsDropdownItemGroup[];
|
|
14
|
+
/** 菜单宽度:trigger 对齐触发器;fit 随内容,不跟窄图标按钮 */
|
|
15
|
+
export type RsDropdownContentWidth = 'trigger' | 'fit';
|
|
12
16
|
export declare function isDropdownItemGroup(item: RsDropdownItem | RsDropdownItemGroup): item is RsDropdownItemGroup;
|
|
13
17
|
export declare function flattenDropdownItems(items: RsDropdownItems): RsDropdownItem[];
|
package/dist/index.d.ts
CHANGED
|
@@ -109,7 +109,7 @@ export type { RsContainerBreakpoint, RsContainerGap, RsContainerMaxWidth, RsCont
|
|
|
109
109
|
export type { RsBreadcrumbItem } from './components/RsBreadcrumb.js';
|
|
110
110
|
export type { RsToolbarBorder, RsToolbarSize } from './components/RsToolbar.js';
|
|
111
111
|
export type { RsContextMenuItem } from './components/context-menu-utils';
|
|
112
|
-
export type { RsDropdownItem, RsDropdownItemGroup, RsDropdownItems } from './components/dropdown-utils';
|
|
112
|
+
export type { RsDropdownContentWidth, RsDropdownItem, RsDropdownItemGroup, RsDropdownItems } from './components/dropdown-utils';
|
|
113
113
|
export type { RsMenuItem, RsMenuItemGroup, RsMenuItems } from './components/menu-utils';
|
|
114
114
|
export type { RsScrollbarOrientation, RsScrollbarType } from './components/scrollbar-utils';
|
|
115
115
|
export type { RsSelectFieldNames, RsSelectFilterOption, RsSelectFilterSort, RsSelectGetPopupContainer, RsSelectLabeledValue, RsSelectModelValue, RsSelectResolvedModel, RsSelectOption, RsSelectOptionFilterProp, RsSelectOptionGroup, RsSelectOptionInput, RsSelectOptions, RsSelectOptionsInput, RsSelectPlacement, RsSelectStatus, RsSelectMaxTagCount, RsSelectVariant, RsSelectValue, } from './components/select-utils';
|
package/dist/locale/messages.js
CHANGED
|
@@ -144,6 +144,8 @@ var zhCN = {
|
|
|
144
144
|
"tree.drag": "拖拽排序",
|
|
145
145
|
"split.label": "面板分割",
|
|
146
146
|
"split.resize": "拖动调整面板尺寸",
|
|
147
|
+
"split.collapse": "收起面板",
|
|
148
|
+
"split.expand": "展开面板",
|
|
147
149
|
"drawer.resize": "拖动调整抽屉尺寸",
|
|
148
150
|
"terminal.copy": "复制",
|
|
149
151
|
"terminal.paste": "粘贴",
|
|
@@ -374,6 +376,8 @@ var enUS = {
|
|
|
374
376
|
"tree.drag": "Drag to reorder",
|
|
375
377
|
"split.label": "Split panes",
|
|
376
378
|
"split.resize": "Drag to resize panes",
|
|
379
|
+
"split.collapse": "Collapse pane",
|
|
380
|
+
"split.expand": "Expand pane",
|
|
377
381
|
"drawer.resize": "Drag to resize the drawer",
|
|
378
382
|
"terminal.copy": "Copy",
|
|
379
383
|
"terminal.paste": "Paste",
|