/** * This is based on https://github.com/jfcherng/php-diff/blob/6.10.2/example/diff-table.scss * * It's been converted by performing these steps: * - npm install less-plugin-sass2less --save-dev * - ./node_modules/.bin/sass2less -c /usr/share/icinga-php/vendor/vendor/jfcherng/php-diff/example \ * diff-table.scss > /usr/share/icinga-php/vendor/asset/css/vendor/diff-table.less * - `@diff-text-color: invert(@diff-bg-color)` though had to be changed to `@diff-text-color: black`. * (`@diff-text-color: spin(@diff-bg-color, 180)` didn't work) */ @diff-bg-color: #fff; @diff-text-color: black; @diff-bg-color-ins-base: #8e8; @diff-bg-color-del-base: #e88; @diff-bg-color-rep-base: #fbdb65; @diff-op-highlight-ratio: 90%; @diff-op-normal-ratio: 25%; // emphasized colors for detailed inline difference @diff-bg-color-ins-highlight: mix(@diff-bg-color-ins-base, @diff-bg-color, @diff-op-highlight-ratio); @diff-bg-color-del-highlight: mix(@diff-bg-color-del-base, @diff-bg-color, @diff-op-highlight-ratio); // colors for operation rows @diff-bg-color-ins: mix(@diff-bg-color-ins-base, @diff-bg-color, @diff-op-normal-ratio); @diff-bg-color-del: mix(@diff-bg-color-del-base, @diff-bg-color, @diff-op-normal-ratio); @diff-bg-color-rep: mix(@diff-bg-color-rep-base, @diff-bg-color, @diff-op-normal-ratio); @diff-table-head-color: mix(@diff-bg-color, @diff-text-color, 65%); @diff-table-sidebar-color: mix(@diff-bg-color, @diff-text-color, 80%); @diff-border-color: @diff-text-color; // color for the nonexistent block // for example, there are a deleted line that has no corresponding one @diff-bg-color-none-block: mix(@diff-bg-color, @diff-table-sidebar-color, 80%); @diff-bg-color-none-block-alternative: mix(@diff-bg-color, @diff-table-sidebar-color, 55%); .diff-wrapper.diff { background: repeating-linear-gradient( -45deg, @diff-bg-color-none-block, @diff-bg-color-none-block 0.5em, @diff-bg-color-none-block-alternative 0.5em, @diff-bg-color-none-block-alternative 1em ); border-collapse: collapse; border-spacing: 0; border: 1px solid @diff-border-color; color: @diff-text-color; empty-cells: show; font-family: monospace; font-size: 13px; width: 100%; word-break: break-all; th { font-weight: 700; } td { vertical-align: baseline; } td, th { border-collapse: separate; border: none; padding: 1px 2px; background: @diff-bg-color; // make empty cell has height &:empty:after { content: " "; visibility: hidden; } a { color: #000; cursor: inherit; pointer-events: none; } } thead th { background: @diff-table-head-color; border-bottom: 1px solid @diff-border-color; padding: 4px; text-align: left; } tbody { &.skipped { border-top: 1px solid @diff-border-color; td, th { display: none; } } th { background: @diff-table-sidebar-color; border-right: 1px solid @diff-border-color; text-align: right; vertical-align: top; width: 4em; &.sign { background: @diff-bg-color; border-right: none; padding: 1px 0; text-align: center; width: 1em; &.del { background: @diff-bg-color-del; } &.ins { background: @diff-bg-color-ins; } } } } &.diff-html { white-space: pre-wrap; &.diff-combined { .change.change-rep { .rep { // fixes https://github.com/jfcherng/php-diff/issues/34#issuecomment-671404456 white-space: normal; } } } .change { &.change-eq { .old, .new { background: @diff-bg-color; } } .old { background: @diff-bg-color-del; } .new { background: @diff-bg-color-ins; } .rep { background: @diff-bg-color-rep; } .old, .new, .rep { &.none { background: transparent; cursor: not-allowed; } } ins, del { font-weight: bold; text-decoration: none; } ins { background: @diff-bg-color-ins-highlight; } del { background: @diff-bg-color-del-highlight; } } } }