Weave Code
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

Filament Sticky Columns Laravel Package

zeeshantariq/filament-sticky-columns

Add sticky (frozen) columns to Filament tables (v3–v5). Pin one or more columns left or right with automatic offsets, dark-mode friendly styling, and scroll shadows. Use the StickyColumn drop-in or call ->sticky() on any column.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Enhancing Data Usability in Admin Panels: This package directly supports the goal of improving user experience in Filament-based admin dashboards by enabling sticky/frozen columns (like Excel or Google Sheets). This is critical for tables with many columns, where users need to reference headers or key data (e.g., IDs, statuses) while scrolling horizontally.
  • Roadmap for Filament v3–v5 Compatibility: If your product relies on Filament for admin interfaces and plans to support multiple versions (v3–v5), this package provides a zero-config, drop-in solution to maintain consistency across updates without rewriting sticky column logic.
  • Build vs. Buy Decision: For teams evaluating whether to build custom sticky column functionality (e.g., via CSS/JS hacks or Tailwind) vs. buying/leveraging a package, this offers a low-effort, high-ROI alternative. The package handles edge cases (dark mode, dynamic offsets, Livewire integration) that would otherwise require significant dev time.
  • Use Cases:
    • Audit Logs/Activity Tables: Freeze timestamps or user IDs while scrolling through long lists.
    • CRM/ERP Dashboards: Pin account names or status badges (e.g., "Active/Inactive") to the right.
    • Reporting Tools: Lock KPI columns (e.g., "Revenue," "Conversion Rate") for quick reference.
    • Multi-Tenant Apps: Sticky tenant IDs or tenant-specific metadata in shared tables.

When to Consider This Package

  • Adopt This Package If:

    • Your Filament admin tables have 5+ columns where users frequently scroll horizontally.
    • You need sticky columns for Filament v3–v5 without version-specific forks.
    • Your team lacks frontend expertise to implement custom sticky positioning (e.g., handling scroll shadows, dark mode, or Livewire updates).
    • You want to avoid hardcoding CSS/JS and prefer a maintainable, declarative approach (->sticky() in PHP).
    • Your app uses Vite or Filament’s asset pipeline, as the package integrates seamlessly with both.
  • Look Elsewhere If:

    • You’re using Filament v2 (unsupported).
    • Your tables are static or rarely scrolled (no UX benefit).
    • You need server-side rendering (SSR) compatibility (this is client-side only).
    • Your design requires complex sticky layouts (e.g., sticky rows and columns simultaneously; this package focuses on columns).
    • You’re already using a custom solution that meets your needs (e.g., a Tailwind-based hack with proven reliability).

How to Pitch It (Stakeholders)

For Executives:

"This package lets us add Excel-like sticky columns to our Filament admin dashboards with zero dev effort. For example, in our customer support tables, agents could freeze the ‘Ticket ID’ and ‘Priority’ columns while scrolling through long lists of comments—reducing errors and speeding up resolution. It’s a low-cost UX upgrade that aligns with our goal of making tools more intuitive, and it works across all our Filament versions (v3–v5) without technical debt."

ROI:

  • Time Saved: Eliminates 2–4 hours of frontend dev work per table.
  • User Adoption: Sticky columns are a known UX pattern (used in Google Sheets, Airtable) that reduces cognitive load.
  • Scalability: Supports future Filament updates without rework.

For Engineering:

*"This is a drop-in PHP/JS package that adds sticky columns to Filament tables with:

  • Zero config for basic use (just add ->sticky() to columns).
  • Auto-computed offsets (no manual pixel tweaking for most cases).
  • Dark mode support (inherits Filament’s surface colors).
  • Livewire v3/v4 compatibility (handles dynamic table updates).
  • Vite/Filament assets integration (no hard refreshes needed).

Tradeoffs:

  • Client-side only (not SSR-friendly).
  • Limited to column stickiness (no rows or complex layouts).
  • Requires filament:assets or Vite setup for assets.

Recommendation: Use for any Filament table with horizontal scrolling needs. For custom sticky row/column combos, we’d need to build a bespoke solution—but this covers 80% of use cases with 20% of the effort."*

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.
nasirkhan/laravel-sharekit
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony