@koi-design/uxd-ui 14.0.6 → 14.0.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/es/components/Card/Card.d.ts +9 -9
- package/es/components/Card/Card.mjs +19 -26
- package/es/components/Card/Card.mjs.map +1 -1
- package/es/components/Card/Card.type.d.ts +4 -4
- package/es/components/Card/Card.type.mjs +4 -4
- package/es/components/Card/Card.type.mjs.map +1 -1
- package/es/components/Card/index.d.ts +15 -15
- package/es/components/DatePicker/DatePicker.mjs +2 -4
- package/es/components/DatePicker/DatePicker.mjs.map +1 -1
- package/es/components/DatePicker/Panel/DatePickerPanel.mjs +1 -0
- package/es/components/DatePicker/Panel/DatePickerPanel.mjs.map +1 -1
- package/es/components/Layout/Layout.type.d.ts +2 -7
- package/es/components/Layout/Layout.type.mjs +2 -7
- package/es/components/Layout/Layout.type.mjs.map +1 -1
- package/es/components/Layout/Sider.mjs +20 -16
- package/es/components/Layout/Sider.mjs.map +1 -1
- package/es/components/Layout/Sider.vue.d.ts +9 -17
- package/es/components/Layout/index.d.ts +9 -17
- package/es/components/Menu/Menu.d.ts +0 -11
- package/es/components/Menu/Menu.mjs +1 -3
- package/es/components/Menu/Menu.mjs.map +1 -1
- package/es/components/Menu/Menu.type.d.ts +0 -6
- package/es/components/Menu/Menu.type.mjs +0 -5
- package/es/components/Menu/Menu.type.mjs.map +1 -1
- package/es/components/Menu/SubMenu.mjs +1 -3
- package/es/components/Menu/SubMenu.mjs.map +1 -1
- package/es/components/Menu/SubMenu.vue.d.ts +0 -1
- package/es/components/Menu/index.d.ts +0 -19
- package/es/components/Table/BaseTable.vue.d.ts +0 -19
- package/es/components/Table/BodyTable.vue.d.ts +0 -19
- package/es/components/Table/HeadTable.vue.d.ts +0 -19
- package/es/components/Table/Table.vue.d.ts +0 -38
- package/es/components/Table/TableBox.vue.d.ts +0 -38
- package/es/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/es/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- package/es/components/base/CollapseTransition.mjs +0 -16
- package/es/components/base/CollapseTransition.mjs.map +1 -1
- package/es/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/es/components/locale/default.d.ts +1 -0
- package/es/components/locale/default.mjs.map +1 -1
- package/lib/components/Card/Card.d.ts +9 -9
- package/lib/components/Card/Card.js +22 -29
- package/lib/components/Card/Card.js.map +1 -1
- package/lib/components/Card/Card.type.d.ts +4 -4
- package/lib/components/Card/Card.type.js +4 -4
- package/lib/components/Card/Card.type.js.map +1 -1
- package/lib/components/Card/index.d.ts +15 -15
- package/lib/components/DatePicker/DatePicker.js +2 -4
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DatePicker/Panel/DatePickerPanel.js +1 -0
- package/lib/components/DatePicker/Panel/DatePickerPanel.js.map +1 -1
- package/lib/components/Layout/Layout.type.d.ts +2 -7
- package/lib/components/Layout/Layout.type.js +2 -7
- package/lib/components/Layout/Layout.type.js.map +1 -1
- package/lib/components/Layout/Sider.js +19 -15
- package/lib/components/Layout/Sider.js.map +1 -1
- package/lib/components/Layout/Sider.vue.d.ts +9 -17
- package/lib/components/Layout/index.d.ts +9 -17
- package/lib/components/Menu/Menu.d.ts +0 -11
- package/lib/components/Menu/Menu.js +1 -3
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/Menu/Menu.type.d.ts +0 -6
- package/lib/components/Menu/Menu.type.js +0 -5
- package/lib/components/Menu/Menu.type.js.map +1 -1
- package/lib/components/Menu/SubMenu.js +1 -3
- package/lib/components/Menu/SubMenu.js.map +1 -1
- package/lib/components/Menu/SubMenu.vue.d.ts +0 -1
- package/lib/components/Menu/index.d.ts +0 -19
- package/lib/components/Table/BaseTable.vue.d.ts +0 -19
- package/lib/components/Table/BodyTable.vue.d.ts +0 -19
- package/lib/components/Table/HeadTable.vue.d.ts +0 -19
- package/lib/components/Table/Table.vue.d.ts +0 -38
- package/lib/components/Table/TableBox.vue.d.ts +0 -38
- package/lib/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/lib/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- package/lib/components/base/CollapseTransition.js +0 -16
- package/lib/components/base/CollapseTransition.js.map +1 -1
- package/lib/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/lib/components/locale/default.d.ts +1 -0
- package/lib/components/locale/default.js.map +1 -1
- package/package.json +1 -1
- package/styles/components/alert/index.css +1 -1
- package/styles/components/autoComplete/index.css +1 -1
- package/styles/components/avatar/index.css +1 -1
- package/styles/components/breadcrumb/index.css +1 -1
- package/styles/components/breadcrumb/index.less +5 -6
- package/styles/components/breadcrumb/var.less +4 -6
- package/styles/components/button/index.css +1 -1
- package/styles/components/card/index.css +1 -1
- package/styles/components/card/index.less +64 -70
- package/styles/components/card/var.less +4 -13
- package/styles/components/carousel/index.css +1 -1
- package/styles/components/cascader/index.css +1 -1
- package/styles/components/datePicker/index.css +1 -1
- package/styles/components/form/index.css +1 -1
- package/styles/components/icon/index.css +1 -1
- package/styles/components/input/index.css +1 -1
- package/styles/components/inputNumber/index.css +1 -1
- package/styles/components/layout/index.css +1 -1
- package/styles/components/layout/index.less +40 -55
- package/styles/components/layout/var.less +9 -41
- package/styles/components/link/index.css +1 -1
- package/styles/components/mentions/index.css +1 -1
- package/styles/components/menu/index.css +1 -1
- package/styles/components/menu/index.less +63 -207
- package/styles/components/menu/var.less +39 -69
- package/styles/components/modal/index.css +1 -1
- package/styles/components/select/index.css +1 -1
- package/styles/components/spin/index.css +1 -1
- package/styles/components/timePicker/index.css +1 -1
- package/styles/cssVariable.css +1 -1
- package/styles/cssVariable.less +8 -7
- package/styles/index.css +1 -1
- package/types/components/Card/Card.d.ts +9 -9
- package/types/components/Card/Card.type.d.ts +4 -4
- package/types/components/Card/index.d.ts +15 -15
- package/types/components/Layout/Layout.type.d.ts +2 -7
- package/types/components/Layout/Sider.vue.d.ts +9 -17
- package/types/components/Layout/index.d.ts +9 -17
- package/types/components/Menu/Menu.d.ts +0 -11
- package/types/components/Menu/Menu.type.d.ts +0 -6
- package/types/components/Menu/SubMenu.vue.d.ts +0 -1
- package/types/components/Menu/index.d.ts +0 -19
- package/types/components/Table/BaseTable.vue.d.ts +0 -19
- package/types/components/Table/BodyTable.vue.d.ts +0 -19
- package/types/components/Table/HeadTable.vue.d.ts +0 -19
- package/types/components/Table/Table.vue.d.ts +0 -38
- package/types/components/Table/TableBox.vue.d.ts +0 -38
- package/types/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
- package/types/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
- package/types/components/base/hooks/useGlobalConfig.d.ts +1 -0
- package/types/components/locale/default.d.ts +1 -0
- package/uxd-ui.css +1 -1
- package/uxd-ui.esm.min.mjs +6 -6
- package/uxd-ui.esm.mjs +373 -406
- package/uxd-ui.umd.js +372 -405
- package/uxd-ui.umd.min.js +6 -6
|
@@ -56,7 +56,7 @@ export declare const ULayout: {
|
|
|
56
56
|
type: BooleanConstructor;
|
|
57
57
|
default: undefined;
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
isRight: {
|
|
60
60
|
type: BooleanConstructor;
|
|
61
61
|
default: boolean;
|
|
62
62
|
};
|
|
@@ -74,7 +74,7 @@ export declare const ULayout: {
|
|
|
74
74
|
type: (StringConstructor | NumberConstructor)[];
|
|
75
75
|
default: number;
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
collapsedWidth: {
|
|
78
78
|
type: (StringConstructor | NumberConstructor)[];
|
|
79
79
|
default: number;
|
|
80
80
|
};
|
|
@@ -82,11 +82,6 @@ export declare const ULayout: {
|
|
|
82
82
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
83
83
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
84
84
|
};
|
|
85
|
-
theme: {
|
|
86
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
87
|
-
default: string;
|
|
88
|
-
validator: (val: "light" | "dark") => boolean;
|
|
89
|
-
};
|
|
90
85
|
background: {
|
|
91
86
|
type: StringConstructor;
|
|
92
87
|
};
|
|
@@ -112,7 +107,7 @@ export declare const ULayout: {
|
|
|
112
107
|
type: BooleanConstructor;
|
|
113
108
|
default: undefined;
|
|
114
109
|
};
|
|
115
|
-
|
|
110
|
+
isRight: {
|
|
116
111
|
type: BooleanConstructor;
|
|
117
112
|
default: boolean;
|
|
118
113
|
};
|
|
@@ -130,7 +125,7 @@ export declare const ULayout: {
|
|
|
130
125
|
type: (StringConstructor | NumberConstructor)[];
|
|
131
126
|
default: number;
|
|
132
127
|
};
|
|
133
|
-
|
|
128
|
+
collapsedWidth: {
|
|
134
129
|
type: (StringConstructor | NumberConstructor)[];
|
|
135
130
|
default: number;
|
|
136
131
|
};
|
|
@@ -138,11 +133,6 @@ export declare const ULayout: {
|
|
|
138
133
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
139
134
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
140
135
|
};
|
|
141
|
-
theme: {
|
|
142
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
143
|
-
default: string;
|
|
144
|
-
validator: (val: "light" | "dark") => boolean;
|
|
145
|
-
};
|
|
146
136
|
background: {
|
|
147
137
|
type: StringConstructor;
|
|
148
138
|
};
|
|
@@ -154,11 +144,10 @@ export declare const ULayout: {
|
|
|
154
144
|
width: string | number;
|
|
155
145
|
collapsible: boolean;
|
|
156
146
|
collapsed: boolean;
|
|
157
|
-
|
|
147
|
+
isRight: boolean;
|
|
158
148
|
hideTrigger: boolean;
|
|
159
149
|
zeroTrigger: boolean;
|
|
160
|
-
|
|
161
|
-
theme: "light" | "dark";
|
|
150
|
+
collapsedWidth: string | number;
|
|
162
151
|
}, {}, {
|
|
163
152
|
UIcon: {
|
|
164
153
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -292,6 +281,9 @@ export declare const ULayout: {
|
|
|
292
281
|
spin: boolean;
|
|
293
282
|
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]> & Record<string, any>;
|
|
294
283
|
PanelLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
284
|
+
PanelRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
285
|
+
ChevronLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
286
|
+
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
295
287
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
296
288
|
Content: import("vue").DefineComponent<{}, {
|
|
297
289
|
prefixCls: import("vue").ComputedRef<string>;
|
|
@@ -5,11 +5,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5
5
|
default: string;
|
|
6
6
|
validator: (val: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right") => boolean;
|
|
7
7
|
};
|
|
8
|
-
theme: {
|
|
9
|
-
type: import("vue").PropType<"dark" | "light">;
|
|
10
|
-
default: string;
|
|
11
|
-
validator: (val: "dark" | "light") => boolean;
|
|
12
|
-
};
|
|
13
8
|
selectedKeys: {
|
|
14
9
|
type: import("vue").PropType<(string | number)[]>;
|
|
15
10
|
validator: (val: any[]) => boolean;
|
|
@@ -63,11 +58,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
58
|
default: string;
|
|
64
59
|
validator: (val: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right") => boolean;
|
|
65
60
|
};
|
|
66
|
-
theme: {
|
|
67
|
-
type: import("vue").PropType<"dark" | "light">;
|
|
68
|
-
default: string;
|
|
69
|
-
validator: (val: "dark" | "light") => boolean;
|
|
70
|
-
};
|
|
71
61
|
selectedKeys: {
|
|
72
62
|
type: import("vue").PropType<(string | number)[]>;
|
|
73
63
|
validator: (val: any[]) => boolean;
|
|
@@ -112,7 +102,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
112
102
|
}>, {
|
|
113
103
|
multiple: boolean;
|
|
114
104
|
mode: "inline" | "horizontal" | "vertical" | "vertical-left" | "vertical-right";
|
|
115
|
-
theme: "dark" | "light";
|
|
116
105
|
openKeys: (string | number)[];
|
|
117
106
|
subMenuOpenDelay: number;
|
|
118
107
|
subMenuCloseDelay: number;
|
|
@@ -31,7 +31,6 @@ var Menu = vue.defineComponent({
|
|
|
31
31
|
} = useGlobalConfig["default"](inDrop ? "dropdown-menu" : "menu");
|
|
32
32
|
const {
|
|
33
33
|
mode,
|
|
34
|
-
theme,
|
|
35
34
|
subMenuOpenDelay,
|
|
36
35
|
subMenuCloseDelay,
|
|
37
36
|
inlineCollapsed
|
|
@@ -164,7 +163,6 @@ var Menu = vue.defineComponent({
|
|
|
164
163
|
vue.provide("menuStore", {
|
|
165
164
|
mode: computedMode,
|
|
166
165
|
originalMode: mode,
|
|
167
|
-
theme,
|
|
168
166
|
selectedKeys,
|
|
169
167
|
openKeys,
|
|
170
168
|
subMenuOpenDelay,
|
|
@@ -195,7 +193,7 @@ var Menu = vue.defineComponent({
|
|
|
195
193
|
return vue.createVNode("ul", {
|
|
196
194
|
"ref": "rootMenu",
|
|
197
195
|
"role": this.role || "menu",
|
|
198
|
-
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`,
|
|
196
|
+
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`, {
|
|
199
197
|
[`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed
|
|
200
198
|
}]
|
|
201
199
|
}, [this.renderChild()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { defineComponent, provide, inject, ref, toRefs, watch, computed } from 'vue';\nimport warn from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport Render from '../base/Render';\nimport useWrapDom from './hooks/useWrapDom';\nimport type { DropdownContext } from '../Dropdown/Dropdown.type';\nimport type { LayoutSiderContext } from '../Layout/Layout.type';\nimport { menuProps, menuEmits, type MenuItemClickEvent, type MenuClickEvent, type MenuOpenEvent } from './Menu.type';\n\nexport default defineComponent({\n name: 'UMenu',\n components: { Render },\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots }) {\n const dropdownContext = inject<DropdownContext | undefined>('dropdownContext', undefined);\n const layoutSiderContext = inject<LayoutSiderContext>('layoutSiderContext', {} as LayoutSiderContext);\n const inDrop = dropdownContext !== undefined;\n const { collapsed: layoutSiderCollapsed } = layoutSiderContext;\n const { prefixCls: statePrefixCls } = useGlobalConfig(inDrop ? 'dropdown-menu' : 'menu');\n const { mode, theme, subMenuOpenDelay, subMenuCloseDelay, inlineCollapsed } = toRefs(props);\n\n const computedPrefixCls = computed(() => props.prefixCls || statePrefixCls.value);\n if (props.mode !== 'inline' && props.inlineCollapsed !== undefined) {\n warn('inlineCollapsed only use in inline mode!');\n }\n const selectedKeys = ref(props.selectedKeys || []);\n const openKeys = ref(!props.inlineCollapsed && props.openKeys ? props.openKeys : []);\n const inlineOpenKeys = ref(props.inlineCollapsed ? props.openKeys : []);\n\n const rootMenu = ref<any | null>(null);\n let keypath: (string | number)[] = [];\n\n // const computedMode = computed(() => {\n // if (props.mode === 'inline') {\n // return props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n // }\n // return props.mode;\n // });\n const computedMode = ref(props.mode);\n const setInlineMode = () => {\n if (props.mode === 'inline') {\n computedMode.value = props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n }\n };\n setInlineMode();\n const collapsed = ref(false);\n // const handleTransitionEnd = (e: any) => {\n // if (e.target !== rootMenu.value || e.propertyName !== 'width') {\n // return;\n // }\n // if (props.mode === 'inline') {\n // if (props.inlineCollapsed || layoutSiderCollapsed?.value) {\n // computedMode.value = 'vertical';\n // inlineOpenKeys.value = openKeys.value;\n // openKeys.value = [];\n // collapsed.value = true;\n // } else {\n // computedMode.value = 'inline';\n // openKeys.value = inlineOpenKeys.value;\n // inlineOpenKeys.value = [];\n // collapsed.value = false;\n // }\n // }\n // };\n\n // #region methods\n const collapsedChange = (val: boolean) => {\n setTimeout(() => {\n setInlineMode();\n }, 300);\n\n if (val) {\n inlineOpenKeys.value = openKeys.value;\n openKeys.value = [];\n collapsed.value = true;\n } else {\n openKeys.value = inlineOpenKeys.value;\n inlineOpenKeys.value = [];\n collapsed.value = false;\n }\n };\n\n const updateKeyPath = (key: string | number, type: string) => {\n if (type === 'item') {\n keypath = [key];\n } else if (type === 'sub') {\n keypath.push(key);\n }\n };\n\n const fireMenuClick = (event: MenuItemClickEvent) => {\n const info: MenuClickEvent = {\n ...event,\n keypath\n };\n emit('click', info);\n if (dropdownContext && dropdownContext.fireItemClick && info.key) {\n dropdownContext.fireItemClick(info);\n }\n };\n\n const selectable = computed(() => {\n return !inDrop || !!props.selectable;\n });\n\n const fireMenuDeselect = (event: MenuItemClickEvent) => {\n if (selectable.value && props.multiple) {\n const _selectedKeys = selectedKeys.value.filter((x) => x !== event.key);\n\n emit('deselect', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuSelect = (event: MenuItemClickEvent) => {\n if (selectable.value) {\n let _selectedKeys = [] as (string | number)[];\n if (props.multiple) {\n _selectedKeys = [...selectedKeys.value, event.key];\n } else {\n _selectedKeys = [event.key];\n }\n emit('select', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuOpenChange = (event: MenuOpenEvent) => {\n const { open, key } = event;\n let _openKeys = openKeys.value;\n if (open) {\n _openKeys = [..._openKeys, key];\n } else {\n _openKeys = _openKeys.filter((x) => x !== key);\n }\n emit('open-change', _openKeys, event);\n openKeys.value = _openKeys;\n emit('update:openKeys', _openKeys);\n };\n // #endregion\n\n watch(\n () => props.selectedKeys,\n (val) => {\n selectedKeys.value = val || [];\n }\n );\n\n watch(\n () => props.openKeys,\n (val) => {\n openKeys.value = val;\n }\n );\n watch(\n () => props.inlineCollapsed,\n (val) => {\n if (val !== undefined) {\n collapsedChange(val);\n }\n }\n );\n\n if (layoutSiderContext && layoutSiderCollapsed) {\n watch(layoutSiderCollapsed, (val) => {\n collapsedChange(val);\n });\n }\n\n // #region provides\n // just children to use it\n provide('parentMenu', {\n isRootMenu: true,\n getPopupContainer: () => {\n if (dropdownContext) {\n return rootMenu.value?.parentNode;\n }\n return document.body;\n }\n });\n // rootMenu's props supply to descendants use\n provide('menuStore', {\n mode: computedMode,\n originalMode: mode,\n theme,\n selectedKeys,\n openKeys,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls: computedPrefixCls,\n updateKeyPath,\n // inlineIndent,\n inlineCollapsed,\n collapsed\n });\n // descendants trigger rootMenu's events\n provide('menuEvent', {\n fireMenuClick,\n fireMenuDeselect,\n fireMenuSelect,\n fireMenuOpenChange\n });\n // #endregion\n\n const { renderChild } = useWrapDom(props.mode, rootMenu, slots);\n\n return {\n rootMenu,\n computedPrefixCls,\n computedMode,\n layoutSiderCollapsed,\n renderChild\n };\n },\n render() {\n return (\n <ul\n ref=\"rootMenu\"\n role={this.role || 'menu'}\n class={[\n `${this.computedPrefixCls}`,\n `${this.computedPrefixCls}-${this.computedMode}`,\n `${this.computedPrefixCls}-root`,\n `${this.computedPrefixCls}-${this.theme}`,\n {\n [`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed\n }\n ]}\n >\n {this.renderChild()}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Render","props","menuProps","emits","menuEmits","setup","emit","slots","dropdownContext","inject","undefined","layoutSiderContext","inDrop","collapsed","layoutSiderCollapsed","prefixCls","statePrefixCls","useGlobalConfig","mode","theme","subMenuOpenDelay","subMenuCloseDelay","inlineCollapsed","toRefs","computedPrefixCls","computed","value","warn","selectedKeys","ref","openKeys","inlineOpenKeys","rootMenu","keypath","computedMode","setInlineMode","collapsedChange","val","setTimeout","updateKeyPath","key","type","push","fireMenuClick","event","info","fireItemClick","selectable","fireMenuDeselect","multiple","_selectedKeys","filter","x","item","fireMenuSelect","fireMenuOpenChange","open","_openKeys","watch","provide","isRootMenu","getPopupContainer","parentNode","document","body","originalMode","rootPrefixCls","renderChild","useWrapDom","render","_createVNode","role"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { defineComponent, provide, inject, ref, toRefs, watch, computed } from 'vue';\nimport warn from '../../utils/warn';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport Render from '../base/Render';\nimport useWrapDom from './hooks/useWrapDom';\nimport type { DropdownContext } from '../Dropdown/Dropdown.type';\nimport type { LayoutSiderContext } from '../Layout/Layout.type';\nimport { menuProps, menuEmits, type MenuItemClickEvent, type MenuClickEvent, type MenuOpenEvent } from './Menu.type';\n\nexport default defineComponent({\n name: 'UMenu',\n components: { Render },\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots }) {\n const dropdownContext = inject<DropdownContext | undefined>('dropdownContext', undefined);\n const layoutSiderContext = inject<LayoutSiderContext>('layoutSiderContext', {} as LayoutSiderContext);\n const inDrop = dropdownContext !== undefined;\n const { collapsed: layoutSiderCollapsed } = layoutSiderContext;\n const { prefixCls: statePrefixCls } = useGlobalConfig(inDrop ? 'dropdown-menu' : 'menu');\n const { mode, subMenuOpenDelay, subMenuCloseDelay, inlineCollapsed } = toRefs(props);\n\n const computedPrefixCls = computed(() => props.prefixCls || statePrefixCls.value);\n if (props.mode !== 'inline' && props.inlineCollapsed !== undefined) {\n warn('inlineCollapsed only use in inline mode!');\n }\n const selectedKeys = ref(props.selectedKeys || []);\n const openKeys = ref(!props.inlineCollapsed && props.openKeys ? props.openKeys : []);\n const inlineOpenKeys = ref(props.inlineCollapsed ? props.openKeys : []);\n\n const rootMenu = ref<any | null>(null);\n let keypath: (string | number)[] = [];\n\n // const computedMode = computed(() => {\n // if (props.mode === 'inline') {\n // return props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n // }\n // return props.mode;\n // });\n const computedMode = ref(props.mode);\n const setInlineMode = () => {\n if (props.mode === 'inline') {\n computedMode.value = props.inlineCollapsed || layoutSiderCollapsed?.value ? 'vertical' : props.mode;\n }\n };\n setInlineMode();\n const collapsed = ref(false);\n // const handleTransitionEnd = (e: any) => {\n // if (e.target !== rootMenu.value || e.propertyName !== 'width') {\n // return;\n // }\n // if (props.mode === 'inline') {\n // if (props.inlineCollapsed || layoutSiderCollapsed?.value) {\n // computedMode.value = 'vertical';\n // inlineOpenKeys.value = openKeys.value;\n // openKeys.value = [];\n // collapsed.value = true;\n // } else {\n // computedMode.value = 'inline';\n // openKeys.value = inlineOpenKeys.value;\n // inlineOpenKeys.value = [];\n // collapsed.value = false;\n // }\n // }\n // };\n\n // #region methods\n const collapsedChange = (val: boolean) => {\n setTimeout(() => {\n setInlineMode();\n }, 300);\n\n if (val) {\n inlineOpenKeys.value = openKeys.value;\n openKeys.value = [];\n collapsed.value = true;\n } else {\n openKeys.value = inlineOpenKeys.value;\n inlineOpenKeys.value = [];\n collapsed.value = false;\n }\n };\n\n const updateKeyPath = (key: string | number, type: string) => {\n if (type === 'item') {\n keypath = [key];\n } else if (type === 'sub') {\n keypath.push(key);\n }\n };\n\n const fireMenuClick = (event: MenuItemClickEvent) => {\n const info: MenuClickEvent = {\n ...event,\n keypath\n };\n emit('click', info);\n if (dropdownContext && dropdownContext.fireItemClick && info.key) {\n dropdownContext.fireItemClick(info);\n }\n };\n\n const selectable = computed(() => {\n return !inDrop || !!props.selectable;\n });\n\n const fireMenuDeselect = (event: MenuItemClickEvent) => {\n if (selectable.value && props.multiple) {\n const _selectedKeys = selectedKeys.value.filter((x) => x !== event.key);\n\n emit('deselect', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuSelect = (event: MenuItemClickEvent) => {\n if (selectable.value) {\n let _selectedKeys = [] as (string | number)[];\n if (props.multiple) {\n _selectedKeys = [...selectedKeys.value, event.key];\n } else {\n _selectedKeys = [event.key];\n }\n emit('select', {\n key: event.key,\n item: event.item,\n selectedKeys: _selectedKeys\n });\n if (props.selectedKeys === undefined) {\n selectedKeys.value = _selectedKeys;\n }\n\n emit('update:selectedKeys', _selectedKeys);\n }\n };\n\n const fireMenuOpenChange = (event: MenuOpenEvent) => {\n const { open, key } = event;\n let _openKeys = openKeys.value;\n if (open) {\n _openKeys = [..._openKeys, key];\n } else {\n _openKeys = _openKeys.filter((x) => x !== key);\n }\n emit('open-change', _openKeys, event);\n openKeys.value = _openKeys;\n emit('update:openKeys', _openKeys);\n };\n // #endregion\n\n watch(\n () => props.selectedKeys,\n (val) => {\n selectedKeys.value = val || [];\n }\n );\n\n watch(\n () => props.openKeys,\n (val) => {\n openKeys.value = val;\n }\n );\n watch(\n () => props.inlineCollapsed,\n (val) => {\n if (val !== undefined) {\n collapsedChange(val);\n }\n }\n );\n\n if (layoutSiderContext && layoutSiderCollapsed) {\n watch(layoutSiderCollapsed, (val) => {\n collapsedChange(val);\n });\n }\n\n // #region provides\n // just children to use it\n provide('parentMenu', {\n isRootMenu: true,\n getPopupContainer: () => {\n if (dropdownContext) {\n return rootMenu.value?.parentNode;\n }\n return document.body;\n }\n });\n // rootMenu's props supply to descendants use\n provide('menuStore', {\n mode: computedMode,\n originalMode: mode,\n selectedKeys,\n openKeys,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls: computedPrefixCls,\n updateKeyPath,\n // inlineIndent,\n inlineCollapsed,\n collapsed\n });\n // descendants trigger rootMenu's events\n provide('menuEvent', {\n fireMenuClick,\n fireMenuDeselect,\n fireMenuSelect,\n fireMenuOpenChange\n });\n // #endregion\n\n const { renderChild } = useWrapDom(props.mode, rootMenu, slots);\n\n return {\n rootMenu,\n computedPrefixCls,\n computedMode,\n layoutSiderCollapsed,\n renderChild\n };\n },\n render() {\n return (\n <ul\n ref=\"rootMenu\"\n role={this.role || 'menu'}\n class={[\n `${this.computedPrefixCls}`,\n `${this.computedPrefixCls}-${this.computedMode}`,\n `${this.computedPrefixCls}-root`,\n {\n [`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed\n }\n ]}\n >\n {this.renderChild()}\n </ul>\n );\n }\n});\n"],"names":["defineComponent","name","components","Render","props","menuProps","emits","menuEmits","setup","emit","slots","dropdownContext","inject","undefined","layoutSiderContext","inDrop","collapsed","layoutSiderCollapsed","prefixCls","statePrefixCls","useGlobalConfig","mode","subMenuOpenDelay","subMenuCloseDelay","inlineCollapsed","toRefs","computedPrefixCls","computed","value","warn","selectedKeys","ref","openKeys","inlineOpenKeys","rootMenu","keypath","computedMode","setInlineMode","collapsedChange","val","setTimeout","updateKeyPath","key","type","push","fireMenuClick","event","info","fireItemClick","selectable","fireMenuDeselect","multiple","_selectedKeys","filter","x","item","fireMenuSelect","fireMenuOpenChange","open","_openKeys","watch","provide","isRootMenu","getPopupContainer","parentNode","document","body","originalMode","rootPrefixCls","renderChild","useWrapDom","render","_createVNode","role"],"mappings":"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"}
|
|
@@ -15,11 +15,6 @@ export declare const menuProps: {
|
|
|
15
15
|
default: string;
|
|
16
16
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
17
17
|
};
|
|
18
|
-
theme: {
|
|
19
|
-
type: PropType<"light" | "dark">;
|
|
20
|
-
default: string;
|
|
21
|
-
validator: (val: "light" | "dark") => boolean;
|
|
22
|
-
};
|
|
23
18
|
selectedKeys: {
|
|
24
19
|
type: PropType<(string | number)[]>;
|
|
25
20
|
validator: (val: any[]) => boolean;
|
|
@@ -67,7 +62,6 @@ export interface ParentMenu {
|
|
|
67
62
|
export interface MenuStore {
|
|
68
63
|
mode: ComputedRef<MenuMode>;
|
|
69
64
|
originalMode: Ref<MenuMode>;
|
|
70
|
-
theme: Ref<MenuTheme>;
|
|
71
65
|
selectedKeys: Ref<(string | number)[]>;
|
|
72
66
|
openKeys: Ref<(string | number)[]>;
|
|
73
67
|
subMenuOpenDelay: Ref<number>;
|
|
@@ -14,11 +14,6 @@ const menuProps = {
|
|
|
14
14
|
default: "vertical",
|
|
15
15
|
validator: propsValidators.oneOf(menuMode)
|
|
16
16
|
},
|
|
17
|
-
theme: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: "light",
|
|
20
|
-
validator: propsValidators.oneOf(menuTheme)
|
|
21
|
-
},
|
|
22
17
|
selectedKeys: {
|
|
23
18
|
type: Array,
|
|
24
19
|
validator: propsValidators.isArrayOf([Number, String])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.type.js","sources":["../../../../src/components/Menu/Menu.type.ts"],"sourcesContent":["import type { Ref, ComputedRef, PropType, ExtractPropTypes } from 'vue';\nimport type { GetPopupContainer, PopupTrigger } from '@uxd-ui/components/Popup/Popup.type';\nimport { isArrayOf, oneOf } from '../../utils/propsValidators';\n\nimport type Menu from './Menu';\n\nimport type MenuItem from './MenuItem.vue';\n\nimport type SubMenu from './SubMenu.vue';\n\nimport type MenuItemGroup from './MenuItemGroup.vue';\n\nimport type MenuDivider from './MenuDivider.vue';\nimport type { ColorType } from '../../utils';\nimport { colorType } from '../../utils';\n\nexport const menuMode = ['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline'] as const;\nexport type MenuMode = (typeof menuMode)[number];\nexport const menuTheme = ['light', 'dark'] as const;\nexport type MenuTheme = (typeof menuTheme)[number];\n\nexport const menuProps = {\n mode: {\n type: String as PropType<MenuMode>,\n default: 'vertical',\n validator: oneOf(menuMode)\n },\n
|
|
1
|
+
{"version":3,"file":"Menu.type.js","sources":["../../../../src/components/Menu/Menu.type.ts"],"sourcesContent":["import type { Ref, ComputedRef, PropType, ExtractPropTypes } from 'vue';\nimport type { GetPopupContainer, PopupTrigger } from '@uxd-ui/components/Popup/Popup.type';\nimport { isArrayOf, oneOf } from '../../utils/propsValidators';\n\nimport type Menu from './Menu';\n\nimport type MenuItem from './MenuItem.vue';\n\nimport type SubMenu from './SubMenu.vue';\n\nimport type MenuItemGroup from './MenuItemGroup.vue';\n\nimport type MenuDivider from './MenuDivider.vue';\nimport type { ColorType } from '../../utils';\nimport { colorType } from '../../utils';\n\nexport const menuMode = ['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline'] as const;\nexport type MenuMode = (typeof menuMode)[number];\nexport const menuTheme = ['light', 'dark'] as const;\nexport type MenuTheme = (typeof menuTheme)[number];\n\nexport const menuProps = {\n mode: {\n type: String as PropType<MenuMode>,\n default: 'vertical',\n validator: oneOf(menuMode)\n },\n selectedKeys: {\n type: Array as PropType<(string | number)[]>,\n validator: isArrayOf([Number, String])\n },\n multiple: {\n type: Boolean,\n default: false\n },\n openKeys: {\n type: Array as PropType<(string | number)[]>,\n default: () => [] as string[]\n },\n subMenuOpenDelay: {\n type: Number,\n default: 0.1\n },\n subMenuCloseDelay: {\n type: Number,\n default: 0.1\n },\n inlineCollapsed: {\n type: Boolean,\n default: undefined as undefined\n },\n // inlineIndent: {\n // type: Number,\n // default: 24\n // },\n prefixCls: {\n type: String\n },\n role: {\n type: String\n },\n selectable: {\n type: Boolean,\n default: undefined as undefined\n }\n};\nexport type MenuProps = ExtractPropTypes<typeof menuProps>;\n\nexport interface ParentMenu {\n isRootMenu: boolean;\n getPopupContainer: GetPopupContainer;\n level?: number;\n setSubMenuSelected?: (key: string | number, value: boolean) => void;\n fireSubmenuClick?: () => void;\n subMode?: ComputedRef<MenuMode>;\n}\n\nexport interface MenuStore {\n mode: ComputedRef<MenuMode>;\n originalMode: Ref<MenuMode>;\n selectedKeys: Ref<(string | number)[]>;\n openKeys: Ref<(string | number)[]>;\n subMenuOpenDelay: Ref<number>;\n subMenuCloseDelay: Ref<number>;\n rootPrefixCls: ComputedRef<string>;\n updateKeyPath: (key: string | number, type: string) => void;\n inlineIndent: Ref<number>;\n inlineCollapsed: Ref<boolean>;\n collapsed: Ref<boolean>;\n}\n\nexport interface MenuItemClickEvent {\n key: string | number;\n item: any;\n}\n\nexport type MenuClickEvent = MenuItemClickEvent & {\n keypath: (string | number)[];\n};\n\nexport interface MenuOpenEvent {\n key: string | number;\n trigger: PopupTrigger & 'Click';\n item: any;\n open: boolean;\n}\n\nexport interface MenuSelectEvent {\n key: string | number;\n item: any;\n selectedKeys: (string | number)[];\n}\n\nexport interface MenuEvent {\n fireMenuClick: (event: MenuItemClickEvent) => void;\n fireMenuDeselect: (event: MenuItemClickEvent) => void;\n fireMenuSelect: (event: MenuItemClickEvent) => void;\n fireMenuOpenChange: (event: MenuOpenEvent) => void;\n}\n\nexport const menuEmits = {\n click: (e: MenuClickEvent) => e.keypath && e.key !== undefined,\n select: (e: MenuSelectEvent) => (typeof e.key === 'string' || typeof e.key === 'number') && Array.isArray(e.selectedKeys),\n deselect: (e: MenuSelectEvent) => (typeof e.key === 'string' || typeof e.key === 'number') && Array.isArray(e.selectedKeys),\n 'update:selectedKeys': (selectedKeys: (string | number)[]) => Array.isArray(selectedKeys),\n 'open-change': (openKeys: (string | number)[], event: MenuOpenEvent) => Array.isArray(openKeys) && event.trigger && typeof event.open === 'boolean',\n 'update:openKeys': (openKeys: (string | number)[]) => Array.isArray(openKeys)\n};\n\nexport type MenuInstanceType = InstanceType<typeof Menu>;\n\nexport const menuItemProps = {\n name: {\n type: [String, Number]\n },\n disabled: {\n type: Boolean,\n default: undefined as undefined\n },\n title: {\n type: String\n },\n color: {\n type: String as PropType<ColorType | undefined>,\n default: undefined as undefined | ColorType,\n validator: oneOf(colorType)\n }\n};\n\nexport type MenuItemProps = ExtractPropTypes<typeof menuItemProps>;\n\nexport const menuItemEmits = {\n click: (e: MenuItemClickEvent) => typeof e.key === 'string' || typeof e.key === 'number'\n};\n\nexport type MenuItemEmits = typeof menuItemEmits;\n\nexport type MenuItemInstanceType = InstanceType<typeof MenuItem>;\n\nexport const subMenuProps = {\n name: {\n type: [String, Number]\n },\n title: {\n type: String\n },\n disabled: {\n type: Boolean,\n default: undefined as undefined\n },\n popupClassName: {\n type: String\n },\n color: {\n type: String as PropType<ColorType | undefined>,\n default: undefined as undefined | ColorType,\n validator: oneOf(colorType)\n }\n};\n\nexport type SubMenuProps = ExtractPropTypes<typeof subMenuProps>;\n\nexport const subMenuEmits = {\n 'title-click': (e: { key: string | number }) => typeof e.key === 'string' || typeof e.key === 'number'\n};\n\nexport type SubMenuEmits = typeof subMenuEmits;\n\nexport type SubMenuInstanceType = InstanceType<typeof SubMenu>;\n\nexport const menuItemGroupProps = {\n title: {\n type: String\n }\n};\n\nexport type MenuItemGroupProps = ExtractPropTypes<typeof menuItemGroupProps>;\n\nexport type MenuItemGroupInstanceType = InstanceType<typeof MenuItemGroup>;\n\nexport type MenuDividerInstanceType = InstanceType<typeof MenuDivider>;\n"],"names":["oneOf","isArrayOf","colorType"],"mappings":";;;;;;;;MAgBa,WAAW,CAAC,cAAc,YAAY,iBAAiB,kBAAkB,QAAQ;MAEjF,YAAY,CAAC,SAAS,MAAM;MAG5B,YAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAWA,sBAAM,QAAQ;AAAA;AAC3B,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,WAAWC,0BAAU,CAAC,QAAQ,MAAM,CAAC;AAAA;AACvC,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,MAAM;AAAC;AAClB,EACA,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EAKA,WAAW;AAAA,IACT,MAAM;AAAA;AACR,EACA,MAAM;AAAA,IACJ,MAAM;AAAA;AACR,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AAEb;MAuDa,YAAY;AAAA,EACvB,OAAO,CAAC,MAAsB,EAAE,WAAW,EAAE,QAAQ;AAAA,EACrD,QAAQ,CAAC,OAAwB,OAAO,EAAE,QAAQ,YAAY,OAAO,EAAE,QAAQ,aAAa,MAAM,QAAQ,EAAE,YAAY;AAAA,EACxH,UAAU,CAAC,OAAwB,OAAO,EAAE,QAAQ,YAAY,OAAO,EAAE,QAAQ,aAAa,MAAM,QAAQ,EAAE,YAAY;AAAA,EAC1H,uBAAuB,CAAC,iBAAsC,MAAM,QAAQ,YAAY;AAAA,EACxF,eAAe,CAAC,UAA+B,UAAyB,MAAM,QAAQ,QAAQ,KAAK,MAAM,WAAW,OAAO,MAAM,SAAS;AAAA,EAC1I,mBAAmB,CAAC,aAAkC,MAAM,QAAQ,QAAQ;AAC9E;MAIa,gBAAgB;AAAA,EAC3B,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA;AACvB,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,OAAO;AAAA,IACL,MAAM;AAAA;AACR,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAWD,sBAAME,oBAAS;AAAA;AAE9B;MAIa,gBAAgB;AAAA,EAC3B,OAAO,CAAC,MAA0B,OAAO,EAAE,QAAQ,YAAY,OAAO,EAAE,QAAQ;AAClF;MAMa,eAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA;AACvB,EACA,OAAO;AAAA,IACL,MAAM;AAAA;AACR,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA;AACR,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAWF,sBAAME,oBAAS;AAAA;AAE9B;MAIa,eAAe;AAAA,EAC1B,eAAe,CAAC,MAAgC,OAAO,EAAE,QAAQ,YAAY,OAAO,EAAE,QAAQ;AAChG;MAMa,qBAAqB;AAAA,EAChC,OAAO;AAAA,IACL,MAAM;AAAA;AAEV;;;;;;;;;;;;"}
|
|
@@ -31,7 +31,6 @@ const _sfc_main = vue.defineComponent({
|
|
|
31
31
|
const {
|
|
32
32
|
openKeys,
|
|
33
33
|
mode: menuMode,
|
|
34
|
-
theme,
|
|
35
34
|
subMenuOpenDelay,
|
|
36
35
|
subMenuCloseDelay,
|
|
37
36
|
rootPrefixCls,
|
|
@@ -132,7 +131,6 @@ const _sfc_main = vue.defineComponent({
|
|
|
132
131
|
titleStyle,
|
|
133
132
|
mode,
|
|
134
133
|
subMode,
|
|
135
|
-
theme,
|
|
136
134
|
isOpen,
|
|
137
135
|
isSelected,
|
|
138
136
|
menuId,
|
|
@@ -211,7 +209,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
211
209
|
key: 1,
|
|
212
210
|
"aria-owns": _ctx.menuId,
|
|
213
211
|
"aria-haspopup": "true",
|
|
214
|
-
"popup-class": `${_ctx.prefixCls}-popup
|
|
212
|
+
"popup-class": `${_ctx.prefixCls}-popup ${_ctx.popupClassName || ""}`,
|
|
215
213
|
prefix: _ctx.prefixCls,
|
|
216
214
|
placement: _ctx.popupPlacement,
|
|
217
215
|
offset: _ctx.popupOffset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu.js","sources":["../../../../src/components/Menu/SubMenu.vue"],"sourcesContent":["<template>\n <li\n role=\"menuitem\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${mode}`,\n {\n [`${prefixCls}-open`]: isOpen,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-selected`]: isSelected\n }\n ]\"\n >\n <template v-if=\"mode === 'inline'\">\n <div :class=\"[`${prefixCls}-title`]\" :style=\"titleStyle\" :aria-expanded=\"isOpen\" :aria-owns=\"menuId\" aria-haspopup=\"true\" @click=\"onTitleClick\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <UIcon :class=\"`${prefixCls}-arrow`\">\n <ChevronDown />\n </UIcon>\n </div>\n <!-- <transition name=\"slide-up\"> -->\n <CollapseTransition appear>\n <ul\n v-show=\"isOpen\"\n :id=\"menuId\"\n class=\"collapse-transition\"\n :class=\"[rootPrefixCls, `${rootPrefixCls}-${mode}`, `${rootPrefixCls}-sub`]\"\n :style=\"subMenuStyle\"\n >\n <slot />\n </ul>\n </CollapseTransition>\n <!-- </transition> -->\n </template>\n <template v-else>\n <Popup\n :aria-owns=\"menuId\"\n aria-haspopup=\"true\"\n :popup-class=\"`${prefixCls}-popup ${rootPrefixCls}-${theme} ${popupClassName || ''}`\"\n :prefix=\"prefixCls\"\n :placement=\"popupPlacement\"\n :offset=\"popupOffset\"\n :trigger=\"disabled ? [] : trigger\"\n :mouse-enter-delay=\"subMenuOpenDelay\"\n :mouse-leave-delay=\"subMenuCloseDelay\"\n :transition-name=\"mode === 'horizontal' ? 'slide-up' : 'zoom-big'\"\n :get-popup-container=\"getPopupContainer\"\n @popup-visible-change=\"onPopupVisibleChange\"\n @click=\"onTitleClick\"\n >\n <div\n :class=\"{\n [`${prefixCls}-title`]: true,\n [`${prefixCls}-title-disabled`]: disabled\n }\"\n :data-color=\"color\"\n :aria-owns=\"menuId\"\n aria-haspopup=\"true\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n <UIcon :class=\"`${prefixCls}-arrow`\">\n <ChevronRight />\n </UIcon>\n </div>\n\n <template #popup>\n <ul :id=\"menuId\" :class=\"[rootPrefixCls, `${rootPrefixCls}-${subMode}`, `${rootPrefixCls}-sub`]\">\n <slot />\n </ul>\n </template>\n </Popup>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, inject, computed, reactive } from 'vue';\nimport Popup from '@uxd-ui/components/Popup';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { ChevronDown, ChevronRight } from 'lucide-vue-next';\nimport warn from '../../utils/warn';\nimport useGetTriggerProps from './hooks/useGetTriggerProps';\nimport { isFunction } from '../../utils/isValid';\nimport CollapseTransition from '../base/CollapseTransition';\nimport { subMenuProps, subMenuEmits, type MenuEvent, type MenuStore, type MenuOpenEvent, type ParentMenu } from './Menu.type';\nimport type { GetPopupContainer } from '../Popup/Popup.type';\n\nlet guid = -1;\n\nexport default defineComponent({\n name: 'USubMenu',\n components: {\n Popup,\n UIcon,\n ChevronDown,\n ChevronRight,\n CollapseTransition\n },\n props: subMenuProps,\n emits: subMenuEmits,\n setup(props, { emit }) {\n const parentMenu = inject<ParentMenu>('parentMenu', {} as ParentMenu);\n const {\n openKeys,\n mode: menuMode,\n theme,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls,\n updateKeyPath\n // inlineIndent\n } = inject<MenuStore>('menuStore', {} as MenuStore);\n const childrenSelected: Record<string, boolean> = reactive({});\n\n if (menuMode === undefined) {\n warn('cannot find menu parent Component ,OR! the menu mode is error');\n }\n const { fireMenuOpenChange } = inject<MenuEvent>('menuEvent', {} as MenuEvent);\n const prefixCls = computed(() => `${rootPrefixCls.value}-submenu`);\n guid += 1;\n const menuId = computed(() => (props.name ? `${props.name}$Menu` : `${guid}$Menu`));\n\n const level = parentMenu.isRootMenu ? 1 : (parentMenu.level || 0) + 1;\n\n // #region computed\n const mode = computed(() => {\n return (parentMenu.subMode || menuMode).value;\n });\n const subMode = computed(() => {\n if (parentMenu.subMode) {\n // fix useGetTriggerProps\n return parentMenu.subMode.value;\n }\n return mode.value === 'horizontal' ? 'vertical' : mode.value;\n });\n\n const subMenuStyle = computed(() => {\n return `--menu-level: ${level};`;\n });\n\n const eventKey = computed(() => {\n if (props.name) {\n return props.name;\n }\n return menuId.value;\n });\n\n const isOpen = computed(() => {\n return openKeys.value.includes(eventKey.value);\n });\n\n const isClickOpen = computed(() => {\n return mode.value === 'inline';\n });\n const titleStyle = computed(() => {\n if (mode.value === 'inline') {\n return {\n // paddingLeft: `${inlineIndent.value * level}px`\n };\n }\n return {};\n });\n const isSelected = computed(() => {\n const selected = Object.keys(childrenSelected).some((key) => childrenSelected[key]);\n if (parentMenu.setSubMenuSelected) {\n parentMenu.setSubMenuSelected(eventKey.value, selected);\n }\n return selected;\n });\n // #endregion\n const { popupPlacement, popupOffset, trigger } = useGetTriggerProps(mode);\n\n // #region methods\n const setSubMenuSelected = (key: string | number, value: boolean) => {\n childrenSelected[`${key}`] = value;\n };\n\n const getPopupContainer: GetPopupContainer = parentMenu.isRootMenu\n ? () => parentMenu.getPopupContainer()\n : (node?: HTMLElement) => {\n return (node?.parentNode as HTMLElement) || undefined;\n };\n\n const triggerOpenChange = (open: boolean, type: string) => {\n const _event = {\n key: eventKey.value,\n trigger: type,\n item: {},\n open\n } as MenuOpenEvent;\n fireMenuOpenChange && isFunction(fireMenuOpenChange) && fireMenuOpenChange(_event);\n };\n\n const onTitleClick = () => {\n const _event = {\n key: eventKey.value\n };\n emit('title-click', _event);\n if (isClickOpen.value) {\n triggerOpenChange(!isOpen.value, 'click');\n }\n };\n\n const onPopupVisibleChange = (visible: boolean) => {\n triggerOpenChange(visible, trigger.value[0]);\n };\n\n const fireSubmenuClick = () => {\n const key = eventKey.value;\n updateKeyPath && isFunction(updateKeyPath) && updateKeyPath(key, 'sub');\n if (parentMenu.fireSubmenuClick && isFunction(parentMenu.fireSubmenuClick)) {\n parentMenu.fireSubmenuClick();\n }\n };\n // #endregion\n\n provide('parentMenu', {\n isRootMenu: false,\n isSubMenu: true,\n fireSubmenuClick,\n setSubMenuSelected,\n level,\n subMode\n });\n\n return {\n prefixCls,\n rootPrefixCls,\n titleStyle,\n mode,\n subMode,\n theme,\n isOpen,\n isSelected,\n menuId,\n popupPlacement,\n popupOffset,\n trigger,\n subMenuOpenDelay,\n subMenuCloseDelay,\n subMenuStyle,\n getPopupContainer,\n onTitleClick,\n onPopupVisibleChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","Popup","UIcon","ChevronDown","ChevronRight","CollapseTransition","subMenuProps","subMenuEmits","inject","reactive","computed","useGetTriggerProps","isFunction","_createElementBlock","_normalizeClass","_Fragment","_createElementVNode","_normalizeStyle","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SubMenu.js","sources":["../../../../src/components/Menu/SubMenu.vue"],"sourcesContent":["<template>\n <li\n role=\"menuitem\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${mode}`,\n {\n [`${prefixCls}-open`]: isOpen,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-selected`]: isSelected\n }\n ]\"\n >\n <template v-if=\"mode === 'inline'\">\n <div :class=\"[`${prefixCls}-title`]\" :style=\"titleStyle\" :aria-expanded=\"isOpen\" :aria-owns=\"menuId\" aria-haspopup=\"true\" @click=\"onTitleClick\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n <UIcon :class=\"`${prefixCls}-arrow`\">\n <ChevronDown />\n </UIcon>\n </div>\n <!-- <transition name=\"slide-up\"> -->\n <CollapseTransition appear>\n <ul\n v-show=\"isOpen\"\n :id=\"menuId\"\n class=\"collapse-transition\"\n :class=\"[rootPrefixCls, `${rootPrefixCls}-${mode}`, `${rootPrefixCls}-sub`]\"\n :style=\"subMenuStyle\"\n >\n <slot />\n </ul>\n </CollapseTransition>\n <!-- </transition> -->\n </template>\n <template v-else>\n <Popup\n :aria-owns=\"menuId\"\n aria-haspopup=\"true\"\n :popup-class=\"`${prefixCls}-popup ${popupClassName || ''}`\"\n :prefix=\"prefixCls\"\n :placement=\"popupPlacement\"\n :offset=\"popupOffset\"\n :trigger=\"disabled ? [] : trigger\"\n :mouse-enter-delay=\"subMenuOpenDelay\"\n :mouse-leave-delay=\"subMenuCloseDelay\"\n :transition-name=\"mode === 'horizontal' ? 'slide-up' : 'zoom-big'\"\n :get-popup-container=\"getPopupContainer\"\n @popup-visible-change=\"onPopupVisibleChange\"\n @click=\"onTitleClick\"\n >\n <div\n :class=\"{\n [`${prefixCls}-title`]: true,\n [`${prefixCls}-title-disabled`]: disabled\n }\"\n :data-color=\"color\"\n :aria-owns=\"menuId\"\n aria-haspopup=\"true\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n <UIcon :class=\"`${prefixCls}-arrow`\">\n <ChevronRight />\n </UIcon>\n </div>\n\n <template #popup>\n <ul :id=\"menuId\" :class=\"[rootPrefixCls, `${rootPrefixCls}-${subMode}`, `${rootPrefixCls}-sub`]\">\n <slot />\n </ul>\n </template>\n </Popup>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, inject, computed, reactive } from 'vue';\nimport Popup from '@uxd-ui/components/Popup';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { ChevronDown, ChevronRight } from 'lucide-vue-next';\nimport warn from '../../utils/warn';\nimport useGetTriggerProps from './hooks/useGetTriggerProps';\nimport { isFunction } from '../../utils/isValid';\nimport CollapseTransition from '../base/CollapseTransition';\nimport { subMenuProps, subMenuEmits, type MenuEvent, type MenuStore, type MenuOpenEvent, type ParentMenu } from './Menu.type';\nimport type { GetPopupContainer } from '../Popup/Popup.type';\n\nlet guid = -1;\n\nexport default defineComponent({\n name: 'USubMenu',\n components: {\n Popup,\n UIcon,\n ChevronDown,\n ChevronRight,\n CollapseTransition\n },\n props: subMenuProps,\n emits: subMenuEmits,\n setup(props, { emit }) {\n const parentMenu = inject<ParentMenu>('parentMenu', {} as ParentMenu);\n const {\n openKeys,\n mode: menuMode,\n subMenuOpenDelay,\n subMenuCloseDelay,\n rootPrefixCls,\n updateKeyPath\n // inlineIndent\n } = inject<MenuStore>('menuStore', {} as MenuStore);\n const childrenSelected: Record<string, boolean> = reactive({});\n\n if (menuMode === undefined) {\n warn('cannot find menu parent Component ,OR! the menu mode is error');\n }\n const { fireMenuOpenChange } = inject<MenuEvent>('menuEvent', {} as MenuEvent);\n const prefixCls = computed(() => `${rootPrefixCls.value}-submenu`);\n guid += 1;\n const menuId = computed(() => (props.name ? `${props.name}$Menu` : `${guid}$Menu`));\n\n const level = parentMenu.isRootMenu ? 1 : (parentMenu.level || 0) + 1;\n\n // #region computed\n const mode = computed(() => {\n return (parentMenu.subMode || menuMode).value;\n });\n const subMode = computed(() => {\n if (parentMenu.subMode) {\n // fix useGetTriggerProps\n return parentMenu.subMode.value;\n }\n return mode.value === 'horizontal' ? 'vertical' : mode.value;\n });\n\n const subMenuStyle = computed(() => {\n return `--menu-level: ${level};`;\n });\n\n const eventKey = computed(() => {\n if (props.name) {\n return props.name;\n }\n return menuId.value;\n });\n\n const isOpen = computed(() => {\n return openKeys.value.includes(eventKey.value);\n });\n\n const isClickOpen = computed(() => {\n return mode.value === 'inline';\n });\n const titleStyle = computed(() => {\n if (mode.value === 'inline') {\n return {\n // paddingLeft: `${inlineIndent.value * level}px`\n };\n }\n return {};\n });\n const isSelected = computed(() => {\n const selected = Object.keys(childrenSelected).some((key) => childrenSelected[key]);\n if (parentMenu.setSubMenuSelected) {\n parentMenu.setSubMenuSelected(eventKey.value, selected);\n }\n return selected;\n });\n // #endregion\n const { popupPlacement, popupOffset, trigger } = useGetTriggerProps(mode);\n\n // #region methods\n const setSubMenuSelected = (key: string | number, value: boolean) => {\n childrenSelected[`${key}`] = value;\n };\n\n const getPopupContainer: GetPopupContainer = parentMenu.isRootMenu\n ? () => parentMenu.getPopupContainer()\n : (node?: HTMLElement) => {\n return (node?.parentNode as HTMLElement) || undefined;\n };\n\n const triggerOpenChange = (open: boolean, type: string) => {\n const _event = {\n key: eventKey.value,\n trigger: type,\n item: {},\n open\n } as MenuOpenEvent;\n fireMenuOpenChange && isFunction(fireMenuOpenChange) && fireMenuOpenChange(_event);\n };\n\n const onTitleClick = () => {\n const _event = {\n key: eventKey.value\n };\n emit('title-click', _event);\n if (isClickOpen.value) {\n triggerOpenChange(!isOpen.value, 'click');\n }\n };\n\n const onPopupVisibleChange = (visible: boolean) => {\n triggerOpenChange(visible, trigger.value[0]);\n };\n\n const fireSubmenuClick = () => {\n const key = eventKey.value;\n updateKeyPath && isFunction(updateKeyPath) && updateKeyPath(key, 'sub');\n if (parentMenu.fireSubmenuClick && isFunction(parentMenu.fireSubmenuClick)) {\n parentMenu.fireSubmenuClick();\n }\n };\n // #endregion\n\n provide('parentMenu', {\n isRootMenu: false,\n isSubMenu: true,\n fireSubmenuClick,\n setSubMenuSelected,\n level,\n subMode\n });\n\n return {\n prefixCls,\n rootPrefixCls,\n titleStyle,\n mode,\n subMode,\n isOpen,\n isSelected,\n menuId,\n popupPlacement,\n popupOffset,\n trigger,\n subMenuOpenDelay,\n subMenuCloseDelay,\n subMenuStyle,\n getPopupContainer,\n onTitleClick,\n onPopupVisibleChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","Popup","UIcon","ChevronDown","ChevronRight","CollapseTransition","subMenuProps","subMenuEmits","inject","reactive","computed","useGetTriggerProps","isFunction","_createElementBlock","_normalizeClass","_Fragment","_createElementVNode","_normalizeStyle","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_withCtx"],"mappings":"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"}
|
|
@@ -24,7 +24,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
24
24
|
titleStyle: import("vue").ComputedRef<{}>;
|
|
25
25
|
mode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
26
26
|
subMode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
27
|
-
theme: import("vue").Ref<"light" | "dark", "light" | "dark">;
|
|
28
27
|
isOpen: import("vue").ComputedRef<boolean>;
|
|
29
28
|
isSelected: import("vue").ComputedRef<boolean>;
|
|
30
29
|
menuId: import("vue").ComputedRef<string>;
|
|
@@ -9,11 +9,6 @@ export declare const UMenu: {
|
|
|
9
9
|
default: string;
|
|
10
10
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
11
11
|
};
|
|
12
|
-
theme: {
|
|
13
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
14
|
-
default: string;
|
|
15
|
-
validator: (val: "light" | "dark") => boolean;
|
|
16
|
-
};
|
|
17
12
|
selectedKeys: {
|
|
18
13
|
type: import("vue").PropType<(string | number)[]>;
|
|
19
14
|
validator: (val: any[]) => boolean;
|
|
@@ -71,7 +66,6 @@ export declare const UMenu: {
|
|
|
71
66
|
}, import("vue").PublicProps, {
|
|
72
67
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
73
68
|
multiple: boolean;
|
|
74
|
-
theme: "light" | "dark";
|
|
75
69
|
openKeys: (string | number)[];
|
|
76
70
|
subMenuOpenDelay: number;
|
|
77
71
|
subMenuCloseDelay: number;
|
|
@@ -99,11 +93,6 @@ export declare const UMenu: {
|
|
|
99
93
|
default: string;
|
|
100
94
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
101
95
|
};
|
|
102
|
-
theme: {
|
|
103
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
104
|
-
default: string;
|
|
105
|
-
validator: (val: "light" | "dark") => boolean;
|
|
106
|
-
};
|
|
107
96
|
selectedKeys: {
|
|
108
97
|
type: import("vue").PropType<(string | number)[]>;
|
|
109
98
|
validator: (val: any[]) => boolean;
|
|
@@ -154,7 +143,6 @@ export declare const UMenu: {
|
|
|
154
143
|
}, {}, {}, {}, {
|
|
155
144
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
156
145
|
multiple: boolean;
|
|
157
|
-
theme: "light" | "dark";
|
|
158
146
|
openKeys: (string | number)[];
|
|
159
147
|
subMenuOpenDelay: number;
|
|
160
148
|
subMenuCloseDelay: number;
|
|
@@ -170,11 +158,6 @@ export declare const UMenu: {
|
|
|
170
158
|
default: string;
|
|
171
159
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
172
160
|
};
|
|
173
|
-
theme: {
|
|
174
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
175
|
-
default: string;
|
|
176
|
-
validator: (val: "light" | "dark") => boolean;
|
|
177
|
-
};
|
|
178
161
|
selectedKeys: {
|
|
179
162
|
type: import("vue").PropType<(string | number)[]>;
|
|
180
163
|
validator: (val: any[]) => boolean;
|
|
@@ -232,7 +215,6 @@ export declare const UMenu: {
|
|
|
232
215
|
}, string, {
|
|
233
216
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
234
217
|
multiple: boolean;
|
|
235
|
-
theme: "light" | "dark";
|
|
236
218
|
openKeys: (string | number)[];
|
|
237
219
|
subMenuOpenDelay: number;
|
|
238
220
|
subMenuCloseDelay: number;
|
|
@@ -1025,7 +1007,6 @@ export declare const UMenu: {
|
|
|
1025
1007
|
titleStyle: import("vue").ComputedRef<{}>;
|
|
1026
1008
|
mode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1027
1009
|
subMode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1028
|
-
theme: import("vue").Ref<"light" | "dark", "light" | "dark">;
|
|
1029
1010
|
isOpen: import("vue").ComputedRef<boolean>;
|
|
1030
1011
|
isSelected: import("vue").ComputedRef<boolean>;
|
|
1031
1012
|
menuId: import("vue").ComputedRef<string>;
|
|
@@ -905,11 +905,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
905
905
|
default: string;
|
|
906
906
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
907
907
|
};
|
|
908
|
-
theme: {
|
|
909
|
-
type: PropType<"light" | "dark">;
|
|
910
|
-
default: string;
|
|
911
|
-
validator: (val: "light" | "dark") => boolean;
|
|
912
|
-
};
|
|
913
908
|
selectedKeys: {
|
|
914
909
|
type: PropType<(string | number)[]>;
|
|
915
910
|
validator: (val: any[]) => boolean;
|
|
@@ -967,7 +962,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
967
962
|
}, import("vue").PublicProps, {
|
|
968
963
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
969
964
|
multiple: boolean;
|
|
970
|
-
theme: "light" | "dark";
|
|
971
965
|
openKeys: (string | number)[];
|
|
972
966
|
subMenuOpenDelay: number;
|
|
973
967
|
subMenuCloseDelay: number;
|
|
@@ -995,11 +989,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
995
989
|
default: string;
|
|
996
990
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
997
991
|
};
|
|
998
|
-
theme: {
|
|
999
|
-
type: PropType<"light" | "dark">;
|
|
1000
|
-
default: string;
|
|
1001
|
-
validator: (val: "light" | "dark") => boolean;
|
|
1002
|
-
};
|
|
1003
992
|
selectedKeys: {
|
|
1004
993
|
type: PropType<(string | number)[]>;
|
|
1005
994
|
validator: (val: any[]) => boolean;
|
|
@@ -1050,7 +1039,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1050
1039
|
}, {}, {}, {}, {
|
|
1051
1040
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
1052
1041
|
multiple: boolean;
|
|
1053
|
-
theme: "light" | "dark";
|
|
1054
1042
|
openKeys: (string | number)[];
|
|
1055
1043
|
subMenuOpenDelay: number;
|
|
1056
1044
|
subMenuCloseDelay: number;
|
|
@@ -1066,11 +1054,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1066
1054
|
default: string;
|
|
1067
1055
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
1068
1056
|
};
|
|
1069
|
-
theme: {
|
|
1070
|
-
type: PropType<"light" | "dark">;
|
|
1071
|
-
default: string;
|
|
1072
|
-
validator: (val: "light" | "dark") => boolean;
|
|
1073
|
-
};
|
|
1074
1057
|
selectedKeys: {
|
|
1075
1058
|
type: PropType<(string | number)[]>;
|
|
1076
1059
|
validator: (val: any[]) => boolean;
|
|
@@ -1128,7 +1111,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1128
1111
|
}, string, {
|
|
1129
1112
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
1130
1113
|
multiple: boolean;
|
|
1131
|
-
theme: "light" | "dark";
|
|
1132
1114
|
openKeys: (string | number)[];
|
|
1133
1115
|
subMenuOpenDelay: number;
|
|
1134
1116
|
subMenuCloseDelay: number;
|
|
@@ -1921,7 +1903,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1921
1903
|
titleStyle: import("vue").ComputedRef<{}>;
|
|
1922
1904
|
mode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1923
1905
|
subMode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1924
|
-
theme: import("vue").Ref<"light" | "dark", "light" | "dark">;
|
|
1925
1906
|
isOpen: import("vue").ComputedRef<boolean>;
|
|
1926
1907
|
isSelected: import("vue").ComputedRef<boolean>;
|
|
1927
1908
|
menuId: import("vue").ComputedRef<string>;
|
|
@@ -924,11 +924,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
924
924
|
default: string;
|
|
925
925
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
926
926
|
};
|
|
927
|
-
theme: {
|
|
928
|
-
type: PropType<"light" | "dark">;
|
|
929
|
-
default: string;
|
|
930
|
-
validator: (val: "light" | "dark") => boolean;
|
|
931
|
-
};
|
|
932
927
|
selectedKeys: {
|
|
933
928
|
type: PropType<(string | number)[]>;
|
|
934
929
|
validator: (val: any[]) => boolean;
|
|
@@ -986,7 +981,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
986
981
|
}, import("vue").PublicProps, {
|
|
987
982
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
988
983
|
multiple: boolean;
|
|
989
|
-
theme: "light" | "dark";
|
|
990
984
|
openKeys: (string | number)[];
|
|
991
985
|
subMenuOpenDelay: number;
|
|
992
986
|
subMenuCloseDelay: number;
|
|
@@ -1014,11 +1008,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1014
1008
|
default: string;
|
|
1015
1009
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
1016
1010
|
};
|
|
1017
|
-
theme: {
|
|
1018
|
-
type: PropType<"light" | "dark">;
|
|
1019
|
-
default: string;
|
|
1020
|
-
validator: (val: "light" | "dark") => boolean;
|
|
1021
|
-
};
|
|
1022
1011
|
selectedKeys: {
|
|
1023
1012
|
type: PropType<(string | number)[]>;
|
|
1024
1013
|
validator: (val: any[]) => boolean;
|
|
@@ -1069,7 +1058,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1069
1058
|
}, {}, {}, {}, {
|
|
1070
1059
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
1071
1060
|
multiple: boolean;
|
|
1072
|
-
theme: "light" | "dark";
|
|
1073
1061
|
openKeys: (string | number)[];
|
|
1074
1062
|
subMenuOpenDelay: number;
|
|
1075
1063
|
subMenuCloseDelay: number;
|
|
@@ -1085,11 +1073,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1085
1073
|
default: string;
|
|
1086
1074
|
validator: (val: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right") => boolean;
|
|
1087
1075
|
};
|
|
1088
|
-
theme: {
|
|
1089
|
-
type: PropType<"light" | "dark">;
|
|
1090
|
-
default: string;
|
|
1091
|
-
validator: (val: "light" | "dark") => boolean;
|
|
1092
|
-
};
|
|
1093
1076
|
selectedKeys: {
|
|
1094
1077
|
type: PropType<(string | number)[]>;
|
|
1095
1078
|
validator: (val: any[]) => boolean;
|
|
@@ -1147,7 +1130,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1147
1130
|
}, string, {
|
|
1148
1131
|
mode: "inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right";
|
|
1149
1132
|
multiple: boolean;
|
|
1150
|
-
theme: "light" | "dark";
|
|
1151
1133
|
openKeys: (string | number)[];
|
|
1152
1134
|
subMenuOpenDelay: number;
|
|
1153
1135
|
subMenuCloseDelay: number;
|
|
@@ -1940,7 +1922,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1940
1922
|
titleStyle: import("vue").ComputedRef<{}>;
|
|
1941
1923
|
mode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1942
1924
|
subMode: import("vue").ComputedRef<"inline" | "vertical" | "horizontal" | "vertical-left" | "vertical-right">;
|
|
1943
|
-
theme: import("vue").Ref<"light" | "dark", "light" | "dark">;
|
|
1944
1925
|
isOpen: import("vue").ComputedRef<boolean>;
|
|
1945
1926
|
isSelected: import("vue").ComputedRef<boolean>;
|
|
1946
1927
|
menuId: import("vue").ComputedRef<string>;
|