angular / angular/components

Refactor SVG inlining from md-icon into cdk-svg

Abierto
#5,188 9 comentarios 6 reacciones 0 asignados Ver en GitHub
area: material/icon P3 refactoring
Lenguaje dominante
TypeScript
Estrellas
25k
Forks
6.8k
Merge medio
1 d 8 h
PR fusionados (30 d)
91

Descripción

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).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Localiza las partes actuales de SVG de MdIconRegistry y el código de inserción de SVG utilizado por md-icon, y compáralos con cdk IconRegistry y los puntos de entrada de cdk-svg. La refactorización estará terminada cuando el comportamiento del registro de SVG y la inserción sean proporcionados por el CDK, MdIconRegistry extienda IconRegistry, md-icon consuma cdk-svg y el análisis de SVG esté aislado en una utilidad que se pueda simular.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, typescript
Área
frontend
Tipo de issue
Refactorización
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.