Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tables Laravel Package

beartropy/tables

Beartropy Tables is a Livewire table component for the TALL stack with search, sorting, filters, bulk actions, and column toggling. It includes inline editing and boolean toggles with per-field authorization hooks to control writes.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for internal data tables. Filtering, searching, sorting, bulk actions, column toggling, row expansion, mobile card layouts, export, and caching are undifferentiated plumbing for most admin surfaces. This package offers them as a Composer dependency, so the decision shifts from "do we build table primitives?" to "do we accept a small-vendor dependency to reclaim engineering weeks?"
  • Roadmap sequencing for back-office and internal tooling. If a quarter's roadmap is dominated by admin CRUD screens, adopting this lets the team spend that capacity on customer-facing or revenue-adjacent features instead.
  • Standardizing on a UI stack. The package is explicitly TALL-optimized (Tailwind, Alpine, Laravel, Livewire). Adoption is really a decision to standardize server-driven UI on Livewire rather than a SPA + API architecture for admin surfaces.
  • Authorization posture for inline write actions. The package ships three authorization hooks (authorizeFieldUpdate, authorizeFieldUpdateRaw, authorizeToggle) that default to permitting the write. Product must decide, per table, which roles may edit fields and flip booleans in place — this is a product/compliance decision, not an implementation detail.
  • Feature-level decisions enabled by the column API. Date formatting, centered columns, conditional mobile card titles, info modals, and per-column editability are all configuration points where PMs can specify behavior without new engineering work.
  • Risk register entries. Low adoption (3 stars, 0 dependents) and single-maintainer signals make this a "concentrated dependency" line item to track, with a fork-or-replace contingency.

When to Consider This Package

Adopt when:

  • The application is already Laravel + Livewire (+ Tailwind/Alpine), so there is no new stack commitment.
  • The surface area is internal or authenticated — admin panels, back-office CRUD, operational dashboards — where a table library's rough edges are not customer-visible.
  • The team wants a broad feature set (bulk actions, export, inline editing, caching, mobile cards) faster than it can build and test it.
  • You have engineering capacity to own the integration: override the default-permit authorization hooks, pin versions, and review changelogs (including breaking changes like v2.10.0's write-path tightening).
  • MIT licensing matters — no procurement cycle, no per-seat cost, and a viable fork path.
  • You value the AI-assistant tooling (MCP tools, skills, LLM reference docs) and 243-test suite as evidence of maintainability discipline.

Look elsewhere when:

  • The table is customer-facing or high-traffic and needs proven performance characteristics, published SLAs, or a large user base to lean on for edge cases.
  • Security or compliance review requires a vendor with support contracts, security disclosure process, and adoption evidence. Three stars and zero dependents is a thin safety net.
  • The stack is not Livewire — Inertia/React/Vue teams get no benefit and inherit a dependency they cannot use.
  • You need a full admin platform (auth, resources, policies, panels) rather than a table component; Filament or Nova-class tooling answers a broader question with a larger ecosystem.
  • Your team cannot absorb a breaking change on short notice; this package has shipped breaking behavioral changes in minor-looking version bumps.

How to Pitch It (Stakeholders)

To executives (the 30-second version): "We can stop hand-building admin tables. This is a free, MIT-licensed component that gives our internal tools search, sort, filters, bulk actions, inline editing, and export out of the box on the stack we already use. The trade-off is that it's a small, early-stage open-source project — so we'd pilot it on one internal admin screen, implement the authorization hooks ourselves rather than relying on defaults, and keep the option to fork or replace. It buys back engineering time on internal tooling without adding license cost or a new technology bet."

To engineering leads:

  • Livewire-native, TALL-aligned, and API-shaped around a columns() / filters() / actions() declarative model — low conceptual overhead for a Laravel team.
  • The feature floor is high: filtering with custom query callbacks, virtual filters, sorting, per-page and cursorless pagination, global search, bulk actions, column toggling, row expansion, mobile card rendering, export, and a table-data cache.
  • Critical integration requirement: every write path defaults to allow. ->editable() must be explicit, and authorizeFieldUpdate / authorizeFieldUpdateRaw / authorizeToggle must be overridden on any table exposing sensitive data. Treat this as a mandatory checklist item in code review, not a nice-to-have.
  • Recent releases show active maintenance and hardening (cache serialization fixes for Laravel 13, stdClass/array row handling, base-class rename with class_alias back-compat, Livewire 4 support). That's reassuring but also means the API is still moving — pin the version.
  • Dependency risk is concentrated, not broad: no transitive footprint to speak of, MIT license, and the surface is a UI component — replacement cost is bounded to the table layer. A fork is a realistic contingency, not a rewrite.

Recommendation: approve a scoped pilot on one internal, authenticated admin table. Success criteria: authorization hooks fully overridden and tested, upgrade to a patch release without breakage, and measurable engineering time saved versus an in-house build. Re-evaluate for broader adoption after the pilot.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table