@sunbird-cb/consumption 0.0.66 → 0.0.68

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 (344) hide show
  1. package/README.md +24 -24
  2. package/bundles/sunbird-cb-consumption.umd.js +17474 -17470
  3. package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
  4. package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
  5. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
  6. package/esm2015/lib/_common/announcements/announcements.component.js +150 -150
  7. package/esm2015/lib/_common/announcements/announcements.module.js +23 -23
  8. package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +158 -158
  9. package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +29 -29
  10. package/esm2015/lib/_common/calender/calender-day/calender-day.component.js +90 -90
  11. package/esm2015/lib/_common/calender/calender.component.js +299 -299
  12. package/esm2015/lib/_common/calender/calender.module.js +31 -31
  13. package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +170 -170
  14. package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +178 -178
  15. package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +166 -166
  16. package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +202 -202
  17. package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +154 -154
  18. package/esm2015/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +154 -154
  19. package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +167 -167
  20. package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +170 -170
  21. package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +261 -261
  22. package/esm2015/lib/_common/cards/card-resource/card-resource.component.js +34 -34
  23. package/esm2015/lib/_common/cards/card-user/card-user.component.js +141 -141
  24. package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +166 -166
  25. package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +171 -171
  26. package/esm2015/lib/_common/cards/cards.component.js +167 -167
  27. package/esm2015/lib/_common/cards/cards.module.js +100 -100
  28. package/esm2015/lib/_common/cards/provider-card/provider-card.component.js +81 -81
  29. package/esm2015/lib/_common/cbp-plan/cbp-plan.component.js +166 -166
  30. package/esm2015/lib/_common/cbp-plan/cbp-plan.module.js +27 -27
  31. package/esm2015/lib/_common/common-strip/common-strip.component.js +646 -646
  32. package/esm2015/lib/_common/common-strip/common-strip.model.js +216 -216
  33. package/esm2015/lib/_common/common-strip/common-strip.module.js +62 -62
  34. package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +384 -384
  35. package/esm2015/lib/_common/competency-passbook/competency-passbook.module.js +27 -27
  36. package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +52 -52
  37. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +332 -332
  38. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +27 -27
  39. package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +52 -52
  40. package/esm2015/lib/_common/content-progress/content-progress.component.js +89 -89
  41. package/esm2015/lib/_common/content-progress/content-progress.module.js +22 -22
  42. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +2559 -2559
  43. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +218 -218
  44. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +69 -69
  45. package/esm2015/lib/_common/data-points/data-points.component.js +150 -148
  46. package/esm2015/lib/_common/data-points/data-points.module.js +23 -23
  47. package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +225 -225
  48. package/esm2015/lib/_common/dialog-components/dialog-components.module.js +43 -43
  49. package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.component.js +60 -60
  50. package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.module.js +18 -18
  51. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +362 -362
  52. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -23
  53. package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +23 -23
  54. package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +255 -255
  55. package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel.module.js +52 -52
  56. package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +269 -269
  57. package/esm2015/lib/_common/microsites/providers/providers.module.js +51 -51
  58. package/esm2015/lib/_common/pills/pills.component.js +61 -61
  59. package/esm2015/lib/_common/pills/pills.module.js +24 -24
  60. package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +40 -40
  61. package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +28 -28
  62. package/esm2015/lib/_common/sliders/sliders.component.js +187 -187
  63. package/esm2015/lib/_common/sliders/sliders.model.js +67 -67
  64. package/esm2015/lib/_common/sliders/sliders.module.js +50 -50
  65. package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +206 -206
  66. package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -61
  67. package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.module.js +50 -50
  68. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1613 -1613
  69. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -218
  70. package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +69 -69
  71. package/esm2015/lib/_common/top-learners/top-learners.component.js +155 -155
  72. package/esm2015/lib/_common/top-learners/top-learners.module.js +23 -23
  73. package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.component.js +145 -145
  74. package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.module.js +38 -38
  75. package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.service.js +45 -45
  76. package/esm2015/lib/_constants/misc.constants.js +4 -4
  77. package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.directive.js +51 -51
  78. package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.module.js +18 -18
  79. package/esm2015/lib/_directives/image-responsive/image-responsive.directive.js +126 -126
  80. package/esm2015/lib/_directives/image-responsive/image-responsive.module.js +18 -18
  81. package/esm2015/lib/_directives/navigation/navigation.directive.js +53 -53
  82. package/esm2015/lib/_directives/navigation/navigation.module.js +18 -18
  83. package/esm2015/lib/_directives/scrollable-item/scrollable-item.directive.js +42 -42
  84. package/esm2015/lib/_directives/scrollable-item/scrollable-item.module.js +19 -19
  85. package/esm2015/lib/_models/card-content-v2.model.js +78 -78
  86. package/esm2015/lib/_models/card-content.model.js +69 -69
  87. package/esm2015/lib/_models/card-users.model.js +103 -103
  88. package/esm2015/lib/_models/content-strip-multiple.model.js +195 -195
  89. package/esm2015/lib/_models/event.js +45 -45
  90. package/esm2015/lib/_models/profile-v3.models.js +196 -196
  91. package/esm2015/lib/_models/rating.model.js +44 -44
  92. package/esm2015/lib/_models/widget-content.model.js +876 -876
  93. package/esm2015/lib/_models/widget-search.model.js +471 -471
  94. package/esm2015/lib/_models/widget-user.model.js +17 -17
  95. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +28 -28
  96. package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +19 -19
  97. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +18 -18
  98. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +119 -119
  99. package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +19 -19
  100. package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +38 -38
  101. package/esm2015/lib/_services/certificate.service.js +63 -63
  102. package/esm2015/lib/_services/common-methods.service.js +84 -84
  103. package/esm2015/lib/_services/configurations.service.js +243 -243
  104. package/esm2015/lib/_services/insite-data.service.js +69 -68
  105. package/esm2015/lib/_services/multilingual-translations.service.js +231 -231
  106. package/esm2015/lib/_services/rating.service.js +171 -171
  107. package/esm2015/lib/_services/viewer-route-util.js +125 -125
  108. package/esm2015/lib/_services/widget-content.service.js +852 -852
  109. package/esm2015/lib/_services/widget-user.service.js +475 -475
  110. package/esm2015/lib/consumption.component.js +26 -26
  111. package/esm2015/lib/consumption.config.js +12 -12
  112. package/esm2015/lib/consumption.module.js +36 -36
  113. package/esm2015/lib/consumption.service.js +18 -18
  114. package/esm2015/lib/registration-lib.config.js +21 -21
  115. package/esm2015/public-api.js +31 -31
  116. package/esm2015/sunbird-cb-consumption.js +77 -77
  117. package/esm5/lib/_common/announcements/announcements.component.js +166 -166
  118. package/esm5/lib/_common/announcements/announcements.module.js +27 -27
  119. package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +175 -175
  120. package/esm5/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +33 -33
  121. package/esm5/lib/_common/calender/calender-day/calender-day.component.js +101 -101
  122. package/esm5/lib/_common/calender/calender.component.js +334 -334
  123. package/esm5/lib/_common/calender/calender.module.js +35 -35
  124. package/esm5/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +186 -186
  125. package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +187 -187
  126. package/esm5/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +176 -176
  127. package/esm5/lib/_common/cards/card-landscape/card-landscape.component.js +216 -216
  128. package/esm5/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +164 -164
  129. package/esm5/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +164 -164
  130. package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +173 -173
  131. package/esm5/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +176 -176
  132. package/esm5/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +278 -278
  133. package/esm5/lib/_common/cards/card-resource/card-resource.component.js +41 -41
  134. package/esm5/lib/_common/cards/card-user/card-user.component.js +147 -147
  135. package/esm5/lib/_common/cards/card-wide/card-wide.component.js +172 -172
  136. package/esm5/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +181 -181
  137. package/esm5/lib/_common/cards/cards.component.js +199 -199
  138. package/esm5/lib/_common/cards/cards.module.js +104 -104
  139. package/esm5/lib/_common/cards/provider-card/provider-card.component.js +90 -90
  140. package/esm5/lib/_common/cbp-plan/cbp-plan.component.js +185 -185
  141. package/esm5/lib/_common/cbp-plan/cbp-plan.module.js +31 -31
  142. package/esm5/lib/_common/common-strip/common-strip.component.js +760 -760
  143. package/esm5/lib/_common/common-strip/common-strip.model.js +216 -216
  144. package/esm5/lib/_common/common-strip/common-strip.module.js +66 -66
  145. package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +454 -454
  146. package/esm5/lib/_common/competency-passbook/competency-passbook.module.js +31 -31
  147. package/esm5/lib/_common/competency-passbook/competency-passbook.service.js +59 -59
  148. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +383 -383
  149. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +31 -31
  150. package/esm5/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +59 -59
  151. package/esm5/lib/_common/content-progress/content-progress.component.js +94 -94
  152. package/esm5/lib/_common/content-progress/content-progress.module.js +26 -26
  153. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +2970 -2970
  154. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +218 -218
  155. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +73 -73
  156. package/esm5/lib/_common/data-points/data-points.component.js +165 -163
  157. package/esm5/lib/_common/data-points/data-points.module.js +27 -27
  158. package/esm5/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +248 -248
  159. package/esm5/lib/_common/dialog-components/dialog-components.module.js +47 -47
  160. package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.component.js +67 -67
  161. package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.module.js +22 -22
  162. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +391 -391
  163. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +27 -27
  164. package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +29 -29
  165. package/esm5/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +292 -292
  166. package/esm5/lib/_common/microsites/mdo-channels/mdo-channel.module.js +56 -56
  167. package/esm5/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +312 -312
  168. package/esm5/lib/_common/microsites/providers/providers.module.js +55 -55
  169. package/esm5/lib/_common/pills/pills.component.js +70 -70
  170. package/esm5/lib/_common/pills/pills.module.js +28 -28
  171. package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +45 -45
  172. package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +32 -32
  173. package/esm5/lib/_common/sliders/sliders.component.js +214 -214
  174. package/esm5/lib/_common/sliders/sliders.model.js +67 -67
  175. package/esm5/lib/_common/sliders/sliders.module.js +67 -67
  176. package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.component.js +233 -233
  177. package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.model.js +61 -61
  178. package/esm5/lib/_common/sliders-ng-content/sliders-ng-content.module.js +67 -67
  179. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +1892 -1892
  180. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +218 -218
  181. package/esm5/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +73 -73
  182. package/esm5/lib/_common/top-learners/top-learners.component.js +172 -172
  183. package/esm5/lib/_common/top-learners/top-learners.module.js +27 -27
  184. package/esm5/lib/_common/user-content-rating/user-content-rating-lib.component.js +168 -168
  185. package/esm5/lib/_common/user-content-rating/user-content-rating-lib.module.js +42 -42
  186. package/esm5/lib/_common/user-content-rating/user-content-rating-lib.service.js +48 -48
  187. package/esm5/lib/_constants/misc.constants.js +4 -4
  188. package/esm5/lib/_directives/default-thumbnail/default-thumbnail.directive.js +59 -59
  189. package/esm5/lib/_directives/default-thumbnail/default-thumbnail.module.js +22 -22
  190. package/esm5/lib/_directives/image-responsive/image-responsive.directive.js +136 -136
  191. package/esm5/lib/_directives/image-responsive/image-responsive.module.js +22 -22
  192. package/esm5/lib/_directives/navigation/navigation.directive.js +62 -62
  193. package/esm5/lib/_directives/navigation/navigation.module.js +22 -22
  194. package/esm5/lib/_directives/scrollable-item/scrollable-item.directive.js +45 -45
  195. package/esm5/lib/_directives/scrollable-item/scrollable-item.module.js +23 -23
  196. package/esm5/lib/_models/card-content-v2.model.js +78 -78
  197. package/esm5/lib/_models/card-content.model.js +69 -69
  198. package/esm5/lib/_models/card-users.model.js +103 -103
  199. package/esm5/lib/_models/content-strip-multiple.model.js +195 -195
  200. package/esm5/lib/_models/event.js +45 -45
  201. package/esm5/lib/_models/profile-v3.models.js +196 -196
  202. package/esm5/lib/_models/rating.model.js +44 -44
  203. package/esm5/lib/_models/widget-content.model.js +876 -876
  204. package/esm5/lib/_models/widget-search.model.js +471 -471
  205. package/esm5/lib/_models/widget-user.model.js +17 -17
  206. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.js +57 -57
  207. package/esm5/lib/_pipes/object-to-array/object-to-array.pipe.module.js +23 -23
  208. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +22 -22
  209. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +142 -142
  210. package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +23 -23
  211. package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +41 -41
  212. package/esm5/lib/_services/certificate.service.js +70 -70
  213. package/esm5/lib/_services/common-methods.service.js +102 -102
  214. package/esm5/lib/_services/configurations.service.js +257 -257
  215. package/esm5/lib/_services/insite-data.service.js +84 -82
  216. package/esm5/lib/_services/multilingual-translations.service.js +259 -259
  217. package/esm5/lib/_services/rating.service.js +214 -214
  218. package/esm5/lib/_services/viewer-route-util.js +127 -127
  219. package/esm5/lib/_services/widget-content.service.js +1109 -1109
  220. package/esm5/lib/_services/widget-user.service.js +542 -542
  221. package/esm5/lib/consumption.component.js +28 -28
  222. package/esm5/lib/consumption.config.js +12 -12
  223. package/esm5/lib/consumption.module.js +40 -40
  224. package/esm5/lib/consumption.service.js +21 -21
  225. package/esm5/lib/registration-lib.config.js +21 -21
  226. package/esm5/public-api.js +31 -31
  227. package/esm5/sunbird-cb-consumption.js +77 -77
  228. package/fesm2015/sunbird-cb-consumption.js +15410 -15407
  229. package/fesm2015/sunbird-cb-consumption.js.map +1 -1
  230. package/fesm5/sunbird-cb-consumption.js +17480 -17476
  231. package/fesm5/sunbird-cb-consumption.js.map +1 -1
  232. package/lib/_common/announcements/announcements.component.d.ts +21 -21
  233. package/lib/_common/announcements/announcements.module.d.ts +2 -2
  234. package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +20 -20
  235. package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts +2 -2
  236. package/lib/_common/calender/calender-day/calender-day.component.d.ts +18 -18
  237. package/lib/_common/calender/calender.component.d.ts +34 -34
  238. package/lib/_common/calender/calender.module.d.ts +2 -2
  239. package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +31 -31
  240. package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +28 -28
  241. package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +26 -26
  242. package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +36 -36
  243. package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +27 -27
  244. package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts +27 -27
  245. package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +33 -33
  246. package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts +33 -33
  247. package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +41 -41
  248. package/lib/_common/cards/card-resource/card-resource.component.d.ts +8 -8
  249. package/lib/_common/cards/card-user/card-user.component.d.ts +24 -24
  250. package/lib/_common/cards/card-wide/card-wide.component.d.ts +30 -30
  251. package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +34 -34
  252. package/lib/_common/cards/cards.component.d.ts +26 -26
  253. package/lib/_common/cards/cards.module.d.ts +2 -2
  254. package/lib/_common/cards/provider-card/provider-card.component.d.ts +14 -14
  255. package/lib/_common/cbp-plan/cbp-plan.component.d.ts +25 -25
  256. package/lib/_common/cbp-plan/cbp-plan.module.d.ts +2 -2
  257. package/lib/_common/common-strip/common-strip.component.d.ts +104 -104
  258. package/lib/_common/common-strip/common-strip.model.d.ts +141 -141
  259. package/lib/_common/common-strip/common-strip.module.d.ts +2 -2
  260. package/lib/_common/competency-passbook/competency-passbook.component.d.ts +42 -42
  261. package/lib/_common/competency-passbook/competency-passbook.module.d.ts +2 -2
  262. package/lib/_common/competency-passbook/competency-passbook.service.d.ts +8 -8
  263. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +43 -43
  264. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts +2 -2
  265. package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +8 -8
  266. package/lib/_common/content-progress/content-progress.component.d.ts +13 -13
  267. package/lib/_common/content-progress/content-progress.module.d.ts +2 -2
  268. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +203 -203
  269. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +149 -149
  270. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts +5 -5
  271. package/lib/_common/data-points/data-points.component.d.ts +17 -17
  272. package/lib/_common/data-points/data-points.module.d.ts +2 -2
  273. package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +22 -22
  274. package/lib/_common/dialog-components/dialog-components.module.d.ts +2 -2
  275. package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts +12 -12
  276. package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts +2 -2
  277. package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +33 -33
  278. package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -2
  279. package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts +5 -5
  280. package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts +39 -39
  281. package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +2 -2
  282. package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts +36 -36
  283. package/lib/_common/microsites/providers/providers.module.d.ts +2 -2
  284. package/lib/_common/pills/pills.component.d.ts +13 -13
  285. package/lib/_common/pills/pills.module.d.ts +2 -2
  286. package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts +8 -8
  287. package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts +2 -2
  288. package/lib/_common/sliders/sliders.component.d.ts +27 -27
  289. package/lib/_common/sliders/sliders.model.d.ts +40 -40
  290. package/lib/_common/sliders/sliders.module.d.ts +6 -6
  291. package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +29 -29
  292. package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts +34 -34
  293. package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts +6 -6
  294. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +161 -161
  295. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +149 -149
  296. package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +5 -5
  297. package/lib/_common/top-learners/top-learners.component.d.ts +18 -18
  298. package/lib/_common/top-learners/top-learners.module.d.ts +2 -2
  299. package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts +22 -22
  300. package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts +2 -2
  301. package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts +7 -7
  302. package/lib/_constants/misc.constants.d.ts +2 -2
  303. package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -9
  304. package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts +2 -2
  305. package/lib/_directives/image-responsive/image-responsive.directive.d.ts +17 -17
  306. package/lib/_directives/image-responsive/image-responsive.module.d.ts +2 -2
  307. package/lib/_directives/navigation/navigation.directive.d.ts +9 -9
  308. package/lib/_directives/navigation/navigation.module.d.ts +2 -2
  309. package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts +7 -7
  310. package/lib/_directives/scrollable-item/scrollable-item.module.d.ts +2 -2
  311. package/lib/_models/card-content-v2.model.d.ts +44 -44
  312. package/lib/_models/card-content.model.d.ts +41 -41
  313. package/lib/_models/card-users.model.d.ts +50 -50
  314. package/lib/_models/content-strip-multiple.model.d.ts +128 -128
  315. package/lib/_models/event.d.ts +18 -18
  316. package/lib/_models/profile-v3.models.d.ts +91 -91
  317. package/lib/_models/rating.model.d.ts +17 -17
  318. package/lib/_models/widget-content.model.d.ts +497 -497
  319. package/lib/_models/widget-search.model.d.ts +252 -252
  320. package/lib/_models/widget-user.model.d.ts +5 -5
  321. package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +4 -4
  322. package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +2 -2
  323. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -2
  324. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -6
  325. package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -2
  326. package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -6
  327. package/lib/_services/certificate.service.d.ts +8 -8
  328. package/lib/_services/common-methods.service.d.ts +39 -39
  329. package/lib/_services/configurations.service.d.ts +71 -71
  330. package/lib/_services/insite-data.service.d.ts +10 -10
  331. package/lib/_services/multilingual-translations.service.d.ts +20 -20
  332. package/lib/_services/rating.service.d.ts +15 -15
  333. package/lib/_services/viewer-route-util.d.ts +8 -8
  334. package/lib/_services/widget-content.service.d.ts +87 -87
  335. package/lib/_services/widget-user.service.d.ts +33 -33
  336. package/lib/consumption.component.d.ts +5 -5
  337. package/lib/consumption.config.d.ts +6 -6
  338. package/lib/consumption.module.d.ts +2 -2
  339. package/lib/consumption.service.d.ts +3 -3
  340. package/lib/registration-lib.config.d.ts +4 -4
  341. package/package.json +1 -1
  342. package/public-api.d.ts +23 -23
  343. package/sunbird-cb-consumption.d.ts +73 -73
  344. package/sunbird-cb-consumption.metadata.json +1 -1
@@ -1,261 +1,261 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, EventEmitter, Input, Output } from '@angular/core';
6
- import { NsCardContent } from '../../../_models/card-content.model';
7
- import { MatDialog, MatSnackBar } from '@angular/material';
8
- import { TranslateService } from '@ngx-translate/core';
9
- import { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';
10
- import { WidgetContentService } from '../../../_services/widget-content.service';
11
- import { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';
12
- import * as _ from "lodash";
13
- import { CertificateService } from '../../../_services/certificate.service';
14
- import { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';
15
- export class CardProgressPortraitLibComponent {
16
- /**
17
- * @param {?} snackBar
18
- * @param {?} translate
19
- * @param {?} events
20
- * @param {?} langtranslations
21
- * @param {?} configSvc
22
- * @param {?} contSvc
23
- * @param {?} certificateService
24
- * @param {?} dialog
25
- */
26
- constructor(snackBar, translate, events, langtranslations, configSvc, contSvc, certificateService, dialog) {
27
- this.snackBar = snackBar;
28
- this.translate = translate;
29
- this.events = events;
30
- this.langtranslations = langtranslations;
31
- this.configSvc = configSvc;
32
- this.contSvc = contSvc;
33
- this.certificateService = certificateService;
34
- this.dialog = dialog;
35
- this.isCardLoading = false;
36
- this.contentData = new EventEmitter();
37
- this.isCardFlipped = false;
38
- this.acbpConstants = NsCardContent.ACBPConst;
39
- this.showFlip = false;
40
- this.widgetType = 'df';
41
- this.widgetSubType = 'sdf';
42
- this.downloadCertificateLoading = false;
43
- this.langtranslations.languageSelectedObservable.subscribe((/**
44
- * @return {?}
45
- */
46
- () => {
47
- if (localStorage.getItem('websiteLanguage')) {
48
- this.translate.setDefaultLang('en');
49
- /** @type {?} */
50
- const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
51
- this.translate.use(lang);
52
- }
53
- }));
54
- }
55
- /**
56
- * @return {?}
57
- */
58
- ngOnInit() {
59
- /** @type {?} */
60
- const instanceConfig = this.configSvc.instanceConfig;
61
- if (instanceConfig) {
62
- this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
63
- this.sourceLogos = instanceConfig.sources;
64
- this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
65
- }
66
- else {
67
- this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
68
- this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
69
- }
70
- }
71
- /**
72
- * @return {?}
73
- */
74
- showSnackbar() {
75
- if (this.showIntranetContent) {
76
- this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
77
- }
78
- else if (!this.isLiveOrMarkForDeletion) {
79
- this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
80
- }
81
- }
82
- /**
83
- * @param {?} contentData
84
- * @return {?}
85
- */
86
- getRedirectUrlData(contentData) {
87
- // for telemetry
88
- if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
89
- contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
90
- }
91
- this.contSvc.changeTelemetryData(contentData);
92
- // for redirection
93
- this.contentData.emit(contentData);
94
- }
95
- /**
96
- * @param {?} label
97
- * @param {?} type
98
- * @param {?=} subtype
99
- * @return {?}
100
- */
101
- translateLabels(label, type, subtype) {
102
- return this.langtranslations.translateLabelWithoutspace(label, type, subtype);
103
- }
104
- /**
105
- * @return {?}
106
- */
107
- raiseTelemetry() {
108
- this.events.raiseInteractTelemetry({
109
- type: 'click',
110
- subType: `${this.widgetType}-${this.widgetSubType}`,
111
- id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,
112
- }, {
113
- id: this.widgetData.content.identifier,
114
- type: this.widgetData.content.primaryCategory,
115
- //context: this.widgetData.context,
116
- rollup: {},
117
- ver: `${this.widgetData.content.version}${''}`,
118
- }, {
119
- pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,
120
- module: _.camelCase(this.widgetData.content.primaryCategory),
121
- });
122
- }
123
- /**
124
- * @param {?} certificateData
125
- * @return {?}
126
- */
127
- downloadCertificate(certificateData) {
128
- this.events.raiseInteractTelemetry({
129
- type: WsEvents.EnumInteractTypes.CLICK,
130
- id: 'view-certificate',
131
- subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,
132
- }, {
133
- id: certificateData.issuedCertificates[0].identifier,
134
- // id of the certificate
135
- type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
136
- });
137
- if (certificateData.issuedCertificates.length > 0) {
138
- this.downloadCertificateLoading = true;
139
- /** @type {?} */
140
- let certData = certificateData.issuedCertificates[0];
141
- this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((/**
142
- * @param {?} res
143
- * @return {?}
144
- */
145
- (res) => {
146
- this.downloadCertificateLoading = false;
147
- /** @type {?} */
148
- const cet = res.result.printUri;
149
- this.dialog.open(CertificateDialogComponent, {
150
- width: '1300px',
151
- data: { cet, certId: certData.identifier },
152
- });
153
- }));
154
- }
155
- else {
156
- this.downloadCertificateLoading = false;
157
- }
158
- }
159
- }
160
- CardProgressPortraitLibComponent.decorators = [
161
- { type: Component, args: [{
162
- selector: 'sb-uic-card-progress-portrait-lib',
163
- 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\" [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\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\" [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\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] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\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>",
164
- 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}"]
165
- }] }
166
- ];
167
- /** @nocollapse */
168
- CardProgressPortraitLibComponent.ctorParameters = () => [
169
- { type: MatSnackBar },
170
- { type: TranslateService },
171
- { type: EventService },
172
- { type: MultilingualTranslationsService },
173
- { type: ConfigurationsService },
174
- { type: WidgetContentService },
175
- { type: CertificateService },
176
- { type: MatDialog }
177
- ];
178
- CardProgressPortraitLibComponent.propDecorators = {
179
- widgetData: [{ type: Input }],
180
- isLiveOrMarkForDeletion: [{ type: Input }],
181
- showIntranetContent: [{ type: Input }],
182
- isIntranetAllowedSettings: [{ type: Input }],
183
- isCardLoading: [{ type: Input }],
184
- contentData: [{ type: Output }],
185
- cbPlanMapData: [{ type: Input }]
186
- };
187
- if (false) {
188
- /** @type {?} */
189
- CardProgressPortraitLibComponent.prototype.widgetData;
190
- /** @type {?} */
191
- CardProgressPortraitLibComponent.prototype.isLiveOrMarkForDeletion;
192
- /** @type {?} */
193
- CardProgressPortraitLibComponent.prototype.showIntranetContent;
194
- /** @type {?} */
195
- CardProgressPortraitLibComponent.prototype.isIntranetAllowedSettings;
196
- /** @type {?} */
197
- CardProgressPortraitLibComponent.prototype.isCardLoading;
198
- /** @type {?} */
199
- CardProgressPortraitLibComponent.prototype.contentData;
200
- /** @type {?} */
201
- CardProgressPortraitLibComponent.prototype.cbPlanMapData;
202
- /** @type {?} */
203
- CardProgressPortraitLibComponent.prototype.isCardFlipped;
204
- /** @type {?} */
205
- CardProgressPortraitLibComponent.prototype.acbpConstants;
206
- /** @type {?} */
207
- CardProgressPortraitLibComponent.prototype.defaultThumbnail;
208
- /** @type {?} */
209
- CardProgressPortraitLibComponent.prototype.sourceLogos;
210
- /** @type {?} */
211
- CardProgressPortraitLibComponent.prototype.defaultSLogo;
212
- /** @type {?} */
213
- CardProgressPortraitLibComponent.prototype.showFlip;
214
- /** @type {?} */
215
- CardProgressPortraitLibComponent.prototype.widgetType;
216
- /** @type {?} */
217
- CardProgressPortraitLibComponent.prototype.widgetSubType;
218
- /** @type {?} */
219
- CardProgressPortraitLibComponent.prototype.downloadCertificateLoading;
220
- /**
221
- * @type {?}
222
- * @private
223
- */
224
- CardProgressPortraitLibComponent.prototype.snackBar;
225
- /**
226
- * @type {?}
227
- * @private
228
- */
229
- CardProgressPortraitLibComponent.prototype.translate;
230
- /**
231
- * @type {?}
232
- * @private
233
- */
234
- CardProgressPortraitLibComponent.prototype.events;
235
- /**
236
- * @type {?}
237
- * @private
238
- */
239
- CardProgressPortraitLibComponent.prototype.langtranslations;
240
- /**
241
- * @type {?}
242
- * @private
243
- */
244
- CardProgressPortraitLibComponent.prototype.configSvc;
245
- /**
246
- * @type {?}
247
- * @private
248
- */
249
- CardProgressPortraitLibComponent.prototype.contSvc;
250
- /**
251
- * @type {?}
252
- * @private
253
- */
254
- CardProgressPortraitLibComponent.prototype.certificateService;
255
- /**
256
- * @type {?}
257
- * @private
258
- */
259
- CardProgressPortraitLibComponent.prototype.dialog;
260
- }
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wcm9ncmVzcy1wb3J0cmFpdC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9jYXJkcy9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQU9ySCxNQUFNLE9BQU8sZ0NBQWdDOzs7Ozs7Ozs7OztJQW1CM0MsWUFDVSxRQUFxQixFQUNyQixTQUEyQixFQUMzQixNQUFvQixFQUNwQixnQkFBaUQsRUFDakQsU0FBZ0MsRUFDaEMsT0FBNkIsRUFDN0Isa0JBQXNDLEVBQ3RDLE1BQWlCO1FBUGpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsY0FBUyxH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QUMxQyxtRUFBcUM7O0lBQ3JDLCtEQUFpQzs7SUFDakMscUVBQXVDOztJQUN2Qyx5REFBdUM7O0lBQ3ZDLHVEQUErQzs7SUFDL0MseURBQTRCOztJQUM1Qix5REFBNkI7O0lBQzdCLHlEQUF1Qzs7SUFDdkMsNERBQXFCOztJQUNyQix1REFBZ0I7O0lBQ2hCLHdEQUFpQjs7SUFDakIsb0RBQWdCOztJQUNoQixzREFBc0I7O0lBQ3RCLHlEQUF5Qjs7SUFDekIsc0VBQTJDOzs7OztJQUd6QyxvREFBNkI7Ozs7O0lBQzdCLHFEQUFtQzs7Ozs7SUFDbkMsa0RBQTRCOzs7OztJQUM1Qiw0REFBeUQ7Ozs7O0lBQ3pELHFEQUF3Qzs7Ozs7SUFDeEMsbURBQXFDOzs7OztJQUNyQyw4REFBOEM7Ozs7O0lBQzlDLGtEQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5zQ2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2NhcmQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL211bHRpbGluZ3VhbC10cmFuc2xhdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgRXZlbnRTZXJ2aWNlLCBXc0V2ZW50cyB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2NlcnRpZmljYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2ctY29tcG9uZW50cy9jZXJ0aWZpY2F0ZS1kaWFsb2cvY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQtcHJvZ3Jlc3MtcG9ydHJhaXQtbGliLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZFByb2dyZXNzUG9ydHJhaXRMaWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHdpZGdldERhdGEhOiBOc0NhcmRDb250ZW50LklDYXJkO1xuICBASW5wdXQoKSBpc0xpdmVPck1hcmtGb3JEZWxldGlvbjogYW55XG4gIEBJbnB1dCgpIHNob3dJbnRyYW5ldENvbnRlbnQ6IGFueVxuICBASW5wdXQoKSBpc0ludHJhbmV0QWxsb3dlZFNldHRpbmdzOiBhbnlcbiAgQElucHV0KCkgaXNDYXJkTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBjb250ZW50RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBJbnB1dCgpICBjYlBsYW5NYXBEYXRhOiBhbnlcbiAgaXNDYXJkRmxpcHBlZDpib29sZWFuID0gZmFsc2VcbiAgYWNicENvbnN0YW50cyA9IE5zQ2FyZENvbnRlbnQuQUNCUENvbnN0XG4gIGRlZmF1bHRUaHVtYm5haWw6IGFueVxuICBzb3VyY2VMb2dvczogYW55XG4gIGRlZmF1bHRTTG9nbzogYW55XG4gIHNob3dGbGlwID0gZmFsc2VcbiAgd2lkZ2V0VHlwZTogYW55ID0gJ2RmJ1xuICB3aWRnZXRTdWJUeXBlOiBhbnkgPSdzZGYnXG4gIGRvd25sb2FkQ2VydGlmaWNhdGVMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50czogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udFN2YzogV2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZXJ0aWZpY2F0ZVNlcnZpY2U6IENlcnRpZmljYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICkgeyBcbiAgICAgIHRoaXMubGFuZ3RyYW5zbGF0aW9ucy5sYW5ndWFnZVNlbGVjdGVkT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICBjb25zdCBsYW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpIVxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBpbnN0YW5jZUNvbmZpZyA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnXG4gICAgaWYgKGluc3RhbmNlQ29uZmlnKSB7XG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0Q29udGVudCB8fCAnJ1xuICAgICAgdGhpcy5zb3VyY2VMb2dvcyA9IGluc3RhbmNlQ29uZmlnLnNvdXJjZXNcbiAgICAgIHRoaXMuZGVmYXVsdFNMb2dvID0gaW5zdGFuY2VDb25maWcubG9nb3MuZGVmYXVsdFNvdXJjZUxvZ28gfHwgJydcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0VGh1bWJuYWlsID0gJy9hc3NldHMvaW5zdGFuY2VzL2VhZ2xlL2FwcF9sb2dvcy9kZWZhdWx0LnBuZydcbiAgICAgIHRoaXMuZGVmYXVsdFNMb2dvID0gICcvYXNzZXRzL2luc3RhbmNlcy9lYWdsZS9hcHBfbG9nb3MvS2FybWF5b2dpQmhhcmF0X0xvZ28uc3ZnJ1xuICAgIH1cbiAgfVxuXG4gIHNob3dTbmFja2JhcigpIHtcbiAgICBpZiAodGhpcy5zaG93SW50cmFuZXRDb250ZW50KSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0NvbnRlbnQgaXMgb25seSBhdmFpbGFibGUgaW4gaW50cmFuZXQnLCAnWCcsIHsgZHVyYXRpb246IDIwMDAgfSlcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0NvbnRlbnQgbWF5IGJlIGV4cGlyZWQgb3IgZGVsZXRlZCcsICdYJywgeyBkdXJhdGlvbjogMjAwMCB9KVxuICAgIH1cbiAgfVxuICBnZXRSZWRpcmVjdFVybERhdGEoY29udGVudERhdGE6IGFueSl7XG4gICAgLy8gZm9yIHRlbGVtZXRyeVxuICAgIGlmICh0aGlzLndpZGdldERhdGEgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQucGFnZVNlY3Rpb24pIHtcbiAgICAgIGNvbnRlbnREYXRhWyd0eXBlT2ZUZWxlbWV0cnknXSA9IHRoaXMud2lkZ2V0RGF0YS5jb250ZXh0LnBhZ2VTZWN0aW9uXG4gICAgfVxuICAgIHRoaXMuY29udFN2Yy5jaGFuZ2VUZWxlbWV0cnlEYXRhKGNvbnRlbnREYXRhKVxuICAgIC8vIGZvciByZWRpcmVjdGlvblxuICAgIHRoaXMuY29udGVudERhdGEuZW1pdChjb250ZW50RGF0YSlcbiAgfVxuXG4gIHRyYW5zbGF0ZUxhYmVscyhsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsLCB0eXBlLCBzdWJ0eXBlKVxuICB9XG4gIHJhaXNlVGVsZW1ldHJ5KCkge1xuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdjbGljaycsXG4gICAgICAgIHN1YlR5cGU6IGAke3RoaXMud2lkZ2V0VHlwZX0tJHt0aGlzLndpZGdldFN1YlR5cGV9YCxcbiAgICAgICAgaWQ6IGAke18uY2FtZWxDYXNlKHRoaXMud2lkZ2V0RGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSl9LWNhcmRgLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMud2lkZ2V0RGF0YS5jb250ZW50LmlkZW50aWZpZXIsXG4gICAgICAgIHR5cGU6IHRoaXMud2lkZ2V0RGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSxcbiAgICAgICAgLy9jb250ZXh0OiB0aGlzLndpZGdldERhdGEuY29udGV4dCxcbiAgICAgICAgcm9sbHVwOiB7fSxcbiAgICAgICAgdmVyOiBgJHt0aGlzLndpZGdldERhdGEuY29udGVudC52ZXJzaW9ufSR7Jyd9YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhZ2VJZEV4dDogYCR7Xy5jYW1lbENhc2UodGhpcy53aWRnZXREYXRhLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5KX0tY2FyZGAsXG4gICAgICAgIG1vZHVsZTogXy5jYW1lbENhc2UodGhpcy53aWRnZXREYXRhLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5KSxcbiAgICAgIH0pXG4gIH1cblxuICBkb3dubG9hZENlcnRpZmljYXRlKGNlcnRpZmljYXRlRGF0YTogYW55KSB7XG4gICAgdGhpcy5ldmVudHMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeShcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0VHlwZXMuQ0xJQ0ssXG4gICAgICAgIGlkOiAndmlldy1jZXJ0aWZpY2F0ZScsXG4gICAgICAgIHN1YlR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IGNlcnRpZmljYXRlRGF0YS5pc3N1ZWRDZXJ0aWZpY2F0ZXNbMF0uaWRlbnRpZmllciwgICAvLyBpZCBvZiB0aGUgY2VydGlmaWNhdGVcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0U3ViVHlwZXMuQ0VSVElGSUNBVEUsXG4gICAgICB9KVxuICAgIGlmKGNlcnRpZmljYXRlRGF0YS5pc3N1ZWRDZXJ0aWZpY2F0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5kb3dubG9hZENlcnRpZmljYXRlTG9hZGluZyA9IHRydWVcbiAgICAgIGxldCBjZXJ0RGF0YTogYW55ID0gY2VydGlmaWNhdGVEYXRhLmlzc3VlZENlcnRpZmljYXRlc1swXVxuICAgICAgdGhpcy5jZXJ0aWZpY2F0ZVNlcnZpY2UuZG93bmxvYWRDZXJ0aWZpY2F0ZV92MihjZXJ0RGF0YS5pZGVudGlmaWVyKS5zdWJzY3JpYmUoKHJlczogYW55KT0+e1xuICAgICAgICB0aGlzLmRvd25sb2FkQ2VydGlmaWNhdGVMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgY29uc3QgY2V0ID0gcmVzLnJlc3VsdC5wcmludFVyaVxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKENlcnRpZmljYXRlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgd2lkdGg6ICcxMzAwcHgnLFxuICAgICAgICAgIGRhdGE6IHsgY2V0LCBjZXJ0SWQ6IGNlcnREYXRhLmlkZW50aWZpZXIgfSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZG93bmxvYWRDZXJ0aWZpY2F0ZUxvYWRpbmcgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
6
+ import { NsCardContent } from '../../../_models/card-content.model';
7
+ import { MatDialog, MatSnackBar } from '@angular/material';
8
+ import { TranslateService } from '@ngx-translate/core';
9
+ import { MultilingualTranslationsService } from '../../../_services/multilingual-translations.service';
10
+ import { WidgetContentService } from '../../../_services/widget-content.service';
11
+ import { ConfigurationsService, EventService, WsEvents } from '@sunbird-cb/utils-v2';
12
+ import * as _ from "lodash";
13
+ import { CertificateService } from '../../../_services/certificate.service';
14
+ import { CertificateDialogComponent } from '../../dialog-components/certificate-dialog/certificate-dialog.component';
15
+ export class CardProgressPortraitLibComponent {
16
+ /**
17
+ * @param {?} snackBar
18
+ * @param {?} translate
19
+ * @param {?} events
20
+ * @param {?} langtranslations
21
+ * @param {?} configSvc
22
+ * @param {?} contSvc
23
+ * @param {?} certificateService
24
+ * @param {?} dialog
25
+ */
26
+ constructor(snackBar, translate, events, langtranslations, configSvc, contSvc, certificateService, dialog) {
27
+ this.snackBar = snackBar;
28
+ this.translate = translate;
29
+ this.events = events;
30
+ this.langtranslations = langtranslations;
31
+ this.configSvc = configSvc;
32
+ this.contSvc = contSvc;
33
+ this.certificateService = certificateService;
34
+ this.dialog = dialog;
35
+ this.isCardLoading = false;
36
+ this.contentData = new EventEmitter();
37
+ this.isCardFlipped = false;
38
+ this.acbpConstants = NsCardContent.ACBPConst;
39
+ this.showFlip = false;
40
+ this.widgetType = 'df';
41
+ this.widgetSubType = 'sdf';
42
+ this.downloadCertificateLoading = false;
43
+ this.langtranslations.languageSelectedObservable.subscribe((/**
44
+ * @return {?}
45
+ */
46
+ () => {
47
+ if (localStorage.getItem('websiteLanguage')) {
48
+ this.translate.setDefaultLang('en');
49
+ /** @type {?} */
50
+ const lang = (/** @type {?} */ (localStorage.getItem('websiteLanguage')));
51
+ this.translate.use(lang);
52
+ }
53
+ }));
54
+ }
55
+ /**
56
+ * @return {?}
57
+ */
58
+ ngOnInit() {
59
+ /** @type {?} */
60
+ const instanceConfig = this.configSvc.instanceConfig;
61
+ if (instanceConfig) {
62
+ this.defaultThumbnail = instanceConfig.logos.defaultContent || '';
63
+ this.sourceLogos = instanceConfig.sources;
64
+ this.defaultSLogo = instanceConfig.logos.defaultSourceLogo || '';
65
+ }
66
+ else {
67
+ this.defaultThumbnail = '/assets/instances/eagle/app_logos/default.png';
68
+ this.defaultSLogo = '/assets/instances/eagle/app_logos/KarmayogiBharat_Logo.svg';
69
+ }
70
+ }
71
+ /**
72
+ * @return {?}
73
+ */
74
+ showSnackbar() {
75
+ if (this.showIntranetContent) {
76
+ this.snackBar.open('Content is only available in intranet', 'X', { duration: 2000 });
77
+ }
78
+ else if (!this.isLiveOrMarkForDeletion) {
79
+ this.snackBar.open('Content may be expired or deleted', 'X', { duration: 2000 });
80
+ }
81
+ }
82
+ /**
83
+ * @param {?} contentData
84
+ * @return {?}
85
+ */
86
+ getRedirectUrlData(contentData) {
87
+ // for telemetry
88
+ if (this.widgetData && this.widgetData.context && this.widgetData.context.pageSection) {
89
+ contentData['typeOfTelemetry'] = this.widgetData.context.pageSection;
90
+ }
91
+ this.contSvc.changeTelemetryData(contentData);
92
+ // for redirection
93
+ this.contentData.emit(contentData);
94
+ }
95
+ /**
96
+ * @param {?} label
97
+ * @param {?} type
98
+ * @param {?=} subtype
99
+ * @return {?}
100
+ */
101
+ translateLabels(label, type, subtype) {
102
+ return this.langtranslations.translateLabelWithoutspace(label, type, subtype);
103
+ }
104
+ /**
105
+ * @return {?}
106
+ */
107
+ raiseTelemetry() {
108
+ this.events.raiseInteractTelemetry({
109
+ type: 'click',
110
+ subType: `${this.widgetType}-${this.widgetSubType}`,
111
+ id: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,
112
+ }, {
113
+ id: this.widgetData.content.identifier,
114
+ type: this.widgetData.content.primaryCategory,
115
+ //context: this.widgetData.context,
116
+ rollup: {},
117
+ ver: `${this.widgetData.content.version}${''}`,
118
+ }, {
119
+ pageIdExt: `${_.camelCase(this.widgetData.content.primaryCategory)}-card`,
120
+ module: _.camelCase(this.widgetData.content.primaryCategory),
121
+ });
122
+ }
123
+ /**
124
+ * @param {?} certificateData
125
+ * @return {?}
126
+ */
127
+ downloadCertificate(certificateData) {
128
+ this.events.raiseInteractTelemetry({
129
+ type: WsEvents.EnumInteractTypes.CLICK,
130
+ id: 'view-certificate',
131
+ subType: WsEvents.EnumInteractSubTypes.CERTIFICATE,
132
+ }, {
133
+ id: certificateData.issuedCertificates[0].identifier,
134
+ // id of the certificate
135
+ type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
136
+ });
137
+ if (certificateData.issuedCertificates.length > 0) {
138
+ this.downloadCertificateLoading = true;
139
+ /** @type {?} */
140
+ let certData = certificateData.issuedCertificates[0];
141
+ this.certificateService.downloadCertificate_v2(certData.identifier).subscribe((/**
142
+ * @param {?} res
143
+ * @return {?}
144
+ */
145
+ (res) => {
146
+ this.downloadCertificateLoading = false;
147
+ /** @type {?} */
148
+ const cet = res.result.printUri;
149
+ this.dialog.open(CertificateDialogComponent, {
150
+ width: '1300px',
151
+ data: { cet, certId: certData.identifier },
152
+ });
153
+ }));
154
+ }
155
+ else {
156
+ this.downloadCertificateLoading = false;
157
+ }
158
+ }
159
+ }
160
+ CardProgressPortraitLibComponent.decorators = [
161
+ { type: Component, args: [{
162
+ selector: 'sb-uic-card-progress-portrait-lib',
163
+ template: "<ng-container *ngIf=\"!isCardLoading\">\r\n <mat-card class=\"card-portrait card-progress-portrait-lib cursor-pointer\" [ngClass]=\"widgetData?.cardCustomeClass ? widgetData?.cardCustomeClass : ''\" (click)=\"raiseTelemetry();getRedirectUrlData(widgetData?.content); $event.stopPropagation()\" >\r\n <div class=\"course_widget portrait_widget flex margin-bottom-xs\" [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\r\n <div class=\"flex flex-end flex-middle course_port\">\r\n <mat-icon class=\"mat-icon main_icon ws-mat-default-text margin-right-xs\">video_library</mat-icon>\r\n <sb-uic-display-content-type i18n-title title=\"Content Type\" *ngIf=\"widgetData?.content?.primaryCategory\"\r\n class=\"ws-mat-black60-text font-normal mat-caption \" [displayContentType]=\"widgetData?.content?.primaryCategory==='Course Unit'\r\n ?'Module'\r\n :widgetData?.content?.primaryCategory\">\r\n </sb-uic-display-content-type>\r\n </div>\r\n </div>\r\n <div class=\"flex\" [ngClass]=\"{'retiredCards': widgetData?.content?.status === 'Retired' && widgetData?.content?.completionPercentage === 100}\">\r\n <div class=\"margin-right-s\">\r\n <ng-container *ngIf=\"widgetData?.content?.posterImage\">\r\n <div class=\" img-block-portrait position-relative\">\r\n <img mat-card-image [src]=\"widgetData?.content?.posterImage | pipePublicURL\" loading=\"lazy\"\r\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\r\n [alt]=\"widgetData?.content?.name\" />\r\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.duration > 0\">\r\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\r\n <span class=\" ws-mat-white-text duration\">\r\n {{ (widgetData?.content?.duration || 120)| pipeDurationTransform: 'hms' }}\r\n </span>\r\n </div>\r\n <div class=\"duration-box right-corner-portrait\" *ngIf=\"widgetData?.content?.programDuration > 0\">\r\n <mat-icon class=\"mat-icon main_icon mr-1\">access_time</mat-icon>\r\n <span class=\" ws-mat-white-text duration\">\r\n {{widgetData?.content?.programDuration}} {{widgetData?.content?.programDuration === 1 ? 'day' : 'days'}}\r\n </span>\r\n </div>\r\n <ng-container *ngIf=\"cbPlanMapData && cbPlanMapData[widgetData?.content?.identifier] && cbPlanMapData[widgetData?.content?.identifier]?.contentStatus < 2\">\r\n <ng-container [ngTemplateOutlet]=\"cbpPlan\" [ngTemplateOutletContext]=\"{data: {\r\n cbpData: cbPlanMapData[widgetData?.content?.identifier]\r\n }}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!widgetData?.content?.posterImage\">\r\n <ng-container *ngIf=\"widgetData?.content?.appIcon; else defaultImg\">\r\n <img mat-card-image [src]=\"widgetData?.content?.appIcon | pipePublicURL\" loading=\"lazy\"\r\n class=\"card-image ws-mat-primary-lite-background margin-remove\" [wsUtilsDefaultThumbnail]=\"defaultThumbnail\"\r\n [alt]=\"widgetData?.content?.name\" />\r\n </ng-container>\r\n <ng-template #defaultImg>\r\n <img mat-card-image [src]=\"defaultThumbnail\" loading=\"lazy\"\r\n class=\"card-image ws-mat-primary-lite-background margin-remove\"\r\n [alt]=\"widgetData?.content?.name\" />\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <div class=\"width-1-1\">\r\n <div [id]=\"'m-c-'+ widgetData?.content?.identifier\"\r\n class=\"portrait-subheading mat-subheading-2 title-text\">\r\n {{ widgetData?.content?.name }}\r\n </div>\r\n <div class=\"flex w-full flex-middle\">\r\n <div class=\"portrait_course_logo_box margin-right-xs\">\r\n <img [src]=\"widgetData?.content?.creatorLogo | pipePublicURL \" class=\"source-icon\" loading=\"lazy\" [wsUtilsDefaultThumbnail]=\"defaultSLogo\"\r\n [alt]=\"(widgetData?.content?.sourceName + '_' + widgetData?.content?.identifier)\" />\r\n </div>\r\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>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage < 100\">\r\n <div class=\"flex flex-align-end progress-wrapper flex-between\" >\r\n <div class=\"progress-block\" >\r\n <div class=\"completed-time\">\r\n <mat-icon class=\"mat-icon schedule margin-right-xs\">schedule</mat-icon>\r\n <span>{{widgetData?.content?.completionPercentage}}%</span>\r\n </div>\r\n <div>\r\n <ng-container *ngIf=\"widgetData?.content?.completionStatus < 2\">\r\n <sb-uic-content-progress class=\"progress-bar-new\" [customClassName]=\"'course-progress-bar'\" *ngIf=\"widgetData?.content?.identifier\"\r\n [contentId]=\"widgetData?.content?.identifier\" [progress]=\"widgetData?.content?.completionPercentage\"\r\n [progressType]=\"'percentage'\">\r\n </sb-uic-content-progress>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"progress-btn\">\r\n <button class=\"resume-btn flex flex-middle flex-between\" [routerLink]=\"['/app/toc/',widgetData?.content?.identifier,'overview']\"\r\n [queryParams]=\"{primaryCategory: widgetData?.content?.primaryCategory}\" [state]=\"widgetData?.stateData\" \r\n [matTooltipPosition]=\"'below'\"\r\n [matTooltipDisabled]=\"(!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')).length < 11\"\r\n matTooltip=\"{{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}\">\r\n <span class=\"textwrap margin-right-xs\">\r\n {{!widgetData?.content?.completionPercentage ? translateLabels('start', 'cardcontentv2') : translateLabels('resume', 'cardcontentv2')}}</span>\r\n <img class=\"stats-icon\" height=\"20\" width=\"20\" src=\"/assets/icons/home/play.svg\">\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"widgetData?.content?.completionPercentage === 100\">\r\n <div class=\"flex flex-align-end progress-wrapper flex-end mt-1\">\r\n <div class=\"progress-btn\">\r\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()\" \r\n [matTooltipPosition]=\"'below'\"\r\n [matTooltipDisabled]=\"(translateLabels('viewCertificate', 'cardcontentv2')).length < 11\"\r\n matTooltip=\"{{'cardcontentv2.viewCertificate' | translate }}\">\r\n <span class=\"margin-right-xs textwrap\">{{'cardcontentv2.viewCertificate' | translate }}</span>\r\n <img class=\"stats-icon\" *ngIf=\"!downloadCertificateLoading\" height=\"20\" width=\"20\" src=\"/assets/icons/home/eye-white.svg\">\r\n <div class=\"center flex flex-middle\" *ngIf=\"downloadCertificateLoading\">\r\n <mat-spinner strokeWidth=\"2\" stroke=\"'red'\" class=\"white-spinner\" [diameter]=\"16\"></mat-spinner>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </mat-card>\r\n</ng-container>\r\n\r\n\r\n<ng-template #cbpPlan let-data=\"data\">\r\n <div class=\"cbp-mark left-0 border-top-radius\">\r\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.UPCOMING\" class=\"cbp-warning\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\r\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.SUCCESS\" class=\"cbp-success\">{{data.cbpData.endDate | date: 'd MMM, y'}}</p>\r\n <p *ngIf=\"data.cbpData.planDuration === acbpConstants?.OVERDUE\" class=\"cbp-danger\">{{'OverDue' }}</p>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"isCardLoading\">\r\n <mat-card class=\"card-portrait\" [ngClass]=\"widgetData.cardCustomeClass ? widgetData.cardCustomeClass : ''\">\r\n <div class=\"margin-bottom-xs\">\r\n <ng-container>\r\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'26px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"margin-right-s\">\r\n <ng-container>\r\n <sb-uic-skeleton-loader [width]=\"'147px'\" [height]=\"'98px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\r\n </ng-container>\r\n </div>\r\n <div class=\"width-1-1\">\r\n <div class=\"portrait-subheading title-text\">\r\n <sb-uic-skeleton-loader [bindingClass]=\"'flex rounded width-1-1'\"></sb-uic-skeleton-loader>\r\n </div>\r\n <div class=\"flex w-full flex-wrap flex-middle\">\r\n <div class=\" margin-right-xs\">\r\n <sb-uic-skeleton-loader [width]=\"'24px'\" [height]=\"'24px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\r\n </div>\r\n <span class=\"\"><sb-uic-skeleton-loader [width]=\"'133px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader></span>\r\n </div>\r\n <div class=\"portrait_widget flex margin-top-xs\">\r\n <div class=\"flex flex-end flex-middle\">\r\n <sb-uic-skeleton-loader [width]=\"'65px'\" [height]=\"'12px'\" [bindingClass]=\"'flex rounded'\"></sb-uic-skeleton-loader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-align-end progress-wrapper flex-between\">\r\n <div class=\"progress-block\">\r\n <div class=\"completed-time\">\r\n <sb-uic-skeleton-loader [width]=\"'211px'\" [height]=\"'16px'\" [bindingClass]=\"'flex rounded margin-top-xs md:w-211'\"></sb-uic-skeleton-loader>\r\n </div>\r\n </div>\r\n <div class=\"progress-btn\">\r\n <sb-uic-skeleton-loader [width]=\"'117px'\" [height]=\"'32px'\" [bindingClass]=\"'flex rounded margin-top-xs'\"></sb-uic-skeleton-loader>\r\n </div>\r\n </div>\r\n </mat-card>\r\n</ng-container>",
164
+ 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}"]
165
+ }] }
166
+ ];
167
+ /** @nocollapse */
168
+ CardProgressPortraitLibComponent.ctorParameters = () => [
169
+ { type: MatSnackBar },
170
+ { type: TranslateService },
171
+ { type: EventService },
172
+ { type: MultilingualTranslationsService },
173
+ { type: ConfigurationsService },
174
+ { type: WidgetContentService },
175
+ { type: CertificateService },
176
+ { type: MatDialog }
177
+ ];
178
+ CardProgressPortraitLibComponent.propDecorators = {
179
+ widgetData: [{ type: Input }],
180
+ isLiveOrMarkForDeletion: [{ type: Input }],
181
+ showIntranetContent: [{ type: Input }],
182
+ isIntranetAllowedSettings: [{ type: Input }],
183
+ isCardLoading: [{ type: Input }],
184
+ contentData: [{ type: Output }],
185
+ cbPlanMapData: [{ type: Input }]
186
+ };
187
+ if (false) {
188
+ /** @type {?} */
189
+ CardProgressPortraitLibComponent.prototype.widgetData;
190
+ /** @type {?} */
191
+ CardProgressPortraitLibComponent.prototype.isLiveOrMarkForDeletion;
192
+ /** @type {?} */
193
+ CardProgressPortraitLibComponent.prototype.showIntranetContent;
194
+ /** @type {?} */
195
+ CardProgressPortraitLibComponent.prototype.isIntranetAllowedSettings;
196
+ /** @type {?} */
197
+ CardProgressPortraitLibComponent.prototype.isCardLoading;
198
+ /** @type {?} */
199
+ CardProgressPortraitLibComponent.prototype.contentData;
200
+ /** @type {?} */
201
+ CardProgressPortraitLibComponent.prototype.cbPlanMapData;
202
+ /** @type {?} */
203
+ CardProgressPortraitLibComponent.prototype.isCardFlipped;
204
+ /** @type {?} */
205
+ CardProgressPortraitLibComponent.prototype.acbpConstants;
206
+ /** @type {?} */
207
+ CardProgressPortraitLibComponent.prototype.defaultThumbnail;
208
+ /** @type {?} */
209
+ CardProgressPortraitLibComponent.prototype.sourceLogos;
210
+ /** @type {?} */
211
+ CardProgressPortraitLibComponent.prototype.defaultSLogo;
212
+ /** @type {?} */
213
+ CardProgressPortraitLibComponent.prototype.showFlip;
214
+ /** @type {?} */
215
+ CardProgressPortraitLibComponent.prototype.widgetType;
216
+ /** @type {?} */
217
+ CardProgressPortraitLibComponent.prototype.widgetSubType;
218
+ /** @type {?} */
219
+ CardProgressPortraitLibComponent.prototype.downloadCertificateLoading;
220
+ /**
221
+ * @type {?}
222
+ * @private
223
+ */
224
+ CardProgressPortraitLibComponent.prototype.snackBar;
225
+ /**
226
+ * @type {?}
227
+ * @private
228
+ */
229
+ CardProgressPortraitLibComponent.prototype.translate;
230
+ /**
231
+ * @type {?}
232
+ * @private
233
+ */
234
+ CardProgressPortraitLibComponent.prototype.events;
235
+ /**
236
+ * @type {?}
237
+ * @private
238
+ */
239
+ CardProgressPortraitLibComponent.prototype.langtranslations;
240
+ /**
241
+ * @type {?}
242
+ * @private
243
+ */
244
+ CardProgressPortraitLibComponent.prototype.configSvc;
245
+ /**
246
+ * @type {?}
247
+ * @private
248
+ */
249
+ CardProgressPortraitLibComponent.prototype.contSvc;
250
+ /**
251
+ * @type {?}
252
+ * @private
253
+ */
254
+ CardProgressPortraitLibComponent.prototype.certificateService;
255
+ /**
256
+ * @type {?}
257
+ * @private
258
+ */
259
+ CardProgressPortraitLibComponent.prototype.dialog;
260
+ }
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1wcm9ncmVzcy1wb3J0cmFpdC1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9jYXJkcy9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQU9ySCxNQUFNLE9BQU8sZ0NBQWdDOzs7Ozs7Ozs7OztJQW1CM0MsWUFDVSxRQUFxQixFQUNyQixTQUEyQixFQUMzQixNQUFvQixFQUNwQixnQkFBaUQsRUFDakQsU0FBZ0MsRUFDaEMsT0FBNkIsRUFDN0Isa0JBQXNDLEVBQ3RDLE1BQWlCO1FBUGpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsY0FBUyxH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QUMxQyxtRUFBcUM7O0lBQ3JDLCtEQUFpQzs7SUFDakMscUVBQXVDOztJQUN2Qyx5REFBdUM7O0lBQ3ZDLHVEQUErQzs7SUFDL0MseURBQTRCOztJQUM1Qix5REFBNkI7O0lBQzdCLHlEQUF1Qzs7SUFDdkMsNERBQXFCOztJQUNyQix1REFBZ0I7O0lBQ2hCLHdEQUFpQjs7SUFDakIsb0RBQWdCOztJQUNoQixzREFBc0I7O0lBQ3RCLHlEQUF5Qjs7SUFDekIsc0VBQTJDOzs7OztJQUd6QyxvREFBNkI7Ozs7O0lBQzdCLHFEQUFtQzs7Ozs7SUFDbkMsa0RBQTRCOzs7OztJQUM1Qiw0REFBeUQ7Ozs7O0lBQ3pELHFEQUF3Qzs7Ozs7SUFDeEMsbURBQXFDOzs7OztJQUNyQyw4REFBOEM7Ozs7O0lBQzlDLGtEQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTnNDYXJkQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvY2FyZC1jb250ZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJ1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgRXZlbnRTZXJ2aWNlLCBXc0V2ZW50cyB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCB7IENlcnRpZmljYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9jZXJ0aWZpY2F0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2ctY29tcG9uZW50cy9jZXJ0aWZpY2F0ZS1kaWFsb2cvY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NiLXVpYy1jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtcHJvZ3Jlc3MtcG9ydHJhaXQtbGliLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXJkLXByb2dyZXNzLXBvcnRyYWl0LWxpYi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkUHJvZ3Jlc3NQb3J0cmFpdExpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHdpZGdldERhdGEhOiBOc0NhcmRDb250ZW50LklDYXJkO1xyXG4gIEBJbnB1dCgpIGlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uOiBhbnlcclxuICBASW5wdXQoKSBzaG93SW50cmFuZXRDb250ZW50OiBhbnlcclxuICBASW5wdXQoKSBpc0ludHJhbmV0QWxsb3dlZFNldHRpbmdzOiBhbnlcclxuICBASW5wdXQoKSBpc0NhcmRMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcclxuICBAT3V0cHV0KCkgY29udGVudERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBJbnB1dCgpICBjYlBsYW5NYXBEYXRhOiBhbnlcclxuICBpc0NhcmRGbGlwcGVkOmJvb2xlYW4gPSBmYWxzZVxyXG4gIGFjYnBDb25zdGFudHMgPSBOc0NhcmRDb250ZW50LkFDQlBDb25zdFxyXG4gIGRlZmF1bHRUaHVtYm5haWw6IGFueVxyXG4gIHNvdXJjZUxvZ29zOiBhbnlcclxuICBkZWZhdWx0U0xvZ286IGFueVxyXG4gIHNob3dGbGlwID0gZmFsc2VcclxuICB3aWRnZXRUeXBlOiBhbnkgPSAnZGYnXHJcbiAgd2lkZ2V0U3ViVHlwZTogYW55ID0nc2RmJ1xyXG4gIGRvd25sb2FkQ2VydGlmaWNhdGVMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBldmVudHM6IEV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRTdmM6IFdpZGdldENvbnRlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZXJ0aWZpY2F0ZVNlcnZpY2U6IENlcnRpZmljYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICApIHsgXHJcbiAgICAgIHRoaXMubGFuZ3RyYW5zbGF0aW9ucy5sYW5ndWFnZVNlbGVjdGVkT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXHJcbiAgICAgICAgICBjb25zdCBsYW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpIVxyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcclxuICAgIGlmIChpbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSBpbnN0YW5jZUNvbmZpZy5sb2dvcy5kZWZhdWx0Q29udGVudCB8fCAnJ1xyXG4gICAgICB0aGlzLnNvdXJjZUxvZ29zID0gaW5zdGFuY2VDb25maWcuc291cmNlc1xyXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9IGluc3RhbmNlQ29uZmlnLmxvZ29zLmRlZmF1bHRTb3VyY2VMb2dvIHx8ICcnXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlZmF1bHRUaHVtYm5haWwgPSAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL2RlZmF1bHQucG5nJ1xyXG4gICAgICB0aGlzLmRlZmF1bHRTTG9nbyA9ICAnL2Fzc2V0cy9pbnN0YW5jZXMvZWFnbGUvYXBwX2xvZ29zL0thcm1heW9naUJoYXJhdF9Mb2dvLnN2ZydcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dTbmFja2JhcigpIHtcclxuICAgIGlmICh0aGlzLnNob3dJbnRyYW5ldENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdDb250ZW50IGlzIG9ubHkgYXZhaWxhYmxlIGluIGludHJhbmV0JywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzTGl2ZU9yTWFya0ZvckRlbGV0aW9uKSB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIub3BlbignQ29udGVudCBtYXkgYmUgZXhwaXJlZCBvciBkZWxldGVkJywgJ1gnLCB7IGR1cmF0aW9uOiAyMDAwIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFJlZGlyZWN0VXJsRGF0YShjb250ZW50RGF0YTogYW55KXtcclxuICAgIC8vIGZvciB0ZWxlbWV0cnlcclxuICAgIGlmICh0aGlzLndpZGdldERhdGEgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQgJiYgdGhpcy53aWRnZXREYXRhLmNvbnRleHQucGFnZVNlY3Rpb24pIHtcclxuICAgICAgY29udGVudERhdGFbJ3R5cGVPZlRlbGVtZXRyeSddID0gdGhpcy53aWRnZXREYXRhLmNvbnRleHQucGFnZVNlY3Rpb25cclxuICAgIH1cclxuICAgIHRoaXMuY29udFN2Yy5jaGFuZ2VUZWxlbWV0cnlEYXRhKGNvbnRlbnREYXRhKVxyXG4gICAgLy8gZm9yIHJlZGlyZWN0aW9uXHJcbiAgICB0aGlzLmNvbnRlbnREYXRhLmVtaXQoY29udGVudERhdGEpXHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVMYWJlbHMobGFiZWw6IHN0cmluZywgdHlwZTogYW55LCBzdWJ0eXBlPzogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsLCB0eXBlLCBzdWJ0eXBlKVxyXG4gIH1cclxuICByYWlzZVRlbGVtZXRyeSgpIHtcclxuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXHJcbiAgICAgIHtcclxuICAgICAgICB0eXBlOiAnY2xpY2snLFxyXG4gICAgICAgIHN1YlR5cGU6IGAke3RoaXMud2lkZ2V0VHlwZX0tJHt0aGlzLndpZGdldFN1YlR5cGV9YCxcclxuICAgICAgICBpZDogYCR7Xy5jYW1lbENhc2UodGhpcy53aWRnZXREYXRhLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5KX0tY2FyZGAsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogdGhpcy53aWRnZXREYXRhLmNvbnRlbnQuaWRlbnRpZmllcixcclxuICAgICAgICB0eXBlOiB0aGlzLndpZGdldERhdGEuY29udGVudC5wcmltYXJ5Q2F0ZWdvcnksXHJcbiAgICAgICAgLy9jb250ZXh0OiB0aGlzLndpZGdldERhdGEuY29udGV4dCxcclxuICAgICAgICByb2xsdXA6IHt9LFxyXG4gICAgICAgIHZlcjogYCR7dGhpcy53aWRnZXREYXRhLmNvbnRlbnQudmVyc2lvbn0keycnfWAsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKHRoaXMud2lkZ2V0RGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSl9LWNhcmRgLFxyXG4gICAgICAgIG1vZHVsZTogXy5jYW1lbENhc2UodGhpcy53aWRnZXREYXRhLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5KSxcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIGRvd25sb2FkQ2VydGlmaWNhdGUoY2VydGlmaWNhdGVEYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXHJcbiAgICAgIHtcclxuICAgICAgICB0eXBlOiBXc0V2ZW50cy5FbnVtSW50ZXJhY3RUeXBlcy5DTElDSyxcclxuICAgICAgICBpZDogJ3ZpZXctY2VydGlmaWNhdGUnLFxyXG4gICAgICAgIHN1YlR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGNlcnRpZmljYXRlRGF0YS5pc3N1ZWRDZXJ0aWZpY2F0ZXNbMF0uaWRlbnRpZmllciwgICAvLyBpZCBvZiB0aGUgY2VydGlmaWNhdGVcclxuICAgICAgICB0eXBlOiBXc0V2ZW50cy5FbnVtSW50ZXJhY3RTdWJUeXBlcy5DRVJUSUZJQ0FURSxcclxuICAgICAgfSlcclxuICAgIGlmKGNlcnRpZmljYXRlRGF0YS5pc3N1ZWRDZXJ0aWZpY2F0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmRvd25sb2FkQ2VydGlmaWNhdGVMb2FkaW5nID0gdHJ1ZVxyXG4gICAgICBsZXQgY2VydERhdGE6IGFueSA9IGNlcnRpZmljYXRlRGF0YS5pc3N1ZWRDZXJ0aWZpY2F0ZXNbMF1cclxuICAgICAgdGhpcy5jZXJ0aWZpY2F0ZVNlcnZpY2UuZG93bmxvYWRDZXJ0aWZpY2F0ZV92MihjZXJ0RGF0YS5pZGVudGlmaWVyKS5zdWJzY3JpYmUoKHJlczogYW55KT0+e1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWRDZXJ0aWZpY2F0ZUxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgIGNvbnN0IGNldCA9IHJlcy5yZXN1bHQucHJpbnRVcmlcclxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKENlcnRpZmljYXRlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICB3aWR0aDogJzEzMDBweCcsXHJcbiAgICAgICAgICBkYXRhOiB7IGNldCwgY2VydElkOiBjZXJ0RGF0YS5pZGVudGlmaWVyIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG93bmxvYWRDZXJ0aWZpY2F0ZUxvYWRpbmcgPSBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19