Skip to content

Papyrine/IconifyBundle

Repository files navigation

IconifyBundle

NuGet Status

Strongly-typed Iconify icons for .NET. Only the referenced icons are bundled - either baked into the consuming assembly (Resource mode) or written to the build output as .svg files (Disk mode). Blazor helpers included.

How it works

  • IconifyBundle — the core runtime (Icon, IconPack, SvgBuilder, IconRegistry).
  • IconifyBundle.<Pack> — one NuGet per Iconify pack (e.g. IconifyBundle.Feather). Each pack ships a precompiled, strongly-typed class (e.g. Feather) with a member per icon (e.g. Feather.Activity), the pack's icon data (a build-time file, not embedded in the assembly), and the IconifyBundle source generator (as an analyzer). So a single reference to the pack suffices - it pulls the IconifyBundle runtime in transitively and runs the generator in the consuming project. These packages are produced on demand by the PackBuilder test, which downloads each pack from the Iconify data and packs it; they are not committed to source control.
  • The generator detects which icons are referenced (member accesses like Feather.Activity) and materialises only those - so the pack assemblies stay tiny and the build only carries the icons in use.

Delivery

The two modes are mutually exclusive, selected by the IconifyBundleMode MSBuild property.

Resource mode (default)

The referenced icons are baked into the consuming assembly, so the generated API exposes string/stream access with no files on disk (Feather.Activity.Svg, Feather.Activity.OpenStream()). Nothing to configure - reference a pack and use it.

Disk mode

The referenced icons are written to the build and publish output as .svg files (under iconifybundle/<prefix>/, e.g. to serve them as static assets), and the generated API additionally exposes file paths (Feather.ActivityPath):

<PropertyGroup>
  <IconifyBundleMode>Disk</IconifyBundleMode>
</PropertyGroup>

Feather.ActivityPath (and Feather.PathOf("activity")) return the path under the output directory. The strongly-typed ...Path members require C# 14 (emitted as static extension properties).

Only icons referenced through the strongly-typed API are materialised. Dynamic, string-based lookups (Feather.PathOf(name), the IconPack indexer) resolve only icons that were also referenced statically somewhere; otherwise they throw.

This selection happens at compile time, not at trim or publish time. A not materialised error means the icon was never referenced through a member access the generator could see - not that trimming removed it. Materialised icons run their registration from a module initializer that the trimmer preserves.

Usage

Icon icon = Feather.Activity;

// full <svg> document
string svg = icon.Svg;
using Stream stream = icon.OpenStream();

The lower-level runtime API (the same Icon type the generated members return):

// An Icon carries the pack prefix, the icon name, the inner SVG body, and intrinsic size.
var icon = new Icon(
    "feather",
    "activity",
    """<path stroke="currentColor" d="M12 2v20"/>""",
    24,
    24);

// full <svg> document
var svg = icon.Svg;

// UTF-8 stream of the SVG
using var stream = icon.OpenStream();

snippet source | anchor

Blazor

@using IconifyBundle

<Iconify Value="Feather.Activity" Width="32" Height="32" class="text-primary" />

The <Iconify> component renders the icon as an inline <svg> (extra attributes like class/style are splatted onto it). There is also an Icon.ToMarkup() extension returning a MarkupString.

Iconify JSON

The static IconifyJson class reads and writes the iconify JSON format- the same shape published as @iconify-json/* and consumed by tooling like Mermaid and Naiad - so IconifyBundle icons can be handed to any iconify-format consumer and arbitrary iconify JSON can be parsed back into Icons. Three flows are supported.

Writing iconify JSON

Serialise any set of Icons as iconify-format JSON - to a string, a stream, or a file (sync and async). The pack prefix is taken from the icons (every Icon carries its pack Prefix), so callers do not pass it separately - and mixing icons from different packs in one call is rejected. Width/height shared by every icon are hoisted to the top level and omitted per-icon (the canonical shape; pass IconifyJsonOptions { HoistCommonSize = false } to opt out).

// The strongly-typed members from any IconifyBundle.<Pack> (e.g. Feather.Box,
// AntDesign.HomeOutlined) are the icons - just pass them in. Each Icon carries its pack
// prefix, so the prefix is derived from the icons - no need to pass it.

// As a JSON string...
var json = IconifyJson.Serialize(Feather.Box, Feather.Database);

// ...or as a stream (handy for feeding into a consumer that takes iconify JSON, e.g.
// Naiad's IconPack.Load).
using var stream = IconifyJson.OpenReadStream(Feather.Box, Feather.Database);

// ...or write directly to a file (sync/async).
IconifyJson.WriteToFile("sample.json", [Feather.Box, Feather.Database]);

snippet source | anchor

Options:

  • Indented - pretty-print, default off.
  • HoistCommonSize - default on; factors a shared width/height up to the pack root. Set false to keep dimensions on every icon even when they match.
  • Info - the iconify info block: name, author, license.

Equivalent IconPack overloads serialise the materialised icons of a runtime pack, e.g. IconifyJson.Serialize(IconPack.ForPrefix("feather")).

Reading iconify JSON

Parse iconify JSON (from a string, stream, or file) into an IconifyPack - the prefix, the icons, and any info block:

// Parse iconify-format JSON back into an IconifyPack (prefix + icons + optional info).
const string source =
    """
    {
      "prefix": "sample",
      "width": 24,
      "height": 24,
      "icons": {
        "box": {
          "body": "<rect/>"
        }
      }
    }
    """;
var pack = IconifyJson.Parse(source);
// "sample"
Console.WriteLine(pack.Prefix);
// 1
Console.WriteLine(pack.Icons.Count);
foreach (var icon in pack.Icons)
{
    Console.WriteLine($"{icon.Name}: {icon.Body} ({icon.Width}x{icon.Height})");
}

snippet source | anchor

Per-icon width/height fall back to the top-level defaults (16×16 if neither is specified, matching the iconify spec).

Upstream pack passthrough

Every IconifyBundle.<Pack> assembly embeds its full upstream pack data as a manifest resource, so the entire @iconify-json/<pack> dataset is available at runtime - not only the icons a consumer has materialised. Pass the pack class to IconifyJson.OpenPackStream / ReadPack:

// Open the full upstream pack data embedded in any IconifyBundle.<Pack> assembly. Pass the
// strongly-typed pack class (e.g. typeof(Feather)) - the result is the entire
// @iconify-json/<pack> dataset, not just the icons your project has materialised.
using var stream = IconifyJson.OpenPackStream(packClass);

// Or get the parsed pack back directly.
var pack = IconifyJson.ReadPack(packClass);
Console.WriteLine($"{pack.Prefix}: {pack.Icons.Count} icons");

snippet source | anchor

Use this when the whole pack is needed (for example handing the full Feather set to Naiad's IconPack.Load); for a slim, build-time-checked subset, prefer the write APIs above with the strongly-typed members directly.

Building locally

dotnet build src -c Release
src\PackBuilder\bin\Release\net10.0\PackBuilder.exe   # downloads packs, builds IconifyBundle.<Pack> nugets
dotnet build IntegrationTests -c Release
dotnet build sample -c Release

Notes

https://github.com/iconify/icon-sets/blob/master/collections.md

NuGet packages

https://www.nuget.org/packages/IconifyBundle/

One NuGet per Iconify pack. The list is generated when the packs are built.

Note: some Iconify packs are not published because their license is incompatible with redistribution in a public, commercially-consumable NuGet:

Package Iconify License NuGet size Assembly size
IconifyBundle.Academicons academicons OFL 287.6KB 300.5KB
IconifyBundle.AkarIcons akar-icons MIT 149.4KB 208KB
IconifyBundle.AntDesign ant-design MIT 359.3KB 687.5KB
IconifyBundle.Arcticons arcticons CC BY-SA 4.0 6.2MB 11.6MB
IconifyBundle.Basil basil CC BY 4.0 224.6KB 376.5KB
IconifyBundle.Bi bi MIT 533.7KB 1.2MB
IconifyBundle.BitcoinIcons bitcoin-icons MIT 118.1KB 167.5KB
IconifyBundle.Boxicons boxicons MIT 700.2KB 1.7MB
IconifyBundle.Bpmn bpmn OFL 213KB 289KB
IconifyBundle.Brandico brandico CC BY SA 94.9KB 64.5KB
IconifyBundle.Bx bx MIT 467KB 747.5KB
IconifyBundle.Bxl bxl MIT 260.4KB 281.5KB
IconifyBundle.Bxs bxs MIT 169.3KB 247KB
IconifyBundle.Bytesize bytesize MIT 51.1KB 29.5KB
IconifyBundle.Carbon carbon Apache 2.0 699.7KB 1.3MB
IconifyBundle.Catppuccin catppuccin MIT 174.4KB 332.5KB
IconifyBundle.Charm charm MIT 68.2KB 85KB
IconifyBundle.Ci ci CC BY 4.0 173KB 308.5KB
IconifyBundle.Cib cib CC0 1.0 976.9KB 1.2MB
IconifyBundle.Cif cif CC0 1.0 2MB 3.3MB
IconifyBundle.Cil cil CC BY 4.0 226.1KB 304.5KB
IconifyBundle.CircleFlags circle-flags MIT 267.8KB 520KB
IconifyBundle.Circum circum MPL 2.0 148.6KB 196.5KB
IconifyBundle.Clarity clarity MIT 322.2KB 840.5KB
IconifyBundle.Codex codex MIT 54.7KB 30KB
IconifyBundle.Codicon codicon CC BY 4.0 252.8KB 370KB
IconifyBundle.Covid covid CC BY 4.0 94.2KB 117.5KB
IconifyBundle.Cryptocurrency cryptocurrency CC0 1.0 525.3KB 658KB
IconifyBundle.CryptocurrencyColor cryptocurrency-color CC0 1.0 528.8KB 651KB
IconifyBundle.Cuida cuida Apache 2.0 131.4KB 160.5KB
IconifyBundle.Devicon devicon MIT 3.5MB 4.9MB
IconifyBundle.DeviconPlain devicon-plain MIT 2.2MB 2.6MB
IconifyBundle.DinkieIcons dinkie-icons MIT 166KB 328.5KB
IconifyBundle.DuoIcons duo-icons MIT 75.7KB 65.5KB
IconifyBundle.Ei ei MIT 62.4KB 40KB
IconifyBundle.El el OFL 197.1KB 200.5KB
IconifyBundle.Emojione emojione CC BY 4.0 1.4MB 2.9MB
IconifyBundle.EmojioneMonotone emojione-monotone CC BY 4.0 2.2MB 2.7MB
IconifyBundle.EmojioneV1 emojione-v1 CC BY-SA 4.0 7.3MB 9.9MB
IconifyBundle.Entypo entypo CC BY-SA 4.0 141.9KB 153KB
IconifyBundle.EntypoSocial entypo-social CC BY-SA 4.0 87.5KB 61.5KB
IconifyBundle.EosIcons eos-icons MIT 120.7KB 153KB
IconifyBundle.Ep ep MIT 111.3KB 133KB
IconifyBundle.Eva eva MIT 116.2KB 217.5KB
IconifyBundle.F7 f7 MIT 673.1KB 1.1MB
IconifyBundle.Fa fa OFL 317KB 416.5KB
IconifyBundle.Fa6Brands fa6-brands CC BY 4.0 463.3KB 519.5KB
IconifyBundle.Fa6Regular fa6-regular CC BY 4.0 103.6KB 119KB
IconifyBundle.Fa6Solid fa6-solid CC BY 4.0 529.7KB 920.5KB
IconifyBundle.Fa7Brands fa7-brands CC BY 4.0 507.8KB 613.5KB
IconifyBundle.Fa7Regular fa7-regular CC BY 4.0 123.9KB 195.5KB
IconifyBundle.Fa7Solid fa7-solid CC BY 4.0 619.2KB 1.2MB
IconifyBundle.FaBrands fa-brands CC BY 4.0 428.9KB 478.5KB
IconifyBundle.Fad fad CC BY 4.0 146.1KB 156KB
IconifyBundle.Famicons famicons MIT 469.9KB 803.5KB
IconifyBundle.FaRegular fa-regular CC BY 4.0 104.9KB 114KB
IconifyBundle.FaSolid fa-solid CC BY 4.0 464.2KB 693KB
IconifyBundle.Fe fe MIT 86.2KB 89KB
IconifyBundle.Feather feather MIT 69.1KB 86KB
IconifyBundle.FileIcons file-icons ISC 1.1MB 1.3MB
IconifyBundle.Flag flag MIT 2.2MB 3.7MB
IconifyBundle.Flagpack flagpack MIT 624.6KB 891.5KB
IconifyBundle.FlatColorIcons flat-color-icons MIT 142.7KB 180.5KB
IconifyBundle.FlatUi flat-ui MIT 144.7KB 165KB
IconifyBundle.Flowbite flowbite MIT 227.6KB 386KB
IconifyBundle.Fluent fluent MIT 5.1MB 13.1MB
IconifyBundle.FluentColor fluent-color MIT 575.4KB 1.6MB
IconifyBundle.FluentEmoji fluent-emoji MIT 27.5MB 93.4MB
IconifyBundle.FluentEmojiFlat fluent-emoji-flat MIT 2.4MB 8.7MB
IconifyBundle.FluentEmojiHighContrast fluent-emoji-high-contrast MIT 2.1MB 2.7MB
IconifyBundle.FluentMdl2 fluent-mdl2 MIT 545KB 906.5KB
IconifyBundle.Fontelico fontelico CC BY SA 81.4KB 56KB
IconifyBundle.Fontisto fontisto MIT 620.6KB 804KB
IconifyBundle.Formkit formkit MIT 92.5KB 92.5KB
IconifyBundle.Foundation foundation MIT 217.7KB 263KB
IconifyBundle.Fxemoji fxemoji Apache 2.0 2.1MB 2.7MB
IconifyBundle.GameIcons game-icons CC BY 3.0 5.5MB 6.4MB
IconifyBundle.Garden garden Apache 2.0 265.9KB 490KB
IconifyBundle.Gcp gcp Apache 2.0 146.4KB 173KB
IconifyBundle.Geo geo MIT 69.2KB 50KB
IconifyBundle.Gg gg MIT 144.9KB 240KB
IconifyBundle.Ginetex ginetex MIT 58.6KB 47KB
IconifyBundle.Gis gis CC BY 4.0 728.6KB 934.5KB
IconifyBundle.Glyphs glyphs MIT 1.4MB 3.4MB
IconifyBundle.GlyphsPoly glyphs-poly MIT 593.1KB 1.1MB
IconifyBundle.GravityUi gravity-ui MIT 265.2KB 478KB
IconifyBundle.GrommetIcons grommet-icons Apache 2.0 212.3KB 267.5KB
IconifyBundle.Guidance guidance CC BY 4.0 136.8KB 163KB
IconifyBundle.Healthicons healthicons MIT 1.6MB 3MB
IconifyBundle.Heroicons heroicons MIT 326.5KB 691KB
IconifyBundle.HeroiconsOutline heroicons-outline MIT 103.5KB 156.5KB
IconifyBundle.HeroiconsSolid heroicons-solid MIT 120.2KB 177.5KB
IconifyBundle.Hugeicons hugeicons MIT 1.5MB 3.1MB
IconifyBundle.Humbleicons humbleicons MIT 80.8KB 97KB
IconifyBundle.Ic ic Apache 2.0 2.4MB 4.8MB
IconifyBundle.Iconamoon iconamoon CC BY 4.0 205.8KB 730KB
IconifyBundle.Iconoir iconoir MIT 309KB 723.5KB
IconifyBundle.IconPark icon-park Apache 2.0 753.9KB 1.5MB
IconifyBundle.IconParkOutline icon-park-outline Apache 2.0 518.8KB 1.1MB
IconifyBundle.IconParkSolid icon-park-solid Apache 2.0 441KB 1013KB
IconifyBundle.IconParkTwotone icon-park-twotone Apache 2.0 448.5KB 1MB
IconifyBundle.Icons8 icons8 MIT 113.3KB 111KB
IconifyBundle.Il il MIT 64.9KB 37KB
IconifyBundle.Ion ion MIT 937.2KB 1.5MB
IconifyBundle.Iwwa iwwa Apache 2.0 133.2KB 139KB
IconifyBundle.Ix ix MIT 536.1KB 903KB
IconifyBundle.Jam jam MIT 250.7KB 448.5KB
IconifyBundle.La la Apache 2.0 775.4KB 1.1MB
IconifyBundle.LetsIcons lets-icons CC BY 4.0 429.2KB 949.5KB
IconifyBundle.Lineicons lineicons MIT 598.1KB 814KB
IconifyBundle.LineMd line-md MIT 196.7KB 1.4MB
IconifyBundle.Logos logos CC0 5.3MB 7.1MB
IconifyBundle.Ls ls OFL 190.2KB 192.5KB
IconifyBundle.Lsicon lsicon MIT 158.5KB 264KB
IconifyBundle.Lucide lucide ISC 243.6KB 614.5KB
IconifyBundle.LucideLab lucide-lab ISC 98KB 140.5KB
IconifyBundle.Mage mage Apache 2.0 334.2KB 630KB
IconifyBundle.Majesticons majesticons MIT 209.5KB 461.5KB
IconifyBundle.Maki maki CC0 170.1KB 201.5KB
IconifyBundle.Map map OFL 155KB 145KB
IconifyBundle.Marketeq marketeq MIT 137.3KB 284.5KB
IconifyBundle.MaterialIconTheme material-icon-theme MIT 577.4KB 911.5KB
IconifyBundle.MaterialSymbols material-symbols Apache 2.0 2.7MB 8.9MB
IconifyBundle.MaterialSymbolsLight material-symbols-light Apache 2.0 3.8MB 10.6MB
IconifyBundle.Mdi mdi Apache 2.0 1.5MB 3.1MB
IconifyBundle.MdiLight mdi-light OFL 92.9KB 108KB
IconifyBundle.MedicalIcon medical-icon MIT 204KB 212.5KB
IconifyBundle.Memory memory Apache 2.0 102KB 219KB
IconifyBundle.Meteocons meteocons MIT 225.3KB 1.2MB
IconifyBundle.MeteorIcons meteor-icons MIT 70.4KB 89.5KB
IconifyBundle.Mi mi MIT 74.8KB 73.5KB
IconifyBundle.Mingcute mingcute Apache 2.0 1.1MB 3.6MB
IconifyBundle.MonoIcons mono-icons MIT 75KB 73.5KB
IconifyBundle.Mynaui mynaui MIT 576.5KB 1.6MB
IconifyBundle.Nimbus nimbus MIT 89.3KB 82KB
IconifyBundle.Nonicons nonicons MIT 82.9KB 65KB
IconifyBundle.Noto noto Apache 2.0 6.4MB 23.7MB
IconifyBundle.NotoV1 noto-v1 Apache 2.0 3.2MB 7.9MB
IconifyBundle.Nrk nrk CC BY 4.0 93.1KB 96.5KB
IconifyBundle.Octicon octicon MIT 308.2KB 517KB
IconifyBundle.Oi oi MIT 73.5KB 62.5KB
IconifyBundle.Ooui ooui MIT 121KB 139.5KB
IconifyBundle.Openmoji openmoji CC BY-SA 4.0 2.4MB 8.7MB
IconifyBundle.Oui oui Apache 2.0 190.5KB 248.5KB
IconifyBundle.Pajamas pajamas MIT 143.6KB 208KB
IconifyBundle.Pepicons pepicons CC BY 4.0 252.3KB 409KB
IconifyBundle.PepiconsPencil pepicons-pencil CC BY 4.0 252.9KB 1.2MB
IconifyBundle.PepiconsPop pepicons-pop CC BY 4.0 254.4KB 1.2MB
IconifyBundle.PepiconsPrint pepicons-print CC BY 4.0 348.2KB 1.8MB
IconifyBundle.Ph ph MIT 2.1MB 5MB
IconifyBundle.Picon picon OFL 105.5KB 135.5KB
IconifyBundle.Pinhead pinhead CC0 761.8KB 1.2MB
IconifyBundle.Pixel pixel CC BY 4.0 114.8KB 201KB
IconifyBundle.Pixelarticons pixelarticons MIT 144.1KB 294KB
IconifyBundle.Prime prime MIT 128KB 174.5KB
IconifyBundle.Proicons proicons MIT 162.2KB 265.5KB
IconifyBundle.QlementineIcons qlementine-icons MIT 522.5KB 873KB
IconifyBundle.Quill quill MIT 69KB 60.5KB
IconifyBundle.RadixIcons radix-icons MIT 143.1KB 201.5KB
IconifyBundle.Raphael raphael MIT 203.3KB 218KB
IconifyBundle.Ri ri Apache 2.0 624.4KB 1.2MB
IconifyBundle.RivetIcons rivet-icons BSD 3-Clause 73KB 65.5KB
IconifyBundle.Roentgen roentgen CC BY 4.0 182KB 319KB
IconifyBundle.Si si MIT 245.5KB 701.5KB
IconifyBundle.Sidekickicons sidekickicons MIT 103.5KB 139.5KB
IconifyBundle.SiGlyph si-glyph CC BY SA 4.0 361.8KB 471.5KB
IconifyBundle.SimpleIcons simple-icons CC0 1.0 3.8MB 4.7MB
IconifyBundle.SimpleLineIcons simple-line-icons MIT 195.3KB 208.5KB
IconifyBundle.SkillIcons skill-icons MIT 1MB 1.6MB
IconifyBundle.Solar solar CC BY 4.0 2.3MB 6.7MB
IconifyBundle.Stash stash MIT 528.7KB 1.1MB
IconifyBundle.Streamline streamline CC BY 4.0 1.1MB 2.2MB
IconifyBundle.StreamlineBlock streamline-block CC BY 4.0 76.6KB 87.5KB
IconifyBundle.StreamlineColor streamline-color CC BY 4.0 608.2KB 1.3MB
IconifyBundle.StreamlineCyber streamline-cyber CC BY 4.0 133.6KB 205KB
IconifyBundle.StreamlineCyberColor streamline-cyber-color CC BY 4.0 205.8KB 384.5KB
IconifyBundle.StreamlineEmojis streamline-emojis CC BY 4.0 814.5KB 2.4MB
IconifyBundle.StreamlineFlex streamline-flex CC BY 4.0 953.8KB 1.3MB
IconifyBundle.StreamlineFlexColor streamline-flex-color CC BY 4.0 588.8KB 1006.5KB
IconifyBundle.StreamlineFreehand streamline-freehand CC BY 4.0 2MB 2.6MB
IconifyBundle.StreamlineFreehandColor streamline-freehand-color CC BY 4.0 2MB 2.6MB
IconifyBundle.StreamlineKameleonColor streamline-kameleon-color CC BY 4.0 347.5KB 637.5KB
IconifyBundle.StreamlineLogos streamline-logos CC BY 4.0 545.9KB 849.5KB
IconifyBundle.StreamlinePixel streamline-pixel CC BY 4.0 284.6KB 666KB
IconifyBundle.StreamlinePlump streamline-plump CC BY 4.0 1.2MB 1.7MB
IconifyBundle.StreamlinePlumpColor streamline-plump-color CC BY 4.0 833.1KB 1.4MB
IconifyBundle.StreamlineSharp streamline-sharp CC BY 4.0 387.3KB 630.5KB
IconifyBundle.StreamlineSharpColor streamline-sharp-color CC BY 4.0 261.8KB 455KB
IconifyBundle.StreamlineStickiesColor streamline-stickies-color CC BY 4.0 342.5KB 471.5KB
IconifyBundle.StreamlineUltimate streamline-ultimate CC BY 4.0 783.8KB 1.4MB
IconifyBundle.StreamlineUltimateColor streamline-ultimate-color CC BY 4.0 558.6KB 1.3MB
IconifyBundle.Subway subway CC BY 4.0 108.7KB 125KB
IconifyBundle.SvgSpinners svg-spinners MIT 54.4KB 59KB
IconifyBundle.SystemUicons system-uicons Unlicense 93.3KB 151.5KB
IconifyBundle.Tabler tabler MIT 841KB 2.4MB
IconifyBundle.Tdesign tdesign MIT 474.2KB 925KB
IconifyBundle.Teenyicons teenyicons MIT 274.6KB 505KB
IconifyBundle.Temaki temaki CC0 255.3KB 349KB
IconifyBundle.Token token MIT 1.6MB 2MB
IconifyBundle.TokenBranded token-branded MIT 3.9MB 5.3MB
IconifyBundle.Topcoat topcoat Apache 2.0 75.7KB 48.5KB
IconifyBundle.Twemoji twemoji CC BY 4.0 3.1MB 9.9MB
IconifyBundle.Typcn typcn CC BY-SA 4.0 167KB 206.5KB
IconifyBundle.Uil uil Apache 2.0 342.4KB 646.5KB
IconifyBundle.Uim uim Apache 2.0 136.9KB 190.5KB
IconifyBundle.Uis uis Apache 2.0 73.1KB 85KB
IconifyBundle.Uit uit Apache 2.0 107.2KB 128.5KB
IconifyBundle.Uiw uiw MIT 139.7KB 149.5KB
IconifyBundle.Unjs unjs Apache 2.0 198.6KB 219.5KB
IconifyBundle.Vaadin vaadin Apache 2.0 166.8KB 224KB
IconifyBundle.Vs vs OFL 116.8KB 110KB
IconifyBundle.VscodeIcons vscode-icons MIT 2.1MB 3.6MB
IconifyBundle.Websymbol websymbol OFL 61.2KB 34KB
IconifyBundle.Weui weui MIT 74.9KB 74.5KB
IconifyBundle.Whh whh OFL 706.7KB 1.2MB
IconifyBundle.Wi wi OFL 199.1KB 293KB
IconifyBundle.Wpf wpf MIT 149.9KB 160KB
IconifyBundle.Zmdi zmdi OFL 187.1KB 271.5KB
IconifyBundle.Zondicons zondicons MIT 75.9KB 79KB

Icon

Pattern designed by gira Park from The Noun Project.

About

Strongly-typed Iconify icons for .NET, with optional on-disk extraction and Blazor helpers.

Resources

License

Stars

Watchers

Forks

Contributors