;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [AppComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(AppComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/projects/igniteui-angular-performance/src/app/app.component.ts b/projects/igniteui-angular-performance/src/app/app.component.ts
new file mode 100644
index 00000000000..109d49db6d3
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/app.component.ts
@@ -0,0 +1,14 @@
+import { Component } from '@angular/core';
+import { RouterLink, RouterOutlet, Routes } from '@angular/router';
+import { IgxButtonDirective } from 'igniteui-angular';
+import { routes } from './app.routes';
+
+@Component({
+ selector: 'app-root',
+ imports: [RouterOutlet, IgxButtonDirective, RouterLink],
+ templateUrl: './app.component.html',
+ styleUrl: './app.component.scss'
+})
+export class AppComponent {
+ protected routes: Routes = routes;
+}
diff --git a/projects/igniteui-angular-performance/src/app/app.config.ts b/projects/igniteui-angular-performance/src/app/app.config.ts
new file mode 100644
index 00000000000..68c90364260
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/app.config.ts
@@ -0,0 +1,14 @@
+import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core';
+import { provideRouter } from '@angular/router';
+import { provideAnimations } from '@angular/platform-browser/animations';
+
+import { routes } from './app.routes';
+
+export const appConfig: ApplicationConfig = {
+ providers: [
+ provideBrowserGlobalErrorListeners(),
+ provideZoneChangeDetection({ eventCoalescing: true }),
+ provideRouter(routes),
+ provideAnimations()
+ ]
+};
diff --git a/projects/igniteui-angular-performance/src/app/app.routes.ts b/projects/igniteui-angular-performance/src/app/app.routes.ts
new file mode 100644
index 00000000000..f954675b9e4
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/app.routes.ts
@@ -0,0 +1,44 @@
+import { Routes } from '@angular/router';
+import { GridComponent } from './grid/grid.component';
+import { TreeGridComponent } from './tree-grid/tree-grid.component';
+
+export const routes: Routes = [
+ {
+ path: "tree-grid-1m",
+ title: "Tree Grid 1M records",
+ component: TreeGridComponent,
+ data: { rows: 1_000_000 }
+ },
+ {
+ path: "tree-grid-100k",
+ title: "Tree Grid 100k records",
+ component: TreeGridComponent,
+ data: { rows: 100_000 }
+ },
+ {
+ path: "tree-grid",
+ title: "Tree Grid 1k records",
+ component: TreeGridComponent,
+ data: { rows: 1000 }
+ },
+ {
+ path: "grid-1m",
+ title: "Grid 1M records",
+ component: GridComponent,
+ data: { rows: 1_000_000 }
+ },
+ {
+ path: "grid-100k",
+ title: "Grid 100k records",
+ component: GridComponent,
+ data: { rows: 100_000 }
+ },
+ {
+ path: "",
+ title: "Grid 1k records",
+ pathMatch: 'full',
+ component: GridComponent,
+ data: { rows: 1000 }
+ }
+
+];
diff --git a/projects/igniteui-angular-performance/src/app/data/athletesData.ts b/projects/igniteui-angular-performance/src/app/data/athletesData.ts
new file mode 100644
index 00000000000..f16f6c3f103
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/data/athletesData.ts
@@ -0,0 +1,2037 @@
+/* eslint-disable */
+export const DATA = [{
+ "Id": 84,
+ "Avatar": "assets/images/men/12.jpg",
+ "Position": "current",
+ "Name": "Abel Brun",
+ "AthleteNumber": 39315,
+ "NetWorth": 105,
+ "TopSpeed": 5.1,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/af.png",
+ "CountryName": "Afghanistan"
+}, {
+ "Id": 65,
+ "Avatar": "assets/images/women/60.jpg",
+ "Position": "down",
+ "Name": "Keira Walker",
+ "AthleteNumber": 34116,
+ "NetWorth": 94,
+ "TopSpeed": 4.8,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/al.png",
+ "CountryName": "Albania"
+}, {
+ "Id": 197,
+ "Avatar": "assets/images/men/93.jpg",
+ "Position": "current",
+ "Name": "Brent Lord",
+ "AthleteNumber": 20943,
+ "NetWorth": 92,
+ "TopSpeed": 4.8,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/dz.png",
+ "CountryName": "Algeria"
+}, {
+ "Id": 66,
+ "Avatar": "assets/images/men/70.jpg",
+ "Position": "down",
+ "Name": "Moritz Braun",
+ "AthleteNumber": 48081,
+ "NetWorth": 107,
+ "TopSpeed": 6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ad.png",
+ "CountryName": "Andorra"
+}, {
+ "Id": 58,
+ "Avatar": "assets/images/women/60.jpg",
+ "Position": "down",
+ "Name": "Zaina Pomp",
+ "AthleteNumber": 14109,
+ "NetWorth": 90,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ao.png",
+ "CountryName": "Angola"
+}, {
+ "Id": 40,
+ "Avatar": "assets/images/men/33.jpg",
+ "Position": "down",
+ "Name": "Alberto Clark",
+ "AthleteNumber": 29912,
+ "NetWorth": 93,
+ "TopSpeed": 4.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ag.png",
+ "CountryName": "Antigua and Barbuda"
+}, {
+ "Id": 138,
+ "Avatar": "assets/images/men/38.jpg",
+ "Position": "current",
+ "Name": "Derrick Price",
+ "AthleteNumber": 19792,
+ "NetWorth": 94,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ar.png",
+ "CountryName": "Argentina"
+}, {
+ "Id": 6,
+ "Avatar": "assets/images/women/26.jpg",
+ "Position": "up",
+ "Name": "Mira Campos",
+ "AthleteNumber": 39222,
+ "NetWorth": 95,
+ "TopSpeed": 5.9,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/am.png",
+ "CountryName": "Armenia"
+}, {
+ "Id": 190,
+ "Avatar": "assets/images/women/44.jpg",
+ "Position": "current",
+ "Name": "Kiara Dubois",
+ "AthleteNumber": 49964,
+ "NetWorth": 97,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/au.png",
+ "CountryName": "Australia"
+}, {
+ "Id": 168,
+ "Avatar": "assets/images/men/10.jpg",
+ "Position": "current",
+ "Name": "Calvin Hunt",
+ "AthleteNumber": 35535,
+ "NetWorth": 94,
+ "TopSpeed": 4.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/at.png",
+ "CountryName": "Austria"
+}, {
+ "Id": 105,
+ "Avatar": "assets/images/men/5.jpg",
+ "Position": "down",
+ "Name": "Samu Hokkanen",
+ "AthleteNumber": 22469,
+ "NetWorth": 106,
+ "TopSpeed": 5.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/az.png",
+ "CountryName": "Azerbaijan"
+}, {
+ "Id": 33,
+ "Avatar": "assets/images/men/18.jpg",
+ "Position": "up",
+ "Name": "Zackary Roy",
+ "AthleteNumber": 45996,
+ "NetWorth": 92,
+ "TopSpeed": 4.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/bs.png",
+ "CountryName": "Bahamas"
+}, {
+ "Id": 83,
+ "Avatar": "assets/images/men/10.jpg",
+ "Position": "current",
+ "Name": "سینا مرادی",
+ "AthleteNumber": 10809,
+ "NetWorth": 105,
+ "TopSpeed": 5.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/bh.png",
+ "CountryName": "Bahrain"
+}, {
+ "Id": 121,
+ "Avatar": "assets/images/men/45.jpg",
+ "Position": "current",
+ "Name": "Maurice Lambert",
+ "AthleteNumber": 17443,
+ "NetWorth": 96,
+ "TopSpeed": 5.6,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/bd.png",
+ "CountryName": "Bangladesh"
+}, {
+ "Id": 111,
+ "Avatar": "assets/images/men/23.jpg",
+ "Position": "up",
+ "Name": "Connor Green",
+ "AthleteNumber": 44716,
+ "NetWorth": 95,
+ "TopSpeed": 4.4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/bb.png",
+ "CountryName": "Barbados"
+}, {
+ "Id": 75,
+ "Avatar": "assets/images/women/69.jpg",
+ "Position": "current",
+ "Name": "Ellen Leppo",
+ "AthleteNumber": 29286,
+ "NetWorth": 97,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/by.png",
+ "CountryName": "Belarus"
+}, {
+ "Id": 68,
+ "Avatar": "assets/images/men/23.jpg",
+ "Position": "up",
+ "Name": "Sandro Carpentier",
+ "AthleteNumber": 23503,
+ "NetWorth": 96,
+ "TopSpeed": 5.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/be.png",
+ "CountryName": "Belgium"
+}, {
+ "Id": 150,
+ "Avatar": "assets/images/men/52.jpg",
+ "Position": "up",
+ "Name": "Gustav Petersen",
+ "AthleteNumber": 20984,
+ "NetWorth": 107,
+ "TopSpeed": 4.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/bz.png",
+ "CountryName": "Belize"
+}, {
+ "Id": 142,
+ "Avatar": "assets/images/women/63.jpg",
+ "Position": "current",
+ "Name": "Nicoline Thomsen",
+ "AthleteNumber": 36778,
+ "NetWorth": 99,
+ "TopSpeed": 5.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/bj.png",
+ "CountryName": "Benin"
+}, {
+ "Id": 19,
+ "Avatar": "assets/images/women/6.jpg",
+ "Position": "current",
+ "Name": "Sedef Tunçeri",
+ "AthleteNumber": 48164,
+ "NetWorth": 108,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/bt.png",
+ "CountryName": "Bhutan"
+}, {
+ "Id": 202,
+ "Avatar": "assets/images/women/92.jpg",
+ "Position": "down",
+ "Name": "Ilona Salonen",
+ "AthleteNumber": 27068,
+ "NetWorth": 91,
+ "TopSpeed": 5.4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/bo.png",
+ "CountryName": "Bolivia"
+}, {
+ "Id": 191,
+ "Avatar": "assets/images/women/72.jpg",
+ "Position": "up",
+ "Name": "Clarisse Rey",
+ "AthleteNumber": 29795,
+ "NetWorth": 98,
+ "TopSpeed": 4.9,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ba.png",
+ "CountryName": "Bosnia and Herzegovina"
+}, {
+ "Id": 71,
+ "Avatar": "assets/images/men/74.jpg",
+ "Position": "down",
+ "Name": "Jimmie Mcguinness",
+ "AthleteNumber": 20729,
+ "NetWorth": 90,
+ "TopSpeed": 4.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/bw.png",
+ "CountryName": "Botswana"
+}, {
+ "Id": 82,
+ "Avatar": "assets/images/men/55.jpg",
+ "Position": "current",
+ "Name": "Johann Fischer",
+ "AthleteNumber": 37212,
+ "NetWorth": 98,
+ "TopSpeed": 5.8,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/br.png",
+ "CountryName": "Brazil"
+}, {
+ "Id": 121,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "down",
+ "Name": "Ivan Ivanov",
+ "AthleteNumber": 11054,
+ "NetWorth": 108,
+ "TopSpeed": 5.7,
+ "TrackProgress": 5,
+ "CountryFlag": "assets/images/flags/bg.png",
+ "CountryName": "Bulgaria"
+}, {
+ "Id": 144,
+ "Avatar": "assets/images/women/57.jpg",
+ "Position": "down",
+ "Name": "Milja Leino",
+ "AthleteNumber": 33563,
+ "NetWorth": 110,
+ "TopSpeed": 4.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/bf.png",
+ "CountryName": "Burkina Faso"
+}, {
+ "Id": 71,
+ "Avatar": "assets/images/men/81.jpg",
+ "Position": "down",
+ "Name": "آراد جعفری",
+ "AthleteNumber": 34962,
+ "NetWorth": 90,
+ "TopSpeed": 4.8,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/bi.png",
+ "CountryName": "Burundi"
+}, {
+ "Id": 163,
+ "Avatar": "assets/images/women/21.jpg",
+ "Position": "up",
+ "Name": "Pippa Roberts",
+ "AthleteNumber": 15588,
+ "NetWorth": 105,
+ "TopSpeed": 4.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/kh.png",
+ "CountryName": "Cambodia"
+}, {
+ "Id": 122,
+ "Avatar": "assets/images/men/57.jpg",
+ "Position": "down",
+ "Name": "Jack Jean-baptiste",
+ "AthleteNumber": 40427,
+ "NetWorth": 110,
+ "TopSpeed": 4.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/cm.png",
+ "CountryName": "Cameroon"
+}, {
+ "Id": 199,
+ "Avatar": "assets/images/women/68.jpg",
+ "Position": "up",
+ "Name": "Lucie Dumont",
+ "AthleteNumber": 12104,
+ "NetWorth": 108,
+ "TopSpeed": 4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ca.png",
+ "CountryName": "Canada"
+}, {
+ "Id": 136,
+ "Avatar": "assets/images/women/10.jpg",
+ "Position": "down",
+ "Name": "Elaine Matthews",
+ "AthleteNumber": 38574,
+ "NetWorth": 110,
+ "TopSpeed": 5.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/cv.png",
+ "CountryName": "Cape Verde"
+}, {
+ "Id": 70,
+ "Avatar": "assets/images/women/14.jpg",
+ "Position": "up",
+ "Name": "Emily Olsen",
+ "AthleteNumber": 13887,
+ "NetWorth": 110,
+ "TopSpeed": 4.8,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/cf.png",
+ "CountryName": "Central African Republic"
+}, {
+ "Id": 21,
+ "Avatar": "assets/images/men/73.jpg",
+ "Position": "down",
+ "Name": "Kuzey Aclan",
+ "AthleteNumber": 18583,
+ "NetWorth": 102,
+ "TopSpeed": 5.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/td.png",
+ "CountryName": "Chad"
+}, {
+ "Id": 86,
+ "Avatar": "assets/images/women/82.jpg",
+ "Position": "current",
+ "Name": "Eloida Novaes",
+ "AthleteNumber": 30751,
+ "NetWorth": 107,
+ "TopSpeed": 4.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/cl.png",
+ "CountryName": "Chile"
+}, {
+ "Id": 130,
+ "Avatar": "assets/images/women/24.jpg",
+ "Position": "down",
+ "Name": "آوا احمدی",
+ "AthleteNumber": 44347,
+ "NetWorth": 110,
+ "TopSpeed": 4.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/cn.png",
+ "CountryName": "China"
+}, {
+ "Id": 127,
+ "Avatar": "assets/images/men/52.jpg",
+ "Position": "down",
+ "Name": "Gerardo Soto",
+ "AthleteNumber": 22958,
+ "NetWorth": 90,
+ "TopSpeed": 5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/co.png",
+ "CountryName": "Colombia"
+}, {
+ "Id": 125,
+ "Avatar": "assets/images/women/16.jpg",
+ "Position": "current",
+ "Name": "Altiva Alves",
+ "AthleteNumber": 31850,
+ "NetWorth": 106,
+ "TopSpeed": 5.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/km.png",
+ "CountryName": "Comoros"
+}, {
+ "Id": 38,
+ "Avatar": "assets/images/women/17.jpg",
+ "Position": "current",
+ "Name": "Charlotte Meyer",
+ "AthleteNumber": 21442,
+ "NetWorth": 110,
+ "TopSpeed": 4.6,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ck.png",
+ "CountryName": "Cook Islands"
+}, {
+ "Id": 186,
+ "Avatar": "assets/images/men/42.jpg",
+ "Position": "up",
+ "Name": "Jimmy Bailey",
+ "AthleteNumber": 38510,
+ "NetWorth": 101,
+ "TopSpeed": 4.7,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/cr.png",
+ "CountryName": "Costa Rica"
+}, {
+ "Id": 108,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "up",
+ "Name": "Noah Bergeron",
+ "AthleteNumber": 35139,
+ "NetWorth": 110,
+ "TopSpeed": 5.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ci.png",
+ "CountryName": "Cote DIvoire"
+}, {
+ "Id": 176,
+ "Avatar": "assets/images/men/35.jpg",
+ "Position": "down",
+ "Name": "Laudelino Castro",
+ "AthleteNumber": 12711,
+ "NetWorth": 106,
+ "TopSpeed": 4.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/hr.png",
+ "CountryName": "Croatia"
+}, {
+ "Id": 138,
+ "Avatar": "assets/images/men/78.jpg",
+ "Position": "current",
+ "Name": "Oscar Calvo",
+ "AthleteNumber": 45078,
+ "NetWorth": 109,
+ "TopSpeed": 4.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/cu.png",
+ "CountryName": "Cuba"
+}, {
+ "Id": 137,
+ "Avatar": "assets/images/men/80.jpg",
+ "Position": "down",
+ "Name": "Lance Dunn",
+ "AthleteNumber": 10113,
+ "NetWorth": 94,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/cy.png",
+ "CountryName": "Cyprus"
+}, {
+ "Id": 173,
+ "Avatar": "assets/images/women/18.jpg",
+ "Position": "current",
+ "Name": "Hassana Camp",
+ "AthleteNumber": 14467,
+ "NetWorth": 104,
+ "TopSpeed": 5.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/cz.png",
+ "CountryName": "Czech Republic"
+}, {
+ "Id": 46,
+ "Avatar": "assets/images/women/55.jpg",
+ "Position": "current",
+ "Name": "Ronja Kraft",
+ "AthleteNumber": 21800,
+ "NetWorth": 101,
+ "TopSpeed": 5.3,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/dk.png",
+ "CountryName": "Denmark"
+}, {
+ "Id": 8,
+ "Avatar": "assets/images/men/14.jpg",
+ "Position": "up",
+ "Name": "Hans Möller",
+ "AthleteNumber": 34122,
+ "NetWorth": 109,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/dj.png",
+ "CountryName": "Djibouti"
+}, {
+ "Id": 188,
+ "Avatar": "assets/images/women/45.jpg",
+ "Position": "down",
+ "Name": "Ceylan Duygulu",
+ "AthleteNumber": 21527,
+ "NetWorth": 99,
+ "TopSpeed": 4.9,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/dm.png",
+ "CountryName": "Dominica"
+}, {
+ "Id": 134,
+ "Avatar": "assets/images/women/66.jpg",
+ "Position": "down",
+ "Name": "Anni Waisanen",
+ "AthleteNumber": 32133,
+ "NetWorth": 99,
+ "TopSpeed": 5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/do.png",
+ "CountryName": "Dominican Republic"
+}, {
+ "Id": 112,
+ "Avatar": "assets/images/women/53.jpg",
+ "Position": "down",
+ "Name": "Karen Shaw",
+ "AthleteNumber": 31048,
+ "NetWorth": 107,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ec.png",
+ "CountryName": "Ecuador"
+}, {
+ "Id": 161,
+ "Avatar": "assets/images/men/38.jpg",
+ "Position": "current",
+ "Name": "Alex Martin",
+ "AthleteNumber": 27887,
+ "NetWorth": 96,
+ "TopSpeed": 4.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/eg.png",
+ "CountryName": "Egypt"
+}, {
+ "Id": 196,
+ "Avatar": "assets/images/women/30.jpg",
+ "Position": "up",
+ "Name": "Begüm Erkekli",
+ "AthleteNumber": 37888,
+ "NetWorth": 104,
+ "TopSpeed": 4.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/sv.png",
+ "CountryName": "El Salvador"
+}, {
+ "Id": 24,
+ "Avatar": "assets/images/men/0.jpg",
+ "Position": "down",
+ "Name": "Joan Ortega",
+ "AthleteNumber": 49478,
+ "NetWorth": 103,
+ "TopSpeed": 5.4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/gq.png",
+ "CountryName": "Equatorial Guinea"
+}, {
+ "Id": 174,
+ "Avatar": "assets/images/women/29.jpg",
+ "Position": "current",
+ "Name": "Beatriz Gallardo",
+ "AthleteNumber": 38538,
+ "NetWorth": 101,
+ "TopSpeed": 6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/er.png",
+ "CountryName": "Eritrea"
+}, {
+ "Id": 193,
+ "Avatar": "assets/images/women/59.jpg",
+ "Position": "down",
+ "Name": "Sophia Carlson",
+ "AthleteNumber": 44183,
+ "NetWorth": 102,
+ "TopSpeed": 5.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ee.png",
+ "CountryName": "Estonia"
+}, {
+ "Id": 85,
+ "Avatar": "assets/images/men/43.jpg",
+ "Position": "down",
+ "Name": "Niilo Laurila",
+ "AthleteNumber": 49215,
+ "NetWorth": 104,
+ "TopSpeed": 4.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/et.png",
+ "CountryName": "Ethiopia"
+}, {
+ "Id": 201,
+ "Avatar": "assets/images/men/92.jpg",
+ "Position": "up",
+ "Name": "Kaya Tekand",
+ "AthleteNumber": 11028,
+ "NetWorth": 93,
+ "TopSpeed": 5.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/fj.png",
+ "CountryName": "Fiji"
+}, {
+ "Id": 123,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "current",
+ "Name": "Eeli Makinen",
+ "AthleteNumber": 45296,
+ "NetWorth": 106,
+ "TopSpeed": 5.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/fi.png",
+ "CountryName": "Finland"
+}, {
+ "Id": 16,
+ "Avatar": "assets/images/men/72.jpg",
+ "Position": "down",
+ "Name": "Felix Olsen",
+ "AthleteNumber": 43198,
+ "NetWorth": 101,
+ "TopSpeed": 4.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/fr.png",
+ "CountryName": "France"
+}, {
+ "Id": 62,
+ "Avatar": "assets/images/men/43.jpg",
+ "Position": "current",
+ "Name": "Roman Smith",
+ "AthleteNumber": 15531,
+ "NetWorth": 106,
+ "TopSpeed": 4.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ga.png",
+ "CountryName": "Gabon"
+}, {
+ "Id": 69,
+ "Avatar": "assets/images/men/17.jpg",
+ "Position": "current",
+ "Name": "Emil Meißner",
+ "AthleteNumber": 37183,
+ "NetWorth": 97,
+ "TopSpeed": 4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/gm.png",
+ "CountryName": "Gambia"
+}, {
+ "Id": 182,
+ "Avatar": "assets/images/men/94.jpg",
+ "Position": "current",
+ "Name": "Gerald Schmidt",
+ "AthleteNumber": 47410,
+ "NetWorth": 102,
+ "TopSpeed": 5.8,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ge.png",
+ "CountryName": "Georgia"
+}, {
+ "Id": 190,
+ "Avatar": "assets/images/women/53.jpg",
+ "Position": "current",
+ "Name": "Gladys Van Der Steeg",
+ "AthleteNumber": 20216,
+ "NetWorth": 94,
+ "TopSpeed": 4.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/de.png",
+ "CountryName": "Germany"
+}, {
+ "Id": 100,
+ "Avatar": "assets/images/women/20.jpg",
+ "Position": "current",
+ "Name": "Alexis Walker",
+ "AthleteNumber": 43183,
+ "NetWorth": 103,
+ "TopSpeed": 5.8,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/gh.png",
+ "CountryName": "Ghana"
+}, {
+ "Id": 85,
+ "Avatar": "assets/images/men/34.jpg",
+ "Position": "current",
+ "Name": "Jeffrey Medina",
+ "AthleteNumber": 42905,
+ "NetWorth": 100,
+ "TopSpeed": 5.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/gr.png",
+ "CountryName": "Greece"
+}, {
+ "Id": 169,
+ "Avatar": "assets/images/men/21.jpg",
+ "Position": "down",
+ "Name": "Julian Barth",
+ "AthleteNumber": 19011,
+ "NetWorth": 91,
+ "TopSpeed": 5.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/gd.png",
+ "CountryName": "Grenada"
+}, {
+ "Id": 116,
+ "Avatar": "assets/images/women/1.jpg",
+ "Position": "down",
+ "Name": "Sevcan Kollen",
+ "AthleteNumber": 13728,
+ "NetWorth": 104,
+ "TopSpeed": 5.3,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/gt.png",
+ "CountryName": "Guatemala"
+}, {
+ "Id": 75,
+ "Avatar": "assets/images/men/88.jpg",
+ "Position": "down",
+ "Name": "Rafael Gutierrez",
+ "AthleteNumber": 38804,
+ "NetWorth": 100,
+ "TopSpeed": 5.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/gn.png",
+ "CountryName": "Guinea"
+}, {
+ "Id": 121,
+ "Avatar": "assets/images/men/48.jpg",
+ "Position": "current",
+ "Name": "Väinö Salmi",
+ "AthleteNumber": 29839,
+ "NetWorth": 107,
+ "TopSpeed": 5.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/gw.png",
+ "CountryName": "Guinea-Bissau"
+}, {
+ "Id": 180,
+ "Avatar": "assets/images/women/90.jpg",
+ "Position": "up",
+ "Name": "Lillian Bowman",
+ "AthleteNumber": 35323,
+ "NetWorth": 103,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/gy.png",
+ "CountryName": "Guyana"
+}, {
+ "Id": 139,
+ "Avatar": "assets/images/women/28.jpg",
+ "Position": "current",
+ "Name": "Annabell Barth",
+ "AthleteNumber": 41130,
+ "NetWorth": 103,
+ "TopSpeed": 5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ht.png",
+ "CountryName": "Haiti"
+}, {
+ "Id": 4,
+ "Avatar": "assets/images/men/34.jpg",
+ "Position": "down",
+ "Name": "Mathys Martin",
+ "AthleteNumber": 32928,
+ "NetWorth": 98,
+ "TopSpeed": 5.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/va.png",
+ "CountryName": "Holy See (Vatican City State)"
+}, {
+ "Id": 1,
+ "Avatar": "assets/images/men/65.jpg",
+ "Position": "down",
+ "Name": "Louis Stewart",
+ "AthleteNumber": 48131,
+ "NetWorth": 103,
+ "TopSpeed": 5.7,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/hn.png",
+ "CountryName": "Honduras"
+}, {
+ "Id": 190,
+ "Avatar": "assets/images/women/2.jpg",
+ "Position": "current",
+ "Name": "Venla Korpela",
+ "AthleteNumber": 16454,
+ "NetWorth": 92,
+ "TopSpeed": 4.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/hu.png",
+ "CountryName": "Hungary"
+}, {
+ "Id": 167,
+ "Avatar": "assets/images/men/81.jpg",
+ "Position": "down",
+ "Name": "Milo Charles",
+ "AthleteNumber": 10661,
+ "NetWorth": 99,
+ "TopSpeed": 5.4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/is.png",
+ "CountryName": "Iceland"
+}, {
+ "Id": 62,
+ "Avatar": "assets/images/men/9.jpg",
+ "Position": "current",
+ "Name": "Anthony Harcourt",
+ "AthleteNumber": 33649,
+ "NetWorth": 109,
+ "TopSpeed": 5.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/in.png",
+ "CountryName": "India"
+}, {
+ "Id": 72,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "up",
+ "Name": "Aaron Robertson",
+ "AthleteNumber": 30727,
+ "NetWorth": 95,
+ "TopSpeed": 4.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/id.png",
+ "CountryName": "Indonesia"
+}, {
+ "Id": 2,
+ "Avatar": "assets/images/men/14.jpg",
+ "Position": "up",
+ "Name": "Bill Fox",
+ "AthleteNumber": 18511,
+ "NetWorth": 91,
+ "TopSpeed": 5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ir.png",
+ "CountryName": "Iran, Islamic Republic Of"
+}, {
+ "Id": 58,
+ "Avatar": "assets/images/women/30.jpg",
+ "Position": "up",
+ "Name": "Veera Saari",
+ "AthleteNumber": 40408,
+ "NetWorth": 100,
+ "TopSpeed": 4.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/iq.png",
+ "CountryName": "Iraq"
+}, {
+ "Id": 87,
+ "Avatar": "assets/images/men/35.jpg",
+ "Position": "current",
+ "Name": "Loïc Gerard",
+ "AthleteNumber": 31706,
+ "NetWorth": 102,
+ "TopSpeed": 4.4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ie.png",
+ "CountryName": "Ireland"
+}, {
+ "Id": 137,
+ "Avatar": "assets/images/women/75.jpg",
+ "Position": "up",
+ "Name": "Gloria Caballero",
+ "AthleteNumber": 43379,
+ "NetWorth": 103,
+ "TopSpeed": 4.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/il.png",
+ "CountryName": "Israel"
+}, {
+ "Id": 5,
+ "Avatar": "assets/images/women/38.jpg",
+ "Position": "current",
+ "Name": "Gianne Godijn",
+ "AthleteNumber": 45945,
+ "NetWorth": 96,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/it.png",
+ "CountryName": "Italy"
+}, {
+ "Id": 196,
+ "Avatar": "assets/images/women/17.jpg",
+ "Position": "current",
+ "Name": "Parel Zuidhof",
+ "AthleteNumber": 32718,
+ "NetWorth": 105,
+ "TopSpeed": 5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/jm.png",
+ "CountryName": "Jamaica"
+}, {
+ "Id": 23,
+ "Avatar": "assets/images/men/72.jpg",
+ "Position": "down",
+ "Name": "Gökhan Aşıkoğlu",
+ "AthleteNumber": 13890,
+ "NetWorth": 105,
+ "TopSpeed": 5.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/jp.png",
+ "CountryName": "Japan"
+}, {
+ "Id": 74,
+ "Avatar": "assets/images/women/9.jpg",
+ "Position": "up",
+ "Name": "Minea Rantanen",
+ "AthleteNumber": 18835,
+ "NetWorth": 105,
+ "TopSpeed": 5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/jo.png",
+ "CountryName": "Jordan"
+}, {
+ "Id": 92,
+ "Avatar": "assets/images/women/4.jpg",
+ "Position": "down",
+ "Name": "Asta Hansen",
+ "AthleteNumber": 17222,
+ "NetWorth": 101,
+ "TopSpeed": 4.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/kz.png",
+ "CountryName": "Kazakhstan"
+}, {
+ "Id": 191,
+ "Avatar": "assets/images/women/13.jpg",
+ "Position": "up",
+ "Name": "Sheryl Collins",
+ "AthleteNumber": 36473,
+ "NetWorth": 98,
+ "TopSpeed": 4.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ke.png",
+ "CountryName": "Kenya"
+}, {
+ "Id": 166,
+ "Avatar": "assets/images/women/74.jpg",
+ "Position": "current",
+ "Name": "Maria Parra",
+ "AthleteNumber": 39861,
+ "NetWorth": 106,
+ "TopSpeed": 6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ki.png",
+ "CountryName": "Kiribati"
+}, {
+ "Id": 73,
+ "Avatar": "assets/images/women/33.jpg",
+ "Position": "up",
+ "Name": "Annabelle Besteman",
+ "AthleteNumber": 30560,
+ "NetWorth": 105,
+ "TopSpeed": 5.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/kp.png",
+ "CountryName": "Korea, Democratic PeopleS Republic of"
+}, {
+ "Id": 182,
+ "Avatar": "assets/images/women/14.jpg",
+ "Position": "up",
+ "Name": "Ariena Achterberg",
+ "AthleteNumber": 41330,
+ "NetWorth": 92,
+ "TopSpeed": 5.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/kr.png",
+ "CountryName": "Korea, Republic of"
+}, {
+ "Id": 67,
+ "Avatar": "assets/images/men/50.jpg",
+ "Position": "current",
+ "Name": "Villads Larsen",
+ "AthleteNumber": 44677,
+ "NetWorth": 93,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/kw.png",
+ "CountryName": "Kuwait"
+}, {
+ "Id": 110,
+ "Avatar": "assets/images/women/26.jpg",
+ "Position": "down",
+ "Name": "Emilie Morin",
+ "AthleteNumber": 26164,
+ "NetWorth": 98,
+ "TopSpeed": 4.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/kg.png",
+ "CountryName": "Kyrgyzstan"
+}, {
+ "Id": 31,
+ "Avatar": "assets/images/men/56.jpg",
+ "Position": "up",
+ "Name": "Judd Campbell",
+ "AthleteNumber": 37365,
+ "NetWorth": 110,
+ "TopSpeed": 5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/la.png",
+ "CountryName": "Lao PeopleS Democratic Republic"
+}, {
+ "Id": 110,
+ "Avatar": "assets/images/women/13.jpg",
+ "Position": "current",
+ "Name": "Özsu Keçeci",
+ "AthleteNumber": 29403,
+ "NetWorth": 106,
+ "TopSpeed": 4.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/lv.png",
+ "CountryName": "Latvia"
+}, {
+ "Id": 123,
+ "Avatar": "assets/images/women/12.jpg",
+ "Position": "up",
+ "Name": "آنیتا كامياران",
+ "AthleteNumber": 18980,
+ "NetWorth": 90,
+ "TopSpeed": 4.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/lb.png",
+ "CountryName": "Lebanon"
+}, {
+ "Id": 138,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "down",
+ "Name": "Antoine Mackay",
+ "AthleteNumber": 34547,
+ "NetWorth": 104,
+ "TopSpeed": 5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ls.png",
+ "CountryName": "Lesotho"
+}, {
+ "Id": 167,
+ "Avatar": "assets/images/men/19.jpg",
+ "Position": "down",
+ "Name": "Louis Smith",
+ "AthleteNumber": 31837,
+ "NetWorth": 98,
+ "TopSpeed": 5.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/lr.png",
+ "CountryName": "Liberia"
+}, {
+ "Id": 29,
+ "Avatar": "assets/images/men/29.jpg",
+ "Position": "current",
+ "Name": "Selmo Caldeira",
+ "AthleteNumber": 21837,
+ "NetWorth": 110,
+ "TopSpeed": 4.9,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ly.png",
+ "CountryName": "Libyan Arab Jamahiriya"
+}, {
+ "Id": 35,
+ "Avatar": "assets/images/women/42.jpg",
+ "Position": "down",
+ "Name": "Elaine Smith",
+ "AthleteNumber": 38243,
+ "NetWorth": 108,
+ "TopSpeed": 4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/li.png",
+ "CountryName": "Liechtenstein"
+}, {
+ "Id": 75,
+ "Avatar": "assets/images/men/2.jpg",
+ "Position": "up",
+ "Name": "Fritz Sommer",
+ "AthleteNumber": 26210,
+ "NetWorth": 99,
+ "TopSpeed": 4.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/lt.png",
+ "CountryName": "Lithuania"
+}, {
+ "Id": 40,
+ "Avatar": "assets/images/men/5.jpg",
+ "Position": "down",
+ "Name": "Carter Evans",
+ "AthleteNumber": 46961,
+ "NetWorth": 100,
+ "TopSpeed": 5.3,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/lu.png",
+ "CountryName": "Luxembourg"
+}, {
+ "Id": 183,
+ "Avatar": "assets/images/women/53.jpg",
+ "Position": "up",
+ "Name": "رونیکا سلطانی نژاد",
+ "AthleteNumber": 35233,
+ "NetWorth": 99,
+ "TopSpeed": 4.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/mk.png",
+ "CountryName": "Macedonia, The Former Yugoslav Republic of"
+}, {
+ "Id": 151,
+ "Avatar": "assets/images/women/88.jpg",
+ "Position": "current",
+ "Name": "Charlotte Mills",
+ "AthleteNumber": 49829,
+ "NetWorth": 92,
+ "TopSpeed": 5.3,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/mg.png",
+ "CountryName": "Madagascar"
+}, {
+ "Id": 107,
+ "Avatar": "assets/images/men/33.jpg",
+ "Position": "up",
+ "Name": "Pedro Marquez",
+ "AthleteNumber": 16169,
+ "NetWorth": 97,
+ "TopSpeed": 5.4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/mw.png",
+ "CountryName": "Malawi"
+}, {
+ "Id": 65,
+ "Avatar": "assets/images/women/9.jpg",
+ "Position": "down",
+ "Name": "Jenny Burke",
+ "AthleteNumber": 15266,
+ "NetWorth": 99,
+ "TopSpeed": 5.4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/my.png",
+ "CountryName": "Malaysia"
+}, {
+ "Id": 155,
+ "Avatar": "assets/images/men/82.jpg",
+ "Position": "up",
+ "Name": "Justin Philippe",
+ "AthleteNumber": 12858,
+ "NetWorth": 104,
+ "TopSpeed": 5.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/mv.png",
+ "CountryName": "Maldives"
+}, {
+ "Id": 165,
+ "Avatar": "assets/images/men/79.jpg",
+ "Position": "down",
+ "Name": "Mario Ellis",
+ "AthleteNumber": 18026,
+ "NetWorth": 99,
+ "TopSpeed": 5.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ml.png",
+ "CountryName": "Mali"
+}, {
+ "Id": 107,
+ "Avatar": "assets/images/women/92.jpg",
+ "Position": "down",
+ "Name": "Megan Webb",
+ "AthleteNumber": 30713,
+ "NetWorth": 93,
+ "TopSpeed": 5.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mt.png",
+ "CountryName": "Malta"
+}, {
+ "Id": 52,
+ "Avatar": "assets/images/men/94.jpg",
+ "Position": "down",
+ "Name": "Adérito Lopes",
+ "AthleteNumber": 21320,
+ "NetWorth": 91,
+ "TopSpeed": 5.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mh.png",
+ "CountryName": "Marshall Islands"
+}, {
+ "Id": 99,
+ "Avatar": "assets/images/men/89.jpg",
+ "Position": "down",
+ "Name": "Victor Lévesque",
+ "AthleteNumber": 48375,
+ "NetWorth": 110,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mr.png",
+ "CountryName": "Mauritania"
+}, {
+ "Id": 188,
+ "Avatar": "assets/images/men/81.jpg",
+ "Position": "down",
+ "Name": "آراد یاسمی",
+ "AthleteNumber": 34370,
+ "NetWorth": 99,
+ "TopSpeed": 5.9,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mu.png",
+ "CountryName": "Mauritius"
+}, {
+ "Id": 10,
+ "Avatar": "assets/images/women/13.jpg",
+ "Position": "down",
+ "Name": "Maeva Bergeron",
+ "AthleteNumber": 15655,
+ "NetWorth": 94,
+ "TopSpeed": 5.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/mx.png",
+ "CountryName": "Mexico"
+}, {
+ "Id": 41,
+ "Avatar": "assets/images/men/20.jpg",
+ "Position": "up",
+ "Name": "Oskari Karjala",
+ "AthleteNumber": 31498,
+ "NetWorth": 90,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/fm.png",
+ "CountryName": "Micronesia, Federated States of"
+}, {
+ "Id": 51,
+ "Avatar": "assets/images/men/74.jpg",
+ "Position": "up",
+ "Name": "Alex Meyer",
+ "AthleteNumber": 44390,
+ "NetWorth": 94,
+ "TopSpeed": 4.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/md.png",
+ "CountryName": "Moldova, Republic of"
+}, {
+ "Id": 128,
+ "Avatar": "assets/images/women/52.jpg",
+ "Position": "up",
+ "Name": "Sophie Lewis",
+ "AthleteNumber": 46222,
+ "NetWorth": 106,
+ "TopSpeed": 4.4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mc.png",
+ "CountryName": "Monaco"
+}, {
+ "Id": 79,
+ "Avatar": "assets/images/women/39.jpg",
+ "Position": "current",
+ "Name": "Ashley Romero",
+ "AthleteNumber": 36611,
+ "NetWorth": 104,
+ "TopSpeed": 5.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/mn.png",
+ "CountryName": "Mongolia"
+}, {
+ "Id": 124,
+ "Avatar": "assets/images/women/19.jpg",
+ "Position": "current",
+ "Name": "Marie Poulsen",
+ "AthleteNumber": 44113,
+ "NetWorth": 109,
+ "TopSpeed": 4.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ma.png",
+ "CountryName": "Morocco"
+}, {
+ "Id": 42,
+ "Avatar": "assets/images/women/83.jpg",
+ "Position": "down",
+ "Name": "Caitlin Jackson",
+ "AthleteNumber": 45472,
+ "NetWorth": 101,
+ "TopSpeed": 4.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/mz.png",
+ "CountryName": "Mozambique"
+}, {
+ "Id": 15,
+ "Avatar": "assets/images/women/79.jpg",
+ "Position": "down",
+ "Name": "Marilou Hubert",
+ "AthleteNumber": 43655,
+ "NetWorth": 104,
+ "TopSpeed": 4.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/mm.png",
+ "CountryName": "Myanmar"
+}, {
+ "Id": 63,
+ "Avatar": "assets/images/women/9.jpg",
+ "Position": "up",
+ "Name": "Estelle Vincent",
+ "AthleteNumber": 41700,
+ "NetWorth": 99,
+ "TopSpeed": 5.7,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/na.png",
+ "CountryName": "Namibia"
+}, {
+ "Id": 154,
+ "Avatar": "assets/images/women/54.jpg",
+ "Position": "down",
+ "Name": "Rhonda Simmmons",
+ "AthleteNumber": 37139,
+ "NetWorth": 96,
+ "TopSpeed": 5.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/nr.png",
+ "CountryName": "Nauru"
+}, {
+ "Id": 191,
+ "Avatar": "assets/images/men/42.jpg",
+ "Position": "current",
+ "Name": "آرش احمدی",
+ "AthleteNumber": 36948,
+ "NetWorth": 90,
+ "TopSpeed": 4.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/np.png",
+ "CountryName": "Nepal"
+}, {
+ "Id": 141,
+ "Avatar": "assets/images/men/15.jpg",
+ "Position": "current",
+ "Name": "Miro Korpela",
+ "AthleteNumber": 40544,
+ "NetWorth": 104,
+ "TopSpeed": 5.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/nl.png",
+ "CountryName": "Netherlands"
+}, {
+ "Id": 73,
+ "Avatar": "assets/images/women/4.jpg",
+ "Position": "up",
+ "Name": "Afet Kumcuoğlu",
+ "AthleteNumber": 33454,
+ "NetWorth": 106,
+ "TopSpeed": 5.1,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/nz.png",
+ "CountryName": "New Zealand"
+}, {
+ "Id": 163,
+ "Avatar": "assets/images/women/52.jpg",
+ "Position": "up",
+ "Name": "Millie Cooper",
+ "AthleteNumber": 14610,
+ "NetWorth": 99,
+ "TopSpeed": 5.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ni.png",
+ "CountryName": "Nicaragua"
+}, {
+ "Id": 53,
+ "Avatar": "assets/images/women/51.jpg",
+ "Position": "current",
+ "Name": "Kayla Patel",
+ "AthleteNumber": 42780,
+ "NetWorth": 103,
+ "TopSpeed": 4.7,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ne.png",
+ "CountryName": "Niger"
+}, {
+ "Id": 58,
+ "Avatar": "assets/images/men/31.jpg",
+ "Position": "current",
+ "Name": "Diego Gautier",
+ "AthleteNumber": 26320,
+ "NetWorth": 97,
+ "TopSpeed": 4.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ng.png",
+ "CountryName": "Nigeria"
+}, {
+ "Id": 186,
+ "Avatar": "assets/images/men/2.jpg",
+ "Position": "up",
+ "Name": "کوروش کامروا",
+ "AthleteNumber": 13506,
+ "NetWorth": 109,
+ "TopSpeed": 4.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/nu.png",
+ "CountryName": "Niue"
+}, {
+ "Id": 101,
+ "Avatar": "assets/images/women/71.jpg",
+ "Position": "down",
+ "Name": "Lavínia Silva",
+ "AthleteNumber": 33994,
+ "NetWorth": 93,
+ "TopSpeed": 5.6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/no.png",
+ "CountryName": "Norway"
+}, {
+ "Id": 194,
+ "Avatar": "assets/images/men/71.jpg",
+ "Position": "down",
+ "Name": "Adrian Ibañez",
+ "AthleteNumber": 21968,
+ "NetWorth": 105,
+ "TopSpeed": 5.3,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/om.png",
+ "CountryName": "Oman"
+}, {
+ "Id": 143,
+ "Avatar": "assets/images/men/38.jpg",
+ "Position": "up",
+ "Name": "رضا کوتی",
+ "AthleteNumber": 13640,
+ "NetWorth": 103,
+ "TopSpeed": 4.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/pk.png",
+ "CountryName": "Pakistan"
+}, {
+ "Id": 37,
+ "Avatar": "assets/images/men/86.jpg",
+ "Position": "down",
+ "Name": "Clyde Matthews",
+ "AthleteNumber": 11955,
+ "NetWorth": 93,
+ "TopSpeed": 5.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/pw.png",
+ "CountryName": "Palau"
+}, {
+ "Id": 176,
+ "Avatar": "assets/images/men/26.jpg",
+ "Position": "current",
+ "Name": "Tim Neal",
+ "AthleteNumber": 45860,
+ "NetWorth": 97,
+ "TopSpeed": 5.6,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/pa.png",
+ "CountryName": "Panama"
+}, {
+ "Id": 110,
+ "Avatar": "assets/images/women/15.jpg",
+ "Position": "current",
+ "Name": "Annabell Brand",
+ "AthleteNumber": 39233,
+ "NetWorth": 93,
+ "TopSpeed": 5.7,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/pg.png",
+ "CountryName": "Papua New Guinea"
+}, {
+ "Id": 188,
+ "Avatar": "assets/images/men/3.jpg",
+ "Position": "current",
+ "Name": "Foppe Delfos",
+ "AthleteNumber": 39679,
+ "NetWorth": 107,
+ "TopSpeed": 4.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/py.png",
+ "CountryName": "Paraguay"
+}, {
+ "Id": 43,
+ "Avatar": "assets/images/men/42.jpg",
+ "Position": "up",
+ "Name": "Kent Clark",
+ "AthleteNumber": 32799,
+ "NetWorth": 106,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/pe.png",
+ "CountryName": "Peru"
+}, {
+ "Id": 167,
+ "Avatar": "assets/images/women/32.jpg",
+ "Position": "current",
+ "Name": "Esma Adıvar",
+ "AthleteNumber": 35565,
+ "NetWorth": 99,
+ "TopSpeed": 4.2,
+ "TrackProgress": 5,
+ "CountryFlag": "assets/images/flags/ph.png",
+ "CountryName": "Philippines"
+}, {
+ "Id": 123,
+ "Avatar": "assets/images/women/19.jpg",
+ "Position": "down",
+ "Name": "Flora Perez",
+ "AthleteNumber": 23907,
+ "NetWorth": 102,
+ "TopSpeed": 5.8,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/pl.png",
+ "CountryName": "Poland"
+}, {
+ "Id": 76,
+ "Avatar": "assets/images/men/65.jpg",
+ "Position": "current",
+ "Name": "David Scott",
+ "AthleteNumber": 46997,
+ "NetWorth": 101,
+ "TopSpeed": 4.4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/pt.png",
+ "CountryName": "Portugal"
+}, {
+ "Id": 183,
+ "Avatar": "assets/images/men/74.jpg",
+ "Position": "down",
+ "Name": "Yarno Kin",
+ "AthleteNumber": 47324,
+ "NetWorth": 107,
+ "TopSpeed": 5.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ro.png",
+ "CountryName": "Romania"
+}, {
+ "Id": 8,
+ "Avatar": "assets/images/women/15.jpg",
+ "Position": "down",
+ "Name": "Esther Kühn",
+ "AthleteNumber": 24868,
+ "NetWorth": 92,
+ "TopSpeed": 5.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ru.png",
+ "CountryName": "Russian Federation"
+}, {
+ "Id": 80,
+ "Avatar": "assets/images/men/90.jpg",
+ "Position": "down",
+ "Name": "Cecil Nichols",
+ "AthleteNumber": 20656,
+ "NetWorth": 100,
+ "TopSpeed": 5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/rw.png",
+ "CountryName": "RWANDA"
+}, {
+ "Id": 41,
+ "Avatar": "assets/images/women/65.jpg",
+ "Position": "down",
+ "Name": "Lilly Keuter",
+ "AthleteNumber": 49893,
+ "NetWorth": 102,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/kn.png",
+ "CountryName": "Saint Kitts and Nevis"
+}, {
+ "Id": 200,
+ "Avatar": "assets/images/women/73.jpg",
+ "Position": "current",
+ "Name": "Alice Perry",
+ "AthleteNumber": 23750,
+ "NetWorth": 104,
+ "TopSpeed": 5.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/lc.png",
+ "CountryName": "Saint Lucia"
+}, {
+ "Id": 51,
+ "Avatar": "assets/images/women/34.jpg",
+ "Position": "down",
+ "Name": "Eléa Robin",
+ "AthleteNumber": 26742,
+ "NetWorth": 90,
+ "TopSpeed": 4.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/vc.png",
+ "CountryName": "Saint Vincent and the Grenadines"
+}, {
+ "Id": 163,
+ "Avatar": "assets/images/men/70.jpg",
+ "Position": "down",
+ "Name": "میلاد قاسمی",
+ "AthleteNumber": 12788,
+ "NetWorth": 101,
+ "TopSpeed": 4.1,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ws.png",
+ "CountryName": "Samoa"
+}, {
+ "Id": 72,
+ "Avatar": "assets/images/women/26.jpg",
+ "Position": "down",
+ "Name": "Sélène Roussel",
+ "AthleteNumber": 11261,
+ "NetWorth": 99,
+ "TopSpeed": 5.8,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sm.png",
+ "CountryName": "San Marino"
+}, {
+ "Id": 159,
+ "Avatar": "assets/images/women/66.jpg",
+ "Position": "up",
+ "Name": "Eva Dean",
+ "AthleteNumber": 48874,
+ "NetWorth": 103,
+ "TopSpeed": 5.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/st.png",
+ "CountryName": "Sao Tome and Principe"
+}, {
+ "Id": 12,
+ "Avatar": "assets/images/women/83.jpg",
+ "Position": "up",
+ "Name": "Sara Larsen",
+ "AthleteNumber": 37094,
+ "NetWorth": 97,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sa.png",
+ "CountryName": "Saudi Arabia"
+}, {
+ "Id": 194,
+ "Avatar": "assets/images/men/11.jpg",
+ "Position": "down",
+ "Name": "Kaya Taşlı",
+ "AthleteNumber": 42291,
+ "NetWorth": 100,
+ "TopSpeed": 4.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/sn.png",
+ "CountryName": "Senegal"
+}, {
+ "Id": 162,
+ "Avatar": "assets/images/men/5.jpg",
+ "Position": "down",
+ "Name": "Adam Bouchard",
+ "AthleteNumber": 38672,
+ "NetWorth": 99,
+ "TopSpeed": 4.7,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sc.png",
+ "CountryName": "Seychelles"
+}, {
+ "Id": 96,
+ "Avatar": "assets/images/women/37.jpg",
+ "Position": "up",
+ "Name": "Thea Edwards",
+ "AthleteNumber": 29141,
+ "NetWorth": 99,
+ "TopSpeed": 5.8,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/sl.png",
+ "CountryName": "Sierra Leone"
+}, {
+ "Id": 93,
+ "Avatar": "assets/images/women/90.jpg",
+ "Position": "current",
+ "Name": "Ana Bourgeois",
+ "AthleteNumber": 24612,
+ "NetWorth": 110,
+ "TopSpeed": 6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sg.png",
+ "CountryName": "Singapore"
+}, {
+ "Id": 27,
+ "Avatar": "assets/images/women/61.jpg",
+ "Position": "up",
+ "Name": "Layla Douglas",
+ "AthleteNumber": 21977,
+ "NetWorth": 97,
+ "TopSpeed": 5.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/si.png",
+ "CountryName": "Slovenia"
+}, {
+ "Id": 178,
+ "Avatar": "assets/images/women/65.jpg",
+ "Position": "down",
+ "Name": "Lillian Wade",
+ "AthleteNumber": 10729,
+ "NetWorth": 110,
+ "TopSpeed": 4.8,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/sb.png",
+ "CountryName": "Solomon Islands"
+}, {
+ "Id": 192,
+ "Avatar": "assets/images/women/44.jpg",
+ "Position": "down",
+ "Name": "Viivi Kujala",
+ "AthleteNumber": 29939,
+ "NetWorth": 93,
+ "TopSpeed": 4.1,
+ "TrackProgress": 5,
+ "CountryFlag": "assets/images/flags/so.png",
+ "CountryName": "Somalia"
+}, {
+ "Id": 87,
+ "Avatar": "assets/images/women/72.jpg",
+ "Position": "up",
+ "Name": "Charlotte Dean",
+ "AthleteNumber": 45969,
+ "NetWorth": 105,
+ "TopSpeed": 5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/za.png",
+ "CountryName": "South Africa"
+}, {
+ "Id": 86,
+ "Avatar": "assets/images/women/45.jpg",
+ "Position": "down",
+ "Name": "Marisvalda Martins",
+ "AthleteNumber": 33879,
+ "NetWorth": 107,
+ "TopSpeed": 5.4,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/es.png",
+ "CountryName": "Spain"
+}, {
+ "Id": 129,
+ "Avatar": "assets/images/women/34.jpg",
+ "Position": "up",
+ "Name": "Ella Hansen",
+ "AthleteNumber": 27075,
+ "NetWorth": 101,
+ "TopSpeed": 5.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/lk.png",
+ "CountryName": "Sri Lanka"
+}, {
+ "Id": 27,
+ "Avatar": "assets/images/men/9.jpg",
+ "Position": "current",
+ "Name": "Johann Hinz",
+ "AthleteNumber": 48244,
+ "NetWorth": 94,
+ "TopSpeed": 4.3,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/sd.png",
+ "CountryName": "Sudan"
+}, {
+ "Id": 113,
+ "Avatar": "assets/images/men/37.jpg",
+ "Position": "current",
+ "Name": "Nick Naumann",
+ "AthleteNumber": 25566,
+ "NetWorth": 109,
+ "TopSpeed": 5.9,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sz.png",
+ "CountryName": "Swaziland"
+}, {
+ "Id": 194,
+ "Avatar": "assets/images/women/62.jpg",
+ "Position": "up",
+ "Name": "آوا سلطانی نژاد",
+ "AthleteNumber": 45635,
+ "NetWorth": 98,
+ "TopSpeed": 4.1,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/se.png",
+ "CountryName": "Sweden"
+}, {
+ "Id": 65,
+ "Avatar": "assets/images/women/47.jpg",
+ "Position": "current",
+ "Name": "Ilke Kisters",
+ "AthleteNumber": 23817,
+ "NetWorth": 100,
+ "TopSpeed": 5.9,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ch.png",
+ "CountryName": "Switzerland"
+}, {
+ "Id": 162,
+ "Avatar": "assets/images/women/0.jpg",
+ "Position": "current",
+ "Name": "Alex Craig",
+ "AthleteNumber": 21868,
+ "NetWorth": 94,
+ "TopSpeed": 4.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/sy.png",
+ "CountryName": "Syrian Arab Republic"
+}, {
+ "Id": 161,
+ "Avatar": "assets/images/men/89.jpg",
+ "Position": "up",
+ "Name": "Franklin Byrd",
+ "AthleteNumber": 49498,
+ "NetWorth": 106,
+ "TopSpeed": 5.3,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/tw.png",
+ "CountryName": "Taiwan, Province of China"
+}, {
+ "Id": 167,
+ "Avatar": "assets/images/women/62.jpg",
+ "Position": "current",
+ "Name": "Pippa Morris",
+ "AthleteNumber": 44421,
+ "NetWorth": 101,
+ "TopSpeed": 5.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/tj.png",
+ "CountryName": "Tajikistan"
+}, {
+ "Id": 43,
+ "Avatar": "assets/images/women/94.jpg",
+ "Position": "up",
+ "Name": "Emma Turner",
+ "AthleteNumber": 39487,
+ "NetWorth": 110,
+ "TopSpeed": 5.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/tz.png",
+ "CountryName": "Tanzania, United Republic of"
+}, {
+ "Id": 76,
+ "Avatar": "assets/images/women/1.jpg",
+ "Position": "current",
+ "Name": "Encarnacion Martin",
+ "AthleteNumber": 40912,
+ "NetWorth": 105,
+ "TopSpeed": 5.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/th.png",
+ "CountryName": "Thailand"
+}, {
+ "Id": 93,
+ "Avatar": "assets/images/women/21.jpg",
+ "Position": "up",
+ "Name": "Sara Hannula",
+ "AthleteNumber": 22025,
+ "NetWorth": 102,
+ "TopSpeed": 4.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/tl.png",
+ "CountryName": "Timor-Leste"
+}, {
+ "Id": 147,
+ "Avatar": "assets/images/men/8.jpg",
+ "Position": "down",
+ "Name": "میلاد یاسمی",
+ "AthleteNumber": 44023,
+ "NetWorth": 104,
+ "TopSpeed": 5.2,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/tg.png",
+ "CountryName": "Togo"
+}, {
+ "Id": 131,
+ "Avatar": "assets/images/women/61.jpg",
+ "Position": "down",
+ "Name": "Veronika Huber",
+ "AthleteNumber": 18146,
+ "NetWorth": 103,
+ "TopSpeed": 5.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/to.png",
+ "CountryName": "Tonga"
+}, {
+ "Id": 122,
+ "Avatar": "assets/images/women/71.jpg",
+ "Position": "down",
+ "Name": "Natalie Conrad",
+ "AthleteNumber": 42602,
+ "NetWorth": 108,
+ "TopSpeed": 6,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/tt.png",
+ "CountryName": "Trinidad and Tobago"
+}, {
+ "Id": 113,
+ "Avatar": "assets/images/women/36.jpg",
+ "Position": "current",
+ "Name": "Marialba Nascimento",
+ "AthleteNumber": 47061,
+ "NetWorth": 108,
+ "TopSpeed": 5.2,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/tn.png",
+ "CountryName": "Tunisia"
+}, {
+ "Id": 135,
+ "Avatar": "assets/images/men/84.jpg",
+ "Position": "down",
+ "Name": "Darryl Douglas",
+ "AthleteNumber": 35826,
+ "NetWorth": 96,
+ "TopSpeed": 4.6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/tr.png",
+ "CountryName": "Turkey"
+}, {
+ "Id": 130,
+ "Avatar": "assets/images/men/94.jpg",
+ "Position": "up",
+ "Name": "Adem Özdoğan",
+ "AthleteNumber": 45143,
+ "NetWorth": 90,
+ "TopSpeed": 5.5,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/tm.png",
+ "CountryName": "Turkmenistan"
+}, {
+ "Id": 14,
+ "Avatar": "assets/images/women/84.jpg",
+ "Position": "up",
+ "Name": "Ömür Denkel",
+ "AthleteNumber": 31061,
+ "NetWorth": 104,
+ "TopSpeed": 4.5,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/tv.png",
+ "CountryName": "Tuvalu"
+}, {
+ "Id": 43,
+ "Avatar": "assets/images/women/77.jpg",
+ "Position": "down",
+ "Name": "Cathalijne Van Der Ree",
+ "AthleteNumber": 45160,
+ "NetWorth": 102,
+ "TopSpeed": 5.4,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/ug.png",
+ "CountryName": "Uganda"
+}, {
+ "Id": 164,
+ "Avatar": "assets/images/women/51.jpg",
+ "Position": "current",
+ "Name": "Ethel Stephens",
+ "AthleteNumber": 18692,
+ "NetWorth": 94,
+ "TopSpeed": 4.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ua.png",
+ "CountryName": "Ukraine"
+}, {
+ "Id": 167,
+ "Avatar": "assets/images/men/67.jpg",
+ "Position": "down",
+ "Name": "Aatu Ranta",
+ "AthleteNumber": 38049,
+ "NetWorth": 94,
+ "TopSpeed": 5.1,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/ae.png",
+ "CountryName": "United Arab Emirates"
+}, {
+ "Id": 169,
+ "Avatar": "assets/images/men/44.jpg",
+ "Position": "up",
+ "Name": "Aziz Santos",
+ "AthleteNumber": 38947,
+ "NetWorth": 98,
+ "TopSpeed": 4,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/gb.png",
+ "CountryName": "United Kingdom"
+}, {
+ "Id": 170,
+ "Avatar": "assets/images/men/60.jpg",
+ "Position": "up",
+ "Name": "Fernando Gimenez",
+ "AthleteNumber": 31290,
+ "NetWorth": 102,
+ "TopSpeed": 5.1,
+ "TrackProgress": 3,
+ "CountryFlag": "assets/images/flags/uz.png",
+ "CountryName": "Uruguay"
+}, {
+ "Id": 124,
+ "Avatar": "assets/images/men/98.jpg",
+ "Position": "down",
+ "Name": "Mathieu Mathieu",
+ "AthleteNumber": 10555,
+ "NetWorth": 101,
+ "TopSpeed": 5.2,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/uz.png",
+ "CountryName": "Uzbekistan"
+}, {
+ "Id": 193,
+ "Avatar": "assets/images/women/9.jpg",
+ "Position": "down",
+ "Name": "Juanita Franklin",
+ "AthleteNumber": 13907,
+ "NetWorth": 91,
+ "TopSpeed": 6,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/vu.png",
+ "CountryName": "Vanuatu"
+}, {
+ "Id": 25,
+ "Avatar": "assets/images/men/42.jpg",
+ "Position": "up",
+ "Name": "Stanley Hart",
+ "AthleteNumber": 14150,
+ "NetWorth": 91,
+ "TopSpeed": 4.5,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ve.png",
+ "CountryName": "Venezuela"
+}, {
+ "Id": 131,
+ "Avatar": "assets/images/women/61.jpg",
+ "Position": "current",
+ "Name": "Eliza Bishop",
+ "AthleteNumber": 31774,
+ "NetWorth": 96,
+ "TopSpeed": 4.7,
+ "TrackProgress": 4,
+ "CountryFlag": "assets/images/flags/eh.png",
+ "CountryName": "Western Sahara"
+}, {
+ "Id": 34,
+ "Avatar": "assets/images/women/19.jpg",
+ "Position": "down",
+ "Name": "Linda Schäfer",
+ "AthleteNumber": 43074,
+ "NetWorth": 107,
+ "TopSpeed": 5.1,
+ "TrackProgress": 2,
+ "CountryFlag": "assets/images/flags/ye.png",
+ "CountryName": "Yemen"
+}];
diff --git a/projects/igniteui-angular-performance/src/app/data/employeesData.ts b/projects/igniteui-angular-performance/src/app/data/employeesData.ts
new file mode 100644
index 00000000000..eb9c587ea2f
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/data/employeesData.ts
@@ -0,0 +1,164 @@
+export const EMPLOYEES_DATA = [
+ {
+ Age: 55,
+ Avatar: 'assets/images/men/5.jpg',
+ HireDate: new Date(2008, 3, 20),
+ ID: 1,
+ Name: 'Johnathan Winchester',
+ ParentID: -1,
+ Title: 'Development Manager'
+ },
+ {
+ Age: 42,
+ Avatar: 'assets/images/women/4.jpg',
+ HireDate: new Date(2014, 1, 22),
+ ID: 4,
+ Name: 'Ana Sanders',
+ ParentID: -1,
+ Title: 'CEO'
+ },
+ {
+ Age: 49,
+ Avatar: 'assets/images/women/2.jpg',
+ HireDate: new Date(2014, 1, 22),
+ ID: 18,
+ Name: 'Victoria Lincoln',
+ ParentID: -1,
+ Title: 'Accounting Manager'
+ },
+ {
+ Age: 61,
+ Avatar: 'assets/images/men/4.jpg',
+ HireDate: new Date(2010, 1, 1),
+ ID: 10,
+ Name: 'Yang Wang',
+ ParentID: -1,
+ Title: 'Localization Manager'
+ },
+ {
+ Age: 43,
+ Avatar: 'assets/images/men/1.jpg',
+ HireDate: new Date(2011, 6, 3),
+ ID: 3,
+ Name: 'Michael Burke',
+ ParentID: 1,
+ Title: 'Senior Software Developer'
+ },
+ {
+ Age: 29,
+ Avatar: 'assets/images/men/2.jpg',
+ HireDate: new Date(2009, 6, 19),
+ ID: 2,
+ Name: 'Thomas Anderson',
+ ParentID: 1,
+ Title: 'Senior Software Developer'
+ },
+ {
+ Age: 31,
+ Avatar: 'assets/images/women/3.jpg',
+ HireDate: new Date(2014, 8, 18),
+ ID: 11,
+ Name: 'Monica Reyes',
+ ParentID: 1,
+ Title: 'Software Development Team Lead'
+ },
+ {
+ Age: 35,
+ Avatar: 'assets/images/men/3.jpg',
+ HireDate: new Date(2015, 9, 17),
+ ID: 6,
+ Name: 'Roland Mendel',
+ ParentID: 11,
+ Title: 'Senior Software Developer'
+ },
+ {
+ Age: 44,
+ Avatar: 'assets/images/men/6.jpg',
+ HireDate: new Date(2009, 10, 11),
+ ID: 12,
+ Name: 'Sven Cooper',
+ ParentID: 11,
+ Title: 'Senior Software Developer'
+ },
+ {
+ Age: 44,
+ Avatar: 'assets/images/men/7.jpg',
+ HireDate: new Date(2014, 4, 4),
+ ID: 14,
+ Name: 'Laurence Johnson',
+ ParentID: 4,
+ Title: 'Director'
+ },
+ {
+ Age: 25,
+ Avatar: 'assets/images/women/1.jpg',
+ HireDate: new Date(2017, 11, 9),
+ ID: 5,
+ Name: 'Elizabeth Richards',
+ ParentID: 4,
+ Title: 'Vice President'
+ },
+ {
+ Age: 39,
+ Avatar: 'assets/images/men/8.jpg',
+ HireDate: new Date(2010, 3, 22),
+ ID: 13,
+ Name: 'Trevor Ashworth',
+ ParentID: 5,
+ Title: 'Director'
+ },
+ {
+ Age: 44,
+ Avatar: 'assets/images/men/9.jpg',
+ HireDate: new Date(2014, 4, 4),
+ ID: 17,
+ Name: 'Antonio Moreno',
+ ParentID: 18,
+ Title: 'Senior Accountant'
+ },
+ {
+ Age: 50,
+ Avatar: 'assets/images/men/10.jpg',
+ HireDate: new Date(2007, 11, 18),
+ ID: 7,
+ Name: 'Pedro Rodriguez',
+ ParentID: 10,
+ Title: 'Senior Localization Developer'
+ },
+ {
+ Age: 27,
+ Avatar: 'assets/images/women/5.jpg',
+ HireDate: new Date(2016, 2, 19),
+ ID: 8,
+ Name: 'Casey Harper',
+ ParentID: 10,
+ Title: 'Senior Localization Developer'
+ },
+ {
+ Age: 25,
+ Avatar: 'assets/images/women/6.jpg',
+ HireDate: new Date(2017, 11, 9),
+ ID: 15,
+ Name: 'Patricia Simpson',
+ ParentID: 7,
+ Title: 'Localization Intern'
+ },
+ {
+ Age: 39,
+ Avatar: 'assets/images/men/26.jpg',
+ HireDate: new Date(2010, 3, 22),
+ ID: 9,
+ Name: 'Francisco Chang',
+ ParentID: 7,
+ Title: 'Localization Intern'
+ },
+ {
+ Age: 25,
+ Avatar: 'assets/images/men/27.jpg',
+ HireDate: new Date(2018, 3, 18),
+ ID: 16,
+ Name: 'Peter Lewis',
+ ParentID: 7,
+ Title: 'Localization Intern'
+ }
+];
diff --git a/projects/igniteui-angular-performance/src/app/grid/grid.component.html b/projects/igniteui-angular-performance/src/app/grid/grid.component.html
new file mode 100644
index 00000000000..9cad429ffa8
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/grid/grid.component.html
@@ -0,0 +1,21 @@
+
+
+ @for (col of columns; track col) {
+
+
+ }
+
+
diff --git a/projects/igniteui-angular-performance/src/app/grid/grid.component.scss b/projects/igniteui-angular-performance/src/app/grid/grid.component.scss
new file mode 100644
index 00000000000..bc86bb4c9a3
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/grid/grid.component.scss
@@ -0,0 +1,10 @@
+:host {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+}
+
+.grid-wrapper {
+ height: 100%;
+ width: 100%;
+}
diff --git a/projects/igniteui-angular-performance/src/app/grid/grid.component.ts b/projects/igniteui-angular-performance/src/app/grid/grid.component.ts
new file mode 100644
index 00000000000..5a8bf831dc1
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/grid/grid.component.ts
@@ -0,0 +1,39 @@
+import { Component, inject, ViewChild } from '@angular/core';
+import { GridColumnDataType, IGX_GRID_DIRECTIVES, IgxGridComponent } from "igniteui-angular"
+import { DataService } from '../services/data.service';
+import { ActivatedRoute } from '@angular/router';
+
+@Component({
+ selector: 'app-grid',
+ imports: [IGX_GRID_DIRECTIVES],
+ templateUrl: './grid.component.html',
+ styleUrl: './grid.component.scss'
+})
+export class GridComponent {
+ protected columns: any[] = []
+ protected data: any[] = [];
+ protected performanceDataList: PerformanceEntryList = [];
+ private dataService = inject(DataService);
+ private activatedRoute = inject(ActivatedRoute);
+
+ @ViewChild(IgxGridComponent, { static: true })
+ public grid: IgxGridComponent;
+
+ constructor() {
+ this.data = this.dataService.generateData(this.activatedRoute.snapshot.data.rows)
+ this.columns = [
+ { field: "Id", dataType: GridColumnDataType.Number, sortable: true, width: 'auto', groupable: true },
+ { field: "Name", dataType: GridColumnDataType.String, sortable: true, width: 'auto', groupable: true },
+ { field: "AthleteNumber", dataType: GridColumnDataType.Number, sortable: true, width: 'auto', groupable: true },
+ { field: "Registered", dataType: GridColumnDataType.DateTime, sortable: true, width: 'auto', groupable: true },
+ { field: "CountryName", dataType: GridColumnDataType.String, sortable: true, width: 'auto', groupable: true },
+ { field: "FirstAppearance", dataType: GridColumnDataType.Time, sortable: true, width: 'auto', groupable: true },
+ { field: "CareerStart", dataType: GridColumnDataType.Date, sortable: true, width: 'auto', groupable: true },
+ { field: "Active", dataType: GridColumnDataType.Boolean, sortable: true, width: 'auto', groupable: true },
+ { field: "NetWorth", dataType: GridColumnDataType.Currency, sortable: true, width: 'auto', groupable: true },
+ { field: "CountryFlag", dataType: GridColumnDataType.Image, sortable: true, width: 'auto', groupable: true },
+ { field: "SuccessRate", dataType: GridColumnDataType.Percent, sortable: true, width: 'auto', groupable: true },
+ { field: "Position", dataType: GridColumnDataType.String, sortable: true, width: 'auto', groupable: true },
+ ];
+ }
+}
diff --git a/projects/igniteui-angular-performance/src/app/lib/mulberry.ts b/projects/igniteui-angular-performance/src/app/lib/mulberry.ts
new file mode 100644
index 00000000000..716a6266205
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/lib/mulberry.ts
@@ -0,0 +1,16 @@
+export class Mulberry32 {
+ private seed: number;
+
+ constructor(s: number) {
+ this.seed = s;
+ }
+
+ public random(): number {
+ /* eslint-disable */
+ this.seed |= 0; this.seed = this.seed + 0x6D2B79F5 | 0;
+ let t = Math.imul(this.seed ^ this.seed >>> 15, 1 | this.seed);
+ t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
+ /* eslint-enable */
+ }
+}
diff --git a/projects/igniteui-angular-performance/src/app/services/data.service.ts b/projects/igniteui-angular-performance/src/app/services/data.service.ts
new file mode 100644
index 00000000000..001f33beb4a
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/services/data.service.ts
@@ -0,0 +1,120 @@
+import { Injectable } from '@angular/core';
+import { Mulberry32 } from '../lib/mulberry';
+import { DATA as athletesData } from "../data/athletesData"
+import { EMPLOYEES_DATA } from '../data/employeesData';
+
+
+@Injectable({
+ providedIn: 'root'
+})
+export class DataService {
+ constructor() { }
+ public generateData(rows: number): any[] {
+ const rnd = new Mulberry32(1234);
+ const data = this.generateAthletesData(rnd, rows);
+ return data;
+ }
+
+ public generateTreeData(rows: number): any[] {
+ const rnd = new Mulberry32(1234);
+ const data = this.generateEmployeesData(rnd, rows);
+ return data;
+ }
+
+ private generateEmployeesData(rnd: Mulberry32, rows: number): any[] {
+ const currData = [];
+ let uniqueId = 1;
+ const parentCandidates: number[] = [];
+ for (let i = 0; i < rows; i++) {
+ const rand = Math.floor(rnd.random() * Math.floor(EMPLOYEES_DATA.length));
+ const dataObj = Object.assign({}, EMPLOYEES_DATA[rand]);
+ dataObj.ID = uniqueId++;
+ if (currData.length > 0 && rnd.random() > 0.2) {
+ const parentIndex = Math.floor(rnd.random() * parentCandidates.length);
+ dataObj.ParentID = parentCandidates[parentIndex];
+ } else {
+ dataObj.ParentID = -1; // Root node
+ }
+ dataObj["CheckedIn"] = this.formatDateTime(this.randomizeDateTime(rnd));
+ dataObj["CareerStart"] = this.formatDateTime(this.randomizeDateTime(rnd));
+ dataObj["GrossSalary"] = this.randomizeSalary(rnd);
+ dataObj["PTO"] = this.randomizeBoolean(rnd);
+ dataObj["SuccessRate"] = this.randomizePercentage(rnd);
+ parentCandidates.push(dataObj.ID);
+
+ currData.push(dataObj);
+ }
+ return currData;
+ }
+
+ private generateAthletesData(rnd: Mulberry32, rows: number): any[] {
+ const currData = [];
+ for (let i = 0; i < rows; i++) {
+ const rand = Math.floor(rnd.random() * Math.floor(athletesData.length));
+ const dataObj = Object.assign({}, athletesData[rand]);
+ dataObj["Registered"] = this.formatDateTime(this.randomizeDateTime(rnd));
+ dataObj["FirstAppearance"] = this.formatDateTime(this.randomizeDateTime(rnd));
+ dataObj["CareerStart"] = this.formatDateTime(this.randomizeDateTime(rnd));
+ dataObj["Active"] = this.randomizeBoolean(rnd);
+ dataObj["SuccessRate"] = this.randomizePercentage(rnd);
+ dataObj["AthleteNumber"] = this.randomizeAthleteNumber(dataObj["AthleteNumber"], rnd);
+ currData.push(dataObj);
+ }
+ return currData;
+ }
+
+ private randomizeDateTime(rnd: Mulberry32): Date {
+ const now = new Date();
+
+ // Generate a random date in the current year up to the current month/day
+ const year = now.getFullYear();
+ const month = this.generateRandomNumber(rnd, 0, now.getMonth()); // 0 to current month
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
+ const day = this.generateRandomNumber(rnd, 1, daysInMonth); // 1 to last day of month
+
+ // Generate random time
+ const hours = this.generateRandomNumber(rnd, 0, 23);
+ const minutes = this.generateRandomNumber(rnd, 0, 59);
+ const seconds = this.generateRandomNumber(rnd, 0, 59);
+
+ const date = new Date(year, month, day, hours, minutes, seconds);
+ return date;
+ }
+
+ private randomizeBoolean(rnd: Mulberry32): boolean {
+ const number = this.generateRandomNumber(rnd, 0, 10);
+ return number >= 5;
+ }
+
+ private randomizeAthleteNumber(value: number, rnd: Mulberry32): number {
+ const number = this.generateRandomNumber(rnd, 0, 100);
+ return number % 2 ? value + number : value - number;
+ }
+
+ private randomizePercentage(rnd: Mulberry32): number {
+ const value = rnd.random(); // returns value in [0, 1)
+ return Math.floor(value * 1000) / 1000;
+ }
+
+ private randomizeSalary(rnd: Mulberry32): number {
+ return this.generateRandomNumber(rnd, 80_000, 100_000);
+ }
+
+ private formatDateTime(date: Date) {
+ // Format: MM/DD/YYYY HH:mm:ss
+ const formatted = `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()} ` +
+ `${this.pad(date.getHours())}:${this.pad(date.getMinutes())}:${this.pad(date.getSeconds())}`;
+ return formatted;
+ }
+
+ // Helper for leading zeros
+ private pad(num: number): string {
+ return num.toString().padStart(2, '0');
+ }
+
+ private generateRandomNumber(rnd, min, max) {
+ return Math.floor(rnd.random() * (max - min + 1)) + min;
+ }
+
+
+}
diff --git a/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.html b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.html
new file mode 100644
index 00000000000..a516762a6e2
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.html
@@ -0,0 +1,23 @@
+
+
+ @for (col of columns; track col) {
+
+
+ }
+
+
diff --git a/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.scss b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.scss
new file mode 100644
index 00000000000..eabcf19790a
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.scss
@@ -0,0 +1,16 @@
+:host {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+}
+
+.grid-wrapper {
+ height: 100%;
+ width: 100%;
+}
+
+::ng-deep {
+ img {
+ width: 60px !important;
+ }
+}
diff --git a/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.ts b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.ts
new file mode 100644
index 00000000000..2f274c23ade
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/app/tree-grid/tree-grid.component.ts
@@ -0,0 +1,38 @@
+import { Component, inject, ViewChild } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { GridColumnDataType, IgxColumnComponent, IgxTreeGridComponent } from 'igniteui-angular';
+import { DataService } from '../services/data.service';
+
+@Component({
+ selector: 'app-tree-grid',
+ imports: [IgxTreeGridComponent, IgxColumnComponent],
+ templateUrl: './tree-grid.component.html',
+ styleUrl: './tree-grid.component.scss'
+})
+export class TreeGridComponent {
+ protected columns: any[] = []
+ protected data: any[] = [];
+ protected performanceDataList: PerformanceEntryList = [];
+ private dataService = inject(DataService);
+ private activatedRoute = inject(ActivatedRoute);
+
+ @ViewChild(IgxTreeGridComponent, { static: true })
+ public grid: IgxTreeGridComponent;
+
+ constructor() {
+ this.data = this.dataService.generateTreeData(this.activatedRoute.snapshot.data.rows)
+ this.columns = [
+ { field: "ID", dataType: GridColumnDataType.Number, sortable: true, width: 'auto', groupable: true },
+ { field: "Name", dataType: GridColumnDataType.String, sortable: true, width: 'auto', groupable: true },
+ { field: "Age", dataType: GridColumnDataType.Number, sortable: true, width: 'auto', groupable: true },
+ { field: "HireDate", dataType: GridColumnDataType.Date, sortable: true, width: 'auto', groupable: true },
+ { field: "Title", dataType: GridColumnDataType.String, sortable: true, width: 'auto', groupable: true },
+ { field: "CheckedIn", dataType: GridColumnDataType.Time, sortable: true, width: 'auto', groupable: true },
+ { field: "PTO", dataType: GridColumnDataType.Boolean, sortable: true, width: 'auto', groupable: true },
+ { field: "GrossSalary", dataType: GridColumnDataType.Currency, sortable: true, width: 'auto', groupable: true },
+ { field: "Avatar", dataType: GridColumnDataType.Image, sortable: true, width: 'auto', groupable: true },
+ { field: "CareerStart", dataType: GridColumnDataType.DateTime, sortable: true, width: 'auto', groupable: true },
+ { field: "SuccessRate", dataType: GridColumnDataType.Percent, sortable: true, width: 'auto', groupable: true },
+ ];
+ }
+}
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ad.png b/projects/igniteui-angular-performance/src/assets/images/flags/ad.png
new file mode 100644
index 00000000000..c58bc937838
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ad.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ae.png b/projects/igniteui-angular-performance/src/assets/images/flags/ae.png
new file mode 100644
index 00000000000..088ef8ea6df
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ae.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/af.png b/projects/igniteui-angular-performance/src/assets/images/flags/af.png
new file mode 100644
index 00000000000..995b351ec62
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/af.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ag.png b/projects/igniteui-angular-performance/src/assets/images/flags/ag.png
new file mode 100644
index 00000000000..5f8b4f68b1b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ag.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/al.png b/projects/igniteui-angular-performance/src/assets/images/flags/al.png
new file mode 100644
index 00000000000..2e516ec39f2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/al.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/am.png b/projects/igniteui-angular-performance/src/assets/images/flags/am.png
new file mode 100644
index 00000000000..d529a99e86f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/am.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ao.png b/projects/igniteui-angular-performance/src/assets/images/flags/ao.png
new file mode 100644
index 00000000000..4cdfb0e10ea
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ao.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ar.png b/projects/igniteui-angular-performance/src/assets/images/flags/ar.png
new file mode 100644
index 00000000000..b31ec92aa10
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ar.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/at.png b/projects/igniteui-angular-performance/src/assets/images/flags/at.png
new file mode 100644
index 00000000000..993b903af13
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/at.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/au.png b/projects/igniteui-angular-performance/src/assets/images/flags/au.png
new file mode 100644
index 00000000000..ef20b66dc8e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/au.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/az.png b/projects/igniteui-angular-performance/src/assets/images/flags/az.png
new file mode 100644
index 00000000000..3fb7ccb30d9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/az.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ba.png b/projects/igniteui-angular-performance/src/assets/images/flags/ba.png
new file mode 100644
index 00000000000..fa4d6097b46
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ba.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bb.png b/projects/igniteui-angular-performance/src/assets/images/flags/bb.png
new file mode 100644
index 00000000000..5e87a9ea9d5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bb.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bd.png b/projects/igniteui-angular-performance/src/assets/images/flags/bd.png
new file mode 100644
index 00000000000..c55d3d7ac08
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bd.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/be.png b/projects/igniteui-angular-performance/src/assets/images/flags/be.png
new file mode 100644
index 00000000000..449446af9a7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/be.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bf.png b/projects/igniteui-angular-performance/src/assets/images/flags/bf.png
new file mode 100644
index 00000000000..f3a728811c9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bf.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bg.png b/projects/igniteui-angular-performance/src/assets/images/flags/bg.png
new file mode 100644
index 00000000000..ec03d4f8dba
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bh.png b/projects/igniteui-angular-performance/src/assets/images/flags/bh.png
new file mode 100644
index 00000000000..61bad9b4129
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bh.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bi.png b/projects/igniteui-angular-performance/src/assets/images/flags/bi.png
new file mode 100644
index 00000000000..d82b894b7ea
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bi.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bj.png b/projects/igniteui-angular-performance/src/assets/images/flags/bj.png
new file mode 100644
index 00000000000..220c8e786c7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bj.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bn.png b/projects/igniteui-angular-performance/src/assets/images/flags/bn.png
new file mode 100644
index 00000000000..944a7be1967
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bo.png b/projects/igniteui-angular-performance/src/assets/images/flags/bo.png
new file mode 100644
index 00000000000..aec2cc6ca9c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bo.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/br.png b/projects/igniteui-angular-performance/src/assets/images/flags/br.png
new file mode 100644
index 00000000000..b54f27df8de
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/br.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bs.png b/projects/igniteui-angular-performance/src/assets/images/flags/bs.png
new file mode 100644
index 00000000000..43db8c1a4dd
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bs.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bt.png b/projects/igniteui-angular-performance/src/assets/images/flags/bt.png
new file mode 100644
index 00000000000..dfd0d6af28c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bw.png b/projects/igniteui-angular-performance/src/assets/images/flags/bw.png
new file mode 100644
index 00000000000..0a74b72f943
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/by.png b/projects/igniteui-angular-performance/src/assets/images/flags/by.png
new file mode 100644
index 00000000000..1c9f5462a61
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/by.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/bz.png b/projects/igniteui-angular-performance/src/assets/images/flags/bz.png
new file mode 100644
index 00000000000..ef37f6da9cd
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/bz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ca.png b/projects/igniteui-angular-performance/src/assets/images/flags/ca.png
new file mode 100644
index 00000000000..524f815786e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ca.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cd.png b/projects/igniteui-angular-performance/src/assets/images/flags/cd.png
new file mode 100644
index 00000000000..a96eccf5743
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cd.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cf.png b/projects/igniteui-angular-performance/src/assets/images/flags/cf.png
new file mode 100644
index 00000000000..e203020e75b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cf.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cg.png b/projects/igniteui-angular-performance/src/assets/images/flags/cg.png
new file mode 100644
index 00000000000..7afcfe08246
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ch.png b/projects/igniteui-angular-performance/src/assets/images/flags/ch.png
new file mode 100644
index 00000000000..bd447d2bc37
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ch.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ci.png b/projects/igniteui-angular-performance/src/assets/images/flags/ci.png
new file mode 100644
index 00000000000..14fceff96de
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ci.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ck.png b/projects/igniteui-angular-performance/src/assets/images/flags/ck.png
new file mode 100644
index 00000000000..d74b82d9c26
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ck.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cl.png b/projects/igniteui-angular-performance/src/assets/images/flags/cl.png
new file mode 100644
index 00000000000..741c34bfb72
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cl.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cm.png b/projects/igniteui-angular-performance/src/assets/images/flags/cm.png
new file mode 100644
index 00000000000..e2a308b1f1a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cn.png b/projects/igniteui-angular-performance/src/assets/images/flags/cn.png
new file mode 100644
index 00000000000..7474ddebc3c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/co.png b/projects/igniteui-angular-performance/src/assets/images/flags/co.png
new file mode 100644
index 00000000000..477177ba930
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/co.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cr.png b/projects/igniteui-angular-performance/src/assets/images/flags/cr.png
new file mode 100644
index 00000000000..62cc81a7023
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cu.png b/projects/igniteui-angular-performance/src/assets/images/flags/cu.png
new file mode 100644
index 00000000000..4ada582f692
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cv.png b/projects/igniteui-angular-performance/src/assets/images/flags/cv.png
new file mode 100644
index 00000000000..e45bfdb0abb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cv.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cy.png b/projects/igniteui-angular-performance/src/assets/images/flags/cy.png
new file mode 100644
index 00000000000..e909ebc40b1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cy.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/cz.png b/projects/igniteui-angular-performance/src/assets/images/flags/cz.png
new file mode 100644
index 00000000000..acfac562db7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/cz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/de.png b/projects/igniteui-angular-performance/src/assets/images/flags/de.png
new file mode 100644
index 00000000000..2dbd9b08720
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/de.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/dj.png b/projects/igniteui-angular-performance/src/assets/images/flags/dj.png
new file mode 100644
index 00000000000..147636ad0fc
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/dj.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/dk.png b/projects/igniteui-angular-performance/src/assets/images/flags/dk.png
new file mode 100644
index 00000000000..65d6b3551f4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/dk.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/dm.png b/projects/igniteui-angular-performance/src/assets/images/flags/dm.png
new file mode 100644
index 00000000000..04a92e16a7b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/dm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/do.png b/projects/igniteui-angular-performance/src/assets/images/flags/do.png
new file mode 100644
index 00000000000..12e017e0209
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/do.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/dz.png b/projects/igniteui-angular-performance/src/assets/images/flags/dz.png
new file mode 100644
index 00000000000..4670a0eb85b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/dz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ec.png b/projects/igniteui-angular-performance/src/assets/images/flags/ec.png
new file mode 100644
index 00000000000..9289152375d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ec.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ee.png b/projects/igniteui-angular-performance/src/assets/images/flags/ee.png
new file mode 100644
index 00000000000..1067640131a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ee.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/eg.png b/projects/igniteui-angular-performance/src/assets/images/flags/eg.png
new file mode 100644
index 00000000000..238d535fb1a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/eg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/eh.png b/projects/igniteui-angular-performance/src/assets/images/flags/eh.png
new file mode 100644
index 00000000000..b8cf7ef099e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/eh.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/er.png b/projects/igniteui-angular-performance/src/assets/images/flags/er.png
new file mode 100644
index 00000000000..546b1b97089
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/er.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/es.png b/projects/igniteui-angular-performance/src/assets/images/flags/es.png
new file mode 100644
index 00000000000..a8ad334cab5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/es.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/et.png b/projects/igniteui-angular-performance/src/assets/images/flags/et.png
new file mode 100644
index 00000000000..e807c2114c4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/et.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/fi.png b/projects/igniteui-angular-performance/src/assets/images/flags/fi.png
new file mode 100644
index 00000000000..1ad17975ae0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/fi.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/fj.png b/projects/igniteui-angular-performance/src/assets/images/flags/fj.png
new file mode 100644
index 00000000000..6bf73714682
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/fj.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/fm.png b/projects/igniteui-angular-performance/src/assets/images/flags/fm.png
new file mode 100644
index 00000000000..32d5b832589
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/fm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/fr.png b/projects/igniteui-angular-performance/src/assets/images/flags/fr.png
new file mode 100644
index 00000000000..a7684766369
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/fr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ga.png b/projects/igniteui-angular-performance/src/assets/images/flags/ga.png
new file mode 100644
index 00000000000..32c68bf6a4d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ga.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gb.png b/projects/igniteui-angular-performance/src/assets/images/flags/gb.png
new file mode 100644
index 00000000000..3b6668e203c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gb.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gd.png b/projects/igniteui-angular-performance/src/assets/images/flags/gd.png
new file mode 100644
index 00000000000..9a68c48951e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gd.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ge.png b/projects/igniteui-angular-performance/src/assets/images/flags/ge.png
new file mode 100644
index 00000000000..108e367076a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ge.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gh.png b/projects/igniteui-angular-performance/src/assets/images/flags/gh.png
new file mode 100644
index 00000000000..c2bf9d0bb44
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gh.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gm.png b/projects/igniteui-angular-performance/src/assets/images/flags/gm.png
new file mode 100644
index 00000000000..b929a80dec1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gn.png b/projects/igniteui-angular-performance/src/assets/images/flags/gn.png
new file mode 100644
index 00000000000..be43cebc611
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gq.png b/projects/igniteui-angular-performance/src/assets/images/flags/gq.png
new file mode 100644
index 00000000000..db9415a0220
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gq.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gr.png b/projects/igniteui-angular-performance/src/assets/images/flags/gr.png
new file mode 100644
index 00000000000..094441156c8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gt.png b/projects/igniteui-angular-performance/src/assets/images/flags/gt.png
new file mode 100644
index 00000000000..76c5db709c3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gw.png b/projects/igniteui-angular-performance/src/assets/images/flags/gw.png
new file mode 100644
index 00000000000..06dc5103c7a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/gy.png b/projects/igniteui-angular-performance/src/assets/images/flags/gy.png
new file mode 100644
index 00000000000..4f9b232372a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/gy.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/hn.png b/projects/igniteui-angular-performance/src/assets/images/flags/hn.png
new file mode 100644
index 00000000000..b1a9f5f8dc9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/hn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/hr.png b/projects/igniteui-angular-performance/src/assets/images/flags/hr.png
new file mode 100644
index 00000000000..68205134c2a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/hr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ht.png b/projects/igniteui-angular-performance/src/assets/images/flags/ht.png
new file mode 100644
index 00000000000..ba76abd2318
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ht.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/hu.png b/projects/igniteui-angular-performance/src/assets/images/flags/hu.png
new file mode 100644
index 00000000000..eeee4cad62a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/hu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/id.png b/projects/igniteui-angular-performance/src/assets/images/flags/id.png
new file mode 100644
index 00000000000..e96bc7483cf
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/id.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ie.png b/projects/igniteui-angular-performance/src/assets/images/flags/ie.png
new file mode 100644
index 00000000000..52e2ad41098
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ie.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/il.png b/projects/igniteui-angular-performance/src/assets/images/flags/il.png
new file mode 100644
index 00000000000..c85c9d34483
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/il.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/in.png b/projects/igniteui-angular-performance/src/assets/images/flags/in.png
new file mode 100644
index 00000000000..be5acd354b7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/in.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/iq.png b/projects/igniteui-angular-performance/src/assets/images/flags/iq.png
new file mode 100644
index 00000000000..f370c9af585
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/iq.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ir.png b/projects/igniteui-angular-performance/src/assets/images/flags/ir.png
new file mode 100644
index 00000000000..7f647fa3b8f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ir.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/is.png b/projects/igniteui-angular-performance/src/assets/images/flags/is.png
new file mode 100644
index 00000000000..74c9e034aad
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/is.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/it.png b/projects/igniteui-angular-performance/src/assets/images/flags/it.png
new file mode 100644
index 00000000000..d62e50b293e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/it.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/jm.png b/projects/igniteui-angular-performance/src/assets/images/flags/jm.png
new file mode 100644
index 00000000000..a960d3da72c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/jm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/jo.png b/projects/igniteui-angular-performance/src/assets/images/flags/jo.png
new file mode 100644
index 00000000000..e8b743a3b1a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/jo.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/jp.png b/projects/igniteui-angular-performance/src/assets/images/flags/jp.png
new file mode 100644
index 00000000000..fd1ce056a5d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/jp.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ke.png b/projects/igniteui-angular-performance/src/assets/images/flags/ke.png
new file mode 100644
index 00000000000..dbf559fd0f6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ke.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kg.png b/projects/igniteui-angular-performance/src/assets/images/flags/kg.png
new file mode 100644
index 00000000000..c0fe3e51a99
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kh.png b/projects/igniteui-angular-performance/src/assets/images/flags/kh.png
new file mode 100644
index 00000000000..b9340f7653f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kh.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ki.png b/projects/igniteui-angular-performance/src/assets/images/flags/ki.png
new file mode 100644
index 00000000000..6b718d1b833
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ki.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/km.png b/projects/igniteui-angular-performance/src/assets/images/flags/km.png
new file mode 100644
index 00000000000..dbbd8f4e030
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/km.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kn.png b/projects/igniteui-angular-performance/src/assets/images/flags/kn.png
new file mode 100644
index 00000000000..028bef50c43
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kp.png b/projects/igniteui-angular-performance/src/assets/images/flags/kp.png
new file mode 100644
index 00000000000..3fee3795061
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kp.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kr.png b/projects/igniteui-angular-performance/src/assets/images/flags/kr.png
new file mode 100644
index 00000000000..d0022a2e7e1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ks.png b/projects/igniteui-angular-performance/src/assets/images/flags/ks.png
new file mode 100644
index 00000000000..e1824f13786
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ks.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kw.png b/projects/igniteui-angular-performance/src/assets/images/flags/kw.png
new file mode 100644
index 00000000000..7f701d5c059
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/kz.png b/projects/igniteui-angular-performance/src/assets/images/flags/kz.png
new file mode 100644
index 00000000000..1c23ee16a4e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/kz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/la.png b/projects/igniteui-angular-performance/src/assets/images/flags/la.png
new file mode 100644
index 00000000000..975888468a3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/la.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lb.png b/projects/igniteui-angular-performance/src/assets/images/flags/lb.png
new file mode 100644
index 00000000000..80b32567d3d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lb.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lc.png b/projects/igniteui-angular-performance/src/assets/images/flags/lc.png
new file mode 100644
index 00000000000..dc2de27f479
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lc.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/li.png b/projects/igniteui-angular-performance/src/assets/images/flags/li.png
new file mode 100644
index 00000000000..c635a63a243
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/li.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lk.png b/projects/igniteui-angular-performance/src/assets/images/flags/lk.png
new file mode 100644
index 00000000000..12e6a000c89
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lk.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lr.png b/projects/igniteui-angular-performance/src/assets/images/flags/lr.png
new file mode 100644
index 00000000000..0b998abda1c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ls.png b/projects/igniteui-angular-performance/src/assets/images/flags/ls.png
new file mode 100644
index 00000000000..ba9ed2d383c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ls.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lt.png b/projects/igniteui-angular-performance/src/assets/images/flags/lt.png
new file mode 100644
index 00000000000..257930e6485
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lu.png b/projects/igniteui-angular-performance/src/assets/images/flags/lu.png
new file mode 100644
index 00000000000..64b5dd6c964
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/lv.png b/projects/igniteui-angular-performance/src/assets/images/flags/lv.png
new file mode 100644
index 00000000000..fb8345e1365
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/lv.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ly.png b/projects/igniteui-angular-performance/src/assets/images/flags/ly.png
new file mode 100644
index 00000000000..b90fc936ebc
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ly.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ma.png b/projects/igniteui-angular-performance/src/assets/images/flags/ma.png
new file mode 100644
index 00000000000..8e625359b1b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ma.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mc.png b/projects/igniteui-angular-performance/src/assets/images/flags/mc.png
new file mode 100644
index 00000000000..194a09e6554
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mc.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/md.png b/projects/igniteui-angular-performance/src/assets/images/flags/md.png
new file mode 100644
index 00000000000..0071401eb6b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/md.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/me.png b/projects/igniteui-angular-performance/src/assets/images/flags/me.png
new file mode 100644
index 00000000000..0952236af98
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/me.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mg.png b/projects/igniteui-angular-performance/src/assets/images/flags/mg.png
new file mode 100644
index 00000000000..4b4b065529c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mh.png b/projects/igniteui-angular-performance/src/assets/images/flags/mh.png
new file mode 100644
index 00000000000..3e7a4b5c8d9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mh.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mk.png b/projects/igniteui-angular-performance/src/assets/images/flags/mk.png
new file mode 100644
index 00000000000..4cb42a74f3d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mk.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ml.png b/projects/igniteui-angular-performance/src/assets/images/flags/ml.png
new file mode 100644
index 00000000000..182848aba6f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ml.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mm.png b/projects/igniteui-angular-performance/src/assets/images/flags/mm.png
new file mode 100644
index 00000000000..f486f8538bd
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mn.png b/projects/igniteui-angular-performance/src/assets/images/flags/mn.png
new file mode 100644
index 00000000000..dd0bb39962e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mr.png b/projects/igniteui-angular-performance/src/assets/images/flags/mr.png
new file mode 100644
index 00000000000..caf03659f0b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mt.png b/projects/igniteui-angular-performance/src/assets/images/flags/mt.png
new file mode 100644
index 00000000000..b4d686eae2a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mu.png b/projects/igniteui-angular-performance/src/assets/images/flags/mu.png
new file mode 100644
index 00000000000..03f524f9319
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mv.png b/projects/igniteui-angular-performance/src/assets/images/flags/mv.png
new file mode 100644
index 00000000000..ab4aae4c8cb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mv.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mw.png b/projects/igniteui-angular-performance/src/assets/images/flags/mw.png
new file mode 100644
index 00000000000..bf38ff9c73a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mx.png b/projects/igniteui-angular-performance/src/assets/images/flags/mx.png
new file mode 100644
index 00000000000..783148b3e9a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mx.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/my.png b/projects/igniteui-angular-performance/src/assets/images/flags/my.png
new file mode 100644
index 00000000000..5a9ae417fd6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/my.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/mz.png b/projects/igniteui-angular-performance/src/assets/images/flags/mz.png
new file mode 100644
index 00000000000..0e4c983ce87
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/mz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/na.png b/projects/igniteui-angular-performance/src/assets/images/flags/na.png
new file mode 100644
index 00000000000..620937bbb58
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/na.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ne.png b/projects/igniteui-angular-performance/src/assets/images/flags/ne.png
new file mode 100644
index 00000000000..0762231e2fe
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ne.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ng.png b/projects/igniteui-angular-performance/src/assets/images/flags/ng.png
new file mode 100644
index 00000000000..ba56e9e06bc
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ng.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ni.png b/projects/igniteui-angular-performance/src/assets/images/flags/ni.png
new file mode 100644
index 00000000000..9b6dbf54ec2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ni.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/nl.png b/projects/igniteui-angular-performance/src/assets/images/flags/nl.png
new file mode 100644
index 00000000000..aeb72b664a7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/nl.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/no.png b/projects/igniteui-angular-performance/src/assets/images/flags/no.png
new file mode 100644
index 00000000000..e14f90f33d8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/no.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/np.png b/projects/igniteui-angular-performance/src/assets/images/flags/np.png
new file mode 100644
index 00000000000..fd0cd6e626e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/np.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/nr.png b/projects/igniteui-angular-performance/src/assets/images/flags/nr.png
new file mode 100644
index 00000000000..721408622d3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/nr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/nu.png b/projects/igniteui-angular-performance/src/assets/images/flags/nu.png
new file mode 100644
index 00000000000..c7d8797c0f5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/nu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/nz.png b/projects/igniteui-angular-performance/src/assets/images/flags/nz.png
new file mode 100644
index 00000000000..1f25035b018
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/nz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/om.png b/projects/igniteui-angular-performance/src/assets/images/flags/om.png
new file mode 100644
index 00000000000..05c99d92a3b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/om.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pa.png b/projects/igniteui-angular-performance/src/assets/images/flags/pa.png
new file mode 100644
index 00000000000..96d4c8ef83f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pa.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pe.png b/projects/igniteui-angular-performance/src/assets/images/flags/pe.png
new file mode 100644
index 00000000000..e4d623e8a14
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pe.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pg.png b/projects/igniteui-angular-performance/src/assets/images/flags/pg.png
new file mode 100644
index 00000000000..5011a16753a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ph.png b/projects/igniteui-angular-performance/src/assets/images/flags/ph.png
new file mode 100644
index 00000000000..41ddff21ab4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ph.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pk.png b/projects/igniteui-angular-performance/src/assets/images/flags/pk.png
new file mode 100644
index 00000000000..76020feb964
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pk.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pl.png b/projects/igniteui-angular-performance/src/assets/images/flags/pl.png
new file mode 100644
index 00000000000..d4db002f655
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pl.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pt.png b/projects/igniteui-angular-performance/src/assets/images/flags/pt.png
new file mode 100644
index 00000000000..e0619bc9f66
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/pw.png b/projects/igniteui-angular-performance/src/assets/images/flags/pw.png
new file mode 100644
index 00000000000..be101ba9796
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/pw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/py.png b/projects/igniteui-angular-performance/src/assets/images/flags/py.png
new file mode 100644
index 00000000000..b2e2d5c5dd1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/py.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/qa.png b/projects/igniteui-angular-performance/src/assets/images/flags/qa.png
new file mode 100644
index 00000000000..0e615feb7b8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/qa.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ro.png b/projects/igniteui-angular-performance/src/assets/images/flags/ro.png
new file mode 100644
index 00000000000..57f34f3559f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ro.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/rs.png b/projects/igniteui-angular-performance/src/assets/images/flags/rs.png
new file mode 100644
index 00000000000..7273ea71550
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/rs.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ru.png b/projects/igniteui-angular-performance/src/assets/images/flags/ru.png
new file mode 100644
index 00000000000..79d2101ee42
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ru.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/rw.png b/projects/igniteui-angular-performance/src/assets/images/flags/rw.png
new file mode 100644
index 00000000000..5b859eafaac
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/rw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sa.png b/projects/igniteui-angular-performance/src/assets/images/flags/sa.png
new file mode 100644
index 00000000000..0df5b9265f7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sa.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sb.png b/projects/igniteui-angular-performance/src/assets/images/flags/sb.png
new file mode 100644
index 00000000000..832f7cee6fd
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sb.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sc.png b/projects/igniteui-angular-performance/src/assets/images/flags/sc.png
new file mode 100644
index 00000000000..a497589e61f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sc.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sd.png b/projects/igniteui-angular-performance/src/assets/images/flags/sd.png
new file mode 100644
index 00000000000..386f3e87b78
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sd.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/se.png b/projects/igniteui-angular-performance/src/assets/images/flags/se.png
new file mode 100644
index 00000000000..9e125783037
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/se.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sg.png b/projects/igniteui-angular-performance/src/assets/images/flags/sg.png
new file mode 100644
index 00000000000..7e898146a96
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/si.png b/projects/igniteui-angular-performance/src/assets/images/flags/si.png
new file mode 100644
index 00000000000..3692b66f1f6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/si.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sk.png b/projects/igniteui-angular-performance/src/assets/images/flags/sk.png
new file mode 100644
index 00000000000..8a73d6495bf
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sk.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sl.png b/projects/igniteui-angular-performance/src/assets/images/flags/sl.png
new file mode 100644
index 00000000000..b68450ddaea
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sl.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sm.png b/projects/igniteui-angular-performance/src/assets/images/flags/sm.png
new file mode 100644
index 00000000000..43f1965025d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sn.png b/projects/igniteui-angular-performance/src/assets/images/flags/sn.png
new file mode 100644
index 00000000000..fcd02444d9b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/so.png b/projects/igniteui-angular-performance/src/assets/images/flags/so.png
new file mode 100644
index 00000000000..819490b9d77
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/so.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sr.png b/projects/igniteui-angular-performance/src/assets/images/flags/sr.png
new file mode 100644
index 00000000000..9ac43378880
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/st.png b/projects/igniteui-angular-performance/src/assets/images/flags/st.png
new file mode 100644
index 00000000000..b4edccbf846
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/st.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sv.png b/projects/igniteui-angular-performance/src/assets/images/flags/sv.png
new file mode 100644
index 00000000000..7fe790cb21b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sv.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sy.png b/projects/igniteui-angular-performance/src/assets/images/flags/sy.png
new file mode 100644
index 00000000000..c78f9d5ff7a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sy.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/sz.png b/projects/igniteui-angular-performance/src/assets/images/flags/sz.png
new file mode 100644
index 00000000000..6550515e4aa
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/sz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/td.png b/projects/igniteui-angular-performance/src/assets/images/flags/td.png
new file mode 100644
index 00000000000..c0c76da34ea
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/td.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tg.png b/projects/igniteui-angular-performance/src/assets/images/flags/tg.png
new file mode 100644
index 00000000000..31f1a00ab7c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tg.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/th.png b/projects/igniteui-angular-performance/src/assets/images/flags/th.png
new file mode 100644
index 00000000000..5cf74c908b9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/th.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tj.png b/projects/igniteui-angular-performance/src/assets/images/flags/tj.png
new file mode 100644
index 00000000000..1d83e4c7a25
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tj.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tl.png b/projects/igniteui-angular-performance/src/assets/images/flags/tl.png
new file mode 100644
index 00000000000..c646f33f5ce
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tl.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tm.png b/projects/igniteui-angular-performance/src/assets/images/flags/tm.png
new file mode 100644
index 00000000000..5dd8fb996e4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tn.png b/projects/igniteui-angular-performance/src/assets/images/flags/tn.png
new file mode 100644
index 00000000000..09ce2352deb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/to.png b/projects/igniteui-angular-performance/src/assets/images/flags/to.png
new file mode 100644
index 00000000000..34b5aa1491f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/to.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tr.png b/projects/igniteui-angular-performance/src/assets/images/flags/tr.png
new file mode 100644
index 00000000000..a67740a1450
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tr.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tt.png b/projects/igniteui-angular-performance/src/assets/images/flags/tt.png
new file mode 100644
index 00000000000..61ee0b07a5e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tt.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tv.png b/projects/igniteui-angular-performance/src/assets/images/flags/tv.png
new file mode 100644
index 00000000000..16f8616fabb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tv.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tw.png b/projects/igniteui-angular-performance/src/assets/images/flags/tw.png
new file mode 100644
index 00000000000..88cc0dfc6d7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/tz.png b/projects/igniteui-angular-performance/src/assets/images/flags/tz.png
new file mode 100644
index 00000000000..94ca541a1a9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/tz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ua.png b/projects/igniteui-angular-performance/src/assets/images/flags/ua.png
new file mode 100644
index 00000000000..80301f46100
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ua.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ug.png b/projects/igniteui-angular-performance/src/assets/images/flags/ug.png
new file mode 100644
index 00000000000..fec8a452195
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ug.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/us.png b/projects/igniteui-angular-performance/src/assets/images/flags/us.png
new file mode 100644
index 00000000000..07ddf4e718c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/us.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/uy.png b/projects/igniteui-angular-performance/src/assets/images/flags/uy.png
new file mode 100644
index 00000000000..d49a4f1d21e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/uy.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/uz.png b/projects/igniteui-angular-performance/src/assets/images/flags/uz.png
new file mode 100644
index 00000000000..37688d883a7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/uz.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/va.png b/projects/igniteui-angular-performance/src/assets/images/flags/va.png
new file mode 100644
index 00000000000..9938009ece1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/va.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/vc.png b/projects/igniteui-angular-performance/src/assets/images/flags/vc.png
new file mode 100644
index 00000000000..55018b1437b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/vc.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ve.png b/projects/igniteui-angular-performance/src/assets/images/flags/ve.png
new file mode 100644
index 00000000000..4c8b135ab72
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ve.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/vn.png b/projects/igniteui-angular-performance/src/assets/images/flags/vn.png
new file mode 100644
index 00000000000..e9edf37ff74
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/vn.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/vu.png b/projects/igniteui-angular-performance/src/assets/images/flags/vu.png
new file mode 100644
index 00000000000..b2214473b5e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/vu.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ws.png b/projects/igniteui-angular-performance/src/assets/images/flags/ws.png
new file mode 100644
index 00000000000..b44c452215f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ws.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/ye.png b/projects/igniteui-angular-performance/src/assets/images/flags/ye.png
new file mode 100644
index 00000000000..61a0a5634f9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/ye.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/za.png b/projects/igniteui-angular-performance/src/assets/images/flags/za.png
new file mode 100644
index 00000000000..b6ac53e44d0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/za.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/zm.png b/projects/igniteui-angular-performance/src/assets/images/flags/zm.png
new file mode 100644
index 00000000000..a8b574959d2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/zm.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/flags/zw.png b/projects/igniteui-angular-performance/src/assets/images/flags/zw.png
new file mode 100644
index 00000000000..004cd2a6e64
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/flags/zw.png differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/0.jpg b/projects/igniteui-angular-performance/src/assets/images/men/0.jpg
new file mode 100644
index 00000000000..e29aaafb904
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/0.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/1.jpg b/projects/igniteui-angular-performance/src/assets/images/men/1.jpg
new file mode 100644
index 00000000000..8004cc41119
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/1.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/10.jpg b/projects/igniteui-angular-performance/src/assets/images/men/10.jpg
new file mode 100644
index 00000000000..8a9edd8d12b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/10.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/100.jpg b/projects/igniteui-angular-performance/src/assets/images/men/100.jpg
new file mode 100644
index 00000000000..26f9951ab60
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/100.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/11.jpg b/projects/igniteui-angular-performance/src/assets/images/men/11.jpg
new file mode 100644
index 00000000000..abddef0e876
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/11.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/12.jpg b/projects/igniteui-angular-performance/src/assets/images/men/12.jpg
new file mode 100644
index 00000000000..b83a77397c4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/12.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/13.jpg b/projects/igniteui-angular-performance/src/assets/images/men/13.jpg
new file mode 100644
index 00000000000..43269e04549
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/13.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/14.jpg b/projects/igniteui-angular-performance/src/assets/images/men/14.jpg
new file mode 100644
index 00000000000..606b1a6f793
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/14.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/15.jpg b/projects/igniteui-angular-performance/src/assets/images/men/15.jpg
new file mode 100644
index 00000000000..2818c5dda06
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/15.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/16.jpg b/projects/igniteui-angular-performance/src/assets/images/men/16.jpg
new file mode 100644
index 00000000000..fc6bd14969f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/16.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/17.jpg b/projects/igniteui-angular-performance/src/assets/images/men/17.jpg
new file mode 100644
index 00000000000..cfc6f311c55
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/17.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/18.jpg b/projects/igniteui-angular-performance/src/assets/images/men/18.jpg
new file mode 100644
index 00000000000..1de43e9256f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/18.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/19.jpg b/projects/igniteui-angular-performance/src/assets/images/men/19.jpg
new file mode 100644
index 00000000000..53023f84e1a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/19.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/2.jpg b/projects/igniteui-angular-performance/src/assets/images/men/2.jpg
new file mode 100644
index 00000000000..7c2b4d63463
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/2.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/20.jpg b/projects/igniteui-angular-performance/src/assets/images/men/20.jpg
new file mode 100644
index 00000000000..3e5f9457e47
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/20.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/21.jpg b/projects/igniteui-angular-performance/src/assets/images/men/21.jpg
new file mode 100644
index 00000000000..cfba1fe4de4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/21.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/22.jpg b/projects/igniteui-angular-performance/src/assets/images/men/22.jpg
new file mode 100644
index 00000000000..dcbaf260cc0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/22.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/23.jpg b/projects/igniteui-angular-performance/src/assets/images/men/23.jpg
new file mode 100644
index 00000000000..3a2b514c33b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/23.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/24.jpg b/projects/igniteui-angular-performance/src/assets/images/men/24.jpg
new file mode 100644
index 00000000000..c76f3f51263
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/24.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/25.jpg b/projects/igniteui-angular-performance/src/assets/images/men/25.jpg
new file mode 100644
index 00000000000..f4fb14873ab
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/25.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/26.jpg b/projects/igniteui-angular-performance/src/assets/images/men/26.jpg
new file mode 100644
index 00000000000..9dc05580e0c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/26.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/27.jpg b/projects/igniteui-angular-performance/src/assets/images/men/27.jpg
new file mode 100644
index 00000000000..f3758fcb82d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/27.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/28.jpg b/projects/igniteui-angular-performance/src/assets/images/men/28.jpg
new file mode 100644
index 00000000000..dfc34c2f929
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/28.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/29.jpg b/projects/igniteui-angular-performance/src/assets/images/men/29.jpg
new file mode 100644
index 00000000000..6c3e004c168
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/29.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/3.jpg b/projects/igniteui-angular-performance/src/assets/images/men/3.jpg
new file mode 100644
index 00000000000..4fc0e104c65
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/3.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/30.jpg b/projects/igniteui-angular-performance/src/assets/images/men/30.jpg
new file mode 100644
index 00000000000..d04b7a26692
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/30.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/31.jpg b/projects/igniteui-angular-performance/src/assets/images/men/31.jpg
new file mode 100644
index 00000000000..d5d73910084
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/31.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/32.jpg b/projects/igniteui-angular-performance/src/assets/images/men/32.jpg
new file mode 100644
index 00000000000..279b70def3d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/32.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/33.jpg b/projects/igniteui-angular-performance/src/assets/images/men/33.jpg
new file mode 100644
index 00000000000..07652946759
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/33.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/34.jpg b/projects/igniteui-angular-performance/src/assets/images/men/34.jpg
new file mode 100644
index 00000000000..138fc3946d9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/34.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/35.jpg b/projects/igniteui-angular-performance/src/assets/images/men/35.jpg
new file mode 100644
index 00000000000..ad943c9dec5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/35.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/36.jpg b/projects/igniteui-angular-performance/src/assets/images/men/36.jpg
new file mode 100644
index 00000000000..62ea75fb8f0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/36.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/37.jpg b/projects/igniteui-angular-performance/src/assets/images/men/37.jpg
new file mode 100644
index 00000000000..41dca98aead
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/37.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/38.jpg b/projects/igniteui-angular-performance/src/assets/images/men/38.jpg
new file mode 100644
index 00000000000..ed97c9d0b22
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/38.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/39.jpg b/projects/igniteui-angular-performance/src/assets/images/men/39.jpg
new file mode 100644
index 00000000000..26f9951ab60
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/39.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/4.jpg b/projects/igniteui-angular-performance/src/assets/images/men/4.jpg
new file mode 100644
index 00000000000..68b8bb4416c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/4.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/40.jpg b/projects/igniteui-angular-performance/src/assets/images/men/40.jpg
new file mode 100644
index 00000000000..c28fc2c7460
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/40.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/41.jpg b/projects/igniteui-angular-performance/src/assets/images/men/41.jpg
new file mode 100644
index 00000000000..1daa4b8ae36
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/41.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/42.jpg b/projects/igniteui-angular-performance/src/assets/images/men/42.jpg
new file mode 100644
index 00000000000..c0ec114caa2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/42.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/43.jpg b/projects/igniteui-angular-performance/src/assets/images/men/43.jpg
new file mode 100644
index 00000000000..a6a39bfc88a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/43.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/44.jpg b/projects/igniteui-angular-performance/src/assets/images/men/44.jpg
new file mode 100644
index 00000000000..f24b739a201
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/44.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/45.jpg b/projects/igniteui-angular-performance/src/assets/images/men/45.jpg
new file mode 100644
index 00000000000..6d1e41cc9ee
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/45.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/46.jpg b/projects/igniteui-angular-performance/src/assets/images/men/46.jpg
new file mode 100644
index 00000000000..5609a0edfda
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/46.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/47.jpg b/projects/igniteui-angular-performance/src/assets/images/men/47.jpg
new file mode 100644
index 00000000000..6888bdd2c37
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/47.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/48.jpg b/projects/igniteui-angular-performance/src/assets/images/men/48.jpg
new file mode 100644
index 00000000000..89f03a97172
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/48.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/49.jpg b/projects/igniteui-angular-performance/src/assets/images/men/49.jpg
new file mode 100644
index 00000000000..dcf2608a885
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/49.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/5.jpg b/projects/igniteui-angular-performance/src/assets/images/men/5.jpg
new file mode 100644
index 00000000000..4d47bd1afc6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/5.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/50.jpg b/projects/igniteui-angular-performance/src/assets/images/men/50.jpg
new file mode 100644
index 00000000000..822813ec4b2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/50.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/51.jpg b/projects/igniteui-angular-performance/src/assets/images/men/51.jpg
new file mode 100644
index 00000000000..b4101aecb6a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/51.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/52.jpg b/projects/igniteui-angular-performance/src/assets/images/men/52.jpg
new file mode 100644
index 00000000000..1de43e9256f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/52.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/53.jpg b/projects/igniteui-angular-performance/src/assets/images/men/53.jpg
new file mode 100644
index 00000000000..8968d3cf227
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/53.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/54.jpg b/projects/igniteui-angular-performance/src/assets/images/men/54.jpg
new file mode 100644
index 00000000000..3e229e6a7e4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/54.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/55.jpg b/projects/igniteui-angular-performance/src/assets/images/men/55.jpg
new file mode 100644
index 00000000000..02a105559b6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/55.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/56.jpg b/projects/igniteui-angular-performance/src/assets/images/men/56.jpg
new file mode 100644
index 00000000000..fc9f3fa0743
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/56.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/57 (1).jpg b/projects/igniteui-angular-performance/src/assets/images/men/57 (1).jpg
new file mode 100644
index 00000000000..c45665be739
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/57 (1).jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/57.jpg b/projects/igniteui-angular-performance/src/assets/images/men/57.jpg
new file mode 100644
index 00000000000..ea4a22e51c3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/57.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/58.jpg b/projects/igniteui-angular-performance/src/assets/images/men/58.jpg
new file mode 100644
index 00000000000..84791099891
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/58.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/59.jpg b/projects/igniteui-angular-performance/src/assets/images/men/59.jpg
new file mode 100644
index 00000000000..b7b9a3905f3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/59.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/6.jpg b/projects/igniteui-angular-performance/src/assets/images/men/6.jpg
new file mode 100644
index 00000000000..1258f0a9df7
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/6.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/60.jpg b/projects/igniteui-angular-performance/src/assets/images/men/60.jpg
new file mode 100644
index 00000000000..52c1920c649
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/60.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/61.jpg b/projects/igniteui-angular-performance/src/assets/images/men/61.jpg
new file mode 100644
index 00000000000..2481114b79c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/61.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/62.jpg b/projects/igniteui-angular-performance/src/assets/images/men/62.jpg
new file mode 100644
index 00000000000..124dbe71c91
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/62.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/63.jpg b/projects/igniteui-angular-performance/src/assets/images/men/63.jpg
new file mode 100644
index 00000000000..fa6d4819358
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/63.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/64.jpg b/projects/igniteui-angular-performance/src/assets/images/men/64.jpg
new file mode 100644
index 00000000000..6cbce1af0e9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/64.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/65.jpg b/projects/igniteui-angular-performance/src/assets/images/men/65.jpg
new file mode 100644
index 00000000000..c004920002d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/65.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/66.jpg b/projects/igniteui-angular-performance/src/assets/images/men/66.jpg
new file mode 100644
index 00000000000..437143fb34a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/66.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/67.jpg b/projects/igniteui-angular-performance/src/assets/images/men/67.jpg
new file mode 100644
index 00000000000..68b8bb4416c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/67.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/68.jpg b/projects/igniteui-angular-performance/src/assets/images/men/68.jpg
new file mode 100644
index 00000000000..b318dd4b4cf
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/68.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/69.jpg b/projects/igniteui-angular-performance/src/assets/images/men/69.jpg
new file mode 100644
index 00000000000..d39345ff86c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/69.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/7.jpg b/projects/igniteui-angular-performance/src/assets/images/men/7.jpg
new file mode 100644
index 00000000000..1171cfb514a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/7.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/70.jpg b/projects/igniteui-angular-performance/src/assets/images/men/70.jpg
new file mode 100644
index 00000000000..1e4b6773f54
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/70.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/71.jpg b/projects/igniteui-angular-performance/src/assets/images/men/71.jpg
new file mode 100644
index 00000000000..7007fabea9c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/71.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/72.jpg b/projects/igniteui-angular-performance/src/assets/images/men/72.jpg
new file mode 100644
index 00000000000..fb926529a5d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/72.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/73.jpg b/projects/igniteui-angular-performance/src/assets/images/men/73.jpg
new file mode 100644
index 00000000000..b6a30e278b9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/73.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/74.jpg b/projects/igniteui-angular-performance/src/assets/images/men/74.jpg
new file mode 100644
index 00000000000..abacfd1a2b5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/74.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/75.jpg b/projects/igniteui-angular-performance/src/assets/images/men/75.jpg
new file mode 100644
index 00000000000..04cb7975376
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/75.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/76.jpg b/projects/igniteui-angular-performance/src/assets/images/men/76.jpg
new file mode 100644
index 00000000000..681a7f1009a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/76.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/77.jpg b/projects/igniteui-angular-performance/src/assets/images/men/77.jpg
new file mode 100644
index 00000000000..a243818b38c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/77.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/78.jpg b/projects/igniteui-angular-performance/src/assets/images/men/78.jpg
new file mode 100644
index 00000000000..6438e80b9b5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/78.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/79.jpg b/projects/igniteui-angular-performance/src/assets/images/men/79.jpg
new file mode 100644
index 00000000000..cf30fdf3679
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/79.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/8.jpg b/projects/igniteui-angular-performance/src/assets/images/men/8.jpg
new file mode 100644
index 00000000000..33f2cdfcb82
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/8.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/80.jpg b/projects/igniteui-angular-performance/src/assets/images/men/80.jpg
new file mode 100644
index 00000000000..b2d9bcee15d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/80.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/81.jpg b/projects/igniteui-angular-performance/src/assets/images/men/81.jpg
new file mode 100644
index 00000000000..0b322677517
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/81.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/82.jpg b/projects/igniteui-angular-performance/src/assets/images/men/82.jpg
new file mode 100644
index 00000000000..f32459ae186
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/82.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/83.jpg b/projects/igniteui-angular-performance/src/assets/images/men/83.jpg
new file mode 100644
index 00000000000..dc3ae1f9bd3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/83.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/84.jpg b/projects/igniteui-angular-performance/src/assets/images/men/84.jpg
new file mode 100644
index 00000000000..f3758fcb82d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/84.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/85.jpg b/projects/igniteui-angular-performance/src/assets/images/men/85.jpg
new file mode 100644
index 00000000000..43ece19071e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/85.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/86.jpg b/projects/igniteui-angular-performance/src/assets/images/men/86.jpg
new file mode 100644
index 00000000000..9358491105b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/86.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/87.jpg b/projects/igniteui-angular-performance/src/assets/images/men/87.jpg
new file mode 100644
index 00000000000..2a4032424a8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/87.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/88.jpg b/projects/igniteui-angular-performance/src/assets/images/men/88.jpg
new file mode 100644
index 00000000000..02fa1cac663
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/88.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/89.jpg b/projects/igniteui-angular-performance/src/assets/images/men/89.jpg
new file mode 100644
index 00000000000..57962bde02e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/89.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/9.jpg b/projects/igniteui-angular-performance/src/assets/images/men/9.jpg
new file mode 100644
index 00000000000..be4d0110e81
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/9.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/90.jpg b/projects/igniteui-angular-performance/src/assets/images/men/90.jpg
new file mode 100644
index 00000000000..00720c2f6ee
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/90.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/91.jpg b/projects/igniteui-angular-performance/src/assets/images/men/91.jpg
new file mode 100644
index 00000000000..8c3ac42c481
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/91.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/92.jpg b/projects/igniteui-angular-performance/src/assets/images/men/92.jpg
new file mode 100644
index 00000000000..b96231b5619
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/92.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/93.jpg b/projects/igniteui-angular-performance/src/assets/images/men/93.jpg
new file mode 100644
index 00000000000..3a2b514c33b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/93.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/94.jpg b/projects/igniteui-angular-performance/src/assets/images/men/94.jpg
new file mode 100644
index 00000000000..57b6c6b6367
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/94.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/95.jpg b/projects/igniteui-angular-performance/src/assets/images/men/95.jpg
new file mode 100644
index 00000000000..138fc3946d9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/95.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/96.jpg b/projects/igniteui-angular-performance/src/assets/images/men/96.jpg
new file mode 100644
index 00000000000..ad943c9dec5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/96.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/97.jpg b/projects/igniteui-angular-performance/src/assets/images/men/97.jpg
new file mode 100644
index 00000000000..62ea75fb8f0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/97.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/98.jpg b/projects/igniteui-angular-performance/src/assets/images/men/98.jpg
new file mode 100644
index 00000000000..41dca98aead
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/98.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/men/99.jpg b/projects/igniteui-angular-performance/src/assets/images/men/99.jpg
new file mode 100644
index 00000000000..ed97c9d0b22
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/men/99.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/0.jpg b/projects/igniteui-angular-performance/src/assets/images/women/0.jpg
new file mode 100644
index 00000000000..c6009f9eb95
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/0.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/1.jpg b/projects/igniteui-angular-performance/src/assets/images/women/1.jpg
new file mode 100644
index 00000000000..d426fa2bfee
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/1.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/10.jpg b/projects/igniteui-angular-performance/src/assets/images/women/10.jpg
new file mode 100644
index 00000000000..c7322386305
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/10.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/100.jpg b/projects/igniteui-angular-performance/src/assets/images/women/100.jpg
new file mode 100644
index 00000000000..188758a49d6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/100.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/11.jpg b/projects/igniteui-angular-performance/src/assets/images/women/11.jpg
new file mode 100644
index 00000000000..1027c59082e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/11.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/12.jpg b/projects/igniteui-angular-performance/src/assets/images/women/12.jpg
new file mode 100644
index 00000000000..ab53c42d02c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/12.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/13.jpg b/projects/igniteui-angular-performance/src/assets/images/women/13.jpg
new file mode 100644
index 00000000000..9ac7687af6d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/13.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/14.jpg b/projects/igniteui-angular-performance/src/assets/images/women/14.jpg
new file mode 100644
index 00000000000..22ab075068e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/14.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/15.jpg b/projects/igniteui-angular-performance/src/assets/images/women/15.jpg
new file mode 100644
index 00000000000..2818c5dda06
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/15.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/16.jpg b/projects/igniteui-angular-performance/src/assets/images/women/16.jpg
new file mode 100644
index 00000000000..208d90246d2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/16.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/17.jpg b/projects/igniteui-angular-performance/src/assets/images/women/17.jpg
new file mode 100644
index 00000000000..97e4885edeb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/17.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/18.jpg b/projects/igniteui-angular-performance/src/assets/images/women/18.jpg
new file mode 100644
index 00000000000..c21271a2042
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/18.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/19.jpg b/projects/igniteui-angular-performance/src/assets/images/women/19.jpg
new file mode 100644
index 00000000000..c2e4428651e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/19.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/2.jpg b/projects/igniteui-angular-performance/src/assets/images/women/2.jpg
new file mode 100644
index 00000000000..fdf962529f3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/2.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/20.jpg b/projects/igniteui-angular-performance/src/assets/images/women/20.jpg
new file mode 100644
index 00000000000..5e359ec31c5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/20.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/21.jpg b/projects/igniteui-angular-performance/src/assets/images/women/21.jpg
new file mode 100644
index 00000000000..d4ec655fbf2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/21.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/22.jpg b/projects/igniteui-angular-performance/src/assets/images/women/22.jpg
new file mode 100644
index 00000000000..86ee471d2bb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/22.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/23.jpg b/projects/igniteui-angular-performance/src/assets/images/women/23.jpg
new file mode 100644
index 00000000000..3e1fe98e6a3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/23.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/24.jpg b/projects/igniteui-angular-performance/src/assets/images/women/24.jpg
new file mode 100644
index 00000000000..7839f26a7c3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/24.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/25.jpg b/projects/igniteui-angular-performance/src/assets/images/women/25.jpg
new file mode 100644
index 00000000000..f88c98b6c6c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/25.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/26.jpg b/projects/igniteui-angular-performance/src/assets/images/women/26.jpg
new file mode 100644
index 00000000000..96e1934455d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/26.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/27.jpg b/projects/igniteui-angular-performance/src/assets/images/women/27.jpg
new file mode 100644
index 00000000000..4c46653c624
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/27.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/28.jpg b/projects/igniteui-angular-performance/src/assets/images/women/28.jpg
new file mode 100644
index 00000000000..c6c722e4b93
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/28.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/29.jpg b/projects/igniteui-angular-performance/src/assets/images/women/29.jpg
new file mode 100644
index 00000000000..d916ac9f17c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/29.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/3.jpg b/projects/igniteui-angular-performance/src/assets/images/women/3.jpg
new file mode 100644
index 00000000000..c0e9afee2c0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/3.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/30.jpg b/projects/igniteui-angular-performance/src/assets/images/women/30.jpg
new file mode 100644
index 00000000000..ad6ad9ff1da
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/30.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/31.jpg b/projects/igniteui-angular-performance/src/assets/images/women/31.jpg
new file mode 100644
index 00000000000..fcd6723d4db
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/31.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/32.jpg b/projects/igniteui-angular-performance/src/assets/images/women/32.jpg
new file mode 100644
index 00000000000..a6a2e5f839a
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/32.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/33.jpg b/projects/igniteui-angular-performance/src/assets/images/women/33.jpg
new file mode 100644
index 00000000000..f2659bd7dac
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/33.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/34.jpg b/projects/igniteui-angular-performance/src/assets/images/women/34.jpg
new file mode 100644
index 00000000000..49a47135253
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/34.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/35.jpg b/projects/igniteui-angular-performance/src/assets/images/women/35.jpg
new file mode 100644
index 00000000000..eb92fd80266
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/35.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/36.jpg b/projects/igniteui-angular-performance/src/assets/images/women/36.jpg
new file mode 100644
index 00000000000..f0edc423739
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/36.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/37.jpg b/projects/igniteui-angular-performance/src/assets/images/women/37.jpg
new file mode 100644
index 00000000000..13f863a640c
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/37.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/38.jpg b/projects/igniteui-angular-performance/src/assets/images/women/38.jpg
new file mode 100644
index 00000000000..3e89648c694
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/38.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/39.jpg b/projects/igniteui-angular-performance/src/assets/images/women/39.jpg
new file mode 100644
index 00000000000..7c0d29bcbb8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/39.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/4.jpg b/projects/igniteui-angular-performance/src/assets/images/women/4.jpg
new file mode 100644
index 00000000000..eb41bf6e4b2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/4.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/40.jpg b/projects/igniteui-angular-performance/src/assets/images/women/40.jpg
new file mode 100644
index 00000000000..8d21d688b3b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/40.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/41.jpg b/projects/igniteui-angular-performance/src/assets/images/women/41.jpg
new file mode 100644
index 00000000000..a359e5454fa
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/41.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/42.jpg b/projects/igniteui-angular-performance/src/assets/images/women/42.jpg
new file mode 100644
index 00000000000..0abe17d4404
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/42.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/43.jpg b/projects/igniteui-angular-performance/src/assets/images/women/43.jpg
new file mode 100644
index 00000000000..3aeb58e34a2
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/43.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/44.jpg b/projects/igniteui-angular-performance/src/assets/images/women/44.jpg
new file mode 100644
index 00000000000..a63f8ce5798
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/44.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/45.jpg b/projects/igniteui-angular-performance/src/assets/images/women/45.jpg
new file mode 100644
index 00000000000..9bef78e23ef
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/45.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/46.jpg b/projects/igniteui-angular-performance/src/assets/images/women/46.jpg
new file mode 100644
index 00000000000..f77567141ca
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/46.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/47.jpg b/projects/igniteui-angular-performance/src/assets/images/women/47.jpg
new file mode 100644
index 00000000000..7839f26a7c3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/47.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/48.jpg b/projects/igniteui-angular-performance/src/assets/images/women/48.jpg
new file mode 100644
index 00000000000..502e684746b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/48.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/49.jpg b/projects/igniteui-angular-performance/src/assets/images/women/49.jpg
new file mode 100644
index 00000000000..ecead1fae72
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/49.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/5.jpg b/projects/igniteui-angular-performance/src/assets/images/women/5.jpg
new file mode 100644
index 00000000000..0d810bd3f94
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/5.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/50.jpg b/projects/igniteui-angular-performance/src/assets/images/women/50.jpg
new file mode 100644
index 00000000000..98fa7b11b23
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/50.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/51.jpg b/projects/igniteui-angular-performance/src/assets/images/women/51.jpg
new file mode 100644
index 00000000000..502e684746b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/51.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/52.jpg b/projects/igniteui-angular-performance/src/assets/images/women/52.jpg
new file mode 100644
index 00000000000..6efac62c4c1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/52.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/53.jpg b/projects/igniteui-angular-performance/src/assets/images/women/53.jpg
new file mode 100644
index 00000000000..085c6c0fdf1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/53.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/54.jpg b/projects/igniteui-angular-performance/src/assets/images/women/54.jpg
new file mode 100644
index 00000000000..4c574932cd5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/54.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/55.jpg b/projects/igniteui-angular-performance/src/assets/images/women/55.jpg
new file mode 100644
index 00000000000..9e24b8ef0f6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/55.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/56.jpg b/projects/igniteui-angular-performance/src/assets/images/women/56.jpg
new file mode 100644
index 00000000000..f2659bd7dac
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/56.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/57.jpg b/projects/igniteui-angular-performance/src/assets/images/women/57.jpg
new file mode 100644
index 00000000000..ea4a22e51c3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/57.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/58.jpg b/projects/igniteui-angular-performance/src/assets/images/women/58.jpg
new file mode 100644
index 00000000000..f39c0d7c130
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/58.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/59.jpg b/projects/igniteui-angular-performance/src/assets/images/women/59.jpg
new file mode 100644
index 00000000000..b968578921f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/59.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/6.jpg b/projects/igniteui-angular-performance/src/assets/images/women/6.jpg
new file mode 100644
index 00000000000..e6e223faca8
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/6.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/60.jpg b/projects/igniteui-angular-performance/src/assets/images/women/60.jpg
new file mode 100644
index 00000000000..4e88252a3af
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/60.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/61.jpg b/projects/igniteui-angular-performance/src/assets/images/women/61.jpg
new file mode 100644
index 00000000000..5e822646a80
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/61.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/62.jpg b/projects/igniteui-angular-performance/src/assets/images/women/62.jpg
new file mode 100644
index 00000000000..f0edc423739
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/62.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/63.jpg b/projects/igniteui-angular-performance/src/assets/images/women/63.jpg
new file mode 100644
index 00000000000..21e482dc7a3
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/63.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/64.jpg b/projects/igniteui-angular-performance/src/assets/images/women/64.jpg
new file mode 100644
index 00000000000..ec96c104653
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/64.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/65.jpg b/projects/igniteui-angular-performance/src/assets/images/women/65.jpg
new file mode 100644
index 00000000000..3cab57987a6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/65.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/66.jpg b/projects/igniteui-angular-performance/src/assets/images/women/66.jpg
new file mode 100644
index 00000000000..36cc0a59728
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/66.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/67.jpg b/projects/igniteui-angular-performance/src/assets/images/women/67.jpg
new file mode 100644
index 00000000000..8d0815e0199
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/67.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/68.jpg b/projects/igniteui-angular-performance/src/assets/images/women/68.jpg
new file mode 100644
index 00000000000..3391304273d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/68.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/69.jpg b/projects/igniteui-angular-performance/src/assets/images/women/69.jpg
new file mode 100644
index 00000000000..ea027b14b0b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/69.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/7.jpg b/projects/igniteui-angular-performance/src/assets/images/women/7.jpg
new file mode 100644
index 00000000000..acab0389ca5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/7.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/70.jpg b/projects/igniteui-angular-performance/src/assets/images/women/70.jpg
new file mode 100644
index 00000000000..0cc2dff1b0d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/70.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/71.jpg b/projects/igniteui-angular-performance/src/assets/images/women/71.jpg
new file mode 100644
index 00000000000..402ac4141ce
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/71.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/72.jpg b/projects/igniteui-angular-performance/src/assets/images/women/72.jpg
new file mode 100644
index 00000000000..3435bc70094
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/72.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/73.jpg b/projects/igniteui-angular-performance/src/assets/images/women/73.jpg
new file mode 100644
index 00000000000..2b0c8a21ad9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/73.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/74.jpg b/projects/igniteui-angular-performance/src/assets/images/women/74.jpg
new file mode 100644
index 00000000000..188758a49d6
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/74.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/75.jpg b/projects/igniteui-angular-performance/src/assets/images/women/75.jpg
new file mode 100644
index 00000000000..08b043a4ae5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/75.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/76.jpg b/projects/igniteui-angular-performance/src/assets/images/women/76.jpg
new file mode 100644
index 00000000000..e6dbae8e2a5
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/76.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/77.jpg b/projects/igniteui-angular-performance/src/assets/images/women/77.jpg
new file mode 100644
index 00000000000..fcababdb204
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/77.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/78.jpg b/projects/igniteui-angular-performance/src/assets/images/women/78.jpg
new file mode 100644
index 00000000000..9c1a119fb4b
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/78.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/79.jpg b/projects/igniteui-angular-performance/src/assets/images/women/79.jpg
new file mode 100644
index 00000000000..b6dd0668d7f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/79.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/8.jpg b/projects/igniteui-angular-performance/src/assets/images/women/8.jpg
new file mode 100644
index 00000000000..6ab25af13e4
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/8.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/80.jpg b/projects/igniteui-angular-performance/src/assets/images/women/80.jpg
new file mode 100644
index 00000000000..981542f6676
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/80.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/81.jpg b/projects/igniteui-angular-performance/src/assets/images/women/81.jpg
new file mode 100644
index 00000000000..bf1dc8c1bec
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/81.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/82.jpg b/projects/igniteui-angular-performance/src/assets/images/women/82.jpg
new file mode 100644
index 00000000000..fa1a29747eb
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/82.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/83.jpg b/projects/igniteui-angular-performance/src/assets/images/women/83.jpg
new file mode 100644
index 00000000000..32a4a7e93ea
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/83.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/84.jpg b/projects/igniteui-angular-performance/src/assets/images/women/84.jpg
new file mode 100644
index 00000000000..beb5491df73
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/84.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/85.jpg b/projects/igniteui-angular-performance/src/assets/images/women/85.jpg
new file mode 100644
index 00000000000..0a900f9e887
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/85.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/86.jpg b/projects/igniteui-angular-performance/src/assets/images/women/86.jpg
new file mode 100644
index 00000000000..4a01b17b1d1
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/86.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/87.jpg b/projects/igniteui-angular-performance/src/assets/images/women/87.jpg
new file mode 100644
index 00000000000..3c40620c57e
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/87.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/88.jpg b/projects/igniteui-angular-performance/src/assets/images/women/88.jpg
new file mode 100644
index 00000000000..3be827194e0
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/88.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/89.jpg b/projects/igniteui-angular-performance/src/assets/images/women/89.jpg
new file mode 100644
index 00000000000..ad6ad9ff1da
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/89.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/9.jpg b/projects/igniteui-angular-performance/src/assets/images/women/9.jpg
new file mode 100644
index 00000000000..0c730dc0428
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/9.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/90.jpg b/projects/igniteui-angular-performance/src/assets/images/women/90.jpg
new file mode 100644
index 00000000000..6dff1dea35f
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/90.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/91.jpg b/projects/igniteui-angular-performance/src/assets/images/women/91.jpg
new file mode 100644
index 00000000000..97466f849ef
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/91.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/92.jpg b/projects/igniteui-angular-performance/src/assets/images/women/92.jpg
new file mode 100644
index 00000000000..cd667ab8390
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/92.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/93.jpg b/projects/igniteui-angular-performance/src/assets/images/women/93.jpg
new file mode 100644
index 00000000000..81ea0613898
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/93.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/94.jpg b/projects/igniteui-angular-performance/src/assets/images/women/94.jpg
new file mode 100644
index 00000000000..fc71188bc73
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/94.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/95.jpg b/projects/igniteui-angular-performance/src/assets/images/women/95.jpg
new file mode 100644
index 00000000000..ff819b3e9fd
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/95.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/96.jpg b/projects/igniteui-angular-performance/src/assets/images/women/96.jpg
new file mode 100644
index 00000000000..0cc2dff1b0d
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/96.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/97.jpg b/projects/igniteui-angular-performance/src/assets/images/women/97.jpg
new file mode 100644
index 00000000000..402ac4141ce
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/97.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/98.jpg b/projects/igniteui-angular-performance/src/assets/images/women/98.jpg
new file mode 100644
index 00000000000..3435bc70094
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/98.jpg differ
diff --git a/projects/igniteui-angular-performance/src/assets/images/women/99.jpg b/projects/igniteui-angular-performance/src/assets/images/women/99.jpg
new file mode 100644
index 00000000000..2b0c8a21ad9
Binary files /dev/null and b/projects/igniteui-angular-performance/src/assets/images/women/99.jpg differ
diff --git a/projects/igniteui-angular-performance/src/index.html b/projects/igniteui-angular-performance/src/index.html
new file mode 100644
index 00000000000..d6b92f29041
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+ IgniteuiAngularPerformance
+
+
+
+
+
+
+
+
diff --git a/projects/igniteui-angular-performance/src/main.ts b/projects/igniteui-angular-performance/src/main.ts
new file mode 100644
index 00000000000..35b00f34633
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/main.ts
@@ -0,0 +1,6 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { appConfig } from './app/app.config';
+import { AppComponent } from './app/app.component';
+
+bootstrapApplication(AppComponent, appConfig)
+ .catch((err) => console.error(err));
diff --git a/projects/igniteui-angular-performance/src/styles.scss b/projects/igniteui-angular-performance/src/styles.scss
new file mode 100644
index 00000000000..f6fc0768f45
--- /dev/null
+++ b/projects/igniteui-angular-performance/src/styles.scss
@@ -0,0 +1,23 @@
+@use '../../igniteui-angular/src/lib/core/styles/themes' as *;
+@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
+@include core();
+@include typography(
+ $font-family: $material-typeface,
+ $type-scale: $material-type-scale
+);
+@include theme($default-palette);
+
+html,
+body {
+ height: 100%;
+ width: 100%;
+}
+
+body {
+ margin: 0;
+ padding: 0;
+}
+
+* {
+ box-sizing: border-box;
+}
diff --git a/projects/igniteui-angular-performance/tsconfig.app.json b/projects/igniteui-angular-performance/tsconfig.app.json
new file mode 100644
index 00000000000..742c48812c6
--- /dev/null
+++ b/projects/igniteui-angular-performance/tsconfig.app.json
@@ -0,0 +1,15 @@
+/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
+/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../out-tsc/app",
+ "types": []
+ },
+ "include": [
+ "src/**/*.ts"
+ ],
+ "exclude": [
+ "src/**/*.spec.ts"
+ ]
+}
diff --git a/projects/igniteui-angular-performance/tsconfig.spec.json b/projects/igniteui-angular-performance/tsconfig.spec.json
new file mode 100644
index 00000000000..0feea88ed47
--- /dev/null
+++ b/projects/igniteui-angular-performance/tsconfig.spec.json
@@ -0,0 +1,14 @@
+/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
+/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../out-tsc/spec",
+ "types": [
+ "jasmine"
+ ]
+ },
+ "include": [
+ "src/**/*.ts"
+ ]
+}
diff --git a/projects/igniteui-angular/src/lib/data-operations/data-util.ts b/projects/igniteui-angular/src/lib/data-operations/data-util.ts
index cc0e0d5ad1c..ac609764713 100644
--- a/projects/igniteui-angular/src/lib/data-operations/data-util.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/data-util.ts
@@ -24,7 +24,7 @@ import { IGroupingExpression } from './grouping-expression.interface';
/**
* @hidden
*/
- export const DataType = {
+export const DataType = {
String: 'string',
Number: 'number',
Boolean: 'boolean',
@@ -55,19 +55,44 @@ export class DataUtil {
public static treeGridSort(hierarchicalData: ITreeGridRecord[],
expressions: ISortingExpression[],
sorting: IGridSortingStrategy = new IgxDataRecordSorting(),
- parent?: ITreeGridRecord,
grid?: GridType): ITreeGridRecord[] {
- let res: ITreeGridRecord[] = [];
- hierarchicalData.forEach((hr: ITreeGridRecord) => {
- const rec: ITreeGridRecord = DataUtil.cloneTreeGridRecord(hr);
- rec.parent = parent;
- if (rec.children) {
- rec.children = DataUtil.treeGridSort(rec.children, expressions, sorting, rec, grid);
+ const res: ITreeGridRecord[] = [];
+ const stack: {
+ original: ITreeGridRecord[];
+ parent?: ITreeGridRecord;
+ result: ITreeGridRecord[];
+ }[] = [];
+
+ stack.push({ original: hierarchicalData, parent: null, result: res });
+
+ while (stack.length > 0) {
+ const { original, parent, result } = stack.pop()!;
+
+ const clonedRecords: ITreeGridRecord[] = [];
+
+ for (const treeRecord of original) {
+ const rec: ITreeGridRecord = DataUtil.cloneTreeGridRecord(treeRecord);
+ rec.parent = parent;
+ clonedRecords.push(rec);
+
+ // If it has children, process them later
+ if (rec.children && rec.children.length > 0) {
+ const childClones: ITreeGridRecord[] = [];
+ rec.children = childClones;
+ stack.push({
+ original: treeRecord.children,
+ parent: rec,
+ result: childClones
+ });
+ }
}
- res.push(rec);
- });
- res = DataUtil.sort(res, expressions, sorting, grid);
+ // Sort the clonedRecords before assigning to the result
+ const sorted = DataUtil.sort(clonedRecords, expressions, sorting, grid);
+ for (const item of sorted) {
+ result.push(item);
+ }
+ }
return res;
}
diff --git a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
index 414c61550ff..f27392d45f2 100644
--- a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
+++ b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts
@@ -54,21 +54,34 @@ export class DefaultSortingStrategy implements ISortingStrategy {
) {
const key = fieldName;
const reverse = (dir === SortingDirection.Desc ? -1 : 1);
- const cmpFunc = (obj1: any, obj2: any) => this.compareObjects(obj1, obj2, key, reverse, ignoreCase, valueResolver, isDate, isTime);
- return this.arraySort(data, cmpFunc);
+
+ /**
+ * Use Schwartizian transform on the data before sorting it so that the sorting value
+ * is not recomputed on every object compare which improves the number of comparisons from O(nlogn) to O(n)
+ * where n is the length of the datasource.
+ * This, on a very large dataset of 1 million records, gives a significant performance boost.
+ */
+ const resolver = valueResolver.bind(this);
+ const preparedData = data.map(item => {
+ return {
+ original: item,
+ sortValue: this.prepareSortValue(resolver(item, key, isDate, isTime), ignoreCase)
+ }
+ });
+ const compareFn = (a, b) => reverse * this.compareValues(a.sortValue, b.sortValue);
+ preparedData.sort(compareFn);
+
+ return preparedData.map(item => item.original);
}
public compareValues(a: any, b: any): number {
- const an = (a === null || a === undefined);
- const bn = (b === null || b === undefined);
- if (an) {
- if (bn) {
- return 0;
- }
- return -1;
- } else if (bn) {
- return 1;
- }
+ const aIsNullish = a == null;
+ const bIsNullish = b == null;
+
+ if (aIsNullish && bIsNullish) return 0;
+ if (aIsNullish) return -1
+ if (bIsNullish) return 1;
+
return a > b ? 1 : a < b ? -1 : 0;
}
@@ -94,6 +107,10 @@ export class DefaultSortingStrategy implements ISortingStrategy {
protected arraySort(data: any[], compareFn?: (arg0: any, arg1: any) => number): any[] {
return data.sort(compareFn);
}
+
+ protected prepareSortValue(value: any, ignoreCase: boolean) {
+ return ignoreCase && typeof value === 'string' ? value.toLocaleLowerCase() : value;
+ }
}
export class GroupMemberCountSortingStrategy implements ISortingStrategy {
diff --git a/projects/igniteui-angular/src/lib/grids/common/strategy.ts b/projects/igniteui-angular/src/lib/grids/common/strategy.ts
index 69912780031..d951a4d38bc 100644
--- a/projects/igniteui-angular/src/lib/grids/common/strategy.ts
+++ b/projects/igniteui-angular/src/lib/grids/common/strategy.ts
@@ -45,6 +45,35 @@ export interface IGridGroupingStrategy extends IGridSortingStrategy {
groupBy(data: any[], state: IGroupingState, grid?: any, groupsRecords?: any[], fullResult?: IGroupByResult): IGroupByResult;
}
+/**
+ * Represents internal sorting expression that extends the public one.
+ * Contains boolean properties that represent the type of the column that is being sorted.
+ * @internal
+ */
+interface IGridInternalSortingExpression extends ISortingExpression {
+ isDate: boolean;
+ isTime: boolean;
+ isString: boolean;
+}
+
+/**
+ * Stack item represents a frame.
+ * Each frame needs:
+ * - data: The subset of records to process at this level.
+ * - level: The current grouping level.
+ * - parentGroup: The parent IGroupByRecord for groups created in this frame.
+ * - currentIndex: The index within 'data' to start processing.
+ * - isExpandingChildren: Flag to indicate if children generated by this group should be added to `result` and `metadata`.
+ * @internal
+ */
+interface StackFrame {
+ data: any[];
+ level: number;
+ parentGroup: IGroupByRecord | null;
+ currentIndex: number;
+ isExpandingChildren: boolean;
+}
+
/**
* Represents a class implementing the IGridSortingStrategy interface.
* It provides sorting functionality for grid data based on sorting expressions.
@@ -59,111 +88,229 @@ export class IgxSorting implements IGridSortingStrategy {
* Returns a new array with the data sorted according to the sorting expressions.
*/
public sort(data: any[], expressions: ISortingExpression[], grid?: GridType): any[] {
- return this.sortDataRecursive(data, expressions, 0, grid);
+ return this.sortData(data, expressions, grid);
+ }
+
+ /**
+ * Retrieves the value of the specified field from the given object, considering date and time data types.
+ * `key`: The key of the field to retrieve.
+ * `isDate`: (Optional) Indicates if the field is of type Date.
+ * `isTime`: (Optional) Indicates if the field is of type Time.
+ * Returns the value of the specified field in the data object.
+ * @internal
+ */
+ protected getFieldValue(obj: T, key: string, isDate = false, isTime = false) {
+ let resolvedValue = resolveNestedPath(obj, columnFieldPath(key));
+ if (isDate || isTime) {
+ const date = parseDate(resolvedValue);
+ if (date && isDate && isTime) {
+ resolvedValue = date;
+ } else if (date && isDate && !isTime) {
+ resolvedValue = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
+ } else if (date && isTime && !isDate) {
+ resolvedValue = new Date(new Date().setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
+ }
+ }
+ return resolvedValue;
}
/**
- * Recursively groups the provided data based on the given grouping state and returns the grouped result.
- * Returns an array containing the grouped result.
+ * Sorts the provided data array based on the given sorting expressions.
+ * The method can be used when multiple sorting is performed, going through each one
+ * Returns a new array with the data sorted according to the sorting expressions.
* @internal
*/
- protected groupDataRecursive(
+ private sortData(
+ data: T[],
+ expressions: ISortingExpression[],
+ grid: GridType
+ ): T[] {
+ const sortingExpressions = this.prepareExpressions(expressions, grid);
+
+ if (data.length <= 1) {
+ return data;
+ }
+
+ for (let i = sortingExpressions.length - 1; i >= 0; i--) {
+ data = sortingExpressions[i].strategy.sort(data, sortingExpressions[i].fieldName, sortingExpressions[i].dir, sortingExpressions[i].ignoreCase, this.getFieldValue, sortingExpressions[i].isDate, sortingExpressions[i].isTime, grid)
+ }
+
+ return data;
+ }
+
+ private prepareExpressions(expressions: ISortingExpression[], grid: GridType): IGridInternalSortingExpression[] {
+ const multipleSortingExpressions: IGridInternalSortingExpression[] = [];
+ for (const expr of expressions) {
+ if (!expr.strategy) {
+ expr.strategy = DefaultSortingStrategy.instance();
+ }
+ const column = grid?.getColumnByName(expr.fieldName);
+ const isDate = column?.dataType === DATE_TYPE || column?.dataType === DATE_TIME_TYPE;
+ const isTime = column?.dataType === TIME_TYPE || column?.dataType === DATE_TIME_TYPE;
+ const isString = column?.dataType === STRING_TYPE;
+ multipleSortingExpressions.push({ ...expr, isDate, isTime, isString })
+ }
+ return multipleSortingExpressions;
+ }
+}
+
+/**
+ * Represents a class implementing the IGridGroupingStrategy interface and extending the IgxSorting class.
+ * It provides a method to group data based on the given grouping state.
+ */
+export class IgxGrouping extends IgxSorting implements IGridGroupingStrategy {
+ /* blazorSuppress */
+ /**
+ * Groups the provided data based on the given grouping state.
+ * Returns an object containing the result of the grouping operation.
+ */
+ public groupBy(data: any[], state: IGroupingState, grid?: any,
+ groupsRecords?: any[], fullResult: IGroupByResult = { data: [], metadata: [] }): IGroupByResult {
+ const grouping = this.groupData(data, state, grid, groupsRecords, fullResult);
+ grid?.groupingPerformedSubject.next();
+ return {
+ data: grouping.data,
+ metadata: grouping.metadata
+ };
+ }
+
+ /**
+ * Groups the provided data based on the given grouping state.
+ * Changes groupsRecords and fullResult collections by reference.
+ * Returns an array containing the visible grouped result.
+ * @internal
+ */
+ protected groupData(
data: any[],
state: IGroupingState,
- level: number,
- parent: IGroupByRecord,
- metadata: IGroupByRecord[],
grid: GridType = null,
groupsRecords: any[] = [],
- fullResult: IGroupByResult = { data: [], metadata: [] }
+ fullResult: IGroupByResult
): IGroupByResult {
+
const expressions = state.expressions;
const expansion = state.expansion;
- let i = 0;
- let result = [];
- while (i < data.length) {
+
+ // This holds the final visible data (the rows that are expanded).
+ const result: any[] = [];
+
+ // This holds the group rows for each record in the result array. Used in grid for information when scrolling.
+ const metadata: IGroupByRecord[] = [];
+
+ // Initialize the stack with the root level processing.
+ const initialFrame: StackFrame = {
+ data: data,
+ level: 0,
+ parentGroup: null,
+ currentIndex: 0,
+ isExpandingChildren: true
+ };
+ const stack: StackFrame[] = [initialFrame];
+
+ while (stack.length > 0) {
+ const currentFrame = stack[stack.length - 1]; // Peek at the top of the stack
+
+ const { data: currentData, level, parentGroup, currentIndex, isExpandingChildren } = currentFrame;
+
+ // If we've processed all data in this frame, pop it.
+ if (currentIndex >= currentData.length) {
+ stack.pop();
+ continue;
+ }
+
+ // Process the next group at the current level
const column = grid ? grid.getColumnByName(expressions[level].fieldName) : null;
const isDate = column?.dataType === DATE_TYPE || column?.dataType === DATE_TIME_TYPE;
const isTime = column?.dataType === TIME_TYPE || column?.dataType === DATE_TIME_TYPE;
const isString = column?.dataType === STRING_TYPE;
- const group = this.groupedRecordsByExpression(data, i, expressions[level], isDate, isTime, isString);
+
+ // Next block of grouped records for the expression of the current level
+ const group = this.groupedRecordsByExpression(
+ currentData,
+ currentIndex,
+ expressions[level],
+ isDate,
+ isTime,
+ isString,
+ column?.groupingComparer
+ );
+
+ // Create the group row
const groupRow: IGroupByRecord = {
expression: expressions[level],
level,
records: cloneArray(group),
value: this.getFieldValue(group[0], expressions[level].fieldName, isDate, isTime),
- groupParent: parent,
+ groupParent: parentGroup,
groups: [],
height: grid ? grid.renderedRowHeight : null,
column
};
- if (parent) {
- parent.groups.push(groupRow);
+
+ // Link to parent's groups list
+ if (parentGroup) {
+ parentGroup.groups.push(groupRow);
} else {
- groupsRecords.push(groupRow);
+ groupsRecords.push(groupRow)
}
+
+ // Determine expansion state for this groupRow
const hierarchy = getHierarchy(groupRow);
const expandState: IGroupByExpandState = expansion.find((s) =>
isHierarchyMatch(
s.hierarchy || [{ fieldName: groupRow.expression.fieldName, value: groupRow.value }],
hierarchy,
expressions
- ));
- const expanded = expandState ? expandState.expanded : state.defaultExpanded;
- let recursiveResult;
- result.push(groupRow);
- metadata.push(null);
+ )
+ );
+ const expandedForThisGroup = expandState ? expandState.expanded : state.defaultExpanded;
+
+ // Add the group row to the full result set
fullResult.data.push(groupRow);
fullResult.metadata.push(null);
+
+ // Add the group row to the visible results (if its parent was expanded or it's a root group)
+ if (isExpandingChildren) {
+ result.push(groupRow);
+ metadata.push(null);
+ }
+
+ // Advance the current frame's index for the next iteration of its loop
+ currentFrame.currentIndex += group.length;
+
if (level < expressions.length - 1) {
- recursiveResult = this.groupDataRecursive(group, state, level + 1, groupRow,
- [], grid, groupsRecords, fullResult);
- if (expanded) {
- result = result.concat(recursiveResult.data);
- metadata = metadata.concat(recursiveResult.metadata);
- }
+ // If there are more levels to group, push a new frame onto the stack
+ const nextFrame: StackFrame = {
+ data: group, // The records of the current group become the data for the next level
+ level: level + 1,
+ parentGroup: groupRow, // The current group row is the parent for the next level
+ currentIndex: 0,
+ isExpandingChildren: isExpandingChildren && expandedForThisGroup // Children are expanded only if this group is expanded AND parent is expanded
+ };
+ stack.push(nextFrame);
} else {
+ // This is the leaf level, add individual items to fullResult and conditionally to result/metadata
for (const groupItem of group) {
- fullResult.metadata.push(groupRow);
+ fullResult.metadata.push(groupRow); // The metadata for an item is its immediate parent group row.
fullResult.data.push(groupItem);
- }
- if (expanded) {
- metadata = metadata.concat(fullResult.metadata.slice(fullResult.metadata.length - group.length));
- result = result.concat(fullResult.data.slice(fullResult.data.length - group.length));
+ if (isExpandingChildren && expandedForThisGroup) {
+ // Add to result and metadata only if expanded
+ metadata.push(groupRow);
+ result.push(groupItem);
+ }
}
}
- i += group.length;
}
- return { data: result, metadata };
- }
- /**
- * Retrieves the value of the specified field from the given object, considering date and time data types.
- * `key`: The key of the field to retrieve.
- * `isDate`: (Optional) Indicates if the field is of type Date.
- * `isTime`: (Optional) Indicates if the field is of type Time.
- * Returns the value of the specified field in the data object.
- * @internal
- */
- protected getFieldValue(obj: T, key: string, isDate = false, isTime = false) {
- let resolvedValue = resolveNestedPath(obj, columnFieldPath(key));
- const date = parseDate(resolvedValue);
- if (date && isDate && isTime) {
- resolvedValue = date;
- } else if (date && isDate && !isTime) {
- resolvedValue = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
- } else if (date && isTime && !isDate) {
- resolvedValue = new Date(new Date().setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
- }
- return resolvedValue;
+ return { data: result, metadata };
}
/**
- * Groups the records in the provided data array based on the given grouping expression.
- * `groupingComparer`: (Optional) A custom grouping comparator to determine the members of the group.
- * Returns an array containing the records that belong to the group.
- * @internal
- */
+ * Groups the records in the provided data array based on the given grouping expression.
+ * `groupingComparer`: (Optional) A custom grouping comparator to determine the members of the group.
+ * Returns an array containing the records that belong to the group.
+ * @internal
+ */
private groupedRecordsByExpression(
data: T[],
index: number,
@@ -173,23 +320,25 @@ export class IgxSorting implements IGridSortingStrategy {
isString: boolean,
groupingComparer?: (a: any, b: any, currRec: any, groupRec: any) => number
): T[] {
- const res = [];
+ const res: T[] = [];
const key = expression.fieldName;
const len = data.length;
const groupRecord = data[index];
- let groupval = this.getFieldValue(groupRecord, key, isDate, isTime);
+ let groupValue = this.getFieldValue(groupRecord, key, isDate, isTime);
+ if (expression.ignoreCase && isString && groupValue) {
+ // when column's dataType is string but the value is number
+ groupValue = groupValue.toString().toLowerCase();
+ }
res.push(groupRecord);
- index++;
const comparer = expression.groupingComparer || groupingComparer || DefaultSortingStrategy.instance().compareValues;
- for (let i = index; i < len; i++) {
+ for (let i = index + 1; i < len; i++) {
const currRec = data[i];
let fieldValue = this.getFieldValue(currRec, key, isDate, isTime);
- if (expression.ignoreCase && isString) {
+ if (expression.ignoreCase && isString && fieldValue) {
// when column's dataType is string but the value is number
- fieldValue = fieldValue?.toString().toLowerCase();
- groupval = groupval?.toString().toLowerCase();
+ fieldValue = fieldValue.toString().toLowerCase();
}
- if (comparer(fieldValue, groupval, currRec, groupRecord) === 0) {
+ if (comparer(fieldValue, groupValue, currRec, groupRecord) === 0) {
res.push(currRec);
} else {
break;
@@ -197,78 +346,6 @@ export class IgxSorting implements IGridSortingStrategy {
}
return res;
}
-
- /**
- * Sorts the provided data array based on the given sorting expressions.
- * The method can be used when multiple sorting is performed, going through each one
- * Returns a new array with the data sorted according to the sorting expressions.
- * @internal
- */
- private sortDataRecursive(
- data: T[],
- expressions: ISortingExpression[],
- expressionIndex = 0,
- grid: GridType
- ): T[] {
- let i: number;
- let j: number;
- let gbData: T[];
- let gbDataLen: number;
- const exprsLen = expressions.length;
- const dataLen = data.length;
-
- expressionIndex = expressionIndex || 0;
- if (expressionIndex >= exprsLen || dataLen <= 1) {
- return data;
- }
- const expr = expressions[expressionIndex];
- if (!expr.strategy) {
- expr.strategy = DefaultSortingStrategy.instance() as any;
- }
- const column = grid?.getColumnByName(expr.fieldName);
- const isDate = column?.dataType === DATE_TYPE || column?.dataType === DATE_TIME_TYPE;
- const isTime = column?.dataType === TIME_TYPE || column?.dataType === DATE_TIME_TYPE;
- const isString = column?.dataType === STRING_TYPE;
- data = expr.strategy.sort(data, expr.fieldName, expr.dir, expr.ignoreCase, this.getFieldValue, isDate, isTime, grid);
- if (expressionIndex === exprsLen - 1) {
- return data;
- }
- // in case of multiple sorting
- for (i = 0; i < dataLen; i++) {
- gbData = this.groupedRecordsByExpression(data, i, expr, isDate, isTime, isString, column?.groupingComparer);
- gbDataLen = gbData.length;
- if (gbDataLen > 1) {
- gbData = this.sortDataRecursive(gbData, expressions, expressionIndex + 1, grid);
- }
- for (j = 0; j < gbDataLen; j++) {
- data[i + j] = gbData[j];
- }
- i += gbDataLen - 1;
- }
- return data;
- }
-}
-
-/**
- * Represents a class implementing the IGridGroupingStrategy interface and extending the IgxSorting class.
- * It provides a method to group data based on the given grouping state.
- */
-export class IgxGrouping extends IgxSorting implements IGridGroupingStrategy {
- /* blazorSuppress */
- /**
- * Groups the provided data based on the given grouping state.
- * Returns an object containing the result of the grouping operation.
- */
- public groupBy(data: any[], state: IGroupingState, grid?: any,
- groupsRecords?: any[], fullResult: IGroupByResult = { data: [], metadata: [] }): IGroupByResult {
- const metadata: IGroupByRecord[] = [];
- const grouping = this.groupDataRecursive(data, state, 0, null, metadata, grid, groupsRecords, fullResult);
- grid?.groupingPerformedSubject.next();
- return {
- data: grouping.data,
- metadata: grouping.metadata
- };
- }
}
/* csSuppress */
diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.filtering.strategy.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.filtering.strategy.ts
index f4a3371b11c..ae016c28bdd 100644
--- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.filtering.strategy.ts
+++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.filtering.strategy.ts
@@ -81,7 +81,6 @@ export class TreeGridFilteringStrategy extends BaseFilteringStrategy {
data,
[{ fieldName: column.field, dir: SortingDirection.Asc, ignoreCase: column.sortingIgnoreCase }],
column.grid.sortStrategy,
- null,
column.grid);
const items = this.getHierarchicalFilterItems(data, column);
diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.pipes.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.pipes.ts
index 319724f9538..053208508c6 100644
--- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.pipes.ts
+++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.pipes.ts
@@ -202,7 +202,7 @@ export class IgxTreeGridSortingPipe implements PipeTransform {
if (!expressions.length) {
result = hierarchicalData;
} else {
- result = DataUtil.treeGridSort(hierarchicalData, expressions, sorting, null, this.grid);
+ result = DataUtil.treeGridSort(hierarchicalData, expressions, sorting, this.grid);
}
const filteredSortedData = [];
diff --git a/projects/igniteui-angular/src/lib/performance.service.ts b/projects/igniteui-angular/src/lib/performance.service.ts
new file mode 100644
index 00000000000..ba99360ed9d
--- /dev/null
+++ b/projects/igniteui-angular/src/lib/performance.service.ts
@@ -0,0 +1,123 @@
+import { inject, Injectable, NgZone, isDevMode } from '@angular/core';
+
+
+interface igcPerformance {
+ startMeasure: typeof startMeasure;
+ getMeasures: typeof getMeasures;
+ clearMeasures: typeof clearMeasures,
+ clearAll: typeof clearAll
+}
+
+declare global {
+ var $$igcPerformance: igcPerformance;
+}
+
+function isInstrumented(): boolean {
+ return globalThis.performance && performance.measure && isDevMode();
+}
+
+function instrumentGlobalHelpers(): void {
+ if (!isInstrumented() || Object.hasOwn(globalThis, '$$igcPerformance')) {
+ return;
+ }
+
+ globalThis.$$igcPerformance = {
+ startMeasure,
+ getMeasures,
+ clearMeasures,
+ clearAll,
+ };
+
+ console.debug('Performance helper functions attached @ `global.$$igcPerformance`');
+
+}
+
+export function startMeasure(name: string, withLogging = false) {
+ if (!isInstrumented()) return () => { };
+
+ const startMark = `${name}:start`;
+ const endMark = `${name}:end`;
+
+ performance.mark(startMark);
+
+ return () => {
+ performance.mark(endMark);
+ performance.measure(name, startMark, endMark);
+ if (withLogging) {
+ const entry = performance.getEntriesByName(name).at(-1);
+ console.debug(`Performance Measure : ${entry.name} - Duration: ${entry.duration.toFixed(2)}ms`);
+ }
+ };
+}
+
+export function getMeasures(name?: string): PerformanceEntryList {
+ return name ? performance.getEntriesByName(name) : performance.getEntriesByType('measure');
+}
+
+export function clearMeasures(name?: string, withLogging = false): void {
+ performance.clearMeasures(name);
+ if (withLogging) {
+ console.debug(name ? 'Cleared all measures of type `${name}`' : 'Cleared all custom measures');
+ }
+}
+
+export function clearAll(withLogging = false): void {
+ performance.clearMarks();
+ clearMeasures();
+ if (withLogging) {
+ console.debug('Cleared all marks and custom measures');
+ }
+}
+
+@Injectable({ providedIn: 'root' })
+export class PerformanceService {
+ private readonly _ngZone = inject(NgZone);
+ private _logEnabled = false;
+
+ constructor() {
+ instrumentGlobalHelpers();
+ }
+
+ public setLogEnabled(state: boolean): void {
+ this._logEnabled = state;
+ }
+
+ public start(name: string) {
+ return startMeasure(name, this._logEnabled);
+ }
+
+ public getMeasures(name?: string): PerformanceEntryList {
+ return getMeasures(name);
+ }
+
+ public clearMeasures(name?: string): void {
+ clearMeasures(name, this._logEnabled);
+ }
+
+ public clearAll(): void {
+ clearAll(this._logEnabled);
+ }
+
+ public attachObserver(options?: PerformanceObserverInit) {
+ if (!isInstrumented()) return;
+ let observer: PerformanceObserver;
+
+ options = options ?? { entryTypes: ['event', 'long-animation-frame', 'longtask', 'taskattribution'] };
+
+ this._ngZone.runOutsideAngular(() => {
+ observer = new PerformanceObserver((list) => {
+ if (this._logEnabled) {
+ for (const entry of list.getEntries()) {
+ console.debug(`Performance Entry: ${entry.name} (${entry.entryType}) - Duration: ${entry.duration.toFixed(2)}ms`);
+ }
+ }
+ });
+
+ observer.observe(options);
+ });
+
+ return () => {
+ observer.disconnect();
+ };
+ }
+}
diff --git a/tsconfig.json b/tsconfig.json
index 62e16156d56..58ac0576fa5 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -51,5 +51,13 @@
},
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
- }
+ },
+ "references": [
+ {
+ "path": "./projects/igniteui-angular-performance/tsconfig.app.json"
+ },
+ {
+ "path": "./projects/igniteui-angular-performance/tsconfig.spec.json"
+ }
+ ]
}