@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.
- package/dist/configs/components/button.d.ts +4 -5
- package/dist/configs/components/calendar.d.ts +1 -1
- package/dist/configs/components/chart/bar.d.ts +1 -1
- package/dist/configs/components/chart/line.d.ts +1 -1
- package/dist/configs/components/chart/pie.d.ts +1 -1
- package/dist/configs/components/form-checkbox.d.ts +2 -2
- package/dist/configs/components/form-date.d.ts +4 -4
- package/dist/configs/components/form-depart-tree-select.d.ts +4 -4
- package/dist/configs/components/form-email.d.ts +4 -4
- package/dist/configs/components/form-image-uploader.d.ts +4 -4
- package/dist/configs/components/form-input.d.ts +6 -6
- package/dist/configs/components/form-location.d.ts +8 -8
- package/dist/configs/components/form-multi-region.d.ts +4 -4
- package/dist/configs/components/form-phone.d.ts +4 -4
- package/dist/configs/components/form-radio.d.ts +2 -2
- package/dist/configs/components/form-region.d.ts +4 -4
- package/dist/configs/components/form-rich-text.d.ts +2 -2
- package/dist/configs/components/form-select-multiple.d.ts +4 -4
- package/dist/configs/components/form-select.d.ts +4 -4
- package/dist/configs/components/form-switch.d.ts +2 -2
- package/dist/configs/components/form-text-area.d.ts +4 -4
- package/dist/configs/components/form-time.d.ts +4 -4
- package/dist/configs/components/form-upload-file.d.ts +2 -2
- package/dist/configs/components/form-url.d.ts +4 -4
- package/dist/configs/components/form-user-tree-select.d.ts +4 -4
- package/dist/configs/components/grid/col.d.ts +6 -6
- package/dist/configs/components/grid/row.d.ts +4 -4
- package/dist/configs/components/image.d.ts +4 -4
- package/dist/configs/components/link.d.ts +0 -1
- package/dist/configs/components/modal.d.ts +0 -1
- package/dist/configs/components/qr_code.d.ts +1 -1
- package/dist/configs/components/tabs.d.ts +0 -1
- package/dist/configs/components/wd-bubble.d.ts +6 -7
- package/dist/configs/components/wd-button.d.ts +1 -1
- package/dist/configs/components/wd-calendar.d.ts +1 -1
- package/dist/configs/components/wd-canvas.d.ts +1 -1
- package/dist/configs/components/wd-card.d.ts +0 -1
- package/dist/configs/components/wd-cascader.d.ts +9 -9
- package/dist/configs/components/wd-checkbox.d.ts +3 -3
- package/dist/configs/components/wd-code-editor.d.ts +3 -3
- package/dist/configs/components/wd-date-range.d.ts +8 -8
- package/dist/configs/components/wd-date.d.ts +8 -8
- package/dist/configs/components/wd-department.d.ts +11 -11
- package/dist/configs/components/wd-form-arr.d.ts +3 -3
- package/dist/configs/components/wd-form-detail.d.ts +2 -2
- package/dist/configs/components/wd-form-obj.d.ts +3 -3
- package/dist/configs/components/wd-form.d.ts +8 -9
- package/dist/configs/components/wd-icon.d.ts +2 -2
- package/dist/configs/components/wd-image.d.ts +4 -4
- package/dist/configs/components/wd-input-email.d.ts +35 -35
- package/dist/configs/components/wd-input-number.d.ts +10 -10
- package/dist/configs/components/wd-input-phone.d.ts +35 -35
- package/dist/configs/components/wd-input-url.d.ts +35 -35
- package/dist/configs/components/wd-input.d.ts +5 -5
- package/dist/configs/components/wd-layout.d.ts +0 -1
- package/dist/configs/components/wd-link.d.ts +0 -1
- package/dist/configs/components/wd-location.d.ts +3 -3
- package/dist/configs/components/wd-member.d.ts +13 -13
- package/dist/configs/components/wd-menu-layout.d.ts +6 -7
- package/dist/configs/components/wd-menu-list.d.ts +2 -2
- package/dist/configs/components/wd-modal.d.ts +0 -1
- package/dist/configs/components/wd-progress.d.ts +6 -7
- package/dist/configs/components/wd-radio.d.ts +3 -3
- package/dist/configs/components/wd-rating.d.ts +6 -6
- package/dist/configs/components/wd-region.d.ts +9 -9
- package/dist/configs/components/wd-rich-text.d.ts +3 -3
- package/dist/configs/components/wd-select-multiple.d.ts +10 -10
- package/dist/configs/components/wd-select.d.ts +9 -9
- package/dist/configs/components/wd-side-tab.d.ts +1 -2
- package/dist/configs/components/wd-switch.d.ts +6 -6
- package/dist/configs/components/wd-table.d.ts +27 -15
- package/dist/configs/components/wd-table.js +51 -12
- package/dist/configs/components/wd-tag-select.d.ts +7 -7
- package/dist/configs/components/wd-text.d.ts +3 -3
- package/dist/configs/components/wd-textarea.d.ts +3 -3
- package/dist/configs/components/wd-time.d.ts +8 -8
- package/dist/configs/components/wd-top-tab.d.ts +1 -2
- package/dist/configs/components/wd-tree.d.ts +0 -1
- package/dist/configs/components/wd-upload-file.d.ts +5 -5
- package/dist/configs/components/wd-upload-file.js +3 -0
- package/dist/configs/components/wd-upload-image.d.ts +13 -13
- package/dist/configs/components/wd-upload-image.js +3 -0
- package/dist/configs/components/wedaVideo.d.ts +2 -2
- package/dist/configs/components/wxOpenApi/phone.d.ts +2 -2
- package/dist/configs/components/wxOpenApi/phoneCode.d.ts +1 -1
- package/dist/configs/components/wxOpenApi/share.d.ts +2 -2
- package/dist/configs/components/wxOpenApi/userInfo.d.ts +2 -2
- package/dist/configs/index.d.ts +592 -573
- package/dist/configs/type-utils/index.d.ts +1 -1
- package/dist/style/index.css +66 -0
- package/dist/style/index.scss +1 -1
- package/dist/style/weda-ui.min.css +3 -3
- package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -1
- package/dist/web/components/flow/common/hooks/useFlowConfig.d.ts +0 -1
- package/dist/web/components/flow/modules/basic/Basic.d.ts +0 -1
- package/dist/web/components/flow/modules/basic/BasicMobile.d.ts +0 -1
- package/dist/web/components/flow/modules/combination/index.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/control.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/controls-items/index.d.ts +0 -1
- package/dist/web/components/flow/modules/operations/view-model.d.ts +0 -1
- package/dist/web/components/flow/process/constants.d.ts +3 -3
- package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -1
- package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -1
- package/dist/web/components/form/select/h5.d.ts +1 -1
- package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/error-tips.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/input-tags.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/modal-search-h5.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/modal-search.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/modal-select-h5.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/org-tree-h5.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/org-tree.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/selected-list-h5.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/selected-list.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-org-list.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.d.ts +0 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.d.ts +0 -1
- package/dist/web/components/form-date/index.d.ts +9 -9
- package/dist/web/components/form-depart-tree-select/index.d.ts +9 -9
- package/dist/web/components/form-email/index.d.ts +7 -7
- package/dist/web/components/form-image-uploader/index.d.ts +9 -9
- package/dist/web/components/form-input/index.d.ts +14 -14
- package/dist/web/components/form-input-hooks/index.d.ts +2 -2
- package/dist/web/components/form-location/index.d.ts +13 -13
- package/dist/web/components/form-multi-region/index.d.ts +7 -7
- package/dist/web/components/form-phone/index.d.ts +7 -7
- package/dist/web/components/form-radio/index.d.ts +7 -7
- package/dist/web/components/form-region/index.d.ts +7 -7
- package/dist/web/components/form-rich-text/index.d.ts +6 -6
- package/dist/web/components/form-select/index.d.ts +12 -12
- package/dist/web/components/form-select-multiple/index.d.ts +11 -11
- package/dist/web/components/form-switch/index.d.ts +4 -4
- package/dist/web/components/form-text-area/index.d.ts +8 -8
- package/dist/web/components/form-time/index.d.ts +8 -8
- package/dist/web/components/form-upload-file/index.d.ts +10 -10
- package/dist/web/components/form-url/index.d.ts +7 -7
- package/dist/web/components/form-user-tree-select/index.d.ts +10 -10
- package/dist/web/components/grid/col.d.ts +2 -2
- package/dist/web/components/grid/row.d.ts +1 -1
- package/dist/web/components/lottery/index.d.ts +2 -2
- package/dist/web/components/pageLayout/PageContent/index.d.ts +0 -1
- package/dist/web/components/phone/index.d.ts +0 -1
- package/dist/web/components/phoneCode/index.d.ts +0 -1
- package/dist/web/components/share/index.d.ts +0 -1
- package/dist/web/components/table/BaseTable.d.ts +0 -1
- package/dist/web/components/table/FieldRender.d.ts +0 -1
- package/dist/web/components/table/FilterFields.d.ts +0 -1
- package/dist/web/components/table/Form/Enum.d.ts +0 -1
- package/dist/web/components/table/Form/Location.d.ts +0 -1
- package/dist/web/components/table/QuoteModal.d.ts +0 -1
- package/dist/web/components/table/UserDepartment/ViewCell.d.ts +0 -1
- package/dist/web/components/table/UserDepartment/utils.d.ts +0 -1
- package/dist/web/components/userInfo/index.d.ts +0 -1
- package/dist/web/components/wd-calendar/MonthSelect.d.ts +0 -1
- package/dist/web/components/wd-code-editor/lang/index.d.ts +1 -1
- package/dist/web/components/wd-date/elements/interface.d.ts +1 -1
- package/dist/web/components/wd-department/_design/wd-department-select.d.ts +0 -1
- package/dist/web/components/wd-form/wd-form.d.ts +0 -1
- package/dist/web/components/wd-form-cell/wd-form-cell.d.ts +0 -1
- package/dist/web/components/wd-form-item/wd-input-group.d.ts +0 -1
- package/dist/web/components/wd-form-item/wd-input-wrap.d.ts +0 -1
- package/dist/web/components/wd-image/ImagePreview.d.ts +0 -1
- package/dist/web/components/wd-input/wd-input.d.ts +23 -23
- package/dist/web/components/wd-input-email/wd-input-email.d.ts +15 -15
- package/dist/web/components/wd-input-group/wd-input-group.d.ts +0 -1
- package/dist/web/components/wd-input-phone/wd-input-phone.d.ts +23 -23
- package/dist/web/components/wd-input-url/wd-input-url.d.ts +15 -15
- package/dist/web/components/wd-layout/wd-layout.d.ts +0 -1
- package/dist/web/components/wd-location/_design/wd-location.d.ts +0 -1
- package/dist/web/components/wd-member/_design/wd-member-select.d.ts +0 -1
- package/dist/web/components/wd-menu-layout/components/HorizontalMenu.d.ts +1 -1
- package/dist/web/components/wd-menu-layout/components/HorizontalMenu.js +1 -1
- package/dist/web/components/wd-menu-layout/components/LeftMenu.d.ts +3 -0
- package/dist/web/components/wd-menu-layout/components/LeftMenu.js +41 -0
- package/dist/web/components/wd-menu-layout/components/PlantMenu.d.ts +1 -1
- package/dist/web/components/wd-menu-layout/components/PlantMenu.js +2 -2
- package/dist/web/components/wd-menu-layout/components/VerticalMenu.js +8 -3
- package/dist/web/components/wd-menu-layout/wd-menu-layout.d.ts +4 -1
- package/dist/web/components/wd-menu-layout/wd-menu-layout.js +4 -5
- package/dist/web/components/wd-menu-list/CommonMenuList.js +7 -13
- package/dist/web/components/wd-radio/wd-radio.d.ts +0 -1
- package/dist/web/components/wd-region/_design/wd-region.d.ts +0 -1
- package/dist/web/components/wd-retry/wd-retry.d.ts +0 -1
- package/dist/web/components/wd-select/_design/wd-select.d.ts +0 -1
- package/dist/web/components/wd-select/hooks/useChooseList.d.ts +1 -1
- package/dist/web/components/wd-select/relationSelect/relationalSetting.d.ts +0 -1
- package/dist/web/components/wd-table/components/ExportFileModalByApi/index.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/Form/Enum.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/Form/Location.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/ImagePreview.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/QuoteModal.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.d.ts +0 -1
- package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.d.ts +0 -1
- package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.d.ts +0 -1
- package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.d.ts +0 -1
- package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.d.ts +0 -1
- package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.d.ts +0 -1
- package/dist/web/components/wd-table/components/ImportFileModalByApi/index.d.ts +0 -1
- package/dist/web/components/wd-table/components/InOrOutRecordModal.d.ts +0 -1
- package/dist/web/components/wd-table/components/Pagination/index.d.ts +0 -1
- package/dist/web/components/wd-table/components/SearchBox/index.d.ts +0 -1
- package/dist/web/components/wd-tabs/tabs-h5.d.ts +0 -1
- package/dist/web/components/wd-tabs/tabs-pc.d.ts +0 -1
- package/dist/web/components/wd-tabs/tabs.d.ts +0 -1
- package/dist/web/components/wd-tag/_design.d.ts +0 -1
- package/dist/web/components/wd-tree/utils.d.ts +19 -19
- package/dist/web/components/wd-upload-file/_design/wd-upload-file.d.ts +0 -1
- package/dist/web/components/wd-upload-image/_design/wd-upload-image.d.ts +0 -1
- package/dist/web/utils/getPageQuery.d.ts +0 -1
- package/package.json +1 -1
|
@@ -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<
|
|
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,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<
|
|
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 {
|
|
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: [
|
|
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
|
|
5
|
-
import {
|
|
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
|
-
|
|
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<
|
|
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) &&
|
|
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
|
|
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
|
|
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;
|
|
@@ -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;
|