Refactor SVG inlining from md-icon into cdk-svg
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
The SVG inlining features of md-icon are more generally useful than for just displaying icons. We should refactor the code such that:
* The SVG portions of `MdIconRegistry` are moved to `IconRegistry` in the cdk, with `MdIconRegistry` then extending `IconRegistry`
* The SVG inlining code in `md-icon` is moved into `cdk-svg` with `md-icon` then consuming `cdk-svg`.
This will enable us to add additional APIs to `cdk-svg` around customizing `viewBox` and `preserveAspectRatio` (see https://css-tricks.com/scale-svg)
Notes:
* Part of this should be moving SVG parsing (i.e. `string` -> `SVGElement`) into its own utility that can be mocked. This will be useful when ensuring that parsing only happens when expected (since it can have performance impacts if overdone).
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Localisez les parties SVG actuelles de MdIconRegistry ainsi que le code d’intégration des SVG utilisé par md-icon, puis comparez-les avec cdk IconRegistry et les points d’entrée de cdk-svg. La refactorisation est terminée lorsque le comportement du registre SVG et l’intégration sont fournis par le CDK, que MdIconRegistry étend IconRegistry, que md-icon utilise cdk-svg et que l’analyse des SVG est isolée dans un utilitaire pouvant être mocké.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- frontend
- Type d'issue
- Refactorisation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100