• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-webcomponents / 22177884059
98%

Build:
DEFAULT BRANCH: master
Ran 19 Feb 2026 10:26AM UTC
Jobs 1
Files 196
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Feb 2026 10:23AM UTC coverage: 98.312% (+0.006%) from 98.306%
22177884059

push

github

web-flow
refactor(icon): Enhanced multi-theme support and improved performance (#2087)

Features:
- Add support for multiple themes coexisting on the same page
- Icon references now resolve based on per-component theme context
- Icons within different igc-theme-provider elements render correctly
- Implement batched notifications using microtask queue for performance
- Add automatic deduplication of icon change notifications

Performance Improvements:
- Refactor _iconLoaded to class method instead of arrow function property
  * Reduces memory footprint by sharing method across all icon instances
  * Still maintains proper lifecycle management with bound references
- Implement notification batching to prevent excessive listener calls
  * Uses queueMicrotask for zero-delay batching
  * Automatically deduplicates icon:collection pairs
  * Significantly improves performance when registering multiple icons

Architecture Changes:
- Remove global theme state from IconsRegistry singleton
- Pass theme as parameter to getIconRef() for stateless resolution
- Icon components now pass their local theme context to registry
- Each icon resolves references based on its own theme-provider context
- Preserve backward compatibility with optional theme parameter

Icon Resolution Priority (updated):
1. User-set references (external or internal)
2. Theme-specific aliases from ICON_REFERENCES
3. Default theme fallback
4. Return icon as-is if no reference found

Added API docuementation for all new and updated methods, properties, and behaviors.
Added comprehensive unit and integration tests covering multi-theme scenarios, BFCache handling, and theme-provider interactions.

Fixes:
- Icons now work correctly in multi-theme applications
- No more theme conflicts when using multiple theme-providers
- Prevents unnecessary re-renders during bulk icon registration
- Eliminates potential race conditions in theme state

This refactor enables proper multi-theme support while maintaining backwa... (continued)

5334 of 5613 branches covered (95.03%)

Branch coverage included in aggregate %.

583 of 588 new or added lines in 5 files covered. (99.15%)

2 existing lines in 1 file now uncovered.

37114 of 37564 relevant lines covered (98.8%)

1576.68 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
5
93.97
-2.03% src/components/icon/registry/default-map.ts

Uncovered Existing Lines

Lines Coverage ∆ File
2
93.97
-2.03% src/components/icon/registry/default-map.ts
Jobs
ID Job ID Ran Files Coverage
1 22177884059.1 19 Feb 2026 10:26AM UTC 196
98.31
GitHub Action Run
Source Files on build 22177884059
  • Tree
  • List 196
  • Changed 6
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #22177884059
  • 482a1cae on github
  • Prev Build on master (#22109628118)
  • Next Build on master (#22179764567)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc