Commit Graph
29361 Commits
Author SHA1 Message Date
Dan Harrin 61853ee76b fix: Invalid file path validation (#19759) 2026-04-23 11:43:22 +01:00
Dan Harrin d2a690d274 Clean up file path protection feature docs & naming v4.11.0 2026-04-21 12:02:12 +01:00
Bartłomiej Gajda 366e415e20 colors translations (#19740) 2026-04-21 11:02:38 +01:00
7dac7d1c83 Add Width enum cases to add missing tailwind options. (#19737)
* Add width enum cases and source styles

Agent-Logs-Url: https://github.com/CamKemBell/filament/sessions/d1f38cbb-48d3-4436-a334-9bf8b6f251a2

Co-authored-by: CamKemBell <217516035+CamKemBell@users.noreply.github.com>

* Build updated width styles

Agent-Logs-Url: https://github.com/CamKemBell/filament/sessions/d1f38cbb-48d3-4436-a334-9bf8b6f251a2

Co-authored-by: CamKemBell <217516035+CamKemBell@users.noreply.github.com>

* Revert unnecessary test assertion changes

Agent-Logs-Url: https://github.com/CamKemBell/filament/sessions/10de9a43-ef20-4d0f-b354-2ed14e37a57f

Co-authored-by: CamKemBell <217516035+CamKemBell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: CamKemBell <217516035+CamKemBell@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-21 11:02:15 +01:00
Dan Harrin d887941b48 fix: Grouping by soft deleted relationship with trashed records (#19742)
* fix: Grouping by soft deleted relationship with trashed records

* Update TicketMessageFactory.php
2026-04-21 11:01:42 +01:00
zvizvi 2da8e3ca1b Add Hebrew translations for select/deselect actions in export (#19739)
* Add select and deselect actions in Hebrew export

* Update export messages to Hebrew translations
2026-04-21 10:00:35 +01:00
Dan Harrin 3b521d2ee7 feature: Styling custom block previews with prose (#19741) 2026-04-21 09:33:51 +01:00
77ac2913da feat: Add Estonian (et) translations (#19725)
* feat: Add Estonian (et) translations

* feat: Register FilePond Estonian (et-ee) locale

* chore: fix code style

* Update file-upload.js

---------

Co-authored-by: GasparSukk <GasparSukk@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:47:32 +01:00
Dan Harrin d4c0e0c385 feature: FileUpload/RichEditor file path protection (#19731)
* feature: `FileUpload`/`RIchEditor` file path protection

* more tests

* cs && build
2026-04-20 13:45:14 +01:00
Omar AlnabrisandDan Harrin 49bfa189e9 Evaluate badge color with badge state (#19706)
* Evaluate badge color with badge state

* missing places

* docs

* simplify

* cleanup

* Update HasBadge.php

* fix assertions

---------

Signed-off-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:36:26 +01:00
Maher El GamilandDan Harrin 822f107798 Add configurable temporary URL expiry duration (#19733)
* Add configurable temporary URL expiry duration

- Add 'temporary_url_expiry' config option (default: 30 minutes)
- Update all temporary URL generation to use config
- Allows users to customize expiry duration in config/filament.php

* clean up

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:27:46 +01:00
Mark ChaneyandDan Harrin 22841f5ffc Feature: Add configurable filters remove-all action (#19730)
* Add configurable filters remove-all action

* Isolate filters remove-all override tests

* Update HasFilters.php

* cleanup and screenshot

* fix spacing

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:27:34 +01:00
Will AguilarandDan Harrin 26919fa894 feat: add ->size() support to Filament\Schemas\Components\Icon (#19726)
* feat: add ->size() support to Filament\Schemas\Components\Icon

* cleanup

* docs

* improve ss

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:27:17 +01:00
630af63d01 Loading indicator refactor (#19721)
* Refactor loading indicator to use a bindable contract

* chore: fix code style

* cleanup

* consistency

* chore: fix code style

---------

Signed-off-by: Shaharyar Ahmed <shery.codes@gmail.com>
Co-authored-by: Shaharyar Ahmed <shaharyar@DESKTOP-U23GP1D.localdomain>
Co-authored-by: Shaharyar-WebDev <Shaharyar-WebDev@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: danharrin <danharrin@users.noreply.github.com>
2026-04-20 13:27:00 +01:00
Tom JanssenandDan Harrin 6bc46098af Modify import completed notification (#19714)
* add code

* add for exports, clean up and docs

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:26:50 +01:00
MarcelandDan Harrin a4f07a54c4 Add page header heading render hook (#19702)
* Add page header heading render hook

* cleanup

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:26:34 +01:00
Omar AlnabrisandDan Harrin b8c80cdee8 Support dynamic navigation visibility (#19701)
* support dynamic navigation visibility

* clean up and test and docs

* simplify

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:26:23 +01:00
ecae6fcf8b feat: add support for backed enum locale (#19684)
* feat: add support for backed enum locale

* chore: fix code style

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: ukeloop <ukeloop@users.noreply.github.com>
2026-04-20 13:26:16 +01:00
Bartłomiej GajdaandDan Harrin 8df2c3563b Feature: SlideOver position (#19636)
* slideover position

* cs

* reverts unwanted change

* fix

* clean up and docs

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:25:22 +01:00
Craig Anderson 8ac9d46a61 Add hiddenLabel() support to table column summarizers (#19634)
* Add hiddenLabel() support to table column summarizers

* Add docs
2026-04-20 13:25:11 +01:00
Bartłomiej GajdaandDan Harrin 8afdcc59cf Feature: enhanced translation tool (#19607)
* line in translation tool

* wip

* wip

* cs

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:24:59 +01:00
Bartłomiej GajdaandDan Harrin e06e1c7854 Feature: Extra modal overlay attributes (#19603)
* extra overlay attributes

* cs

* readme

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:24:50 +01:00
7bf516d8af feat: expose TipTap/ProseMirror globals for custom rich editor extensions (#19559)
* feat: expose TipTap/ProseMirror globals for custom extensions

Custom extensions loaded via RichContentPlugin::getTipTapJsExtensions()
are fetched at runtime via dynamic import(). Each extension bundle must
currently include its own copy of TipTap/ProseMirror, leading to:

- Duplicate ProseMirror instances on the page
- instanceof checks failing across bundles (e.g. DecorationSet)
- ~150-200 KB of redundant JS per extension

This adds window.Filament.TipTap with the core ProseMirror modules
(@tiptap/core, @tiptap/pm/state, @tiptap/pm/view, @tiptap/pm/model)
already bundled in rich-editor.js. Custom extension builds can mark
@tiptap/* as external and resolve from this global at runtime,
sharing the same ProseMirror instance as the host editor.

Non-breaking: existing extensions that bundle their own TipTap
continue to work unchanged.

* Discard changes to packages/forms/dist/components/rich-editor.js

* chore: fix code style

* clean up & docs

---------

Co-authored-by: leek <leek@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:24:33 +01:00
d35bc5460e Feat: Add custom openable/downloadable URLs support for file uploads (#19481)
* Add openableUrl support for file uploads

Include server-provided openable URLs in uploaded file metadata and use them for the file open action. JS: add uploadedFile.metadata to the file options and prefer metadata.openableUrl (falling back to file.source) when generating the open link. PHP: introduce a getOpenableUrlUsing closure property and setter, and populate metadata.openableUrl for each stored file by evaluating the callback. This enables customizable/signed URLs or alternate domains for opening uploaded files.

* chore: fix code style

* Add downloadable URL support for file uploads

Support custom downloadable URLs for uploaded files. Backend: add a getDownloadableUrlUsing callback and property on BaseFileUpload, populate metadata.downloadableUrl when isDownloadable() and the callback is set, and ensure openable URL generation checks isOpenable(). Frontend: prefer metadata.downloadableUrl for the download anchor href (fallback to file.source behavior removed). This enables serving custom download links separate from the file source.

* Format conditionals in BaseFileUpload

Remove an extra blank line and standardize conditional formatting in BaseFileUpload: add consistent spacing and braces for the openable/downloadable URL checks and tidy up the getDownloadableUrlUsing method. Purely stylistic changes with no functional impact.

* run composer cs

* clean up

---------

Co-authored-by: Abdulmajeed-Jamaan <Abdulmajeed-Jamaan@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:24:23 +01:00
11ef6c6a88 Add deferred badge loading for relation manager tabs (#19464)
* feat: add deferred badge loading for relation manager tabs

Extends the deferred tab badge loading introduced in PR #19336 to
relation manager tabs, fixing two upstream issues:

1. `RelationManager::getTabComponent()` was evaluating `getBadge()`
   eagerly before the deferred mechanism could intercept it.
2. `HasRelationManagers::getRelationManagersContentComponent()` built
   `Tabs::make()` with no key, causing `callSchemaComponentMethod()` to
   receive null when the async badge fetch fired.

Changes:
- Add `protected static bool $deferBadge = false` to `RelationManager`
  with an overrideable `isBadgeDeferred()` method for per-record control
- Add fluent `->deferBadge()` and `isBadgeDeferred()` to `RelationGroup`
- Add `->key('relationManagerTabs')` to the `Tabs` built in
  `HasRelationManagers`
- Add docs and tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* cleanup

---------

Co-authored-by: buzkall <buzkall@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:24:09 +01:00
pintendandDan Harrin 1d9fe463b9 feat: ActionGroup in headerActions() and footerActions() of schema components (#19431)
* feat: ActionGroup in HeaderAction

* tests and add footer actions support

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:23:56 +01:00
pintendandDan Harrin f618314662 feat: get item index in itemLabel on Repeater (#19430)
* pass index to getItemLabel

* tests, docs, builder

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 13:23:41 +01:00
Amirhossein 4bda006b2b add missing Persian translations for export column selection actions (#19736)
Added missing Persian translations for the export column selection actions
in the Filament actions export language file.

The following keys were missing in the `fa` locale:

- actions.select_all
- actions.deselect_all

These translations ensure the column selection controls in the export
modal are properly localized for Persian users.

Signed-off-by: Amirhossein <amirhosseinzangali@gmail.com>
2026-04-20 11:45:11 +01:00
Rupesh ShresthaandDan Harrin d8350fe6a5 Improve/boost guidelines v4 (#19734)
* improve: add Set/Get reactive snippet, table filters, edit test, and relationship mistake

Added examples for reactive field mutation and computed column values. Updated guidelines for using SelectFilter and actions with modal forms.

Signed-off-by: Rupesh Shrestha <46959961+rupeshstha@users.noreply.github.com>

* Revise core guidelines for forms and layouts

Updated guidelines for reactive field mutation and layout components.

Signed-off-by: Rupesh Shrestha <46959961+rupeshstha@users.noreply.github.com>

* condense

---------

Signed-off-by: Rupesh Shrestha <46959961+rupeshstha@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-20 11:44:44 +01:00
Dan Harrin 37c3a6d755 fix: Deferred badge loading on each Livewire component update (#19735) 2026-04-20 09:32:25 +01:00
Dan Harrin 58a7529666 Drop 8.2 PHPStan as it will no longer install 2026-04-18 09:15:09 +01:00
Dan Harrin d13a7c84d5 Update TextColumnTest.php 2026-04-18 08:49:45 +01:00
Dan Harrin 3ac5562dec Update TextColumnTest.php 2026-04-17 11:41:46 +01:00
Dan Harrin 9c30ac93d6 fix: Hide resize handles on disabled rich editor (#19718) v4.10.2 2026-04-17 10:50:18 +01:00
Dan Harrin 2dc3c6e9e8 fix: Flash notifications with multiple Livewire components (#19717) 2026-04-17 10:34:39 +01:00
dependabot[bot] 7403cc5edb chore(deps): bump basic-ftp in /docs-assets/screenshots (#19716)
Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.2 to 5.3.0.
- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)
- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/v5.2.2...v5.3.0)

---
updated-dependencies:
- dependency-name: basic-ftp
  dependency-version: 5.3.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-17 10:17:33 +01:00
Dan Harrin 19327dd530 Update PartialRenderingTest.php 2026-04-17 10:16:03 +01:00
dependabot[bot] bd7991998c chore(deps-dev): bump follow-redirects from 1.15.11 to 1.16.0 (#19710)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 11:06:43 +01:00
Leandro Ferreira 481b8beb57 Add partial rendering test page and related component tests (#19708)
* feat: add partial rendering test page with dynamic components

* feat: create partial rendering test page with form submission

* feat: add partial rendering tests for component updates and accessibility

* feat: add PartialRenderingTest to AdminPanelProvider

* fix: remove only() from PartialRenderingTest

* refactor: simplify afterStateUpdated callback in PartialRenderingTest

* refactor: remove redundant accessibility check in PartialRenderingTest
2026-04-15 17:49:29 +01:00
Robinandrobin.kammer c1fe181d6e Add German translations for export column selection actions and validation messages (#19703)
Co-authored-by: robin.kammer <robin.kammer@ffhs.ch>
2026-04-15 10:54:18 +01:00
RenHai Wen 7c072ce174 fix: fix rich editor file attachment test temporary uploads (#19697) v4.10.1 2026-04-14 09:32:33 +01:00
Dan Harrin e5f4a8965a Update Resource.php 2026-04-13 22:31:35 +01:00
MaxandDan Harrin dafae5be8d Enhance search column expression for pgsql prefix (#19694)
* Enhance search column expression for pgsql prefix

Added support for Laravel table prefix in PostgreSQL.

Signed-off-by: Max <mstaack@users.noreply.github.com>

* Update helpers.php

* Update helpersTest.php

---------

Signed-off-by: Max <mstaack@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-13 22:30:04 +01:00
RenHai Wen 10bad7f846 fix: support grouped toolbar buttons in rich editor toolbar checks and modifications (#19695) 2026-04-13 22:24:52 +01:00
Jarno Ruokamo 2132c3daae Update finnish translation (#19696) 2026-04-13 22:24:08 +01:00
Dan Harrin c11ba509c9 fix PHPStan 2026-04-13 22:23:55 +01:00
Dan Harrin 413e9a953b Refactor RichEditor further to allow hook overrides 2026-04-13 19:17:37 +01:00
Dan Harrin 6eec522aa2 Update RichEditor.php 2026-04-13 18:02:37 +01:00
RenHai Wen 08dd068675 fix: Prevent hidden builder fields from breaking repeaters (#19676)
* test: add test for saving builder block with repeater and hidden field

* fix: Prevent hidden builder fields from breaking repeaters
2026-04-13 10:08:16 +01:00
Luke EllisandDan Harrin 790376b450 Fix JS Notification/Action/ActionGroup method shadowing bug (#19673)
* fix: resolve method shadowing by using backing properties in Notification class

* clean up

* Update ActionGroup.php

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-04-13 10:08:07 +01:00