import React from 'react';
import { formilyReact } from '@cainiaofe/cn-ui';
import { mapStatus } from '../mapStatus.js';
const { connect, useFieldSchema, mapProps } = formilyReact;
/**
 * 自定义组件,统一添加弹出层属性，保证弹层可用
 *
 * @param WrappedComponent 要包装的组件。
 * @returns 返回一个包装后的组件，具有弹出层属性和状态映射。
 */
function withPopupProps(WrappedComponent) {
    return connect((props) => {
        const fieldSchema = useFieldSchema();
        return (React.createElement(WrappedComponent, { ...props, 
            // 部分组件弹层属性使用的是dropdownProps
            dropdownProps: {
                visible: true,
                popupContainer: document.getElementById(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.name),
            }, visible: true, className: "cn-search-panel-schema-field__item--full-width", 
            // 部分组件弹层属性使用的是popupProps
            popupContainer: document.getElementById(fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.name) }));
    }, mapProps(mapStatus, {
        dataSource: true,
    }));
}
export default withPopupProps;
