[ENG-4351] Add mapping for lucide icons

For icon names that don't auto-translate to the correct lucide tag name,
provide manual override.

Fix #4621
This commit is contained in:
Masen Furer 2025-01-10 11:49:47 -08:00
parent 427d7c56ab
commit 615d29eeb1
No known key found for this signature in database
GPG Key ID: B0008AD22B3B3A95
2 changed files with 17 additions and 1 deletions

View File

@ -56,7 +56,12 @@ class Icon(LucideIconComponent):
"\nSee full list at https://lucide.dev/icons."
)
props["tag"] = format.to_title_case(format.to_snake_case(props["tag"])) + "Icon"
if props["tag"] in LUCIDE_ICON_MAPPING_OVERRIDE:
props["tag"] = LUCIDE_ICON_MAPPING_OVERRIDE[props["tag"]]
else:
props["tag"] = (
format.to_title_case(format.to_snake_case(props["tag"])) + "Icon"
)
props["alias"] = f"Lucide{props['tag']}"
props.setdefault("color", "var(--current-color)")
return super().create(*children, **props)
@ -1634,3 +1639,10 @@ LUCIDE_ICON_LIST = [
"zoom_in",
"zoom_out",
]
# The default transformation of some icon names doesn't match how the
# icons are exported from Lucide. Manual overrides can go here.
LUCIDE_ICON_MAPPING_OVERRIDE = {
"grid_2x_2_check": "Grid2x2Check",
"grid_2x_2_x": "Grid2x2X",
}

View File

@ -1682,3 +1682,7 @@ LUCIDE_ICON_LIST = [
"zoom_in",
"zoom_out",
]
LUCIDE_ICON_MAPPING_OVERRIDE = {
"grid_2x_2_check": "Grid2x2Check",
"grid_2x_2_x": "Grid2x2X",
}