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