x-next 0.0.0-alpha.67 → 0.0.0-alpha.68
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 +70 -39
- package/dist/_container/resize-trigger.vue.d.ts +2 -2
- package/dist/_utils/style.d.ts +3 -0
- package/dist/_utils/vue-eco.d.ts +6 -1
- package/dist/components/_components/input-label/input-label.d.ts +1 -1
- package/dist/components/_components/select-view/select-view.d.ts +1 -1
- package/dist/components/_components/transition/expand-transition.vue.d.ts +9 -0
- package/dist/components/alert/Alert.vue.d.ts +5 -5
- package/dist/components/alert/index.d.ts +10 -10
- package/dist/components/button/Button.d.ts +1 -1
- package/dist/components/button/index.d.ts +3 -3
- package/dist/components/dialog/Dialog.d.ts +1 -1
- package/dist/components/dialog/index.d.ts +3 -3
- package/dist/components/draggable/Draggable.d.ts +168 -0
- package/dist/components/draggable/directive.d.ts +6 -0
- package/dist/components/draggable/index.d.ts +289 -0
- package/dist/components/draggable/types/index.d.ts +13 -0
- package/dist/components/draggable/useDraggable.d.ts +38 -0
- package/dist/components/draggable/utils/index.d.ts +100 -0
- package/dist/components/draggable/utils/log.d.ts +10 -0
- package/dist/components/drawer/index.d.ts +12 -12
- package/dist/components/drawer/src/Drawer.vue.d.ts +6 -6
- package/dist/components/dropdown/Dropdown.vue.d.ts +3 -3
- package/dist/components/dropdown/DropdownButton.vue.d.ts +7 -7
- package/dist/components/dropdown/DropdownSubmenu.vue.d.ts +4 -4
- package/dist/components/dropdown/dropdown-panel.vue.d.ts +3 -3
- package/dist/components/dropdown/index.d.ts +28 -28
- package/dist/components/empty/Empty.d.ts +1 -1
- package/dist/components/empty/index.d.ts +3 -3
- package/dist/components/form/FormItem.vue.d.ts +1 -1
- package/dist/components/form/form-item-label.vue.d.ts +1 -1
- package/dist/components/form/index.d.ts +2 -2
- package/dist/components/form-checkbox/Checkbox.d.ts +1 -1
- package/dist/components/form-checkbox/CheckboxGroup.d.ts +1 -1
- package/dist/components/form-checkbox/index.d.ts +6 -6
- package/dist/components/form-input/Input.d.ts +1 -1
- package/dist/components/form-input/InputPassword.vue.d.ts +3 -3
- package/dist/components/form-input/InputSearch.d.ts +1 -1
- package/dist/components/form-input/index.d.ts +12 -12
- package/dist/components/form-input-number/InputNumber.d.ts +1 -1
- package/dist/components/form-input-number/index.d.ts +3 -3
- package/dist/components/form-input-tag/InputTag.d.ts +1 -1
- package/dist/components/form-input-tag/index.d.ts +3 -3
- package/dist/components/form-radio/Radio.d.ts +1 -1
- package/dist/components/form-radio/RadioGroup.d.ts +1 -1
- package/dist/components/form-radio/index.d.ts +6 -6
- package/dist/components/form-select/Select.d.ts +2 -2
- package/dist/components/form-select/SelectDropdown.vue.d.ts +6 -6
- package/dist/components/form-select/SelectOption.vue.d.ts +1 -1
- package/dist/components/form-select/index.d.ts +19 -19
- package/dist/components/form-slider/Slider.vue.d.ts +3 -3
- package/dist/components/form-slider/index.d.ts +6 -6
- package/dist/components/form-slider/slider-input.vue.d.ts +3 -3
- package/dist/components/form-switch/Switch.vue.d.ts +1 -1
- package/dist/components/form-switch/index.d.ts +2 -2
- package/dist/components/image/Image.vue.d.ts +6 -6
- package/dist/components/image/ImagePreview.vue.d.ts +4 -4
- package/dist/components/image/ImagePreviewGroup.vue.d.ts +4 -4
- package/dist/components/image/index.d.ts +28 -28
- package/dist/components/image/preview-arrow.vue.d.ts +2 -2
- package/dist/components/index.d.ts +4 -0
- package/dist/components/layout/LayoutSidebar.vue.d.ts +6 -6
- package/dist/components/layout/index.d.ts +12 -12
- package/dist/components/menu/Menu.d.ts +326 -0
- package/dist/components/menu/MenuItem.d.ts +39 -0
- package/dist/components/menu/base-menu.vue.d.ts +480 -0
- package/dist/components/menu/context.d.ts +26 -0
- package/dist/components/menu/hooks/use-level.d.ts +7 -0
- package/dist/components/menu/hooks/use-menu-context.d.ts +2 -0
- package/dist/components/menu/hooks/use-menu-data-collector.d.ts +22 -0
- package/dist/components/menu/hooks/use-menu-open-state.d.ts +18 -0
- package/dist/components/menu/hooks/use-menu.d.ts +4 -0
- package/dist/components/menu/interface.d.ts +71 -0
- package/dist/components/menu/item-group.vue.d.ts +24 -0
- package/dist/components/menu/overflow-wrap.d.ts +2 -0
- package/dist/components/menu/sub-menu-inline.vue.d.ts +36 -0
- package/dist/components/menu/sub-menu-pop.vue.d.ts +872 -0
- package/dist/components/menu/utils/index.d.ts +6 -0
- package/dist/components/message/Message.d.ts +1 -1
- package/dist/components/message/index.d.ts +3 -3
- package/dist/components/message/message.vue.d.ts +5 -5
- package/dist/components/notification/Notification.d.ts +1 -1
- package/dist/components/notification/index.d.ts +3 -3
- package/dist/components/popconfirm/src/popup.vue.d.ts +7 -7
- package/dist/components/popup/Popup.d.ts +1 -1
- package/dist/components/popup/index.d.ts +3 -3
- package/dist/components/progress/Progress.vue.d.ts +4 -4
- package/dist/components/progress/circle.vue.d.ts +2 -2
- package/dist/components/progress/index.d.ts +8 -8
- package/dist/components/progress/line.vue.d.ts +1 -1
- package/dist/components/progress/steps.vue.d.ts +1 -1
- package/dist/components/resize-box/ResizeBox.vue.d.ts +2 -2
- package/dist/components/resize-box/index.d.ts +4 -4
- package/dist/components/space/Space.d.ts +1 -1
- package/dist/components/space/index.d.ts +3 -3
- package/dist/components/spin/Spin.d.ts +1 -1
- package/dist/components/spin/dot-loading.d.ts +1 -1
- package/dist/components/spin/index.d.ts +3 -3
- package/dist/components/steps/Step.vue.d.ts +2 -2
- package/dist/components/steps/index.d.ts +4 -4
- package/dist/components/tabs/Tabs.d.ts +1 -1
- package/dist/components/tabs/index.d.ts +3 -3
- package/dist/components/tabs/tabs-button.d.ts +1 -1
- package/dist/components/tabs/tabs-nav.d.ts +2 -2
- package/dist/components/tabs/tabs-tab.vue.d.ts +1 -1
- package/dist/components/tag/Tag.vue.d.ts +2 -2
- package/dist/components/tag/index.d.ts +4 -4
- package/dist/components/time-range-selector/TimeRangeSelector.vue.d.ts +18 -0
- package/dist/components/time-range-selector/index.d.ts +59 -0
- package/dist/components/timeline/index.d.ts +3 -3
- package/dist/components/timeline/src/Timeline.d.ts +1 -1
- package/dist/components/timeline/src/TimelineItem.d.ts +1 -1
- package/dist/components/timeline-item/index.d.ts +3 -3
- package/dist/components/trend-chart/components/TrendChart.d.ts +8 -4
- package/dist/components/trend-chart/components/trend-chart-curve.d.ts +7 -3
- package/dist/components/trend-chart/index.d.ts +17 -9
- package/dist/components/trend-chart/props.d.ts +3 -1
- package/dist/icons/_self/down.d.ts +1 -1
- package/dist/icons/_self/empty-better.d.ts +1 -1
- package/dist/icons/_self/empty.d.ts +1 -1
- package/dist/icons/_self/eye-invisible.d.ts +1 -1
- package/dist/icons/_self/eye.d.ts +1 -1
- package/dist/icons/_self/full-screen.d.ts +1 -1
- package/dist/icons/_self/left.d.ts +1 -1
- package/dist/icons/_self/more-dot.d.ts +1 -1
- package/dist/icons/_self/next.d.ts +1 -1
- package/dist/icons/_self/original-size.d.ts +1 -1
- package/dist/icons/_self/plus.d.ts +1 -1
- package/dist/icons/_self/prev.d.ts +1 -1
- package/dist/icons/_self/question-message.d.ts +1 -1
- package/dist/icons/_self/right.d.ts +1 -1
- package/dist/icons/_self/rotate-left.d.ts +1 -1
- package/dist/icons/_self/rotate-right.d.ts +1 -1
- package/dist/icons/_self/search.d.ts +1 -1
- package/dist/icons/_self/up.d.ts +1 -1
- package/dist/icons/_self/zoom-in.d.ts +1 -1
- package/dist/icons/_self/zoom-out.d.ts +1 -1
- package/dist/icons/animation/animation-loading.d.ts +1 -1
- package/dist/icons/default/check-circle-fill.d.ts +1 -1
- package/dist/icons/default/check.d.ts +1 -1
- package/dist/icons/default/close-circle-fill.d.ts +1 -1
- package/dist/icons/default/close.d.ts +1 -1
- package/dist/icons/default/exclamation-circle-fill.d.ts +1 -1
- package/dist/icons/default/exclamation.d.ts +1 -1
- package/dist/icons/default/info-circle-fill.d.ts +1 -1
- package/dist/icons/default/left.d.ts +1 -1
- package/dist/icons/default/logo-simple.d.ts +1 -1
- package/dist/icons/default/minus-circle-fill.d.ts +1 -1
- package/dist/icons/default/right.d.ts +1 -1
- package/dist/icons/icon.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +10339 -6877
- package/dist/index.umd.js +6 -1
- package/dist/style.css +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +4 -2
- package/volar.d.ts +5 -0
- package/dist/components/trend-chart.bak/components/trend-chart-curve.d.ts +0 -111
- package/dist/components/trend-chart.bak/components/trend-chart-grid.d.ts +0 -55
- package/dist/components/trend-chart.bak/components/trend-chart-labels.d.ts +0 -22
- package/dist/components/trend-chart.bak/components/trend-chart.d.ts +0 -274
- package/dist/components/trend-chart.bak/helpers/genPath.d.ts +0 -8
- package/dist/components/trend-chart.bak/helpers/genPoints.d.ts +0 -3
- package/dist/components/trend-chart.bak/helpers/getPadding.d.ts +0 -7
- package/dist/components/trend-chart.bak/helpers/validatePadding.d.ts +0 -2
- package/dist/components/trend-chart.bak/index.d.ts +0 -530
- package/dist/components/trend-chart.bak/props.d.ts +0 -211
- package/dist/components/trend-chart.bak/themes.d.ts +0 -152
@@ -0,0 +1,480 @@
|
|
1
|
+
import { CSSProperties, PropType, StyleValue } from 'vue';
|
2
|
+
import { TriggerProps } from '../trigger-v2/interface';
|
3
|
+
/**
|
4
|
+
* @displayName Menu
|
5
|
+
*/
|
6
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
7
|
+
style: {
|
8
|
+
type: PropType<StyleValue>;
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* @zh 菜单的主题
|
12
|
+
* @en Menu theme
|
13
|
+
*/
|
14
|
+
theme: {
|
15
|
+
type: PropType<"light" | "dark">;
|
16
|
+
default: string;
|
17
|
+
};
|
18
|
+
/**
|
19
|
+
* @zh 菜单的模式
|
20
|
+
* @en The mode of menu
|
21
|
+
*/
|
22
|
+
mode: {
|
23
|
+
type: PropType<"vertical" | "horizontal" | "pop" | "popButton">;
|
24
|
+
default: string;
|
25
|
+
};
|
26
|
+
/**
|
27
|
+
* @zh 层级之间的缩进量
|
28
|
+
* @en Indentation between levels
|
29
|
+
*/
|
30
|
+
levelIndent: {
|
31
|
+
type: NumberConstructor;
|
32
|
+
};
|
33
|
+
/**
|
34
|
+
* @zh 默认展开所有多级菜单
|
35
|
+
* @en Expand all multi-level menus by default
|
36
|
+
*/
|
37
|
+
autoOpen: {
|
38
|
+
type: BooleanConstructor;
|
39
|
+
};
|
40
|
+
/**
|
41
|
+
* @zh 是否折叠菜单
|
42
|
+
* @en Whether to collapse the menu
|
43
|
+
* @vModel
|
44
|
+
*/
|
45
|
+
collapsed: {
|
46
|
+
type: BooleanConstructor;
|
47
|
+
default: undefined;
|
48
|
+
};
|
49
|
+
/**
|
50
|
+
* @zh 默认是否折叠菜单
|
51
|
+
* @en Whether to collapse the menu by default
|
52
|
+
*/
|
53
|
+
defaultCollapsed: {
|
54
|
+
type: BooleanConstructor;
|
55
|
+
};
|
56
|
+
/**
|
57
|
+
* @zh 折叠菜单宽度
|
58
|
+
* @en Collapse menu width
|
59
|
+
*/
|
60
|
+
collapsedWidth: {
|
61
|
+
type: NumberConstructor;
|
62
|
+
};
|
63
|
+
/**
|
64
|
+
* @zh 开启手风琴效果
|
65
|
+
* @en Turn on the accordion effect
|
66
|
+
*/
|
67
|
+
accordion: {
|
68
|
+
type: BooleanConstructor;
|
69
|
+
};
|
70
|
+
/**
|
71
|
+
* @zh 是否自动滚动选中项目到可见区域
|
72
|
+
* @en Whether to automatically scroll the selected item to the visible area
|
73
|
+
*/
|
74
|
+
autoScrollIntoView: {
|
75
|
+
type: BooleanConstructor;
|
76
|
+
};
|
77
|
+
/**
|
78
|
+
* @zh 是否内置折叠按钮
|
79
|
+
* @en Whether built-in folding button
|
80
|
+
*/
|
81
|
+
showCollapseButton: {
|
82
|
+
type: BooleanConstructor;
|
83
|
+
};
|
84
|
+
/**
|
85
|
+
* @zh 选中的菜单项 key 数组
|
86
|
+
* @en The selected menu item key array
|
87
|
+
* @vModel
|
88
|
+
*/
|
89
|
+
selectedKeys: {
|
90
|
+
type: PropType<string[]>;
|
91
|
+
};
|
92
|
+
/**
|
93
|
+
* @zh 默认选中的菜单项 key 数组
|
94
|
+
* @en The key array of the menu items selected by default
|
95
|
+
*/
|
96
|
+
defaultSelectedKeys: {
|
97
|
+
type: PropType<string[]>;
|
98
|
+
default: () => never[];
|
99
|
+
};
|
100
|
+
/**
|
101
|
+
* @zh 展开的子菜单 key 数组
|
102
|
+
* @en Expanded submenu key array
|
103
|
+
* @vModel
|
104
|
+
*/
|
105
|
+
openKeys: {
|
106
|
+
type: PropType<string[]>;
|
107
|
+
};
|
108
|
+
/**
|
109
|
+
* @zh 默认展开的子菜单 key 数组
|
110
|
+
* @en The default expanded submenu key array
|
111
|
+
*/
|
112
|
+
defaultOpenKeys: {
|
113
|
+
type: PropType<string[]>;
|
114
|
+
default: () => never[];
|
115
|
+
};
|
116
|
+
/**
|
117
|
+
* @zh 滚动到可见区域的配置项,接收所有[scroll-into-view-if-needed](https://github.com/stipsan/scroll-into-view-if-needed)的参数
|
118
|
+
* @en Scroll to the configuration items in the visible area and receive all the parameters of [scroll-into-view-if-needed](https://github.com/stipsan/scroll-into-view-if-needed)
|
119
|
+
*/
|
120
|
+
scrollConfig: {
|
121
|
+
type: PropType<{
|
122
|
+
[key: string]: any;
|
123
|
+
}>;
|
124
|
+
};
|
125
|
+
/**
|
126
|
+
* @zh 弹出模式下可接受所有 `Trigger` 的 `Props`
|
127
|
+
* @en Accept all `Props` of `Trigger` in pop-up mode
|
128
|
+
*/
|
129
|
+
triggerProps: {
|
130
|
+
type: PropType<TriggerProps>;
|
131
|
+
};
|
132
|
+
/**
|
133
|
+
* @zh 弹出模式下可接受所有 `ToolTip` 的 `Props`
|
134
|
+
* @en Accept all `Props` of `ToolTip` in pop-up mode
|
135
|
+
*/
|
136
|
+
tooltipProps: {
|
137
|
+
type: ObjectConstructor;
|
138
|
+
};
|
139
|
+
/**
|
140
|
+
* @zh 默认展开选中的菜单
|
141
|
+
* @en Expand the selected menus by default
|
142
|
+
* @version 2.8.0
|
143
|
+
*/
|
144
|
+
autoOpenSelected: {
|
145
|
+
type: BooleanConstructor;
|
146
|
+
};
|
147
|
+
/**
|
148
|
+
* @zh 响应式的断点, 详见[响应式栅格](/vue/component/grid)
|
149
|
+
* @en Responsive breakpoints, see [Responsive Grid](/vue/component/grid) for details
|
150
|
+
* @version 2.18.0
|
151
|
+
*/
|
152
|
+
breakpoint: {
|
153
|
+
type: PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
154
|
+
};
|
155
|
+
/**
|
156
|
+
* @zh 弹出框的最大高度
|
157
|
+
* @en The maximum height of popover
|
158
|
+
* @version 2.23.0
|
159
|
+
*/
|
160
|
+
popupMaxHeight: {
|
161
|
+
type: PropType<boolean | number>;
|
162
|
+
default: boolean;
|
163
|
+
};
|
164
|
+
prefixCls: {
|
165
|
+
type: StringConstructor;
|
166
|
+
};
|
167
|
+
inTrigger: {
|
168
|
+
type: BooleanConstructor;
|
169
|
+
};
|
170
|
+
siderCollapsed: {
|
171
|
+
type: BooleanConstructor;
|
172
|
+
};
|
173
|
+
isRoot: {
|
174
|
+
type: BooleanConstructor;
|
175
|
+
};
|
176
|
+
}>, {
|
177
|
+
computedPrefixCls: import('vue').ComputedRef<string>;
|
178
|
+
classNames: import('vue').ComputedRef<(string | {
|
179
|
+
[x: string]: boolean;
|
180
|
+
})[]>;
|
181
|
+
computedStyle: import('vue').ComputedRef<(string | false | StyleValue[] | Omit<CSSProperties, "width"> | {
|
182
|
+
width: string | number | undefined;
|
183
|
+
} | null | undefined)[]>;
|
184
|
+
computedCollapsed: import('vue').ComputedRef<boolean>;
|
185
|
+
computedHasCollapseButton: import('vue').ComputedRef<boolean>;
|
186
|
+
onCollapseBtnClick: () => void;
|
187
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("collapse" | "update:collapsed" | "update:selectedKeys" | "update:openKeys" | "menu-item-click" | "sub-menu-click")[], "collapse" | "update:collapsed" | "update:selectedKeys" | "update:openKeys" | "menu-item-click" | "sub-menu-click", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
188
|
+
style: {
|
189
|
+
type: PropType<StyleValue>;
|
190
|
+
};
|
191
|
+
/**
|
192
|
+
* @zh 菜单的主题
|
193
|
+
* @en Menu theme
|
194
|
+
*/
|
195
|
+
theme: {
|
196
|
+
type: PropType<"light" | "dark">;
|
197
|
+
default: string;
|
198
|
+
};
|
199
|
+
/**
|
200
|
+
* @zh 菜单的模式
|
201
|
+
* @en The mode of menu
|
202
|
+
*/
|
203
|
+
mode: {
|
204
|
+
type: PropType<"vertical" | "horizontal" | "pop" | "popButton">;
|
205
|
+
default: string;
|
206
|
+
};
|
207
|
+
/**
|
208
|
+
* @zh 层级之间的缩进量
|
209
|
+
* @en Indentation between levels
|
210
|
+
*/
|
211
|
+
levelIndent: {
|
212
|
+
type: NumberConstructor;
|
213
|
+
};
|
214
|
+
/**
|
215
|
+
* @zh 默认展开所有多级菜单
|
216
|
+
* @en Expand all multi-level menus by default
|
217
|
+
*/
|
218
|
+
autoOpen: {
|
219
|
+
type: BooleanConstructor;
|
220
|
+
};
|
221
|
+
/**
|
222
|
+
* @zh 是否折叠菜单
|
223
|
+
* @en Whether to collapse the menu
|
224
|
+
* @vModel
|
225
|
+
*/
|
226
|
+
collapsed: {
|
227
|
+
type: BooleanConstructor;
|
228
|
+
default: undefined;
|
229
|
+
};
|
230
|
+
/**
|
231
|
+
* @zh 默认是否折叠菜单
|
232
|
+
* @en Whether to collapse the menu by default
|
233
|
+
*/
|
234
|
+
defaultCollapsed: {
|
235
|
+
type: BooleanConstructor;
|
236
|
+
};
|
237
|
+
/**
|
238
|
+
* @zh 折叠菜单宽度
|
239
|
+
* @en Collapse menu width
|
240
|
+
*/
|
241
|
+
collapsedWidth: {
|
242
|
+
type: NumberConstructor;
|
243
|
+
};
|
244
|
+
/**
|
245
|
+
* @zh 开启手风琴效果
|
246
|
+
* @en Turn on the accordion effect
|
247
|
+
*/
|
248
|
+
accordion: {
|
249
|
+
type: BooleanConstructor;
|
250
|
+
};
|
251
|
+
/**
|
252
|
+
* @zh 是否自动滚动选中项目到可见区域
|
253
|
+
* @en Whether to automatically scroll the selected item to the visible area
|
254
|
+
*/
|
255
|
+
autoScrollIntoView: {
|
256
|
+
type: BooleanConstructor;
|
257
|
+
};
|
258
|
+
/**
|
259
|
+
* @zh 是否内置折叠按钮
|
260
|
+
* @en Whether built-in folding button
|
261
|
+
*/
|
262
|
+
showCollapseButton: {
|
263
|
+
type: BooleanConstructor;
|
264
|
+
};
|
265
|
+
/**
|
266
|
+
* @zh 选中的菜单项 key 数组
|
267
|
+
* @en The selected menu item key array
|
268
|
+
* @vModel
|
269
|
+
*/
|
270
|
+
selectedKeys: {
|
271
|
+
type: PropType<string[]>;
|
272
|
+
};
|
273
|
+
/**
|
274
|
+
* @zh 默认选中的菜单项 key 数组
|
275
|
+
* @en The key array of the menu items selected by default
|
276
|
+
*/
|
277
|
+
defaultSelectedKeys: {
|
278
|
+
type: PropType<string[]>;
|
279
|
+
default: () => never[];
|
280
|
+
};
|
281
|
+
/**
|
282
|
+
* @zh 展开的子菜单 key 数组
|
283
|
+
* @en Expanded submenu key array
|
284
|
+
* @vModel
|
285
|
+
*/
|
286
|
+
openKeys: {
|
287
|
+
type: PropType<string[]>;
|
288
|
+
};
|
289
|
+
/**
|
290
|
+
* @zh 默认展开的子菜单 key 数组
|
291
|
+
* @en The default expanded submenu key array
|
292
|
+
*/
|
293
|
+
defaultOpenKeys: {
|
294
|
+
type: PropType<string[]>;
|
295
|
+
default: () => never[];
|
296
|
+
};
|
297
|
+
/**
|
298
|
+
* @zh 滚动到可见区域的配置项,接收所有[scroll-into-view-if-needed](https://github.com/stipsan/scroll-into-view-if-needed)的参数
|
299
|
+
* @en Scroll to the configuration items in the visible area and receive all the parameters of [scroll-into-view-if-needed](https://github.com/stipsan/scroll-into-view-if-needed)
|
300
|
+
*/
|
301
|
+
scrollConfig: {
|
302
|
+
type: PropType<{
|
303
|
+
[key: string]: any;
|
304
|
+
}>;
|
305
|
+
};
|
306
|
+
/**
|
307
|
+
* @zh 弹出模式下可接受所有 `Trigger` 的 `Props`
|
308
|
+
* @en Accept all `Props` of `Trigger` in pop-up mode
|
309
|
+
*/
|
310
|
+
triggerProps: {
|
311
|
+
type: PropType<TriggerProps>;
|
312
|
+
};
|
313
|
+
/**
|
314
|
+
* @zh 弹出模式下可接受所有 `ToolTip` 的 `Props`
|
315
|
+
* @en Accept all `Props` of `ToolTip` in pop-up mode
|
316
|
+
*/
|
317
|
+
tooltipProps: {
|
318
|
+
type: ObjectConstructor;
|
319
|
+
};
|
320
|
+
/**
|
321
|
+
* @zh 默认展开选中的菜单
|
322
|
+
* @en Expand the selected menus by default
|
323
|
+
* @version 2.8.0
|
324
|
+
*/
|
325
|
+
autoOpenSelected: {
|
326
|
+
type: BooleanConstructor;
|
327
|
+
};
|
328
|
+
/**
|
329
|
+
* @zh 响应式的断点, 详见[响应式栅格](/vue/component/grid)
|
330
|
+
* @en Responsive breakpoints, see [Responsive Grid](/vue/component/grid) for details
|
331
|
+
* @version 2.18.0
|
332
|
+
*/
|
333
|
+
breakpoint: {
|
334
|
+
type: PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
335
|
+
};
|
336
|
+
/**
|
337
|
+
* @zh 弹出框的最大高度
|
338
|
+
* @en The maximum height of popover
|
339
|
+
* @version 2.23.0
|
340
|
+
*/
|
341
|
+
popupMaxHeight: {
|
342
|
+
type: PropType<boolean | number>;
|
343
|
+
default: boolean;
|
344
|
+
};
|
345
|
+
prefixCls: {
|
346
|
+
type: StringConstructor;
|
347
|
+
};
|
348
|
+
inTrigger: {
|
349
|
+
type: BooleanConstructor;
|
350
|
+
};
|
351
|
+
siderCollapsed: {
|
352
|
+
type: BooleanConstructor;
|
353
|
+
};
|
354
|
+
isRoot: {
|
355
|
+
type: BooleanConstructor;
|
356
|
+
};
|
357
|
+
}>> & Readonly<{
|
358
|
+
onCollapse?: ((...args: any[]) => any) | undefined;
|
359
|
+
"onUpdate:collapsed"?: ((...args: any[]) => any) | undefined;
|
360
|
+
"onUpdate:selectedKeys"?: ((...args: any[]) => any) | undefined;
|
361
|
+
"onUpdate:openKeys"?: ((...args: any[]) => any) | undefined;
|
362
|
+
"onMenu-item-click"?: ((...args: any[]) => any) | undefined;
|
363
|
+
"onSub-menu-click"?: ((...args: any[]) => any) | undefined;
|
364
|
+
}>, {
|
365
|
+
mode: "horizontal" | "vertical" | "pop" | "popButton";
|
366
|
+
popupMaxHeight: number | boolean;
|
367
|
+
collapsed: boolean;
|
368
|
+
theme: "dark" | "light";
|
369
|
+
defaultCollapsed: boolean;
|
370
|
+
autoScrollIntoView: boolean;
|
371
|
+
inTrigger: boolean;
|
372
|
+
siderCollapsed: boolean;
|
373
|
+
isRoot: boolean;
|
374
|
+
autoOpen: boolean;
|
375
|
+
accordion: boolean;
|
376
|
+
showCollapseButton: boolean;
|
377
|
+
defaultSelectedKeys: string[];
|
378
|
+
defaultOpenKeys: string[];
|
379
|
+
autoOpenSelected: boolean;
|
380
|
+
}, {}, {
|
381
|
+
IconMenuFold: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
382
|
+
size: {
|
383
|
+
type: (StringConstructor | NumberConstructor)[];
|
384
|
+
default: undefined;
|
385
|
+
};
|
386
|
+
rotate: {
|
387
|
+
type: NumberConstructor;
|
388
|
+
default: undefined;
|
389
|
+
};
|
390
|
+
spin: {
|
391
|
+
type: BooleanConstructor;
|
392
|
+
default: boolean;
|
393
|
+
};
|
394
|
+
color: {
|
395
|
+
type: StringConstructor;
|
396
|
+
default: undefined;
|
397
|
+
};
|
398
|
+
fillColor: {
|
399
|
+
type: ArrayConstructor;
|
400
|
+
default: undefined;
|
401
|
+
};
|
402
|
+
}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
403
|
+
size: {
|
404
|
+
type: (StringConstructor | NumberConstructor)[];
|
405
|
+
default: undefined;
|
406
|
+
};
|
407
|
+
rotate: {
|
408
|
+
type: NumberConstructor;
|
409
|
+
default: undefined;
|
410
|
+
};
|
411
|
+
spin: {
|
412
|
+
type: BooleanConstructor;
|
413
|
+
default: boolean;
|
414
|
+
};
|
415
|
+
color: {
|
416
|
+
type: StringConstructor;
|
417
|
+
default: undefined;
|
418
|
+
};
|
419
|
+
fillColor: {
|
420
|
+
type: ArrayConstructor;
|
421
|
+
default: undefined;
|
422
|
+
};
|
423
|
+
}>> & Readonly<{}>, {
|
424
|
+
size: string | number;
|
425
|
+
rotate: number;
|
426
|
+
spin: boolean;
|
427
|
+
color: string;
|
428
|
+
fillColor: unknown[];
|
429
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
430
|
+
IconMenuUnfold: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
431
|
+
size: {
|
432
|
+
type: (StringConstructor | NumberConstructor)[];
|
433
|
+
default: undefined;
|
434
|
+
};
|
435
|
+
rotate: {
|
436
|
+
type: NumberConstructor;
|
437
|
+
default: undefined;
|
438
|
+
};
|
439
|
+
spin: {
|
440
|
+
type: BooleanConstructor;
|
441
|
+
default: boolean;
|
442
|
+
};
|
443
|
+
color: {
|
444
|
+
type: StringConstructor;
|
445
|
+
default: undefined;
|
446
|
+
};
|
447
|
+
fillColor: {
|
448
|
+
type: ArrayConstructor;
|
449
|
+
default: undefined;
|
450
|
+
};
|
451
|
+
}>, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
452
|
+
size: {
|
453
|
+
type: (StringConstructor | NumberConstructor)[];
|
454
|
+
default: undefined;
|
455
|
+
};
|
456
|
+
rotate: {
|
457
|
+
type: NumberConstructor;
|
458
|
+
default: undefined;
|
459
|
+
};
|
460
|
+
spin: {
|
461
|
+
type: BooleanConstructor;
|
462
|
+
default: boolean;
|
463
|
+
};
|
464
|
+
color: {
|
465
|
+
type: StringConstructor;
|
466
|
+
default: undefined;
|
467
|
+
};
|
468
|
+
fillColor: {
|
469
|
+
type: ArrayConstructor;
|
470
|
+
default: undefined;
|
471
|
+
};
|
472
|
+
}>> & Readonly<{}>, {
|
473
|
+
size: string | number;
|
474
|
+
rotate: number;
|
475
|
+
spin: boolean;
|
476
|
+
color: string;
|
477
|
+
fillColor: unknown[];
|
478
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
479
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
480
|
+
export default _default;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { InjectionKey, VNodeTypes } from 'vue';
|
2
|
+
import { InternalMenuProps, MenuData } from './interface';
|
3
|
+
export declare const MenuInjectionKey: InjectionKey<MenuContext>;
|
4
|
+
export type MenuContext = Readonly<Pick<InternalMenuProps, 'mode' | 'theme' | 'levelIndent' | 'autoScrollIntoView' | 'scrollConfig' | 'inTrigger' | 'triggerProps' | 'tooltipProps' | 'popupMaxHeight'> & {
|
5
|
+
selectedKeys: string[];
|
6
|
+
openKeys: string[];
|
7
|
+
prefixCls: string;
|
8
|
+
collapsed: boolean;
|
9
|
+
expandIconDown?: () => VNodeTypes;
|
10
|
+
expandIconRight?: () => VNodeTypes;
|
11
|
+
onSubMenuClick?: (key: string, level: number) => void;
|
12
|
+
onMenuItemClick?: (key: string) => void;
|
13
|
+
}>;
|
14
|
+
export declare const LevelInjectionKey: InjectionKey<LevelContext>;
|
15
|
+
export type LevelContext = Readonly<{
|
16
|
+
level: number;
|
17
|
+
}>;
|
18
|
+
export type MenuMapType = Map<string, string[]>;
|
19
|
+
export declare const DataCollectorInjectionKey: InjectionKey<DataCollectorContext>;
|
20
|
+
export type DataCollectorContext = Readonly<{
|
21
|
+
collectSubMenu: (key: string, children: MenuData, isReport?: boolean) => void;
|
22
|
+
removeSubMenu: (key: string) => void;
|
23
|
+
collectMenuItem: (key: string) => void;
|
24
|
+
removeMenuItem: (keys: string) => void;
|
25
|
+
reportMenuData: (data: MenuData) => void;
|
26
|
+
}>;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { MenuData } from '../interface';
|
2
|
+
export declare function useMenuDataCollectorContext(isRoot?: boolean): Readonly<{
|
3
|
+
collectSubMenu: (key: string, children: MenuData, isReport?: boolean) => void;
|
4
|
+
removeSubMenu: (key: string) => void;
|
5
|
+
collectMenuItem: (key: string) => void;
|
6
|
+
removeMenuItem: (keys: string) => void;
|
7
|
+
reportMenuData: (data: MenuData) => void;
|
8
|
+
}> | undefined;
|
9
|
+
export default function useMenuDataCollector(props: {
|
10
|
+
key?: string | undefined;
|
11
|
+
type: 'menu' | 'popupMenu' | 'subMenu';
|
12
|
+
}): {
|
13
|
+
menuData: import('vue').Ref<{
|
14
|
+
key: string;
|
15
|
+
children?: /*elided*/ any[] | undefined;
|
16
|
+
}[], MenuData | {
|
17
|
+
key: string;
|
18
|
+
children?: /*elided*/ any[] | undefined;
|
19
|
+
}[]>;
|
20
|
+
subMenuKeys: import('vue').ComputedRef<string[]>;
|
21
|
+
menuItemKeys: import('vue').ComputedRef<string[]>;
|
22
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { MenuData } from '../interface';
|
2
|
+
interface MenuOpenStateProps {
|
3
|
+
modelValue: string[] | undefined;
|
4
|
+
defaultValue: string[] | undefined;
|
5
|
+
autoOpen: boolean;
|
6
|
+
autoOpenSelected: boolean;
|
7
|
+
selectedKeys: string[];
|
8
|
+
subMenuKeys: string[];
|
9
|
+
menuData: MenuData;
|
10
|
+
accordion: boolean;
|
11
|
+
}
|
12
|
+
export default function useMenuOpenState(props: MenuOpenStateProps): {
|
13
|
+
openKeys: import('vue').ComputedRef<string[]>;
|
14
|
+
localOpenKeys: import('vue').Ref<string[], string[]>;
|
15
|
+
setOpenKeys: (val: string[]) => void;
|
16
|
+
open(key: string, level: number): string[];
|
17
|
+
};
|
18
|
+
export {};
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { StyleValue } from 'vue';
|
2
|
+
import { Breakpoint } from '../../_utils/responsive-observe';
|
3
|
+
import { Data } from '../../_utils/types';
|
4
|
+
import { TriggerProps } from '../trigger-v2/interface';
|
5
|
+
export type MenuTheme = 'light' | 'dark';
|
6
|
+
export type MenuMode = 'vertical' | 'horizontal' | 'pop' | 'popButton';
|
7
|
+
export interface SubMenuChildDataType {
|
8
|
+
key: string;
|
9
|
+
children?: SubMenuChildDataType[];
|
10
|
+
}
|
11
|
+
export type PopupMenuMaxHeightType = boolean | number;
|
12
|
+
export interface MenuProps {
|
13
|
+
style: StyleValue | undefined;
|
14
|
+
theme: MenuTheme | undefined;
|
15
|
+
mode: MenuMode;
|
16
|
+
levelIndent: number | undefined;
|
17
|
+
autoOpen: boolean;
|
18
|
+
collapsed: boolean | undefined;
|
19
|
+
defaultCollapsed: boolean;
|
20
|
+
collapsedWidth: number | undefined;
|
21
|
+
accordion: boolean;
|
22
|
+
autoScrollIntoView: boolean;
|
23
|
+
showCollapseButton: boolean;
|
24
|
+
selectedKeys: string[] | undefined;
|
25
|
+
defaultSelectedKeys: string[];
|
26
|
+
openKeys: string[] | undefined;
|
27
|
+
defaultOpenKeys: string[];
|
28
|
+
scrollConfig: {
|
29
|
+
[key: string]: any;
|
30
|
+
} | undefined;
|
31
|
+
triggerProps: TriggerProps | undefined;
|
32
|
+
tooltipProps: Data | undefined;
|
33
|
+
autoOpenSelected: boolean;
|
34
|
+
breakpoint: Breakpoint | undefined;
|
35
|
+
popupMaxHeight: PopupMenuMaxHeightType;
|
36
|
+
}
|
37
|
+
export interface InternalMenuProps extends MenuProps {
|
38
|
+
prefixCls: string | undefined;
|
39
|
+
inTrigger: boolean;
|
40
|
+
siderCollapsed: boolean;
|
41
|
+
isRoot: boolean;
|
42
|
+
}
|
43
|
+
export interface MenuSubMenuProps {
|
44
|
+
key: string | undefined;
|
45
|
+
title: string | undefined;
|
46
|
+
selectable: boolean;
|
47
|
+
popup: boolean | ((level: number) => boolean);
|
48
|
+
popupMaxHeight: PopupMenuMaxHeightType | undefined;
|
49
|
+
}
|
50
|
+
export interface MenuItemGroupProps {
|
51
|
+
title: string | undefined;
|
52
|
+
}
|
53
|
+
export interface MenuItemProps {
|
54
|
+
key: string | undefined;
|
55
|
+
disabled?: boolean;
|
56
|
+
}
|
57
|
+
export interface SubMenuInlineProps {
|
58
|
+
title: string | undefined;
|
59
|
+
isChildrenSelected: boolean;
|
60
|
+
}
|
61
|
+
export interface SubMenuPopProps {
|
62
|
+
title: string | undefined;
|
63
|
+
selectable: boolean;
|
64
|
+
isChildrenSelected: boolean;
|
65
|
+
popupMaxHeight: PopupMenuMaxHeightType | undefined;
|
66
|
+
}
|
67
|
+
export interface MenuDataItem {
|
68
|
+
key: string;
|
69
|
+
children?: MenuData;
|
70
|
+
}
|
71
|
+
export type MenuData = MenuDataItem[];
|
@@ -0,0 +1,24 @@
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
2
|
+
/**
|
3
|
+
* @zh 菜单组的标题
|
4
|
+
* @en The title of the menu group
|
5
|
+
*/
|
6
|
+
title: {
|
7
|
+
type: StringConstructor;
|
8
|
+
};
|
9
|
+
}>, {
|
10
|
+
prefixCls: import('vue').ComputedRef<string | undefined>;
|
11
|
+
classNames: import('vue').ComputedRef<string[]>;
|
12
|
+
level: import('vue').ComputedRef<number>;
|
13
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
14
|
+
/**
|
15
|
+
* @zh 菜单组的标题
|
16
|
+
* @en The title of the menu group
|
17
|
+
*/
|
18
|
+
title: {
|
19
|
+
type: StringConstructor;
|
20
|
+
};
|
21
|
+
}>> & Readonly<{}>, {}, {}, {
|
22
|
+
MenuIndent: import('vue').DefineComponent<{}, {}, any>;
|
23
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
24
|
+
export default _default;
|
@@ -0,0 +1,2 @@
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, () => VNode, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
2
|
+
export default _default;
|