solar_iconkit 0.2.0
solar_iconkit: ^0.2.0 copied to clipboard
Solar icon kit for Flutter. 1,231 icons in 6 native styles — linear, outline, broken, bold, line-duotone, bold-duotone — behind a single SolarIcon widget.
Changelog #
All notable changes to this package are documented here. The format loosely follows Keep a Changelog, and the package uses Semantic Versioning.
0.2.0 — 2026-07-28 #
Added #
- Dartdoc comment on every
SolarIcons.<name>constant (1,231 total). Raises pub.dev "Provide documentation" from 10 % to ~98 % coverage. - Dartdoc comments on every
SolarIconStyleenum value, describing the visual character of each of the six styles.
Changed #
- Breaking: minimum Flutter bumped from
3.24.0to3.27.0(Dart 3.6+). This lets the widget use the modern non-deprecated color API. - Opacity composition now uses
Color.withValues(alpha: ...)(Flutter 3.27+) instead of the deprecated.alpha,.red,.green,.bluecomponent getters. Fixes the pub.dev static-analysis warnings about deprecated members inlib/src/solar_icon.dart. - Fetcher generator (
tool/fetch_icons.py) now emits/// Solar icon \X`.` before each constant, so future regenerations preserve the documentation.
Fixed #
- pub.dev score raised from 140/160 to an expected 160/160 (documentation and static analysis categories both at max).
0.1.0 — 2026-07-28 #
Initial public release.
Widget #
SolarIconwidget with aconstconstructor and 11 parameters:name,style,size,color,opacity,semanticLabel,textDirection,matchTextDirection,fit,alignment, andkey.- Full
IconTheme.of(context)integration —size,color, andopacityresolve from the ambient theme when unset on the widget, matching the behaviour of Flutter's built-inIcon. - Decorative icons (no
semanticLabel) are wrapped inExcludeSemanticsso screen readers skip them cleanly. - Strict layout box via
SizedBox.square— icons never overflow their parent. debugFillPropertiesfor Flutter DevTools inspection.- Static helpers:
SolarIcon.assetPath(name, style)andSolarIcon.packageName. - Cross-version alpha computation via
Color.fromARGB— no dependency onwithOpacity(deprecated) orwithValues(unavailable pre-3.27).
Styles #
SolarIconStyleenum with six native Solar styles:linear,outline,broken,bold,lineDuotone,boldDuotone.
Catalog #
SolarIconsclass with 1,231 generated string constants — one per Solar base icon — and an alphabetically sortedalllist.- Identifier naming rules: kebab-case to camelCase, leading digits prefixed
with
i, Dart reserved words suffixed withIcon, collisions resolved with numeric suffixes.
Assets #
- 7,386 SVG assets bundled across 6 style folders under
assets/icons/. - Assets declared in
pubspec.yamlunder theflutter.assetskey; consumers do not need to declare anything.
Tooling #
- Python 3 regeneration script at
tools/fetch_icons.pythat pulls the latest Solar icons from the Iconify API, writes SVGs intoassets/icons/{style}/, and regenerateslib/src/solar_iconkit_data.g.dart.
Testing #
- Widget and unit tests covering: default rendering, explicit props,
IconThemeinheritance,ExcludeSemanticswrapping, opacity assertions,assetPathresolution, catalog invariants (sortedness, uniqueness, identifier grammar), and reserved-word renames.
Documentation #
- Comprehensive
README.mdcovering installation (pub.dev + path + git + overrides), API reference, style guide, recipes for common Flutter widgets, advanced patterns, performance guarantees, and troubleshooting. - Dartdoc comments on every public class, member, and enum value.
PUBLISHING.mdmaintainer guide with release workflow.example/Flutter app browses every icon in every style with search and size controls.
Platform support #
Android, iOS, macOS, Windows, Linux, Web — every platform supported by
flutter_svg.