{"version":3,"file":"File.js","names":[],"sources":["../../src/react/File.tsx"],"sourcesContent":["'use client';\n\nimport { type FileOptions } from '../components/File';\nimport { DIFFS_TAG_NAME } from '../constants';\nimport type { FileProps } from './types';\nimport { renderFileChildren } from './utils/renderFileChildren';\nimport { templateRender } from './utils/templateRender';\nimport { useFileInstance } from './utils/useFileInstance';\n\nexport type { FileOptions };\n\nexport function File<LAnnotation = undefined>({\n  file,\n  lineAnnotations,\n  selectedLines,\n  options,\n  metrics,\n  className,\n  style,\n  renderAnnotation,\n  renderCustomHeader,\n  renderHeaderPrefix,\n  renderHeaderMetadata,\n  prerenderedHTML,\n  renderGutterUtility,\n  renderHoverUtility,\n  disableWorkerPool = false,\n}: FileProps<LAnnotation>): React.JSX.Element {\n  const { ref, getHoveredLine } = useFileInstance({\n    file,\n    options,\n    metrics,\n    lineAnnotations,\n    selectedLines,\n    prerenderedHTML,\n    hasGutterRenderUtility:\n      renderGutterUtility != null || renderHoverUtility != null,\n    hasCustomHeader: renderCustomHeader != null,\n    disableWorkerPool,\n  });\n  const children = renderFileChildren({\n    file,\n    renderAnnotation,\n    renderCustomHeader,\n    renderHeaderPrefix,\n    renderHeaderMetadata,\n    renderGutterUtility,\n    renderHoverUtility,\n    lineAnnotations,\n    getHoveredLine,\n  });\n  return (\n    <DIFFS_TAG_NAME ref={ref} className={className} style={style}>\n      {templateRender(children, prerenderedHTML)}\n    </DIFFS_TAG_NAME>\n  );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,KAA8B,EAC5C,MACA,iBACA,eACA,SACA,SACA,WACA,OACA,kBACA,oBACA,oBACA,sBACA,iBACA,qBACA,oBACA,oBAAoB,SACwB;CAC5C,MAAM,EAAE,KAAK,mBAAmB,gBAAgB;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA,wBACE,uBAAuB,QAAQ,sBAAsB;EACvD,iBAAiB,sBAAsB;EACvC;EACD,CAAC;AAYF,QACE,oBAAC;EAAoB;EAAgB;EAAkB;YACpD,eAbY,mBAAmB;GAClC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,EAG4B,gBAAgB;GAC3B"}