@pierre/diffs
Version:
46 lines (45 loc) • 1.46 kB
JavaScript
"use client";
import { DIFFS_TAG_NAME } from "../constants.js";
import { renderFileChildren } from "./utils/renderFileChildren.js";
import { templateRender } from "./utils/templateRender.js";
import { useFileInstance } from "./utils/useFileInstance.js";
import { jsx } from "react/jsx-runtime";
//#region src/react/File.tsx
function File({ file, lineAnnotations, selectedLines, options, editorOptions, editStateKey, metrics, className, style, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata, prerenderedHTML, renderGutterUtility, disableWorkerPool = false, edit = false, onEditChange, onEditComplete }) {
const { ref, getHoveredLine, getAnnotationSlotName } = useFileInstance({
file,
options,
editorOptions,
editStateKey,
metrics,
lineAnnotations,
selectedLines,
prerenderedHTML,
hasGutterRenderUtility: renderGutterUtility != null,
hasCustomHeader: renderCustomHeader != null,
disableWorkerPool,
edit,
onEditChange,
onEditComplete
});
return /* @__PURE__ */ jsx(DIFFS_TAG_NAME, {
ref,
className,
style,
children: templateRender(renderFileChildren({
file,
renderAnnotation,
renderCustomHeader,
renderHeaderPrefix,
renderHeaderFilenameSuffix,
renderHeaderMetadata,
renderGutterUtility,
lineAnnotations,
getHoveredLine,
getAnnotationSlotName
}), prerenderedHTML)
});
}
//#endregion
export { File };
//# sourceMappingURL=File.js.map