Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f8fd597
Remove unused assets
mkocansey Aug 31, 2026
2b36fd5
Point the README at bladewindui/ui instead of duplicating it
mkocansey Aug 31, 2026
28929c9
Document Livewire compatibility for 16 component pages
mkocansey Sep 1, 2026
7365be0
Add Divider component docs
mkocansey Sep 5, 2026
823bb39
Add Confirm Dialog component docs
mkocansey Sep 5, 2026
22ac912
Add Context Menu component docs
mkocansey Sep 5, 2026
4b942f2
Add side nav and active-nav-item script to Divider docs page
mkocansey Sep 5, 2026
f34128a
Add side nav and active-nav-item script to Confirm Dialog docs page
mkocansey Sep 5, 2026
90fe6d8
Add Currency Input component docs
mkocansey Sep 5, 2026
36565c2
Add Password Meter component docs
mkocansey Sep 5, 2026
5cd8325
Add File Preview component docs
mkocansey Sep 5, 2026
e7f721e
Add Transfer List component docs
mkocansey Sep 5, 2026
3f5579e
Add Inline Edit component docs
mkocansey Sep 5, 2026
8d8cfd1
Add Keyboard Key component docs
mkocansey Sep 5, 2026
e3d1deb
Add Copy Button component docs
mkocansey Sep 5, 2026
70c8aa8
Add Meter component docs
mkocansey Sep 5, 2026
acdb609
Add Description List component docs
mkocansey Sep 5, 2026
2a6efda
Add Banner component docs
mkocansey Sep 5, 2026
80ff8be
Add Code Block component docs
mkocansey Sep 5, 2026
7d6867f
Add Chat component docs
mkocansey Sep 5, 2026
0ff534e
Add Carousel component docs
mkocansey Sep 5, 2026
d41b0db
Add Kanban component docs
mkocansey Sep 5, 2026
be227f7
Add Scheduler component docs
mkocansey Sep 5, 2026
058c0cf
Add Credit Card component docs
mkocansey Sep 5, 2026
5b62622
Regenerate MCP component docs
mkocansey Sep 5, 2026
2da97f2
Merge feature/divider into development
mkocansey Sep 6, 2026
40fdd82
Merge feature/confirm-dialog into development
mkocansey Sep 6, 2026
9bb4a2d
Merge feature/context-menu into development
mkocansey Sep 6, 2026
0d248d1
Merge feature/currency-input into development
mkocansey Sep 6, 2026
58e3787
Merge feature/password-meter into development
mkocansey Sep 6, 2026
ad82710
Merge feature/file-preview into development
mkocansey Sep 6, 2026
0226d2f
Merge feature/transfer-list into development
mkocansey Sep 6, 2026
dd0d548
Merge feature/inline-edit into development
mkocansey Sep 6, 2026
14230eb
Merge feature/kbd into development
mkocansey Sep 6, 2026
e133ffc
Merge feature/copy-button into development
mkocansey Sep 6, 2026
eb18dda
Merge feature/meter into development
mkocansey Sep 6, 2026
7081cfe
Merge feature/description-list into development
mkocansey Sep 6, 2026
d9bf890
Merge feature/banner into development
mkocansey Sep 6, 2026
3ffca7c
Merge feature/code-block into development
mkocansey Sep 6, 2026
8cc4147
Merge feature/chat into development
mkocansey Sep 6, 2026
423da92
Merge feature/carousel into development
mkocansey Sep 6, 2026
a066cf7
Merge feature/kanban into development
mkocansey Sep 6, 2026
5f85871
Merge feature/scheduler into development
mkocansey Sep 6, 2026
a7ea727
Merge feature/credit-card into development
mkocansey Sep 6, 2026
adab242
Remove em dashes from newly added component docs
mkocansey Sep 6, 2026
72d8829
Republish compiled BladewindUI assets
mkocansey Sep 6, 2026
46f86b1
Update scheduler slot_minutes default to 30 in docs
mkocansey Sep 6, 2026
e09cbae
Remove Banner component docs (duplicated Alert, removed from package)
mkocansey Sep 6, 2026
3367ef7
Alphabetize the sidebar component nav list
mkocansey Sep 6, 2026
8e585e9
Republish compiled CSS to match current component set
mkocansey Sep 6, 2026
6a728ba
Remove Confirm Dialog component docs
mkocansey Sep 6, 2026
273ae80
Republish helpers.js after Confirm Dialog and Banner removal
mkocansey Sep 6, 2026
fccc486
Fix context-menu demo boxes not being right-clickable on their padding
mkocansey Sep 6, 2026
c9cb0ee
Fix copy-button demo using wrong install command
mkocansey Sep 6, 2026
37d16f1
Add JavaScript API section to Credit Card docs
mkocansey Sep 6, 2026
0f738ff
Add missing "with all attributes defined" examples
mkocansey Sep 6, 2026
822500a
Remove Basic Usage heading from new component docs
mkocansey Sep 6, 2026
638c65e
Remove Basic Usage heading from Input Group and Select docs
mkocansey Sep 6, 2026
7891386
Rename carousel slide example heading to Carousel Slide
mkocansey Sep 6, 2026
6130c73
Prefix Kanban's Column/Card headings with the component name
mkocansey Sep 6, 2026
3ecb92f
Move Sponsor link from sidebar nav to footer
mkocansey Sep 6, 2026
948f571
Explain how Scheduler differs from Calendar
mkocansey Sep 6, 2026
d7e65b7
Replace raw Prism <pre> blocks with the Code Block component site-wide
mkocansey Sep 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 9 additions & 99 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,108 +1,18 @@
<p><img src="https://img.shields.io/github/license/bladewindui/bladewindui" alt="License" /></p><br />
<p><img src="https://img.shields.io/github/license/bladewindui/ui" alt="License" /></p><br />
<p><img src="https://bladewindui.com/assets/images/bw-logo.png" style="height: 30px; margin-bottom:10px" /></p>

BladewindUI is a collection of UI components written purely using TailwindCSS, Laravel blade templates and Vanilla Javascript. These components are super simple to use and come with different levels of customization.
<br /><br />

### Installation
The full installation guide is available on https://bladewindui.com/#install.
<br />

BladewindUI is very specific to Laravel since all components are written purely using blade syntax. To install in your Laravel project simply run this command in the terminal at the root of your project.
<br /><br />

```
composer require bladewindui/bladewindui
```
<br />

Next you need to **publish the package assets** by running this command, still in the terminal at the root of your Laravel project.

<br />

```
php artisan vendor:publish --provider="Mkocansey\Bladewind\BladewindServiceProvider" --tag=bladewind-public --force
```
<br />

Now include the BladewindUI css file in the &lt;head&gt; of your pages. This should ideally be done in the layouts file your app pages extend from.

<br />

```
<link href="{{ asset('vendor/bladewind/css/animate.min.css') }}" rel="stylesheet" />
```
```
<link href="{{ asset('vendor/bladewind/css/bladewind-ui.min.css') }}" rel="stylesheet" />
```

<br />

Finally, include the BladewindUI javascript file anywhere before the closing of the &lt;/body&gt; tag of your pages. Again, this should ideally be done in the layouts file your app's pages extend from.

<br />

```
<script src="{{ asset('vendor/bladewind/js/helpers.js') }}" type="text/javascript"></script>
```

<br />
This is the Laravel application that powers [bladewindui.com](https://bladewindui.com) — the documentation
site for **BladewindUI**, a collection of UI components written purely using TailwindCSS, Laravel Blade
templates and vanilla JavaScript.

You are now ready to start using any of the BladewindUI components in your application
The component library itself lives in a separate repo: **[bladewindui/ui](https://github.com/bladewindui/ui)**.
That is also where installation instructions and the full, always-current component list live, so they
are not repeated here — this README would just go stale a second time. See its
[README](https://github.com/bladewindui/ui#readme) for both, or the live, generated versions at
[bladewindui.com/install](https://bladewindui.com/install) and [bladewindui.com/components](https://bladewindui.com/components).

<br />

```
<x-bladewind::button>Save User</x-bladewind::button>
```

<br /><br />
### Components Include

- **[Accordion](https://bladewindui.com/component/accordion)**
- **[Alert](https://bladewindui.com/component/alert)**
- **[Avatar](https://bladewindui.com/component/avatar)**
- **[Bell](https://bladewindui.com/component/bell)**
- **[Button](https://bladewindui.com/component/button)**
- **[Card](https://bladewindui.com/component/card)**
- **[Centered Content](https://bladewindui.com/component/centered-content)**
- **[Chart](https://bladewindui.com/component/chart)**
- **[Checkbox](https://bladewindui.com/component/checkbox)**
- **[CheckCard](https://bladewindui.com/component/checkcard)**
- **[Colorpicker](https://bladewindui.com/component/colorpicker)**
- **[Datepicker](https://bladewindui.com/component/datepicker)**
- **[Dropdown](https://bladewindui.com/component/dropdown)**
- **[Dropmenu](https://bladewindui.com/component/dropmenu)**
- **[Empty State](https://bladewindui.com/component/empty-state)**
- **[Filepicker](https://bladewindui.com/component/filepicker)**
- **[Horizontal Line Graph](https://bladewindui.com/component/horizontal-line-graph)**
- **[Icon](https://bladewindui.com/component/icon)**
- **[Input](https://bladewindui.com/component/input)**
- **[List View](https://bladewindui.com/component/list-view)**
- **[Modal](https://bladewindui.com/component/modal)**
- **[Notification](https://bladewindui.com/component/notification)**
- **[Process Indicator](https://bladewindui.com/component/process-indicator)**
- **[Progress Bar](https://bladewindui.com/component/progress-bar)**
- **[Radio Button](https://bladewindui.com/component/radio-button)**
- **[Rating](https://bladewindui.com/component/rating)**
- **[Select](https://bladewindui.com/component/select)**
- **[Statistic](https://bladewindui.com/component/statistic)**
- **[Spinner](https://bladewindui.com/component/spinner)**
- **[Tab](https://bladewindui.com/component/tab)**
- **[Table](https://bladewindui.com/component/table)**
- **[Tag](https://bladewindui.com/component/tag)**
- **[Textarea](https://bladewindui.com/component/textarea)**
- **[Timeline](https://bladewindui.com/component/timeline)**
- **[Timepicker](https://bladewindui.com/component/timepicker)**
- **[Toggle](https://bladewindui.com/component/toggle)**
- **[Verification Code](https://bladewindui.com/component/verification-code)**

<br /><br />

Check out the full documentation on https://bladewindui.com.

<br /><br />

## MCP Documentation

The `mcp/` directory contains clean, machine-readable Markdown documentation for every component. These files are intended for consumption by MCP (Model Context Protocol) servers so that AI assistants can understand how to use BladewindUI components.
Expand Down
119 changes: 44 additions & 75 deletions mcp/accordion.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,120 +6,93 @@ url: /component/accordion

# Accordion

The accordion component allows users to expand or collapse sections of content. It's commonly used to organize information in a compact, accessible way. Each section typically has a header that can be clicked to toggle the visibility of its associated content.
The accordion component lets users expand or collapse sections of content, keeping information compact and accessible. Each section has a clickable header that toggles the visibility of its content.

## Basic Usage

Each accordion item requires a `title` attribute for the clickable header. The body content is placed inside the item tags.

```blade
<x-bladewind::accordion>
<x-bladewind::accordion.item title="What is BladewindUI?">
<p>
BladewindUI is a collection...
BladewindUI is a collection of super simple but elegant Laravel blade-based UI components using TailwindCSS and vanilla Javascript.
</p>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I install the latest version of the library?">
<div>
At the root of your Laravel...
At the root of your Laravel project, type the following composer command in your terminal to pull in the package.
<pre><code>composer require bladewindui/ui</code></pre>
</div>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I customize the library for my theme?">
<div>
BladewindUI has been designed ...
BladewindUI has been designed to not interfere with the existing components in your project.
</div>
</x-bladewind::accordion.item>
</x-bladewind::accordion>
```

## Custom Title Slot

If the title of your accordion item is not a simple string, you can define your content in a title slot.
If the title of your accordion item is not a simple string, define the content in a `title` slot instead of the `title` attribute.

```blade
<x-bladewind::accordion>
<x-bladewind::accordion.item>
<x-slot:title>
<div class="inline-flex">
<div><img src="/assets/images/icon.png" class="size-10..." alt="logo"/></div>
<div><img src="/path/to/icon.png" class="size-10 rounded-full border-2 border-gray-200 p-1" alt="logo"/></div>
<div class="ml-2">
<div>What is BladewindUI library?</div>
<div class="text-sm ...">version 2.8.0</div>
<div class="text-sm font-normal opacity-45 -mt-1.5">version 2.8.0</div>
</div>
</div>
</x-slot:title>
<p>
BladewindUI is a collection...
BladewindUI is a collection of super simple but elegant Laravel blade-based UI components.
</p>
</x-bladewind::accordion.item>
...
</x-bladewind::accordion>
```

## Open Multiple Accordion Items

By default only one accordion can stay open at any point in time. You can disable this feature by setting `can_open_multiple="true"`. Now any closed accordion that is clicked will be opened. Likewise, any accordion that is open will be closed when clicked.
By default only one accordion item can stay open at a time. Set `can_open_multiple="true"` to allow any closed item to open without closing the others.

```blade
<x-bladewind::accordion
can_open_multiple="true">
<x-bladewind::accordion can_open_multiple="true">
<x-bladewind::accordion.item title="What is BladewindUI?">
<p>
BladewindUI is a collection...
</p>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I install the latest version of the library?">
<div>
At the root of your Laravel...
</div>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I customize the library for my theme?">
<div>
BladewindUI has been designed ...
</div>
...
</x-bladewind::accordion.item>
</x-bladewind::accordion>
```

## Ungrouped Accordions

The examples above showed the accordion items within one card element, each separated by a line. To separate accordion items so they stand alone, set `grouped="false"`.
The examples above group accordion items in one card, separated by lines. To make each item stand alone, set `grouped="false"`.

```blade
<x-bladewind::accordion
grouped="false">
<x-bladewind::accordion grouped="false">
<x-bladewind::accordion.item title="What is BladewindUI?">
<p>
BladewindUI is a collection...
</p>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I install the latest version of the library?">
<div>
At the root of your Laravel...
</div>
</x-bladewind::accordion.item>
<x-bladewind::accordion.item title="How can I customize the library for my theme?">
<div>
BladewindUI has been designed ...
</div>
...
</x-bladewind::accordion.item>
</x-bladewind::accordion>
```

## Colourful Accordions

You can define the background colour of the accordion by setting the `color` attribute. This is only enforced if `grouped="false"`. Available colours include: `primary`, `blue`, `red`, `yellow`, `green`, `purple`, `pink`, `orange`, `black`, `cyan`, `violet`, `indigo`, `fuchsia`.
You can set the background colour of the accordion with the `color` attribute. This only takes effect when `grouped="false"`.

```blade
<x-bladewind::accordion
grouped="false"
color="yellow">
<x-bladewind::accordion grouped="false" color="yellow">
<x-bladewind::accordion.item title="What is BladewindUI?">
<p>
BladewindUI is a collection...
</p>
...
</x-bladewind::accordion.item>
</x-bladewind::accordion>

<x-bladewind::accordion grouped="false" color="pink">
<x-bladewind::accordion.item title="What is BladewindUI?">
...
</x-bladewind::accordion.item>
...
</x-bladewind::accordion>
```

Expand All @@ -129,24 +102,24 @@ You can define the background colour of the accordion by setting the `color` att

| Attribute | Default | Description |
|---|---|---|
| grouped | true | Should the accordion items be grouped within one card container. If `true`, the accordions are divided by lines and grouped in one big container. `true` \| `false` |
| can_open_multiple | false | Should the accordion allow opening of items without first closing what is open. `true` \| `false` |
| color | _blank_ | The accordion background. Applicable when `grouped="false"`. `primary` \| `blue` \| `red` \| `yellow` \| `green` \| `purple` \| `pink` \| `orange` \| `black` \| `cyan` \| `violet` \| `indigo` \| `fuchsia` |
| no_padding | false | Specifies if there should be air around the accordion group. `true` \| `false` |
| content_can_close | true | Determines if clicking on the accordion content will close it when it is open. `true` \| `false` |
| class | _blank_ | Any additional css classes can be added using this attribute. For example to make your accordion more rounded you can add `class="rounded-2xl"`. |
| grouped | true | Whether the accordion items are grouped within one card container, divided by lines. `true` \| `false` |
| can_open_multiple | false | Whether the accordion allows opening items without first closing what is open. `true` \| `false` |
| color | *blank* | The accordion background. Applies when `grouped="false"`. `primary` \| `blue` \| `red` \| `yellow` \| `green` \| `purple` \| `pink` \| `orange` \| `black` \| `cyan` \| `violet` \| `indigo` \| `fuchsia` |
| no_padding | false | Whether there should be air around the accordion group. `true` \| `false` |
| content_can_close | true | Whether clicking the accordion content closes it when open. `true` \| `false` |
| class | *blank* | Any additional css classes, e.g. `class="rounded-2xl"`. |

### Accordion Item Component

| Attribute | Default | Description |
|---|---|---|
| open | false | Should the accordion items be opened or closed by default. `true` \| `false` |
| title | _blank_ | Label to display as the title of the accordion. |
| color | _blank_ | The accordion background. Applicable when `grouped="false"`. `primary` \| `blue` \| `red` \| `yellow` \| `green` \| `purple` \| `pink` \| `orange` \| `black` \| `cyan` \| `violet` \| `indigo` \| `fuchsia` |
| class | _blank_ | Any additional css classes can be added using this attribute. |
| no_padding | false | Specifies if there should be air around each accordion item. `true` \| `false` |
| content_can_close | true | Determines if clicking on the accordion content will close it when it is open. `true` \| `false` |
| nonce | null | Used when implementing context security policies and require to pass a nonce to inline scripts. |
| open | false | Whether the accordion item is open or closed by default. `true` \| `false` |
| title | *blank* | Label to display as the title of the accordion. |
| color | *blank* | The accordion background. Applies when `grouped="false"`. `primary` \| `blue` \| `red` \| `yellow` \| `green` \| `purple` \| `pink` \| `orange` \| `black` \| `cyan` \| `violet` \| `indigo` \| `fuchsia` |
| class | *blank* | Any additional css classes, e.g. `class="rounded-2xl"`. |
| no_padding | false | Whether there should be air around the accordion item. `true` \| `false` |
| content_can_close | true | Whether clicking the accordion content closes it when open. `true` \| `false` |
| nonce | null | Nonce value for content security policies applied to inline scripts. Can be set globally via the `script` key in `config/bladewind.php`. |

## Full Example

Expand All @@ -156,16 +129,12 @@ You can define the background colour of the accordion by setting the `color` att
can_open_multiple="false"
color="pink"
class="rounded-lg shadow-sm">
...
<x-bladewind::accordion.item
color="blue"
open="false"
title="What is BladewindUI?"
class="shadow">
...
</x-bladewind::accordion.item>
</x-bladewind::accordion>
```

```blade
<x-bladewind::accordion.item
color="blue"
open="false"
title="What is BladewindUI?"
class="shadow">
...
</x-bladewind::accordion.item>
```
Loading
Loading