odoo/odoo#256840

Created by Design, Brieuc Dejean (brd)

Blocked

label
odoo-dev:master-fa-ms
head
2f5066ef2d4d4d5e8a052cab32559114a516b74a
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

Requires:
- odoo/enterprise#112607
- odoo/design-themes#1247
- odoo/documentation#17278

task-5901783


Migrate to Material Symbols icon system

This PR 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 and oi-filled`` classes, 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 relatively large due to high-resolution images. These images have now been compressed, and unused assets have been removed. This results in a total space saving of 3,376 MB.

Adapt media dialog for icons

This PR updates the icon media dialog to properly fetch the new icon library and allows users to select either the filled or outlined variant of an icon.
| |
|--------|
| <img width="600" height="373" alt="image" src="https://github.com/user-attachments/assets/f6e87603-5e0d-4743-8640-d6ca9919de4d" /> |

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


I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr