Skip to main content

Content & marketing

Abstract Topographic Header code

Copy the implementation or inspect every file that belongs to this component unit.

resources/views/components/ui/abstract-topographic-header.blade.php

@props([
    'eyebrow' => null,
    'title' => null,
    'description' => null,
    'as' => 'h2',
])

@php
    /*
    | Survey header. Solid colour plus a drafting register, kept intentionally
    | cheap for browsers that struggle with large CSS gradients.
    */
@endphp

<section
    {{ $attributes->merge(['class' => 'abstract-topographic-field relative isolate min-h-[100dvh] overflow-hidden bg-gray-950 text-white']) }}
>
    <div class="absolute inset-0 -z-20 bg-gray-950" aria-hidden="true"></div>
    <div class="absolute left-6 top-6 hidden font-mono text-xs uppercase tracking-[0.28em] text-white/38 sm:block" aria-hidden="true">survey / no bitmap</div>
    <div class="absolute bottom-8 right-8 hidden font-mono text-[6rem] font-semibold leading-none text-white/[0.04] lg:block" aria-hidden="true">04</div>

    <div class="mx-auto grid w-full max-w-7xl gap-12 px-6 py-24 sm:px-8 lg:min-h-[100dvh] lg:grid-cols-[1fr_0.94fr] lg:items-center lg:px-10">
        <div>
            @if ($eyebrow)
                <p class="font-mono text-xs uppercase tracking-[0.34em] text-amber-200/76">{{ $eyebrow }}</p>
            @endif

            @if ($title)
                <{{ $as }} class="mt-6 max-w-4xl font-serif text-4xl font-medium leading-[0.94] tracking-[-0.035em] text-white text-balance sm:text-6xl lg:text-7xl">{{ $title }}</{{ $as }}>
            @endif

            @if ($description)
                <p class="mt-6 max-w-xl text-base leading-7 text-white/66 text-pretty sm:text-lg">{{ $description }}</p>
            @endif

            @isset($actions)
                <div class="mt-8 flex flex-col gap-3 sm:flex-row">{{ $actions }}</div>
            @endisset
        </div>

        <div class="relative border-l border-white/16 pl-6 lg:pl-8">
            <div class="absolute -left-px top-0 h-24 w-px bg-amber-200/70"></div>
            <p class="font-mono text-xs uppercase tracking-[0.28em] text-white/45">Survey register</p>
            <div class="mt-8 grid gap-6">
                @foreach ([
                    ['altitude', '112.4', 'line interval'],
                    ['bearing', '034.8', 'section angle'],
                    ['weight', '0kb', 'external media'],
                    ['surface', 'css', 'render mode'],
                ] as [$label, $value, $copy])
                    <div class="grid gap-2 border-t border-white/12 pt-4 text-sm sm:grid-cols-[6.5rem_5rem_1fr]">
                        <p class="font-mono uppercase tracking-[0.18em] text-white/42">{{ $label }}</p>
                        <p class="font-mono text-white">{{ $value }}</p>
                        <p class="text-white/58">{{ $copy }}</p>
                    </div>
                @endforeach
            </div>
        </div>
    </div>
</section>