@sunbird-cb/consumption 0.0.43 → 0.0.44

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 (60) hide show
  1. package/bundles/sunbird-cb-consumption.umd.js +1244 -165
  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/cards/card-assessment/card-assessment/card-assessment.component.js +175 -0
  6. package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -0
  7. package/esm2015/lib/_common/cards/cards.component.js +24 -25
  8. package/esm2015/lib/_common/cards/cards.module.js +28 -3
  9. package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -0
  10. package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -0
  11. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +43 -2
  12. package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -0
  13. package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -0
  14. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  15. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -0
  16. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -0
  17. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +2 -2
  18. package/esm2015/lib/_services/certificate.service.js +63 -0
  19. package/esm2015/lib/_services/multilingual-translations.service.js +27 -24
  20. package/esm2015/lib/consumption.module.js +1 -1
  21. package/esm2015/public-api.js +2 -1
  22. package/esm2015/sunbird-cb-consumption.js +34 -26
  23. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +202 -0
  24. package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -0
  25. package/esm5/lib/_common/cards/cards.component.js +28 -17
  26. package/esm5/lib/_common/cards/cards.module.js +28 -3
  27. package/esm5/lib/_common/content-progress/content-progress.component.js +94 -0
  28. package/esm5/lib/_common/content-progress/content-progress.module.js +26 -0
  29. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +58 -8
  30. package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -0
  31. package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -0
  32. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +2 -4
  33. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -0
  34. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -0
  35. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +3 -3
  36. package/esm5/lib/_services/certificate.service.js +70 -0
  37. package/esm5/lib/_services/multilingual-translations.service.js +27 -24
  38. package/esm5/lib/consumption.module.js +1 -1
  39. package/esm5/public-api.js +2 -1
  40. package/esm5/sunbird-cb-consumption.js +34 -26
  41. package/fesm2015/sunbird-cb-consumption.js +1075 -136
  42. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  43. package/fesm5/sunbird-cb-consumption.js +1211 -140
  44. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  45. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +28 -0
  46. package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -0
  47. package/lib/_common/cards/cards.component.d.ts +5 -3
  48. package/lib/_common/content-progress/content-progress.component.d.ts +13 -0
  49. package/lib/_common/content-progress/content-progress.module.d.ts +2 -0
  50. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +2 -0
  51. package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -0
  52. package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -0
  53. package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -0
  54. package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -0
  55. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
  56. package/lib/_services/certificate.service.d.ts +8 -0
  57. package/package.json +1 -1
  58. package/public-api.d.ts +1 -0
  59. package/sunbird-cb-consumption.d.ts +32 -24
  60. package/sunbird-cb-consumption.metadata.json +1 -1
@@ -3,8 +3,8 @@ import { CommonModule, DatePipe } from '@angular/common';
3
3
  import { Router, RouterModule } from '@angular/router';
4
4
  import { fromEvent, timer, BehaviorSubject, Subject, of, EMPTY, ReplaySubject, throwError, interval } from 'rxjs';
5
5
  import { debounceTime, throttleTime, shareReplay, retry, map, catchError, filter, distinctUntilChanged } from 'rxjs/operators';
6
- import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService, MultilingualTranslationsService as MultilingualTranslationsService$1 } from '@sunbird-cb/utils-v2';
7
- import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar, MatMenuModule, MatRippleModule } from '@angular/material';
6
+ import { ValueService, ConfigurationsService as ConfigurationsService$1, WsEvents, LoggerService, EventService, UtilityService, MultilingualTranslationsService as MultilingualTranslationsService$1, PipeSafeSanitizerModule } from '@sunbird-cb/utils-v2';
7
+ import { MatButtonModule, MatIconModule, MatProgressSpinnerModule, MatToolbarModule, MatTooltipModule, MatListModule, MatSidenavModule, MatCardModule, MatExpansionModule, MatRadioModule, MatChipsModule, MatInputModule, MatFormFieldModule, MatDialogModule, MatSnackBarModule, MatSelectModule, MatDatepickerModule, MatNativeDateModule, MatTableModule, MatCheckboxModule, MatButtonToggleModule, MatTabsModule, MatAutocompleteModule, MatSnackBar, MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatProgressBarModule, MatMenuModule, MatRippleModule } from '@angular/material';
8
8
  import { __awaiter } from 'tslib';
9
9
  import { WidgetBaseComponent, SbUiResolverModule } from '@sunbird-cb/resolver-v2';
10
10
  import { HttpClient, HttpHeaders } from '@angular/common/http';
@@ -18,6 +18,7 @@ import { BreakpointObserver } from '@angular/cdk/layout';
18
18
  import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
19
19
  import Hammer from 'hammerjs';
20
20
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
21
+ import { jsPDF } from 'jspdf';
21
22
 
22
23
  /**
23
24
  * @fileoverview added by tsickle
@@ -321,15 +322,13 @@ class HorizontalScrollerV2Component {
321
322
  /** @type {?} */
322
323
  const totalCardsLength = cardWidth * this.widgetsLength;
323
324
  if (totalCardsLength > scrollerWidth) {
324
- arrLength = (scrollerWidth / cardWidth);
325
+ arrLength = Math.round(scrollerWidth / cardWidth);
325
326
  this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
326
327
  this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
327
328
  arrLength = this.defaultMaxWidgets / arrLength;
328
329
  for (let i = 0; i < arrLength; i += 1) {
329
330
  this.bottomDotsArray.push(i);
330
331
  }
331
- // console.log('this.cardSubType', this.cardSubType, arrLength, this.widgetsLength ,
332
- // this.defaultMaxWidgets, scrollerWidth, this.bottomDotsArray)
333
332
  }
334
333
  }
335
334
  }
@@ -2602,33 +2601,36 @@ class MultilingualTranslationsService {
2602
2601
  * @return {?}
2603
2602
  */
2604
2603
  translateLabel(label, type, subtype) {
2605
- /** @type {?} */
2606
- let nlabel = label;
2607
- nlabel = nlabel.toLowerCase();
2608
- /** @type {?} */
2609
- const sl = nlabel.split(' ');
2610
- sl.forEach((/**
2611
- * @param {?} w
2612
- * @param {?} index
2613
- * @return {?}
2614
- */
2615
- (w, index) => {
2616
- if (index !== 0) {
2617
- sl[index] = w[0].toUpperCase() + w.slice(1);
2604
+ if (label) {
2605
+ /** @type {?} */
2606
+ let nlabel = label;
2607
+ nlabel = nlabel && nlabel.toLowerCase();
2608
+ /** @type {?} */
2609
+ const sl = nlabel.split(' ');
2610
+ sl.forEach((/**
2611
+ * @param {?} w
2612
+ * @param {?} index
2613
+ * @return {?}
2614
+ */
2615
+ (w, index) => {
2616
+ if (index !== 0) {
2617
+ sl[index] = w[0].toUpperCase() + w.slice(1);
2618
+ }
2619
+ }));
2620
+ nlabel = sl.join('');
2621
+ nlabel = nlabel.replace(/\s/g, '');
2622
+ if (subtype) {
2623
+ // tslint:disable-next-line: prefer-template
2624
+ /** @type {?} */
2625
+ const translationKey = type + '.' + nlabel + subtype;
2626
+ return this.translate.instant(translationKey);
2618
2627
  }
2619
- }));
2620
- nlabel = sl.join('');
2621
- nlabel = nlabel.replace(/\s/g, '');
2622
- if (subtype) {
2623
2628
  // tslint:disable-next-line: prefer-template
2624
2629
  /** @type {?} */
2625
- const translationKey = type + '.' + nlabel + subtype;
2626
- return this.translate.instant(translationKey);
2630
+ const translationKeyn = type + '.' + nlabel;
2631
+ return this.translate.instant(translationKeyn);
2627
2632
  }
2628
- // tslint:disable-next-line: prefer-template
2629
- /** @type {?} */
2630
- const translationKeyn = type + '.' + nlabel;
2631
- return this.translate.instant(translationKeyn);
2633
+ return label;
2632
2634
  }
2633
2635
  /**
2634
2636
  * @param {?} label
@@ -3921,7 +3923,18 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
3921
3923
  if (response && response.results) {
3922
3924
  // console.log('calling after-- ')
3923
3925
  if (response.results.result.content) {
3924
- this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
3926
+ if (strip.key === 'scheduledAssessment') {
3927
+ this.enrollInterval = setInterval((/**
3928
+ * @return {?}
3929
+ */
3930
+ () => {
3931
+ this.checkInvitOnlyAssessments(response.results.result.content, strip, calculateParentStatus, response.viewMoreUrl);
3932
+ // tslint:disable-next-line
3933
+ }), 1000);
3934
+ }
3935
+ else {
3936
+ this.processStrip(strip, this.transformContentsToWidgets(response.results.result.content, strip), 'done', calculateParentStatus, response.viewMoreUrl);
3937
+ }
3925
3938
  }
3926
3939
  else if (response.results.result.Event) {
3927
3940
  this.processStrip(strip, this.transformEventsToWidgets(response.results.result.Event, strip), 'done', calculateParentStatus, response.viewMoreUrl);
@@ -3942,6 +3955,33 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
3942
3955
  }
3943
3956
  });
3944
3957
  }
3958
+ /**
3959
+ * @param {?} content
3960
+ * @param {?} strip
3961
+ * @param {?} calculateParentStatus
3962
+ * @param {?} viewMoreUrl
3963
+ * @return {?}
3964
+ */
3965
+ checkInvitOnlyAssessments(content, strip, calculateParentStatus, viewMoreUrl) {
3966
+ if (localStorage.getItem('enrollmentMapData')) {
3967
+ this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');
3968
+ /** @type {?} */
3969
+ let filteredArray = [];
3970
+ content.forEach((/**
3971
+ * @param {?} data
3972
+ * @return {?}
3973
+ */
3974
+ (data) => {
3975
+ if (this.enrollmentMapData[data.identifier]) {
3976
+ data['batch'] = this.enrollmentMapData[data.identifier].batch;
3977
+ data['completionPercentage'] = this.enrollmentMapData[data.identifier].completionPercentage;
3978
+ filteredArray.push(data);
3979
+ }
3980
+ }));
3981
+ this.processStrip(strip, this.transformContentsToWidgets(filteredArray, strip), 'done', calculateParentStatus, viewMoreUrl);
3982
+ clearInterval(this.enrollInterval);
3983
+ }
3984
+ }
3945
3985
  /**
3946
3986
  * @param {?} strip
3947
3987
  * @param {?} request
@@ -5194,6 +5234,7 @@ class ContentStripWithTabsLibComponent extends WidgetBaseComponent {
5194
5234
  fetchCiosContentData(strip, calculateParentStatus = true) {
5195
5235
  return __awaiter(this, void 0, void 0, function* () {
5196
5236
  if (strip.request && strip.request.ciosContent && Object.keys(strip.request.ciosContent).length) {
5237
+ debugger;
5197
5238
  /** @type {?} */
5198
5239
  let originalFilters = [];
5199
5240
  if (strip.request &&
@@ -5318,6 +5359,8 @@ if (false) {
5318
5359
  ContentStripWithTabsLibComponent.prototype.enrollInterval;
5319
5360
  /** @type {?} */
5320
5361
  ContentStripWithTabsLibComponent.prototype.todaysEvents;
5362
+ /** @type {?} */
5363
+ ContentStripWithTabsLibComponent.prototype.enrollmentMapData;
5321
5364
  /**
5322
5365
  * @type {?}
5323
5366
  * @private
@@ -7545,14 +7588,12 @@ var NsCardContent$1;
7545
7588
  class CardsComponent extends WidgetBaseComponent {
7546
7589
  /**
7547
7590
  * @param {?} utilitySvc
7548
- * @param {?} configSvc
7549
7591
  * @param {?} contSvc
7550
7592
  * @param {?} router
7551
7593
  */
7552
- constructor(utilitySvc, configSvc, contSvc, router) {
7594
+ constructor(utilitySvc, contSvc, router) {
7553
7595
  super();
7554
7596
  this.utilitySvc = utilitySvc;
7555
- this.configSvc = configSvc;
7556
7597
  this.contSvc = contSvc;
7557
7598
  this.router = router;
7558
7599
  this.triggerTelemetry = new EventEmitter();
@@ -7568,6 +7609,13 @@ class CardsComponent extends WidgetBaseComponent {
7568
7609
  () => {
7569
7610
  this.getCbPlanData();
7570
7611
  }), 1000);
7612
+ this.enrollInterval = setInterval((/**
7613
+ * @return {?}
7614
+ */
7615
+ () => {
7616
+ this.getEnrollmentData();
7617
+ // tslint:disable-next-line
7618
+ }), 1000);
7571
7619
  }
7572
7620
  /**
7573
7621
  * @return {?}
@@ -7595,21 +7643,8 @@ class CardsComponent extends WidgetBaseComponent {
7595
7643
  */
7596
7644
  getRedirectUrlData(content) {
7597
7645
  return __awaiter(this, void 0, void 0, function* () {
7598
- /** @type {?} */
7599
- const userProfile = this.configSvc.userProfile;
7600
7646
  if (content.externalId) {
7601
- /** @type {?} */
7602
- let extUrl = content.redirectUrl.replace('<username>', userProfile.userId)
7603
- // const url = this.router.serializeUrl(
7604
- // this.router.createUrlTree([extUrl])
7605
- // );
7606
- ;
7607
- // const url = this.router.serializeUrl(
7608
- // this.router.createUrlTree([extUrl])
7609
- // );
7610
7647
  this.router.navigate([`app/toc/ext/${content.contentId}`]);
7611
- // window.open(extUrl, '_blank');
7612
- // window.open(content.redirectUrl)
7613
7648
  }
7614
7649
  else {
7615
7650
  /** @type {?} */
@@ -7643,6 +7678,15 @@ class CardsComponent extends WidgetBaseComponent {
7643
7678
  clearInterval(this.cbPlanInterval);
7644
7679
  }
7645
7680
  }
7681
+ /**
7682
+ * @return {?}
7683
+ */
7684
+ getEnrollmentData() {
7685
+ if (localStorage.getItem('enrollmentMapData')) {
7686
+ this.enrollmentMapData = JSON.parse(localStorage.getItem('enrollmentMapData') || '{}');
7687
+ clearInterval(this.enrollInterval);
7688
+ }
7689
+ }
7646
7690
  /**
7647
7691
  * @param {?} data
7648
7692
  * @return {?}
@@ -7654,14 +7698,13 @@ class CardsComponent extends WidgetBaseComponent {
7654
7698
  CardsComponent.decorators = [
7655
7699
  { type: Component, args: [{
7656
7700
  selector: 'sb-uic-cards',
7657
- template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib-skeleton'\" [ngTemplateOutlet]=\"cardWideLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib'\" [ngTemplateOutlet]=\"cardWideLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2'\" [ngTemplateOutlet]=\"cardWideV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2-skeleton'\" [ngTemplateOutlet]=\"cardWideV2Skeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib'\" [ngTemplateOutlet]=\"cardMdo\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-home-lib'\" [ngTemplateOutlet]=\"cardMdoHome\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib-skeleton'\" [ngTemplateOutlet]=\"cardMdoSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib'\" [ngTemplateOutlet]=\"cardKarmaProgram\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitExtLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib'\" [ngTemplateOutlet]=\"cardPortraitExtLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" \n [cbPlanMapData]=\"cbPlanMapData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [widgetData]=\"widgetData\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\">\n </sb-uic-card-landscape>\n</ng-template>\n\n<ng-template #cardWideLib>\n <sb-uic-card-wide (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n<ng-template #cardWideV2Skeleton>\n <sb-uic-card-wide-v2 [widgetData]=\"widgetData\" [isCardLoading]=\"true\" ></sb-uic-card-wide-v2>\n</ng-template>\n<ng-template #cardWideV2>\n <sb-uic-card-wide-v2\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\"\n [widgetData]=\"widgetData\">\n </sb-uic-card-wide-v2>\n</ng-template>\n\n<ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n</ng-template>\n<ng-template #cardMdoHome>\n <sb-uic-card-mdo-channel-v1 [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel-v1>\n</ng-template>\n<ng-template #cardMdo>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardMdoSkeleton>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardKarmaProgramSkeleton>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgram>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"false\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgramV2>\n <!-- <sb-uic-card-karma-programs-v2 [widgetData]=\"widgetData\"><sb-uic-card-karma-programs-v2> -->\n</ng-template>\n\n<!-- cios card -->\n<ng-template #cardPortraitExtLibSkeleton>\n <sb-uic-card-portrait-ext [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait-ext>\n</ng-template>\n<ng-template #cardPortraitExtLib>\n <sb-uic-card-portrait-ext \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait-ext>\n</ng-template>",
7701
+ template: "<div class=\"widget-card-content-new\">\n <ng-container *ngIf=\"widgetData && (((widgetData?.deletedMode || 'none') === 'hide' && !!!isLiveOrMarkForDeletion)\n ? false\n : !((widgetData?.intranetMode || 'none') === 'hide' && !!showIntranetContent))\"\n [ngSwitch]=\"( (widgetData && widgetData?.cardSubType) || 'cardPortraitLib')\">\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'user-card'\" [ngTemplateOutlet]=\"cardUser\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-lib'\" [ngTemplateOutlet]=\"cardPortraitLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib-skeleton'\" [ngTemplateOutlet]=\"cardLandscapeLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-landscape-lib'\" [ngTemplateOutlet]=\"cardLandscapeLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib-skeleton'\" [ngTemplateOutlet]=\"cardWideLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-lib'\" [ngTemplateOutlet]=\"cardWideLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2'\" [ngTemplateOutlet]=\"cardWideV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-wide-v2-skeleton'\" [ngTemplateOutlet]=\"cardWideV2Skeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib'\" [ngTemplateOutlet]=\"cardMdo\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-home-lib'\" [ngTemplateOutlet]=\"cardMdoHome\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-mdo-lib-skeleton'\" [ngTemplateOutlet]=\"cardMdoSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-scheduled-assessment'\" [ngTemplateOutlet]=\"cardScheduledAssessment\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-scheduled-assessment-skeleton'\" [ngTemplateOutlet]=\"cardScheduledAssessmentSkelton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib'\" [ngTemplateOutlet]=\"cardKarmaProgram\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-progress-portrait-lib'\" [ngTemplateOutlet]=\"cardProgressLib\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-progress-portrait-lib-skeleton'\" [ngTemplateOutlet]=\"cardProgressLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-karma-program-lib-v2-skeleton'\" [ngTemplateOutlet]=\"cardKarmaProgramV2\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib-skeleton'\" [ngTemplateOutlet]=\"cardPortraitExtLibSkeleton\"></ng-container>\n <ng-container *ngSwitchCase=\"'card-portrait-ext-lib'\" [ngTemplateOutlet]=\"cardPortraitExtLib\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #cardPortraitLibSkeleton>\n <sb-uic-card-portrait [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardPortraitLib>\n <sb-uic-card-portrait \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait>\n</ng-template>\n<ng-template #cardLandscapeLibSkeleton>\n <sb-uic-card-landscape [widgetData]=\"widgetData\" \n [cbPlanMapData]=\"cbPlanMapData\" [isCardLoading]=\"true\"></sb-uic-card-landscape>\n</ng-template>\n<ng-template #cardLandscapeLib>\n <sb-uic-card-landscape\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [widgetData]=\"widgetData\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\">\n </sb-uic-card-landscape>\n</ng-template>\n\n<ng-template #cardWideLib>\n <sb-uic-card-wide (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n<ng-template #cardWideLibSkeleton>\n <sb-uic-card-wide [widgetData]=\"widgetData\"></sb-uic-card-wide>\n</ng-template>\n\n<ng-template #cardWideV2Skeleton>\n <sb-uic-card-wide-v2 [widgetData]=\"widgetData\" [isCardLoading]=\"true\" ></sb-uic-card-wide-v2>\n</ng-template>\n<ng-template #cardWideV2>\n <sb-uic-card-wide-v2\n (contentData)=\"getRedirectUrlData($event)\"\n (triggerTelemetry)=\"raiseCardClick($event)\"\n [cbPlanMapData]=\"cbPlanMapData\"\n [isCardLoading]=\"false\"\n [widgetData]=\"widgetData\">\n </sb-uic-card-wide-v2>\n</ng-template>\n\n<ng-template #cardUser>\n <sb-uic-card-user [widgetData]=\"widgetData\"></sb-uic-card-user>\n</ng-template>\n<ng-template #cardMdoHome>\n <sb-uic-card-mdo-channel-v1 [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel-v1>\n</ng-template>\n<ng-template #cardMdo>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardMdoSkeleton>\n <sb-uic-card-mdo-channel [widgetData]=\"widgetData\"></sb-uic-card-mdo-channel>\n</ng-template>\n<ng-template #cardKarmaProgramSkeleton>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardKarmaProgram>\n <sb-uic-card-karma-programs [randomColorApply]=\"true\" \n [isCardLoading]=\"false\" [widgetData]=\"widgetData\"></sb-uic-card-karma-programs>\n</ng-template>\n<ng-template #cardScheduledAssessmentSkelton>\n <sb-uic-card-assessment [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-assessment>\n</ng-template>\n<ng-template #cardScheduledAssessment>\n <sb-uic-card-assessment [widgetData]=\"widgetData\" (contentData)=\"getRedirectUrlData($event)\" [isCardLoading]=\"false\" [enrollmentMapData]=\"enrollmentMapData\"></sb-uic-card-assessment>\n</ng-template>\n<ng-template #cardProgressLibSkeleton>\n <sb-uic-card-progress-portrait-lib \n [isCardLoading]=\"true\" [widgetData]=\"widgetData\"></sb-uic-card-progress-portrait-lib>\n</ng-template>\n<ng-template #cardProgressLib>\n <sb-uic-card-progress-portrait-lib \n [isCardLoading]=\"false\" (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\"></sb-uic-card-progress-portrait-lib>\n</ng-template>\n<ng-template #cardKarmaProgramV2>\n <!-- <sb-uic-card-karma-programs-v2 [widgetData]=\"widgetData\"><sb-uic-card-karma-programs-v2> -->\n</ng-template>\n\n<!-- cios card -->\n<ng-template #cardPortraitExtLibSkeleton>\n <sb-uic-card-portrait-ext [widgetData]=\"widgetData\" [isCardLoading]=\"true\"></sb-uic-card-portrait-ext>\n</ng-template>\n<ng-template #cardPortraitExtLib>\n <sb-uic-card-portrait-ext \n [cbPlanMapData]=\"cbPlanMapData\"\n (contentData)=\"getRedirectUrlData($event)\" [widgetData]=\"widgetData\" [isCardLoading]=\"false\"></sb-uic-card-portrait-ext>\n</ng-template>",
7658
7702
  styles: [""]
7659
7703
  }] }
7660
7704
  ];
7661
7705
  /** @nocollapse */
7662
7706
  CardsComponent.ctorParameters = () => [
7663
7707
  { type: UtilityService },
7664
- { type: ConfigurationsService$1 },
7665
7708
  { type: WidgetContentService },
7666
7709
  { type: Router }
7667
7710
  ];
@@ -7680,16 +7723,15 @@ if (false) {
7680
7723
  CardsComponent.prototype.cbPlanMapData;
7681
7724
  /** @type {?} */
7682
7725
  CardsComponent.prototype.cbPlanInterval;
7726
+ /** @type {?} */
7727
+ CardsComponent.prototype.enrollInterval;
7728
+ /** @type {?} */
7729
+ CardsComponent.prototype.enrollmentMapData;
7683
7730
  /**
7684
7731
  * @type {?}
7685
7732
  * @private
7686
7733
  */
7687
7734
  CardsComponent.prototype.utilitySvc;
7688
- /**
7689
- * @type {?}
7690
- * @private
7691
- */
7692
- CardsComponent.prototype.configSvc;
7693
7735
  /**
7694
7736
  * @type {?}
7695
7737
  * @private
@@ -7943,6 +7985,49 @@ PipePublicURLModule.decorators = [
7943
7985
  },] }
7944
7986
  ];
7945
7987
 
7988
+ /**
7989
+ * @fileoverview added by tsickle
7990
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7991
+ */
7992
+ class ObjectToArrayPipe {
7993
+ // transform(value: any, ...args: any[]): any[] {
7994
+ // console.log("function called")
7995
+ // if (!value) {
7996
+ // return [];
7997
+ // }
7998
+ // console.log(Object.keys(value).map(key => ({ key, value: value[key] })), "Object.keys(value).map(key => ({ key, value: value[key] }))==----------")
7999
+ // return Object.keys(value).map(key => ({ key, value: value[key] }));
8000
+ // }
8001
+ /**
8002
+ * @param {...?} args
8003
+ * @return {?}
8004
+ */
8005
+ transform(...args) {
8006
+ return args;
8007
+ }
8008
+ }
8009
+ ObjectToArrayPipe.decorators = [
8010
+ { type: Pipe, args: [{
8011
+ name: 'objectToArray'
8012
+ },] }
8013
+ ];
8014
+
8015
+ /**
8016
+ * @fileoverview added by tsickle
8017
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
8018
+ */
8019
+ class ObjectToArrayPipeModule {
8020
+ }
8021
+ ObjectToArrayPipeModule.decorators = [
8022
+ { type: NgModule, args: [{
8023
+ declarations: [ObjectToArrayPipe],
8024
+ imports: [
8025
+ CommonModule,
8026
+ ],
8027
+ exports: [ObjectToArrayPipe],
8028
+ },] }
8029
+ ];
8030
+
7946
8031
  /**
7947
8032
  * @fileoverview added by tsickle
7948
8033
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -8088,7 +8173,7 @@ DefaultThumbnailModule.decorators = [
8088
8173
  class PipeDurationTransformPipe {
8089
8174
  /**
8090
8175
  * @param {?} data
8091
- * @param {?} type
8176
+ * @param {?=} type
8092
8177
  * @return {?}
8093
8178
  */
8094
8179
  transform(data, type) {
@@ -9514,37 +9599,24 @@ if (false) {
9514
9599
  * @fileoverview added by tsickle
9515
9600
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9516
9601
  */
9517
- class CardMdoChannelV1Component {
9602
+ // @Directive({
9603
+ // selector: '[callFunctionOnInit]'
9604
+ // })
9605
+ class CardAssessmentComponent {
9518
9606
  /**
9519
- * @param {?} events
9520
- * @param {?} translate
9521
- * @param {?} langtranslations
9522
9607
  * @param {?} configSvc
9523
9608
  * @param {?} contSvc
9524
- * @param {?} router
9525
9609
  */
9526
- constructor(events, translate, langtranslations, configSvc, contSvc, router) {
9527
- this.events = events;
9528
- this.translate = translate;
9529
- this.langtranslations = langtranslations;
9610
+ constructor(configSvc, contSvc) {
9530
9611
  this.configSvc = configSvc;
9531
9612
  this.contSvc = contSvc;
9532
- this.router = router;
9533
- this.channelData = new EventEmitter();
9534
- this.emitTelemetry = new EventEmitter();
9535
- this.widgetType = '';
9536
- this.widgetSubType = '';
9537
- this.langtranslations.languageSelectedObservable.subscribe((/**
9538
- * @return {?}
9539
- */
9540
- () => {
9541
- if (localStorage.getItem('websiteLanguage')) {
9542
- this.translate.setDefaultLang('en');
9543
- /** @type {?} */
9544
- const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
9545
- this.translate.use(lang);
9546
- }
9547
- }));
9613
+ this.contentData = new EventEmitter();
9614
+ this.isCardLoading = false;
9615
+ this.stripData = [];
9616
+ this.enrollList = [];
9617
+ this.activeResource = [];
9618
+ this.daysRemaining = 0;
9619
+ this.daysPending = false;
9548
9620
  }
9549
9621
  /**
9550
9622
  * @return {?}
@@ -9554,8 +9626,7 @@ class CardMdoChannelV1Component {
9554
9626
  const instanceConfig = this.configSvc.instanceConfig;
9555
9627
  if (instanceConfig) {
9556
9628
  this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
9557
- this.sourceLogos = instanceConfig.sources;
9558
- this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
9629
+ this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
9559
9630
  }
9560
9631
  else {
9561
9632
  this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
@@ -9563,110 +9634,963 @@ class CardMdoChannelV1Component {
9563
9634
  }
9564
9635
  }
9565
9636
  /**
9566
- * @param {?} contentData
9637
+ * @param {?} startDate
9567
9638
  * @return {?}
9568
9639
  */
9569
- raiseTelemetry(contentData) {
9570
- this.emitTelemetry.emit(contentData);
9571
- if (this.widgetData) {
9572
- contentData['typeOfTelemetry'] = 'mdo-channel';
9640
+ updateStartDate(startDate) {
9641
+ this.startDate = startDate;
9642
+ this.startCountdown(this.startDate);
9643
+ }
9644
+ /**
9645
+ * @param {?} date
9646
+ * @return {?}
9647
+ */
9648
+ startCountdown(date) {
9649
+ // Update the countdown immediately on start
9650
+ this.updateCountdown(date);
9651
+ // Update the countdown every second
9652
+ this.intervalId = setInterval((/**
9653
+ * @return {?}
9654
+ */
9655
+ () => {
9656
+ this.updateCountdown(date);
9657
+ }), 1000);
9658
+ }
9659
+ // Method to update the countdown values
9660
+ /**
9661
+ * @param {?} targetDate
9662
+ * @return {?}
9663
+ */
9664
+ updateCountdown(targetDate) {
9665
+ /** @type {?} */
9666
+ const now = new Date().getTime();
9667
+ // Current time in milliseconds
9668
+ /** @type {?} */
9669
+ const targetTime = new Date(targetDate).getTime();
9670
+ /** @type {?} */
9671
+ const distance = targetTime - now;
9672
+ if (distance > 0) {
9673
+ this.daysRemaining = Math.ceil(distance / (1000 * 60 * 60 * 24));
9674
+ this.daysPending = true;
9675
+ }
9676
+ else {
9677
+ this.daysRemaining = 0;
9678
+ this.daysPending = false;
9679
+ this.clearTimer();
9573
9680
  }
9574
- this.contSvc.changeTelemetryData(contentData);
9575
9681
  }
9682
+ // Method to clear the interval
9576
9683
  /**
9577
- * @param {?} channeldata
9578
9684
  * @return {?}
9579
9685
  */
9580
- channelClick(channeldata) {
9581
- this.channelData.emit(channeldata);
9686
+ clearTimer() {
9687
+ clearInterval(this.intervalId);
9582
9688
  }
9583
9689
  /**
9584
- * @param {?} content
9585
9690
  * @return {?}
9586
9691
  */
9587
- redirectTo(content) {
9588
- this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`]);
9692
+ ngOnDestroy() {
9693
+ this.clearTimer();
9694
+ }
9695
+ /**
9696
+ * @param {?} contentData
9697
+ * @return {?}
9698
+ */
9699
+ getRedirectUrlData(contentData) {
9700
+ // for telemetry
9701
+ if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
9702
+ contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
9703
+ }
9704
+ this.contSvc.changeTelemetryData(contentData);
9705
+ // for redirection
9706
+ this.contentData.emit(contentData);
9589
9707
  }
9590
9708
  }
9591
- CardMdoChannelV1Component.decorators = [
9709
+ CardAssessmentComponent.decorators = [
9592
9710
  { type: Component, args: [{
9593
- selector: 'sb-uic-card-mdo-channel-v1',
9594
- template: "<mat-card class=\"channels-card card-channels-container mr-5 padding-remove cursor-pointer\">\n <div class=\"display-contents\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"raiseTelemetry(widgetData?.content); redirectTo(widgetData?.content); $event.stopPropagation()\"\n i18n-aria-label>\n <ng-container>\n <mat-card-content class=\"min-top\">\n <div class=\"flex flex-col h-full\">\n <div class=\"image-container\">\n <ng-container *ngIf=\"widgetData?.content?.imgUrl; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.imgUrl\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.orgName\" />\n </ng-container>\n <ng-template #defaultImg>\n <sb-uic-avatar-photo [randomColor]=\"true\" [name]=\"widgetData?.content?.orgName\" [photoUrl]=\"widgetData?.content?.imgUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </ng-template>\n </div>\n <div class=\"flex title-container px-2\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"flex-1 text-center mat-subheading-2 title-text ws-mat-black-text\">\n {{ widgetData?.content?.orgName }}\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>",
9595
- styles: [".card-channels-container{position:relative;width:245px;box-sizing:border-box;box-shadow:0 10px 30px rgba(153,153,153,.2);overflow:hidden;min-height:156px;height:156px;max-height:156px;margin:20px 8px;background:#7faeff!important;border-radius:12px;padding:4px!important}.card-channels-container .min-top{background:inherit;margin-bottom:0;height:inherit}.card-channels-container .image-container{background-color:#fff;width:inherit;height:86px;max-height:86px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:12px}.card-channels-container .card-img{max-height:62px;min-height:62px;display:block;-o-object-fit:fill;object-fit:contain}.card-channels-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-channels-container .title-container{background:inherit}.card-channels-container .description-text{position:relative;overflow:hidden;height:51px}.card-channels-container .title-text{word-break:break-all;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}"]
9711
+ selector: 'sb-uic-card-assessment',
9712
+ template: "<ng-container *ngIf=\"!isCardLoading\">\n<ng-container >\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t<a (click)=\"getRedirectUrlData(widgetData?.content); $event.stopPropagation()\">\n\t\t<div class=\"display-contents\">\n\t\t\t<ng-container *ngIf=\"widgetData\">\n\t\t\t\t<mat-card-content>\n\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<img mat-card-image class=\"margin-remove assess-img\" [src]=\"widgetData?.content?.posterImage | pipePublicURL\"\n\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\">\n\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n\t\t\t\t\t\t\t\t\t<ng-template #defaultImg>\n\t\t\t\t\t\t\t\t\t\t<img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"card-wide-img ws-mat-primary-lite-background margin-remove assess-img\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"widgetData?.content?.name\" />\n\t\t\t\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t<div class=\"flex title-text mat-subheading-1\">\n\t\t\t\t\t\t\t\t\t{{ widgetData?.content?.name }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-s font-normal mat-caption sub-title-text\">\n\t\t\t\t\t\t\t\t\t<div class=\"course_logo_box\">\n\t\t\t\t\t\t\t\t\t\t<img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\"\n\t\t\t\t\t\t\t\t\t\t\t[wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n\t\t\t\t\t\t\t\t\t\t\t[alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"sub-title-text\">\n\t\t\t\t\t\t\t\t\t\t{{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ?\n\t\t\t\t\t\t\t\t\t\twidgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<span class=\"start-span\">Assessment starts in </span>\n\t\t\t\t\t\t<mat-card-footer class=\"assessment-card-footer padding-m\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"daysPending\"> {{ startCountdown(widgetData?.content?.batch?.startDate) }}<div id=\"demo\"></div> </span>\n\t\t\t\t\t\t\t\t\t<span *ngIf=\"!daysPending\" class=\"start-btn\"> Start Assessment\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<span class=\"time-span flex items-center justify-center\">{{widgetData?.content?.batch?.startDate | date: 'd MMM, y' }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t</div>\n\t\t\t\t</mat-card-content>\n\t\t\t</ng-container>\n\t\t</div>\n\t</a>\n</mat-card>\n</ng-container>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"isCardLoading\">\n\t<ng-container [ngTemplateOutlet]=\"skeltonLoader\"></ng-container>\n</ng-container>\n\n<ng-template #skeltonLoader>\n\n\t<mat-card class=\"card-assessment card-scheduled-assessment card-users-container padding-remove cursor-pointer mr-4\">\n\t\t<a>\n\t\t\t<div class=\"display-contents\">\n\t\t\t\t<ng-container>\n\t\t\t\t\t<mat-card-content>\n\t\t\t\t\t\t<div class=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t<div class=\"flex flex-1 flex-row padding-s\">\n\t\t\t\t\t\t\t\t<div class=\"flex image-container\">\n\t\t\t\t\t\t\t\t\t<ng-container>\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'300px'\" [height]=\"'155px'\"\n\t\t\t\t\t\t\t\t\t\t\t></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex title-container flex-col\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"flex margin-remove margin-top-l font-normal\">\n\t\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- <span class=\"text-center\"><sb-uic-skeleton-loader [width]=\"'90px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader> </span> -->\n\t\t\t\t\t\t\t<mat-card-footer\n\t\t\t\t\t\t\t\tclass=\"assessment-card-footer col-row padding-l\">\n\t\t\t\t\t\t\t\t<div class=\"flex flex-1 items-center justify-center col-row margin-top-m\">\n\t\t\t\t\t\t\t\t<div class=\"flex margin-right-m\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"flex\">\n\t\t\t\t\t\t\t\t\t<sb-uic-skeleton-loader [width]=\"'100px'\" [height]=\"'16px'\"\n\t\t\t\t\t\t\t\t\t\t[bindingClass]=\"'flex rounded br-8'\"></sb-uic-skeleton-loader>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</mat-card-footer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</mat-card-content>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</a>\n\t</mat-card>\n</ng-template>",
9713
+ styles: [".card-assessment{width:100%;min-height:190px;box-sizing:border-box;min-width:335px;margin-top:16px}.image-container{width:155px;height:120px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}.title-container{margin-left:12px}.title-text{word-break:break-word;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:48px;font:600 14px/24px Montserrat}.sub-title-text{width:75%;word-break:break-word;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.course_logo_box{width:38px;height:38px;background:#fff;border-radius:8px;box-sizing:border-box;margin-right:4px;box-shadow:0 2px 1px -1px rgb(0 0 0 / 20%),0 1px 1px 0 rgb(0 0 0 / 14%),0 1px 3px 0 rgb(0 0 0 / 12%)}.course_logo_box img.source-icon{height:28px;width:28px;padding:5px;display:inline-block}.mat-card-footer{margin:0!important}.time-span{padding:2px 8px;color:#fff;border-radius:4px;text-align:center;font-size:12px;background-color:green}span.start-span{border-radius:50px;border:2px solid rgba(0,0,0,.08);font-size:12px;text-align:center;position:absolute;bottom:0;width:140px;left:50%;margin-left:-70px;background-color:#fff;margin-bottom:62px;margin-right:8px}.assessment-card-footer{background:rgba(239,149,30,.16)!important;text-align:center;box-sizing:border-box}.start-btn{background:#1b4ca1!important;color:#fff;font-size:14px;font-weight:600;border-radius:25px;text-align:center;padding:4px 12px}.dots-container{display:none}"]
9596
9714
  }] }
9597
9715
  ];
9598
9716
  /** @nocollapse */
9599
- CardMdoChannelV1Component.ctorParameters = () => [
9600
- { type: EventService },
9601
- { type: TranslateService },
9602
- { type: MultilingualTranslationsService$1 },
9717
+ CardAssessmentComponent.ctorParameters = () => [
9603
9718
  { type: ConfigurationsService$1 },
9604
- { type: WidgetContentService },
9605
- { type: Router }
9719
+ { type: WidgetContentService }
9606
9720
  ];
9607
- CardMdoChannelV1Component.propDecorators = {
9721
+ CardAssessmentComponent.propDecorators = {
9608
9722
  widgetData: [{ type: Input }],
9609
- channelData: [{ type: Output }],
9610
- emitTelemetry: [{ type: Output }]
9723
+ enrollmentMapData: [{ type: Input }],
9724
+ contentData: [{ type: Output }],
9725
+ isCardLoading: [{ type: Input }]
9611
9726
  };
9612
9727
  if (false) {
9613
9728
  /** @type {?} */
9614
- CardMdoChannelV1Component.prototype.widgetData;
9729
+ CardAssessmentComponent.prototype.widgetData;
9615
9730
  /** @type {?} */
9616
- CardMdoChannelV1Component.prototype.channelData;
9731
+ CardAssessmentComponent.prototype.enrollmentMapData;
9617
9732
  /** @type {?} */
9618
- CardMdoChannelV1Component.prototype.emitTelemetry;
9733
+ CardAssessmentComponent.prototype.contentData;
9619
9734
  /** @type {?} */
9620
- CardMdoChannelV1Component.prototype.defaultThumbnail;
9735
+ CardAssessmentComponent.prototype.isCardLoading;
9621
9736
  /** @type {?} */
9622
- CardMdoChannelV1Component.prototype.sourceLogos;
9737
+ CardAssessmentComponent.prototype.stripData;
9623
9738
  /** @type {?} */
9624
- CardMdoChannelV1Component.prototype.defaultSLogo;
9739
+ CardAssessmentComponent.prototype.enrollList;
9625
9740
  /** @type {?} */
9626
- CardMdoChannelV1Component.prototype.widgetType;
9741
+ CardAssessmentComponent.prototype.activeResource;
9627
9742
  /** @type {?} */
9628
- CardMdoChannelV1Component.prototype.widgetSubType;
9743
+ CardAssessmentComponent.prototype.defaultThumbnail;
9744
+ /** @type {?} */
9745
+ CardAssessmentComponent.prototype.defaultSLogo;
9746
+ /** @type {?} */
9747
+ CardAssessmentComponent.prototype.daysRemaining;
9748
+ /** @type {?} */
9749
+ CardAssessmentComponent.prototype.startDate;
9750
+ /** @type {?} */
9751
+ CardAssessmentComponent.prototype.daysPending;
9629
9752
  /**
9630
9753
  * @type {?}
9631
9754
  * @private
9632
9755
  */
9633
- CardMdoChannelV1Component.prototype.events;
9756
+ CardAssessmentComponent.prototype.intervalId;
9634
9757
  /**
9635
9758
  * @type {?}
9636
9759
  * @private
9637
9760
  */
9638
- CardMdoChannelV1Component.prototype.translate;
9761
+ CardAssessmentComponent.prototype.configSvc;
9639
9762
  /**
9640
9763
  * @type {?}
9641
9764
  * @private
9642
9765
  */
9643
- CardMdoChannelV1Component.prototype.langtranslations;
9766
+ CardAssessmentComponent.prototype.contSvc;
9767
+ }
9768
+
9769
+ /**
9770
+ * @fileoverview added by tsickle
9771
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9772
+ */
9773
+ const ɵ0$3 = /**
9774
+ * @param {?} id
9775
+ * @return {?}
9776
+ */
9777
+ (id) => `certreg/v2/certs/download/${id}`, ɵ1$2 = /**
9778
+ * @param {?} id
9779
+ * @return {?}
9780
+ */
9781
+ (id) => `apis/protected/v8/cohorts/course/batch/cert/download/${id}`;
9782
+ /** @type {?} */
9783
+ const urls = {
9784
+ DOWNLOAD_CERTIFICATE: (ɵ0$3),
9785
+ DOWNLOAD_CERTIFICATE_v2: (ɵ1$2),
9786
+ };
9787
+ class CertificateService {
9644
9788
  /**
9645
- * @type {?}
9646
- * @private
9789
+ * @param {?} http
9647
9790
  */
9648
- CardMdoChannelV1Component.prototype.configSvc;
9791
+ constructor(http) {
9792
+ this.http = http;
9793
+ }
9794
+ /**
9795
+ * @param {?} id
9796
+ * @return {?}
9797
+ */
9798
+ downloadCertificate(id) {
9799
+ return this.http.get(urls.DOWNLOAD_CERTIFICATE(id));
9800
+ }
9801
+ /**
9802
+ * @param {?} id
9803
+ * @return {?}
9804
+ */
9805
+ downloadCertificate_v2(id) {
9806
+ return this.http.get(urls.DOWNLOAD_CERTIFICATE_v2(id));
9807
+ }
9808
+ }
9809
+ CertificateService.decorators = [
9810
+ { type: Injectable, args: [{
9811
+ providedIn: 'root'
9812
+ },] }
9813
+ ];
9814
+ /** @nocollapse */
9815
+ CertificateService.ctorParameters = () => [
9816
+ { type: HttpClient }
9817
+ ];
9818
+ /** @nocollapse */ CertificateService.ngInjectableDef = ɵɵdefineInjectable({ factory: function CertificateService_Factory() { return new CertificateService(ɵɵinject(HttpClient)); }, token: CertificateService, providedIn: "root" });
9819
+ if (false) {
9649
9820
  /**
9650
9821
  * @type {?}
9651
9822
  * @private
9652
9823
  */
9653
- CardMdoChannelV1Component.prototype.contSvc;
9654
- /** @type {?} */
9655
- CardMdoChannelV1Component.prototype.router;
9824
+ CertificateService.prototype.http;
9656
9825
  }
9657
9826
 
9658
9827
  /**
9659
9828
  * @fileoverview added by tsickle
9660
9829
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9661
9830
  */
9662
- class AvatarPhotoLibComponent {
9663
- constructor() {
9664
- this.size = '';
9665
- this.defaulfColor = '';
9666
- this.randomColor = false;
9667
- this.showBadge = false;
9668
- this.showInitials = false;
9669
- this.random = Math.random().toString(36).slice(2);
9831
+ class CertificateDialogComponent {
9832
+ /**
9833
+ * @param {?} environment
9834
+ * @param {?} events
9835
+ * @param {?} translate
9836
+ * @param {?} langtranslations
9837
+ * @param {?} dialogRef
9838
+ * @param {?} data
9839
+ */
9840
+ constructor(environment, events, translate, langtranslations, dialogRef, data) {
9841
+ this.events = events;
9842
+ this.translate = translate;
9843
+ this.langtranslations = langtranslations;
9844
+ this.dialogRef = dialogRef;
9845
+ this.data = data;
9846
+ this.navUrl = '';
9847
+ this.environment = environment;
9848
+ this.langtranslations.languageSelectedObservable.subscribe((/**
9849
+ * @return {?}
9850
+ */
9851
+ () => {
9852
+ if (localStorage.getItem('websiteLanguage')) {
9853
+ this.translate.setDefaultLang('en');
9854
+ /** @type {?} */
9855
+ const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
9856
+ this.translate.use(lang);
9857
+ }
9858
+ }));
9859
+ }
9860
+ /**
9861
+ * @return {?}
9862
+ */
9863
+ ngOnInit() {
9864
+ this.url = this.data.cet;
9865
+ // tslint:disable-next-line:max-line-length
9866
+ this.navUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${this.environment.contentHost}/apis/public/v8/cert/download/${this.data.certId}`;
9867
+ }
9868
+ /**
9869
+ * @return {?}
9870
+ */
9871
+ downloadCert() {
9872
+ this.raiseIntreactTelemetry('svg');
9873
+ /** @type {?} */
9874
+ const a = document.createElement('a');
9875
+ a.href = this.data.cet;
9876
+ a.download = 'Certificate';
9877
+ document.body.appendChild(a);
9878
+ a.style = 'display: none';
9879
+ a.click();
9880
+ a.remove();
9881
+ }
9882
+ /**
9883
+ * @return {?}
9884
+ */
9885
+ downloadCertPng() {
9886
+ this.raiseIntreactTelemetry('png');
9887
+ /** @type {?} */
9888
+ const uriData = this.data.cet;
9889
+ /** @type {?} */
9890
+ const img = new Image();
9891
+ img.src = uriData;
9892
+ img.width = 1820;
9893
+ img.height = 1000;
9894
+ img.onload = (/**
9895
+ * @return {?}
9896
+ */
9897
+ () => {
9898
+ /** @type {?} */
9899
+ const canvas = document.createElement('canvas');
9900
+ [canvas.width, canvas.height] = [img.width, img.height];
9901
+ /** @type {?} */
9902
+ const ctx = canvas.getContext('2d');
9903
+ if (ctx) {
9904
+ // ctx.imageSmoothingEnabled = true
9905
+ ctx.drawImage(img, 0, 0, img.width, img.height);
9906
+ /** @type {?} */
9907
+ const a = document.createElement('a');
9908
+ /** @type {?} */
9909
+ const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
9910
+ ;
9911
+ a.href = canvas.toDataURL('image/png', quality);
9912
+ a.download = 'Certificate';
9913
+ a.append(canvas);
9914
+ a.click();
9915
+ a.remove();
9916
+ }
9917
+ });
9918
+ }
9919
+ /**
9920
+ * @return {?}
9921
+ */
9922
+ downloadCertPdf() {
9923
+ return __awaiter(this, void 0, void 0, function* () {
9924
+ this.raiseIntreactTelemetry('pdf');
9925
+ /** @type {?} */
9926
+ const uriData = this.data.cet;
9927
+ /** @type {?} */
9928
+ const img = new Image();
9929
+ img.src = uriData;
9930
+ img.width = 1820;
9931
+ img.height = 1000;
9932
+ img.onload = (/**
9933
+ * @return {?}
9934
+ */
9935
+ () => {
9936
+ /** @type {?} */
9937
+ const canvas = document.createElement('canvas');
9938
+ [canvas.width, canvas.height] = [img.width, img.height];
9939
+ /** @type {?} */
9940
+ const ctx = canvas.getContext('2d');
9941
+ if (ctx) {
9942
+ ctx.drawImage(img, 0, 0, img.width, img.height);
9943
+ /** @type {?} */
9944
+ const quality = 1.0 // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
9945
+ ;
9946
+ // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality
9947
+ /** @type {?} */
9948
+ const dataImg = canvas.toDataURL('application/pdf', quality);
9949
+ /** @type {?} */
9950
+ const pdf = new jsPDF('landscape', 'px', 'a4')
9951
+ // add the image to the PDF
9952
+ ;
9953
+ // add the image to the PDF
9954
+ pdf.addImage(dataImg, 10, 20, 600, 350);
9955
+ // download the PDF
9956
+ pdf.save('Certificate.pdf');
9957
+ }
9958
+ });
9959
+ });
9960
+ }
9961
+ /**
9962
+ * @return {?}
9963
+ */
9964
+ shareCert() {
9965
+ this.raiseShareIntreactTelemetry('share');
9966
+ return window.open(this.navUrl, '_blank');
9967
+ }
9968
+ /**
9969
+ * @param {?=} type
9970
+ * @param {?=} action
9971
+ * @return {?}
9972
+ */
9973
+ raiseShareIntreactTelemetry(type, action) {
9974
+ this.events.raiseInteractTelemetry({
9975
+ type: WsEvents.EnumInteractTypes.CLICK,
9976
+ id: `${type}-${WsEvents.EnumInteractSubTypes.CERTIFICATE}`,
9977
+ subType: action && action,
9978
+ }, {
9979
+ id: this.data.certId,
9980
+ // id of the certificate
9981
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
9982
+ });
9983
+ }
9984
+ /**
9985
+ * @param {?=} action
9986
+ * @return {?}
9987
+ */
9988
+ raiseIntreactTelemetry(action) {
9989
+ this.events.raiseInteractTelemetry({
9990
+ type: WsEvents.EnumInteractTypes.CLICK,
9991
+ id: 'download-certificate',
9992
+ subType: action && action,
9993
+ }, {
9994
+ id: this.data.certId,
9995
+ // id of the certificate
9996
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
9997
+ });
9998
+ }
9999
+ }
10000
+ CertificateDialogComponent.decorators = [
10001
+ { type: Component, args: [{
10002
+ selector: 'sb-uic-certificate-dialog',
10003
+ template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button (click)=\"shareCert()\" class=\"ws-mat-accent-border-active mat-accent\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n",
10004
+ /* tslint:disable */
10005
+ host: { class: 'certificate-inner-dialog-panel' },
10006
+ styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:rgba(0,0,0,.6);font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}.close-icon{transition:1s ease-in-out;color:#fff!important}.close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;top:-52px;right:-52px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width:1279px){.certificate-banner-image{width:100%;height:auto;flex:1}.certificate-banner-image svg{width:auto;height:auto;flex:1}}.close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important;border-radius:50%!important}.ws-mat-accent-border{border:1px solid rgba(255,255,255,.08)}.ws-mat-accent-border-active{border:1px solid #1b4ca1;color:#1b4ca1}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}"]
10007
+ }] }
10008
+ ];
10009
+ /** @nocollapse */
10010
+ CertificateDialogComponent.ctorParameters = () => [
10011
+ { type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
10012
+ { type: EventService },
10013
+ { type: TranslateService },
10014
+ { type: MultilingualTranslationsService$1 },
10015
+ { type: MatDialogRef },
10016
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
10017
+ ];
10018
+ if (false) {
10019
+ /** @type {?} */
10020
+ CertificateDialogComponent.prototype.url;
10021
+ /** @type {?} */
10022
+ CertificateDialogComponent.prototype.navUrl;
10023
+ /** @type {?} */
10024
+ CertificateDialogComponent.prototype.environment;
10025
+ /**
10026
+ * @type {?}
10027
+ * @private
10028
+ */
10029
+ CertificateDialogComponent.prototype.events;
10030
+ /**
10031
+ * @type {?}
10032
+ * @private
10033
+ */
10034
+ CertificateDialogComponent.prototype.translate;
10035
+ /**
10036
+ * @type {?}
10037
+ * @private
10038
+ */
10039
+ CertificateDialogComponent.prototype.langtranslations;
10040
+ /** @type {?} */
10041
+ CertificateDialogComponent.prototype.dialogRef;
10042
+ /** @type {?} */
10043
+ CertificateDialogComponent.prototype.data;
10044
+ }
10045
+
10046
+ /**
10047
+ * @fileoverview added by tsickle
10048
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10049
+ */
10050
+ class CardProgressPortraitLibComponent {
10051
+ /**
10052
+ * @param {?} snackBar
10053
+ * @param {?} translate
10054
+ * @param {?} events
10055
+ * @param {?} langtranslations
10056
+ * @param {?} configSvc
10057
+ * @param {?} contSvc
10058
+ * @param {?} certificateService
10059
+ * @param {?} dialog
10060
+ */
10061
+ constructor(snackBar, translate, events, langtranslations, configSvc, contSvc, certificateService, dialog) {
10062
+ this.snackBar = snackBar;
10063
+ this.translate = translate;
10064
+ this.events = events;
10065
+ this.langtranslations = langtranslations;
10066
+ this.configSvc = configSvc;
10067
+ this.contSvc = contSvc;
10068
+ this.certificateService = certificateService;
10069
+ this.dialog = dialog;
10070
+ this.isCardLoading = false;
10071
+ this.contentData = new EventEmitter();
10072
+ this.isCardFlipped = false;
10073
+ this.acbpConstants = NsCardContent$1.ACBPConst;
10074
+ this.showFlip = false;
10075
+ this.widgetType = 'df';
10076
+ this.widgetSubType = 'sdf';
10077
+ this.downloadCertificateLoading = false;
10078
+ this.langtranslations.languageSelectedObservable.subscribe((/**
10079
+ * @return {?}
10080
+ */
10081
+ () => {
10082
+ if (localStorage.getItem('websiteLanguage')) {
10083
+ this.translate.setDefaultLang('en');
10084
+ /** @type {?} */
10085
+ const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
10086
+ this.translate.use(lang);
10087
+ }
10088
+ }));
10089
+ }
10090
+ /**
10091
+ * @return {?}
10092
+ */
10093
+ ngOnInit() {
10094
+ /** @type {?} */
10095
+ const instanceConfig = this.configSvc.instanceConfig;
10096
+ if (instanceConfig) {
10097
+ this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
10098
+ this.sourceLogos = instanceConfig.sources;
10099
+ this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
10100
+ }
10101
+ else {
10102
+ this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
10103
+ this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
10104
+ }
10105
+ }
10106
+ /**
10107
+ * @return {?}
10108
+ */
10109
+ showSnackbar() {
10110
+ if (this.showIntranetContent) {
10111
+ this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
10112
+ }
10113
+ else if (!this.isLiveOrMarkForDeletion) {
10114
+ this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
10115
+ }
10116
+ }
10117
+ /**
10118
+ * @param {?} contentData
10119
+ * @return {?}
10120
+ */
10121
+ getRedirectUrlData(contentData) {
10122
+ // for telemetry
10123
+ if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
10124
+ contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
10125
+ }
10126
+ this.contSvc.changeTelemetryData(contentData);
10127
+ // for redirection
10128
+ this.contentData.emit(contentData);
10129
+ }
10130
+ /**
10131
+ * @param {?} label
10132
+ * @param {?} type
10133
+ * @param {?=} subtype
10134
+ * @return {?}
10135
+ */
10136
+ translateLabels(label, type, subtype) {
10137
+ return this.langtranslations.translateLabelWithoutspace(label, type, subtype);
10138
+ }
10139
+ /**
10140
+ * @return {?}
10141
+ */
10142
+ raiseTelemetry() {
10143
+ this.events.raiseInteractTelemetry({
10144
+ type: 'click',
10145
+ subType: `${this.widgetType}-${this.widgetSubType}`,
10146
+ id: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
10147
+ }, {
10148
+ id: this.widgetData.content.identifier,
10149
+ type: this.widgetData.content.primaryCategory,
10150
+ //context: this.widgetData.context,
10151
+ rollup: {},
10152
+ ver: `${this.widgetData.content.version}${''}`,
10153
+ }, {
10154
+ pageIdExt: `${camelCase(this.widgetData.content.primaryCategory)}-card`,
10155
+ module: camelCase(this.widgetData.content.primaryCategory),
10156
+ });
10157
+ }
10158
+ /**
10159
+ * @param {?} certificateData
10160
+ * @return {?}
10161
+ */
10162
+ downloadCertificate(certificateData) {
10163
+ this.events.raiseInteractTelemetry({
10164
+ type: WsEvents.EnumInteractTypes.CLICK,
10165
+ id: 'view-certificate',
10166
+ subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,
10167
+ }, {
10168
+ id: certificateData.issuedCertificates[0].identifier,
10169
+ // id of the certificate
10170
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
10171
+ });
10172
+ if (certificateData.issuedCertificates.length > 0) {
10173
+ this.downloadCertificateLoading = true;
10174
+ /** @type {?} */
10175
+ let certData = certificateData.issuedCertificates[0];
10176
+ this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((/**
10177
+ * @param {?} res
10178
+ * @return {?}
10179
+ */
10180
+ (res) => {
10181
+ this.downloadCertificateLoading = false;
10182
+ /** @type {?} */
10183
+ const cet = res.result.printUri;
10184
+ this.dialog.open(CertificateDialogComponent, {
10185
+ width: '1300px',
10186
+ data: { cet, certId: certData.identifier },
10187
+ });
10188
+ }));
10189
+ }
10190
+ else {
10191
+ this.downloadCertificateLoading = false;
10192
+ }
10193
+ }
10194
+ }
10195
+ CardProgressPortraitLibComponent.decorators = [
10196
+ { type: Component, args: [{
10197
+ selector: 'sb-uic-card-progress-portrait-lib',
10198
+ template: "<ng-container *ngIf=\"!isCardLoading\">\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer\" [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\" (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" >\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\">\n <div class=\"flex flex-end flex-middle course_port\">\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData?.content?.primaryCategory\"\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\n ?'Module'\n :widgetData?.content?.primaryCategory\">\n </sb-uic-display-content-type>\n </div>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\n <div class=\" img-block-portrait position-relative\">\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\n </span>\n </div>\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\n <span class=\" ws-mat-white-text duration\">\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\n </span>\n </div>\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier]\">\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\n }}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-container>\n <ng-template #defaultImg>\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\n [alt]=\"widgetData?.content?.name\" />\n </ng-template>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"portrait-subheading mat-subheading-2 title-text\">\n {{ widgetData?.content?.name }}\n </div>\n <div class=\"flex w-full flex-middle\">\n <div class=\"portrait_course_logo_box margin-right-xs\">\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\n </div>\n <span class=\"portrait-org-name font-normal mat-caption\">{{'cardcontentv2.by' | translate}} {{ (widgetData?.content?.organisation && widgetData?.content?.organisation[0]) ? widgetData?.content?.organisation[0] : 'Karmayogi Bharat' }}</span>\n </div>\n\n </div>\n </div>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-between\" >\n <div class=\"progress-block\" >\n <div class=\"completed-time\">\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\n <span>{{widgetData?.content?.completionPercentage}}%</span>\n </div>\n <div>\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2\">\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\" *ngIf=\"widgetData?.content?.identifier\"\n [contentId]=\"widgetData?.content?.identifier\" [progress]=\"widgetData?.content?.completionPercentage\"\n [progressType]=\"'percentage'\">\n </sb-uic-content-progress>\n </ng-container>\n </div>\n </div>\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between\" [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\" \n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\n <span class=\"textwrap margin-right-xs\">\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}</span>\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\n </button>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage === 100\">\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\n <div class=\"progress-btn\">\n <button class=\"resume-btn flex flex-middle flex-between view-btn\" [ngClass]=\"{'disable-btn': downloadCertificateLoading || widgetData?.content?.issuedCertificates?.length === 0}\" (click)=\"!downloadCertificateLoading && downloadCertificate(widgetData?.content);$event.stopPropagation()\" \n [matTooltipPosition]=\"'below'\"\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\" src=\"/assets/icons/home/eye-white.svg\">\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\n </div>\n </button>\n </div>\n </div>\n </ng-container>\n </mat-card>\n</ng-container>\n\n\n<ng-template #cbpPlan let-data=\"data\">\n <div class=\"cbp-mark left-0 border-top-radius\">\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"isCardLoading\">\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\n <div class=\"margin-bottom-xs\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"flex\">\n <div class=\"margin-right-s\">\n <ng-container>\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </ng-container>\n </div>\n <div class=\"width-1-1\">\n <div class=\"portrait-subheading title-text\">\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\n </div>\n <div class=\"flex w-full flex-wrap flex-middle\">\n <div class=\" margin-right-xs\">\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\n </div>\n <div class=\"portrait_widget flex margin-top-xs\">\n <div class=\"flex flex-end flex-middle\">\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </div>\n </div>\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\n <div class=\"progress-block\">\n <div class=\"completed-time\">\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n <div class=\"progress-btn\">\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\" [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\n </div>\n </div>\n </mat-card>\n</ng-container>",
10199
+ styles: [".card-portrait{border-radius:12px;border:1px solid rgba(0,0,0,.08);opacity:1;width:318px;min-height:154px;padding:16px}.card-portrait .img-block-portrait{line-height:10px}.card-portrait .card-image{border-radius:8px;opacity:1;background-size:100%;width:147px;height:100px}.card-portrait .portrait-subheading{opacity:1;color:rgba(0,0,0,.87);font-weight:700;font-style:normal;letter-spacing:.25px;text-align:left;word-break:break-word;white-space:initial;margin:0 0 8px;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px}.card-portrait .portrait_course_logo_box img{padding:3px;display:inline-block;width:24px;height:24px;border:1px solid #d6d6d6;border-radius:4px;box-sizing:border-box}.card-portrait span.portrait-org-name{width:75%;word-break:break-all;white-space:initial;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.card-portrait .portrait_widget{align-items:center;margin-top:0}.card-portrait .portrait_widget .course_port{border:1px solid #ef951e;padding:4px 8px;align-items:center;border-radius:16px}.card-portrait .portrait_widget .video-icon{opacity:1;color:#ef951e;width:15px;height:15px;font-size:15px}.card-portrait .portrait_widget .portrait-category{color:rgba(0,0,0,.6)!important;font-size:.75rem;opacity:1;font-family:Lato-Regular;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:20px}.card-portrait .progress-wrapper .progress-block{width:60%}.card-portrait .progress-wrapper .progress-block .completed-time{color:#ef951e;display:flex;padding:8px 0}.card-portrait .progress-wrapper .progress-block .completed-time mat-icon{width:1rem;height:1rem;font-size:1rem}.card-portrait .progress-wrapper .progress-block .completed-time span{opacity:1;color:rgba(0,0,0,.87);font-family:Lato-Regular;font-size:.75rem;font-weight:400;font-style:normal;letter-spacing:.25px;text-align:left;line-height:16px}.card-portrait .progress-wrapper .progress-btn .resume-btn{opacity:1;color:#fff;font-family:Lato-Bold;font-size:14px;font-weight:700;font-style:normal;letter-spacing:.5px;text-align:left;line-height:20px;background:#1a4ca1;border-radius:63px;padding:6px 16px;border:none;width:100%;cursor:pointer}.card-portrait .progress-wrapper .progress-btn .resume-btn .textwrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82px}.card-portrait .progress-wrapper .progress-btn .resume-btn:hover{background-color:#253379}.card-portrait .progress-bar-new{color:#ef951e!important;height:10px;border-radius:5px}.card-portrait .rating-session mat-icon{font-size:20px;height:20px;width:20px;color:#ef951e}.card-portrait .rating-session .rating-number{font-size:14px}.card-portrait .rating-session .most-enrolled-text{font-size:10px;font-weight:400;padding:4px;background:#ffea9e;border-radius:4px;line-height:12px}.card-portrait .right-corner-portrait{right:8px;bottom:8px}.course_widget{margin-top:10px}.course_widget .mat-icon{vertical-align:middle;color:#ef951e!important}.course_widget .course_v2{border:1px solid #ef951e;padding:4px 8px;align-items:end;border-radius:16px}.course_widget .main_icon{font-size:16px;width:16px;height:16px}.rating-session mat-icon{font-size:16px;height:16px;width:12px;padding-right:3px;color:#ef951e}.rating-session span{font-size:11px}.rating-session .most-enrolled-text{padding:0 8px;background:#ffea9e;border-radius:4px}.duration-box{background:#000;position:absolute;border:none;display:flex;align-items:center;padding:4px;border-radius:4px}.duration-box.right-corner{right:4px;bottom:4px}.duration-box .mat-icon{vertical-align:middle;color:#fff!important;height:14px!important;width:14px!important;font-size:14px}.duration-box .duration{font:700 12px/16px Lato;display:inline-block;margin:0;padding:0}"]
10200
+ }] }
10201
+ ];
10202
+ /** @nocollapse */
10203
+ CardProgressPortraitLibComponent.ctorParameters = () => [
10204
+ { type: MatSnackBar },
10205
+ { type: TranslateService },
10206
+ { type: EventService },
10207
+ { type: MultilingualTranslationsService },
10208
+ { type: ConfigurationsService$1 },
10209
+ { type: WidgetContentService },
10210
+ { type: CertificateService },
10211
+ { type: MatDialog }
10212
+ ];
10213
+ CardProgressPortraitLibComponent.propDecorators = {
10214
+ widgetData: [{ type: Input }],
10215
+ isLiveOrMarkForDeletion: [{ type: Input }],
10216
+ showIntranetContent: [{ type: Input }],
10217
+ isIntranetAllowedSettings: [{ type: Input }],
10218
+ isCardLoading: [{ type: Input }],
10219
+ contentData: [{ type: Output }],
10220
+ cbPlanMapData: [{ type: Input }]
10221
+ };
10222
+ if (false) {
10223
+ /** @type {?} */
10224
+ CardProgressPortraitLibComponent.prototype.widgetData;
10225
+ /** @type {?} */
10226
+ CardProgressPortraitLibComponent.prototype.isLiveOrMarkForDeletion;
10227
+ /** @type {?} */
10228
+ CardProgressPortraitLibComponent.prototype.showIntranetContent;
10229
+ /** @type {?} */
10230
+ CardProgressPortraitLibComponent.prototype.isIntranetAllowedSettings;
10231
+ /** @type {?} */
10232
+ CardProgressPortraitLibComponent.prototype.isCardLoading;
10233
+ /** @type {?} */
10234
+ CardProgressPortraitLibComponent.prototype.contentData;
10235
+ /** @type {?} */
10236
+ CardProgressPortraitLibComponent.prototype.cbPlanMapData;
10237
+ /** @type {?} */
10238
+ CardProgressPortraitLibComponent.prototype.isCardFlipped;
10239
+ /** @type {?} */
10240
+ CardProgressPortraitLibComponent.prototype.acbpConstants;
10241
+ /** @type {?} */
10242
+ CardProgressPortraitLibComponent.prototype.defaultThumbnail;
10243
+ /** @type {?} */
10244
+ CardProgressPortraitLibComponent.prototype.sourceLogos;
10245
+ /** @type {?} */
10246
+ CardProgressPortraitLibComponent.prototype.defaultSLogo;
10247
+ /** @type {?} */
10248
+ CardProgressPortraitLibComponent.prototype.showFlip;
10249
+ /** @type {?} */
10250
+ CardProgressPortraitLibComponent.prototype.widgetType;
10251
+ /** @type {?} */
10252
+ CardProgressPortraitLibComponent.prototype.widgetSubType;
10253
+ /** @type {?} */
10254
+ CardProgressPortraitLibComponent.prototype.downloadCertificateLoading;
10255
+ /**
10256
+ * @type {?}
10257
+ * @private
10258
+ */
10259
+ CardProgressPortraitLibComponent.prototype.snackBar;
10260
+ /**
10261
+ * @type {?}
10262
+ * @private
10263
+ */
10264
+ CardProgressPortraitLibComponent.prototype.translate;
10265
+ /**
10266
+ * @type {?}
10267
+ * @private
10268
+ */
10269
+ CardProgressPortraitLibComponent.prototype.events;
10270
+ /**
10271
+ * @type {?}
10272
+ * @private
10273
+ */
10274
+ CardProgressPortraitLibComponent.prototype.langtranslations;
10275
+ /**
10276
+ * @type {?}
10277
+ * @private
10278
+ */
10279
+ CardProgressPortraitLibComponent.prototype.configSvc;
10280
+ /**
10281
+ * @type {?}
10282
+ * @private
10283
+ */
10284
+ CardProgressPortraitLibComponent.prototype.contSvc;
10285
+ /**
10286
+ * @type {?}
10287
+ * @private
10288
+ */
10289
+ CardProgressPortraitLibComponent.prototype.certificateService;
10290
+ /**
10291
+ * @type {?}
10292
+ * @private
10293
+ */
10294
+ CardProgressPortraitLibComponent.prototype.dialog;
10295
+ }
10296
+
10297
+ /**
10298
+ * @fileoverview added by tsickle
10299
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10300
+ */
10301
+ class ContentProgressComponent {
10302
+ constructor() {
10303
+ this.contentId = '';
10304
+ this.progress = 0;
10305
+ this.progressType = '';
10306
+ this.forPreview = false;
10307
+ this.className = '';
10308
+ this.customClassName = 'accent-progress';
10309
+ this.rendom = Math.random();
10310
+ this.id = `progress_${Math.random()}`;
10311
+ if (this.contentId) {
10312
+ this.id = this.contentId;
10313
+ }
10314
+ }
10315
+ /**
10316
+ * @return {?}
10317
+ */
10318
+ ngOnChanges() {
10319
+ if (this.contentId && !this.progress && !this.forPreview) {
10320
+ // this.progressSvc.getProgressFor(this.contentId).subscribe(data => {
10321
+ // this.progress = data
10322
+ // if (this.progress) {
10323
+ // this.progress = Math.round(this.progress * 10000) / 100
10324
+ // }
10325
+ // })
10326
+ }
10327
+ if (this.progress) {
10328
+ if (this.progressType === 'percentage') {
10329
+ this.progress = this.progress;
10330
+ }
10331
+ else {
10332
+ this.progress = Math.round(this.progress * 10000) / 100;
10333
+ }
10334
+ }
10335
+ }
10336
+ }
10337
+ ContentProgressComponent.decorators = [
10338
+ { type: Component, args: [{
10339
+ selector: 'sb-uic-content-progress',
10340
+ template: "<mat-progress-bar [mode]=\"'determinate'\" [matTooltip]=\"progress + ' %'\" [value]=\"progress\" class=\"new-w content-progress {{customClassName}}\"\n [attr.aria-labelledby]=\"'m-c-'+ contentId\" [ngClass]=\"{ 'visibility-0': progress === undefined, 'thick': className}\"\n i18n-aria-label> {{ progress }} % </mat-progress-bar>",
10341
+ /* tslint:disable */
10342
+ host: {
10343
+ // Sets the role for this component to "progressbar"
10344
+ role: 'progressbar',
10345
+ // Sets the minimum and maximum values for the progressbar role.
10346
+ 'aria-valuemin': '0',
10347
+ 'aria-valuemax': '100',
10348
+ 'title': 'progres',
10349
+ // Binding that updates the current value of the progressbar.
10350
+ '[attr.aria-valuenow]': 'progress',
10351
+ },
10352
+ styles: [".visibility-0{display:none}::ng-deep.mat-progress-bar.thick{height:10px}::ng-deep.theme-igot.day-mode .mat-progress-bar-fill::after{background:no-repeat padding-box #34d6a4}::ng-deep.theme-igot.day-mode .mat-progress-bar-background{fill:rgba(0,0,0,.001)!important}::ng-deep.theme-igot.day-mode .mat-progress-bar-buffer{background-color:rgba(0,0,0,.1)!important}::ng-deep .content-progress .mat-progress-bar-fill::after{background:#f69953!important}::ng-deep.theme-igot.day-mode .viewer-progress .mat-progress-bar-background{fill:rgba(0,0,0,.1)!important}::ng-deep.theme-igot.day-mode .viewer-progress .mat-progress-bar-buffer{background-color:rgba(0,0,0,.1)!important}::ng-deep.mat-progress-bar.viewer-progress{height:4px;border-radius:5px}"]
10353
+ }] }
10354
+ ];
10355
+ /** @nocollapse */
10356
+ ContentProgressComponent.ctorParameters = () => [];
10357
+ ContentProgressComponent.propDecorators = {
10358
+ contentId: [{ type: Input }],
10359
+ progress: [{ type: Input }],
10360
+ progressType: [{ type: Input }],
10361
+ forPreview: [{ type: Input }],
10362
+ className: [{ type: Input }],
10363
+ customClassName: [{ type: Input }],
10364
+ id: [{ type: HostBinding, args: ['id',] }]
10365
+ };
10366
+ if (false) {
10367
+ /** @type {?} */
10368
+ ContentProgressComponent.prototype.contentId;
10369
+ /** @type {?} */
10370
+ ContentProgressComponent.prototype.progress;
10371
+ /** @type {?} */
10372
+ ContentProgressComponent.prototype.progressType;
10373
+ /** @type {?} */
10374
+ ContentProgressComponent.prototype.forPreview;
10375
+ /** @type {?} */
10376
+ ContentProgressComponent.prototype.className;
10377
+ /** @type {?} */
10378
+ ContentProgressComponent.prototype.customClassName;
10379
+ /** @type {?} */
10380
+ ContentProgressComponent.prototype.rendom;
10381
+ /** @type {?} */
10382
+ ContentProgressComponent.prototype.id;
10383
+ }
10384
+
10385
+ /**
10386
+ * @fileoverview added by tsickle
10387
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10388
+ */
10389
+ class ContentProgressModule {
10390
+ }
10391
+ ContentProgressModule.decorators = [
10392
+ { type: NgModule, args: [{
10393
+ declarations: [ContentProgressComponent],
10394
+ imports: [
10395
+ CommonModule,
10396
+ MatProgressBarModule,
10397
+ MatTooltipModule,
10398
+ ],
10399
+ exports: [ContentProgressComponent],
10400
+ },] }
10401
+ ];
10402
+
10403
+ /**
10404
+ * @fileoverview added by tsickle
10405
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10406
+ */
10407
+ const ɵ0$4 = HttpLoaderFactory;
10408
+ class DialogComponentsModule {
10409
+ }
10410
+ DialogComponentsModule.decorators = [
10411
+ { type: NgModule, args: [{
10412
+ declarations: [
10413
+ CertificateDialogComponent
10414
+ ],
10415
+ imports: [
10416
+ CommonModule,
10417
+ MatMenuModule,
10418
+ MatCardModule,
10419
+ MatIconModule,
10420
+ MatDialogModule,
10421
+ PipeSafeSanitizerModule,
10422
+ TranslateModule.forRoot({
10423
+ loader: {
10424
+ provide: TranslateLoader,
10425
+ useFactory: ɵ0$4,
10426
+ deps: [HttpClient],
10427
+ },
10428
+ }),
10429
+ ],
10430
+ exports: [
10431
+ CertificateDialogComponent
10432
+ ],
10433
+ entryComponents: [CertificateDialogComponent],
10434
+ },] }
10435
+ ];
10436
+
10437
+ /**
10438
+ * @fileoverview added by tsickle
10439
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10440
+ */
10441
+ class CardMdoChannelV1Component {
10442
+ /**
10443
+ * @param {?} events
10444
+ * @param {?} translate
10445
+ * @param {?} langtranslations
10446
+ * @param {?} configSvc
10447
+ * @param {?} contSvc
10448
+ * @param {?} router
10449
+ */
10450
+ constructor(events, translate, langtranslations, configSvc, contSvc, router) {
10451
+ this.events = events;
10452
+ this.translate = translate;
10453
+ this.langtranslations = langtranslations;
10454
+ this.configSvc = configSvc;
10455
+ this.contSvc = contSvc;
10456
+ this.router = router;
10457
+ this.channelData = new EventEmitter();
10458
+ this.emitTelemetry = new EventEmitter();
10459
+ this.widgetType = '';
10460
+ this.widgetSubType = '';
10461
+ this.langtranslations.languageSelectedObservable.subscribe((/**
10462
+ * @return {?}
10463
+ */
10464
+ () => {
10465
+ if (localStorage.getItem('websiteLanguage')) {
10466
+ this.translate.setDefaultLang('en');
10467
+ /** @type {?} */
10468
+ const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
10469
+ this.translate.use(lang);
10470
+ }
10471
+ }));
10472
+ }
10473
+ /**
10474
+ * @return {?}
10475
+ */
10476
+ ngOnInit() {
10477
+ /** @type {?} */
10478
+ const instanceConfig = this.configSvc.instanceConfig;
10479
+ if (instanceConfig) {
10480
+ this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
10481
+ this.sourceLogos = instanceConfig.sources;
10482
+ this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
10483
+ }
10484
+ else {
10485
+ this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
10486
+ this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
10487
+ }
10488
+ }
10489
+ /**
10490
+ * @param {?} contentData
10491
+ * @return {?}
10492
+ */
10493
+ raiseTelemetry(contentData) {
10494
+ this.emitTelemetry.emit(contentData);
10495
+ if (this.widgetData) {
10496
+ contentData['typeOfTelemetry'] = 'mdo-channel';
10497
+ }
10498
+ this.contSvc.changeTelemetryData(contentData);
10499
+ }
10500
+ /**
10501
+ * @param {?} channeldata
10502
+ * @return {?}
10503
+ */
10504
+ channelClick(channeldata) {
10505
+ this.channelData.emit(channeldata);
10506
+ }
10507
+ /**
10508
+ * @param {?} content
10509
+ * @return {?}
10510
+ */
10511
+ redirectTo(content) {
10512
+ this.router.navigate([`/app/learn/mdo-channels/${content.orgName}/${content.identifier}/micro-sites`]);
10513
+ }
10514
+ }
10515
+ CardMdoChannelV1Component.decorators = [
10516
+ { type: Component, args: [{
10517
+ selector: 'sb-uic-card-mdo-channel-v1',
10518
+ template: "<mat-card class=\"channels-card card-channels-container mr-5 padding-remove cursor-pointer\">\n <div class=\"display-contents\">\n <ng-container *ngIf=\"widgetData?.content\">\n <a (click)=\"raiseTelemetry(widgetData?.content); redirectTo(widgetData?.content); $event.stopPropagation()\"\n i18n-aria-label>\n <ng-container>\n <mat-card-content class=\"min-top\">\n <div class=\"flex flex-col h-full\">\n <div class=\"image-container\">\n <ng-container *ngIf=\"widgetData?.content?.imgUrl; else defaultImg\">\n <img mat-card-image [src]=\"widgetData?.content?.imgUrl\" loading=\"lazy\"\n class=\"card-img ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\n [alt]=\"widgetData?.content?.orgName\" />\n </ng-container>\n <ng-template #defaultImg>\n <sb-uic-avatar-photo [randomColor]=\"true\" [name]=\"widgetData?.content?.orgName\" [photoUrl]=\"widgetData?.content?.imgUrl\" size=\"m-side-rating\">\n </sb-uic-avatar-photo>\n </ng-template>\n </div>\n <div class=\"flex title-container px-2\">\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\n class=\"flex-1 text-center mat-subheading-2 title-text ws-mat-black-text\">\n {{ widgetData?.content?.orgName }}\n </div>\n </div>\n </div>\n </mat-card-content>\n </ng-container>\n </a>\n </ng-container>\n </div>\n</mat-card>",
10519
+ styles: [".card-channels-container{position:relative;width:245px;box-sizing:border-box;box-shadow:0 10px 30px rgba(153,153,153,.2);overflow:hidden;min-height:156px;height:156px;max-height:156px;margin:20px 8px;background:#7faeff!important;border-radius:12px;padding:4px!important}.card-channels-container .min-top{background:inherit;margin-bottom:0;height:inherit}.card-channels-container .image-container{background-color:#fff;width:inherit;height:86px;max-height:86px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:12px}.card-channels-container .card-img{max-height:62px;min-height:62px;display:block;-o-object-fit:fill;object-fit:contain}.card-channels-container .mat-subheading-1{font:600 14px/24px Montserrat}.card-channels-container .title-container{background:inherit}.card-channels-container .description-text{position:relative;overflow:hidden;height:51px}.card-channels-container .title-text{word-break:break-all;white-space:initial;margin:8px 0;position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}"]
10520
+ }] }
10521
+ ];
10522
+ /** @nocollapse */
10523
+ CardMdoChannelV1Component.ctorParameters = () => [
10524
+ { type: EventService },
10525
+ { type: TranslateService },
10526
+ { type: MultilingualTranslationsService$1 },
10527
+ { type: ConfigurationsService$1 },
10528
+ { type: WidgetContentService },
10529
+ { type: Router }
10530
+ ];
10531
+ CardMdoChannelV1Component.propDecorators = {
10532
+ widgetData: [{ type: Input }],
10533
+ channelData: [{ type: Output }],
10534
+ emitTelemetry: [{ type: Output }]
10535
+ };
10536
+ if (false) {
10537
+ /** @type {?} */
10538
+ CardMdoChannelV1Component.prototype.widgetData;
10539
+ /** @type {?} */
10540
+ CardMdoChannelV1Component.prototype.channelData;
10541
+ /** @type {?} */
10542
+ CardMdoChannelV1Component.prototype.emitTelemetry;
10543
+ /** @type {?} */
10544
+ CardMdoChannelV1Component.prototype.defaultThumbnail;
10545
+ /** @type {?} */
10546
+ CardMdoChannelV1Component.prototype.sourceLogos;
10547
+ /** @type {?} */
10548
+ CardMdoChannelV1Component.prototype.defaultSLogo;
10549
+ /** @type {?} */
10550
+ CardMdoChannelV1Component.prototype.widgetType;
10551
+ /** @type {?} */
10552
+ CardMdoChannelV1Component.prototype.widgetSubType;
10553
+ /**
10554
+ * @type {?}
10555
+ * @private
10556
+ */
10557
+ CardMdoChannelV1Component.prototype.events;
10558
+ /**
10559
+ * @type {?}
10560
+ * @private
10561
+ */
10562
+ CardMdoChannelV1Component.prototype.translate;
10563
+ /**
10564
+ * @type {?}
10565
+ * @private
10566
+ */
10567
+ CardMdoChannelV1Component.prototype.langtranslations;
10568
+ /**
10569
+ * @type {?}
10570
+ * @private
10571
+ */
10572
+ CardMdoChannelV1Component.prototype.configSvc;
10573
+ /**
10574
+ * @type {?}
10575
+ * @private
10576
+ */
10577
+ CardMdoChannelV1Component.prototype.contSvc;
10578
+ /** @type {?} */
10579
+ CardMdoChannelV1Component.prototype.router;
10580
+ }
10581
+
10582
+ /**
10583
+ * @fileoverview added by tsickle
10584
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10585
+ */
10586
+ class AvatarPhotoLibComponent {
10587
+ constructor() {
10588
+ this.size = '';
10589
+ this.defaulfColor = '';
10590
+ this.randomColor = false;
10591
+ this.showBadge = false;
10592
+ this.showInitials = false;
10593
+ this.random = Math.random().toString(36).slice(2);
9670
10594
  // public initials!: string
9671
10595
  this.colors = [
9672
10596
  '#EB7181',
@@ -9839,6 +10763,7 @@ AvatarPhotoLibModule.decorators = [
9839
10763
  * @fileoverview added by tsickle
9840
10764
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
9841
10765
  */
10766
+ const ɵ0$5 = HttpLoaderFactory;
9842
10767
  class CardsModule {
9843
10768
  }
9844
10769
  CardsModule.decorators = [
@@ -9854,20 +10779,34 @@ CardsModule.decorators = [
9854
10779
  CardKarmaProgramsComponent,
9855
10780
  CardKarmaProgramsV2Component,
9856
10781
  CardPortraitExtComponent,
10782
+ CardAssessmentComponent,
10783
+ CardProgressPortraitLibComponent,
9857
10784
  CardMdoChannelV1Component
9858
10785
  ],
9859
10786
  imports: [
9860
10787
  CommonModule,
9861
10788
  MatCardModule,
9862
10789
  MatButtonModule,
10790
+ MatTooltipModule,
9863
10791
  MatIconModule,
9864
10792
  MatTooltipModule,
9865
10793
  RouterModule,
9866
10794
  PipePublicURLModule,
10795
+ ObjectToArrayPipeModule,
9867
10796
  DisplayContentTypeLibModule,
9868
10797
  DefaultThumbnailModule,
9869
10798
  PipeDurationTransformModule,
9870
10799
  SkeletonLoaderLibModule,
10800
+ MatProgressSpinnerModule,
10801
+ ContentProgressModule,
10802
+ DialogComponentsModule,
10803
+ TranslateModule.forRoot({
10804
+ loader: {
10805
+ provide: TranslateLoader,
10806
+ useFactory: ɵ0$5,
10807
+ deps: [HttpClient],
10808
+ },
10809
+ }),
9871
10810
  AvatarPhotoLibModule
9872
10811
  ],
9873
10812
  entryComponents: [CardsComponent],
@@ -9881,7 +10820,7 @@ CardsModule.decorators = [
9881
10820
  CardMDOChannelComponent,
9882
10821
  CardWideV2Component,
9883
10822
  CardKarmaProgramsComponent,
9884
- CardKarmaProgramsV2Component
10823
+ CardKarmaProgramsV2Component,
9885
10824
  ],
9886
10825
  },] }
9887
10826
  ];
@@ -10828,13 +11767,13 @@ CompetencyPassbookMdoModule.decorators = [
10828
11767
  */
10829
11768
  /** @type {?} */
10830
11769
  const PROXY_SLAG_V8 = '/apis/proxies/v8';
10831
- const ɵ0$3 = /**
11770
+ const ɵ0$6 = /**
10832
11771
  * @param {?} contentId
10833
11772
  * @param {?} contentType
10834
11773
  * @param {?} userId
10835
11774
  * @return {?}
10836
11775
  */
10837
- (contentId, contentType, userId) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`, ɵ1$2 = /**
11776
+ (contentId, contentType, userId) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/${contentType}/${userId}`, ɵ1$3 = /**
10838
11777
  * @param {?} contentId
10839
11778
  * @param {?} contentType
10840
11779
  * @return {?}
@@ -10847,9 +11786,9 @@ const ɵ0$3 = /**
10847
11786
  (contentId, userID) => `${PROXY_SLAG_V8}/ratings/v1/read/${contentId}/Course/${userID}`;
10848
11787
  /** @type {?} */
10849
11788
  const API_END_POINTS$3 = {
10850
- GET_RATING: (ɵ0$3),
11789
+ GET_RATING: (ɵ0$6),
10851
11790
  ADD_OR_UPDATE: `${PROXY_SLAG_V8}/ratings/v1/upsert`,
10852
- GET_RATING_SUMMARY: (ɵ1$2),
11791
+ GET_RATING_SUMMARY: (ɵ1$3),
10853
11792
  GET_RATING_LOOKUP: `${PROXY_SLAG_V8}/ratings/v1/ratingLookUp`,
10854
11793
  GET_AUTHOR_REPLY: (ɵ2$2),
10855
11794
  POST_AUTHOR_REPLY: `${PROXY_SLAG_V8}/ratings/v2/read`,
@@ -11505,5 +12444,5 @@ UserContentRatingLibModule.decorators = [
11505
12444
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11506
12445
  */
11507
12446
 
11508
- export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardWideV2Component as ɵba, CardKarmaProgramsComponent as ɵbb, CardKarmaProgramsV2Component as ɵbc, CardPortraitExtComponent as ɵbd, CardMdoChannelV1Component as ɵbe, PipePublicURLModule as ɵbf, PipePublicURL as ɵbg, DisplayContentTypeLibModule as ɵbh, DisplayContentTypeLibComponent as ɵbi, DefaultThumbnailModule as ɵbj, DefaultThumbnailDirective as ɵbk, PipeDurationTransformModule as ɵbl, PipeDurationTransformPipe as ɵbm, AvatarPhotoLibModule as ɵbn, AvatarPhotoLibComponent as ɵbo, CompetencyPassbookComponent as ɵbp, CompetencyPassbookService as ɵbq, PillsModule as ɵbr, PillsComponent as ɵbs, CompetencyPassbookMdoComponent as ɵbt, CompetencyPassbookMdoService as ɵbu, UserContentRatingLibComponent as ɵbv, ScrollableItemDirective as ɵbw, RatingService as ɵbx, UserContentRatingLibService as ɵby, MyHammerConfig$1 as ɵbz, MultilingualTranslationsService as ɵc, SlidersNgContentLibModule as ɵca, SlidersNgContentLibComponent as ɵcb, ScrollableItemModule as ɵcc, 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, CardResourceComponent as ɵt, CardsComponent as ɵu, CardPortraitComponent as ɵv, CardUserComponent as ɵw, CardLandscapeComponent as ɵx, CardWideComponent as ɵy, CardMDOChannelComponent as ɵz };
12447
+ export { AnnouncementsModule, CalenderModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookMdoModule, CompetencyPassbookModule, ConsumptionComponent, ConsumptionModule, ConsumptionService, ContentProgressModule, ContentStripWithTabsLibModule, DataPointsModule, HttpLoaderFactory, MyHammerConfig, ROOT_WIDGET_CONFIG, SlidersLibModule, UserContentRatingLibModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, WidgetContentService, ContentStripWithTabsLibComponent as ɵa, WidgetUserService as ɵb, CardWideV2Component as ɵba, CardKarmaProgramsComponent as ɵbb, CardKarmaProgramsV2Component as ɵbc, CardPortraitExtComponent as ɵbd, CardAssessmentComponent as ɵbe, CardProgressPortraitLibComponent as ɵbf, CertificateService as ɵbg, CardMdoChannelV1Component as ɵbh, PipePublicURLModule as ɵbi, PipePublicURL as ɵbj, ObjectToArrayPipeModule as ɵbk, ObjectToArrayPipe as ɵbl, DisplayContentTypeLibModule as ɵbm, DisplayContentTypeLibComponent as ɵbn, DefaultThumbnailModule as ɵbo, DefaultThumbnailDirective as ɵbp, PipeDurationTransformModule as ɵbq, PipeDurationTransformPipe as ɵbr, ContentProgressComponent as ɵbs, DialogComponentsModule as ɵbt, CertificateDialogComponent as ɵbu, AvatarPhotoLibModule as ɵbv, AvatarPhotoLibComponent as ɵbw, CompetencyPassbookComponent as ɵbx, CompetencyPassbookService as ɵby, PillsModule as ɵbz, MultilingualTranslationsService as ɵc, PillsComponent as ɵca, CompetencyPassbookMdoComponent as ɵcb, CompetencyPassbookMdoService as ɵcc, UserContentRatingLibComponent as ɵcd, ScrollableItemDirective as ɵce, RatingService as ɵcf, UserContentRatingLibService as ɵcg, MyHammerConfig$1 as ɵch, SlidersNgContentLibModule as ɵci, SlidersNgContentLibComponent as ɵcj, ScrollableItemModule as ɵck, 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, CardResourceComponent as ɵt, CardsComponent as ɵu, CardPortraitComponent as ɵv, CardUserComponent as ɵw, CardLandscapeComponent as ɵx, CardWideComponent as ɵy, CardMDOChannelComponent as ɵz };
11509
12448
  //# sourceMappingURL=sunbird-cb-consumption.js.map