"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const cn_ui_1 = require("@cainiaofe/cn-ui");
const mapStatus_1 = require("../mapStatus.js");
const { connect, useFieldSchema, mapProps } = cn_ui_1.formilyReact;
/**
 * 自定义组件,统一添加弹出层属性，保证弹层可用
 *
 * @param WrappedComponent 要包装的组件。
 * @returns 返回一个包装后的组件，具有弹出层属性和状态映射。
 */
function withPopupProps(WrappedComponent) {
    return connect((props) => {
        const fieldSchema = useFieldSchema();
        return (react_1.default.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_1.mapStatus, {
        dataSource: true,
    }));
}
exports.default = withPopupProps;
