harrisonclewis/laravel-sleek

JSX-style component syntax for Laravel Blade

Maintainers

Package info

github.com/harrisonclewis/laravel-sleek

Homepage

pkg:composer/harrisonclewis/laravel-sleek

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v0.0.4 2026-05-18 20:31 UTC

This package is auto-updated.

Last update: 2026-05-18 20:32:20 UTC


README

Laravel Sleek

Introduction

JSX-style component syntax for Laravel Blade.

<Layouts.App>
    <Form method="POST" action="{{ route('login') }}">
        <Form.Group>
            <Form.Label>Email</Form.Label>
            <Form.Input type="email" name="email" />
        </Form.Group>

        <Button type="submit">Sign in</Button>
    </Form>
</Layouts.App>

Installation

composer require harrisonclewis/laravel-sleek

Usage

PascalCase tags are transformed to Laravel's x-component syntax at compile time.

<Button />               →  <x-button />
<UserProfile />          →  <x-user-profile />
<Form.Input />           →  <x-form.input />
<Card.Body class="p-4">  →  <x-card.body class="p-4">

Standard HTML tags (div, span, p, etc.) are never transformed.

Configuration

Publish the config file if you need to adjust defaults:

php artisan vendor:publish --tag=sleek-config
// config/sleek.php
return [
    'enabled'     => true,
    'ignore_tags' => [ /* additional tags to leave untouched */ ],
];

Requirements

  • PHP ^8.1
  • Laravel ^10.0|^11.0|^12.0|^13.0

License

MIT