Skip to content

Commit f8a3ad4

Browse files
committed
Merge branch 'main' into 4.x
2 parents 4829b41 + 92ee803 commit f8a3ad4

File tree

131 files changed

+516
-31
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+516
-31
lines changed

β€Žcontent/articles/leandrocfe-filament-v4-beta-feature-overview.mdβ€Ž

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ To upgrade your app to Filament v4 beta, please read the [upgrade guide](https:/
2020
2121
> Looking for the current stable version? Visit the [3.x documentation](https://filamentphp.com/docs/3.x).
2222
23+
## Latest updates
24+
25+
> **Updated: June 16, 2025**
26+
27+
- [Reorderable columns](#reordering-table-columns) feature in [v4.0.0-beta5](https://github.com/filamentphp/filament/releases/tag/v4.0.0-beta5)
28+
29+
---
30+
2331
## General
2432

2533
### Performance
@@ -137,6 +145,8 @@ If you need to refresh them β€” for example, after a setting or permission chang
137145
They let you build user interfaces in PHP using structured configuration objectsβ€”no need to write `HTML` or `JavaScript` manually.
138146
These schemas define how your UI looks and behaves, representing components such as [forms fields](https://filamentphp.com/docs/4.x/forms/overview), [infolist entries](https://filamentphp.com/docs/4.x/infolists/overview), [layout components](https://filamentphp.com/docs/4.x/schemas/layouts) and [prime components](https://filamentphp.com/docs/4.x/schemas/primes).
139147

148+
![Schemas](https://filamentphp.com/docs/4.x/images/light/schemas/overview/example.jpg)
149+
140150
Every Filament UI component β€” whether it's a form field, a description list, or a static element like text or buttons β€” is configured through a [schema](https://filamentphp.com/docs/4.x/schemas/overview).
141151
Components are modular, nestable, and reusable, making your interfaces consistent and easy to maintain.
142152

@@ -150,6 +160,8 @@ For a full list of available components, see the [Schemas documentation](https:/
150160

151161
You can now switch to a [vertical tab](https://filamentphp.com/docs/4.x/schemas/tabs#using-vertical-tabs) layout by calling the `vertical()` method.
152162

163+
![Vertical tabs](https://filamentphp.com/docs/4.x/images/light/schemas/layout/tabs/vertical.jpg)
164+
153165
### Container queries
154166

155167
In addition to traditional breakpoints based on the size of the viewport, you can also use [container queries](https://filamentphp.com/docs/4.x/schemas/layouts#using-container-queries) to create responsive layouts based on the size of a parent container.
@@ -160,6 +172,8 @@ In addition to traditional breakpoints based on the size of the viewport, you ca
160172

161173
[Rich editor](https://filamentphp.com/docs/4.x/forms/rich-editor) is now using [Tiptap](https://tiptap.dev/), a modern, headless, and highly extensible open source editor framework.
162174

175+
![Rich editor](https://filamentphp.com/docs/4.x/images/light/forms/fields/rich-editor/simple.jpg)
176+
163177
#### Storing content as HTML or JSON
164178

165179
By default, the rich editor stores content as `HTML`. If you would like to store the content as `JSON` instead, you can use the [`json()` method](https://filamentphp.com/docs/4.x/forms/rich-editor#storing-content-as-json).
@@ -186,16 +200,22 @@ You can [extend the Rich editor](https://filamentphp.com/docs/4.x/forms/rich-edi
186200

187201
The [Slider component](https://filamentphp.com/docs/4.x/forms/slider) lets users select one or more numeric values by dragging a handle along a track β€” ideal for inputs like ranges, ratings, or percentages.
188202

203+
![Slider](https://filamentphp.com/docs/4.x/images/light/forms/fields/slider/pips-count.jpg)
204+
189205
### Code editor
190206

191207
The [code editor component](https://filamentphp.com/docs/4.x/forms/code-editor) lets users write and edit code directly in the interface.
192208
It supports common languages including `HTML`, `CSS`, `JavaScript`, `PHP`, and `JSON`.
193209

210+
![Code editor](https://filamentphp.com/docs/4.x/images/light/forms/fields/code-editor/language.jpg)
211+
194212
### Table repeaters
195213

196214
[Table repeaters](https://filamentphp.com/docs/4.x/forms/repeater#table-repeaters) display [repeater](https://filamentphp.com/docs/4.x/forms/repeater) items in a table layout using defined `columns`.
197215
You can configure these columns with the `table()` method and `TableColumn` objects, which map to fields in the repeater's schema.
198216

217+
![Table repeaters](https://filamentphp.com/docs/4.x/images/light/forms/fields/repeater/table.jpg)
218+
199219
Each column can be customized:
200220

201221
- `hiddenHeaderLabel()` hides the label visually but keeps it accessible.
@@ -239,10 +259,14 @@ In this JavaScript context, you can use `$state`, `$get()`, and `$set()` to inte
239259
The [`FusedGroup`](https://filamentphp.com/docs/4.x/forms/overview#fusing-fields-together-into-a-group) component lets you visually combine multiple fields into a single, compact group.
240260
It's best used with compatible field types like [text inputs](https://filamentphp.com/docs/4.x/forms/text-input), [selects](https://filamentphp.com/docs/4.x/forms/select), [date-time pickers](https://filamentphp.com/docs/4.x/forms/date-time-picker) and [color pickers](https://filamentphp.com/docs/4.x/forms/color-picker).
241261

262+
![Fused group](https://filamentphp.com/docs/4.x/images/light/forms/fields/fused-columns.jpg)
263+
242264
### Adding extra content to a field
243265

244266
Fields contain [multiple slots](https://filamentphp.com/docs/4.x/forms/overview#adding-extra-content-to-a-field) where content can be inserted in a child schema. Slots can accept text, [any schema components](https://filamentphp.com/docs/4.x/schemas/overview), [actions](https://filamentphp.com/docs/4.x/actions/overview), or [action groups](https://filamentphp.com/docs/4.x/actions/grouping-actions) β€” typically with [prime components](https://filamentphp.com/docs/4.x/schemas/primes).
245267

268+
![Below content](https://filamentphp.com/docs/4.x/images/light/forms/fields/below-content/alignment.jpg)
269+
246270
Available slots include:
247271

248272
- `aboveLabel()`, `beforeLabel()`, `afterLabel()`, `belowLabel()`
@@ -273,6 +297,8 @@ This improves type consistency and reduces the need for manual casting in your l
273297
[Code entry](https://filamentphp.com/docs/4.x/infolists/code-entry) allows you to present a highlighted code snippet in your [infolist](https://filamentphp.com/docs/4.x/infolists).
274298
It uses [Phiki](https://github.com/phikiphp/phiki) for code highlighting on the server.
275299

300+
![Code entry](https://filamentphp.com/docs/4.x/images/light/infolists/entries/code/simple.jpg)
301+
276302
## Tables
277303

278304
### Tables with custom data
@@ -299,6 +325,16 @@ Table headers are now shown even when no records are present, enhancing the user
299325

300326
See the [bulk actions section](#bulk-actions) of this article.
301327

328+
### Reordering Table Columns
329+
330+
![Reordering Table Columns](https://filamentphp.com/docs/4.x/images/light/tables/columns/column-manager-reorderable.jpg)
331+
332+
Filament now supports [reorderable table columns](https://filamentphp.com/docs/4.x/tables/columns/overview#reordering-columns) using the `reorderableColumns()` method. This allows users to drag and rearrange visible columns for a personalized view.
333+
334+
You can also make the column manager `live`, so changes apply instantly without needing to click "Apply", by using [`deferColumnManager(false)`](https://filamentphp.com/docs/4.x/tables/columns/overview#live-column-manager).
335+
336+
Additionally, the column manager trigger button can be customized via [`columnManagerTriggerAction()`](https://filamentphp.com/docs/4.x/tables/columns/overview#customizing-the-column-manager-dropdown-trigger-action), giving you control over its label, style, and behavior.
337+
302338
## Actions
303339

304340
### Unified actions
@@ -311,6 +347,8 @@ Instead of having separate `Action` classes for each context, all actions now us
311347

312348
Tables now support a dedicated [toolbar actions](https://filamentphp.com/docs/4.x/tables/actions#toolbar-actions) area.
313349

350+
![Toolbar actions](https://filamentphp.com/docs/4.x/images/light/tables/actions/toolbar.jpg)
351+
314352
You can place both regular actions and [bulk actions](https://filamentphp.com/docs/4.x/tables/actions#bulk-actions) in the [`toolbarActions()`](https://filamentphp.com/docs/4.x/tables/actions#toolbar-actions) method.
315353

316354
This is useful for actions like "create", which are not tied to a specific row, or for making bulk actions more visible and accessible in the table’s toolbar.
@@ -362,7 +400,7 @@ You can now use the [`rateLimit()`](https://filamentphp.com/docs/4.x/actions/ove
362400

363401
#### Styling XLSX columns
364402

365-
You can now customize the styling of individual cells in `XLSX` exports using the [`makeXlsxRow()` and `makeXlsxHeaderRow()`](https://filamentphp.comdocs/4.x/actions/export#styling-xlsx-columns) methods in your exporter class.
403+
You can now customize the styling of individual cells in `XLSX` exports using the [`makeXlsxRow()` and `makeXlsxHeaderRow()`](https://filamentphp.com/docs/4.x/actions/export#styling-xlsx-columns) methods in your exporter class.
366404

367405
#### Customizing the XLSX writer
368406

@@ -411,7 +449,7 @@ Filament now loads the [Inter font](https://fonts.google.com/specimen/Inter) loc
411449

412450
### Sub-navigation position
413451

414-
By default, sub-navigation appears at the start of each page. You can override this globally for the entire panel using the [`subNavigationPosition()` method](https://filamentphp.com//docs/4.x/panel-configuration#setting-the-default-sub-navigation-position).
452+
By default, sub-navigation appears at the start of each page. You can override this globally for the entire panel using the [`subNavigationPosition()` method](https://filamentphp.com/docs/4.x/panel-configuration#setting-the-default-sub-navigation-position).
415453

416454
Available options are:
417455

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
name: Alperen Ersoy
3+
slug: alperen-ersoy
4+
github_url: https://github.com/alperenersoy
5+
twitter_url: https://twitter.com/alperen_ersoy
6+
---

β€Žcontent/authors/alvleont.mdβ€Ž

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Álvaro León Torres
3+
slug: alvleont
4+
github_url: https://github.com/alvleont
5+
twitter_url: https://twitter.com/alvleont
6+
---
7+
8+
Álvaro LeΓ³n Torres is a pharmacist, software engineer, and entrepreneur who builds technology to simplify complex processes and empower professionals in regulated industries. He writes code to create meaningful changeβ€”often from his home office, with his cats nearby and karaoke tracks queued up.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: AndrΓ© Domingues
3+
slug: andrefelipe18
4+
github_url: https://github.com/andrefelipe18
5+
twitter_url:
6+
sponsor_url: https://github.com/sponsors/andrefelipe18
7+
---
8+
Laravel | Livewire enthusiast | Open Source Contributor πŸ‡§πŸ‡·
211 KB
Loading
84.2 KB
Loading
69.8 KB
Loading
31.1 KB
Loading
219 KB
Loading
365 KB
Loading

0 commit comments

Comments
Β (0)