react-code-compare
Version:
A simple and fast text diff viewer component
2 lines (1 loc) • 2.55 kB
JavaScript
var v=Object.create;var s=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var W=(i,n)=>{for(var e in n)s(i,e,{get:n[e],enumerable:!0})},R=(i,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of O(n))!k.call(i,a)&&a!==e&&s(i,a,{get:()=>n[a],enumerable:!(o=T(n,a))||o.enumerable});return i};var I=(i,n,e)=>(e=i!=null?v(x(i)):{},R(n||!i||!i.__esModule?s(e,"default",{value:i,enumerable:!0}):e,i)),$=i=>R(s({},"__esModule",{value:!0}),i);var X={};W(X,{Line:()=>V});module.exports=$(X);var l=I(require("classnames"));var F=I(require("diff"));var r=require("react/jsx-runtime"),H=(i,n,e)=>i.map((o,a)=>(0,r.jsx)("span",{className:(0,l.default)(n.wordDiff,{[n.wordAdded]:o.type===1,[n.wordRemoved]:o.type===2}),children:e?e(o.value):o.value},a));function V({line:i,prefix:n,styles:e,highlightLines:o,onLineNumberClickProxy:a,splitPosition:f,additionalOptions:N={},diffViewOptions:A}){let{lineNumber:p,type:E,value:c}=i,{additionalLineNumber:g,additionalPrefix:S}=N,{renderContent:D,hideLineNumbers:b,splitView:t}=A,L=`${n}-${p}`,C=`${S}-${g}`,h=o.includes(L)||o.includes(C),u=E===1,d=E===2,m;return Array.isArray(c)?m=H(c,e,D):D?m=D(c):m=c,(0,r.jsxs)(r.Fragment,{children:[!b&&(0,r.jsx)("td",{onClick:p&&a(L),className:(0,l.default)(e.gutter,{[e.emptyGutter]:!p,[e.diffAdded]:u,[e.diffRemoved]:d,[e.highlightedGutter]:h,[e.splitCellLeft]:t&&f==="left"||!t,[e.splitCellRight]:t&&f==="right"}),"data-line-number":L,children:(0,r.jsx)("pre",{className:e.lineNumber,children:p})}),!t&&!b&&(0,r.jsx)("td",{onClick:g&&a(C),"data-line-number":C,className:(0,l.default)(e.gutter,{[e.emptyGutter]:!g,[e.diffAdded]:u,[e.diffRemoved]:d,[e.highlightedGutter]:h,[e.splitCellLeft]:t&&f==="left",[e.splitCellRight]:t&&f==="right",[e.splitCellRight]:t&&f==="right"||!t}),children:(0,r.jsx)("pre",{className:e.lineNumber,children:g})}),(0,r.jsx)("td",{className:(0,l.default)(e.marker,{[e.emptyLine]:!m,[e.diffAdded]:u,[e.diffRemoved]:d,[e.highlightedLine]:h,[e.splitCellLeft]:t&&f==="left",[e.splitCellRight]:t&&f==="right",[e.splitCellRight]:t&&f==="right"||!t}),children:(0,r.jsxs)("pre",{children:[u&&"+",d&&"-"]})}),(0,r.jsx)("td",{className:(0,l.default)(e.content,{[e.emptyLine]:!m,[e.diffAdded]:u,[e.diffRemoved]:d,[e.highlightedLine]:h,[e.splitCellLeft]:t&&f==="left",[e.splitCellRight]:t&&f==="right",[e.splitCellRight]:t&&f==="right"||!t}),children:(0,r.jsx)("pre",{className:e.contentText,children:m})})]})}0&&(module.exports={Line});