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-tooltip label="Help text">Trigger content</x-bt-tooltip>
Tooltip → extends BeartropyComponenttooltip.blade.phpx-data for state + x-teleport="body" for portal rendering| Prop | PHP Type | Default | Blade Attribute |
|---|---|---|---|
| label | ?string |
null |
label="Help" |
| delay | ?int |
0 |
:delay="300" |
| position | ?string |
'right' |
position="top" |
| Slot | Description |
|---|---|
| default | Trigger content that the user hovers over |
{
show: false, // tooltip visibility
top: 0, // computed top position (px)
left: 0, // computed left position (px)
ready: false, // prevents flash before position is calculated
timeout: null, // delay timer reference
}
calculatePosition() reads trigger's getBoundingClientRect() + scroll offsetstransform() returns CSS transform string based on $position:
top: translateX(-50%) translateY(-100%)bottom: translateX(-50%)left: translateX(-100%) translateY(-50%)right: translateY(-50%)position: absolute via :style bindingabsolute z-[9999] px-3 py-1.5 text-xs rounded pointer-events-none
whitespace-nowrap overflow-hidden backdrop-blur-sm shadow-lg
text-white bg-black/80
dark:text-slate-800 dark:bg-white/90 dark:font-semibold
[@mouseenter](https://github.com/mouseenter)="showTooltip()" — starts delay timer, then shows[@mouseleave](https://github.com/mouseleave)="hideTooltip()" — hides immediately, resets ready after 300ms[@scroll](https://github.com/scroll).window="hideTooltip()" — hides on scroll{{-- Basic --}}
<x-bt-tooltip label="More info">
<span>Hover me</span>
</x-bt-tooltip>
{{-- Position --}}
<x-bt-tooltip label="Above" position="top">Top</x-bt-tooltip>
{{-- With delay --}}
<x-bt-tooltip label="Delayed" :delay="500">Trigger</x-bt-tooltip>
{{-- On icon button --}}
<x-bt-tooltip label="Edit">
<x-bt-button-icon icon="pencil" />
</x-bt-tooltip>
right (not top as in most tooltip libraries)role="tooltip" or aria-describedby — hover-only interaction<body> via x-teleport, z-index 9999ready flag prevents a flash of unstyled tooltip before position calculationcursor-help classHow can I help you explore Laravel packages today?