@sunbird-cb/consumption 0.0.81 → 0.0.83

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 (87) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1487 -66
  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/competency-passbook/competency-passbook.component.js +26 -20
  6. package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +8 -1
  7. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +20 -11
  8. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +8 -1
  9. package/esm2015/lib/_common/data-points/data-points.component.js +37 -5
  10. package/esm2015/lib/_common/events/event-card/event-card.component.js +82 -0
  11. package/esm2015/lib/_common/events/events.component.js +167 -0
  12. package/esm2015/lib/_common/events/events.module.js +24 -0
  13. package/esm2015/lib/_common/highlights-of-week/highlights-of-week.component.js +76 -0
  14. package/esm2015/lib/_common/highlights-of-week/highlights-of-week.module.js +28 -0
  15. package/esm2015/lib/_common/key-highlights/key-highlights.component.js +65 -0
  16. package/esm2015/lib/_common/key-highlights/key-highlights.module.js +28 -0
  17. package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +193 -0
  18. package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +30 -0
  19. package/esm2015/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +131 -0
  20. package/esm2015/lib/_common/microsites/national-learning-week/national-learning.module.js +50 -0
  21. package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +7 -3
  22. package/esm2015/lib/_common/speakers/speakers.component.js +105 -0
  23. package/esm2015/lib/_common/speakers/speakers.module.js +28 -0
  24. package/esm2015/lib/_common/user-progress/user-progress.component.js +159 -0
  25. package/esm2015/lib/_common/user-progress/user-progress.module.js +28 -0
  26. package/esm2015/lib/_models/compentencies.model.js +25 -0
  27. package/esm2015/lib/_services/insite-data.service.js +41 -2
  28. package/esm2015/lib/consumption.module.js +1 -1
  29. package/esm2015/public-api.js +8 -1
  30. package/esm2015/sunbird-cb-consumption.js +10 -2
  31. package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +52 -44
  32. package/esm5/lib/_common/competency-passbook/competency-passbook.service.js +11 -1
  33. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +19 -11
  34. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +11 -1
  35. package/esm5/lib/_common/data-points/data-points.component.js +41 -5
  36. package/esm5/lib/_common/events/event-card/event-card.component.js +92 -0
  37. package/esm5/lib/_common/events/events.component.js +181 -0
  38. package/esm5/lib/_common/events/events.module.js +28 -0
  39. package/esm5/lib/_common/highlights-of-week/highlights-of-week.component.js +89 -0
  40. package/esm5/lib/_common/highlights-of-week/highlights-of-week.module.js +32 -0
  41. package/esm5/lib/_common/key-highlights/key-highlights.component.js +74 -0
  42. package/esm5/lib/_common/key-highlights/key-highlights.module.js +32 -0
  43. package/esm5/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +221 -0
  44. package/esm5/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +34 -0
  45. package/esm5/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +155 -0
  46. package/esm5/lib/_common/microsites/national-learning-week/national-learning.module.js +54 -0
  47. package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.component.js +7 -3
  48. package/esm5/lib/_common/speakers/speakers.component.js +122 -0
  49. package/esm5/lib/_common/speakers/speakers.module.js +32 -0
  50. package/esm5/lib/_common/user-progress/user-progress.component.js +185 -0
  51. package/esm5/lib/_common/user-progress/user-progress.module.js +32 -0
  52. package/esm5/lib/_models/compentencies.model.js +25 -0
  53. package/esm5/lib/_services/insite-data.service.js +58 -2
  54. package/esm5/lib/consumption.module.js +1 -1
  55. package/esm5/public-api.js +8 -1
  56. package/esm5/sunbird-cb-consumption.js +10 -2
  57. package/fesm2015/sunbird-cb-consumption.js +1264 -38
  58. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  59. package/fesm5/sunbird-cb-consumption.js +1468 -62
  60. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  61. package/lib/_common/competency-passbook/competency-passbook.component.d.ts +4 -1
  62. package/lib/_common/competency-passbook/competency-passbook.service.d.ts +1 -0
  63. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +4 -1
  64. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +1 -0
  65. package/lib/_common/data-points/data-points.component.d.ts +3 -0
  66. package/lib/_common/events/event-card/event-card.component.d.ts +13 -0
  67. package/lib/_common/events/events.component.d.ts +17 -0
  68. package/lib/_common/events/events.module.d.ts +2 -0
  69. package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts +14 -0
  70. package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts +2 -0
  71. package/lib/_common/key-highlights/key-highlights.component.d.ts +15 -0
  72. package/lib/_common/key-highlights/key-highlights.module.d.ts +2 -0
  73. package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts +20 -0
  74. package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts +2 -0
  75. package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts +20 -0
  76. package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts +2 -0
  77. package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +1 -0
  78. package/lib/_common/speakers/speakers.component.d.ts +15 -0
  79. package/lib/_common/speakers/speakers.module.d.ts +2 -0
  80. package/lib/_common/user-progress/user-progress.component.d.ts +22 -0
  81. package/lib/_common/user-progress/user-progress.module.d.ts +2 -0
  82. package/lib/_models/compentencies.model.d.ts +9 -0
  83. package/lib/_services/insite-data.service.d.ts +5 -0
  84. package/package.json +2 -2
  85. package/public-api.d.ts +7 -0
  86. package/sunbird-cb-consumption.d.ts +8 -0
  87. 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;
@@ -13715,6 +13790,7 @@ ContentStripWithTabsPillsModule.decorators = [
13715
13790
  /** @type {?} */
13716
13791
  const API_POINTS = {
13717
13792
  COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,
13793
+ COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,
13718
13794
  CERTIFICATE_URL: `apis/protected/v8/cohorts/course/batch/cert/download/`,
13719
13795
  };
13720
13796
  class CompetencyPassbookService {
@@ -13732,6 +13808,12 @@ class CompetencyPassbookService {
13732
13808
  getCompetencyList(payload) {
13733
13809
  return this.http.post(API_POINTS.COMPETENCY_LIST, payload);
13734
13810
  }
13811
+ /**
13812
+ * @return {?}
13813
+ */
13814
+ getCompetencyListv_V2() {
13815
+ return this.http.get(API_POINTS.COMPETENCY_LIST_V2);
13816
+ }
13735
13817
  /**
13736
13818
  * @param {?} certId
13737
13819
  * @return {?}
@@ -13770,8 +13852,9 @@ class CompetencyPassbookComponent {
13770
13852
  * @param {?} contentSvc
13771
13853
  * @param {?} competencySvc
13772
13854
  * @param {?} router
13855
+ * @param {?} environment
13773
13856
  */
13774
- constructor(configSvc, contentSvc, competencySvc, router) {
13857
+ constructor(configSvc, contentSvc, competencySvc, router, environment) {
13775
13858
  this.configSvc = configSvc;
13776
13859
  this.contentSvc = contentSvc;
13777
13860
  this.competencySvc = competencySvc;
@@ -13788,11 +13871,13 @@ class CompetencyPassbookComponent {
13788
13871
  this.competencyStrength = 0;
13789
13872
  this.competencyThemeLength = 6;
13790
13873
  this.showAllTheme = [{ name: 'Show all', showAll: false }];
13874
+ this.environment = environment;
13791
13875
  }
13792
13876
  /**
13793
13877
  * @return {?}
13794
13878
  */
13795
13879
  ngOnInit() {
13880
+ this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey];
13796
13881
  this.getAllCompetencies();
13797
13882
  // this.competencyData = this.objectData
13798
13883
  // this.filter(this.currentFilter)
@@ -13834,7 +13919,7 @@ class CompetencyPassbookComponent {
13834
13919
  "lastUpdatedOn": "desc"
13835
13920
  },
13836
13921
  "facets": [
13837
- "competencies_v5.competencyArea"
13922
+ `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`
13838
13923
  ],
13839
13924
  "limit": 0,
13840
13925
  "offset": 0,
@@ -13852,7 +13937,7 @@ class CompetencyPassbookComponent {
13852
13937
  * @return {?}
13853
13938
  */
13854
13939
  (fact) => {
13855
- if (fact.name === 'competencies_v5.competencyArea') {
13940
+ if (fact.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {
13856
13941
  this.competencyArea = fact.values;
13857
13942
  }
13858
13943
  }));
@@ -13944,18 +14029,16 @@ class CompetencyPassbookComponent {
13944
14029
  */
13945
14030
  getAllCompetencies() {
13946
14031
  this.loadCometency = true;
13947
- /** @type {?} */
13948
- let request = { "search": { "type": "Competency Area" }, "filter": { "isDetail": true } };
13949
- this.competencySvc.getCompetencyList(request).subscribe((/**
14032
+ this.competencySvc.getCompetencyListv_V2().subscribe((/**
13950
14033
  * @param {?} response
13951
14034
  * @return {?}
13952
14035
  */
13953
14036
  (response) => {
13954
14037
  this.allcompetencyTheme = {};
13955
- if (response && response.result && response.result.competency) {
13956
- this.originalCompetencyArray = response.result.competency;
14038
+ if (response && response.result && response.result.content) {
14039
+ this.originalCompetencyArray = response.result.content;
13957
14040
  this.getCompetencyArea();
13958
- response.result.competency.forEach((/**
14041
+ response.result.content.forEach((/**
13959
14042
  * @param {?} element
13960
14043
  * @return {?}
13961
14044
  */
@@ -13986,14 +14069,14 @@ class CompetencyPassbookComponent {
13986
14069
  let request = {
13987
14070
  "request": {
13988
14071
  "query": "",
13989
- "filters": Object.assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": value, "status": [
14072
+ "filters": Object.assign({ "contentType": "Course" }, addFilter, { [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`]: value, "status": [
13990
14073
  "Live"
13991
14074
  ] }),
13992
14075
  "sort_by": {
13993
14076
  "lastUpdatedOn": "desc"
13994
14077
  },
13995
14078
  "facets": [
13996
- "competencies_v5.competencyTheme"
14079
+ `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`
13997
14080
  ],
13998
14081
  "limit": 0,
13999
14082
  "offset": 0,
@@ -14090,14 +14173,14 @@ class CompetencyPassbookComponent {
14090
14173
  let request = {
14091
14174
  "request": {
14092
14175
  "query": "",
14093
- "filters": Object.assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": area.name, "status": [
14176
+ "filters": Object.assign({ "contentType": "Course" }, addFilter, { [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`]: area.name, "status": [
14094
14177
  "Live"
14095
14178
  ] }),
14096
14179
  "sort_by": {
14097
14180
  "lastUpdatedOn": "desc"
14098
14181
  },
14099
14182
  "facets": [
14100
- "competencies_v5.competencyTheme"
14183
+ `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`
14101
14184
  ],
14102
14185
  "limit": 0,
14103
14186
  "offset": 0,
@@ -14193,14 +14276,14 @@ class CompetencyPassbookComponent {
14193
14276
  let request = {
14194
14277
  "request": {
14195
14278
  "query": "",
14196
- "filters": Object.assign({ "contentType": "Course" }, addFilter, { "competencies_v5.competencyArea": compArea.name, "status": [
14279
+ "filters": Object.assign({ "contentType": "Course" }, addFilter, { [`${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`]: compArea.name, "status": [
14197
14280
  "Live"
14198
14281
  ] }),
14199
14282
  "sort_by": {
14200
14283
  "lastUpdatedOn": "desc"
14201
14284
  },
14202
14285
  "facets": [
14203
- "competencies_v5.competencySubThemeId"
14286
+ `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencySubTheme}`
14204
14287
  ],
14205
14288
  "limit": 0,
14206
14289
  "offset": 0,
@@ -14242,7 +14325,7 @@ class CompetencyPassbookComponent {
14242
14325
  * @param {?} key
14243
14326
  * @return {?}
14244
14327
  */
14245
- key => obj1['id'] === Number(obj2['name'])))))));
14328
+ key => obj1['name'] === (obj2['name'])))))));
14246
14329
  this.allcompetencyTheme[themeEle.name.toLowerCase()]['children'] = data;
14247
14330
  }
14248
14331
  }));
@@ -14262,7 +14345,7 @@ class CompetencyPassbookComponent {
14262
14345
  CompetencyPassbookComponent.decorators = [
14263
14346
  { type: Component, args: [{
14264
14347
  selector: 'sb-uic-competency-passbook',
14265
- template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <!-- <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\" *ngIf=\"obj.count === 1\">{{obj.count}} Content</div>\n <div class=\"no-of-contents\" *ngIf=\"obj.count !== 1\">{{obj.count}} Contents</div>\n </div> -->\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.name\" >\n {{ child.name }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
14348
+ template: " <div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.displayName}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <!-- <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\" *ngIf=\"obj.count === 1\">{{obj.count}} Content</div>\n <div class=\"no-of-contents\" *ngIf=\"obj.count !== 1\">{{obj.count}} Contents</div>\n </div> -->\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.displayName\" >\n {{ child?.displayName }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
14266
14349
  styles: [".competencies-backgroud{background-color:#1b2133}.competency-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;color:#fff}.competency-count{color:#f3962f}.filter-button{padding:12px 16px;border-radius:50px;border:1px solid #fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;background-color:transparent;color:#fff;cursor:pointer}.filter-button.active{background:#1b4ca1}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-background{background:#1b4ca1}.competency-theme{height:16px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f8b861}.details{background-color:#fff;border-radius:12px;position:relative;top:-8px;min-height:278px}.name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;height:42px;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-of-contents{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#1b4ca1}.content-icon{color:#1b4ca1}.line{border-top:1px solid #e2dddd}.chip{padding:8px 16px;gap:8px;border-radius:50px;border:1px solid #1b4ca1;color:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;text-align:center}.chip-ellipsis{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.info-btn{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;opacity:.7;padding:12px 5px}.hide{display:none}.behavioral{background-color:#f8b861}.functional{background-color:#e24577}.domain{background-color:#7b47a4}.competency-card{z-index:999}"]
14267
14350
  }] }
14268
14351
  ];
@@ -14271,7 +14354,8 @@ CompetencyPassbookComponent.ctorParameters = () => [
14271
14354
  { type: ConfigurationsService$1 },
14272
14355
  { type: WidgetContentService },
14273
14356
  { type: CompetencyPassbookService },
14274
- { type: Router }
14357
+ { type: Router },
14358
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] }
14275
14359
  ];
14276
14360
  CompetencyPassbookComponent.propDecorators = {
14277
14361
  objectData: [{ type: Input }],
@@ -14323,6 +14407,10 @@ if (false) {
14323
14407
  /** @type {?} */
14324
14408
  CompetencyPassbookComponent.prototype.showAllTheme;
14325
14409
  /** @type {?} */
14410
+ CompetencyPassbookComponent.prototype.environment;
14411
+ /** @type {?} */
14412
+ CompetencyPassbookComponent.prototype.comeptencyKeys;
14413
+ /** @type {?} */
14326
14414
  CompetencyPassbookComponent.prototype.configSvc;
14327
14415
  /** @type {?} */
14328
14416
  CompetencyPassbookComponent.prototype.contentSvc;
@@ -14439,6 +14527,7 @@ CompetencyPassbookModule.decorators = [
14439
14527
  const API_POINTS$1 = {
14440
14528
  COMPETENCY_LIST: `apis/proxies/v8/competency/v4/search`,
14441
14529
  competency_URL: `apis/proxies/v8/v1/search/competenciesByOrg/`,
14530
+ COMPETENCY_LIST_V2: `apis/proxies/v8/searchBy/v2/competency`,
14442
14531
  };
14443
14532
  class CompetencyPassbookMdoService {
14444
14533
  // tslint: disable-next-line: whitespace
@@ -14455,6 +14544,12 @@ class CompetencyPassbookMdoService {
14455
14544
  getCompetencyList(payload) {
14456
14545
  return this.http.post(API_POINTS$1.COMPETENCY_LIST, payload);
14457
14546
  }
14547
+ /**
14548
+ * @return {?}
14549
+ */
14550
+ getCompetencyListv_V2() {
14551
+ return this.http.get(API_POINTS$1.COMPETENCY_LIST_V2);
14552
+ }
14458
14553
  /**
14459
14554
  * @param {?} providerId
14460
14555
  * @return {?}
@@ -14493,8 +14588,9 @@ class CompetencyPassbookMdoComponent {
14493
14588
  * @param {?} contentSvc
14494
14589
  * @param {?} competencySvc
14495
14590
  * @param {?} router
14591
+ * @param {?} environment
14496
14592
  */
14497
- constructor(configSvc, contentSvc, competencySvc, router) {
14593
+ constructor(configSvc, contentSvc, competencySvc, router, environment) {
14498
14594
  this.configSvc = configSvc;
14499
14595
  this.contentSvc = contentSvc;
14500
14596
  this.competencySvc = competencySvc;
@@ -14505,17 +14601,20 @@ class CompetencyPassbookMdoComponent {
14505
14601
  this.temeletryResponse = new EventEmitter();
14506
14602
  this.loadCometency = false;
14507
14603
  this.loadCompetencyArea = false;
14604
+ this.selectedValue = 'functional';
14508
14605
  this.competencyVersion = '';
14509
14606
  this.competencyTheme = [];
14510
14607
  this.allcompetencyTheme = {};
14511
14608
  this.competencyStrength = 0;
14512
14609
  this.competencyThemeLength = 6;
14513
14610
  this.showAllTheme = [{ name: 'Show all', showAll: false }];
14611
+ this.environment = environment;
14514
14612
  }
14515
14613
  /**
14516
14614
  * @return {?}
14517
14615
  */
14518
14616
  ngOnInit() {
14617
+ this.comeptencyKeys = this.configSvc.compentency[this.environment.compentencyVersionKey];
14519
14618
  this.getAllCompetencies();
14520
14619
  }
14521
14620
  /**
@@ -14525,17 +14624,17 @@ class CompetencyPassbookMdoComponent {
14525
14624
  this.loadCometency = true;
14526
14625
  /** @type {?} */
14527
14626
  let request = { "search": { "type": "Competency Area" }, "filter": { "isDetail": true } };
14528
- this.competencySvc.getCompetencyList(request).subscribe((/**
14627
+ this.competencySvc.getCompetencyListv_V2().subscribe((/**
14529
14628
  * @param {?} response
14530
14629
  * @return {?}
14531
14630
  */
14532
14631
  (response) => {
14533
14632
  this.allcompetencyTheme = {};
14534
- if (response && response.result && response.result.competency) {
14535
- this.originalCompetencyArray = response.result.competency;
14633
+ if (response && response.result && response.result.content) {
14634
+ this.originalCompetencyArray = response.result.content;
14536
14635
  this.getMdoCompetencies();
14537
14636
  // this.getCompetencyArea()
14538
- response.result.competency.forEach((/**
14637
+ response.result.content.forEach((/**
14539
14638
  * @param {?} element
14540
14639
  * @return {?}
14541
14640
  */
@@ -14573,11 +14672,11 @@ class CompetencyPassbookMdoComponent {
14573
14672
  * @return {?}
14574
14673
  */
14575
14674
  (facet) => {
14576
- if (facet.name === 'competencies_v5.competencyArea') {
14675
+ if (facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyArea}`) {
14577
14676
  this.competencyArea = facet.values;
14578
14677
  this.selectedValue = facet.values[0].name;
14579
14678
  }
14580
- else if (facet.name === 'competencies_v5.competencyTheme') {
14679
+ else if (facet.name === `${this.environment.compentencyVersionKey}.${this.comeptencyKeys.vCompetencyTheme}`) {
14581
14680
  this.competencyThemeData = facet.values;
14582
14681
  this.getCompetencyTheme();
14583
14682
  }
@@ -14733,7 +14832,7 @@ class CompetencyPassbookMdoComponent {
14733
14832
  CompetencyPassbookMdoComponent.decorators = [
14734
14833
  { type: Component, args: [{
14735
14834
  selector: 'sb-uic-competency-passbook-mdo',
14736
- template: "<div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.name}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\">{{obj.count}} Contents</div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.name\" >\n {{ child.name }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
14835
+ template: "<div class=\"competency-title\" *ngIf=\"objectData?.title\">{{objectData?.title}} \n <span class=\"competency-count\">\n ({{competencyStrength}})\n </span>\n</div>\n<div class=\"flex items-center justify-{{dynamicAlignPills}} gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"competencyArea\" [dynamicColor]=\"dynamicColor\"\n [isLoading]=\"loadCompetencyArea\" (pillClick)=\"competencyChange($event)\" [selectedValue]=\"selectedValue\"></sb-uic-pills>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\" *ngIf=\"!loadCometency\">\n <div class=\"competency-card\" *ngFor=\"let obj of competencyTheme| slice:0:competencyThemeLength\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center\">\n <div class=\"name\">{{allcompetencyTheme[obj?.name]?.displayName}}</div>\n <!-- <div class=\"flex items-baseline\">\n <img src=\"assets/icons/competency/cp-arrow.svg\" class=\"arrow-img cursor-pointer\" alt=\"cp arrow img\" (click)=\"navigateToCompetency(obj)\" />\n </div> -->\n </div>\n </div>\n <div class=\"flex flex-row pt-3 pb-3 description\">\n {{ allcompetencyTheme[obj.name]?.description }} \n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\">school</mat-icon>\n <div class=\"no-of-contents\">{{obj.count}} Contents</div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <ng-container *ngFor=\"let child of allcompetencyTheme[obj.name]?.children| slice:0: allcompetencyTheme[obj.name]?.viewMore ? allcompetencyTheme[obj.name]?.children?.length : 3; let i = index\">\n <div class=\"chip rounded-full p-2 text-xs chip-ellipsis\" [title]=\"child?.displayName\" >\n {{ child?.displayName }}\n </div>\n </ng-container>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && !allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View more\n </div>\n <div class=\"p-2 info-btn cursor-pointer\"\n *ngIf=\"allcompetencyTheme[obj.name]?.children.length > 3 && allcompetencyTheme[obj.name]?.viewMore\" (click)=\"viewMoreChildren(allcompetencyTheme[obj.name])\">\n View less\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n<ng-container *ngIf=\"competencyTheme.length > 6 && !loadCometency\">\n <div class=\"flex items-center justify-center gap-8 mt-5 mb-5 competency-filters\">\n <sb-uic-pills [pillsData]=\"showAllTheme\" [requiredTitlecase]=\"false\" [dynamicColor]=\"dynamicColor\" (pillClick)=\"displayAllTheme($event)\"></sb-uic-pills>\n </div>\n</ng-container> \n\n<ng-container *ngIf=\"loadCometency\">\n\n<div class=\"grid grid-cols-1 md:grid-cols-{{cardDisplayCount}} w-full grid-flow-row gap-5\">\n <div *ngFor=\"let obj of [0,1,2,3,4,5]\">\n <div class=\"flex-1 flex-col\">\n <div class=\"competency-theme\"></div>\n <div class=\"details flex flex-col\">\n <div class=\"flex flex-col p-4\">\n <div class=\"flex flex-row cursor-pointer\">\n <div class=\"flex flex-row gap-2 items-center w-full\">\n <div class=\"name w-full\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n <div class=\"pt-3 pb-3 description\">\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'100%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-full\" [bindingClass]=\"'flex rounded'\" [width]=\"'80%'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex flex-row gap-3 items-center\">\n <mat-icon class=\"content-icon\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded mb-2'\" [width]=\"'24px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></mat-icon>\n <div class=\"no-of-contents\"><sb-uic-skeleton-loader [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader></div>\n </div>\n <div class=\"line mt-3 mt-2\"></div>\n <div class=\"flex flex-wrap gap-3 pt-4 chip-container\">\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n <sb-uic-skeleton-loader class=\"w-2/5\" [bindingClass]=\"'flex rounded '\" [width]=\"'100px'\"\n [height]=\"'24px'\"></sb-uic-skeleton-loader>\n </div>\n </div> \n </div>\n </div>\n </div>\n</div>\n</ng-container>",
14737
14836
  styles: [".competencies-backgroud{background-color:#1b2133}.competency-title{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left;color:#fff}.competency-count{color:#f3962f}.filter-button{padding:12px 16px;border-radius:50px;border:1px solid #fff;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;background-color:transparent;color:#fff;cursor:pointer}.filter-button.active{background:#1b4ca1}.banner-metrics{background:linear-gradient(180deg,#f9cb97 -107.59%,#ef951e 110.74%)}.infra-background{background:#1b4ca1}.competency-theme{height:16px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f8b861}.details{background-color:#fff;border-radius:12px;position:relative;top:-8px;min-height:278px}.name{font-family:Montserrat;font-size:16px;font-weight:600;line-height:19.5px;text-align:left}.description{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;height:42px;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-of-contents{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;color:#1b4ca1}.content-icon{color:#1b4ca1}.line{border-top:1px solid #e2dddd}.chip{padding:8px 16px;gap:8px;border-radius:50px;border:1px solid #1b4ca1;color:#1b4ca1;font-family:Lato;font-size:14px;font-weight:700;text-align:center}.chip-ellipsis{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.info-btn{font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-align:center;opacity:.7;padding:12px 5px}.hide{display:none}.behavioral{background-color:#f8b861}.functional{background-color:#e24577}.domain{background-color:#7b47a4}.competency-card{z-index:999}"]
14738
14837
  }] }
14739
14838
  ];
@@ -14742,7 +14841,8 @@ CompetencyPassbookMdoComponent.ctorParameters = () => [
14742
14841
  { type: ConfigurationsService$1 },
14743
14842
  { type: WidgetContentService },
14744
14843
  { type: CompetencyPassbookMdoService },
14745
- { type: Router }
14844
+ { type: Router },
14845
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] }
14746
14846
  ];
14747
14847
  CompetencyPassbookMdoComponent.propDecorators = {
14748
14848
  objectData: [{ type: Input }],
@@ -14796,6 +14896,10 @@ if (false) {
14796
14896
  /** @type {?} */
14797
14897
  CompetencyPassbookMdoComponent.prototype.showAllTheme;
14798
14898
  /** @type {?} */
14899
+ CompetencyPassbookMdoComponent.prototype.environment;
14900
+ /** @type {?} */
14901
+ CompetencyPassbookMdoComponent.prototype.comeptencyKeys;
14902
+ /** @type {?} */
14799
14903
  CompetencyPassbookMdoComponent.prototype.configSvc;
14800
14904
  /** @type {?} */
14801
14905
  CompetencyPassbookMdoComponent.prototype.contentSvc;
@@ -15826,6 +15930,1128 @@ ProvidersModule.decorators = [
15826
15930
  },] }
15827
15931
  ];
15828
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
+ */
16850
+ constructor(insightSvc) {
16851
+ this.insightSvc = insightSvc;
16852
+ this.insitesData = [];
16853
+ this.currentIndex = 0;
16854
+ this.styleData = {};
16855
+ this.expand = true;
16856
+ }
16857
+ /**
16858
+ * @return {?}
16859
+ */
16860
+ ngOnInit() {
16861
+ this.styleData = this.objectData.insights.data.sliderData.styleData;
16862
+ this.getUserProgress();
16863
+ this.getInsightsData();
16864
+ }
16865
+ /**
16866
+ * @return {?}
16867
+ */
16868
+ getUserProgress() {
16869
+ this.insightSvc.fetchUserProgress().subscribe((/**
16870
+ * @param {?} res
16871
+ * @return {?}
16872
+ */
16873
+ (res) => {
16874
+ if (res && res.result && res.result.userLeaderBoard) {
16875
+ this.userProgress = res.result.userLeaderBoard[0];
16876
+ }
16877
+ }));
16878
+ }
16879
+ /**
16880
+ * @return {?}
16881
+ */
16882
+ getInsightsData() {
16883
+ /** @type {?} */
16884
+ const request = {
16885
+ request: {
16886
+ filters: {
16887
+ primaryCategory: 'programs',
16888
+ organisations: [
16889
+ 'across',
16890
+ this.rootOrgId,
16891
+ ],
16892
+ },
16893
+ },
16894
+ };
16895
+ this.insightSvc.fetchInsightsData(request).subscribe((/**
16896
+ * @param {?} res
16897
+ * @return {?}
16898
+ */
16899
+ (res) => {
16900
+ if (res && res.result && res.result.response && res.result.response.nudges) {
16901
+ this.insitesData = res.result.response.nudges;
16902
+ this.insitesData = this.insitesData.map((/**
16903
+ * @param {?} obj
16904
+ * @return {?}
16905
+ */
16906
+ (obj) => {
16907
+ return Object.assign({}, obj, { cardSubType: 'card-wide-lib' });
16908
+ }));
16909
+ }
16910
+ }));
16911
+ }
16912
+ /**
16913
+ * @param {?} number
16914
+ * @return {?}
16915
+ */
16916
+ roundTo(number) {
16917
+ return Math.round(number * 100 / 100);
16918
+ }
16919
+ /**
16920
+ * @param {?} indexValue
16921
+ * @return {?}
16922
+ */
16923
+ getCurrentIndex(indexValue) {
16924
+ this.currentIndex = indexValue;
16925
+ }
16926
+ /**
16927
+ * @param {?} name
16928
+ * @return {?}
16929
+ */
16930
+ createInititals(name) {
16931
+ /** @type {?} */
16932
+ let initials = '';
16933
+ /** @type {?} */
16934
+ const array = name.toString().split(' ');
16935
+ if (array[0] !== 'undefined' && typeof array[1] !== 'undefined') {
16936
+ initials += array[0].charAt(0);
16937
+ initials += array[1].charAt(0);
16938
+ }
16939
+ else {
16940
+ for (let i = 0; i < name.length; i += 1) {
16941
+ if (name.charAt(i) === ' ') {
16942
+ continue;
16943
+ }
16944
+ if (name.charAt(i) === name.charAt(i)) {
16945
+ initials += name.charAt(i);
16946
+ if (initials.length === 2) {
16947
+ break;
16948
+ }
16949
+ }
16950
+ }
16951
+ }
16952
+ return initials.toUpperCase();
16953
+ }
16954
+ /**
16955
+ * @return {?}
16956
+ */
16957
+ toggleWeekHightlits() {
16958
+ this.expand = !this.expand;
16959
+ }
16960
+ }
16961
+ UserProgressComponent.decorators = [
16962
+ { type: Component, args: [{
16963
+ selector: 'sb-uic-user-progress',
16964
+ 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",
16965
+ 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}}"]
16966
+ }] }
16967
+ ];
16968
+ /** @nocollapse */
16969
+ UserProgressComponent.ctorParameters = () => [
16970
+ { type: InsiteDataService }
16971
+ ];
16972
+ UserProgressComponent.propDecorators = {
16973
+ objectData: [{ type: Input }],
16974
+ rootOrgId: [{ type: Input }],
16975
+ scrollableItems: [{ type: ViewChildren, args: [ScrollableItemDirective,] }]
16976
+ };
16977
+ if (false) {
16978
+ /** @type {?} */
16979
+ UserProgressComponent.prototype.objectData;
16980
+ /** @type {?} */
16981
+ UserProgressComponent.prototype.rootOrgId;
16982
+ /** @type {?} */
16983
+ UserProgressComponent.prototype.insitesData;
16984
+ /** @type {?} */
16985
+ UserProgressComponent.prototype.currentIndex;
16986
+ /** @type {?} */
16987
+ UserProgressComponent.prototype.styleData;
16988
+ /** @type {?} */
16989
+ UserProgressComponent.prototype.userProgress;
16990
+ /** @type {?} */
16991
+ UserProgressComponent.prototype.expand;
16992
+ /** @type {?} */
16993
+ UserProgressComponent.prototype.scrollableItems;
16994
+ /** @type {?} */
16995
+ UserProgressComponent.prototype.insightSvc;
16996
+ }
16997
+
16998
+ /**
16999
+ * @fileoverview added by tsickle
17000
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17001
+ */
17002
+ class UserProgressModule {
17003
+ }
17004
+ UserProgressModule.decorators = [
17005
+ { type: NgModule, args: [{
17006
+ declarations: [UserProgressComponent],
17007
+ imports: [
17008
+ CommonModule,
17009
+ MatTooltipModule,
17010
+ MatIconModule,
17011
+ ScrollableItemModule,
17012
+ SlidersNgContentLibModule,
17013
+ ],
17014
+ exports: [
17015
+ UserProgressComponent
17016
+ ]
17017
+ },] }
17018
+ ];
17019
+
17020
+ /**
17021
+ * @fileoverview added by tsickle
17022
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17023
+ */
17024
+ class NationalLearningModule {
17025
+ }
17026
+ NationalLearningModule.decorators = [
17027
+ { type: NgModule, args: [{
17028
+ declarations: [NationalLearningComponent],
17029
+ imports: [
17030
+ CommonModule,
17031
+ MatIconModule,
17032
+ MatChipsModule,
17033
+ SkeletonLoaderLibModule,
17034
+ SlidersLibModule,
17035
+ MatTabsModule,
17036
+ KeyHighlightsModule,
17037
+ ContentStripWithTabsLibModule,
17038
+ DataPointsModule,
17039
+ EventsModule,
17040
+ MdoLeaderboardModule,
17041
+ HighlightsOfWeekModule,
17042
+ SpeakersModule,
17043
+ UserProgressModule
17044
+ ],
17045
+ exports: [
17046
+ NationalLearningComponent,
17047
+ ],
17048
+ providers: [
17049
+ CommonMethodsService
17050
+ ],
17051
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
17052
+ },] }
17053
+ ];
17054
+
15829
17055
  /**
15830
17056
  * @fileoverview added by tsickle
15831
17057
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -15836,5 +17062,5 @@ ProvidersModule.decorators = [
15836
17062
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15837
17063
  */
15838
17064
 
15839
- 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 };
17065
+ 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 };
15840
17066
  //# sourceMappingURL=sunbird-cb-consumption.js.map