Components
Diff Viewer
A line-based text diff with inline or side-by-side views and add/remove tinting.
php artisan blatui:add diff-viewer
greet.js
| Original line number | Changed line number | Line |
|---|---|---|
| 1 | Removed: function greet(name) { | |
| 2 | Removed: return "Hi " + name; | |
| 1 | Added: function greet(name, greeting = "Hello") { | |
| 2 | Added: return greeting + ", " + name + "!"; | |
| 3 | 3 | } |
{{-- Inline line diff of a small snippet, before to after. --}}
@php
$before = <<<'TXT'
function greet(name) {
return "Hi " + name;
}
TXT;
$after = <<<'TXT'
function greet(name, greeting = "Hello") {
return greeting + ", " + name + "!";
}
TXT;
@endphp
<x-ui.diff-viewer :old="$before" :new="$after" filename="greet.js" class="w-full max-w-lg" />
Split
greet.js
| Original line number | Original line | Changed line number | Changed line |
|---|---|---|---|
| 1 | Removed: function greet(name) { | 1 | Added: function greet(name, greeting = "Hello") { |
| 2 | Removed: return "Hi " + name; | 2 | Added: return greeting + ", " + name + "!"; |
| 3 | } | 3 | } |
{{-- Split (side-by-side) view: original on the left, changed on the right. --}}
@php
$before = <<<'TXT'
function greet(name) {
return "Hi " + name;
}
TXT;
$after = <<<'TXT'
function greet(name, greeting = "Hello") {
return greeting + ", " + name + "!";
}
TXT;
@endphp
<x-ui.diff-viewer mode="split" :old="$before" :new="$after" filename="greet.js" class="w-full" />