react-code-compare
Version:
A simple and fast text diff viewer component
2 lines (1 loc) • 6.96 kB
JavaScript
var U=Object.create;var w=Object.defineProperty,q=Object.defineProperties,z=Object.getOwnPropertyDescriptor,K=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,Y=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var F=(n,i,e)=>i in n?w(n,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[i]=e,A=(n,i)=>{for(var e in i||(i={}))H.call(i,e)&&F(n,e,i[e]);if(v)for(var e of v(i))Z.call(i,e)&&F(n,e,i[e]);return n},V=(n,i)=>q(n,K(i));var j=(n,i)=>{for(var e in i)w(n,e,{get:i[e],enumerable:!0})},B=(n,i,e,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of Q(i))!H.call(n,o)&&o!==e&&w(n,o,{get:()=>i[o],enumerable:!(r=z(i,o))||r.enumerable});return n};var T=(n,i,e)=>(e=n!=null?U(Y(n)):{},B(i||!n||!n.__esModule?w(e,"default",{value:n,enumerable:!0}):e,n)),ee=n=>B(w({},"__esModule",{value:!0}),n);var oe={};j(oe,{Table:()=>re});module.exports=ee(oe);var _=T(require("classnames"));var J=T(require("classnames"));var G=T(require("classnames")),X=require("react/jsx-runtime");function L({className:n,styles:i,children:e,index:r,rowRef:o}){return(0,X.jsx)("tr",{className:(0,G.default)(i.line,n),ref:o,"data-index":r,children:e})}var f=require("react/jsx-runtime");function W({splitView:n,xSpacer:i,onBlockClickProxy:e,codeFoldMessageRenderer:r,hideLineNumbers:o,styles:t,num:d,blockNumber:u,leftBlockLineNumber:a,rightBlockLineNumber:l,rowIndex:g,rowRef:m}){let C=r?r(d,a,l):(0,f.jsx)("pre",{className:t.codeFoldContent,children:`Expand ${d} lines ...`}),D=(0,f.jsx)("td",{children:(0,f.jsx)("a",{onClick:e(u),tabIndex:0,children:C})}),k=!n&&!o;return(0,f.jsxs)(L,{className:t.codeFold,styles:t,rowRef:m,index:g,children:[i&&(0,f.jsx)("td",{className:t.xSpacer}),!o&&(0,f.jsx)("td",{className:t.codeFoldGutter}),(0,f.jsx)("td",{className:(0,J.default)({[t.codeFoldGutter]:k})}),k?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("td",{}),D]}):(0,f.jsxs)(f.Fragment,{children:[D,(0,f.jsx)("td",{})]}),(0,f.jsx)("td",{}),(0,f.jsx)("td",{}),i&&(0,f.jsx)("td",{className:t.xSpacer})]})}var ie=T(require("diff"));var b={LEFT:"L",RIGHT:"R"};var x=T(require("classnames"));var c=require("react/jsx-runtime"),te=(n,i,e)=>n.map((r,o)=>(0,c.jsx)("span",{className:(0,x.default)(i.wordDiff,{[i.wordAdded]:r.type===1,[i.wordRemoved]:r.type===2}),children:e?e(r.value):r.value},o));function R({line:n,prefix:i,styles:e,highlightLines:r,onLineNumberClickProxy:o,splitPosition:t,additionalOptions:d={},diffViewOptions:u}){let{lineNumber:a,type:l,value:g}=n,{additionalLineNumber:m,additionalPrefix:C}=d,{renderContent:D,hideLineNumbers:k,splitView:p}=u,y=`${i}-${a}`,P=`${C}-${m}`,O=r.includes(y)||r.includes(P),I=l===1,S=l===2,E;return Array.isArray(g)?E=te(g,e,D):D?E=D(g):E=g,(0,c.jsxs)(c.Fragment,{children:[!k&&(0,c.jsx)("td",{onClick:a&&o(y),className:(0,x.default)(e.gutter,{[e.emptyGutter]:!a,[e.diffAdded]:I,[e.diffRemoved]:S,[e.highlightedGutter]:O,[e.splitCellLeft]:p&&t==="left"||!p,[e.splitCellRight]:p&&t==="right"}),"data-line-number":y,children:(0,c.jsx)("pre",{className:e.lineNumber,children:a})}),!p&&!k&&(0,c.jsx)("td",{onClick:m&&o(P),"data-line-number":P,className:(0,x.default)(e.gutter,{[e.emptyGutter]:!m,[e.diffAdded]:I,[e.diffRemoved]:S,[e.highlightedGutter]:O,[e.splitCellLeft]:p&&t==="left",[e.splitCellRight]:p&&t==="right",[e.splitCellRight]:p&&t==="right"||!p}),children:(0,c.jsx)("pre",{className:e.lineNumber,children:m})}),(0,c.jsx)("td",{className:(0,x.default)(e.marker,{[e.emptyLine]:!E,[e.diffAdded]:I,[e.diffRemoved]:S,[e.highlightedLine]:O,[e.splitCellLeft]:p&&t==="left",[e.splitCellRight]:p&&t==="right",[e.splitCellRight]:p&&t==="right"||!p}),children:(0,c.jsxs)("pre",{children:[I&&"+",S&&"-"]})}),(0,c.jsx)("td",{className:(0,x.default)(e.content,{[e.emptyLine]:!E,[e.diffAdded]:I,[e.diffRemoved]:S,[e.highlightedLine]:O,[e.splitCellLeft]:p&&t==="left",[e.splitCellRight]:p&&t==="right",[e.splitCellRight]:p&&t==="right"||!p}),children:(0,c.jsx)("pre",{className:e.contentText,children:E})})]})}var s=require("react/jsx-runtime");function $({lineInformation:n,order:i,styles:e,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t,rowRef:d,rowIndex:u}){let{left:a,right:l}=n;if(a.type===2&&l.type===1){if(i==="left")return(0,s.jsx)(L,{styles:e,rowRef:d,index:u,children:(0,s.jsx)(R,{line:a,prefix:b.LEFT,styles:e,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t})});if(i==="right")return(0,s.jsx)(L,{styles:e,rowRef:d,index:u,children:(0,s.jsx)(R,{line:V(A({},l),{lineNumber:null}),prefix:b.RIGHT,styles:e,highlightLines:r,onLineNumberClickProxy:o,additionalOptions:{additionalLineNumber:l.lineNumber},diffViewOptions:t})})}if(a.type===2)return(0,s.jsx)(L,{styles:e,rowRef:d,index:u,children:(0,s.jsx)(R,{line:a,prefix:b.LEFT,styles:e,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t})});if(a.type===0)return(0,s.jsx)(L,{styles:e,rowRef:d,index:u,children:(0,s.jsx)(R,{line:a,prefix:b.LEFT,styles:e,highlightLines:r,onLineNumberClickProxy:o,additionalOptions:{additionalLineNumber:l.lineNumber,additionalPrefix:b.RIGHT},diffViewOptions:t})});if(l.type===1)return(0,s.jsx)(L,{styles:e,rowRef:d,index:u,children:(0,s.jsx)(R,{line:V(A({},l),{lineNumber:null}),prefix:b.RIGHT,styles:e,highlightLines:r,onLineNumberClickProxy:o,additionalOptions:{additionalLineNumber:l.lineNumber},diffViewOptions:t})})}var h=require("react/jsx-runtime");function M({lineInformation:n,styles:i,xSpacer:e,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t,rowIndex:d,rowRef:u}){let{left:a,right:l}=n;return(0,h.jsxs)(L,{styles:i,rowRef:u,index:d,children:[e&&(0,h.jsx)("td",{className:i.xOuterSpacer}),(0,h.jsx)(R,{line:a,prefix:b.LEFT,styles:i,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t,splitPosition:"left"}),e&&(0,h.jsx)("td",{className:i.xCenterSpacer}),(0,h.jsx)(R,{line:l,prefix:b.RIGHT,styles:i,highlightLines:r,onLineNumberClickProxy:o,diffViewOptions:t,splitPosition:"right"}),e&&(0,h.jsx)("td",{className:i.xOuterSpacer})]})}var N=require("react/jsx-runtime");function re({title:n,items:i,styles:e,xSpacer:r,splitView:o,hideLineNumbers:t,onBlockClickProxy:d,codeFoldMessageRenderer:u,highlightLines:a,onLineNumberClickProxy:l,diffViewOptions:g}){return(0,N.jsx)("table",{className:(0,_.default)(e.diffContainer,{[e.splitView]:o}),children:(0,N.jsxs)("tbody",{children:[n,i.map((m,C)=>m.type==="skipped"?(0,N.jsx)(W,{splitView:o,xSpacer:r,onBlockClickProxy:d,codeFoldMessageRenderer:u,hideLineNumbers:t,styles:e,num:m.data.num,blockNumber:m.data.blockNumber,leftBlockLineNumber:m.data.leftBlockLineNumber,rightBlockLineNumber:m.data.rightBlockLineNumber},C):m.type==="split"?(0,N.jsx)(M,{lineInformation:m.data.line,styles:e,xSpacer:r,highlightLines:a,onLineNumberClickProxy:l,diffViewOptions:g},C):m.type==="unified"?(0,N.jsx)($,{lineInformation:m.data.line,order:m.data.order,styles:e,highlightLines:a,onLineNumberClickProxy:l,diffViewOptions:g},C):null)]})})}0&&(module.exports={Table});