Repository navigation
Release v4.4.0
Icon libraries are now packages a UI profile can select, icons are stored as library-qualified references instead of CSS classes, and icon overrides on template instances are checked against the libraries the profile actually has.
Added
IconReference({ library, key, variant? }) in@cratis/scene.modelandCratis.Scene.Model.Icons, with text form, parsing and equality shared between C# and TypeScript. (#52)PackageKind.IconLibraryandScenePackage.iconLibraryfor declaring an icon library's variants, supported renderers and attribution, plusIconEntryfor renderer-neutral catalog records. (#52)resolveIconLibrariesandEffectiveIconCatalogin@cratis/scene.engine: active icon libraries with provenance, on-demand catalogs, search by text, category, library and variant, and diagnostics for missing library, icon or variant, incompatible version and unavailable catalog. (#52)EditingContext.iconCatalog(optional): setting an icon as a template instance, or adding or editing a collection item's icon, is refused when the library, icon or variant is missing or the library version is incompatible.inspectanddiagnoseIconsreport stored icons that no longer resolve as warnings and keep the values. (#52)analyzeIconImpactandcollectIconUsagesreport which stored icon references, including instance overrides and collection-item icons, a library removal or upgrade would break, and list legacy icon strings with migration candidates, without rewriting anything. (#52)SceneIcon,IconAdapter,IconAdapterRegistryandIconAdapterProviderin@cratis/scene.reactdraw a reference through the adapter for its library with size, color and accessible label, loading artwork per icon.core:navigationBardraws item icons through them. (#52)ScenePackageBundle.iconLibraryandmergeIconAdapters;validatePackageBundlechecks an icon-library bundle against its manifest. (#52)- Documentation for packaging an icon library, looking up and rendering icons, icons in editing, migrating existing icon values and the reasoning behind library-qualified references. (#52)
Changed
- There is a single
IconReferencetype in@cratis/scene.model, now with format, parse and equality helpers. (#52)