Component examples
Switch between Arabic, Hebrew and English, then type into the inputs, reveal a password, change the selected period or toggle notifications. These examples use the actual FLEX Blade renderers and browser controllers with local preview values; they do not submit a form or contact a server. The email and password values keep their LTR order inside the RTL layout. The surrounding labels, action placement, segments and switches follow the selected direction.Set the direction where it belongs
In a Filament application, configure your application locale and panel direction through Filament. For a particular FLEX field, a wrapper direction applies to the whole control:riyadh. It does not translate your labels, change validation or rewrite your database values.
For text content, configure the input independently:
textDirection('auto') when a text value can begin in either script. Keep identifiers, email addresses and URLs in their natural order. Use <bdi> when displaying a mixed-direction value inside a sentence.
Translated content in the same form
TranslatableFields can derive the editable control’s direction from the selected content locale:directionByLocale() sets the editable input’s direction where the field supports it. The surrounding panel labels retain the panel direction. Use TranslatableDirectionScope::Field when the entire field wrapper should follow the content locale. Configure additional RTL locales through filament-flex-fields.translatable.rtl_locales.
Menus, calendars and keyboard navigation
When composing your own layouts, prefer logical spacing such as
padding-inline-start and margin-inline-end. A custom portal should carry the field’s direction onto its own root. Do not mirror photos, signatures, maps or every icon simply because the surrounding layout is RTL.