flocks_phosphor library

Phosphor Icons como AppIconProvider do Flocks.

Os 1.512 ícones do Phosphor nos 6 pesos, em fonte — seis TTFs de ~500 KB, de uma versão fixada do upstream, com os codepoints que o próprio Phosphor publica.

Ser fonte é a questão inteira do pacote. O Flutter não faz tree-shaking de asset: enquanto isto aqui eram 9.072 SVGs, todo adotante levava 35 MB para o bundle usando vinte ícones. Fonte ele sabe podar — o --tree-shake-icons remonta cada TTF só com os glifos que o app cita. É a mesma razão pela qual flocks_material nunca teve o problema: ícone do Material é fonte, e vem dentro do Flutter.

Duas portas de entrada, e a diferença entre elas é o que preserva o ganho:

É também a implementação de referência do eixo de ícone — um flocks_material ou um flocks_lucide tem esta mesma forma.

Classes

FlocksPhosphorBold
Os 1.512 ícones do Phosphor no peso bold.
FlocksPhosphorDuotone
Os 1.512 ícones do Phosphor no peso duotone.
FlocksPhosphorFill
Os 1.512 ícones do Phosphor no peso fill.
FlocksPhosphorLight
Os 1.512 ícones do Phosphor no peso light.
FlocksPhosphorRegular
Os 1.512 ícones do Phosphor no peso regular.
FlocksPhosphorThin
Os 1.512 ícones do Phosphor no peso thin.
PhosphorDuotoneIcon
Desenha um ícone duotone — as duas camadas empilhadas.
PhosphorDuotoneIconData
Um ícone duotone: dois glifos sobrepostos — quase sempre.
PhosphorIcon
Desenha um glifo do Phosphor a partir de um IconData.
PhosphorIconProvider
Serve o contrato do Flocks com glifos do Phosphor, em qualquer um dos 6 pesos.

Enums

PhosphorWeight
Os seis pesos do Phosphor.

Constants

kFlocksToPhosphor → const Map<String, String>
A tradução de um slug do Flocks para o nome no Phosphor.
kPhosphorContractBold → const Map<String, IconData>
kPhosphorContractDuotoneFigure → const Map<String, IconData>
A camada figure dos 55 AppIconToken em duotone.
kPhosphorContractDuotoneGround → const Map<String, IconData>
A camada ground dos 55 AppIconToken em duotone.
kPhosphorContractFill → const Map<String, IconData>
kPhosphorContractLight → const Map<String, IconData>
kPhosphorContractRegular → const Map<String, IconData>
kPhosphorContractThin → const Map<String, IconData>
A tradução dos 55 AppIconToken em glifo, peso a peso.
kPhosphorDuotoneGroundOpacity → const double
A opacidade da camada de fundo de um ícone duotone.

Functions

phosphorGlyph(BuildContext context, {required IconData icon, required double size, Color? color}) Widget
O glifo cru de icon, sem caixa, semântica nem centralização.