Changelog
Recent changes in Beartropy packages.
Changelog
All notable changes to this project will be documented in this file.
[v1.0.20] - 2026-06-27
Changed
- Dev: Upgrade Pest to v4 (
pestphp/pest: ^4.0,pestphp/pest-plugin-faker: ^4.0,pestphp/pest-plugin-laravel: ^4.0,pestphp/pest-plugin-livewire: ^4.1). - ThemeHead: Tests updated for Livewire 4 — the head script persists across
wire:navigateviadata-navigate-once, and the duplicate-listener guard flag is now__btThemeGuard.
[v1.0.19] - 2026-06-25
Changed
- Dependencies: Allow Livewire 4 (
livewire/livewire: ^3.6|^4.0). - Dev: Test against Laravel 13 via Orchestra Testbench 11 (
orchestra/testbench: ^10.4|^11.0).
[v1.0.18] - 2026-04-10
Fixed
- Dropdown: Fixed hover/active highlight invisible in dark mode for gray-scale themes (slate, gray, zinc, neutral, stone). These themes used -900 shades indistinguishable from the dropdown background.
[v1.0.17] - 2026-04-05
Fixed
- Table: Moved
max-w-[20rem]from the outer searchbox container to the search input wrapper sojustify-betweencan push theactionsslot to the right. Addedsearchbarpreset key for outer container spacing.
[v1.0.16] - 2026-04-05
Fixed
- Table: Fixed
actionsslot not being pushed to the right — wrapped search input in a block-level div sojustify-betweenworks correctly.
[v1.0.15] - 2026-04-05
Added
- Table:
actionsslot for rendering content (buttons, filters) in the top-right of the table header, opposite the search input.
[v1.0.14] - 2026-03-31
Fixed
- BeartropyAssets: Fixed
render()generating different?v=cache-busting values on every request when assets are not published topublic/. Thetime()fallback is replaced withfilemtime()on the package's source files, producing a stable version string that prevents Livewire'sdata-navigate-oncefrom duplicating<script>and<link>tags duringwire:navigateSPA navigation. - Nav: Fixed sidebar highlighting both
/requestand/requestedwhen on/requested. Child item active detection now uses segment-aware path matching (/request/boundary) instead of naive stringstartsWith.
[v1.0.13] - 2026-03-05
Added
- i18n: Spanish (es) translation support for all UI components.
- ServiceProvider: Publishable translations via
beartropy-ui-langtag. - DropdownBase:
minWidthandmaxWidthprops for constraining dropdown panel dimensions.
Changed
- DropdownBase: Teleport path now clamps width between min/max constraints instead of blindly matching trigger width. Removed
$widthclass from teleport div to preventw-fullexpanding to viewport. - Datetime: Set
fitAnchorto false so calendar panel sizes independently from narrow triggers. - Select: Default
min-width: 12rem,max-width: 32rem. - Lookup: Default
min-width: 12rem,max-width: 32rem. - TimePicker: Default
min-width: 12rem,max-width: 22rem. - Datetime: Default
min-width: 16rem,max-width: 25rem.
Fixed
- DropdownBase: Dropdown no longer breaks when trigger container is very narrow (e.g.
max-w-40).
[v1.0.12] - 2026-02-26
Fixed
- ToggleTheme: Fix dark mode FOUC (flash of unstyled content) during
wire:navigatenavigation. Addedlivewire:navigatedevent listener to re-apply theme after SPA navigation and restoreddata-bt-themeattribute in MutationObserver callback.
[v1.0.11] - 2026-02-23
Fixed
- ToggleTheme / ThemeHead: Added opacity guard (
html:not([data-bt-theme]) body{opacity:0}) to prevent dark-mode FOUC on Chrome/Linux. The inline script now setsdata-bt-themeon<html>before body renders, lifting the guard instantly. - FileInput: Fixed upload spinner/status indicators not working on Livewire 3.4. Made
detail.propertycheck forgiving when the field is absent, and added fallback branches for whenwire:modelvalue is not available.
[v1.0.10] - 2026-02-23
Added
- ToggleTheme:
@beartropyHtmlClassBlade directive — reads abt_themecookie server-side and renders thedarkclass on<html>for zero-FOUC on first paint. - ToggleTheme: Theme preference is now persisted to a
bt_themecookie alongsidelocalStorage, enabling server-side rendering.
Fixed
- ToggleTheme: Eliminated dark-mode FOUC on
wire:navigateby addingdata-navigate-onceto all@BeartropyAssetshead elements, preventing Livewire from removing and re-adding the stylesheet during navigation. - ToggleTheme: Added inline
<style>withcolor-schemeCSS rules so native form controls (inputs, selects) respect dark mode without waiting for JS.
[v1.0.9] - 2026-02-23
Fixed
- ToggleTheme: Eliminated dark-mode FOUC on page refresh and
wire:navigateby replacing thelivewire:navigatedlistener with aMutationObserverthat reapplies the theme before the browser repaints.
[v1.0.8] - 2026-02-23
Fixed
- FileInput: Moved status indicators (spinner, error, success icons) from the
endslot into thestartarea so theendslot is exclusively available for user-provided content. - FileInput: Simplified input ID generation to use the base class
$idproperty.
[v1.0.7] - 2026-02-19
Fixed
- Select: Dropdown now closes on outside click inside modals and containers that use
stopPropagation. - Select: Highlighted option no longer uses the selected/active color — uses neutral gray to avoid confusion with the actual selection.
- Modal: Removed unnecessary
@click.stopon modal container that broke@click.outsidefor nested components.
[v1.0.6] - 2026-02-17
Changed
- BeartropyAssets:
@beartropyAssetsnow includes an inline theme script automatically, preventing FOUC without requiring<x-bt-theme-head />. - Docs: Updated
toggle-themeandtheme-headdocs to clarify that@beartropyAssetshandles FOUC prevention automatically.
[v1.0.5] - 2026-02-17
Added
- ThemeHead: New
<x-bt-theme-head />component — a blocking inline script for<head>that applies the saved dark/light theme before CSS renders, preventing the light-to-dark FOUC on page load and duringwire:navigatenavigation.
Changed
- ToggleTheme:
initTheme()now guards against duplicatelivewire:navigatedlisteners when<x-bt-theme-head />is present.
[v1.0.4] - 2026-02-16
Added
- Datetime: Added
sizeprop to support magic size attributes.
[v1.0.3] - 2026-02-14
Changed
- InstallSkills: Cross-package skill discovery — auto-discovers skills from all installed
beartropy/*packages via convention-based scanning and optionalskills.jsonmanifest. - InstallSkills: Installation now cleans up stale skills before writing the new set, ensuring
--forceproduces a clean state. - InstallSkills: README.md is now dynamically generated from discovered skills instead of copied from a static file.
- InstallSkills: Output grouped by package with generic
/bt-*slash command hint. - Skills: Renamed skill directories from
beartropy-*tobt-ui-*prefix for consistency with the convention-based discovery pattern. - MCP Tools: Updated namespace references from
beartropytobtprefix. - Docs: Updated AI assistant documentation and project README.
[v1.0.2] - 2026-02-13
Added
- MCP: Add
beartropy-project-contexttool that returns project configuration (version, prefix, icon set, component defaults).
Changed
- MCP: Make
ListComponents::CATEGORIESconstant public for cross-tool reuse.
[v1.0.1] - 2026-02-13
Added
- MCP Integration: Added Laravel Boost MCP tools (
beartropy-component-docs,beartropy-list-components) for automatic component documentation access. - Skills: Added multi-agent support to
beartropy:skillscommand (Claude, Codex, Copilot, Cursor, Windsurf). - Skills: Rewritten all published skills with improved v2.0.0 content.
- Dev Skills: Added internal
releaseandbeartropy-docs-maintenanceskills for maintainers.
[v0.11.22] - 2026-02-02
Added
- ToggleTheme: Fix custom icons not showing
[v0.11.21] - 2026-01-30
Added
- ChatInput: Added
border-colorprop to allow using a specific preset's border style independently.
[v0.11.20] - 2026-01-30
Added
- ChatInput: Added
whitepreset tochat-inputconfiguration.
[v0.11.19] - 2026-01-28
Fixed
- Slider: Fixed external trigger events not working across Livewire components by using native
addEventListenerininit().
[v0.11.18] - 2026-01-28
Added
- Slider: Added
nameprop and external trigger support via$dispatchevents (open-slider,close-slider,toggle-slider).
[v0.11.17] - 2026-01-16
Changed
- Updated modal to appear at approx. 1/3 from top by default, centering only when requested.
[v0.11.16] - 2026-01-14
Fixed
- Fixed base dropdown positioning.
[v0.11.15] - 2026-01-12
Fixed
- Improved
chat-inputtextarea stability with hysteresis and debounced layout changes.
[v0.11.14] - 2026-01-12
Fixed
- Fixed glitch in
chat-inputtextarea resize preventing internal scroll.
[v0.11.13] - 2026-01-11
Changed
[v0.11.12] - 2026-01-11
Changed
- Added
x-cloaktochat-inputcomponent to prevent flash of unstyled content.
[v0.11.11] - 2026-01-11
Changed
- Removed
placeholder:text-smfrom all chat-input color presets so placeholder text matches input text size.
[v0.11.10] - 2026-01-10
Changed
- Updated chat input preset wrapper backgrounds to use bg-{color}-300/50 instead of bg-white.
[v0.11.9] - 2026-01-10
Changed
- Refined ChatInput styles (rounded look, responsive layout, conditional border) and updated all presets.
[v0.11.8] - 2026-01-06
Changed
- Fix Dialog Button Visibility
[v0.11.7] - 2026-01-06
Changed
- Added safelist for dialog button colors to ensure visibility in light mode.
[v0.11.6] - 2026-01-06
Changed
- Fixed dialog button visibility in light mode (success, warning) and added missing
confirmvariant.
[v0.11.5] - 2026-01-02
Fixed
- Added
x-cloakto slider component to prevent initial loading glitch.
[v0.11.4] - 2026-01-02
Changed
- Added comprehensive feature tests for UI components.
- Updated documentation.
[v0.11.3] - 2025-12-31
Changed
- Added docs
[v0.11.2] - 2025-12-30
Changed
- Modal: Enabled attribute merging for
titleandfooterslots to allow custom classes and attributes. - Modal: Refactored
modal-rootcomponent for better attribute handling and cleaner code.
[v0.11.1] - 2025-12-26
Changed
- Fixed chat input layout clearing issue
[v0.11.0] - 2025-12-25
Added
- ChatInput: Added
toolsandactionsslots for enhanced customization. - ChatInput: Added
stacked,submitOnEnter, andactionprops for layout control and behavior. - ChatInput: Implemented auto-expanding textarea with dynamic single-line/stacked layout state.
- Icon: Added support for
beartropycustom icon set.
Changed
- Refactored internal Livewire setup.
[v0.10.0] - 2025-12-24
Added
- Added
ChatInputcomponent.
[v0.9.44] - 2025-12-24
Fixed
- Fixed
Iconcomponent not forwarding attributes (e.g., event listeners) to the underlying element.
[v0.9.43] - 2025-12-19
Fixed
- Fixed toast component bug where notification would disappear even when hovered (implemented global timer registry to bypass Alpine proxy issues).