@cloudbase/weda-ui 3.23.3 → 3.24.1

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 (217) hide show
  1. package/dist/configs/components/button.d.ts +4 -5
  2. package/dist/configs/components/calendar.d.ts +1 -1
  3. package/dist/configs/components/chart/bar.d.ts +1 -1
  4. package/dist/configs/components/chart/line.d.ts +1 -1
  5. package/dist/configs/components/chart/pie.d.ts +1 -1
  6. package/dist/configs/components/form-checkbox.d.ts +2 -2
  7. package/dist/configs/components/form-date.d.ts +4 -4
  8. package/dist/configs/components/form-depart-tree-select.d.ts +4 -4
  9. package/dist/configs/components/form-email.d.ts +4 -4
  10. package/dist/configs/components/form-image-uploader.d.ts +4 -4
  11. package/dist/configs/components/form-input.d.ts +6 -6
  12. package/dist/configs/components/form-location.d.ts +8 -8
  13. package/dist/configs/components/form-multi-region.d.ts +4 -4
  14. package/dist/configs/components/form-phone.d.ts +4 -4
  15. package/dist/configs/components/form-radio.d.ts +2 -2
  16. package/dist/configs/components/form-region.d.ts +4 -4
  17. package/dist/configs/components/form-rich-text.d.ts +2 -2
  18. package/dist/configs/components/form-select-multiple.d.ts +4 -4
  19. package/dist/configs/components/form-select.d.ts +4 -4
  20. package/dist/configs/components/form-switch.d.ts +2 -2
  21. package/dist/configs/components/form-text-area.d.ts +4 -4
  22. package/dist/configs/components/form-time.d.ts +4 -4
  23. package/dist/configs/components/form-upload-file.d.ts +2 -2
  24. package/dist/configs/components/form-url.d.ts +4 -4
  25. package/dist/configs/components/form-user-tree-select.d.ts +4 -4
  26. package/dist/configs/components/grid/col.d.ts +6 -6
  27. package/dist/configs/components/grid/row.d.ts +4 -4
  28. package/dist/configs/components/image.d.ts +4 -4
  29. package/dist/configs/components/link.d.ts +0 -1
  30. package/dist/configs/components/modal.d.ts +0 -1
  31. package/dist/configs/components/qr_code.d.ts +1 -1
  32. package/dist/configs/components/tabs.d.ts +0 -1
  33. package/dist/configs/components/wd-bubble.d.ts +6 -7
  34. package/dist/configs/components/wd-button.d.ts +1 -1
  35. package/dist/configs/components/wd-calendar.d.ts +1 -1
  36. package/dist/configs/components/wd-canvas.d.ts +1 -1
  37. package/dist/configs/components/wd-card.d.ts +0 -1
  38. package/dist/configs/components/wd-cascader.d.ts +9 -9
  39. package/dist/configs/components/wd-checkbox.d.ts +3 -3
  40. package/dist/configs/components/wd-code-editor.d.ts +3 -3
  41. package/dist/configs/components/wd-date-range.d.ts +8 -8
  42. package/dist/configs/components/wd-date.d.ts +8 -8
  43. package/dist/configs/components/wd-department.d.ts +11 -11
  44. package/dist/configs/components/wd-form-arr.d.ts +3 -3
  45. package/dist/configs/components/wd-form-detail.d.ts +2 -2
  46. package/dist/configs/components/wd-form-obj.d.ts +3 -3
  47. package/dist/configs/components/wd-form.d.ts +8 -9
  48. package/dist/configs/components/wd-icon.d.ts +2 -2
  49. package/dist/configs/components/wd-image.d.ts +4 -4
  50. package/dist/configs/components/wd-input-email.d.ts +35 -35
  51. package/dist/configs/components/wd-input-number.d.ts +10 -10
  52. package/dist/configs/components/wd-input-phone.d.ts +35 -35
  53. package/dist/configs/components/wd-input-url.d.ts +35 -35
  54. package/dist/configs/components/wd-input.d.ts +5 -5
  55. package/dist/configs/components/wd-layout.d.ts +0 -1
  56. package/dist/configs/components/wd-link.d.ts +0 -1
  57. package/dist/configs/components/wd-location.d.ts +3 -3
  58. package/dist/configs/components/wd-member.d.ts +13 -13
  59. package/dist/configs/components/wd-menu-layout.d.ts +6 -7
  60. package/dist/configs/components/wd-menu-list.d.ts +2 -2
  61. package/dist/configs/components/wd-modal.d.ts +0 -1
  62. package/dist/configs/components/wd-progress.d.ts +6 -7
  63. package/dist/configs/components/wd-radio.d.ts +3 -3
  64. package/dist/configs/components/wd-rating.d.ts +6 -6
  65. package/dist/configs/components/wd-region.d.ts +9 -9
  66. package/dist/configs/components/wd-rich-text.d.ts +3 -3
  67. package/dist/configs/components/wd-select-multiple.d.ts +10 -10
  68. package/dist/configs/components/wd-select.d.ts +9 -9
  69. package/dist/configs/components/wd-side-tab.d.ts +1 -2
  70. package/dist/configs/components/wd-switch.d.ts +6 -6
  71. package/dist/configs/components/wd-table.d.ts +27 -15
  72. package/dist/configs/components/wd-table.js +51 -12
  73. package/dist/configs/components/wd-tag-select.d.ts +7 -7
  74. package/dist/configs/components/wd-text.d.ts +3 -3
  75. package/dist/configs/components/wd-textarea.d.ts +3 -3
  76. package/dist/configs/components/wd-time.d.ts +8 -8
  77. package/dist/configs/components/wd-top-tab.d.ts +1 -2
  78. package/dist/configs/components/wd-tree.d.ts +0 -1
  79. package/dist/configs/components/wd-upload-file.d.ts +5 -5
  80. package/dist/configs/components/wd-upload-file.js +3 -0
  81. package/dist/configs/components/wd-upload-image.d.ts +13 -13
  82. package/dist/configs/components/wd-upload-image.js +3 -0
  83. package/dist/configs/components/wedaVideo.d.ts +2 -2
  84. package/dist/configs/components/wxOpenApi/phone.d.ts +2 -2
  85. package/dist/configs/components/wxOpenApi/phoneCode.d.ts +1 -1
  86. package/dist/configs/components/wxOpenApi/share.d.ts +2 -2
  87. package/dist/configs/components/wxOpenApi/userInfo.d.ts +2 -2
  88. package/dist/configs/index.d.ts +592 -573
  89. package/dist/configs/type-utils/index.d.ts +1 -1
  90. package/dist/style/index.css +66 -0
  91. package/dist/style/index.scss +1 -1
  92. package/dist/style/weda-ui.min.css +3 -3
  93. package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -1
  94. package/dist/web/components/flow/common/hooks/useFlowConfig.d.ts +0 -1
  95. package/dist/web/components/flow/modules/basic/Basic.d.ts +0 -1
  96. package/dist/web/components/flow/modules/basic/BasicMobile.d.ts +0 -1
  97. package/dist/web/components/flow/modules/combination/index.d.ts +0 -1
  98. package/dist/web/components/flow/modules/operations/control.d.ts +0 -1
  99. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.d.ts +0 -1
  100. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.d.ts +0 -1
  101. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.d.ts +0 -1
  102. package/dist/web/components/flow/modules/operations/controls-items/index.d.ts +0 -1
  103. package/dist/web/components/flow/modules/operations/view-model.d.ts +0 -1
  104. package/dist/web/components/flow/process/constants.d.ts +3 -3
  105. package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -1
  106. package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -1
  107. package/dist/web/components/form/select/h5.d.ts +1 -1
  108. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.d.ts +0 -1
  109. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.d.ts +0 -1
  110. package/dist/web/components/form/userOrgSelect/component/error-tips.d.ts +0 -1
  111. package/dist/web/components/form/userOrgSelect/component/input-tags.d.ts +0 -1
  112. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.d.ts +0 -1
  113. package/dist/web/components/form/userOrgSelect/component/modal-search.d.ts +0 -1
  114. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.d.ts +0 -1
  115. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.d.ts +0 -1
  116. package/dist/web/components/form/userOrgSelect/component/org-tree.d.ts +0 -1
  117. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.d.ts +0 -1
  118. package/dist/web/components/form/userOrgSelect/component/selected-list.d.ts +0 -1
  119. package/dist/web/components/form/userOrgSelect/component/user-org-list.d.ts +0 -1
  120. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.d.ts +0 -1
  121. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.d.ts +0 -1
  122. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.d.ts +0 -1
  123. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.d.ts +0 -1
  124. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.d.ts +0 -1
  125. package/dist/web/components/form-date/index.d.ts +9 -9
  126. package/dist/web/components/form-depart-tree-select/index.d.ts +9 -9
  127. package/dist/web/components/form-email/index.d.ts +7 -7
  128. package/dist/web/components/form-image-uploader/index.d.ts +9 -9
  129. package/dist/web/components/form-input/index.d.ts +14 -14
  130. package/dist/web/components/form-input-hooks/index.d.ts +2 -2
  131. package/dist/web/components/form-location/index.d.ts +13 -13
  132. package/dist/web/components/form-multi-region/index.d.ts +7 -7
  133. package/dist/web/components/form-phone/index.d.ts +7 -7
  134. package/dist/web/components/form-radio/index.d.ts +7 -7
  135. package/dist/web/components/form-region/index.d.ts +7 -7
  136. package/dist/web/components/form-rich-text/index.d.ts +6 -6
  137. package/dist/web/components/form-select/index.d.ts +12 -12
  138. package/dist/web/components/form-select-multiple/index.d.ts +11 -11
  139. package/dist/web/components/form-switch/index.d.ts +4 -4
  140. package/dist/web/components/form-text-area/index.d.ts +8 -8
  141. package/dist/web/components/form-time/index.d.ts +8 -8
  142. package/dist/web/components/form-upload-file/index.d.ts +10 -10
  143. package/dist/web/components/form-url/index.d.ts +7 -7
  144. package/dist/web/components/form-user-tree-select/index.d.ts +10 -10
  145. package/dist/web/components/grid/col.d.ts +2 -2
  146. package/dist/web/components/grid/row.d.ts +1 -1
  147. package/dist/web/components/lottery/index.d.ts +2 -2
  148. package/dist/web/components/pageLayout/PageContent/index.d.ts +0 -1
  149. package/dist/web/components/phone/index.d.ts +0 -1
  150. package/dist/web/components/phoneCode/index.d.ts +0 -1
  151. package/dist/web/components/share/index.d.ts +0 -1
  152. package/dist/web/components/table/BaseTable.d.ts +0 -1
  153. package/dist/web/components/table/FieldRender.d.ts +0 -1
  154. package/dist/web/components/table/FilterFields.d.ts +0 -1
  155. package/dist/web/components/table/Form/Enum.d.ts +0 -1
  156. package/dist/web/components/table/Form/Location.d.ts +0 -1
  157. package/dist/web/components/table/QuoteModal.d.ts +0 -1
  158. package/dist/web/components/table/UserDepartment/ViewCell.d.ts +0 -1
  159. package/dist/web/components/table/UserDepartment/utils.d.ts +0 -1
  160. package/dist/web/components/userInfo/index.d.ts +0 -1
  161. package/dist/web/components/wd-calendar/MonthSelect.d.ts +0 -1
  162. package/dist/web/components/wd-code-editor/lang/index.d.ts +1 -1
  163. package/dist/web/components/wd-date/elements/interface.d.ts +1 -1
  164. package/dist/web/components/wd-department/_design/wd-department-select.d.ts +0 -1
  165. package/dist/web/components/wd-form/wd-form.d.ts +0 -1
  166. package/dist/web/components/wd-form-cell/wd-form-cell.d.ts +0 -1
  167. package/dist/web/components/wd-form-item/wd-input-group.d.ts +0 -1
  168. package/dist/web/components/wd-form-item/wd-input-wrap.d.ts +0 -1
  169. package/dist/web/components/wd-image/ImagePreview.d.ts +0 -1
  170. package/dist/web/components/wd-input/wd-input.d.ts +23 -23
  171. package/dist/web/components/wd-input-email/wd-input-email.d.ts +15 -15
  172. package/dist/web/components/wd-input-group/wd-input-group.d.ts +0 -1
  173. package/dist/web/components/wd-input-phone/wd-input-phone.d.ts +23 -23
  174. package/dist/web/components/wd-input-url/wd-input-url.d.ts +15 -15
  175. package/dist/web/components/wd-layout/wd-layout.d.ts +0 -1
  176. package/dist/web/components/wd-location/_design/wd-location.d.ts +0 -1
  177. package/dist/web/components/wd-member/_design/wd-member-select.d.ts +0 -1
  178. package/dist/web/components/wd-menu-layout/components/HorizontalMenu.d.ts +1 -1
  179. package/dist/web/components/wd-menu-layout/components/HorizontalMenu.js +1 -1
  180. package/dist/web/components/wd-menu-layout/components/LeftMenu.d.ts +3 -0
  181. package/dist/web/components/wd-menu-layout/components/LeftMenu.js +41 -0
  182. package/dist/web/components/wd-menu-layout/components/PlantMenu.d.ts +1 -1
  183. package/dist/web/components/wd-menu-layout/components/PlantMenu.js +2 -2
  184. package/dist/web/components/wd-menu-layout/components/VerticalMenu.js +8 -3
  185. package/dist/web/components/wd-menu-layout/wd-menu-layout.d.ts +4 -1
  186. package/dist/web/components/wd-menu-layout/wd-menu-layout.js +4 -5
  187. package/dist/web/components/wd-menu-list/CommonMenuList.js +7 -13
  188. package/dist/web/components/wd-radio/wd-radio.d.ts +0 -1
  189. package/dist/web/components/wd-region/_design/wd-region.d.ts +0 -1
  190. package/dist/web/components/wd-retry/wd-retry.d.ts +0 -1
  191. package/dist/web/components/wd-select/_design/wd-select.d.ts +0 -1
  192. package/dist/web/components/wd-select/hooks/useChooseList.d.ts +1 -1
  193. package/dist/web/components/wd-select/relationSelect/relationalSetting.d.ts +0 -1
  194. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.d.ts +0 -1
  195. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.d.ts +0 -1
  196. package/dist/web/components/wd-table/components/FieldRender/Form/Location.d.ts +0 -1
  197. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.d.ts +0 -1
  198. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.d.ts +0 -1
  199. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.d.ts +0 -1
  200. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.d.ts +0 -1
  201. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.d.ts +0 -1
  202. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.d.ts +0 -1
  203. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.d.ts +0 -1
  204. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.d.ts +0 -1
  205. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.d.ts +0 -1
  206. package/dist/web/components/wd-table/components/InOrOutRecordModal.d.ts +0 -1
  207. package/dist/web/components/wd-table/components/Pagination/index.d.ts +0 -1
  208. package/dist/web/components/wd-table/components/SearchBox/index.d.ts +0 -1
  209. package/dist/web/components/wd-tabs/tabs-h5.d.ts +0 -1
  210. package/dist/web/components/wd-tabs/tabs-pc.d.ts +0 -1
  211. package/dist/web/components/wd-tabs/tabs.d.ts +0 -1
  212. package/dist/web/components/wd-tag/_design.d.ts +0 -1
  213. package/dist/web/components/wd-tree/utils.d.ts +19 -19
  214. package/dist/web/components/wd-upload-file/_design/wd-upload-file.d.ts +0 -1
  215. package/dist/web/components/wd-upload-image/_design/wd-upload-image.d.ts +0 -1
  216. package/dist/web/utils/getPageQuery.d.ts +0 -1
  217. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  import type { DataType } from '../../../configs/components/wd-layout';
4
3
  import './style';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdLocation: () => JSX.Element;
4
3
  export interface WdLocationProps extends CommonPropsType {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdMember: () => JSX.Element;
4
3
  export interface WdMemberSelectProps extends CommonPropsType {
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { WdMenuLayoutProps } from '../wd-menu-layout';
3
- export declare const HorizontalMenu: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<unknown>>;
3
+ export declare const HorizontalMenu: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<HTMLElement>>;
@@ -5,5 +5,5 @@ import { slotDiv } from '../utils';
5
5
  import { WdMenuList } from '../../index';
6
6
  export const HorizontalMenu = forwardRef(function HorizontalMenu(props, ref) {
7
7
  const { classPrefix } = useConfig();
8
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${classPrefix}-menulayout-header`, children: [_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap`, children: slotDiv(props.headSlot) }), _jsx("div", { className: `${classPrefix}-menulayout-header__slot`, children: _jsx(WdMenuList, { ...props, className: "", id: "", style: {}, ref: ref }) }), _jsx("div", { className: `${classPrefix}-menulayout-header__right-wrap`, children: slotDiv(props.headRightSlot, { justifyContent: 'flex-end' }) })] }), _jsx("div", { className: `${classPrefix}-menulayout-body`, children: _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot }) })] }));
8
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${classPrefix}-menulayout-header`, children: [props.headSlot && (_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap`, children: slotDiv(props.headSlot) })), _jsx("div", { className: `${classPrefix}-menulayout-header__slot`, children: _jsx(WdMenuList, { ...props, className: "", id: "", style: {}, ref: ref }) }), props.headRightSlot && (_jsx("div", { className: `${classPrefix}-menulayout-header__right-wrap`, children: slotDiv(props.headRightSlot, { justifyContent: 'flex-end' }) }))] }), _jsx("div", { className: `${classPrefix}-menulayout-body`, children: _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot }) })] }));
9
9
  });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { WdMenuLayoutProps } from '../wd-menu-layout';
3
+ export declare const LeftMenu: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<unknown>>;
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useState } from 'react';
3
+ import { useConfig } from '../../../utils/config-context';
4
+ import { slotDiv } from '../utils';
5
+ import { WdMenuList } from '../../index';
6
+ import WdIcon from '../../wd-icon';
7
+ import classNames from '../../../utils/classnames';
8
+ export const LeftMenu = forwardRef(function LeftMenu(props, ref) {
9
+ const { classPrefix } = useConfig();
10
+ const { collapsed, onToggleCollapse, enableHeadSlot = false } = props;
11
+ const [isHovering, setIsHovering] = useState(false);
12
+ const [tempExpanded, setTempExpanded] = useState(false);
13
+ // 计算实际的展开状态
14
+ const effectiveCollapsed = collapsed && !tempExpanded;
15
+ const classes = classNames({
16
+ [`${classPrefix}-menulayout-body__left`]: true,
17
+ [`${classPrefix}-menulayout-body--hover`]: isHovering,
18
+ [`${classPrefix}-menulayout-body__left--collapsed`]: effectiveCollapsed,
19
+ });
20
+ // 处理鼠标进入事件
21
+ const handleMouseEnter = () => {
22
+ setIsHovering(true);
23
+ if (collapsed) {
24
+ setTempExpanded(true);
25
+ }
26
+ };
27
+ // 处理鼠标离开事件
28
+ const handleMouseLeave = () => {
29
+ setIsHovering(false);
30
+ if (collapsed) {
31
+ setTempExpanded(false);
32
+ }
33
+ };
34
+ // 点击展开收起按钮
35
+ const handleCollapse = () => {
36
+ onToggleCollapse();
37
+ setTempExpanded(false);
38
+ setIsHovering(false);
39
+ };
40
+ return (_jsxs("div", { className: classes, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [enableHeadSlot && props.headSlot && (_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap is-not-content`, children: slotDiv(props.headSlot) })), _jsx("div", { className: `${classPrefix}-menulayout-body__left-menu ${classPrefix}-menulayout__menu ${effectiveCollapsed ? `${classPrefix}-menulayout__menu--collapsed` : ''}`, children: _jsx(WdMenuList, { ...props, className: "", id: "", style: {}, ref: ref }) }), props.footerSlot && (_jsx("div", { className: `${classPrefix}-menulayout-body__left-slot is-not-content ${classPrefix}-menulayout-body__footer`, children: slotDiv(props.footerSlot) })), _jsx("div", { className: `${classPrefix}-menulayout-body__footer ${classPrefix}-menulayout-body__footer--collapse`, onClick: handleCollapse, children: _jsx("div", { className: `${classPrefix}-event-tap ${classPrefix}-menulayout-body__footer--collapse-icon`, children: _jsx(WdIcon, { type: "inner", size: "xs", name: collapsed ? 'td:menu-fold' : 'td:menu-unfold' }) }) })] }));
41
+ });
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { WdMenuLayoutProps } from '../wd-menu-layout';
3
- export declare const PlantMenu: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<unknown>>;
3
+ export declare const PlantMenu: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<HTMLElement>>;
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { forwardRef } from 'react';
3
3
  import { useConfig } from '../../../utils/config-context';
4
4
  import { slotDiv } from '../utils';
5
- import { WdMenuList } from '../../index';
5
+ import { LeftMenu } from './LeftMenu';
6
6
  export const PlantMenu = forwardRef(function PlantMenu(props, ref) {
7
7
  const { classPrefix } = useConfig();
8
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${classPrefix}-menulayout-header ${classPrefix}-menulayout-header--plant`, children: [_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap`, children: slotDiv(props.headSlot) }), _jsx("div", { className: `${classPrefix}-menulayout-header__right-wrap `, children: slotDiv(props.headRightSlot, { justifyContent: 'flex-end' }) })] }), _jsxs("div", { className: `${classPrefix}-menulayout-body ${classPrefix}-menulayout-body--plant`, children: [_jsxs("div", { className: `${classPrefix}-menulayout-body__left`, children: [_jsx("div", { className: `${classPrefix}-menulayout-body__left-menu ${classPrefix}-menulayout__menu`, children: _jsx(WdMenuList, { ...props, className: "", id: "", style: {}, ref: ref }) }), _jsx("div", { className: `${classPrefix}-menulayout-body__left-slot is-not-content ${classPrefix}-menulayout-body__footer`, children: slotDiv(props.footerSlot) })] }), _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot })] })] }));
8
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${classPrefix}-menulayout-header ${classPrefix}-menulayout-header--plant`, children: [props.headSlot && (_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap`, children: slotDiv(props.headSlot) })), props.headRightSlot && (_jsx("div", { className: `${classPrefix}-menulayout-header__right-wrap `, children: slotDiv(props.headRightSlot, { justifyContent: 'flex-end' }) }))] }), _jsxs("div", { className: `${classPrefix}-menulayout-body ${classPrefix}-menulayout-body--plant`, children: [_jsx(LeftMenu, { ref: ref, ...props }), _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot })] })] }));
9
9
  });
@@ -1,9 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { forwardRef } from 'react';
3
3
  import { useConfig } from '../../../utils/config-context';
4
- import { slotDiv } from '../utils';
5
- import { WdMenuList } from '../../index';
4
+ import classNames from '../../../utils/classnames';
5
+ import { LeftMenu } from './LeftMenu';
6
6
  export const VerticalMenu = forwardRef(function VerticalMenu(props, ref) {
7
7
  const { classPrefix } = useConfig();
8
- return (_jsx(_Fragment, { children: _jsxs("div", { className: `${classPrefix}-menulayout-body ${classPrefix}-menulayout-body--vertical`, children: [_jsxs("div", { className: `${classPrefix}-menulayout-body__left`, children: [_jsx("div", { className: `${classPrefix}-menulayout-header__logo-wrap is-not-content`, children: slotDiv(props.headSlot) }), _jsx("div", { className: `${classPrefix}-menulayout-body__left-menu ${classPrefix}-menulayout__menu`, children: _jsx(WdMenuList, { ...props, className: "", id: "", style: {}, ref: ref }) }), _jsx("div", { className: `${classPrefix}-menulayout-body__left-slot is-not-content ${classPrefix}-menulayout-body__footer`, children: slotDiv(props.footerSlot) })] }), _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot })] }) }));
8
+ // 计算实际的展开状态
9
+ const classes = classNames({
10
+ [`${classPrefix}-menulayout-body`]: true,
11
+ [`${classPrefix}-menulayout-body--vertical`]: true,
12
+ });
13
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: classes, children: [_jsx(LeftMenu, { ref: ref, ...props, enableHeadSlot: true }), _jsx("div", { className: `${classPrefix}-menulayout-body__content ${classPrefix}-menulayout__body`, children: props.contentSlot })] }) }));
9
14
  });
@@ -2,7 +2,10 @@ import React from 'react';
2
2
  import type { CommonPropsType } from '../../types';
3
3
  import type { DataType } from '../../../configs/components/wd-menu-layout';
4
4
  import { WdMenuListProps } from '../wd-menu-list';
5
- export declare const WdMenuLayout: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<unknown>>;
5
+ export declare const WdMenuLayout: React.ForwardRefExoticComponent<WdMenuLayoutProps & React.RefAttributes<HTMLElement>>;
6
6
  export interface WdMenuLayoutProps extends CommonPropsType, DataType {
7
7
  setSelectedInfo: (item: WdMenuListProps['menu']['menuData']['0'], isNavigate: boolean) => void;
8
+ collapsed?: boolean;
9
+ onToggleCollapse?: () => void;
10
+ enableHeadSlot?: boolean;
8
11
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef } from 'react';
2
+ import { forwardRef, useState } from 'react';
3
3
  import { HorizontalMenu } from './components/HorizontalMenu';
4
4
  import { PlantMenu } from './components/PlantMenu';
5
5
  import { VerticalMenu } from './components/VerticalMenu';
@@ -12,13 +12,12 @@ import classNames from '../../utils/classnames';
12
12
  import { usePlatform } from '../../utils/platform';
13
13
  // const type = 'horizontal'; // 顶导航: horizontal 侧导航: vertical 厂子形状:plant h5
14
14
  export const WdMenuLayout = forwardRef(function WdMenuLayout(props, ref) {
15
+ const [collapsed, setCollapsed] = useState(false);
15
16
  const { classPrefix } = useConfig();
16
17
  const platform = usePlatform();
17
18
  const _type = props.type || props.template;
18
- const type = platform === 'h5' && !['tab', 'nav', 'navTab'].includes(_type)
19
- ? 'h5'
20
- : _type;
19
+ const type = platform === 'h5' && !['tab', 'nav', 'navTab'].includes(_type) ? 'h5' : _type;
21
20
  return (
22
21
  // 1024px 800px为方便测试 开发时去掉
23
- _jsxs("div", { id: props.id, style: props.style, className: classNames(props.className, `${classPrefix}-menulayout`, `${classPrefix}-menulayout-root`, ['h5'].includes(type) ? `${classPrefix}-menulayout-h5-root` : '', `${classPrefix}-menulayout--${type}`), children: [['horizontal'].includes(type) && (_jsx(HorizontalMenu, { ...props, ref: ref })), ['vertical'].includes(type) && (_jsx(VerticalMenu, { ...props, ref: ref })), ['plant'].includes(type) && _jsx(PlantMenu, { ...props, ref: ref }), ['h5'].includes(type) && _jsx(H5Menu, { ...props, ref: ref }), ['tab'].includes(type) && _jsx(TabMenu, { ...props, ref: ref }), ['nav'].includes(type) && _jsx(NavMenu, { ...props, ref: ref }), ['navTab'].includes(type) && (_jsx(NavTabMenu, { ...props, ref: ref }))] }));
22
+ _jsxs("div", { id: props.id, style: props.style, className: classNames(props.className, `${classPrefix}-menulayout`, `${classPrefix}-menulayout-root`, ['h5'].includes(type) ? `${classPrefix}-menulayout-h5-root` : '', `${classPrefix}-menulayout--${type}`, collapsed ? `${classPrefix}-menulayout--collapsed` : ''), children: [['horizontal'].includes(type) && _jsx(HorizontalMenu, { ...props, ref: ref }), ['vertical'].includes(type) && (_jsx(VerticalMenu, { ...props, ref: ref, collapsed: collapsed, onToggleCollapse: () => setCollapsed(!collapsed) })), ['plant'].includes(type) && (_jsx(PlantMenu, { ...props, ref: ref, collapsed: collapsed, onToggleCollapse: () => setCollapsed(!collapsed) })), ['h5'].includes(type) && _jsx(H5Menu, { ...props, ref: ref }), ['tab'].includes(type) && _jsx(TabMenu, { ...props, ref: ref }), ['nav'].includes(type) && _jsx(NavMenu, { ...props, ref: ref }), ['navTab'].includes(type) && _jsx(NavTabMenu, { ...props, ref: ref })] }));
24
23
  });
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useEffect, useImperativeHandle, useState, useContext, useCallback, useMemo, } from 'react';
2
+ import { forwardRef, useEffect, useImperativeHandle, useState, useContext, useCallback, useMemo } from 'react';
3
3
  import destr from 'destr';
4
4
  import classNames from '../../utils/classnames';
5
5
  import { useConfig } from '../../utils/config-context';
@@ -7,7 +7,7 @@ import { usePlatform } from '../../utils/platform';
7
7
  import { Menu, ConfigProvider } from 'tea-component';
8
8
  import WdIcon from '../wd-icon';
9
9
  import WdLink from '../wd-link';
10
- import { findSelectItem, navigateTo, getMenuList, hasChildSelected, } from './utils';
10
+ import { findSelectItem, navigateTo, getMenuList, hasChildSelected } from './utils';
11
11
  import { MenuLayoutContext } from '../wd-menu-layout/utils';
12
12
  export const CommonMenuList = forwardRef(function CommonMenuList(props, ref) {
13
13
  const { className = '', style, id } = props;
@@ -85,9 +85,7 @@ export const CommonMenuList = forwardRef(function CommonMenuList(props, ref) {
85
85
  const renderMenuTitle = (item, useLink = false) => {
86
86
  var _a;
87
87
  const show = (_jsxs("div", { className: `${classPrefix}-menulayout-menu__item`, children: [getIconShow(item, selected), _jsx("div", { className: `${classPrefix}-menulayout-menu__item-text`, children: item.title })] }));
88
- const url = (item === null || item === void 0 ? void 0 : item.type) === 'link' && item.linkUrl
89
- ? item.linkUrl
90
- : (_a = item === null || item === void 0 ? void 0 : item.path) === null || _a === void 0 ? void 0 : _a.replace('/', '');
88
+ const url = (item === null || item === void 0 ? void 0 : item.type) === 'link' && item.linkUrl ? item.linkUrl : (_a = item === null || item === void 0 ? void 0 : item.path) === null || _a === void 0 ? void 0 : _a.replace('/', '');
91
89
  return useLink && url ? (_jsx(WdLink, { style: { width: '100%', color: 'unset', fontSize: 'unset' }, packageName: item === null || item === void 0 ? void 0 : item.subPackageName, url: url, params: [], disabled: true, contentSlot: show, content: '' })) : (show);
92
90
  };
93
91
  // 渲染MenuItem
@@ -112,15 +110,12 @@ export const CommonMenuList = forwardRef(function CommonMenuList(props, ref) {
112
110
  // 渲染subMenu
113
111
  const renderSubMenu = (item, hasThereNode = false, level = '1') => {
114
112
  const { key, children, disabled } = item;
115
- // 缓存key带上默认菜单展开状态,以区分不同的默认🚉开情况
113
+ // 缓存key带上默认菜单展开状态,以区分不同的默认展开情况
116
114
  const itemKey = `${key}_${props.defaultOpened}`;
117
115
  let isOpened = openStatus[itemKey];
118
116
  // 默认不展开菜单时进行判断
119
117
  if (!props.defaultOpened) {
120
- isOpened =
121
- openStatus[itemKey] === undefined
122
- ? hasChildSelected(item, selected)
123
- : openStatus[itemKey];
118
+ isOpened = openStatus[itemKey] === undefined ? hasChildSelected(item, selected) : openStatus[itemKey];
124
119
  if (openStatus[itemKey] === undefined && isOpened) {
125
120
  setOpenStatus((prev) => ({ ...prev, [itemKey]: isOpened }));
126
121
  }
@@ -130,6 +125,7 @@ export const CommonMenuList = forwardRef(function CommonMenuList(props, ref) {
130
125
  [`${classPrefix}-menulayout__submenu-stair`]: ['1'].includes(level),
131
126
  [`${classPrefix}-menulayout__submenu-second`]: ['2'].includes(level),
132
127
  'is-disabled': !!disabled,
128
+ 'has-selected-child': hasChildSelected(item, selected),
133
129
  }), title: renderMenuTitle(item), defaultOpened: props.defaultOpened, opened: isOpened, onOpenedChange: (isOpened) => {
134
130
  setOpenStatus((prev) => ({ ...prev, [itemKey]: isOpened }));
135
131
  const result = { ...openStatus, [itemKey]: isOpened };
@@ -138,8 +134,6 @@ export const CommonMenuList = forwardRef(function CommonMenuList(props, ref) {
138
134
  };
139
135
  return (_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsx("div", { id: id, className: classNames(classes, className), style: style, children: _jsx(Menu, { children: menuData === null || menuData === void 0 ? void 0 : menuData.map((item) => {
140
136
  var _a;
141
- return ((_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.length) > 0
142
- ? renderSubMenu(item)
143
- : renderMenuItem(item, '1');
137
+ return ((_a = item === null || item === void 0 ? void 0 : item.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? renderSubMenu(item) : renderMenuItem(item, '1');
144
138
  }) }) }) }));
145
139
  });
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  import type { DataType } from '../../../configs/components/wd-radio';
4
3
  export declare const WdRadio: ({ index, option, name, size, disabled, checkedItemValue, getChangeHandler, }: WdRadioProps) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdRegion: ({ options }: {
4
3
  options: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  export declare const WdRetry: () => JSX.Element;
4
3
  export interface WdRetryProps extends CommonPropsType {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdSelect: ({ size, options }: {
4
3
  size: any;
@@ -9,8 +9,8 @@ export declare const useChooseList: ({ dataSourceAPI, queryParams, childDbName,
9
9
  }) => {
10
10
  result: {
11
11
  disabled?: boolean;
12
- value: string;
13
12
  label: string;
13
+ value: string;
14
14
  }[];
15
15
  total: number;
16
16
  isValidating: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const RelationalSetting: ({ refresh, setting, size: _size, enableRelationalSetting, enableRelationalRefresh, }: {
3
2
  refresh: any;
4
3
  setting: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * 后端导出弹窗
4
3
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const EnumSelect: (props: any) => JSX.Element;
3
2
  export declare const formatEnum: (value: any, field: any, enumOptions: any, showRelationWithTag?: boolean) => any;
4
3
  export declare const EnumView: (props: any) => any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './style';
3
2
  export declare const locationProperties: {
4
3
  address: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const ImagePreview: ({ srcList }: {
3
2
  srcList: any;
4
3
  }) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * 引用类型显示弹窗
4
3
  * @description 使用组件方式编写,避免数据流中断
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './style';
3
2
  export declare const ViewCell: ({ data, showType, relation }: {
4
3
  data: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const parentIcon: ({ expanded }: {
3
2
  expanded: any;
4
3
  }) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SelectSearch } from './SelectSearch';
3
2
  export { SelectSearch };
4
3
  export declare const DatePickerField: ({ disabled, showTime, isRange, updateValue, value }: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const FilterFieldItem: ({ supportManyRelated, updateFilterData, ...filterFieldItemConfig }: {
3
2
  [x: string]: any;
4
3
  supportManyRelated: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const InputAdornment: ({ label, before, children }: {
3
2
  label: any;
4
3
  before: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const SelectSearch: ({ value, updateValue, format, childDbName, disabled, name, primaryColumn, multiple, regionType, }: {
3
2
  value: any;
4
3
  updateValue: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * 后端导入弹窗
4
3
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const InOrOutRecordModal: ({ isInOrOutRecordModalVisible, dbName, setIsImportFileModalByApiVisible, setIsExportFileModalByApiVisible, setIsInOrOutRecordModalVisible, }: {
3
2
  isInOrOutRecordModalVisible: any;
4
3
  dbName: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const Pagination: ({ total, pageIndex, pageSize, onPagingChange, }: {
3
2
  total?: number;
4
3
  pageIndex: any;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const SearchBox: ({ searchValues, fields, columnSets, fetchData, refresh, }: {
3
2
  searchValues: any;
4
3
  fields: any;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { WdTabsProps } from './tabs';
3
2
  export declare const WdTabsH5: ({ isMultipleSlot, tabsDatas, selectedIndex, ...restProps }: WdTabsProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { WdTabsProps } from './tabs';
3
2
  export declare const WdTabsPc: ({ isMultipleSlot, tabsDatas, selectedIndex, ...restProps }: WdTabsProps) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  export declare const WdTabs: (props: WdTabsProps) => JSX.Element;
4
3
  export interface WdTabsProps extends CommonPropsType {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../types';
3
2
  import type { DataType } from '../../../configs/components/wd-layout';
4
3
  export interface WdTagProps extends CommonPropsType, DataType {
@@ -102,18 +102,18 @@ declare const initData: ({ data, parent, showIcon, expendIcon, foldIcon, leafIco
102
102
  parent?: TreeNode;
103
103
  iconShow?: string;
104
104
  pos?: string;
105
- value: string;
106
105
  label: string;
107
- disabled: boolean;
108
106
  children: {
109
- value: string;
110
107
  label: string;
111
- disabled: boolean;
112
108
  children: any[];
109
+ value: string;
110
+ disabled: boolean;
113
111
  foldIcon: string;
114
112
  expendIcon: string;
115
113
  leafIcon: string;
116
114
  }[];
115
+ value: string;
116
+ disabled: boolean;
117
117
  foldIcon: string;
118
118
  expendIcon: string;
119
119
  leafIcon: string;
@@ -146,36 +146,37 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
146
146
  checkedState?: boolean;
147
147
  selectedState?: boolean;
148
148
  expandedtate?: boolean;
149
+ expanded: string[];
149
150
  event: string;
151
+ checked: string[];
152
+ selected: string[];
150
153
  currentNode: {
151
154
  data?: {
152
- value: string;
153
155
  label: string;
154
- disabled: boolean;
155
156
  children: any[];
157
+ value: string;
158
+ disabled: boolean;
156
159
  foldIcon: string;
157
160
  expendIcon: string;
158
161
  leafIcon: string;
159
162
  }[];
160
163
  };
161
- selected: string[];
162
164
  selectedPositions: string[];
163
165
  selectedNodes: {
164
- value: string;
165
166
  label: string;
166
- disabled: boolean;
167
167
  children: any[];
168
+ value: string;
169
+ disabled: boolean;
168
170
  foldIcon: string;
169
171
  expendIcon: string;
170
172
  leafIcon: string;
171
173
  }[];
172
- expanded: string[];
173
174
  expandedPositions: string[];
174
175
  expandedNodes: {
175
- value: string;
176
176
  label: string;
177
- disabled: boolean;
178
177
  children: any[];
178
+ value: string;
179
+ disabled: boolean;
179
180
  foldIcon: string;
180
181
  expendIcon: string;
181
182
  leafIcon: string;
@@ -183,21 +184,20 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
183
184
  searched: string[];
184
185
  searchedPositions: string[];
185
186
  searchedNodes: {
186
- value: string;
187
187
  label: string;
188
- disabled: boolean;
189
188
  children: any[];
189
+ value: string;
190
+ disabled: boolean;
190
191
  foldIcon: string;
191
192
  expendIcon: string;
192
193
  leafIcon: string;
193
194
  }[];
194
- checked: string[];
195
195
  checkedPositions: string[];
196
196
  checkedNodes: {
197
- value: string;
198
197
  label: string;
199
- disabled: boolean;
200
198
  children: any[];
199
+ value: string;
200
+ disabled: boolean;
201
201
  foldIcon: string;
202
202
  expendIcon: string;
203
203
  leafIcon: string;
@@ -205,10 +205,10 @@ declare const getTreeInfo: (params: IFindNodeParams, checkable: boolean) => {
205
205
  childChecked: string[];
206
206
  childCheckedPositions: string[];
207
207
  childCheckedNodes: {
208
- value: string;
209
208
  label: string;
210
- disabled: boolean;
211
209
  children: any[];
210
+ value: string;
211
+ disabled: boolean;
212
212
  foldIcon: string;
213
213
  expendIcon: string;
214
214
  leafIcon: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdUploadFile: ({ isReadOnly }: {
4
3
  isReadOnly?: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { CommonPropsType } from '../../../types';
3
2
  export declare const WdUploadImage: () => JSX.Element;
4
3
  export type WdUploadImageProps = CommonPropsType;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  /**
3
2
  * 获取 query 参数
4
3
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/weda-ui",
3
- "version": "3.23.3",
3
+ "version": "3.24.1",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index",
6
6
  "miniprogram": "mpdist",