@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, inject, ref, watch, onMounted, nextTick, onUnmounted, computed, toRefs, provide, resolveComponent, openBlock, createElementBlock, normalizeStyle, normalizeClass, createVNode, withCtx, createBlock, createCommentVNode, createElementVNode, renderSlot, resolveDynamicComponent } from 'vue';
|
|
2
|
-
import { PanelLeft } from 'lucide-vue-next';
|
|
2
|
+
import { PanelLeft, PanelRight, ChevronLeft, ChevronRight } from 'lucide-vue-next';
|
|
3
3
|
import { UIcon } from '../Icon/index.mjs';
|
|
4
4
|
import useGlobalConfig from '../base/hooks/useGlobalConfig.mjs';
|
|
5
5
|
import { breakpointMap } from '../../utils/responsiveObserve.mjs';
|
|
@@ -19,7 +19,10 @@ const _sfc_main = defineComponent({
|
|
|
19
19
|
name: "USider",
|
|
20
20
|
components: {
|
|
21
21
|
UIcon,
|
|
22
|
-
PanelLeft
|
|
22
|
+
PanelLeft,
|
|
23
|
+
PanelRight,
|
|
24
|
+
ChevronLeft,
|
|
25
|
+
ChevronRight
|
|
23
26
|
},
|
|
24
27
|
props: siderProps,
|
|
25
28
|
emits: siderEmits,
|
|
@@ -46,7 +49,6 @@ const _sfc_main = defineComponent({
|
|
|
46
49
|
const isBreakpoint = ref(false);
|
|
47
50
|
let mql;
|
|
48
51
|
const responsiveHandler = ({ matches }) => {
|
|
49
|
-
emit("breakpoint", matches);
|
|
50
52
|
isBreakpoint.value = matches;
|
|
51
53
|
if (matches !== stateCollapse.value) {
|
|
52
54
|
setCollapsed(matches, "responsive");
|
|
@@ -54,7 +56,7 @@ const _sfc_main = defineComponent({
|
|
|
54
56
|
};
|
|
55
57
|
onMounted(() => {
|
|
56
58
|
nextTick(() => {
|
|
57
|
-
if (typeof window
|
|
59
|
+
if (typeof window !== "undefined") {
|
|
58
60
|
if (!!matchMedia && props.breakpoint) {
|
|
59
61
|
mql = matchMedia(breakpointMap[props.breakpoint]);
|
|
60
62
|
}
|
|
@@ -63,7 +65,9 @@ const _sfc_main = defineComponent({
|
|
|
63
65
|
} catch (error) {
|
|
64
66
|
mql == null ? void 0 : mql.addListener(responsiveHandler);
|
|
65
67
|
}
|
|
66
|
-
|
|
68
|
+
if (mql) {
|
|
69
|
+
responsiveHandler(mql);
|
|
70
|
+
}
|
|
67
71
|
}
|
|
68
72
|
if (siderHook.attachSider) {
|
|
69
73
|
siderHook.attachSider(uniqueId);
|
|
@@ -85,12 +89,12 @@ const _sfc_main = defineComponent({
|
|
|
85
89
|
const siderWidth = computed(() => {
|
|
86
90
|
let ret = getPixer(props.width);
|
|
87
91
|
if (stateCollapse.value) {
|
|
88
|
-
ret = getPixer(props.
|
|
92
|
+
ret = getPixer(props.collapsedWidth);
|
|
89
93
|
}
|
|
90
94
|
return ret;
|
|
91
95
|
});
|
|
92
96
|
const isZeroCollapse = computed(() => {
|
|
93
|
-
return parseFloat(String(props.
|
|
97
|
+
return parseFloat(String(props.collapsedWidth)) === 0 || props.zeroTrigger;
|
|
94
98
|
});
|
|
95
99
|
const showZeroTrigger = computed(() => {
|
|
96
100
|
return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && isZeroCollapse.value;
|
|
@@ -102,16 +106,16 @@ const _sfc_main = defineComponent({
|
|
|
102
106
|
if (props.triggerIcon) {
|
|
103
107
|
return props.triggerIcon;
|
|
104
108
|
}
|
|
105
|
-
return props.
|
|
109
|
+
return props.isRight ? PanelLeft : PanelRight;
|
|
106
110
|
});
|
|
107
111
|
const handleToggle = () => {
|
|
108
112
|
const collapsed = !stateCollapse.value;
|
|
109
113
|
setCollapsed(collapsed, "triggerClick");
|
|
110
114
|
};
|
|
111
|
-
const {
|
|
115
|
+
const { collapsedWidth } = toRefs(props);
|
|
112
116
|
provide("layoutSiderContext", {
|
|
113
117
|
collapsed: stateCollapse,
|
|
114
|
-
|
|
118
|
+
collapsedWidth
|
|
115
119
|
});
|
|
116
120
|
return {
|
|
117
121
|
prefixCls,
|
|
@@ -127,7 +131,8 @@ const _sfc_main = defineComponent({
|
|
|
127
131
|
});
|
|
128
132
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
129
133
|
var _a;
|
|
130
|
-
const
|
|
134
|
+
const _component_ChevronRight = resolveComponent("ChevronRight");
|
|
135
|
+
const _component_ChevronLeft = resolveComponent("ChevronLeft");
|
|
131
136
|
const _component_UIcon = resolveComponent("UIcon");
|
|
132
137
|
return openBlock(), createElementBlock("aside", {
|
|
133
138
|
style: normalizeStyle({
|
|
@@ -139,8 +144,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
139
144
|
}),
|
|
140
145
|
class: normalizeClass([
|
|
141
146
|
_ctx.prefixCls,
|
|
142
|
-
`${_ctx.prefixCls}-${_ctx.
|
|
143
|
-
`${_ctx.prefixCls}-${_ctx.reverseArrow ? "right" : "left"}`,
|
|
147
|
+
`${_ctx.prefixCls}-${_ctx.isRight ? "right" : "left"}`,
|
|
144
148
|
{
|
|
145
149
|
[`${_ctx.prefixCls}-collapsed`]: !!_ctx.stateCollapse,
|
|
146
150
|
[`${_ctx.prefixCls}-has-trigger`]: _ctx.collapsible && !_ctx.hideTrigger && !_ctx.isZeroCollapse,
|
|
@@ -150,12 +154,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
150
154
|
}, [
|
|
151
155
|
_ctx.showZeroTrigger ? (openBlock(), createElementBlock("span", {
|
|
152
156
|
key: 0,
|
|
153
|
-
class: normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.
|
|
157
|
+
class: normalizeClass([`${_ctx.prefixCls}-zero-trigger`, `${_ctx.prefixCls}-zero-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
154
158
|
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
155
159
|
}, [
|
|
156
160
|
createVNode(_component_UIcon, null, {
|
|
157
161
|
default: withCtx(() => [
|
|
158
|
-
_ctx.
|
|
162
|
+
_ctx.isRight ? (openBlock(), createBlock(_component_ChevronRight, { key: 0 })) : (openBlock(), createBlock(_component_ChevronLeft, { key: 1 }))
|
|
159
163
|
]),
|
|
160
164
|
_: 1
|
|
161
165
|
})
|
|
@@ -170,7 +174,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
170
174
|
], 2),
|
|
171
175
|
_ctx.showBottomTrigger ? renderSlot(_ctx.$slots, "trigger", { key: 1 }, () => [
|
|
172
176
|
createElementVNode("div", {
|
|
173
|
-
class: normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.
|
|
177
|
+
class: normalizeClass([`${_ctx.prefixCls}-trigger`, `${_ctx.prefixCls}-trigger-${_ctx.isRight ? "right" : "left"}`]),
|
|
174
178
|
style: normalizeStyle({ width: _ctx.siderWidth }),
|
|
175
179
|
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleToggle && _ctx.handleToggle(...args))
|
|
176
180
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sider.mjs","sources":["../../../../src/components/Layout/Sider.vue"],"sourcesContent":["<template>\n <aside\n :style=\"{\n width: `${siderWidth}`,\n minWidth: `${siderWidth}`,\n maxWidth: `${siderWidth}`,\n flex: `0 0 ${siderWidth}`,\n ...(background ? { background } : {})\n }\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${
|
|
1
|
+
{"version":3,"file":"Sider.mjs","sources":["../../../../src/components/Layout/Sider.vue"],"sourcesContent":["<template>\n <aside\n :style=\"{\n width: `${siderWidth}`,\n minWidth: `${siderWidth}`,\n maxWidth: `${siderWidth}`,\n flex: `0 0 ${siderWidth}`,\n ...(background ? { background } : {})\n }\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${isRight ? 'right' : 'left'}`,\n {\n [`${prefixCls}-collapsed`]: !!stateCollapse,\n [`${prefixCls}-has-trigger`]: collapsible && !hideTrigger && !isZeroCollapse,\n [`${prefixCls}-zero`]: parseFloat(String(siderWidth)) === 0\n }\n ]\"\n >\n <span\n v-if=\"showZeroTrigger\"\n :class=\"[`${prefixCls}-zero-trigger`, `${prefixCls}-zero-trigger-${isRight ? 'right' : 'left'}`]\"\n @click=\"handleToggle\"\n >\n <UIcon>\n <ChevronRight v-if=\"isRight\" />\n <ChevronLeft v-else />\n </UIcon>\n </span>\n\n <div\n :class=\"{\n [`${prefixCls}-children`]: true,\n [`${String($attrs.class)?.split(' ')[0]}-inner`]: !!$attrs.class\n }\"\n >\n <slot />\n </div>\n\n <slot v-if=\"showBottomTrigger\" name=\"trigger\">\n <div\n :class=\"[`${prefixCls}-trigger`, `${prefixCls}-trigger-${isRight ? 'right' : 'left'}`]\"\n :style=\"{ width: siderWidth }\"\n @click=\"handleToggle\"\n >\n <UIcon>\n <component :is=\"triggerType\" />\n </UIcon>\n </div>\n </slot>\n </aside>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, onMounted, onUnmounted, nextTick, toRefs, ref, computed, watch, provide } from 'vue';\nimport { ChevronLeft, ChevronRight, PanelLeft, PanelRight } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport { breakpointMap } from '../../utils/responsiveObserve';\nimport { isNumeric } from '../../utils/isValid';\nimport { siderEmits, siderProps, type SiderHooks } from './Layout.type';\n\nlet i = 0;\nconst generateId = (prefix: string) => {\n i += 1;\n return `${prefix}-${i}`;\n};\n\nconst getPixer = (val: string | number) => {\n return isNumeric(val) ? `${val}px` : val;\n};\n\nexport default defineComponent({\n name: 'USider',\n components: {\n UIcon,\n PanelLeft,\n PanelRight,\n ChevronLeft,\n ChevronRight\n },\n props: siderProps,\n emits: siderEmits,\n setup(props, { emit }) {\n const { prefixCls, getPrefixCls } = useGlobalConfig('layout-sider');\n const prefix = getPrefixCls('sider');\n const uniqueId = generateId(prefix);\n const siderHook = inject<SiderHooks>('siderHook', {} as SiderHooks);\n\n // #region for state collapse\n\n const stateCollapse = ref();\n watch(\n () => props.collapsed,\n (val) => {\n stateCollapse.value = !!val;\n },\n { immediate: true }\n );\n\n const setCollapsed = (collapsed: boolean, type: string) => {\n if (props.collapsed === undefined) {\n stateCollapse.value = collapsed;\n }\n emit('update:collapsed', collapsed);\n emit('collapse', collapsed, type);\n };\n // #endregion\n\n // #region lifecircle\n const isBreakpoint = ref(false);\n let mql: MediaQueryList;\n const responsiveHandler = ({ matches }: { matches: boolean }) => {\n isBreakpoint.value = matches;\n if (matches !== stateCollapse.value) {\n setCollapsed(matches, 'responsive');\n }\n };\n\n onMounted(() => {\n nextTick(() => {\n if (typeof window !== 'undefined') {\n if (!!matchMedia && props.breakpoint) {\n mql = matchMedia(breakpointMap[props.breakpoint]);\n }\n try {\n mql?.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql?.addListener(responsiveHandler);\n }\n if (mql) {\n responsiveHandler(mql);\n }\n }\n\n if (siderHook.attachSider) {\n siderHook.attachSider(uniqueId);\n }\n });\n });\n onUnmounted(() => {\n nextTick(() => {\n try {\n mql?.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql?.removeListener(responsiveHandler);\n }\n\n if (siderHook.removeSider) {\n siderHook.removeSider(uniqueId);\n }\n });\n });\n // #endregion\n\n // #region computed\n\n const siderWidth = computed(() => {\n let ret = getPixer(props.width);\n if (stateCollapse.value) {\n ret = getPixer(props.collapsedWidth);\n }\n return ret;\n });\n\n const isZeroCollapse = computed(() => {\n return parseFloat(String(props.collapsedWidth)) === 0 || props.zeroTrigger;\n });\n\n const showZeroTrigger = computed(() => {\n return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && isZeroCollapse.value;\n });\n\n const showBottomTrigger = computed(() => {\n return (props.collapsible || isBreakpoint.value) && !props.hideTrigger && !isZeroCollapse.value;\n });\n\n const triggerType = computed(() => {\n if (props.triggerIcon) {\n return props.triggerIcon;\n }\n\n return props.isRight ? PanelLeft : PanelRight;\n });\n // #endregion\n\n // #region event\n const handleToggle = () => {\n const collapsed = !stateCollapse.value;\n setCollapsed(collapsed, 'triggerClick');\n };\n // #endregion\n const { collapsedWidth } = toRefs(props);\n provide('layoutSiderContext', {\n collapsed: stateCollapse,\n collapsedWidth\n });\n\n return {\n prefixCls,\n stateCollapse,\n siderWidth,\n isZeroCollapse,\n showZeroTrigger,\n showBottomTrigger,\n triggerType,\n handleToggle\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_normalizeClass","_createVNode","_createBlock","_createElementVNode","_renderSlot","_resolveDynamicComponent"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
7
7
|
type: BooleanConstructor;
|
|
8
8
|
default: undefined;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
isRight: {
|
|
11
11
|
type: BooleanConstructor;
|
|
12
12
|
default: boolean;
|
|
13
13
|
};
|
|
@@ -25,7 +25,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
25
25
|
type: (StringConstructor | NumberConstructor)[];
|
|
26
26
|
default: number;
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
collapsedWidth: {
|
|
29
29
|
type: (StringConstructor | NumberConstructor)[];
|
|
30
30
|
default: number;
|
|
31
31
|
};
|
|
@@ -33,11 +33,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
33
33
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
34
34
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
35
35
|
};
|
|
36
|
-
theme: {
|
|
37
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
38
|
-
default: string;
|
|
39
|
-
validator: (val: "light" | "dark") => boolean;
|
|
40
|
-
};
|
|
41
36
|
background: {
|
|
42
37
|
type: StringConstructor;
|
|
43
38
|
};
|
|
@@ -63,7 +58,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
63
58
|
type: BooleanConstructor;
|
|
64
59
|
default: undefined;
|
|
65
60
|
};
|
|
66
|
-
|
|
61
|
+
isRight: {
|
|
67
62
|
type: BooleanConstructor;
|
|
68
63
|
default: boolean;
|
|
69
64
|
};
|
|
@@ -81,7 +76,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
81
76
|
type: (StringConstructor | NumberConstructor)[];
|
|
82
77
|
default: number;
|
|
83
78
|
};
|
|
84
|
-
|
|
79
|
+
collapsedWidth: {
|
|
85
80
|
type: (StringConstructor | NumberConstructor)[];
|
|
86
81
|
default: number;
|
|
87
82
|
};
|
|
@@ -89,11 +84,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
89
84
|
type: import("vue").PropType<"xxl" | "xl" | "lg" | "md" | "sm" | "xs">;
|
|
90
85
|
validator: (val: "xxl" | "xl" | "lg" | "md" | "sm" | "xs") => boolean;
|
|
91
86
|
};
|
|
92
|
-
theme: {
|
|
93
|
-
type: import("vue").PropType<"light" | "dark">;
|
|
94
|
-
default: string;
|
|
95
|
-
validator: (val: "light" | "dark") => boolean;
|
|
96
|
-
};
|
|
97
87
|
background: {
|
|
98
88
|
type: StringConstructor;
|
|
99
89
|
};
|
|
@@ -105,11 +95,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
105
95
|
width: string | number;
|
|
106
96
|
collapsible: boolean;
|
|
107
97
|
collapsed: boolean;
|
|
108
|
-
|
|
98
|
+
isRight: boolean;
|
|
109
99
|
hideTrigger: boolean;
|
|
110
100
|
zeroTrigger: boolean;
|
|
111
|
-
|
|
112
|
-
theme: "light" | "dark";
|
|
101
|
+
collapsedWidth: string | number;
|
|
113
102
|
}, {}, {
|
|
114
103
|
UIcon: {
|
|
115
104
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -243,5 +232,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
243
232
|
spin: boolean;
|
|
244
233
|
}, {}, 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>;
|
|
245
234
|
PanelLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
235
|
+
PanelRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
236
|
+
ChevronLeft: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
237
|
+
ChevronRight: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
246
238
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
247
239
|
export default _default;
|
|
@@ -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;
|
|
@@ -27,7 +27,6 @@ var Menu = defineComponent({
|
|
|
27
27
|
} = useGlobalConfig(inDrop ? "dropdown-menu" : "menu");
|
|
28
28
|
const {
|
|
29
29
|
mode,
|
|
30
|
-
theme,
|
|
31
30
|
subMenuOpenDelay,
|
|
32
31
|
subMenuCloseDelay,
|
|
33
32
|
inlineCollapsed
|
|
@@ -160,7 +159,6 @@ var Menu = defineComponent({
|
|
|
160
159
|
provide("menuStore", {
|
|
161
160
|
mode: computedMode,
|
|
162
161
|
originalMode: mode,
|
|
163
|
-
theme,
|
|
164
162
|
selectedKeys,
|
|
165
163
|
openKeys,
|
|
166
164
|
subMenuOpenDelay,
|
|
@@ -191,7 +189,7 @@ var Menu = defineComponent({
|
|
|
191
189
|
return createVNode("ul", {
|
|
192
190
|
"ref": "rootMenu",
|
|
193
191
|
"role": this.role || "menu",
|
|
194
|
-
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`,
|
|
192
|
+
"class": [`${this.computedPrefixCls}`, `${this.computedPrefixCls}-${this.computedMode}`, `${this.computedPrefixCls}-root`, {
|
|
195
193
|
[`${this.computedPrefixCls}-inline-collapsed`]: this.inlineCollapsed || !!this.layoutSiderCollapsed
|
|
196
194
|
}]
|
|
197
195
|
}, [this.renderChild()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.mjs","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.mjs","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>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.type.mjs","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.mjs","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":[],"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,WAAW,MAAM,QAAQ;AAAA;AAC3B,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,WAAW,UAAU,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,WAAW,MAAM,SAAS;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,WAAW,MAAM,SAAS;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;;;;"}
|
|
@@ -27,7 +27,6 @@ const _sfc_main = defineComponent({
|
|
|
27
27
|
const {
|
|
28
28
|
openKeys,
|
|
29
29
|
mode: menuMode,
|
|
30
|
-
theme,
|
|
31
30
|
subMenuOpenDelay,
|
|
32
31
|
subMenuCloseDelay,
|
|
33
32
|
rootPrefixCls,
|
|
@@ -128,7 +127,6 @@ const _sfc_main = defineComponent({
|
|
|
128
127
|
titleStyle,
|
|
129
128
|
mode,
|
|
130
129
|
subMode,
|
|
131
|
-
theme,
|
|
132
130
|
isOpen,
|
|
133
131
|
isSelected,
|
|
134
132
|
menuId,
|
|
@@ -207,7 +205,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
207
205
|
key: 1,
|
|
208
206
|
"aria-owns": _ctx.menuId,
|
|
209
207
|
"aria-haspopup": "true",
|
|
210
|
-
"popup-class": `${_ctx.prefixCls}-popup
|
|
208
|
+
"popup-class": `${_ctx.prefixCls}-popup ${_ctx.popupClassName || ""}`,
|
|
211
209
|
prefix: _ctx.prefixCls,
|
|
212
210
|
placement: _ctx.popupPlacement,
|
|
213
211
|
offset: _ctx.popupOffset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubMenu.mjs","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":["useGetTriggerProps","_createElementBlock","_normalizeClass","_Fragment","_createElementVNode","_normalizeStyle","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_withCtx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SubMenu.mjs","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":["useGetTriggerProps","_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>;
|