@sunbird-cb/consumption 0.0.82 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1412 -15
  2. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-consumption.umd.min.js +2 -2
  4. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/data-points/data-points.component.js +37 -5
  6. package/esm2015/lib/_common/events/event-card/event-card.component.js +82 -0
  7. package/esm2015/lib/_common/events/events.component.js +167 -0
  8. package/esm2015/lib/_common/events/events.module.js +24 -0
  9. package/esm2015/lib/_common/highlights-of-week/highlights-of-week.component.js +76 -0
  10. package/esm2015/lib/_common/highlights-of-week/highlights-of-week.module.js +28 -0
  11. package/esm2015/lib/_common/key-highlights/key-highlights.component.js +65 -0
  12. package/esm2015/lib/_common/key-highlights/key-highlights.module.js +28 -0
  13. package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +193 -0
  14. package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +30 -0
  15. package/esm2015/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +131 -0
  16. package/esm2015/lib/_common/microsites/national-learning-week/national-learning.module.js +50 -0
  17. package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +7 -3
  18. package/esm2015/lib/_common/speakers/speakers.component.js +105 -0
  19. package/esm2015/lib/_common/speakers/speakers.module.js +28 -0
  20. package/esm2015/lib/_common/user-progress/user-progress.component.js +173 -0
  21. package/esm2015/lib/_common/user-progress/user-progress.module.js +28 -0
  22. package/esm2015/lib/_services/insite-data.service.js +41 -2
  23. package/esm2015/lib/consumption.module.js +1 -1
  24. package/esm2015/public-api.js +8 -1
  25. package/esm2015/sunbird-cb-consumption.js +10 -2
  26. package/esm5/lib/_common/data-points/data-points.component.js +41 -5
  27. package/esm5/lib/_common/events/event-card/event-card.component.js +92 -0
  28. package/esm5/lib/_common/events/events.component.js +181 -0
  29. package/esm5/lib/_common/events/events.module.js +28 -0
  30. package/esm5/lib/_common/highlights-of-week/highlights-of-week.component.js +89 -0
  31. package/esm5/lib/_common/highlights-of-week/highlights-of-week.module.js +32 -0
  32. package/esm5/lib/_common/key-highlights/key-highlights.component.js +74 -0
  33. package/esm5/lib/_common/key-highlights/key-highlights.module.js +32 -0
  34. package/esm5/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +221 -0
  35. package/esm5/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +34 -0
  36. package/esm5/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +155 -0
  37. package/esm5/lib/_common/microsites/national-learning-week/national-learning.module.js +54 -0
  38. package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.component.js +7 -3
  39. package/esm5/lib/_common/speakers/speakers.component.js +122 -0
  40. package/esm5/lib/_common/speakers/speakers.module.js +32 -0
  41. package/esm5/lib/_common/user-progress/user-progress.component.js +198 -0
  42. package/esm5/lib/_common/user-progress/user-progress.module.js +32 -0
  43. package/esm5/lib/_services/insite-data.service.js +58 -2
  44. package/esm5/lib/consumption.module.js +1 -1
  45. package/esm5/public-api.js +8 -1
  46. package/esm5/sunbird-cb-consumption.js +10 -2
  47. package/fesm2015/sunbird-cb-consumption.js +1221 -11
  48. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  49. package/fesm5/sunbird-cb-consumption.js +1393 -11
  50. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  51. package/lib/_common/data-points/data-points.component.d.ts +3 -0
  52. package/lib/_common/events/event-card/event-card.component.d.ts +13 -0
  53. package/lib/_common/events/events.component.d.ts +17 -0
  54. package/lib/_common/events/events.module.d.ts +2 -0
  55. package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts +14 -0
  56. package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts +2 -0
  57. package/lib/_common/key-highlights/key-highlights.component.d.ts +15 -0
  58. package/lib/_common/key-highlights/key-highlights.module.d.ts +2 -0
  59. package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts +20 -0
  60. package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts +2 -0
  61. package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts +20 -0
  62. package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts +2 -0
  63. package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +1 -0
  64. package/lib/_common/speakers/speakers.component.d.ts +15 -0
  65. package/lib/_common/speakers/speakers.module.d.ts +2 -0
  66. package/lib/_common/user-progress/user-progress.component.d.ts +24 -0
  67. package/lib/_common/user-progress/user-progress.module.d.ts +2 -0
  68. package/lib/_services/insite-data.service.d.ts +5 -0
  69. package/package.json +1 -1
  70. package/public-api.d.ts +7 -0
  71. package/sunbird-cb-consumption.d.ts +8 -0
  72. package/sunbird-cb-consumption.metadata.json +1 -1
@@ -9,7 +9,7 @@ import { __awaiter } from 'tslib';
9
9
  import { WidgetBaseComponent, SbUiResolverModule } from '@sunbird-cb/resolver-v2';
10
10
  import { HttpClient, HttpHeaders } from '@angular/common/http';
11
11
  import { get, uniqBy, orderBy, camelCase, kebabCase } from 'lodash';
12
- import * as moment$2 from 'moment';
12
+ import * as moment$4 from 'moment';
13
13
  import { duration, utc } from 'moment';
14
14
  import { TranslateService, TranslateModule, TranslateLoader } from '@ngx-translate/core';
15
15
  import 'rxjs/add/observable/of';
@@ -1444,7 +1444,7 @@ function viewerRouteGenerator(id, mimeType, collectionId, collectionType, forPre
1444
1444
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1445
1445
  */
1446
1446
  /** @type {?} */
1447
- const moment = moment$2;
1447
+ const moment = moment$4;
1448
1448
  // tslint:enable
1449
1449
  // TODO: move this in some common place
1450
1450
  /** @type {?} */
@@ -6323,7 +6323,12 @@ const API_END_POINTS$2 = {
6323
6323
  PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,
6324
6324
  TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,
6325
6325
  ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`,
6326
- LEARNERS: `apis/proxies/v8/halloffame/top/learners`
6326
+ LEARNERS: `apis/proxies/v8/halloffame/top/learners`,
6327
+ LEADERBOARD: 'apis/proxies/v8/halloffame/v1/mdoleaderboard',
6328
+ LEADERBOARD_USERS: `apis/proxies/v8/halloffame/v1/userleaderboard`,
6329
+ NLW_LEADERBOARD: `apis/proxies/v8/national/learning/week/insights`,
6330
+ INSIGHTS: `apis/proxies/v8/read/user/insights`,
6331
+ USER_PROGRESS: `apis/proxies/v8/halloffame/v1/userleaderboard`,
6327
6332
  };
6328
6333
  class InsiteDataService {
6329
6334
  /**
@@ -6360,6 +6365,40 @@ class InsiteDataService {
6360
6365
  fetchLearner(channelId) {
6361
6366
  return this.http.get(`${API_END_POINTS$2.LEARNERS}/${channelId}`);
6362
6367
  }
6368
+ /**
6369
+ * @return {?}
6370
+ */
6371
+ fetchLeaderboard() {
6372
+ return this.http.get(`${API_END_POINTS$2.LEADERBOARD}`);
6373
+ }
6374
+ /**
6375
+ * @param {?} orgId
6376
+ * @return {?}
6377
+ */
6378
+ fetchMdoUsers(orgId) {
6379
+ return this.http.get(`${API_END_POINTS$2.LEADERBOARD_USERS}/${orgId}`);
6380
+ }
6381
+ /**
6382
+ * @return {?}
6383
+ */
6384
+ fetchNwlStats() {
6385
+ return this.http.get(`${API_END_POINTS$2.NLW_LEADERBOARD}`);
6386
+ }
6387
+ /**
6388
+ * @param {?} payload
6389
+ * @return {?}
6390
+ */
6391
+ fetchInsightsData(payload) {
6392
+ /** @type {?} */
6393
+ const result = this.http.post(API_END_POINTS$2.INSIGHTS, payload);
6394
+ return result;
6395
+ }
6396
+ /**
6397
+ * @return {?}
6398
+ */
6399
+ fetchUserProgress() {
6400
+ return this.http.get(`${API_END_POINTS$2.USER_PROGRESS}`);
6401
+ }
6363
6402
  }
6364
6403
  InsiteDataService.decorators = [
6365
6404
  { type: Injectable, args: [{
@@ -6405,7 +6444,12 @@ class DataPointsComponent {
6405
6444
  }
6406
6445
  if (this.fetchDataFromApi) {
6407
6446
  this.isDataLoading = true;
6408
- this.getInsiteData();
6447
+ if (this.pageLayout === 'nlw') {
6448
+ this.getStats();
6449
+ }
6450
+ else {
6451
+ this.getInsiteData();
6452
+ }
6409
6453
  }
6410
6454
  }
6411
6455
  /**
@@ -6466,6 +6510,28 @@ class DataPointsComponent {
6466
6510
  this.isDataLoading = false;
6467
6511
  }));
6468
6512
  }
6513
+ /**
6514
+ * @return {?}
6515
+ */
6516
+ getStats() {
6517
+ this.insightSvc.fetchNwlStats().subscribe((/**
6518
+ * @param {?} res
6519
+ * @return {?}
6520
+ */
6521
+ (res) => {
6522
+ if (res && res.result && res.result.data) {
6523
+ this.objectData = res.result.data;
6524
+ }
6525
+ this.isDataLoading = false;
6526
+ }), (/**
6527
+ * @param {?} error
6528
+ * @return {?}
6529
+ */
6530
+ error => {
6531
+ console.log(error);
6532
+ this.isDataLoading = false;
6533
+ }));
6534
+ }
6469
6535
  /**
6470
6536
  * @param {?} value
6471
6537
  * @return {?}
@@ -6493,8 +6559,8 @@ class DataPointsComponent {
6493
6559
  DataPointsComponent.decorators = [
6494
6560
  { type: Component, args: [{
6495
6561
  selector: 'sb-uic-data-points',
6496
- template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let last = last\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak && !last}\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full pl-5 margin-top-l\" *ngIf=\"layoutType === 'multipleRows-V2' && !isDataLoading\">\n <!-- <div class=\"logodiv margin-bottom-s\">\n <img alt=\"Application Logo\" class=\"logoimg\" src=\"/assets/instances/eagle/app_logos/KarmayogiBharat_Logo_Horizontal.svg\">\n </div> -->\n <div *ngFor=\"let obj of objectData; let i = index\">\n <div class=\"flex flex-row gap-3 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\"\n [style.background]=\"obj?.iconBackgroupColorV2\"\n [style.borderColor]=\"obj?.valueColorV2\">\n <img class=\"v2-objIcon\" [src]=\"obj.icon\" />\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\" *ngIf=\"!(obj && obj?.value)\">0</div>\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColorV2\">\n {{obj?.label}}\n </div>\n <div class=\"flex flex-row dot-container\" *ngIf=\"i+1 !== objectData?.length\">\n <div class=\"v2-dot\"\n [style.background]=\"obj?.valueColorV2\"\n [style.borderColor]=\"obj?.labelColorV2\"></div>\n <div class=\"v2-border\" [style.background]=\"obj?.labelColorV2\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div class=\"mob-image-container-v2\" [style.borderColor]=\"obj?.valueColorV2\">\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon-v2\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColorV2\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"!(item && item.value)\">0</div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"(item && item.value)\">\n {{item?.value | number: item.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleFlexeRow' && !isDataLoading\">\n <div class=\"flex space-around\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div singleFlexeRow flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web customdiv\" *ngIf=\"layoutType === 'multipleRows-V2' && isDataLoading\">\n <div *ngFor=\"let obj of [1,2,3,4]l let i = index\">\n <div class=\"flex flex-row gap-4 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'55px'\"\n [height]=\"'55px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n</ng-container>\n\n<ng-container>\n <div class=\"w-full metrics-web customdiv\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'singleFlexeRow' && isDataLoading\">\n <div class=\"flex\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n",
6497
- styles: ["@font-face{font-family:Poppins;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format('woff2'),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format('woff')}.mob-image-container-v2{height:28px;width:28px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #fff}.mobjIcon-v2{width:18px;height:18px}.v2-icon-contaier{height:45px;width:45px;border:1px solid #fff;border-radius:50%;align-items:center;display:flex;justify-content:center}.v2-value{font-family:Poppins;font-size:20px;font-weight:600;line-height:20px;text-align:left;padding-bottom:5px;padding-left:10px}.v2-label{font-family:Poppins;font-size:12px;font-weight:400;line-height:18px;text-align:left;padding-bottom:5px;padding-left:10px}.dot-container{align-items:center}.v2-dot{width:9px;height:9px;border:2px solid #fff;border-radius:50%}.v2-border{height:1px;width:182px}.white{color:#fff}.custom-opacity{opacity:.7}.black{color:#000}.objIcon{width:32px;height:32px}.mobjIcon{width:24px;height:24px}.objHeader{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left}.mobjHeader{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.mobjDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.metrics-web{height:inherit;overflow-y:auto}.element-div{padding:25px 0;margin:0 25px}.linebreak{border-bottom:1px solid rgba(0,0,0,.16)}.singleFlexeRow-flex-item{flex:0 0 auto;white-space:nowrap}.singleFlexeRow-div{padding:16px;border-radius:15px}.singleFlexeRowHeader{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.singleFlexeRowDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.singleFlexeRowIcon{width:24px;height:24px}.melement-div{padding:16px;border-radius:15px;width:249px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-element-div{min-width:325px;padding:25px 0;align-items:baseline}.infra-objIcon{width:32px;height:32px}.infra-objHeader{font-family:Montserrat;font-size:36px;font-weight:600;line-height:29.26px;text-align:left}.infra-objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left;width:230px;text-overflow:ellipsis;overflow:hidden}.flex-container{display:flex}.top-container{overflow-x:auto;width:100%}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}.flex-item{flex:0 0 auto;white-space:nowrap;min-width:200px}.space-around{justify-content:space-evenly}@media screen and (min-width:768px) and (max-width:1023px){.v2-icon-contaier{height:25px;width:25px}.v2-objIcon{width:14px}.v2-value{font-size:14px!important;line-height:14px!important;padding-left:0!important}.v2-label{font-size:9px!important;line-height:9px!important;padding-left:0!important}.v2-dot{width:6px!important;height:6px!important;border:1px solid #fff!important}.v2-border{width:109px!important}}@media screen and (min-width:1023px) and (max-width:1280px){.customdiv{margin-left:6%;margin-top:.6em!important}.v2-icon-contaier{height:34px;width:34px}.v2-objIcon{width:20px}.v2-value{font-size:16px!important;line-height:16px!important;padding-left:0!important}.v2-label{font-size:10px!important;line-height:10px!important;padding-left:0!important}.v2-dot{width:8px!important;height:8px!important;border:1px solid #fff!important}.v2-border{width:122px!important}}@media screen and (max-width:768px){.infra-objIcon{width:24px;height:24px}.infra-objHeader{font-size:24px}.infra-element-div{min-width:250px;padding:15px 0 25px}}@media screen and (min-width:1280px){.customdiv{margin-left:24%}}@media screen and (min-width:1690px){.customdiv{margin-left:34%}}@media screen and (min-width:1904px){.customdiv{margin-left:44%}}.logodiv{background:#fff;width:150px;border-radius:45px;text-align:center;padding:8px 0 2px}.logoimg{width:114px}"]
6562
+ template: "<div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'multipleRows' && !isDataLoading\">\n <div *ngFor=\"let obj of objectData; let last = last\" class=\"\">\n <div class=\"element-div\" [ngClass]=\"{'linebreak': obj?.linebreak && !last}\">\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <img class=\"objIcon\" [src]=\"obj.icon\" [style.color]=\"obj?.iconColor\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"objHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"objDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full pl-5 margin-top-l\" *ngIf=\"layoutType === 'multipleRows-V2' && !isDataLoading\">\n <!-- <div class=\"logodiv margin-bottom-s\">\n <img alt=\"Application Logo\" class=\"logoimg\" src=\"/assets/instances/eagle/app_logos/KarmayogiBharat_Logo_Horizontal.svg\">\n </div> -->\n <div *ngFor=\"let obj of objectData; let i = index\">\n <div class=\"flex flex-row gap-3 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\"\n [style.background]=\"obj?.iconBackgroupColorV2\"\n [style.borderColor]=\"obj?.valueColorV2\">\n <img class=\"v2-objIcon\" [src]=\"obj.icon\" />\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\" *ngIf=\"!(obj && obj?.value)\">0</div>\n <div class=\"v2-value\" [style.color]=\"obj?.valueColorV2\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColorV2\">\n {{obj?.label}}\n </div>\n <div class=\"flex flex-row dot-container\" *ngIf=\"i+1 !== objectData?.length\">\n <div class=\"v2-dot\"\n [style.background]=\"obj?.valueColorV2\"\n [style.borderColor]=\"obj?.labelColorV2\"></div>\n <div class=\"v2-border\" [style.background]=\"obj?.labelColorV2\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div class=\"mob-image-container-v2\" [style.borderColor]=\"obj?.valueColorV2\">\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon-v2\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColorMobV2\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColorV2\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && !isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"mobjIcon\" [src]=\"obj.icon\">\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n {{obj?.value | number: obj.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"w-full\" *ngIf=\"layoutType === 'gridLayout'\">\n <div class=\"top-container\">\n <div class=\"flex-container\" *ngFor=\"let chunk of customArray\">\n <div *ngFor=\"let item of chunk\">\n <div class=\"flex-item\">\n <div class=\"flex flex-row gap-5 infra-element-div\">\n <div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"!(item && item.value)\">0</div>\n <div [style.color]=\"item?.valueColor\" class=\"infra-objHeader\" *ngIf=\"(item && item.value)\">\n {{item?.value | number: item.value % 1 === 0 ? '1.0-0' : '1.1-2'}}\n </div>\n <div [style.color]=\"item?.labelColor\" class=\"custom-opacity infra-objDescription padding-top-s\">{{item?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n </div> \n</div>\n\n<div class=\"w-full\" *ngIf=\"layoutType === 'singleFlexeRow' && !isDataLoading\">\n <div class=\"flex space-around\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div singleFlexeRow flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"w-full\" *ngIf=\"pageLayout === 'nlw' && !isDataLoading\">\n <div class=\"stats-header\">\n <div class=\"flex items-center justify-center stats-title\">\n <span class=\"my-arrow\">&#10094;</span>\n <span class=\"my-arrow less-opacity1\">&#10094;</span>\n <span class=\"my-arrow less-opacity2\">&#10094;</span>\n <span class=\"px-4\">{{title}}</span>\n <span class=\"my-arrow less-opacity2\">&#10095;</span>\n <span class=\"my-arrow less-opacity1\">&#10095;</span>\n <span class=\"my-arrow\">&#10095;</span>\n </div>\n </div>\n <div class=\"nlw-status\" *ngIf=\"layoutType === 'nlwRow'\">\n <div class=\"flex space-around pt-5\">\n <div *ngFor=\"let obj of objectData; index as i\" class=\"flex-container\">\n <div class=\"nlw-div singleFlexeRow flex-item {{i === 0 ? '' : 'divider'}} \">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"nlw-status-mob\" *ngIf=\"layoutType === 'nlwCol'\">\n <div *ngFor=\"let obj of objectData; index as i\" class=\"flex-container\">\n <div class=\"nlw-div singleFlexeRow flex-item {{i === 0 ? '' : 'divider'}} \">\n <div class=\"flex flex-row gap-3\">\n <div>\n <img [style.color]=\"obj?.iconColor\" class=\"singleFlexeRowIcon\" [src]=\"obj.icon\">\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">0</div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n {{converToIndianSystem(obj?.value)}}\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">{{obj?.label}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<!-- skeleton loaders -->\n\n<ng-container>\n <div class=\"w-full metrics-web customdiv\" *ngIf=\"layoutType === 'multipleRows-V2' && isDataLoading\">\n <div *ngFor=\"let obj of [1,2,3,4]l let i = index\">\n <div class=\"flex flex-row gap-4 {{(i+1 === objectData.length ? '' : 'pb-5')}}\">\n <div class=\"v2-icons-div\">\n <div class=\"v2-icon-contaier\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'55px'\"\n [height]=\"'55px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"v2-content-div\">\n <div class=\"flex flex-col\">\n <div class=\"v2-value\" [style.color]=\"obj?.valueColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"v2-label\" [style.color]=\"obj?.labelColor\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'16px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n</ng-container>\n\n<ng-container>\n <div class=\"w-full metrics-web customdiv\" *ngIf=\"layoutType === 'multipleRows' && isDataLoading\">\n <div *ngFor=\"let obj of [0,1,2,3]\" class=\"\">\n <div class=\"element-div linebreak\" >\n <div class=\"flex flex-row gap-3 items-top\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'32px'\"\n [height]=\"'32px'\"></sb-uic-skeleton-loader>\n </div>\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-1'\" [width]=\"'150px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full metrics-web\" *ngIf=\"layoutType === 'singleFlexeRow' && isDataLoading\">\n <div class=\"flex\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"singleFlexeRow-div flex-item\">\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col\">\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"singleFlexeRowHeader pb-2\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"singleFlexeRowDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div {{obj?.background}} flex-item\" [style.background]=\"obj?.background\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'20px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"w-full\" *ngIf=\"layoutType === 'singleRow-v2' && isDataLoading\">\n <div class=\"flex gap-4\">\n <div *ngFor=\"let obj of objectData\" class=\"flex-container\">\n <div class=\"melement-div flex-item\" [style.background]=\"obj?.backgroundV2\" >\n <div class=\"flex flex-row gap-3\">\n <div>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'24px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"!(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.valueColor\" class=\"mobjHeader pb-1\" *ngIf=\"(obj && obj.value)\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'24px'\" [height]=\"'19px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div [style.color]=\"obj?.labelColor\" class=\"mobjDescription\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon'\" [width]=\"'100px'\" [height]=\"'18px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n",
6563
+ styles: ["@font-face{font-family:Poppins;src:url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff2) format('woff2'),url(https://cdn.jsdelivr.net/fontsource/fonts/poppins@latest/latin-400-normal.woff) format('woff')}.stats-header{display:flex;align-items:center;justify-content:center}.stats-title{background-color:#f3962f;padding:12px 16px;color:#fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;border-radius:35px;margin-top:-20px;z-index:90}.my-arrow{font-size:12px}.less-opacity1{opacity:.75}.less-opacity2{opacity:.5}.nlw-status{background:linear-gradient(173.01deg,#266eeb -5.09%,#133f8b 133.16%);margin-top:-22px}.nlw-status-mob{background:linear-gradient(173.01deg,#266eeb -5.09%,#133f8b 133.16%);margin-top:-22px;padding-top:32px}.nlw-div{padding:0 16px;margin:10px 0 16px}.divider{border-left:1.6px solid #a6a4a4}.mob-image-container-v2{height:28px;width:28px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #fff}.mobjIcon-v2{width:18px;height:18px}.v2-icon-contaier{height:45px;width:45px;border:1px solid #fff;border-radius:50%;align-items:center;display:flex;justify-content:center}.v2-value{font-family:Poppins;font-size:20px;font-weight:600;line-height:20px;text-align:left;padding-bottom:5px;padding-left:10px}.v2-label{font-family:Poppins;font-size:12px;font-weight:400;line-height:18px;text-align:left;padding-bottom:5px;padding-left:10px}.dot-container{align-items:center}.v2-dot{width:9px;height:9px;border:2px solid #fff;border-radius:50%}.v2-border{height:1px;width:182px}.white{color:#fff}.custom-opacity{opacity:.7}.black{color:#000}.objIcon{width:32px;height:32px}.mobjIcon{width:24px;height:24px}.objHeader{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:left}.mobjHeader{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left}.mobjDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.metrics-web{height:inherit;overflow-y:auto}.element-div{padding:25px 0;margin:0 25px}.linebreak{border-bottom:1px solid rgba(0,0,0,.16)}.singleFlexeRow-flex-item{flex:0 0 auto;white-space:nowrap}.singleFlexeRow-div{padding:16px;border-radius:15px}.singleFlexeRowHeader{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.singleFlexeRowDescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}.singleFlexeRowIcon{width:24px;height:24px}.melement-div{padding:16px;border-radius:15px;width:249px}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-element-div{min-width:325px;padding:25px 0;align-items:baseline}.infra-objIcon{width:32px;height:32px}.infra-objHeader{font-family:Montserrat;font-size:36px;font-weight:600;line-height:29.26px;text-align:left}.infra-objDescription{font-family:Lato;font-size:16px;font-weight:400;line-height:19.2px;text-align:left;width:230px;text-overflow:ellipsis;overflow:hidden}.flex-container{display:flex}.top-container{overflow-x:auto;width:100%}::-webkit-scrollbar{height:4px}::-webkit-scrollbar-track{border-radius:10px;background:#000}::-webkit-scrollbar-thumb{background:#cccc;border-radius:10px}.flex-item{flex:0 0 auto;white-space:nowrap;min-width:200px}.space-around{justify-content:space-evenly}@media screen and (min-width:768px) and (max-width:1023px){.v2-icon-contaier{height:25px;width:25px}.v2-objIcon{width:14px}.v2-value{font-size:14px!important;line-height:14px!important;padding-left:0!important}.v2-label{font-size:9px!important;line-height:9px!important;padding-left:0!important}.v2-dot{width:6px!important;height:6px!important;border:1px solid #fff!important}.v2-border{width:109px!important}}@media screen and (min-width:1023px) and (max-width:1280px){.customdiv{margin-left:6%;margin-top:.6em!important}.v2-icon-contaier{height:34px;width:34px}.v2-objIcon{width:20px}.v2-value{font-size:16px!important;line-height:16px!important;padding-left:0!important}.v2-label{font-size:10px!important;line-height:10px!important;padding-left:0!important}.v2-dot{width:8px!important;height:8px!important;border:1px solid #fff!important}.v2-border{width:122px!important}}@media screen and (max-width:768px){.infra-objIcon{width:24px;height:24px}.infra-objHeader{font-size:24px}.infra-element-div{min-width:250px;padding:15px 0 25px}}@media screen and (min-width:1280px){.customdiv{margin-left:24%}}@media screen and (min-width:1690px){.customdiv{margin-left:34%}}@media screen and (min-width:1904px){.customdiv{margin-left:44%}}.logodiv{background:#fff;width:150px;border-radius:45px;text-align:center;padding:8px 0 2px}.logoimg{width:114px}"]
6498
6564
  }] }
6499
6565
  ];
6500
6566
  /** @nocollapse */
@@ -6506,7 +6572,8 @@ DataPointsComponent.propDecorators = {
6506
6572
  layoutType: [{ type: Input }],
6507
6573
  fetchDataFromApi: [{ type: Input }],
6508
6574
  providerId: [{ type: Input }],
6509
- pageLayout: [{ type: Input }]
6575
+ pageLayout: [{ type: Input }],
6576
+ title: [{ type: Input }]
6510
6577
  };
6511
6578
  if (false) {
6512
6579
  /** @type {?} */
@@ -6520,10 +6587,14 @@ if (false) {
6520
6587
  /** @type {?} */
6521
6588
  DataPointsComponent.prototype.pageLayout;
6522
6589
  /** @type {?} */
6590
+ DataPointsComponent.prototype.title;
6591
+ /** @type {?} */
6523
6592
  DataPointsComponent.prototype.customArray;
6524
6593
  /** @type {?} */
6525
6594
  DataPointsComponent.prototype.isDataLoading;
6526
6595
  /** @type {?} */
6596
+ DataPointsComponent.prototype.apiResults;
6597
+ /** @type {?} */
6527
6598
  DataPointsComponent.prototype.insightSvc;
6528
6599
  }
6529
6600
 
@@ -7950,7 +8021,7 @@ AnnouncementsModule.decorators = [
7950
8021
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7951
8022
  */
7952
8023
  /** @type {?} */
7953
- const moment$1 = moment$2;
8024
+ const moment$1 = moment$4;
7954
8025
  class TopLearnersComponent {
7955
8026
  /**
7956
8027
  * @param {?} insightSvc
@@ -8334,6 +8405,7 @@ class SlidersNgContentLibComponent extends WidgetBaseComponent {
8334
8405
  this.title = '';
8335
8406
  this.loadNgContentData = false;
8336
8407
  this.autoScroll = false;
8408
+ this.customBanner = false;
8337
8409
  this.currentIndexValue = new EventEmitter();
8338
8410
  this.id = `banner_${Math.random()}`;
8339
8411
  this.defaultMenuSubscribe = null;
@@ -8461,8 +8533,8 @@ class SlidersNgContentLibComponent extends WidgetBaseComponent {
8461
8533
  SlidersNgContentLibComponent.decorators = [
8462
8534
  { type: Component, args: [{
8463
8535
  selector: 'sb-uic-sliders-ng-content',
8464
- template: "<div class=\"banner-container {{isMobile? styleData?.responsive?.bannerMetaClass : styleData?.bannerMetaClass}}\" (swipeleft)=\"slideTo(currentIndex + 1)\" (swiperight)=\"slideTo(currentIndex - 1)\"\n *ngIf=\"widgetData?.length > 1\" [style.height]=\"isMobile? styleData?.responsive?.customHeight : styleData?.customHeight\"\n [ngStyle]=\"{'border-radius': styleData?.borderRadius || '12px'}\">\n <ng-container *ngIf=\"!loadNgContentData\">\n <a (click)=\"raiseTelemetry(widgetData[currentIndex].redirectUrl)\"\n [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-overlay\"\n [ngClass]=\"{'cursor-auto': !widgetData[currentIndex].redirectUrl}\">\n <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\">\n <img i18n-alt alt=\"Page Banner\" [src]=\"slide.banners\" wsUtilsImageResponsive class=\"banner-image\" />\n </div>\n </a>\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"loadNgContentData\">\n <!-- <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\"> -->\n <ng-content select=\"[sliderbody]\"></ng-content>\n <!-- </div> -->\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n <ng-content select=\"[sliderMeta]\"></ng-content>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"navigation {{isMobile? styleData?.responsive?.arrowsPlacement : styleData?.arrowsPlacement}}\" \n *ngIf=\"isMobile && styleData?.responsive?.navigationArrows !== 'hidden' || !isMobile && styleData?.navigationArrows !== 'hidden'\">\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"prev\" (click)=\"slideTo(currentIndex - 1)\">&#10094;</a>\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"next\" (click)=\"slideTo(currentIndex + 1)\">&#10095;</a>\n </div>\n</div>\n<div class=\"banner-container-solo margin-top-s\" *ngIf=\"widgetData?.length == 1\">\n <img i18n-alt alt=\"Page Banner\" width=\"100%\" height=\"100%\" [src]=\"widgetData[0].banners\" wsUtilsImageResponsive class=\"banner-image-solo\" />\n</div>\n\n<!-- <ng-container *ngIf=\"!widgetData?.length\">\n <div class=\"slider default-slider h-full\">\n <div class=\"relative h-full\">\n <img class=\"h-full\" src=\"assets/icons/home/default-slider-image.svg\" alt=\"\">\n <div class=\"default-title rounded-full\">\n <p class=\"mat-h1\">{{title}}</p>\n </div>\n </div>\n </div>\n</ng-container> -->\n",
8465
- styles: [".banner-container{min-height:243px;position:relative;margin:auto;padding-bottom:40px}.banner-container.inline-meta{padding-bottom:0!important}.banner-container.flat .banner .banner-image{border-radius:0!important}.banner-overlay{z-index:1;top:0;left:0;width:100%;height:100%;background:linear-gradient(to left,rgba(0,0,0,.25) 0,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.25) 100%);border-radius:inherit}.banner{-webkit-animation-name:fade;-webkit-animation-duration:1.5s;animation-name:fade;animation-duration:1.5s;border-radius:inherit;height:inherit}.banner .banner-image{width:100%;min-height:243px;display:block;border-radius:inherit;height:inherit}.banner-meta{text-align:center;z-index:2;padding:8px 12px;position:absolute;bottom:0;left:50%;border-radius:12px;transform:translateX(-50%);box-sizing:border-box}.banner-meta.left{left:0;transform:translateX(0)}.banner-meta.right{left:100%;transform:translateX(-100%)}.banner-meta.top-center{left:0;bottom:100%;transform:translateX(-100%)}.banner-meta .banner-title{color:#f2f2f2;margin-bottom:8px;font-size:1.1rem}@media only screen and (max-width:599px){.banner-meta .banner-title{display:none}}.banner-meta .dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.banner-meta .dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}@media only screen and (max-width:599px){.banner-meta .dots-container .dot{height:8px;width:8px;margin:0 4px}}.banner-meta .dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}@keyframes fade{from{opacity:.25}to{opacity:1}}.next,.prev{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-weight:700;background-color:#1b2133!important;border-radius:50%;z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;margin-top:-16px;justify-content:center}.prev{left:0;margin-left:-16px}.next{right:0;margin-right:-16px}.navigation.bottom-right .prev{left:unset;right:45px;bottom:-15px;top:unset}.navigation.bottom-right .next{left:unset;right:15px;bottom:-15px;top:unset}.navigation.bottom-center .prev{left:calc(50% - 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-center .next{left:calc(50% + 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-left .prev{left:15px;right:unset;bottom:-15px;top:unset}.navigation.bottom-left .next{left:60px;right:unset;bottom:-15px;top:unset}.navigation.middle-inline .prev{left:30px}.navigation.middle-inline .next{right:30px}.banner-container-solo{overflow:hidden;margin:auto;border-radius:12px}.banner-image-solo{width:100%;display:block;border-radius:12px}.default-slider{height:100%;background:#d4e2fb}.default-slider .default-title{text-align:center;position:absolute;top:50%;left:0;right:0;margin:auto;transform:translateY(-50%);z-index:999;background:#e6efff;padding:32px;width:500px}.default-slider .default-title p{word-break:break-word;margin:0!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-transform:uppercase}@media screen and (max-width:768px){.default-slider{height:384px;width:100%}.default-slider .default-title{width:unset!important}}"]
8536
+ template: "<div class=\"{{customBanner ? 'keybanner' : 'banner-container'}} {{isMobile? styleData?.responsive?.bannerMetaClass : styleData?.bannerMetaClass}}\" (swipeleft)=\"slideTo(currentIndex + 1)\" (swiperight)=\"slideTo(currentIndex - 1)\"\n *ngIf=\"widgetData?.length > 1\" [style.height]=\"isMobile? styleData?.responsive?.customHeight : styleData?.customHeight\"\n [ngStyle]=\"{'border-radius': styleData?.borderRadius || '12px'}\">\n <ng-container *ngIf=\"!loadNgContentData\">\n <a (click)=\"raiseTelemetry(widgetData[currentIndex].redirectUrl)\"\n [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-overlay\"\n [ngClass]=\"{'cursor-auto': !widgetData[currentIndex].redirectUrl}\">\n <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\">\n <img i18n-alt alt=\"Page Banner\" [src]=\"slide.banners\" wsUtilsImageResponsive class=\"banner-image\" />\n </div>\n </a>\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"loadNgContentData\">\n <!-- <div class=\"banner WidgetInstanceId\" *ngFor=\"let slide of widgetData; let i = index\" [hidden]=\"i !== currentIndex\"> -->\n <ng-content select=\"[sliderbody]\"></ng-content>\n <!-- </div> -->\n <ng-container *ngIf=\"isMobile && styleData?.responsive?.dots !== 'hidden' || !isMobile && styleData?.dots !== 'hidden'\">\n <div class=\"banner-meta {{isMobile? styleData?.responsive?.bannerMetaAlign : styleData?.bannerMetaAlign}}\">\n <a [routerLink]=\" !isOpenInNewTab && widgetData[currentIndex].redirectUrl? widgetData[currentIndex].redirectUrl : null\" class=\"banner-title text-truncate\"\n *ngIf=\"widgetData[currentIndex].title\" [title]=\"widgetData[currentIndex].title\">\n {{ widgetData[currentIndex].title }}\n </a>\n <div class=\"dots-container\" *ngIf=\"widgetData?.length > 1\">\n <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" *ngFor=\"let slide of widgetData; let j = index\"\n (click)=\"slideTo(j)\"></span>\n <ng-content select=\"[sliderMeta]\"></ng-content>\n </div>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"navigation {{isMobile? styleData?.responsive?.arrowsPlacement : styleData?.arrowsPlacement}}\" \n *ngIf=\"isMobile && styleData?.responsive?.navigationArrows !== 'hidden' || !isMobile && styleData?.navigationArrows !== 'hidden'\">\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"prev\" (click)=\"slideTo(currentIndex - 1)\">&#10094;</a>\n <a *ngIf=\"widgetData?.length > 1\" role=\"button\" class=\"next\" (click)=\"slideTo(currentIndex + 1)\">&#10095;</a>\n </div>\n</div>\n<div class=\"{{customBanner ? 'keybanner' : 'banner-container-solo'}} margin-top-s\" *ngIf=\"widgetData?.length == 1\">\n <img i18n-alt alt=\"Page Banner\" width=\"100%\" height=\"100%\" [src]=\"widgetData[0].banners\" wsUtilsImageResponsive class=\"banner-image-solo\" />\n</div>\n\n<!-- <ng-container *ngIf=\"!widgetData?.length\">\n <div class=\"slider default-slider h-full\">\n <div class=\"relative h-full\">\n <img class=\"h-full\" src=\"assets/icons/home/default-slider-image.svg\" alt=\"\">\n <div class=\"default-title rounded-full\">\n <p class=\"mat-h1\">{{title}}</p>\n </div>\n </div>\n </div>\n</ng-container> -->\n",
8537
+ styles: [".banner-container{min-height:243px;position:relative;margin:auto;padding-bottom:40px}.banner-container.inline-meta{padding-bottom:0!important}.banner-container.flat .banner .banner-image{border-radius:0!important}.keybanner{position:relative;margin:auto}.keybanner.inline-meta{padding-bottom:0!important}.keybanner.flat .banner .banner-image{border-radius:0!important}.banner-overlay{z-index:1;top:0;left:0;width:100%;height:100%;background:linear-gradient(to left,rgba(0,0,0,.25) 0,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.25) 100%);border-radius:inherit}.banner{-webkit-animation-name:fade;-webkit-animation-duration:1.5s;animation-name:fade;animation-duration:1.5s;border-radius:inherit;height:inherit}.banner .banner-image{width:100%;min-height:243px;display:block;border-radius:inherit;height:inherit}.banner-meta{text-align:center;z-index:2;padding:8px 12px;position:absolute;bottom:0;left:50%;border-radius:12px;transform:translateX(-50%);box-sizing:border-box}.banner-meta.left{left:0;transform:translateX(0)}.banner-meta.right{left:100%;transform:translateX(-100%)}.banner-meta.top-center{left:0;bottom:100%;transform:translateX(-100%)}.banner-meta .banner-title{color:#f2f2f2;margin-bottom:8px;font-size:1.1rem}@media only screen and (max-width:599px){.banner-meta .banner-title{display:none}}.banner-meta .dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.banner-meta .dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}@media only screen and (max-width:599px){.banner-meta .dots-container .dot{height:8px;width:8px;margin:0 4px}}.banner-meta .dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}@keyframes fade{from{opacity:.25}to{opacity:1}}.next,.prev{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-weight:700;background-color:#1b2133!important;border-radius:50%;z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;margin-top:-16px;justify-content:center}.prev{left:0;margin-left:-16px}.next{right:0;margin-right:-16px}.navigation.bottom-right .prev{left:unset;right:45px;bottom:-15px;top:unset}.navigation.bottom-right .next{left:unset;right:15px;bottom:-15px;top:unset}.navigation.bottom-center .prev{left:calc(50% - 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-center .next{left:calc(50% + 20px);right:unset;bottom:-15px;top:unset}.navigation.bottom-left .prev{left:15px;right:unset;bottom:-15px;top:unset}.navigation.bottom-left .next{left:60px;right:unset;bottom:-15px;top:unset}.navigation.middle-inline .prev{left:30px}.navigation.middle-inline .next{right:30px}.banner-container-solo{overflow:hidden;margin:auto;border-radius:12px}.banner-image-solo{width:100%;display:block;border-radius:12px}.default-slider{height:100%;background:#d4e2fb}.default-slider .default-title{text-align:center;position:absolute;top:50%;left:0;right:0;margin:auto;transform:translateY(-50%);z-index:999;background:#e6efff;padding:32px;width:500px}.default-slider .default-title p{word-break:break-word;margin:0!important;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;text-transform:uppercase}@media screen and (max-width:768px){.default-slider{height:384px;width:100%}.default-slider .default-title{width:unset!important}}.keybanner .prev{background-color:#f3962f!important;color:#fff;top:50%;font-size:12px;height:26px!important;width:26px!important}.keybanner .next{top:50%;background-color:#f3962f!important;color:#fff;font-size:12px;height:26px!important;width:26px!important}@media screen and (max-width:768px){.keybanner .prev{top:50px;left:0;background-color:#f3962f!important;color:#fff}.keybanner .next{right:0;margin-right:-16px;top:50px;background-color:#f3962f!important;color:#fff}}"]
8466
8538
  }] }
8467
8539
  ];
8468
8540
  /** @nocollapse */
@@ -8476,6 +8548,7 @@ SlidersNgContentLibComponent.propDecorators = {
8476
8548
  title: [{ type: Input }],
8477
8549
  loadNgContentData: [{ type: Input }],
8478
8550
  autoScroll: [{ type: Input }],
8551
+ customBanner: [{ type: Input }],
8479
8552
  currentIndexValue: [{ type: Output }],
8480
8553
  id: [{ type: HostBinding, args: ['id',] }],
8481
8554
  currentIndex: [{ type: Input }]
@@ -8492,6 +8565,8 @@ if (false) {
8492
8565
  /** @type {?} */
8493
8566
  SlidersNgContentLibComponent.prototype.autoScroll;
8494
8567
  /** @type {?} */
8568
+ SlidersNgContentLibComponent.prototype.customBanner;
8569
+ /** @type {?} */
8495
8570
  SlidersNgContentLibComponent.prototype.currentIndexValue;
8496
8571
  /** @type {?} */
8497
8572
  SlidersNgContentLibComponent.prototype.id;
@@ -15855,6 +15930,1141 @@ ProvidersModule.decorators = [
15855
15930
  },] }
15856
15931
  ];
15857
15932
 
15933
+ /**
15934
+ * @fileoverview added by tsickle
15935
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15936
+ */
15937
+ class NationalLearningComponent {
15938
+ /**
15939
+ * @param {?} router
15940
+ * @param {?} events
15941
+ */
15942
+ constructor(router, events) {
15943
+ this.router = router;
15944
+ this.events = events;
15945
+ this.sectionList = [];
15946
+ this.providerId = '123456789';
15947
+ this.descriptionMaxLength = 500;
15948
+ }
15949
+ /**
15950
+ * @return {?}
15951
+ */
15952
+ ngOnInit() {
15953
+ }
15954
+ /**
15955
+ * @param {?} event
15956
+ * @param {?} learnerReview
15957
+ * @return {?}
15958
+ */
15959
+ hideKeyHightlight(event, learnerReview) {
15960
+ if (event) {
15961
+ learnerReview['hideSection'] = true;
15962
+ }
15963
+ }
15964
+ /**
15965
+ * @param {?} _stripData
15966
+ * @param {?} columnData
15967
+ * @return {?}
15968
+ */
15969
+ showAllContent(_stripData, columnData) {
15970
+ if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {
15971
+ /** @type {?} */
15972
+ const stripData = _stripData;
15973
+ /** @type {?} */
15974
+ let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || '';
15975
+ this.router.navigate([`app/learn/national-learning-week/see-all`], { queryParams: { pageDetails: true, tabSelected, key: columnData.sectionKey } });
15976
+ }
15977
+ else {
15978
+ this.router.navigate([`/app/learn/browse-by/provider/${this.providerName}/${this.providerId}/all-CBP`], { queryParams: { pageDetails: true } });
15979
+ }
15980
+ }
15981
+ /**
15982
+ * @param {?} event
15983
+ * @param {?} contentStripData
15984
+ * @return {?}
15985
+ */
15986
+ hideContentStrip(event, contentStripData) {
15987
+ if (event) {
15988
+ contentStripData.contentStrip['hideSection'] = true;
15989
+ }
15990
+ }
15991
+ /**
15992
+ * @param {?} event
15993
+ * @return {?}
15994
+ */
15995
+ raiseTabClick(event) {
15996
+ this.events.raiseInteractTelemetry({
15997
+ type: 'click',
15998
+ subType: 'mdo-leaderboard',
15999
+ id: `${event}-tab`,
16000
+ }, {}, {
16001
+ module: 'National Learning Week',
16002
+ });
16003
+ }
16004
+ /**
16005
+ * @param {?} event
16006
+ * @return {?}
16007
+ */
16008
+ raiseTelemetryInteratEvent(event) {
16009
+ this.events.raiseInteractTelemetry({
16010
+ type: 'click',
16011
+ subType: 'mandatory-courses',
16012
+ id: `mandatory-courses-card`,
16013
+ }, {
16014
+ id: event.identifier,
16015
+ type: event.primaryCategory,
16016
+ }, {
16017
+ pageIdExt: `mandatory-courses-card`,
16018
+ module: 'National Learning Week',
16019
+ });
16020
+ }
16021
+ }
16022
+ NationalLearningComponent.decorators = [
16023
+ { type: Component, args: [{
16024
+ selector: 'sb-uic-national-learning',
16025
+ template: "<div class=\"container-fluid white-background nlm-micro-sites micro-white\" id=\"nlm-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\" [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentSection'\" [ngTemplateOutlet]=\"contentSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"w-full topSection\">\n <div *ngIf=\"data.sliderData && data.sliderData.sliders\">\n <sb-uic-sliders [widgetData]=\"data.sliderData.sliders\" [styleData]=\"data.sliderData.styleData\" ></sb-uic-sliders>\n </div>\n <div *ngIf=\"data && data.metrics\">\n <div class=\"block md:hidden\">\n <sb-uic-data-points\n [providerId]=\"providerId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'nlwCol'\"\n [title]=\"data?.metrics?.title\"\n [pageLayout]=\"'nlw'\">\n </sb-uic-data-points>\n </div>\n <div class=\"hidden md:block\">\n <sb-uic-data-points\n [providerId]=\"providerId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'nlwRow'\"\n [title]=\"data?.metrics?.title\"\n [pageLayout]=\"'nlw'\">\n </sb-uic-data-points>\n </div>\n </div>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"block md:hidden\">\n <sb-uic-key-highlights (emptyResponse)=\"hideKeyHightlight($event, data.keyHighlights)\" [formData]=\"data.keyHighlights\" [providerId]=\"providerId\" [mode]=\"'mobile'\"></sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"hidden md:block\">\n <div class=\"flex flex items-center justify-center gap-10\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-rounded top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.imageUrl\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col pr-3\">\n <div class=\" txt-ellipsis-2 break-words description-title\">{{data?.title}}</div>\n <div class=\"description\">{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"block md:hidden\">\n <div class=\"flex flex-col items-center justify-center margin-bottom-xl px-5\">\n <div class=\"mlogo-box-rounded\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.imageUrl\">\n </div>\n </div>\n <div class=\"flex flex-col px-5\">\n <div class=\" txt-ellipsis-2 break-words description-title\">{{data?.title}}</div>\n <div class=\"mdescription\">{{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-span-12\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container margin-top-xl\">\n <div class=\"hidden md:block\">\n <sb-uic-key-highlights (emptyResponse)=\"hideKeyHightlight($event, data.keyHighlights)\" [formData]=\"data.keyHighlights\" [providerId]=\"providerId\" [mode]=\"'desktop'\"></sb-uic-key-highlights>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n\n<ng-template #contentSection let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"grid grid-cols-12 gap-4 mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.leftContent.colspan}}\">\n <div *ngIf=\"data.leftContent.data.weekHighlights.data\">\n <sb-uic-highlights-of-week\n [objectData]=\"data.leftContent.data.weekHighlights.data\">\n </sb-uic-highlights-of-week>\n </div>\n <div class=\"hidden md:block\">\n <div *ngIf=\"data.leftContent.data.mandatoryCourse.enabled && data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"false\"\n (viewAllResponse)=\"''\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"''\"\n [providerId]=\"'123456789'\"\n [widgetData]=\"data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n <div class=\"hidden md:block\">\n <div *ngIf=\"data.leftContent.data.events.enabled && data.leftContent.data.events.column[0]\">\n <sb-uic-events [object]=\"data.leftContent.data.events.column[0]\" [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-{{data.rightContent.colspan}}\">\n <div *ngIf=\"data.rightContent.data.myprogress\">\n <sb-uic-user-progress\n [objectData]=\"data.rightContent.data.myprogress.data\" [rootOrgId]=\"configDetails?.unMappedUser?.rootOrgId\">\n </sb-uic-user-progress>\n </div>\n <div *ngIf=\"data.rightContent.data.speakerOftheDay\">\n <sb-uic-speakers\n [objectData]=\"data.rightContent.data.speakerOftheDay.data\">\n </sb-uic-speakers>\n </div>\n <div *ngIf=\"data.rightContent.data.mdoLeaderboard\">\n <sb-uic-mdo-leaderboard\n [object]=\"data.rightContent.data.mdoLeaderboard.data\"\n (tabClicked)=\"raiseTabClick($event)\"></sb-uic-mdo-leaderboard>\n </div>\n\n <div class=\"block md:hidden\">\n <div *ngIf=\"data.leftContent.data.mandatoryCourse.enabled && data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\">\n <div class=\"margin-top-l nlw-mandatoryCourse\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"false\"\n (viewAllResponse)=\"''\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"''\"\n [providerId]=\"'123456789'\"\n [widgetData]=\"data?.leftContent?.data?.mandatoryCourse?.column[0]?.data\"\n [channnelName]=\"'channnelName'\">\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </div>\n\n <div class=\"block md:hidden px-4 md-px-0\">\n <div *ngIf=\"data.leftContent.data.events.enabled && data.leftContent.data.events.column[0]\">\n <sb-uic-events [object]=\"data.leftContent.data.events.column[0]\" [nwlEventsConfig]=\"nwlConfiguration\"></sb-uic-events>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n\n",
16026
+ styles: ["::ng-deep.mat-app-background{background-color:#fff!important}.nlw-mandatoryCourse ::ng-deep.capitalize{font-size:20px;line-height:24.38px}.nlm-micro-sites ::ng-deep.container{max-width:1200px!important}.nlm-micro-sites ::ng-deep.banner-container{padding-bottom:0!important}.topSection ::ng-deep.prev{margin-left:15px!important}.topSection ::ng-deep.next{margin-right:15px!important}.topSection .stats-header{display:flex;align-items:center;justify-content:center;position:absolute;left:43.5%;top:-20px;text-transform:capitalize}.topSection .stats-title{display:flex;align-items:center;justify-content:center;background-color:#f3962f;padding:12px 16px;color:#fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;border-radius:35px}.topSection .my-arrow{font-size:12px}.topSection .less-opacity1{opacity:.75}.topSection .less-opacity2{opacity:.5}.topSection .details-wrapper{padding:16px;display:flex;gap:50px}.topSection .logo-box-container{width:180px;position:relative}@media only screen and (max-width:599px){.topSection .logo-box-container{width:112px;height:72px}}.topSection .logo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px 0 rgba(0,0,0,.06)}.topSection .logo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width:599px){.topSection .logo-box-rounded{width:112px;height:112px}.topSection .logo-box-rounded .logo-img{max-width:84px}}.topSection .mlogo-box-rounded{height:180px;width:180px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:1px 1px 8px 3px rgba(0,0,0,.06)}.topSection .mlogo-box-rounded .logo-img{max-width:122px}@media only screen and (max-width:599px){.topSection .mlogo-box-rounded{width:112px;height:112px}.topSection .mlogo-box-rounded .logo-img{max-width:84px}}.topSection .txt-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.topSection .description-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;padding-bottom:16px}.topSection .description{font-family:Lato;font-size:16px;font-weight:400;line-height:24px;text-align:left}.topSection .mdescription{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}@media screen and (min-width:320px) and (max-width:769px){.topSection ::ng-deep.prev{margin-left:15px!important}.topSection ::ng-deep.next{margin-right:15px!important}.topSection ::ng-deep.banner-container{min-height:212px!important}}"]
16027
+ }] }
16028
+ ];
16029
+ /** @nocollapse */
16030
+ NationalLearningComponent.ctorParameters = () => [
16031
+ { type: Router },
16032
+ { type: EventService }
16033
+ ];
16034
+ NationalLearningComponent.propDecorators = {
16035
+ sectionList: [{ type: Input }],
16036
+ configDetails: [{ type: Input }],
16037
+ nwlConfiguration: [{ type: Input }]
16038
+ };
16039
+ if (false) {
16040
+ /** @type {?} */
16041
+ NationalLearningComponent.prototype.sectionList;
16042
+ /** @type {?} */
16043
+ NationalLearningComponent.prototype.configDetails;
16044
+ /** @type {?} */
16045
+ NationalLearningComponent.prototype.nwlConfiguration;
16046
+ /** @type {?} */
16047
+ NationalLearningComponent.prototype.providerId;
16048
+ /** @type {?} */
16049
+ NationalLearningComponent.prototype.providerName;
16050
+ /** @type {?} */
16051
+ NationalLearningComponent.prototype.descriptionMaxLength;
16052
+ /** @type {?} */
16053
+ NationalLearningComponent.prototype.router;
16054
+ /**
16055
+ * @type {?}
16056
+ * @private
16057
+ */
16058
+ NationalLearningComponent.prototype.events;
16059
+ }
16060
+
16061
+ /**
16062
+ * @fileoverview added by tsickle
16063
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16064
+ */
16065
+ class KeyHighlightsComponent {
16066
+ constructor() {
16067
+ this.currentIndex = 0;
16068
+ this.providerId = '';
16069
+ this.formData = '';
16070
+ this.emptyResponse = new EventEmitter();
16071
+ this.styleData = {};
16072
+ this.contentdata = [];
16073
+ }
16074
+ /**
16075
+ * @return {?}
16076
+ */
16077
+ ngOnInit() {
16078
+ this.styleData = this.formData && this.formData.sliderData && this.formData.sliderData.styleData;
16079
+ this.contentdata = this.formData && this.formData.content ? this.formData.content : [];
16080
+ }
16081
+ /**
16082
+ * @param {?} indexValue
16083
+ * @return {?}
16084
+ */
16085
+ getCurrentIndex(indexValue) {
16086
+ this.currentIndex = indexValue;
16087
+ }
16088
+ }
16089
+ KeyHighlightsComponent.decorators = [
16090
+ { type: Component, args: [{
16091
+ selector: 'sb-uic-key-highlights',
16092
+ template: "<ng-container *ngIf=\"contentdata?.length && mode === 'desktop'\">\n <div class=\"key-highlighs-container\">\n <sb-uic-sliders-ng-content\n [title]=\"'providerName'\"\n [autoScroll]=\"true\"\n [currentIndex]=\"currentIndex\" \n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\"\n [customBanner]=\"true\"\n [widgetData]=\"contentdata\" [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let content of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"flex flex-row key-wrapper items-center justify-center\">\n <div class=\"kh-description\"> {{content?.title}}</div>\n </div>\n </div>\n </div> \n </sb-uic-sliders-ng-content>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"contentdata?.length && mode === 'mobile'\">\n <div class=\"p-5\">\n <div class=\"mob-key-highlighs-container\">\n <sb-uic-sliders-ng-content\n [title]=\"'providerName'\"\n [autoScroll]=\"true\"\n [currentIndex]=\"currentIndex\" \n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\"\n [customBanner]=\"true\"\n [widgetData]=\"contentdata\" [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let content of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"flex flex-row mkey-wrapper items-center justify-center\">\n <div class=\"mkh-description\"> {{content?.title}}</div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </div>\n </div>\n</ng-container>",
16093
+ styles: [".kh-description{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center;padding:0 10px}.key-wrapper{background-color:#eaf1f8;padding:25px 16px;border-radius:50px}.mkey-wrapper{background-color:#eaf1f8;padding:16px;border-radius:50px}.mkh-description{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;padding:0 30px}"]
16094
+ }] }
16095
+ ];
16096
+ /** @nocollapse */
16097
+ KeyHighlightsComponent.ctorParameters = () => [];
16098
+ KeyHighlightsComponent.propDecorators = {
16099
+ providerId: [{ type: Input }],
16100
+ formData: [{ type: Input }],
16101
+ mode: [{ type: Input }],
16102
+ emptyResponse: [{ type: Output }],
16103
+ scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
16104
+ };
16105
+ if (false) {
16106
+ /** @type {?} */
16107
+ KeyHighlightsComponent.prototype.currentIndex;
16108
+ /** @type {?} */
16109
+ KeyHighlightsComponent.prototype.providerId;
16110
+ /** @type {?} */
16111
+ KeyHighlightsComponent.prototype.formData;
16112
+ /** @type {?} */
16113
+ KeyHighlightsComponent.prototype.mode;
16114
+ /** @type {?} */
16115
+ KeyHighlightsComponent.prototype.emptyResponse;
16116
+ /** @type {?} */
16117
+ KeyHighlightsComponent.prototype.styleData;
16118
+ /** @type {?} */
16119
+ KeyHighlightsComponent.prototype.contentdata;
16120
+ /** @type {?} */
16121
+ KeyHighlightsComponent.prototype.scrollableItems;
16122
+ }
16123
+
16124
+ /**
16125
+ * @fileoverview added by tsickle
16126
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16127
+ */
16128
+ class KeyHighlightsModule {
16129
+ }
16130
+ KeyHighlightsModule.decorators = [
16131
+ { type: NgModule, args: [{
16132
+ declarations: [KeyHighlightsComponent],
16133
+ imports: [
16134
+ CommonModule,
16135
+ MatIconModule,
16136
+ SlidersNgContentLibModule,
16137
+ ScrollableItemModule
16138
+ ],
16139
+ exports: [
16140
+ KeyHighlightsComponent
16141
+ ],
16142
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
16143
+ },] }
16144
+ ];
16145
+
16146
+ /**
16147
+ * @fileoverview added by tsickle
16148
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16149
+ */
16150
+ /** @type {?} */
16151
+ const moment$2 = moment$4;
16152
+ class EventsComponent {
16153
+ /**
16154
+ * @param {?} insightSvc
16155
+ */
16156
+ constructor(insightSvc) {
16157
+ this.insightSvc = insightSvc;
16158
+ this.daysBetween = [];
16159
+ this.events = [];
16160
+ this.loader = false;
16161
+ }
16162
+ /**
16163
+ * @return {?}
16164
+ */
16165
+ ngOnInit() {
16166
+ this.requestBody = {
16167
+ locale: [
16168
+ 'en',
16169
+ ],
16170
+ query: '',
16171
+ request: {
16172
+ query: '',
16173
+ filters: {
16174
+ status: ['Live'],
16175
+ contentType: 'Event',
16176
+ category: 'Event',
16177
+ startDate: {
16178
+ ">=": '',
16179
+ "<": ''
16180
+ }
16181
+ },
16182
+ sort_by: {
16183
+ startDate: 'desc',
16184
+ },
16185
+ },
16186
+ };
16187
+ this.getEventsList();
16188
+ }
16189
+ /**
16190
+ * @return {?}
16191
+ */
16192
+ getDaysBetweenDates() {
16193
+ /** @type {?} */
16194
+ let currentDate = moment$2(this.nwlEventsConfig.startDate, 'DD-MM-YYYY');
16195
+ /** @type {?} */
16196
+ const endDate = moment$2(this.nwlEventsConfig.endDate, 'DD-MM-YYYY');
16197
+ while (currentDate.isSameOrBefore(endDate)) {
16198
+ /** @type {?} */
16199
+ let localObj = {};
16200
+ localObj['startDate'] = currentDate.format('YYYY-MM-DD');
16201
+ localObj['diplayFormat'] = currentDate.format('MMM DD, YYYY');
16202
+ if (currentDate.isSame(moment$2(), 'day')) {
16203
+ this.currentDay = currentDate.format('YYYY-MM-DD');
16204
+ }
16205
+ currentDate.add(1, 'days').format('YYYY-MM-DD');
16206
+ this.daysBetween.push(localObj);
16207
+ }
16208
+ console.log("currentDay ", this.currentDay);
16209
+ }
16210
+ /**
16211
+ * @param {?} slectedDate
16212
+ * @return {?}
16213
+ */
16214
+ getEvents(slectedDate) {
16215
+ this.currentDay = slectedDate.target.value;
16216
+ /** @type {?} */
16217
+ let nextDay = moment$2(slectedDate.target.value, 'YYYY-MM-DD');
16218
+ nextDay.add(1, 'days');
16219
+ this.requestBody.request.filters.startDate[">="] = this.currentDay;
16220
+ this.requestBody.request.filters.startDate["<"] = nextDay.format('YYYY-MM-DD');
16221
+ this.loader = true;
16222
+ this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((/**
16223
+ * @param {?} res
16224
+ * @return {?}
16225
+ */
16226
+ (res) => {
16227
+ this.events = [];
16228
+ if (res && res.result && res.result.count > 0) {
16229
+ this.events = res.result.Event;
16230
+ this.loader = false;
16231
+ }
16232
+ else {
16233
+ this.loader = false;
16234
+ }
16235
+ }), (/**
16236
+ * @param {?} error
16237
+ * @return {?}
16238
+ */
16239
+ error => {
16240
+ this.loader = false;
16241
+ }));
16242
+ }
16243
+ /**
16244
+ * @return {?}
16245
+ */
16246
+ getEventsList() {
16247
+ this.getDaysBetweenDates();
16248
+ /** @type {?} */
16249
+ let nextDay = moment$2(this.currentDay, 'YYYY-MM-DD');
16250
+ nextDay.add(1, 'days');
16251
+ this.requestBody.request.filters.startDate[">="] = this.currentDay;
16252
+ this.requestBody.request.filters.startDate["<"] = nextDay.format('YYYY-MM-DD');
16253
+ this.loader = true;
16254
+ this.insightSvc.fetchTrainingDetails(this.requestBody).subscribe((/**
16255
+ * @param {?} res
16256
+ * @return {?}
16257
+ */
16258
+ (res) => {
16259
+ this.events = [];
16260
+ if (res && res.result && res.result.count > 0) {
16261
+ this.events = res.result.Event;
16262
+ this.loader = false;
16263
+ }
16264
+ else {
16265
+ this.loader = false;
16266
+ }
16267
+ }), (/**
16268
+ * @param {?} error
16269
+ * @return {?}
16270
+ */
16271
+ error => {
16272
+ this.loader = false;
16273
+ }));
16274
+ }
16275
+ }
16276
+ EventsComponent.decorators = [
16277
+ { type: Component, args: [{
16278
+ selector: 'sb-uic-events',
16279
+ template: "<div class=\"flex items-center mb-4 mt-2 e-header\">\n <div class=\"event-title\">\n {{object?.title}}\n </div>\n <div class=\"events-select\">\n <select (change)=\"getEvents($event)\">\n <option value=\"{{d?.startDate}}\" *ngFor=\"let d of daysBetween\" [selected]=\"currentDay === d.startDate\">{{d?.diplayFormat}}</option>\n </select>\n </div>\n</div>\n<div class=\"grid grid-cols-1 gap-4\">\n <div class=\"events-card-wrapper\">\n <div *ngIf=\"!loader\">\n <div *ngIf=\"events?.length > 0\">\n <div *ngFor=\"let event of events\">\n <sb-uic-event-card [objectData]=\"object\" [eventDetails]=\"event\" [loader]=\"loader\"></sb-uic-event-card>\n </div>\n </div>\n <div *ngIf=\"events?.length === 0\">\n <div class=\"flex item-center justify-center p-5 no-events\">\n No events exist.\n </div>\n </div>\n </div>\n <div *ngIf=\"loader && events?.length === 0\">\n <div *ngFor=\"let event of [1,2,3]\">\n <sb-uic-event-card [objectData]=\"object\" [eventDetails]=\"event\" [loader]=\"loader\"></sb-uic-event-card>\n </div>\n </div>\n </div>\n</div>",
16280
+ styles: ["@charset \"UTF-8\";.e-header{justify-content:space-between}.event-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.events-select{position:relative;display:inline-block;width:150px}.events-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #ccc;border-radius:25px;padding:10px 30px 10px 10px;font-size:16px;font-family:Arial,sans-serif;width:100%;height:100%;cursor:pointer}.events-select:after{content:\"\u25BC\";position:absolute;top:50%;right:10px;transform:translateY(-50%);pointer-events:none;font-size:14px;color:#555}.no-events{border:1px solid #c3c3c3;border-radius:12px}"]
16281
+ }] }
16282
+ ];
16283
+ /** @nocollapse */
16284
+ EventsComponent.ctorParameters = () => [
16285
+ { type: InsiteDataService }
16286
+ ];
16287
+ EventsComponent.propDecorators = {
16288
+ object: [{ type: Input }],
16289
+ nwlEventsConfig: [{ type: Input }]
16290
+ };
16291
+ if (false) {
16292
+ /** @type {?} */
16293
+ EventsComponent.prototype.object;
16294
+ /** @type {?} */
16295
+ EventsComponent.prototype.nwlEventsConfig;
16296
+ /** @type {?} */
16297
+ EventsComponent.prototype.daysBetween;
16298
+ /** @type {?} */
16299
+ EventsComponent.prototype.events;
16300
+ /** @type {?} */
16301
+ EventsComponent.prototype.requestBody;
16302
+ /** @type {?} */
16303
+ EventsComponent.prototype.currentDay;
16304
+ /** @type {?} */
16305
+ EventsComponent.prototype.loader;
16306
+ /** @type {?} */
16307
+ EventsComponent.prototype.insightSvc;
16308
+ }
16309
+
16310
+ /**
16311
+ * @fileoverview added by tsickle
16312
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16313
+ */
16314
+ /** @type {?} */
16315
+ const moment$3 = moment$4;
16316
+ class EventCardComponent {
16317
+ /**
16318
+ * @param {?} environment
16319
+ * @param {?} router
16320
+ */
16321
+ constructor(environment, router) {
16322
+ this.router = router;
16323
+ this.descriptionMaxLength = 50;
16324
+ this.environment = environment;
16325
+ }
16326
+ /**
16327
+ * @param {?} event
16328
+ * @return {?}
16329
+ */
16330
+ getEventDate(event) {
16331
+ /** @type {?} */
16332
+ let timeString = event.startTime.split(":");
16333
+ /** @type {?} */
16334
+ let dataString = `${moment$3(event.startDate).format('MMM DD, YYYY')} ${timeString[0]}:${timeString[1]}`;
16335
+ return dataString;
16336
+ }
16337
+ /**
16338
+ * @param {?} url
16339
+ * @return {?}
16340
+ */
16341
+ getPublicUrl(url) {
16342
+ /** @type {?} */
16343
+ const mainUrl = url.split('/content').pop() || '';
16344
+ return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
16345
+ }
16346
+ /**
16347
+ * @param {?} event
16348
+ * @return {?}
16349
+ */
16350
+ redirectTo(event) {
16351
+ this.router.navigate(["/app/event-hub/home/", event.identifier]);
16352
+ }
16353
+ }
16354
+ EventCardComponent.decorators = [
16355
+ { type: Component, args: [{
16356
+ selector: 'sb-uic-event-card',
16357
+ template: "<div class=\"events-card margin-bottom-m cursor-pointer\" *ngIf=\"!loader\" (click)=\"redirectTo(eventDetails)\">\n <div class=\"flex gap-4\">\n <div class=\"event-poster\">\n <img class='poster' [src]=\"eventDetails.appIcon ? getPublicUrl(eventDetails.appIcon) : objectData?.defaultImage\" alt=\"\" />\n </div>\n <div class=\"flex flex-col\">\n <div class=\"flex\">\n <div class=\"flex event-label\">{{eventDetails?.resourceType}}</div>\n </div>\n <div class=\"orgName pt-2 pb-1\">\n {{eventDetails?.owner}}\n </div>\n <div class=\"event-title pt-1\">\n {{eventDetails?.name | slice:0:descriptionMaxLength}}\n <span *ngIf=\"eventDetails?.name?.length > descriptionMaxLength\">...</span>\n </div>\n <div class=\"event-date pt-2\">{{getEventDate(eventDetails)}}</div>\n </div>\n </div>\n</div>\n<div *ngIf=\"loader\">\n <div class=\"events-card margin-bottom-m\">\n <div class=\"flex gap-4\">\n <div class=\"event-poster\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'180px'\" [height]=\"'107px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"flex\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'60px'\" [height]=\"'21px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex orgName pt-2 pb-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'355px'\" [height]=\"'21px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"flex event-title pt-1\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'355px'\" [height]=\"'21px'\">\n </sb-uic-skeleton-loader>\n </div>\n <div class=\"event-date pt-2\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded objIcon '\" [width]=\"'355px'\" [height]=\"'21px'\">\n </sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n</div>",
16358
+ styles: [".events-card{padding:16px;border-radius:12px;border:1px solid #c3c3c3}.events-card .poster{width:180px;height:107px;border-radius:12px}.events-card .event-label{border:1px solid #ef951e;background:rgba(239,149,30,.05);border-radius:45px;font:400 14px/16.8px Lato;padding:8px 12px}.events-card .orgName{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left;opacity:.6}.events-card .event-title{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:left}.events-card .event-date{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left;color:#1b4ca1}@media screen and (min-width:320px) and (max-width:769px){.events-card .poster{width:80px;height:69px}}"]
16359
+ }] }
16360
+ ];
16361
+ /** @nocollapse */
16362
+ EventCardComponent.ctorParameters = () => [
16363
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
16364
+ { type: Router }
16365
+ ];
16366
+ EventCardComponent.propDecorators = {
16367
+ objectData: [{ type: Input }],
16368
+ eventDetails: [{ type: Input }],
16369
+ loader: [{ type: Input }]
16370
+ };
16371
+ if (false) {
16372
+ /** @type {?} */
16373
+ EventCardComponent.prototype.objectData;
16374
+ /** @type {?} */
16375
+ EventCardComponent.prototype.eventDetails;
16376
+ /** @type {?} */
16377
+ EventCardComponent.prototype.environment;
16378
+ /** @type {?} */
16379
+ EventCardComponent.prototype.loader;
16380
+ /** @type {?} */
16381
+ EventCardComponent.prototype.descriptionMaxLength;
16382
+ /**
16383
+ * @type {?}
16384
+ * @private
16385
+ */
16386
+ EventCardComponent.prototype.router;
16387
+ }
16388
+
16389
+ /**
16390
+ * @fileoverview added by tsickle
16391
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16392
+ */
16393
+ class EventsModule {
16394
+ }
16395
+ EventsModule.decorators = [
16396
+ { type: NgModule, args: [{
16397
+ declarations: [EventsComponent, EventCardComponent],
16398
+ imports: [
16399
+ CommonModule,
16400
+ RouterModule,
16401
+ SkeletonLoaderLibModule,
16402
+ ],
16403
+ exports: [EventsComponent, EventCardComponent]
16404
+ },] }
16405
+ ];
16406
+
16407
+ /**
16408
+ * @fileoverview added by tsickle
16409
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16410
+ */
16411
+ class MdoLeaderboardComponent {
16412
+ /**
16413
+ * @param {?} insiteDataService
16414
+ */
16415
+ constructor(insiteDataService) {
16416
+ this.insiteDataService = insiteDataService;
16417
+ this.currentTab = 'XL';
16418
+ this.result = [];
16419
+ this.searchTerm = '';
16420
+ this.expand = true;
16421
+ this.tabClicked = new EventEmitter();
16422
+ }
16423
+ /**
16424
+ * @return {?}
16425
+ */
16426
+ ngOnInit() {
16427
+ this.getData();
16428
+ }
16429
+ /**
16430
+ * @return {?}
16431
+ */
16432
+ getData() {
16433
+ this.insiteDataService.fetchLeaderboard().subscribe((/**
16434
+ * @param {?} res
16435
+ * @return {?}
16436
+ */
16437
+ (res) => {
16438
+ if (res && res.result) {
16439
+ this.result = res.result;
16440
+ this.filteredData = this.result.mdoLeaderBoard
16441
+ .filter((/**
16442
+ * @param {?} user
16443
+ * @return {?}
16444
+ */
16445
+ user => user.size === this.currentTab))
16446
+ .map((/**
16447
+ * @param {?} user
16448
+ * @return {?}
16449
+ */
16450
+ user => (Object.assign({}, user, { children: [], selected: false }))));
16451
+ }
16452
+ }), (/**
16453
+ * @param {?} error
16454
+ * @return {?}
16455
+ */
16456
+ error => {
16457
+ console.log(error);
16458
+ }));
16459
+ }
16460
+ /**
16461
+ * @param {?} name
16462
+ * @return {?}
16463
+ */
16464
+ getTabData(name) {
16465
+ this.currentTab = name;
16466
+ this.searchTerm = '';
16467
+ this.filteredData = this.result.mdoLeaderBoard
16468
+ .filter((/**
16469
+ * @param {?} user
16470
+ * @return {?}
16471
+ */
16472
+ user => user.size === this.currentTab))
16473
+ .map((/**
16474
+ * @param {?} user
16475
+ * @return {?}
16476
+ */
16477
+ user => (Object.assign({}, user, { children: [], selected: false }))));
16478
+ /** @type {?} */
16479
+ let nameStr = '';
16480
+ switch (name) {
16481
+ case 'XL':
16482
+ nameStr = 'greater-than-50K';
16483
+ break;
16484
+ case 'L':
16485
+ nameStr = '10K-50K';
16486
+ break;
16487
+ case 'M':
16488
+ nameStr = '1K-10K';
16489
+ break;
16490
+ case 'S':
16491
+ nameStr = '500-1K';
16492
+ break;
16493
+ default:
16494
+ nameStr = 'less-than-500';
16495
+ break;
16496
+ }
16497
+ this.tabClicked.emit(nameStr);
16498
+ }
16499
+ /**
16500
+ * @param {?} rank
16501
+ * @return {?}
16502
+ */
16503
+ getRank(rank) {
16504
+ return [1, 2, 3].includes(rank) ? `rank${rank}` : 'rank0';
16505
+ }
16506
+ /**
16507
+ * @param {?} rank
16508
+ * @return {?}
16509
+ */
16510
+ getMedal(rank) {
16511
+ if (rank === 1) {
16512
+ return 'assets/images/national-learning/Medal1.svg';
16513
+ }
16514
+ else if (rank === 2) {
16515
+ return 'assets/images/national-learning/Medal2.svg';
16516
+ }
16517
+ else {
16518
+ return 'assets/images/national-learning/Medal3.svg';
16519
+ }
16520
+ }
16521
+ /**
16522
+ * @param {?} e
16523
+ * @return {?}
16524
+ */
16525
+ handleSearchQuery(e) {
16526
+ if (e.target.value && e.target.value.length > 0) {
16527
+ this.searchTerm = e.target.value;
16528
+ this.filteredData = this.result.mdoLeaderBoard
16529
+ .filter((/**
16530
+ * @param {?} user
16531
+ * @return {?}
16532
+ */
16533
+ user => user.size === this.currentTab && user.org_name.toLowerCase().includes(e.target.value)))
16534
+ .map((/**
16535
+ * @param {?} user
16536
+ * @return {?}
16537
+ */
16538
+ user => (Object.assign({}, user, { children: [] }))));
16539
+ }
16540
+ else {
16541
+ this.filteredData = this.result.mdoLeaderBoard
16542
+ .filter((/**
16543
+ * @param {?} user
16544
+ * @return {?}
16545
+ */
16546
+ user => user.size === this.currentTab))
16547
+ .map((/**
16548
+ * @param {?} user
16549
+ * @return {?}
16550
+ */
16551
+ user => (Object.assign({}, user, { children: [] }))));
16552
+ }
16553
+ }
16554
+ /**
16555
+ * @return {?}
16556
+ */
16557
+ toggleWeekHightlits() {
16558
+ this.expand = !this.expand;
16559
+ }
16560
+ }
16561
+ MdoLeaderboardComponent.decorators = [
16562
+ { type: Component, args: [{
16563
+ selector: 'sb-uic-mdo-leaderboard',
16564
+ template: "<div class=\"mdo-leaderboard-container\">\n <div class=\"flex l-title gap-2 items-center justify-between px-4 md:px-0 py-4 md:py-0\">\n <div class=\"flex gap-2\">\n {{object?.title}} <div><img [src]=\"object?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"object?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div class=\"flex item-center justify-center\" *ngIf=\"expand\">\n <div class=\"flex fl-div\">\n <div class=\"pointer\">\n <span class=\"dot-dot\"></span>\n </div>\n </div>\n </div>\n <div class=\"l-content\" *ngIf=\"expand\">\n <div class=\"horizontal-scroll-container\">\n <div class=\"scroll-content\">\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XL' }\" (click)=\"getTabData('XL')\">Greater than 50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'L' }\" (click)=\"getTabData('L')\">10K-50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'M' }\" (click)=\"getTabData('M')\">1K-10K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'S' }\" (click)=\"getTabData('S')\">500-1K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XS' }\" (click)=\"getTabData('XS')\">Less than 500</span>\n </div>\n </div>\n <div class=\"relative search-wrapper margin-top-m mb-5\">\n <mat-icon matPrefix class=\"flex absolute items-center justify-center mr-2 icon-search\">search\n </mat-icon>\n <input type=\"search\" name=\"searchKey\" class=\"search-field\" i18-aria-label\n aria-label=\"Search\" i18n-placeholder=\"search\" [(ngModel)]=\"searchTerm\"\n placeholder=\"Search your MDO\" (keyup)=\"handleSearchQuery($event)\" />\n </div>\n <div class=\"l-tab-data\">\n <div *ngFor=\"let user of filteredData\">\n <div class=\"flex flex-row item mb-5 gap-3 {{user.row_num === 1 ? 'relative' : ''}}\" >\n <div><img class=\"crown absolute\" src=\"assets/images/national-learning/rank-crown.svg\" *ngIf=\"user.row_num === 1\"/></div>\n <div class=\"{{getRank(user.row_num)}}\">{{user.row_num}}</div>\n <div class=\"w-full\">\n <div class=\"flex flex-between gap-2\">\n <div>\n <div class=\"rank-name\">{{user.org_name}}</div>\n <div class=\"rank-points flex mt-1 gap-1\">\n <img class=\"nlw-kb\" src=\"assets/icons/home/karma-badge.svg\"/>\n <div class=\"points\">{{user.total_points || 0 }} points</div>\n </div>\n </div>\n <div class=\"rank-crown\" *ngIf=\"[1,2,3].includes(user.row_num)\">\n <img class=\"nlw-animation\" [src]=\"getMedal(user.row_num)\"/>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"no-data px-1\" *ngIf=\"filteredData?.length === 0\">\n No data found!\n </div>\n </div>\n </div>\n</div>\n",
16565
+ styles: [".l-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.l-content{background-color:#e9eef6;border-radius:16px;padding:16px}.horizontal-scroll-container{overflow-x:auto;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none;height:32px}.horizontal-scroll-container::-webkit-scrollbar{display:none}.scroll-content{display:inline-block}.tab-title{font-family:Lato;font-size:14px;line-height:16.8px;text-align:left;cursor:pointer;padding:0 15px 8px;border-bottom:2px solid #c3c3c3}.active{font-weight:700;border-bottom:2px solid #1b4ca1}.search-field{height:34px;padding:0 16px 0 40px;border-radius:52px;background:#fff;border:2px solid rgba(0,0,0,.0784313725);width:100%}.icon-search{top:10px;left:15px;height:15px;width:17px}.item{border-radius:12px;background-color:#fff;padding:16px;align-items:flex-start}.rank1{background:#ffca28;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank2{background:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;color:#fff}.rank3{background:#ff8228;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank0{font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;border:1px solid #c3c3c3}.rank-name{font-family:Montserrat;line-height:1.5em;font-size:16px;font-weight:600;text-align:left;align-items:center;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2}.rank-points{align-items:center}.nlw-kb{height:24px;width:24px}.points{font-family:Lato;font-size:14px;font-weight:600;line-height:16.8px;text-align:right}.crown{left:10px;top:0;width:36px;height:36px}.l-tab-data{height:520px;overflow:auto;padding-bottom:16px}.l-tab-data::-webkit-scrollbar{display:none}.pointer{margin-bottom:-59px;border-radius:41px;background:#c3c3c3;border:35px solid #e9eef6}.dot-dot{width:7px;display:flex;height:7px;background:#c3c3c3;margin-top:-25px;border-radius:10px}@media screen and (min-width:320px) and (max-width:769px){.mdo-leaderboard-container{background-color:#d1dbec}}"]
16566
+ }] }
16567
+ ];
16568
+ /** @nocollapse */
16569
+ MdoLeaderboardComponent.ctorParameters = () => [
16570
+ { type: InsiteDataService }
16571
+ ];
16572
+ MdoLeaderboardComponent.propDecorators = {
16573
+ object: [{ type: Input }],
16574
+ tabClicked: [{ type: Output }]
16575
+ };
16576
+ if (false) {
16577
+ /** @type {?} */
16578
+ MdoLeaderboardComponent.prototype.currentTab;
16579
+ /** @type {?} */
16580
+ MdoLeaderboardComponent.prototype.result;
16581
+ /** @type {?} */
16582
+ MdoLeaderboardComponent.prototype.filteredData;
16583
+ /** @type {?} */
16584
+ MdoLeaderboardComponent.prototype.searchTerm;
16585
+ /** @type {?} */
16586
+ MdoLeaderboardComponent.prototype.expand;
16587
+ /** @type {?} */
16588
+ MdoLeaderboardComponent.prototype.object;
16589
+ /** @type {?} */
16590
+ MdoLeaderboardComponent.prototype.tabClicked;
16591
+ /**
16592
+ * @type {?}
16593
+ * @private
16594
+ */
16595
+ MdoLeaderboardComponent.prototype.insiteDataService;
16596
+ }
16597
+
16598
+ /**
16599
+ * @fileoverview added by tsickle
16600
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16601
+ */
16602
+ class MdoLeaderboardModule {
16603
+ }
16604
+ MdoLeaderboardModule.decorators = [
16605
+ { type: NgModule, args: [{
16606
+ declarations: [MdoLeaderboardComponent],
16607
+ imports: [
16608
+ CommonModule,
16609
+ MatIconModule,
16610
+ SkeletonLoaderLibModule,
16611
+ FormsModule,
16612
+ MatTooltipModule
16613
+ ],
16614
+ exports: [
16615
+ MdoLeaderboardComponent
16616
+ ],
16617
+ providers: [InsiteDataService]
16618
+ },] }
16619
+ ];
16620
+
16621
+ /**
16622
+ * @fileoverview added by tsickle
16623
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16624
+ */
16625
+ class HighlightsOfWeekComponent {
16626
+ constructor() {
16627
+ this.currentIndex = 0;
16628
+ this.contentdata = [];
16629
+ this.styleData = {};
16630
+ this.expand = true;
16631
+ }
16632
+ /**
16633
+ * @return {?}
16634
+ */
16635
+ ngOnInit() {
16636
+ this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData;
16637
+ if (this.objectData && this.objectData.list) {
16638
+ this.objectData.list.forEach((/**
16639
+ * @param {?} contentEle
16640
+ * @return {?}
16641
+ */
16642
+ (contentEle) => {
16643
+ /** @type {?} */
16644
+ let localData = {};
16645
+ localData['title'] = contentEle.title;
16646
+ localData['videoUrl'] = contentEle.videoUrl;
16647
+ localData['cardSubType'] = "card-wide-lib";
16648
+ localData['description'] = contentEle.description;
16649
+ this.contentdata.push(localData);
16650
+ }));
16651
+ }
16652
+ }
16653
+ /**
16654
+ * @return {?}
16655
+ */
16656
+ toggleWeekHightlits() {
16657
+ this.expand = !this.expand;
16658
+ }
16659
+ /**
16660
+ * @param {?} indexValue
16661
+ * @return {?}
16662
+ */
16663
+ getCurrentIndex(indexValue) {
16664
+ this.currentIndex = indexValue;
16665
+ }
16666
+ }
16667
+ HighlightsOfWeekComponent.decorators = [
16668
+ { type: Component, args: [{
16669
+ selector: 'sb-uic-highlights-of-week',
16670
+ template: "<div *ngIf=\"contentdata.length\" class=\"highlights-of-the-week-container {{expand ? 'mb-4' : ''}}\">\n <ng-container *ngIf=\"contentdata.length\">\n <div class=\"flex title pb-3 no-radius items-center justify-between\">\n <div class=\"flex gap-2\">\n {{objectData?.title}}\n <div class=\"block md:hidden\">\n <img [src]=\"objectData?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"objectData?.infoText\">\n </div> \n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div *ngIf=\"expand\">\n <sb-uic-sliders-ng-content\n [title]=\"'providerName'\"\n [currentIndex]=\"currentIndex\"\n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\" [widgetData]=\"contentdata\"\n [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let item of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"wh-wrapper no-radius\">\n <div class=\"player\">\n <video width=\"100%\" height=\"100%\" controls *ngIf=\"i === currentIndex\">\n <source [src]=\"item.videoUrl\" type=\"video/mp4\">\n <source [src]=\"item.videoUrl\" type=\"application/x-mpegURL\" />\n </video>\n </div>\n <div class=\"player-title py-3\">\n {{item?.title}}\n </div>\n <div class=\"player-body\">\n {{item?.description}}\n </div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </div>\n </ng-container>\n</div>\n\n",
16671
+ styles: [".highlights-of-the-week-container ::ng-deep.banner-title{display:none}.highlights-of-the-week-container ::ng-deep.banner-meta{bottom:-37px}.highlights-of-the-week-container ::ng-deep.prev{margin-left:11px}.highlights-of-the-week-container ::ng-deep.next{margin-right:16px}.title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left;background-color:#d1dbec;padding:16px;border-top-left-radius:12px;border-top-right-radius:12px}.wh-wrapper{background-color:#d1dbec;padding:0 16px 16px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.wh-wrapper .player{height:420px}.wh-wrapper .player-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.wh-wrapper .player-body{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left}@media screen and (min-width:320px) and (max-width:769px){.highlights-of-the-week-container ::ng-deep.prev{display:none!important}.highlights-of-the-week-container ::ng-deep.next{display:none!important}.wh-wrapper .player{height:215px}.no-radius{border-radius:0}}"]
16672
+ }] }
16673
+ ];
16674
+ /** @nocollapse */
16675
+ HighlightsOfWeekComponent.ctorParameters = () => [];
16676
+ HighlightsOfWeekComponent.propDecorators = {
16677
+ objectData: [{ type: Input }],
16678
+ scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
16679
+ };
16680
+ if (false) {
16681
+ /** @type {?} */
16682
+ HighlightsOfWeekComponent.prototype.objectData;
16683
+ /** @type {?} */
16684
+ HighlightsOfWeekComponent.prototype.currentIndex;
16685
+ /** @type {?} */
16686
+ HighlightsOfWeekComponent.prototype.contentdata;
16687
+ /** @type {?} */
16688
+ HighlightsOfWeekComponent.prototype.styleData;
16689
+ /** @type {?} */
16690
+ HighlightsOfWeekComponent.prototype.expand;
16691
+ /** @type {?} */
16692
+ HighlightsOfWeekComponent.prototype.scrollableItems;
16693
+ }
16694
+
16695
+ /**
16696
+ * @fileoverview added by tsickle
16697
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16698
+ */
16699
+ class HighlightsOfWeekModule {
16700
+ }
16701
+ HighlightsOfWeekModule.decorators = [
16702
+ { type: NgModule, args: [{
16703
+ declarations: [HighlightsOfWeekComponent],
16704
+ imports: [
16705
+ CommonModule,
16706
+ MatIconModule,
16707
+ MatTooltipModule,
16708
+ ScrollableItemModule,
16709
+ SlidersNgContentLibModule
16710
+ ],
16711
+ exports: [
16712
+ HighlightsOfWeekComponent
16713
+ ]
16714
+ },] }
16715
+ ];
16716
+
16717
+ /**
16718
+ * @fileoverview added by tsickle
16719
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16720
+ */
16721
+ class SpeakersComponent {
16722
+ constructor() {
16723
+ this.currentIndex = 0;
16724
+ this.contentdata = [];
16725
+ this.styleData = {};
16726
+ this.expand = true;
16727
+ }
16728
+ /**
16729
+ * @return {?}
16730
+ */
16731
+ ngOnInit() {
16732
+ this.styleData = this.objectData && this.objectData.sliderData && this.objectData.sliderData.styleData;
16733
+ if (this.objectData && this.objectData.list) {
16734
+ this.objectData.list.forEach((/**
16735
+ * @param {?} contentEle
16736
+ * @return {?}
16737
+ */
16738
+ (contentEle) => {
16739
+ /** @type {?} */
16740
+ let localData = {};
16741
+ localData['name'] = contentEle.title;
16742
+ localData['cardSubType'] = "card-wide-lib";
16743
+ localData['description'] = contentEle.description;
16744
+ localData['initial'] = this.createInititals(contentEle.title);
16745
+ localData['profileImage'] = contentEle.profileImage ? contentEle.profileImage : '';
16746
+ this.contentdata.push(localData);
16747
+ }));
16748
+ }
16749
+ }
16750
+ /**
16751
+ * @param {?} name
16752
+ * @return {?}
16753
+ */
16754
+ createInititals(name) {
16755
+ /** @type {?} */
16756
+ let initials = '';
16757
+ /** @type {?} */
16758
+ const array = name.toString().split(' ');
16759
+ if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
16760
+ initials += array[0].charAt(0);
16761
+ initials += array[1].charAt(0);
16762
+ }
16763
+ else {
16764
+ for (let i = 0; i < name.length; i += 1) {
16765
+ if (name.charAt(i) === ' ') {
16766
+ continue;
16767
+ }
16768
+ if (name.charAt(i) === name.charAt(i)) {
16769
+ initials += name.charAt(i);
16770
+ if (initials.length === 2) {
16771
+ break;
16772
+ }
16773
+ }
16774
+ }
16775
+ }
16776
+ return initials.toUpperCase();
16777
+ }
16778
+ /**
16779
+ * @param {?} indexValue
16780
+ * @return {?}
16781
+ */
16782
+ getCurrentIndex(indexValue) {
16783
+ this.currentIndex = indexValue;
16784
+ }
16785
+ /**
16786
+ * @return {?}
16787
+ */
16788
+ toggleWeekHightlits() {
16789
+ this.expand = !this.expand;
16790
+ }
16791
+ }
16792
+ SpeakersComponent.decorators = [
16793
+ { type: Component, args: [{
16794
+ selector: 'sb-uic-speakers',
16795
+ template: "<div class=\"nlw-speakers-wrapper px-4 md:px-0 my-4 md:my-0\">\n <div class=\"flex speakers-title gap-2 justify-between pb-1\" *ngIf=\"contentdata.length\">\n <div class=\"flex gap-2\">\n {{objectData?.title}}\n <div><img [src]=\"objectData?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"objectData?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div *ngIf=\"expand\" class=\"speakers-container margin-bottom-xs\" >\n <ng-container *ngIf=\"contentdata.length\">\n <sb-uic-sliders-ng-content\n [title]=\"'providerName'\"\n [currentIndex]=\"currentIndex\"\n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\" [widgetData]=\"contentdata\"\n [styleData]=\"styleData\">\n <div sliderbody>\n <div *ngFor=\"let item of contentdata; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"speakers-wrapper\">\n <div class=\"flex items-center justify-center pb-2\">\n <div class=\"speaker-initial\" *ngIf=\"!item.profileImage\">{{item?.initial}}</div>\n <img class='speaker-icon' [src]=\"item?.profileImage\" alt=\"\" *ngIf=\"item.profileImage\"/>\n </div>\n <div class=\"flex items-center justify-center pb-2\">\n <div class=\"speaker-title\">{{item.name}}</div>\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"speaker-description\">{{item.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </ng-container>\n </div>\n</div>",
16796
+ styles: [".speakers-container ::ng-deep.banner-title{display:none}.speakers-container ::ng-deep.prev{margin-left:0;background-color:#fff4ec!important;color:#b6b4b4}.speakers-container ::ng-deep.next{margin-right:0;background-color:#fff4ec!important;color:#b6b4b4}.speakers-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.speakers-wrapper{background-color:#fff4ec;border-radius:12px;padding:24px}.speaker-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.speaker-description{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:center}.speaker-initial{font-family:Montserrat;font-size:24px;font-weight:600;line-height:29.26px;text-align:center;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#1b4ca1;color:#fff;border-radius:50px}.speaker-icon{width:80px;height:80px;border-radius:50px}@media screen and (min-width:320px) and (max-width:769px){.nlw-speakers-wrapper{background-color:#d1dbec}.speakers-title{padding:16px 0}}"]
16797
+ }] }
16798
+ ];
16799
+ /** @nocollapse */
16800
+ SpeakersComponent.ctorParameters = () => [];
16801
+ SpeakersComponent.propDecorators = {
16802
+ objectData: [{ type: Input }],
16803
+ scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
16804
+ };
16805
+ if (false) {
16806
+ /** @type {?} */
16807
+ SpeakersComponent.prototype.objectData;
16808
+ /** @type {?} */
16809
+ SpeakersComponent.prototype.currentIndex;
16810
+ /** @type {?} */
16811
+ SpeakersComponent.prototype.contentdata;
16812
+ /** @type {?} */
16813
+ SpeakersComponent.prototype.styleData;
16814
+ /** @type {?} */
16815
+ SpeakersComponent.prototype.expand;
16816
+ /** @type {?} */
16817
+ SpeakersComponent.prototype.scrollableItems;
16818
+ }
16819
+
16820
+ /**
16821
+ * @fileoverview added by tsickle
16822
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16823
+ */
16824
+ class SpeakersModule {
16825
+ }
16826
+ SpeakersModule.decorators = [
16827
+ { type: NgModule, args: [{
16828
+ declarations: [SpeakersComponent],
16829
+ imports: [
16830
+ CommonModule,
16831
+ ScrollableItemModule,
16832
+ SlidersNgContentLibModule,
16833
+ MatTooltipModule,
16834
+ MatIconModule,
16835
+ ],
16836
+ exports: [
16837
+ SpeakersComponent
16838
+ ]
16839
+ },] }
16840
+ ];
16841
+
16842
+ /**
16843
+ * @fileoverview added by tsickle
16844
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16845
+ */
16846
+ class UserProgressComponent {
16847
+ /**
16848
+ * @param {?} insightSvc
16849
+ * @param {?} configSvc
16850
+ */
16851
+ constructor(insightSvc, configSvc) {
16852
+ this.insightSvc = insightSvc;
16853
+ this.configSvc = configSvc;
16854
+ this.insitesData = [];
16855
+ this.currentIndex = 0;
16856
+ this.styleData = {};
16857
+ this.userProgress = {};
16858
+ this.expand = true;
16859
+ }
16860
+ /**
16861
+ * @return {?}
16862
+ */
16863
+ ngOnInit() {
16864
+ this.styleData = this.objectData.insights.data.sliderData.styleData;
16865
+ this.getUserProgress();
16866
+ this.getInsightsData();
16867
+ }
16868
+ /**
16869
+ * @return {?}
16870
+ */
16871
+ getUserProgress() {
16872
+ this.insightSvc.fetchUserProgress().subscribe((/**
16873
+ * @param {?} res
16874
+ * @return {?}
16875
+ */
16876
+ (res) => {
16877
+ if (res && res.result && res.result.userLeaderBoard) {
16878
+ this.userProgress = res.result.userLeaderBoard[0];
16879
+ }
16880
+ if (!this.userProgress.fullname && this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.firstName) {
16881
+ this.userProgress['fullname'] = this.configSvc.userProfile.firstName;
16882
+ this.userProgress['profile_image'] = this.configSvc.userProfile.profileImageUrl;
16883
+ }
16884
+ }));
16885
+ }
16886
+ /**
16887
+ * @return {?}
16888
+ */
16889
+ getInsightsData() {
16890
+ /** @type {?} */
16891
+ const request = {
16892
+ request: {
16893
+ filters: {
16894
+ primaryCategory: 'programs',
16895
+ organisations: [
16896
+ 'across',
16897
+ this.rootOrgId,
16898
+ ],
16899
+ },
16900
+ },
16901
+ };
16902
+ this.insightSvc.fetchInsightsData(request).subscribe((/**
16903
+ * @param {?} res
16904
+ * @return {?}
16905
+ */
16906
+ (res) => {
16907
+ if (res && res.result && res.result.response && res.result.response.nudges) {
16908
+ this.insitesData = res.result.response.nudges;
16909
+ this.insitesData = this.insitesData.map((/**
16910
+ * @param {?} obj
16911
+ * @return {?}
16912
+ */
16913
+ (obj) => {
16914
+ return Object.assign({}, obj, { cardSubType: 'card-wide-lib' });
16915
+ }));
16916
+ }
16917
+ }));
16918
+ }
16919
+ /**
16920
+ * @param {?} number
16921
+ * @return {?}
16922
+ */
16923
+ roundTo(number) {
16924
+ return Math.round(number * 100 / 100);
16925
+ }
16926
+ /**
16927
+ * @param {?} indexValue
16928
+ * @return {?}
16929
+ */
16930
+ getCurrentIndex(indexValue) {
16931
+ this.currentIndex = indexValue;
16932
+ }
16933
+ /**
16934
+ * @param {?} name
16935
+ * @return {?}
16936
+ */
16937
+ createInititals(name) {
16938
+ /** @type {?} */
16939
+ let initials = '';
16940
+ /** @type {?} */
16941
+ const array = name.toString().split(' ');
16942
+ if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
16943
+ initials += array[0].charAt(0);
16944
+ initials += array[1].charAt(0);
16945
+ }
16946
+ else {
16947
+ for (let i = 0; i < name.length; i += 1) {
16948
+ if (name.charAt(i) === ' ') {
16949
+ continue;
16950
+ }
16951
+ if (name.charAt(i) === name.charAt(i)) {
16952
+ initials += name.charAt(i);
16953
+ if (initials.length === 2) {
16954
+ break;
16955
+ }
16956
+ }
16957
+ }
16958
+ }
16959
+ return initials.toUpperCase();
16960
+ }
16961
+ /**
16962
+ * @return {?}
16963
+ */
16964
+ toggleWeekHightlits() {
16965
+ this.expand = !this.expand;
16966
+ }
16967
+ }
16968
+ UserProgressComponent.decorators = [
16969
+ { type: Component, args: [{
16970
+ selector: 'sb-uic-user-progress',
16971
+ template: "<div class=\"px-4 md:px-0 pt-4 md:pt-0 week-progress {{expand ? 'pb-4' : 'pb-1'}}\">\n <div class=\"flex user-progress-title gap-2 margin-bottom-xs items-center justify-between\">\n <div class=\"flex gap-2\">\n {{objectData?.title}}\n <div><img [src]=\"objectData?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"objectData?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div class=\"user-progress-wrapper\" *ngIf=\"expand\">\n <div class=\"user-rank flex items-center\">\n <div class=\"flex item-center\">\n <div class=\"current-rank\" *ngIf=\"userProgress?.rank > 0\">#{{userProgress?.rank}} Rank</div>\n </div>\n </div>\n <div class=\"user-details-wrapper\">\n <div class=\"user-details flex gap-2\">\n <div class=\"user-initial\" *ngIf=\"userProgress?.profile_image\">\n <img class=\"user-profile\" [src]=\"userProgress?.profile_image\" alt=\"\"/>\n </div>\n <div class=\"user-initial\" *ngIf=\"!userProgress?.profile_image && userProgress?.fullname\">{{createInititals(userProgress?.fullname)}}</div>\n <div class=\"user-name pt-3\">{{userProgress?.fullname}}</div>\n </div>\n <div class=\"user-stats my-3\">\n <div class=\"flex gap-2 items-center justify-center\">\n <div class=\"my-hours\">\n <div class=\"flex items-center gap-3\">\n <img class=\"hours-icon\"\n src=\"https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726808794219_InProgress_Icon.svg\" alt=\"\">\n <div>\n <div class=\"counter\">{{userProgress?.total_learning_hours || 0}}</div>\n <div class=\"counter-title pt-1\">Learning Hours</div>\n </div>\n </div>\n </div>\n <div class=\"my-certificates\">\n <div class=\"flex items-center gap-3\">\n <img class=\"cert-icon\"\n src=\"https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726808775795_Certificate_icon.svg\" alt=\"\">\n <div>\n <div class=\"counter\">{{userProgress?.count || 0}}</div>\n <div class=\"counter-title pt-1\">Certificates</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex gap-2 items-center justify-center pt-3\">\n <div class=\"k-points\">\n <div class=\"flex items-center gap-3\">\n <img class=\"kp-point-icon\"\n src=\"https://portal.dev.karmayogibharat.net/content-store/orgStore/0135071359030722569/1726808815206_karma-badge.svg\" alt=\"\">\n <div>\n <div class=\"counter\">{{userProgress?.total_points || 0}}</div>\n <div class=\"counter-title pt-1\">Karma Points</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"insights-wrapper\">\n <div class=\"insights-container\">\n <sb-uic-sliders-ng-content\n [title]=\"'p1'\"\n [currentIndex]=\"currentIndex\"\n (currentIndexValue)=\"getCurrentIndex($event)\"\n [loadNgContentData]=\"true\" [widgetData]=\"insitesData\"\n [customBanner]=\"true\" [autoScroll]=\"true\"\n [styleData]=\"styleData\">\n <div sliderbody>\n <div class=\"insights-item\" *ngFor=\"let item of insitesData; let i = index\" [hidden]=\"i !== currentIndex\">\n <div class=\"flex gap-4\">\n <div class=\"insights-lable\">{{item?.label}}</div>\n <div class=\"flex items-center growth-positive\" *ngIf=\"item?.growth === 'positive'\">\n <mat-icon class=\"positive-icon\">arrow_upward</mat-icon>\n <span class=\"positive-note pt-1\">+{{roundTo(item?.progress)}}%</span>\n </div>\n <div class=\"flex items-center growth-negative\" *ngIf=\"item?.growth === 'negative' && item?.progress > 0\">\n <mat-icon class=\"negative-icon\">arrow_downward</mat-icon>\n <span class=\"negative-note\">-{{roundTo(item?.progress)}}%</span>\n </div>\n </div>\n </div>\n </div>\n </sb-uic-sliders-ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
16972
+ styles: [".user-progress-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.user-progress-wrapper{border-radius:12px}.user-rank{background:url(https://portal.dev.karmayogibharat.net/content-store/orgStore/0132238763297177601/1727267061524_shadow.png),linear-gradient(124.59deg,#266eeb 51.53%,#133f8b 140.2%);height:76px;border-top-left-radius:12px;border-top-right-radius:12px;border-left-color:#266eeb;border-right-color:#266eeb;border-top-color:#266eeb;padding-left:25%}.current-rank{padding:3px 10px;border-radius:15px;background-color:#fff;color:#f3962f;font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:center}.user-details-wrapper{padding:0 8px;border:1px solid #e8e8e8;border-bottom-left-radius:12px;border-bottom-right-radius:12px;background-color:#fff}.user-details,.user-stats{padding:0 8px}.user-initial{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:center;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background-color:#000;color:#fff;border-radius:50px;border:3px solid #fff;margin-top:-30px}.user-profile{width:70px;height:70px;border-radius:50px}.user-name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.my-hours{padding:16px;background-color:#f0f3f4;border-radius:12px;width:50%;border:1px solid #c3c3c3}.my-certificates{padding:16px;background-color:#f0f3f4;width:50%;border-radius:12px;border:1px solid #c3c3c3}.k-points{padding:16px;background-color:#f0f3f4;width:40%;border-radius:12px;border:1px solid #c3c3c3}.hours-icon{background:linear-gradient(143.13deg,rgba(255,191,26,.15) 5.36%,rgba(255,64,128,.15) 94.64%);border-radius:50px;padding:5px}.counter-title{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left}.counter{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.cert-icon{background:linear-gradient(180deg,rgba(255,206,81,.24) 0,rgba(254,231,28,.24) 100%);border-radius:50px;padding:5px}.kp-point-icon{background:#dbe4ff;border-radius:50px;padding:5px;height:18px;width:18px}.insights-wrapper{padding:8px 0}.insights-container{background:rgba(243,150,47,.2);height:84px;border-radius:8px}.insights-container ::ng-deep .prev{display:none}.insights-container ::ng-deep .next{display:none}.insights-item{padding:16px}.insights-lable{font-family:Lato;font-size:12px;font-weight:400;line-height:14.4px;text-align:left}.positive-note{font-size:12px;font-weight:400;line-height:14.4px}.positive-icon{font-size:18px;height:18px;width:18px}.growth-positive{color:green}.growth-negative{color:red}.negative-icon{font-size:18px;height:18px;width:18px}.negative-note{font-size:12px;font-weight:400;line-height:14.4px}@media screen and (min-width:320px) and (max-width:769px){.week-progress{background-color:#d1dbec}}"]
16973
+ }] }
16974
+ ];
16975
+ /** @nocollapse */
16976
+ UserProgressComponent.ctorParameters = () => [
16977
+ { type: InsiteDataService },
16978
+ { type: ConfigurationsService$1 }
16979
+ ];
16980
+ UserProgressComponent.propDecorators = {
16981
+ objectData: [{ type: Input }],
16982
+ rootOrgId: [{ type: Input }],
16983
+ scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
16984
+ };
16985
+ if (false) {
16986
+ /** @type {?} */
16987
+ UserProgressComponent.prototype.objectData;
16988
+ /** @type {?} */
16989
+ UserProgressComponent.prototype.rootOrgId;
16990
+ /** @type {?} */
16991
+ UserProgressComponent.prototype.insitesData;
16992
+ /** @type {?} */
16993
+ UserProgressComponent.prototype.currentIndex;
16994
+ /** @type {?} */
16995
+ UserProgressComponent.prototype.styleData;
16996
+ /** @type {?} */
16997
+ UserProgressComponent.prototype.userProgress;
16998
+ /** @type {?} */
16999
+ UserProgressComponent.prototype.expand;
17000
+ /** @type {?} */
17001
+ UserProgressComponent.prototype.scrollableItems;
17002
+ /** @type {?} */
17003
+ UserProgressComponent.prototype.insightSvc;
17004
+ /**
17005
+ * @type {?}
17006
+ * @private
17007
+ */
17008
+ UserProgressComponent.prototype.configSvc;
17009
+ }
17010
+
17011
+ /**
17012
+ * @fileoverview added by tsickle
17013
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17014
+ */
17015
+ class UserProgressModule {
17016
+ }
17017
+ UserProgressModule.decorators = [
17018
+ { type: NgModule, args: [{
17019
+ declarations: [UserProgressComponent],
17020
+ imports: [
17021
+ CommonModule,
17022
+ MatTooltipModule,
17023
+ MatIconModule,
17024
+ ScrollableItemModule,
17025
+ SlidersNgContentLibModule,
17026
+ ],
17027
+ exports: [
17028
+ UserProgressComponent
17029
+ ]
17030
+ },] }
17031
+ ];
17032
+
17033
+ /**
17034
+ * @fileoverview added by tsickle
17035
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17036
+ */
17037
+ class NationalLearningModule {
17038
+ }
17039
+ NationalLearningModule.decorators = [
17040
+ { type: NgModule, args: [{
17041
+ declarations: [NationalLearningComponent],
17042
+ imports: [
17043
+ CommonModule,
17044
+ MatIconModule,
17045
+ MatChipsModule,
17046
+ SkeletonLoaderLibModule,
17047
+ SlidersLibModule,
17048
+ MatTabsModule,
17049
+ KeyHighlightsModule,
17050
+ ContentStripWithTabsLibModule,
17051
+ DataPointsModule,
17052
+ EventsModule,
17053
+ MdoLeaderboardModule,
17054
+ HighlightsOfWeekModule,
17055
+ SpeakersModule,
17056
+ UserProgressModule
17057
+ ],
17058
+ exports: [
17059
+ NationalLearningComponent,
17060
+ ],
17061
+ providers: [
17062
+ CommonMethodsService
17063
+ ],
17064
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
17065
+ },] }
17066
+ ];
17067
+
15858
17068
  /**
15859
17069
  * @fileoverview added by tsickle
15860
17070
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -15865,5 +17075,5 @@ ProvidersModule.decorators = [
15865
17075
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15866
17076
  */
15867
17077
 
15868
- export { AnnouncementsModule, CalenderModule, CardsModule, CbpPlanModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, ContentStripWithTabsPillsModule, DataPointsModule, DialogComponentsModule, HttpLoaderFactory, HttpLoaderFactory1, MDOChannelModule, MyHammerConfig, ProvidersModule, ROOT_WIDGET_CONFIG, SlidersLibModule, TopLearnersModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardResourceComponent as ɵba, CardsComponent as ɵbb, CardPortraitComponent as ɵbc, CardUserComponent as ɵbd, CardLandscapeComponent as ɵbe, CardWideComponent as ɵbf, CardMDOChannelComponent as ɵbg, CardWideV2Component as ɵbh, CardKarmaProgramsComponent as ɵbi, CardKarmaProgramsV2Component as ɵbj, ProviderCardComponent as ɵbk, CardPortraitExtComponent as ɵbl, CardAssessmentComponent as ɵbm, CardProgressPortraitLibComponent as ɵbn, CertificateService as ɵbo, CardMdoChannelV1Component as ɵbp, PipePublicURLModule as ɵbq, PipePublicURL as ɵbr, ObjectToArrayPipeModule as ɵbs, ObjectToArrayPipe as ɵbt, DisplayContentTypeLibModule as ɵbu, DisplayContentTypeLibComponent as ɵbv, DefaultThumbnailModule as ɵbw, DefaultThumbnailDirective as ɵbx, PipeDurationTransformModule as ɵby, PipeDurationTransformPipe as ɵbz, MultilingualTranslationsService as ɵc, ContentProgressComponent as ɵca, CertificateDialogComponent as ɵcb, AvatarPhotoLibModule as ɵcc, AvatarPhotoLibComponent as ɵcd, ContentStripWithTabsPillsComponent as ɵce, CompetencyPassbookComponent as ɵcf, CompetencyPassbookService as ɵcg, PillsModule as ɵch, PillsComponent as ɵci, CompetencyPassbookMdoComponent as ɵcj, CompetencyPassbookMdoService as ɵck, UserContentRatingLibComponent as ɵcl, RatingService as ɵcm, UserContentRatingLibService as ɵcn, MdoChannelV1Component as ɵco, MdoChannelV2Component as ɵcp, ProvidersV2Component as ɵcq, ConfigurationsService as ɵd, HorizontalScrollerV2Module as ɵe, HorizontalScrollerV2Component as ɵf, SlidersLibComponent as ɵg, NavigationModule as ɵh, NavigationDirective as ɵi, ImageResponsiveModule as ɵj, ImageResponsiveDirective as ɵk, DataPointsComponent as ɵl, InsiteDataService as ɵm, SkeletonLoaderLibModule as ɵn, SkeletonLoaderLibComponent as ɵo, CalenderComponent as ɵp, CalenderDayComponent as ɵq, CommonStripComponent as ɵr, AnnouncementsComponent as ɵs, TopLearnersComponent as ɵt, CbpPlanComponent as ɵu, ScrollableItemDirective as ɵv, ScrollableItemModule as ɵw, MyHammerConfig$1 as ɵx, SlidersNgContentLibModule as ɵy, SlidersNgContentLibComponent as ɵz };
17078
+ export { AnnouncementsModule, CalenderModule, CardsModule, CbpPlanModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, ContentStripWithTabsPillsModule, DataPointsModule, DialogComponentsModule, EventsModule, HighlightsOfWeekModule, HttpLoaderFactory, HttpLoaderFactory1, KeyHighlightsModule, MDOChannelModule, MdoLeaderboardModule, MyHammerConfig, NationalLearningModule, ProvidersModule, ROOT_WIDGET_CONFIG, SlidersLibModule, SpeakersModule, TopLearnersModule, UserContentRatingLibModule, UserProgressModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardResourceComponent as ɵba, CardsComponent as ɵbb, CardPortraitComponent as ɵbc, CardUserComponent as ɵbd, CardLandscapeComponent as ɵbe, CardWideComponent as ɵbf, CardMDOChannelComponent as ɵbg, CardWideV2Component as ɵbh, CardKarmaProgramsComponent as ɵbi, CardKarmaProgramsV2Component as ɵbj, ProviderCardComponent as ɵbk, CardPortraitExtComponent as ɵbl, CardAssessmentComponent as ɵbm, CardProgressPortraitLibComponent as ɵbn, CertificateService as ɵbo, CardMdoChannelV1Component as ɵbp, PipePublicURLModule as ɵbq, PipePublicURL as ɵbr, ObjectToArrayPipeModule as ɵbs, ObjectToArrayPipe as ɵbt, DisplayContentTypeLibModule as ɵbu, DisplayContentTypeLibComponent as ɵbv, DefaultThumbnailModule as ɵbw, DefaultThumbnailDirective as ɵbx, PipeDurationTransformModule as ɵby, PipeDurationTransformPipe as ɵbz, MultilingualTranslationsService as ɵc, ContentProgressComponent as ɵca, CertificateDialogComponent as ɵcb, AvatarPhotoLibModule as ɵcc, AvatarPhotoLibComponent as ɵcd, ContentStripWithTabsPillsComponent as ɵce, CompetencyPassbookComponent as ɵcf, CompetencyPassbookService as ɵcg, PillsModule as ɵch, PillsComponent as ɵci, CompetencyPassbookMdoComponent as ɵcj, CompetencyPassbookMdoService as ɵck, UserContentRatingLibComponent as ɵcl, RatingService as ɵcm, UserContentRatingLibService as ɵcn, MdoChannelV1Component as ɵco, MdoChannelV2Component as ɵcp, ProvidersV2Component as ɵcq, NationalLearningComponent as ɵcr, KeyHighlightsComponent as ɵcs, EventsComponent as ɵct, EventCardComponent as ɵcu, MdoLeaderboardComponent as ɵcv, HighlightsOfWeekComponent as ɵcw, SpeakersComponent as ɵcx, UserProgressComponent as ɵcy, ConfigurationsService as ɵd, HorizontalScrollerV2Module as ɵe, HorizontalScrollerV2Component as ɵf, SlidersLibComponent as ɵg, NavigationModule as ɵh, NavigationDirective as ɵi, ImageResponsiveModule as ɵj, ImageResponsiveDirective as ɵk, DataPointsComponent as ɵl, InsiteDataService as ɵm, SkeletonLoaderLibModule as ɵn, SkeletonLoaderLibComponent as ɵo, CalenderComponent as ɵp, CalenderDayComponent as ɵq, CommonStripComponent as ɵr, AnnouncementsComponent as ɵs, TopLearnersComponent as ɵt, CbpPlanComponent as ɵu, ScrollableItemDirective as ɵv, ScrollableItemModule as ɵw, MyHammerConfig$1 as ɵx, SlidersNgContentLibModule as ɵy, SlidersNgContentLibComponent as ɵz };
15869
17079
  //# sourceMappingURL=sunbird-cb-consumption.js.map