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 { TEXT_SWAP_BLUR_PX, TEXT_SWAP_EASING, TEXT_SWAP_TRANSLATE_Y_PX } from "./constants";
/** 与 TextSwap 入场观感一致的单段 @keyframes 名称；供表格行、流式段落等复用。 */ export var TEXT_SWAP_ENTER_KEYFRAME_NAME = 'agenticTextSwapEnter';
/** MarkdownEditor 表格、MarkdownRenderer 流式文字共用同一套 keyframes（数值见 `constants.ts`）。 */ export var textSwapEnterKeyframes = _define_property({}, "@keyframes ".concat(TEXT_SWAP_ENTER_KEYFRAME_NAME), {
    from: {
        opacity: 0,
        transform: "translateY(".concat(TEXT_SWAP_TRANSLATE_Y_PX, "px)"),
        filter: "blur(".concat(TEXT_SWAP_BLUR_PX, "px)")
    },
    to: {
        opacity: 1,
        transform: 'translateY(0)',
        filter: 'blur(0)'
    }
});
export function textSwapEnterAnimationForwards(durationMs) {
    var easing = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : TEXT_SWAP_EASING;
    return "".concat(TEXT_SWAP_ENTER_KEYFRAME_NAME, " ").concat(durationMs, "ms ").concat(easing, " forwards");
}
export function textSwapEnterAnimationBoth(durationMs) {
    var easing = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : TEXT_SWAP_EASING;
    return "".concat(TEXT_SWAP_ENTER_KEYFRAME_NAME, " ").concat(durationMs, "ms ").concat(easing, " both");
}
