function _define_property(obj, key, value) {
    if (key in obj) {
        Object.defineProperty(obj, key, {
            value: value,
            enumerable: true,
            configurable: true,
            writable: true
        });
    } else {
        obj[key] = value;
    }
    return obj;
}
import { ConfigProvider } from "antd";
import classNames from "clsx";
import React, { useContext, useMemo } from "react";
/**
 * 评论视图组件 - 显示和管理 Markdown 编辑器中的评论
 *
 * 功能特性：
 * - 显示评论标记和高亮
 * - 支持点击查看评论详情
 *
 * @param props - 组件属性
 * @returns 渲染的评论视图组件
 */ export var CommentView = function CommentView(props) {
    var _props_commentItem;
    var setShowComment = props.setShowComment;
    var context = useContext(ConfigProvider.ConfigContext);
    var mdEditorBaseClass = context === null || context === void 0 ? void 0 : context.getPrefixCls('agentic-md-editor-content');
    /**
   * 查找当前评论数据
   * 通过解析 props.id 来匹配对应的评论项
   */ var thisComment = useMemo(function() {
        var _props_commentItem_find, _props_commentItem;
        return (_props_commentItem = props.commentItem) === null || _props_commentItem === void 0 ? void 0 : (_props_commentItem_find = _props_commentItem.find) === null || _props_commentItem_find === void 0 ? void 0 : _props_commentItem_find.call(_props_commentItem, function(c) {
            return "".concat(c.id) === props.id.split('-').at(-1);
        });
    }, [
        props.id
    ]);
    if (!((_props_commentItem = props.commentItem) === null || _props_commentItem === void 0 ? void 0 : _props_commentItem.length)) {
        return /*#__PURE__*/ React.createElement(React.Fragment, null, props.children);
    }
    var type = (thisComment === null || thisComment === void 0 ? void 0 : thisComment.commentType) || 'comment';
    return /*#__PURE__*/ React.createElement("span", {
        "data-be": "comment-text",
        "data-testid": "comment-view",
        id: props.id,
        className: classNames(_define_property({}, "".concat(mdEditorBaseClass, "-comment-").concat(type), type)),
        style: {
            position: 'relative'
        },
        onClick: function onClick(e) {
            var _props_commentItem;
            e.stopPropagation();
            setShowComment === null || setShowComment === void 0 ? void 0 : setShowComment((_props_commentItem = props.commentItem) === null || _props_commentItem === void 0 ? void 0 : _props_commentItem.filter(function(item) {
                return Boolean(item.content);
            }));
        }
    }, props.children);
};
/**
 * 评论创建组件 - 提供创建新评论的界面
 *
 * 功能说明：
 * - 如果提供了自定义的编辑器渲染器，则使用自定义渲染
 * - 否则渲染默认的空白创建界面
 * - 支持测试标识符以便于测试
 *
 * @param props - 组件属性
 * @returns 渲染的评论创建组件
 */ export var CommentCreate = function CommentCreate(props) {
    var _props_comment;
    var dom = /*#__PURE__*/ React.createElement("div", {
        "data-testid": "comment-create-default"
    });
    if ((_props_comment = props.comment) === null || _props_comment === void 0 ? void 0 : _props_comment.editorRender) {
        return props.comment.editorRender(dom);
    }
    return /*#__PURE__*/ React.createElement("div", {
        "data-testid": "comment-create-default"
    });
};
