odoo/enterprise#112607

Created by Design, Brieuc Dejean (brd)

Blocked

label
odoo-dev:master-fa-ms
head
67134073d8ef3802eb1ce6efc44be0c16eb222da
odoo/odoo odoo/enterprise odoo/design-themes odoo/documentation
master #256840 missing statuses missing r+ #112607 missing statuses missing r+ #1247 missing r+ #17278 missing statuses missing r+

[IMP] *: migrate to Material Symbols icon system

Migrate to Material Symbols icon system

This commit removes the Font Awesome library and introduces Material Symbols as the main icon system. To cover icons not provided by Material Symbols, the Odoo UI Icon (OI) library is maintained (e.g., custom kanban view icons or brand icons such as Facebook or GitHub).
This library is reworked with a new implementation based on the oi class prefix and a data-icon attribute.

For example:
class="fa fa-check" becomes class="oi" data-icon="check"

In addition to existing controller classes, icons can now be defined as outlined or filled using the oi-outlined`` andoi-filledclasses, or by adjusting the `--oi-mi-fill CSS variable.

To ease the transition, a temporary mapping is introduced in icons.scss to allow continued use of the fa- classes. This mapping is intended to be removed once the migration is complete.

This commit also fine-tunes the RTL support for the new icon system.

The fa-[6-10]x`` size utility classes, previously defined inhtml_editorbut used across multiple modules, are moved towebclient/icons.scss` to improve reusability.

Finally, odoo_ui_icon.css is renamed to align with the Material Symbols implementation.

Apply new icon implementation globally

This PR applies the new icon implementation across the entire codebase, replacing almost all legacy icon usages.

Previous patterns such as class="oi oi-fw oi-arrow-left" or class="fa fa-fw fa-arrow-left" are migrated to the new format using class="oi oi-fw" with the data-icon attribute (e.g., data-icon="west"), ensuring consistency with the Material
Symbols-based system.

Adapt image footprint

Before this PR, the footprint was slightly larger due to high-resolution images. These images have now been compressed, resulting in a total space saving of 323.9 KB.

Co-authored-by: stefanorigano (sri) sri@odoo.com
Co-authored-by: claireclan clan@odoo.com

Requires:
- odoo/odoo#256840
- odoo/design-themes#1247
- odoo/documentation#17278