Skip to content
Brok UI

Loading…

No results

Trust Strip

Open source

A four-up incentives band highlighting shipping, returns, secure checkout, and support with tokened icon tiles.

Responsive Dark mode RTL Localized SEO

Preview

resources/views/blocks/trust-strip.blade.php Blade
@props([
    'incentives' => null,
])

@php
    $incentives ??= [
        [
            'icon' => 'M3 7a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8H3V7Zm11 2h3.6a1 1 0 0 1 .86.49L21 13v3h-7V9Z M7.5 18.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z',
            'title' => 'Free shipping',
            'subtext' => 'On every order over $75, delivered in 2-4 days.',
        ],
        [
            'icon' => 'M3 7v6a9 9 0 0 0 9 9 9 9 0 0 0 9-9 M3 7l3-3 M3 7h4 M14 9l3 3-3 3',
            'title' => '30-day returns',
            'subtext' => 'No-questions refunds with a prepaid label.',
        ],
        [
            'icon' => 'M12 3l7 3v5c0 4.4-3 8.3-7 9.5-4-1.2-7-5.1-7-9.5V6l7-3Z M9 12l2 2 4-4',
            'title' => 'Secure checkout',
            'subtext' => 'Encrypted payments and PCI-compliant by default.',
        ],
        [
            'icon' => 'M4 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H9l-4 4v-4H6a2 2 0 0 1-2-2V5Z M9 9h6 M9 12h4',
            'title' => '24/7 support',
            'subtext' => 'Real people answering chat and email anytime.',
        ],
    ];
@endphp

<x-ui.section
    aria-label="{{ __('Shopping incentives') }}"
    data-slot="trust-strip"
    space="lg" {{ $attributes }}
>
    <x-ui.container gutter="sm">
        <h2 class="sr-only">{{ __('Why shop with us') }}</h2>

        <x-ui.card class="p-6 sm:p-8">
            <ul role="list" class="grid grid-cols-1 gap-y-8 sm:grid-cols-2 lg:grid-cols-4 lg:gap-y-0">
                @foreach ($incentives as $index => $incentive)
                    <li class="flex items-start gap-4 lg:px-6 lg:first:ps-0 lg:last:pe-0">
                        {{-- Separator between cells on large screens --}}
                        @if (! $loop->first)
                            <x-ui.separator
                                orientation="vertical"
                                class="-ms-6 hidden h-12 self-center lg:block"
                            />
                        @endif

                        <x-ui.icon.tile size="lg">
                            <svg
                                class="size-6"
                                viewBox="0 0 24 24"
                                fill="none"
                                stroke="currentColor"
                                stroke-width="1.75"
                                stroke-linecap="round"
                                stroke-linejoin="round"
                                aria-hidden="true"
                            >
                                <path d="{{ $incentive['icon'] }}" />
                            </svg>
                        </x-ui.icon.tile>

                        <div class="min-w-0">
                            <h3 class="text-sm font-semibold tracking-tight text-foreground">
                                {{ __($incentive['title']) }}
                            </h3>
                            <p class="mt-2 text-pretty text-sm text-muted-foreground">
                                {{ __($incentive['subtext']) }}
                            </p>
                        </div>
                    </li>
                @endforeach
            </ul>
        </x-ui.card>
    </x-ui.container>
</x-ui.section>

Installation

terminal
php artisan ui:add blocks/trust-strip

Installs these dependencies automatically:

Registry contract

Install confidence

php artisan ui:add blocks/trust-strip writes only the generated targets below. The CLI validates each file hash before writing and prompts before replacing local changes unless --force is used.

Version
1.0.6
License
open
Stability
stable
Contract
v1
Foundation
≥ 1.0.0
Type Generated target
blade resources/views/blocks/trust-strip.blade.php

Registry dependencies

card container icon section separator

Package dependencies

composer: jml/brok:^0.2

Use with AI

A brief for your coding agent: what the block is, the install command, how to render it, its props and the rules. Copy it, or open a prompt about this block in an assistant.

trust-strip.md
# Brok UI block: Trust Strip (`trust-strip`)

A four-up incentives band highlighting shipping, returns, secure checkout, and support with tokened icon tiles.

Brok UI is a Laravel Blade registry. `ui:add` copies this block into the app as plain Blade the app owns; it composes installed `<brok:*>` primitives and semantic design tokens.

## Install

```bash
php artisan ui:add blocks/trust-strip
```

## Render it

```blade
<x-blocks.trust-strip />
```

## Props

- `incentives` (mixed|null, default `null`) — Incentive tiles with an icon, title and subtext; null falls back to sample data.

## Use when

- Highlighting shopping incentives, such as shipping, returns, secure checkout and support, in a four-up band with icon tiles.
- Reassuring shoppers near the cart or checkout on a storefront.

## Avoid when

- Needing customer quotes or ratings rather than policy incentives; use social-proof-trust-bar instead.

## Rules

- Render the installed block with `<x-blocks.trust-strip />` and pass data through its props; edit the copied file only for structural changes.
- Keep the semantic design tokens (`bg-background`, `text-muted-foreground`); never swap in raw colour utilities.
- Keep the `data-slot` attributes and the logical (start/end) spacing so the markup still mirrors under `dir="rtl"`.

## Links

- Docs: https://brokui.dev/blocks/trust-strip
- Registry JSON (files, props, contract): https://brokui.dev/r/open/blocks/trust-strip.json

Working in Claude Code, Cursor or Codex? Give the agent the whole registry through the MCP server or the Brok UI skill.

Guidance

Use when

  • Highlighting shopping incentives, such as shipping, returns, secure checkout and support, in a four-up band with icon tiles.
  • Reassuring shoppers near the cart or checkout on a storefront.

Avoid when

  • Needing customer quotes or ratings rather than policy incentives; use social-proof-trust-bar instead.

Anti-patterns

  • Do not replace semantic props with conflicting utility classes.
  • Do not remove labels, focus styles, or state attributes.
Anatomy
root trust-strip

Usage

Render the block as a component, passing data where useful:

resources/views/welcome.blade.php Blade
<x-blocks.trust-strip />

Built from primitives

Composes <brok:*> Semantic tokens Re-themeable RTL-ready

This block composes installed <brok:*> primitives and semantic design tokens only — it does not reimplement any primitive. Re-theme it (light, dark, admin, customer) by editing CSS variables; flip the preview to RTL to confirm it mirrors.

Source

The exact, editable file ui:add writes into your app. The preview above renders this same source — there are no preview-only blocks.

resources/views/blocks/trust-strip.blade.php Blade
@props([
    'incentives' => null,
])

@php
    $incentives ??= [
        [
            'icon' => 'M3 7a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8H3V7Zm11 2h3.6a1 1 0 0 1 .86.49L21 13v3h-7V9Z M7.5 18.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z',
            'title' => 'Free shipping',
            'subtext' => 'On every order over $75, delivered in 2-4 days.',
        ],
        [
            'icon' => 'M3 7v6a9 9 0 0 0 9 9 9 9 0 0 0 9-9 M3 7l3-3 M3 7h4 M14 9l3 3-3 3',
            'title' => '30-day returns',
            'subtext' => 'No-questions refunds with a prepaid label.',
        ],
        [
            'icon' => 'M12 3l7 3v5c0 4.4-3 8.3-7 9.5-4-1.2-7-5.1-7-9.5V6l7-3Z M9 12l2 2 4-4',
            'title' => 'Secure checkout',
            'subtext' => 'Encrypted payments and PCI-compliant by default.',
        ],
        [
            'icon' => 'M4 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H9l-4 4v-4H6a2 2 0 0 1-2-2V5Z M9 9h6 M9 12h4',
            'title' => '24/7 support',
            'subtext' => 'Real people answering chat and email anytime.',
        ],
    ];
@endphp

<x-ui.section
    aria-label="{{ __('Shopping incentives') }}"
    data-slot="trust-strip"
    space="lg" {{ $attributes }}
>
    <x-ui.container gutter="sm">
        <h2 class="sr-only">{{ __('Why shop with us') }}</h2>

        <x-ui.card class="p-6 sm:p-8">
            <ul role="list" class="grid grid-cols-1 gap-y-8 sm:grid-cols-2 lg:grid-cols-4 lg:gap-y-0">
                @foreach ($incentives as $index => $incentive)
                    <li class="flex items-start gap-4 lg:px-6 lg:first:ps-0 lg:last:pe-0">
                        {{-- Separator between cells on large screens --}}
                        @if (! $loop->first)
                            <x-ui.separator
                                orientation="vertical"
                                class="-ms-6 hidden h-12 self-center lg:block"
                            />
                        @endif

                        <x-ui.icon.tile size="lg">
                            <svg
                                class="size-6"
                                viewBox="0 0 24 24"
                                fill="none"
                                stroke="currentColor"
                                stroke-width="1.75"
                                stroke-linecap="round"
                                stroke-linejoin="round"
                                aria-hidden="true"
                            >
                                <path d="{{ $incentive['icon'] }}" />
                            </svg>
                        </x-ui.icon.tile>

                        <div class="min-w-0">
                            <h3 class="text-sm font-semibold tracking-tight text-foreground">
                                {{ __($incentive['title']) }}
                            </h3>
                            <p class="mt-2 text-pretty text-sm text-muted-foreground">
                                {{ __($incentive['subtext']) }}
                            </p>
                        </div>
                    </li>
                @endforeach
            </ul>
        </x-ui.card>
    </x-ui.container>
</x-ui.section>

Ownership & lifecycle

Owner, release state, review evidence and adoption for this item.
Owner
Platform UI (@JoshJML)
Current version
1.0.6
Status
Stable
License
open
Deprecation
Not deprecated
Contract
v1
Foundation
≥ 1.0.0