beartropy/ui
Beartropy UI is a small Laravel UI package providing ready-made components and helpers to speed up building admin and front-end screens. Drop in common layouts, forms, and UI utilities to get a consistent look fast with minimal setup.
<x-bt-card>Content</x-bt-card>
Card → extends BeartropyComponentcard.blade.phpresources/views/presets/card.php (color → classes)| Prop | PHP Type | Default | Blade Attribute |
|---|---|---|---|
| title | ?string |
null |
title="Title" |
| footer | ?string |
null |
footer="Footer" |
| color | ?string |
null |
color="beartropy" |
| size | ?string |
null |
size="sm" |
| collapsable | ?bool |
false |
:collapsable="true" |
| noBorder | ?bool |
false |
:noBorder="true" |
| defaultOpen | ?bool |
true |
:defaultOpen="false" |
beartropy, modal, neutral
Each preset defines classes for: wrapper, slot, title, footer.
p-1/p-2), medium weight title, right-aligned footer with gapp-3), semibold title, footer has own border-top and marginp-3) on wrapper only, no slot/title/footer styling| Slot | Description |
|---|---|
| default | Card body content |
| footer | Card footer (overrides footer prop) |
title prop for clickable headercursor-pointer, select-none, click toggles open Alpine statex-show="open" + x-collapse + x-cloakwire:target attribute → renders spinner overlaywire:loading.flex to show only during actionborder-0 shadow-none to wrapperborder border-gray-200 dark:border-gray-700{{-- Basic --}}
<x-bt-card>Content</x-bt-card>
{{-- With title --}}
<x-bt-card title="Settings">Content</x-bt-card>
{{-- With footer slot --}}
<x-bt-card title="Form">
Content
<x-slot:footer>
<x-bt-button wire:click="save" beartropy>Save</x-bt-button>
</x-slot:footer>
</x-bt-card>
{{-- Collapsible --}}
<x-bt-card title="Details" :collapsable="true">Content</x-bt-card>
{{-- Starts collapsed --}}
<x-bt-card title="Advanced" :collapsable="true" :defaultOpen="false">Content</x-bt-card>
{{-- Borderless --}}
<x-bt-card :noBorder="true">Content</x-bt-card>
{{-- Loading overlay --}}
<x-bt-card wire:target="save" title="Form">Content</x-bt-card>
{{-- Modal preset --}}
<x-bt-card color="modal" title="Confirm">Content</x-bt-card>
color prop onlytitle is a string prop, NOT a slot — use raw HTML in the string if needed ({!! $title !!})footer works as both prop and named slot; slot takes precedencex-data="{}" is always present even when not collapsable (Alpine requirement)relative class is always applied to wrapper (needed for wire:target spinner overlay)How can I help you explore Laravel packages today?