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

IgniteUI / igniteui-angular / 26023601418

18 May 2026 08:57AM UTC coverage: 4.854% (-85.3%) from 90.174%
26023601418

Pull #17281

github

web-flow
Merge e7ce7a18e into 5a85df190
Pull Request #17281: feat: Added virtual scroll component and sample implementation

400 of 17347 branches covered (2.31%)

Branch coverage included in aggregate %.

63 of 222 new or added lines in 4 files covered. (28.38%)

27932 existing lines in 341 files now uncovered.

2022 of 32547 relevant lines covered (6.21%)

0.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

12.5
/projects/igniteui-angular/core/src/services/theme/theme.token.ts
1
import { inject, InjectionToken, DOCUMENT } from "@angular/core";
2
import { BehaviorSubject } from "rxjs";
3

4
export class ThemeToken {
UNCOV
5
    private document = inject(DOCUMENT);
×
6
    public subject: BehaviorSubject<IgxTheme>;
7

UNCOV
8
    constructor(private t?: IgxTheme) {
×
UNCOV
9
        const globalTheme = globalThis.window
×
10
            ?.getComputedStyle(this.document.body)
11
            .getPropertyValue("--ig-theme")
12
            .trim() || 'material' as IgxTheme;
13

UNCOV
14
        const _theme = t ?? globalTheme as IgxTheme;
×
UNCOV
15
        this.subject = new BehaviorSubject(_theme);
×
16
    }
17

18
    public onChange(callback: (theme: IgxTheme) => void) {
UNCOV
19
        return this.subject.subscribe(callback);
×
20
    }
21

22
    public set(theme: IgxTheme) {
UNCOV
23
        this.subject.next(theme);
×
24
    }
25

26
    public get theme() {
UNCOV
27
        return this.subject.getValue();
×
28
    }
29

30
    public get preferToken() {
UNCOV
31
        return !!this.t;
×
32
    }
33
}
34

35
export const THEME_TOKEN = new InjectionToken<ThemeToken>('ThemeToken', {
3✔
36
    providedIn: 'root',
UNCOV
37
    factory: () => new ThemeToken()
×
38
});
39

40
const Theme = {
3✔
41
    Material: "material",
42
    Fluent: "fluent",
43
    Bootstrap: "bootstrap",
44
    IndigoDesign: "indigo",
45
} as const;
46

47
/**
48
 * Determines the component theme.
49
 */
50
export type IgxTheme = (typeof Theme)[keyof typeof Theme];
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