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