@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.
Files changed (143) hide show
  1. package/es/components/Card/Card.d.ts +9 -9
  2. package/es/components/Card/Card.mjs +19 -26
  3. package/es/components/Card/Card.mjs.map +1 -1
  4. package/es/components/Card/Card.type.d.ts +4 -4
  5. package/es/components/Card/Card.type.mjs +4 -4
  6. package/es/components/Card/Card.type.mjs.map +1 -1
  7. package/es/components/Card/index.d.ts +15 -15
  8. package/es/components/DatePicker/DatePicker.mjs +2 -4
  9. package/es/components/DatePicker/DatePicker.mjs.map +1 -1
  10. package/es/components/DatePicker/Panel/DatePickerPanel.mjs +1 -0
  11. package/es/components/DatePicker/Panel/DatePickerPanel.mjs.map +1 -1
  12. package/es/components/Layout/Layout.type.d.ts +2 -7
  13. package/es/components/Layout/Layout.type.mjs +2 -7
  14. package/es/components/Layout/Layout.type.mjs.map +1 -1
  15. package/es/components/Layout/Sider.mjs +20 -16
  16. package/es/components/Layout/Sider.mjs.map +1 -1
  17. package/es/components/Layout/Sider.vue.d.ts +9 -17
  18. package/es/components/Layout/index.d.ts +9 -17
  19. package/es/components/Menu/Menu.d.ts +0 -11
  20. package/es/components/Menu/Menu.mjs +1 -3
  21. package/es/components/Menu/Menu.mjs.map +1 -1
  22. package/es/components/Menu/Menu.type.d.ts +0 -6
  23. package/es/components/Menu/Menu.type.mjs +0 -5
  24. package/es/components/Menu/Menu.type.mjs.map +1 -1
  25. package/es/components/Menu/SubMenu.mjs +1 -3
  26. package/es/components/Menu/SubMenu.mjs.map +1 -1
  27. package/es/components/Menu/SubMenu.vue.d.ts +0 -1
  28. package/es/components/Menu/index.d.ts +0 -19
  29. package/es/components/Table/BaseTable.vue.d.ts +0 -19
  30. package/es/components/Table/BodyTable.vue.d.ts +0 -19
  31. package/es/components/Table/HeadTable.vue.d.ts +0 -19
  32. package/es/components/Table/Table.vue.d.ts +0 -38
  33. package/es/components/Table/TableBox.vue.d.ts +0 -38
  34. package/es/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
  35. package/es/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
  36. package/es/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
  37. package/es/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
  38. package/es/components/base/CollapseTransition.mjs +0 -16
  39. package/es/components/base/CollapseTransition.mjs.map +1 -1
  40. package/es/components/base/hooks/useGlobalConfig.d.ts +1 -0
  41. package/es/components/locale/default.d.ts +1 -0
  42. package/es/components/locale/default.mjs.map +1 -1
  43. package/lib/components/Card/Card.d.ts +9 -9
  44. package/lib/components/Card/Card.js +22 -29
  45. package/lib/components/Card/Card.js.map +1 -1
  46. package/lib/components/Card/Card.type.d.ts +4 -4
  47. package/lib/components/Card/Card.type.js +4 -4
  48. package/lib/components/Card/Card.type.js.map +1 -1
  49. package/lib/components/Card/index.d.ts +15 -15
  50. package/lib/components/DatePicker/DatePicker.js +2 -4
  51. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  52. package/lib/components/DatePicker/Panel/DatePickerPanel.js +1 -0
  53. package/lib/components/DatePicker/Panel/DatePickerPanel.js.map +1 -1
  54. package/lib/components/Layout/Layout.type.d.ts +2 -7
  55. package/lib/components/Layout/Layout.type.js +2 -7
  56. package/lib/components/Layout/Layout.type.js.map +1 -1
  57. package/lib/components/Layout/Sider.js +19 -15
  58. package/lib/components/Layout/Sider.js.map +1 -1
  59. package/lib/components/Layout/Sider.vue.d.ts +9 -17
  60. package/lib/components/Layout/index.d.ts +9 -17
  61. package/lib/components/Menu/Menu.d.ts +0 -11
  62. package/lib/components/Menu/Menu.js +1 -3
  63. package/lib/components/Menu/Menu.js.map +1 -1
  64. package/lib/components/Menu/Menu.type.d.ts +0 -6
  65. package/lib/components/Menu/Menu.type.js +0 -5
  66. package/lib/components/Menu/Menu.type.js.map +1 -1
  67. package/lib/components/Menu/SubMenu.js +1 -3
  68. package/lib/components/Menu/SubMenu.js.map +1 -1
  69. package/lib/components/Menu/SubMenu.vue.d.ts +0 -1
  70. package/lib/components/Menu/index.d.ts +0 -19
  71. package/lib/components/Table/BaseTable.vue.d.ts +0 -19
  72. package/lib/components/Table/BodyTable.vue.d.ts +0 -19
  73. package/lib/components/Table/HeadTable.vue.d.ts +0 -19
  74. package/lib/components/Table/Table.vue.d.ts +0 -38
  75. package/lib/components/Table/TableBox.vue.d.ts +0 -38
  76. package/lib/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
  77. package/lib/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
  78. package/lib/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
  79. package/lib/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
  80. package/lib/components/base/CollapseTransition.js +0 -16
  81. package/lib/components/base/CollapseTransition.js.map +1 -1
  82. package/lib/components/base/hooks/useGlobalConfig.d.ts +1 -0
  83. package/lib/components/locale/default.d.ts +1 -0
  84. package/lib/components/locale/default.js.map +1 -1
  85. package/package.json +1 -1
  86. package/styles/components/alert/index.css +1 -1
  87. package/styles/components/autoComplete/index.css +1 -1
  88. package/styles/components/avatar/index.css +1 -1
  89. package/styles/components/breadcrumb/index.css +1 -1
  90. package/styles/components/breadcrumb/index.less +5 -6
  91. package/styles/components/breadcrumb/var.less +4 -6
  92. package/styles/components/button/index.css +1 -1
  93. package/styles/components/card/index.css +1 -1
  94. package/styles/components/card/index.less +64 -70
  95. package/styles/components/card/var.less +4 -13
  96. package/styles/components/carousel/index.css +1 -1
  97. package/styles/components/cascader/index.css +1 -1
  98. package/styles/components/datePicker/index.css +1 -1
  99. package/styles/components/form/index.css +1 -1
  100. package/styles/components/icon/index.css +1 -1
  101. package/styles/components/input/index.css +1 -1
  102. package/styles/components/inputNumber/index.css +1 -1
  103. package/styles/components/layout/index.css +1 -1
  104. package/styles/components/layout/index.less +40 -55
  105. package/styles/components/layout/var.less +9 -41
  106. package/styles/components/link/index.css +1 -1
  107. package/styles/components/mentions/index.css +1 -1
  108. package/styles/components/menu/index.css +1 -1
  109. package/styles/components/menu/index.less +63 -207
  110. package/styles/components/menu/var.less +39 -69
  111. package/styles/components/modal/index.css +1 -1
  112. package/styles/components/select/index.css +1 -1
  113. package/styles/components/spin/index.css +1 -1
  114. package/styles/components/timePicker/index.css +1 -1
  115. package/styles/cssVariable.css +1 -1
  116. package/styles/cssVariable.less +8 -7
  117. package/styles/index.css +1 -1
  118. package/types/components/Card/Card.d.ts +9 -9
  119. package/types/components/Card/Card.type.d.ts +4 -4
  120. package/types/components/Card/index.d.ts +15 -15
  121. package/types/components/Layout/Layout.type.d.ts +2 -7
  122. package/types/components/Layout/Sider.vue.d.ts +9 -17
  123. package/types/components/Layout/index.d.ts +9 -17
  124. package/types/components/Menu/Menu.d.ts +0 -11
  125. package/types/components/Menu/Menu.type.d.ts +0 -6
  126. package/types/components/Menu/SubMenu.vue.d.ts +0 -1
  127. package/types/components/Menu/index.d.ts +0 -19
  128. package/types/components/Table/BaseTable.vue.d.ts +0 -19
  129. package/types/components/Table/BodyTable.vue.d.ts +0 -19
  130. package/types/components/Table/HeadTable.vue.d.ts +0 -19
  131. package/types/components/Table/Table.vue.d.ts +0 -38
  132. package/types/components/Table/TableBox.vue.d.ts +0 -38
  133. package/types/components/Table/tableUnits/FilterDropdown.vue.d.ts +0 -19
  134. package/types/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +0 -19
  135. package/types/components/Table/tableUnits/TableHeader.vue.d.ts +0 -19
  136. package/types/components/Table/tableUnits/TableHeaderRow.vue.d.ts +0 -19
  137. package/types/components/base/hooks/useGlobalConfig.d.ts +1 -0
  138. package/types/components/locale/default.d.ts +1 -0
  139. package/uxd-ui.css +1 -1
  140. package/uxd-ui.esm.min.mjs +6 -6
  141. package/uxd-ui.esm.mjs +373 -406
  142. package/uxd-ui.umd.js +372 -405
  143. 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
- reverseArrow: {
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
- collapseWidth: {
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
- reverseArrow: {
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
- collapseWidth: {
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
- reverseArrow: boolean;
147
+ isRight: boolean;
158
148
  hideTrigger: boolean;
159
149
  zeroTrigger: boolean;
160
- collapseWidth: string | number;
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`, `${this.computedPrefixCls}-${this.theme}`, {
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 theme: {\n type: String as PropType<MenuTheme>,\n default: 'light',\n validator: oneOf(menuTheme)\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 theme: Ref<MenuTheme>;\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,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAWA,sBAAM,SAAS;AAAA;AAC5B,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;MAwDa,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;;;;;;;;;;;;"}
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 ${_ctx.rootPrefixCls}-${_ctx.theme} ${_ctx.popupClassName || ""}`,
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>;