odoo/odoo#256840
Created by Design, Brieuc Dejean (brd)
Blocked
- Merge method
- Review
-
CI
- legal/cla: Contributor License Agreement check
- ci/runbot: Odoo Test Suite
- ci/upgrade_enterprise
- ci/style
- ci/security
- Linked pull requests
- 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
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