@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
18 lines (17 loc) • 781 B
JavaScript
//#region src/Markdown/SyntaxMarkdown/streamAnimationMeta.ts
const isActiveBlock = (state) => {
return state === "animating" || state === "streaming";
};
const resolveBlockAnimationMeta = ({ blockCharCount, currentCharDelay, fadeDuration, previousCharDelay, state, timelineElapsedMs }) => {
const charDelay = isActiveBlock(state) ? currentCharDelay : previousCharDelay ?? currentCharDelay;
const latestCharStart = Math.max(0, (blockCharCount - 1) * charDelay);
const settled = state === "revealed" && timelineElapsedMs >= latestCharStart + fadeDuration;
return {
charDelay,
settled,
timelineElapsedMs: settled ? latestCharStart + fadeDuration : timelineElapsedMs
};
};
//#endregion
export { resolveBlockAnimationMeta };
//# sourceMappingURL=streamAnimationMeta.mjs.map