@props([ 'code', 'language', 'editor' => false, 'startingLine' => 1, 'highlightedLine' => null, 'truncate' => false, ]) @php $fallback = $truncate ? '
' : '';
if ($editor) {
$lines = explode("\n", $code);
foreach ($lines as $index => $line) {
$lineNumber = $startingLine + $index;
$highlight = $highlightedLine === $index;
$lineClass = implode(' ', [
'block px-4 py-1 h-7 even:bg-white odd:bg-white/2 even:dark:bg-white/2 odd:dark:bg-white/4',
$highlight ? 'bg-rose-200! dark:bg-rose-900!' : '',
]);
$lineNumberClass = implode(' ', [
'mr-6 text-neutral-500! dark:text-neutral-600!',
$highlight ? 'dark:text-white!' : '',
]);
$fallback .= '';
$fallback .= '' . $lineNumber . '';
$fallback .= htmlspecialchars($line);
$fallback .= '';
}
} else {
$fallback .= htmlspecialchars($code);
}
$fallback .= '
';
@endphp
{!! $fallback !!}