PHPackages                             moonbaselabs/blade-components - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. moonbaselabs/blade-components

Abandoned → [imacrayon/blade-starter-kit](/?search=imacrayon%2Fblade-starter-kit)ArchivedLibrary[Templating &amp; Views](/categories/templating)

moonbaselabs/blade-components
=============================

A set of themeable components built with Tailwind CSS and AlpineJS for use with Laravel Blade.

v0.0.14(2y ago)93.2k1MITPHPPHP ^8.0

Since Apr 18Pushed 1y ago4 watchersCompare

[ Source](https://github.com/moonbaselabs/blade-components)[ Packagist](https://packagist.org/packages/moonbaselabs/blade-components)[ Docs](https://github.com/moonbaselabs/blade-components)[ RSS](/packages/moonbaselabs-blade-components/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (2)Versions (13)Used By (0)

Blade Components
================

[](#blade-components)

Warning

This project is no longer maintained. Use [imacrayon/blade-starter-kit](https://github.com/imacrayon/blade-starter-kit) instead.

A set of themeable components built with Tailwind CSS and AlpineJS for use with Laravel Blade.

This project is still in Beta some APIs might change.

Installation
------------

[](#installation)

```
composer require moonbaselabs/blade-components
```

Setup Through Artisan
---------------------

[](#setup-through-artisan)

**This command will overwrite asset files.** It's best to run this in a fresh Laravel project after optionally installing Laravel Breeze. If you are installing this package in an existing project use the Manual Setup steps below.

```
php artisan blade-components:install
```

Setup Manually
--------------

[](#setup-manually)

Publish the components configuration file:

```
php artisan vendor:publish --tag=blade-components
```

Add the configuration file to the purge array in your Tailwind config:

```
// tailwind.config.js

purge: [
    './config/blade-components.php'
],
```

Include the AlpineJS components in your JavaScript before loading AplineJS

```
// resources/js/app.js

import './blade-components'
import Alpine from 'alpinejs'

window.Alpine = Alpine

Alpine.start()
```

Your're all set! You may customize your component themes in `config/blade-components.php`.

Components
----------

[](#components)

- [Badge](#badge)
- [Button](#button)
- [Checkbox](#checkbox)
- [Description](#description)
- [Error](#error)
- [Field](#field)
- [Form](#form)
- [Input](#input)
- [Label](#label)
- [Legend](#legend)
- [Menu](#menu)
- [Menu Item](#menu-item)
- [Radio](#radio)
- [Select](#select)
- [Textarea](#textarea)

### Badge

[](#badge)

Renders a colored badge. Use the `theme` attribute to customize the look and feel:

```
Badge
```

Output:

```
Badge
```

### Button

[](#button)

Renders a form button:

```
Button
```

Output:

```
Button
```

When the `href` attribute is set this component will render as a link:

```
More Info
```

Output:

```
More Info
```

### Checkbox

[](#checkbox)

Renders a form checkbox:

```

```

Output:

```

```

Checkboxes will maintain their `checked` value after validation errors. If this field contains an error it's class attribute be set to the CSS classes specified for the `invalid` key in your config file.

### Description

[](#description)

Renders a form field description text to be used along with a label:

```
Must be at least 8 characters.

```

Output:

```
Must be at least 8 characters.
Must be at least 8 characters.
```

To make form fields accessible you should add `aria-describedby="FIELD_NAME_description` to corresponding form elements, exp: ``

### Error

[](#error)

Renders an error message when a field fails server-side validation:

```

```

Output:

```

The password field is required.
```

You may override server-side validation messages using the `value` attribute or setting text content:

```

That's a bad password
```

Use the `bag` attribute to pull errors from a specific error bag:

```

```

### Field

[](#field)

Renders a simple container for grouped form elements:

```

```

Output:

```

```

### Form

[](#form)

Renders a form element with appropriate method and CSRF directives:

```

    ...

```

Output:

```

    ...

```

Add the `has-files` attribute to support file uploads:

```

    ...

```

Output:

```

    ...

```

### Input

[](#input)

*Documentation coming soon.*

### Label

[](#label)

*Documentation coming soon.*

### Legend

[](#legend)

*Documentation coming soon.*

### Menu

[](#menu)

*Documentation coming soon.*

### Menu Item

[](#menu-item)

*Documentation coming soon.*

### Radio

[](#radio)

*Documentation coming soon.*

### Select

[](#select)

*Documentation coming soon.*

### Textarea

[](#textarea)

*Documentation coming soon.*

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~71 days

Recently: every ~171 days

Total

12

Last Release

1061d ago

PHP version history (2 changes)v0.0.1PHP ^7.4|^8.0

v0.0.12PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9ff57a6ee5f585bb16983ad87a96c06fa735068bbe15c42463e41e37b2a0d74?d=identicon)[imacrayon](/maintainers/imacrayon)

---

Top Contributors

[![imacrayon](https://avatars.githubusercontent.com/u/3410149?v=4)](https://github.com/imacrayon "imacrayon (26 commits)")

---

Tags

hacktoberfestlaraveluibladetailwindalpinejs

### Embed Badge

![Health badge](/badges/moonbaselabs-blade-components/health.svg)

```
[![Health](https://phpackages.com/badges/moonbaselabs-blade-components/health.svg)](https://phpackages.com/packages/moonbaselabs-blade-components)
```

###  Alternatives

[robsontenorio/mary

Gorgeous UI components for Livewire powered by daisyUI and Tailwind

1.5k454.7k15](/packages/robsontenorio-mary)[tightenco/jigsaw

Simple static sites with Laravel's Blade.

2.2k438.5k29](/packages/tightenco-jigsaw)[area17/blast

Storybook for Laravel Blade

308664.1k](/packages/area17-blast)[hasinhayder/tyro-login

Tyro Login - Beautiful, customizable authentication views for Laravel 12 &amp; 13

2362.2k2](/packages/hasinhayder-tyro-login)[electrik/slate

Slate - a Laravel Blade UI Kit is a set of anonymous blade components built using TailwindCSS v4 with built-in dark mode support for your next Laravel project

102.3k1](/packages/electrik-slate)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
