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
Filament Title With Slug

Filament Title With Slug Laravel Package

remihin/filament-title-with-slug

A Filament form field that pairs a title input with an auto-generated, editable slug. It keeps the slug in sync as you type, lets you tweak it manually, and helps ensure clean, unique URLs for your Laravel models.

View on GitHub
Deep Wiki
Context7

Filament Title With Slug is a Filament PHP form component that pairs a title field with an auto-generated slug, keeping both values in sync as you type. It reduces boilerplate for resource and page forms by handling slug generation, uniqueness, and manual overrides in a single reusable field.

  • Configurable source field and slug separator
  • Automatic slug generation with live preview
  • Optional manual editing and lock toggle
  • Works with Filament resources, pages, and custom forms
  • Lightweight, dependency-free integration
Frequently asked questions about Filament Title With Slug
How do I install remihin/filament-title-with-slug in a Laravel Filament app?
Install via Composer with composer require remihin/filament-title-with-slug. The package is a Filament form field, so integration typically means replacing a pair of TextInput fields on a Filament resource form. Check the repository README for any panel plugin registration step, because the provided overview does not confirm whether registration is required. Pin an exact patch such as 1.0.2 while release notes remain opaque.
Which Laravel and Filament versions does this title-with-slug field support?
The evaluation assumes Laravel 10/11, PHP 8.1+, Livewire, and Filament v3, but that is an assumption that must be verified. Inspect composer.json for the declared Filament major version and upper bound before scheduling a panel upgrade. The package is single-maintainer and small, so Filament major-version compatibility may lag upstream releases.
How does the slug field behave when I edit the title after publishing?
The package derives the slug from the title as you type, and the slug remains editable before saving. The provided evaluation does not confirm whether editing an existing title re-derives an already-published slug or whether manual edits lock the slug. Test this behavior explicitly on a low-traffic resource before rolling it out, because changing live URL segments requires a redirect map.
Does remihin/filament-title-with-slug handle duplicate slugs automatically?
The package documentation context does not specify whether duplicate slugs are silently overwritten, rejected by validation, or auto-suffixed. Slug uniqueness scoping, whether global, per-locale, or per-parent, is application-specific and must be handled in your Filament form or model layer. Add a uniqueness validation rule and database index if absent, and backfill duplicates before adopting the field.
Is this package safe for production use in a Laravel admin panel?
Architecturally it is a low-risk, additive UI component inside the Filament panel boundary, and it does not alter persistence or routing. The main production risks are maintainership concentration, small install base, and opaque patch release notes. Pin an exact version, review diffs when available, and keep slug-generation authority either fully in the component or fully in a model observer.
How does the component handle non-Latin titles and transliteration?
Slug generation for internationalization, transliteration, and non-Latin scripts is a known behavioral edge case for this kind of component. The provided context does not confirm the transliteration strategy or integration with spatie/laravel-translatable for per-locale slugs. Test representative titles in your target languages before relying on generated slugs. If per-locale slugs are required, verify whether the field supports that or implement it outside the component.
Can I still edit the slug manually, or is it locked to the title?
The overview says the slug is editable before saving, so manual editing is part of the intended workflow. It is not confirmed whether a manual edit locks the slug against future title changes. Treat that as an open question and test the exact behavior in your Filament form. Document the expected editor workflow so content teams do not accidentally overwrite intentional slugs.
How do I test this Filament form field in my Laravel application?
Focus tests on slug derivation, manual edit behavior, duplicate handling, and transliteration for your content languages. Use Filament and Livewire form tests to fill the title, observe the slug field, then edit the slug and title in different orders. Include a test that editing a published record does not silently change a live URL unless intended. The package evaluation explicitly recommends testing internationalization and edge cases rather than assuming behavior.
What alternatives should I consider before adding this Filament title-with-slug package?
You can implement the same behavior with two Filament TextInput fields plus a Livewire afterStateUpdated callback, or generate slugs in a model observer or service layer. The package is best when you want a drop-in form component and your slug is a first-class Eloquent column. If slugs are relational, per-locale via spatie/laravel-translatable, or produced by existing service logic, the component may duplicate rather than complement that logic. Weigh the small dependency against the maintainership risk.
What changed in version 1.0.2, and is it safe to upgrade?
The 1.0.2 release notes contain only a compare link, so the diff could be a dependency bump, a bug fix, or an undocumented behavior change in slug derivation. Semver classifies it as a patch, but that is inference rather than evidence. For a package that mutates user-visible URL segments, review the actual diff before upgrading. Pin to 1.0.2 and re-evaluate the pin when a readable changelog is available.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo