Commit Graph
8199 Commits
Author SHA1 Message Date
Dan HarrinandAmp ea77942a70 Add JavaScript-rendered custom fields
Co-authored-by: Amp <amp@ampcode.com>
2026-09-21 21:29:36 +00:00
Dan HarrinandAmp 49dc7c1e5f Extract shared JavaScript renderer infrastructure
Co-authored-by: Amp <amp@ampcode.com>
2026-09-21 21:29:21 +00:00
Dan Harrin 2f2f7a6d75 fix: require content-based upload MIME detection 2026-09-21 21:16:07 +00:00
Dan Harrin 6ca69568c4 fix: store uploaded files with detected MIME types 2026-09-21 20:48:00 +00:00
604038fd2b [4.x] Fix: preserve the order of rich editor mention options (#20531)
* fix(forms): preserve the order of rich editor mention options

Mention options were sent to JavaScript as an object keyed by ID, and
`toItemsArray()` reads them back with `Object.entries()`. JavaScript orders
integer-like keys ascending numerically, so for models with numeric primary
keys the developer's ordering was silently replaced with an ascending-ID
sort, for both `items()` and `getSearchResultsUsing()`.

Items are now sent as an ordered list of `id` and `label` pairs. The JS
already supports that shape, so no JS change is required.

This also fixes a related edge case: PHP re-casts numeric-string array keys
back to integers, so a provider whose IDs were 0-based and sequential
serialised to a JSON array of bare labels, and the inserted mention took its
label as its `id`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011LniPBty6yFENqFFcMcNad

* fix(forms): preserve zero-valued mention IDs

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
2026-09-20 19:31:08 +01:00
Dan Harrin 5e87606fe9 fix: resolve state casts from cached child schemas (#20528)
* fix: resolve state casts from cached child schemas

* test: cover per-item repeater schema freshness
2026-09-19 20:34:45 +01:00
Dan Harrin 95fdf86ebb fix: clean up JavaScript resources on destruction 2026-09-19 10:50:51 +00:00
RenHai Wen e4872ab7f9 fix: correct FileUpload audio preview interactions (#20511)
* fix: audio controls triggering FileUpload reordering

* fix: correct FileUpload audio timeline interactions

* chore: clarify FileUpload audio preview change comments
2026-09-17 08:59:35 +01:00
ItsKaimsandKaimar Laaniste 3ff4783f08 Added Estonian missing language files (#20518)
Co-authored-by: Kaimar Laaniste <kaimar@greaton.ee>
2026-09-17 08:58:58 +01:00
TinaH c826d40f93 missing swedish (#20514) 2026-09-17 08:36:54 +01:00
Sandro Gehri 38d684bbe5 add client-side searchable mentions (#20501) 2026-09-15 14:37:50 +01:00
Chanthoeun Kim 21ec4e2708 Update km translations (#20499)
* feat: add missing Khmer translations for the view record page and chart widget.

* chore: update the missing Khmer language translations for multi-factor authentication and form components

* chore: update Khmer language translations for validation and email verification controller

* fix: fallback to default GITHUB_TOKEN if GH_ACCESS_TOKEN is not defined in workflow checkout

* feat: add and update Khmer language translations for various components and packages

* Update Khmer (km) translations
2026-09-15 14:26:52 +01:00
0fd23fcba9 refactor: define search configuration directly on CheckboxList (#20481)
* refactor: define search configuration directly on CheckboxList

* Fix CheckboxList search configuration details

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-12 12:23:11 +01:00
dd4bde3df3 Disable session persistence for tables inside a TableSelect (#20486)
* fix: disable session persistence for tables inside a TableSelect

Every TableSelect and ModalTableSelect renders through the same
TableSelectLivewireComponent, and table session keys are derived from
the Livewire component class. Two pickers with different table
configurations therefore shared one set of persisted filters, search,
sort, grouping and column state, and a persisted query builder rule
from one picker threw a LogicException in the other.

Turn off every session persistence option on the table used by a
TableSelect, and stop the column manager reading persisted state from
the session when column persistence is disabled.

Fixes #20468

* Add `persistInSession()` to toggle all table session persistence at once

The TableSelect component was switching off six separate persistence
options, which would silently miss any session feature added later.
Move that into a single `persistInSession()` method on the Table so
there is one place to keep in step, and call it from the component.

* Fix all TableSelect session persistence

Co-authored-by: Amp <amp@ampcode.com>

* Preserve non-persisted table state behavior

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-12 11:32:46 +01:00
643b10c2ba fix: make rich editor content area fully clickable (#20483)
* fix: restore editor default min heights and make whole area focusable

* revert: restore 10rem editor default min height

* test: ensure rich editor content fills available height

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-12 11:21:54 +01:00
a5a766505e chore(deps-dev): bump @tiptap/core from 3.30.4 to 3.30.5 in the npm_and_yarn group across 1 directory (#20478)
* chore(deps-dev): bump @tiptap/core

Bumps the npm_and_yarn group with 1 update in the / directory: [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core).


Updates `@tiptap/core` from 3.30.4 to 3.30.5
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.5/packages/core/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.5/packages/core)

---
updated-dependencies:
- dependency-name: "@tiptap/core"
  dependency-version: 3.30.5
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: update Tiptap dependencies to v3.30.5

Co-authored-by: Amp <amp@ampcode.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-12 10:46:41 +01:00
Matěj Brožek 87b326fdbb Fix the Czech translations (#20493)
* Fix Czech translations in login page

Signed-off-by: Matěj Brožek <38165077+ArrowCZ@users.noreply.github.com>

* Fixed the rest of Czech translations including malformed translations and syntax

---------

Signed-off-by: Matěj Brožek <38165077+ArrowCZ@users.noreply.github.com>
2026-09-12 10:39:52 +01:00
Jefferson GonçalvesandClaude Sonnet 5 c142618f54 fix: add missing pt_BR translations for select actions (#20497)
`select.actions.clear.label`, `select.actions.remove_option.label`, and `select.search_label` existed in `en/components.php` but were missing from `pt_BR/components.php`.


Claude-Session: https://claude.ai/code/session_016Tc1qzy8manZ4hmQvWKGQM

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 10:38:30 +01:00
danharrin 62317bb726 chore: format and build 2026-09-08 07:48:49 +00:00
ec8a6d5afc Defer FileUpload's synthetic visibilitychange out of its own ResizeObserver callback (#20462)
* Fix FileUpload visibility observer re-entry

* Build FileUpload assets

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-08 08:47:16 +01:00
Jonathan Danse 19e05837a9 fix: replace missing scrollbar-gutter-stable utility with raw CSS (#20465)
The rich editor and markdown editor max-height styles `@apply` a
`scrollbar-gutter-stable` utility that is not declared anywhere in
Filament's CSS. Any panel theme that imports Filament's theme.css
fails to build with:

  [@tailwindcss/vite:generate:build] Cannot apply unknown utility
  class `scrollbar-gutter-stable`

Replace the missing utility with the raw `scrollbar-gutter: stable`
declaration, matching how the sidebar (packages/panels/.../sidebar.css)
already uses it.
2026-09-08 08:39:16 +01:00
Luis Parrado 7893781a95 Update Spanish translations (#20450) 2026-09-06 11:48:52 +01:00
3de50426bc RichEditor minHeight()/maxHeight() support (#20258)
* Rich Editor minRows()/maxRows() support

Signed-off-by: Dennis Koch <info@pixelarbeit.de>

* Docs: minRows()/maxRows()

Signed-off-by: Dennis Koch <info@pixelarbeit.de>

* Refactor minRows()/maxRows() to minHeight()/maxHeight()

Signed-off-by: Dennis Koch <info@pixelarbeit.de>

* Cleanup

Signed-off-by: Dennis Koch <info@pixelarbeit.de>

* fix: complete rich editor height constraints

Co-authored-by: Amp <amp@ampcode.com>

* fix: align markdown editor height constraints

Co-authored-by: Amp <amp@ampcode.com>

* test: cover clearing editor height constraints

Co-authored-by: Amp <amp@ampcode.com>

* fix: align editor default minimum heights

Co-authored-by: Amp <amp@ampcode.com>

* fix: include markdown editor padding in height constraints

Co-authored-by: Amp <amp@ampcode.com>

* docs: record EasyMDE accessibility customization

Co-authored-by: Amp <amp@ampcode.com>

* fix: align editor default and disabled heights

Co-authored-by: Amp <amp@ampcode.com>

* docs: refresh editor screenshots

Co-authored-by: Amp <amp@ampcode.com>

* fix: align cleared editor minimum heights

Co-authored-by: Amp <amp@ampcode.com>

* docs: prioritize editor height configuration

Co-authored-by: Amp <amp@ampcode.com>

---------

Signed-off-by: Dennis Koch <info@pixelarbeit.de>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-04 17:17:48 +01:00
d47fd30bd2 Prevent sidebar horizontal scroll inside imageEditor (file-upload.blade.php) (#20433)
* [FIX] Move buttons

* [FIX] Use link button for reset

* [FIX] Update link color

* chore: fix code style

* [FIX] Merge conflict

* [FIX] Missing styles

* WIP

* [FIX] Multi root-node bug

* [FIX] Use button

* [FIX] Update css

* Fix image editor reset action styling

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: mrleblanc101 <mrleblanc101@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-04 11:51:55 +01:00
3681af0ab3 chore(deps-dev): bump @tiptap/core from 3.29.1 to 3.30.4 in the npm_and_yarn group across 1 directory (#20437)
* chore(deps-dev): bump @tiptap/core

Bumps the npm_and_yarn group with 1 update in the / directory: [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core).


Updates `@tiptap/core` from 3.29.1 to 3.30.4
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.4/packages/core/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.4/packages/core)

---
updated-dependencies:
- dependency-name: "@tiptap/core"
  dependency-version: 3.30.4
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: align Tiptap dependencies

Co-authored-by: Amp <amp@ampcode.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-04 11:37:28 +01:00
6c1217745d feat: defer schema loading (#19867)
* feat(builder): defer block schema rendering until expanded

* chore: fix code style

* feat(builder): optimize error handling and loading behavior

* feat(builder): add browser test for lazy block expand/collaps

* chore: fix code style

* feat(builder): improve clarity in lazy-loading items documentation

* feat(builder): merge lazy tests into BuilderTest

* feat(builder): add x-cloak directive for improved loading behavior

* feat(builder): update selectors in BuilderTest for improved reliability

* Revert lazy Builder loading implementation

Co-authored-by: Amp <amp@ampcode.com>

* feat: defer schema loading

Co-authored-by: Amp <amp@ampcode.com>

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
Co-authored-by: Amp <amp@ampcode.com>
2026-09-04 09:26:48 +01:00
Lalhmangaihenga 77759d4149 update lus translations (#20438) 2026-09-04 08:25:50 +01:00
Dan HarrinandAmp 4f24961e14 docs: improve documentation section ordering (#20432)
Co-authored-by: Amp <amp@ampcode.com>
2026-09-01 20:55:08 +01:00
Dan Harrin e84f8c3b6d fix: move nested Blade imports 2026-08-30 12:59:04 +00:00
Dan Harrin 4912046f5a fix: initialize Blade class defaults after props 2026-08-30 12:37:36 +00:00
danharrin 8346ec706a chore: format and build 2026-08-30 12:26:04 +00:00
Dan Harrin 18ec771aa4 fix: normalize Blade imports 2026-08-30 12:24:26 +00:00
Dan Harrin 23d3a1b92d fix: add missing Blade imports 2026-08-30 12:07:23 +00:00
danharrin e4bfcea041 chore: format and build 2026-08-30 10:53:13 +00:00
Davide BelliniandDan Harrin f1199d6042 fix: don't refetch file urls on reorder for private disks (#20409)
* fix: don't refetch file urls on reorder for private disks

* fix: only reuse file metadata when reordering

* test: avoid Alpine internals in file upload test

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-08-30 09:59:30 +01:00
harshp-fabninjasandDan Harrin 69ac490646 fix: TextInput::copyable() copies current state (#20378)
* fix: \`TextInput::copyable()\` copies stale state instead of current input value"

* fix: verify copied text input state

Amp-Thread-ID: https://ampcode.com/threads/T-01a04e2a-e98a-7091-aefa-219e4341ae80

---------

Co-authored-by: Dan Harrin <git@danharrin.com>
2026-08-29 19:54:51 +01:00
Bartłomiej Gajda a071d2c732 Fix: Crash when showing all validation messages for per-element rules (#20346) 2026-08-29 19:25:30 +01:00
Lazizbek Ergashev da66b82948 fix: cast TextInput state to an integer when using integer() (#20365) 2026-08-29 19:08:25 +01:00
Ching Cheng Kang 2479939eff Add Filipino (fil) translations (#20410) 2026-08-29 15:41:42 +01:00
Ching Cheng Kang 7aa33958ae Complete Burmese (my) translations (#20411) 2026-08-29 15:41:19 +01:00
danharrin b8d8205cdf chore: format and build 2026-08-26 21:32:33 +00:00
danharrin 640c32328f chore: format and build 2026-08-26 20:40:57 +00:00
danharrin dbefee2f66 chore: format and build 2026-08-25 09:06:38 +00:00
Dan Harrin b1d3093259 Build font with more features 2026-08-25 09:14:30 +01:00
Dan Harrin af1a3138fd Merge branch 'chore/theme-tweaks' into 4.x 2026-08-25 08:39:00 +01:00
bitskinaandbitskina c57fe70594 fix: avoid null array offsets in Actions view and MorphToSelect on PHP 8.5 (#20381)
Co-authored-by: bitskina <davit.bitskinashvili@makingscience.com>
2026-08-24 17:35:45 +01:00
Dan Harrin d688269275 chore: Improve schema "concealing" visibility CSS and validation behaviour (#20369)
* chore: Consistent schema "concealing" visibility with `display: none` instead of `height: 0`

* simplify concealed components

* tweaks

* Update topbar.css

* Update TextColumn.php

* Update index.blade.php
2026-08-24 17:34:43 +01:00
Chanthoeun Kim e3fc6cf409 Update Khmer (km) translations (#20375)
* feat: add missing Khmer translations for the view record page and chart widget.

* chore: update the missing Khmer language translations for multi-factor authentication and form components

* chore: update Khmer language translations for validation and email verification controller

* fix: fallback to default GITHUB_TOKEN if GH_ACCESS_TOKEN is not defined in workflow checkout

* feat: add and update Khmer language translations for various components and packages
2026-08-24 17:27:00 +01:00
Hamdy Elbatal e4d67d178e translation: improve Arabic translations and fix pluralization rules (#20376) 2026-08-24 17:26:33 +01:00
Godfrey E.M 4af580b0a6 translation: update and complete Swahili (sw) translations (#20394)
Completes all missing sw translations across 13 packages (694 keys in 50 files), removes stale keys, and fixes existing strings: untranslated rich editor link tool, duplicated h1/h2 headings, key_value row labels using the wrong noun, pagination overview pluralization, and terminology alignment (Hariri for edit actions).
2026-08-24 14:02:29 +01:00