buildLucideIconForReact is the entry point both lucide-react and
lucide-react-native use to build an icon, and its whole job is renaming
the hyphenated SVG attributes to the spellings React expects. Nothing
tested that rename directly: the other build helpers have specs in
packages/icons/tests, and this one had none anywhere in the repo.
The spec pins the five renames it applies, checks that attributes React
already accepts are left alone, that aria-hidden stays hyphenated, that
vector-effect is renamed on child nodes for a non-scaling stroke, and
that a caller's own attributeNames are merged without displacing the
React spellings.
Verified that the spec is not vacuous: removing the class -> className
entry from the rename map fails two of the five tests.
Co-authored-by: Vugar Bakhishov <vugarbbakhishov-hub@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
* Add trim to merge classes
* Add trim to merge classes
* Adds extra utils check
* Update packages/shared/src/utils.ts
Co-authored-by: Max Malm <benjick@dumfan.net>
---------
Co-authored-by: Max Malm <benjick@dumfan.net>