28405 Commits
Author SHA1 Message Date
WenRenHai 8ecceaef3d fix: use line-clamp in columns to handle text overflow (#17912)
* fix: adjust TextColumn state item markup to wrap content in <p> and improve attribute handling

* fix: code style

* fix: retain the most simplified dom
v4.0.20
2025-09-23 11:09:30 +01:00
oddvalueandDan Harrin 9fb16f1819 feat: Handle 'Enter' key event in search of select (#17722)
* Handle 'Enter' key event in search of select

* Update index.css

* fix search checks

* refactor

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-23 11:00:49 +01:00
Ján Hamrák 2e56e61050 Update missing SK/CZ translations (#17913) 2025-09-23 10:22:53 +01:00
Alex T. 4cb7c38763 fix a11y radio and toggle button lose focus when live (#17906) 2025-09-22 19:48:24 +01:00
Dan Harrin 5f1e248cbe fix: Option keys starting with 0 (#17902)
* fix: Option keys starting with 0

* reverse order of checks for perf

* Use Laravel 11 compatible method
2025-09-22 12:29:57 +01:00
fb8009b9d5 feat: add affix support to TextInputColumn (#17756)
* feat: add affix support to TextInputColumn

- Add HasAffixes trait to TextInputColumn
- Support prefix and suffix labels, icons, and actions
- Add inline affix support
- Update toEmbeddedHtml() method to render affixes
- Add comprehensive documentation with examples
- Maintain backward compatibility with existing functionality

This allows TextInputColumn to display prefixes and suffixes similar to TextInput form components, enabling better UX for table editing with units, icons, or action buttons.

* remove: remove documentation from main filament repository

Documentation should be in the separate filamentphp.com repository, not in the main filament repository.

* chore: fix code style

* docs: add affix documentation for TextInputColumn

- Add comprehensive documentation for prefix and suffix functionality
- Include examples for labels, icons, inline affixes, and actions
- Document all new methods and their usage
- Provide practical examples for common use cases

* fix: resolve TextInputColumn action preparation and rendering errors

- Add prepareAction method to TextInputColumn class
- Fix echo statements to properly render Action objects using render() method
- Resolve undefined method and non-string echo errors

* delete packages/tables/docs/02-columns/08-text-input.md

* Add TextInputColumn documentation with affix functionality

- Add comprehensive documentation for TextInputColumn
- Include examples for prefix/suffix labels, icons, and actions
- Document inline layout control
- Add advanced examples for currency, search, and status inputs
- Include complete API reference for all methods

* Add TextInputColumn documentation with affix functionality

- Add comprehensive documentation for TextInputColumn
- Include examples for prefix/suffix labels, icons, and actions
- Document inline layout control
- Add advanced examples for currency, search, and status inputs
- Include complete API reference for all methods
- Match Filament documentation style and structure

* Fix echo errors in TextInputColumn

- Change prefixAction->render() to prefixAction->toHtml()
- Change suffixAction->render() to suffixAction->toHtml()
- Fixes PHPStan echo.nonString errors on lines 429 and 472

* Restore original TextInputColumn documentation with affix enhancements

- Preserve original validation and HTML input type documentation with proper links
- Keep original lifecycle hooks section unchanged
- Add prefix and suffix support as enhancement only
- Maintain minimal changes approach - only enhance, don't replace existing content

* Simplify TextInputColumn affix documentation to minimal example

- Remove excessive examples and detailed method documentation
- Keep single comprehensive example showing prefix, suffix, icon, and action
- Maintain original documentation content with minimal enhancement

* docs: remove actions reference

* fix: remove actions

* fix: spacing

* fix: phpstan by adding (unused) methods

* chore: fix code style

* fix: remove trait, update docs

* chore: fix code style

* fix: remove newline and deprecated method

* docs: remove paragraph

* docs: fix link to icons

* clean up, fix prefix not showing, fix icons throwing exceptions, fix XSS injection in labels

---------

Co-authored-by: Baspa <Baspa@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-22 12:06:09 +01:00
Dan Harrin 144b701d8a fix: Enable/disable specific toolbar buttons (#17900) 2025-09-22 10:12:27 +01:00
ghsgabrielandDan Harrin 8cd045426c [4.x] feat: ModalTableSelect badge() and badgeColor() (#17687)
* feat: ModalTableSelect badge() and badgeColor()

* clean up

* Update modal-table-select.blade.php

---------

Signed-off-by: ghsgabriel <ghs.gabe@gmail.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-22 09:44:00 +01:00
Dan Harrin b9e80cbb23 Merge branch '4.x' of https://github.com/filamentphp/filament into 4.x 2025-09-22 08:40:08 +01:00
Dan Harrin d11e375cfc Update 01-overview.md 2025-09-22 08:40:02 +01:00
Dan Harrin 2e786e0bcd fix: Avatar data URIs (#17898) 2025-09-22 08:37:27 +01:00
Dan Harrin 84288a89b1 Add Aside component import to testing tables doc 2025-09-22 08:34:13 +01:00
Dan Harrin 01779825f0 fix: Hidden actions in schemas (#17892) v4.0.19 2025-09-21 22:05:01 +01:00
Dan Harrin e35d00c14d fix: Section relationship key (#17891) 2025-09-21 22:03:36 +01:00
Dan Harrin 79eb20d38e Rich editor text color (#17888)
* Start configuration

* Add basic JS implementation

* add style attr

* refactor

* render colors on server

* docs

* allow arbitrary text colors & color preview

* default color docs

* Update 10-rich-editor.md

* custom colors

* Update 10-rich-editor.md
2025-09-21 21:19:54 +01:00
Dan Harrin 476e70b3eb update & recompile 2025-09-21 15:59:50 +01:00
Dan Harrin 25829af0cd Update GridAction.php 2025-09-21 13:32:23 +01:00
JT Smith 20285ec298 fix: typo in 02-installation.md (#17883) 2025-09-21 09:21:07 +01:00
Adam WestonandDan Harrin 88b9244e56 [4.x] Feat: rich editor grid extension (#17661)
* wip

* wip

* working extension

* remove grid from default toolbar

* recompile

* format and compile

* clean up

* simplify

* simplify passing columns config

* render responsively if using fi-prose

* Implement grid delete tool

* Update extension-grid.js

* improve delete grid tool

* Default breakpoint support

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-20 23:49:38 +01:00
Dan Harrin 352b770a25 Update EasyMDE.js 2025-09-20 13:38:26 +01:00
Kishan SunarandDan Harrin 36f9798fbc bugfix(action-sticky): fix form action sticky issue (#17794)
* bugfix(action-sticky): fix form action sticky issue

* refactor(actions): move inline sticky logic into dedicated methods

* cs

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-20 13:14:08 +01:00
BenandDan Harrin def8851970 Force render to bypass partial rendering (#17862)
* Skip partial rendering with forceRender

* Add department schema

* Test force render with create another in relation manager

* chore: fix code style

* Test force render with create another in relation manager

* Move forceRender into InteractsWithActions

* chore: fix code style

* Early return dehydrate if force render

* Add helper method to force render after create another

* Update CreateAction.php

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-20 12:59:27 +01:00
Mark BinghamandDan Harrin 9272e5ad4f [4.x] Add key to form actions content component for use with testing (#17875)
* Add key to form actions in EditRecord.php

* Add key to form actions for better identification

* simplify name and add elsewhere

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-20 12:53:39 +01:00
Alex T. 5ed4b24b8c Fix keyboard navigation issues with markdown editors (#17874)
* fix/Keyboard navigation issues with Markdown Editors

Fixes #17854
Filtered out hidden elements, but then I had to filter the toolbar on the additional instances of the component for consistency.
I don't like the look of duplicated code but not much I can do to dry this up.

* fix/Keyboard navigation issues with Markdown Editors

Fixes #17854
Filtered out hidden elements, and had to refactor a little.
I don't like the look of duplicated code but not much I can do to dry this up.
2025-09-20 12:48:30 +01:00
Corwin 15d27058f1 fix: fixed broken links on custom pages page (#17873) 2025-09-20 12:46:36 +01:00
MerdinandDan Harrin 22fc471a80 Update 03-testing-tables.md - "Testing that a column can be sorted" (#17871)
* Issue #17817: Update 03-testing-tables.md - "Testing that a column can be sorted"

Currently, the documentation includes a flaky test as an example for sorting a column. This is because Filament sorts its table records according to the underlying database strategy.

Previously, the documentation suggested using the `sortBy()` method on the collection returned by the factory. However, this approach does not account for differences in how various databases handle sorting, which can lead to inconsistent test results.

With this commit, the documentation has been updated.
The example test now uses a stable approach that explicitly orders records through the database query, ensuring reliable behavior across different database systems.

Signed-off-by: Merdin <me@merdin.dev>

* Update 03-testing-tables.md - "Testing that a column can be sorted"

Improve query

Signed-off-by: Merdin <me@merdin.dev>

* Update 03-testing-tables.md

Change `orderBy('title', 'desc')` to `orderByDesc('title')` to improve code readability.

Signed-off-by: Merdin <me@merdin.dev>

* Update 03-testing-tables.md

Signed-off-by: Merdin <me@merdin.dev>

* Refactor post sorting in test to use query builder

Signed-off-by: Dan Harrin <git@danharrin.com>

* Fix sorting order for posts by title

Signed-off-by: Dan Harrin <git@danharrin.com>

---------

Signed-off-by: Merdin <me@merdin.dev>
Signed-off-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-20 12:46:02 +01:00
Vytautas Smilingis 8b45602ffc Markdown editor should convert to markdown before sanitizing html (#17868) 2025-09-20 12:35:43 +01:00
Dan Harrin 4f74b33f98 Ensure array state cast values are arrays 2025-09-20 12:31:09 +01:00
Majid Al ZarieyandDan Harrin 432c627bb5 feat: add global registration for Chart.js plugins and update documen… (#17578)
* feat: add global registration for Chart.js plugins and update documentation

* fix: remove debug log from Chart.js registration

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-19 13:32:06 +01:00
EandDan Harrin bba922ef4d [4.x] Update rich text editor to support merge tags with labels (#17457)
* Update rich text editor to support merge tags with labels and improve handling of drag-and-drop data.

* update: add changes to documentation

* update: add label attribute support to MergeTagExtension

* update: transforming merge tags to fix array format, removing data-label from tag

* fix: replacement of a lost key

* update: polishing

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-19 13:17:40 +01:00
WenRenHaiandDan Harrin 40c585482e fix: vertical overflow issue,remove unnecessary relative positioning from builder item content (#17863)
* fix: vertical overflow issue,remove unnecessary relative positioning from builder item content

* fix: apply relative positioning when builder item has preview edit overlay

* fix: apply relative positioning to builder item content with preview

* move CSS

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-19 12:25:14 +01:00
Dan Harrin 711bfa21ed fix: Query builder deferred multiple select constraint (#17864) 2025-09-19 10:03:18 +01:00
Dan Harrin cbe40c69fe Update date-time-picker.blade.php 2025-09-19 10:01:35 +01:00
Dan Harrin 7361a850f3 fix: Relative user avatar URLs (#17861) 2025-09-19 08:28:04 +01:00
Muhammad Irfan Muttaqin 919ace1a35 fix: live updating non native DateTimePicker component (#17860) 2025-09-19 08:15:26 +01:00
Nguyễn Trần ChungandDan Harrin 4be2744e60 feat(auth): add autocomplete attributes to form inputs (#17548)
* feat(auth): add autocomplete attributes to form inputs

Add autocomplete attributes to improve user experience and accessibility in authentication forms. This helps browsers autofill fields correctly and follows best practices for form input handling.

* refactor(auth): update form component return types to Component interface

* Update EditProfile.php

* Remove autocomplete from email input field

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
v4.0.18
2025-09-18 23:19:06 +01:00
oddvalueandDan Harrin 6e902df59a [4.x] Feat: Add RawHtmlMergeTagExtension for rendering unescaped HTML merge tags in rich editor (#17437)
* Feat: Add RawHtmlMergeTagExtension for rendering unescaped HTML content in rich editor

* Fix: User correct extension for html merge tags

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 23:11:48 +01:00
Dorian AlaryandDan Harrin 1f38aa025e [4.x] feat: Added three new functions to SpatieMediaLibraryFileAttachmentProvider to customize media and their attributes (#17426)
* feat: Added functions to customize SpatieMediaProvider

Added three new functions to SpatieMediaLibraryFileAttachmentProvider to customize media and their attributes Theses functions are:

- preserveFilenames()
- mediaName()
- customProperties()

They allow to change the name of the media in storage, change the name of the media in the database, and add custom properties to the media in the database.

* feat: Edit plugin doc

* Update README.md

* Update SpatieMediaLibraryFileAttachmentProvider.php

* Update SpatieMediaLibraryFileAttachmentProvider.php

---------

Signed-off-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 22:45:23 +01:00
Sascha EndeandDan Harrin e4be0d2fe3 feat(tables): add scrollToTop() to auto-scroll after pagination (#17419)
* feat(tables): add scrollToTop() to auto-scroll after pagination
Add Table->scrollToTop() option to scroll to top when table pagination changes. Introduce a new Table concern (CanScrollToTop) and dispatch a 'filament-tables-scroll-to-top' browser event from InteractsWithTable::setPage for the table’s page name. The table root view conditionally listens via Alpine and calls window.scrollTo(0, 0).
Opt-in; disabled by default; no breaking changes
No AppServiceProvider render hook required
Usage: return $table->scrollToTop()

* feat(tables): enhance scrollToTop behavior for specific table instances

* - keep the same name for the method: scrollToTopOnPageChange()
- remove german comment
- Undo changes that were accidentally
  committed

* - remove german comment

* update setPage method parameter types

* refactor: remove outdated docblock for setPage method

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 22:31:51 +01:00
WenRenHaiandDan Harrin 2d2e0a7fd5 fix: unset contain property for modals with file upload editor (#17825)
* fix: unset contain property for modals with file upload editor

* fix: prevent pressing esc to close in `modal` and fix the error when closing the editor

* fix: apply layout containment to select and dropdown, remove from modal window

* fix: move layout containment for select and dropdown into modal context

* fix: add configurable flip and teleport options for dropdowns in action groups

* fix:incorrect position of select inside modal, Done!

* fix: resolve css conflict

* preserve custom dropdown teleport preference

* Update theme.css

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 22:14:59 +01:00
8f9801f306 Add action render hooks (#17355)
* add action render hooks

* update docs

* update docs

* chore: fix code style

* clean up

---------

Co-authored-by: dvarilek <dvarilek@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 21:57:19 +01:00
oddvalueandDan Harrin 41a4e495d5 [4.x] Feat: Add compact option to table repeater (#17411)
* Feat: Add streamlined option to table repeater

* Feat: Replace streamlined table repeater option with compact alternative

* Add padding to compact repeater infolist entries

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2025-09-18 21:57:11 +01:00
Stefan Schramm b56ef3a2fc Fix: replace hardcoded password and remember_token fields with Laravel methods (#17853) 2025-09-18 21:57:06 +01:00
Dan Harrin 85a7682aa2 Merge pull request #17849 from filamentphp/fix/cast-select-state-to-int
fix: Cast select state to int
2025-09-18 09:20:35 +01:00
Dan Harrin fdc521265e Merge pull request #17850 from luisprmat/4.x
Update missing spanish translations
2025-09-18 09:00:56 +01:00
Dan Harrin 2d542a1afd Update EnumArrayStateCastTest.php 2025-09-18 08:22:37 +01:00
Luis Parrado 4e6c4bb1cf Update missing spanish translations 2025-09-17 17:47:26 -05:00
Dan Harrin 6b64849e59 Update EnumStateCastTest.php 2025-09-17 22:29:13 +01:00
Dan Harrin 5a884cb4de Update EnumStateCastTest.php 2025-09-17 22:17:52 +01:00
Dan Harrin 8744b38ee5 Rename 2025-09-17 22:16:45 +01:00