beartropy/tables
Flexible Livewire table component for the TALL stack (Tailwind, Alpine, Laravel, Livewire). Provides essentials like searching, sorting, filters, bulk actions, and column toggling to build customizable data tables quickly.
__PHP_Incomplete_Class under Laravel 13's hardened cache unserialization — which broke rendering with htmlspecialchars(): Argument #1 ($string) must be of type string, __PHP_Incomplete_Class given. Stringable values (Carbon, etc.) are cached as their string form, preserving rendered output.getCachedData() now self-heals — a non-array cache hit (a legacy cached TableCollection or an incomplete-class artifact from a pre-upgrade entry) is discarded and rebuilt from source instead of rendering garbage.TableCollection object, and re-wrapped into a TableCollection on read. This keeps the cache compatible with Laravel 13's hardened unserialization (cache.serializable_classes) without consumers having to allow-list TableCollection. Legacy cached collections are tolerated for the remaining TTL window after upgrading.pestphp/pest: ^4.0, pestphp/pest-plugin-laravel: ^4.0).livewire/livewire: ^3.7|^4.0).orchestra/testbench: ^9.0|^10.0|^11.0)._original, _disabled, _hidden, _card_title) no longer leak into exported data. Previously only _original was stripped.Collection subclass that carries column label metadata from processCollection() through to GenericExport, enabling automatic label resolution without requiring changes to existing export methods.key() helper function instead of key: named argument in [@livewire](https://github.com/livewire)() directive for inline expanded row components. The named argument syntax isn't handled by Livewire's Blade compiler regex, causing a closure parameter error when expanding task rows.isHtml as a class property (public $isHtml = false) so property_exists() returns true on PHP 8.2+. Previously, isHtml was set dynamically in the toHtml() trait method, causing the raw-HTML branch in Blade templates to never trigger.secondaryHeader(callable $callback) method to display a secondary header row below the main header with computed content (e.g., subtotals, averages). The callback receives the current page's rows as a Collection and supports HTML output.soft to glass to match v2.9.5 change.query() method — scope table data by tenant, permissions, or any custom condition without global scopes.newQuery() wrapper that applies $with eager loading automatically on top of query().soft to glass.outline to soft (light tinted background with colored text) for a consistent, subtle look across all header buttons.$yat_button_variant instead of a hardcoded outline attribute, ensuring all buttons match.ArrayObject instead of plain arrays, preserving both $row->key and $row['key'] access in user callbacks (fixes "Attempt to read property on array" regression from v2.9.2).processCollection() and addRowToTable(), preventing "Cannot use object of type stdClass as array" errors when data() returns stdClass objects (e.g. from json_decode() or API responses).setTheme() not propagating to header components.YATBaseTable to BeartropyTable. The old name continues to work via class_alias — no changes needed in existing user code.YATProvider to BeartropyTableServiceProvider. The old name extends the new one for backward compatibility.make:btable now generates extends BeartropyTable instead of extends YATBaseTable.BeartropyTable throughout. Doc files renamed from yat-base-table to bear-table.bt-tables-setup updated with correct artisan command (make:btable) and BeartropyTable references.bt-tables-docs-maintenance updated with correct service provider path.ComponentDocs schema example updated from yat-base-table to bear-table.setComponentSize() method to uniformly resize all header UI components.mixed type from $model property to restore child class compatibility. Typed parent properties cannot be overridden without matching the type exactly in PHP 8.Column logic (instantiation, unique keys, modifiers) and Options logic.TestCase setup with SQLite in-memory database and Pest configuration.yat-table.blade.php:
yat-table.blade.php for better readability and performance.YATableComponent.stub with improved code styling and type hints.How can I help you explore Laravel packages today?