@sunbird-cb/consumption 0.0.67 → 0.0.69

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 +17489 -17485
  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,391 +1,391 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';
6
- import { fromEvent, timer, } from 'rxjs';
7
- import { debounceTime, throttleTime } from 'rxjs/operators';
8
- import { ValueService } from '@sunbird-cb/utils-v2';
9
- var HorizontalScrollerV2Component = /** @class */ (function () {
10
- function HorizontalScrollerV2Component(valueSvc) {
11
- this.valueSvc = valueSvc;
12
- this.loadStatus = 'fetching';
13
- this.id = '';
14
- this.onHover = false;
15
- this.sliderConfig = {
16
- showNavs: true,
17
- showDots: true,
18
- cerificateCardMargin: false,
19
- };
20
- this.loadNext = new EventEmitter();
21
- this.horizontalScrollElem = null;
22
- this.enablePrev = false;
23
- this.enableNext = false;
24
- this.activeNav = 0;
25
- this.cardSubType = 'standard';
26
- this.bottomDotsArray = [];
27
- this.scrollObserver = null;
28
- this.isMobile = false;
29
- this.defaultMenuSubscribe = null;
30
- this.isLtMedium$ = this.valueSvc.isLtMedium$;
31
- }
32
- /**
33
- * @return {?}
34
- */
35
- HorizontalScrollerV2Component.prototype.ngOnInit = /**
36
- * @return {?}
37
- */
38
- function () {
39
- var _this = this;
40
- this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';
41
- if (this.horizontalScrollElem) {
42
- /** @type {?} */
43
- var horizontalScrollElem_1 = this.horizontalScrollElem;
44
- this.scrollObserver = fromEvent(horizontalScrollElem_1.nativeElement, 'scroll')
45
- .pipe(debounceTime(100), throttleTime(100))
46
- .subscribe((/**
47
- * @param {?} _
48
- * @return {?}
49
- */
50
- function (_) {
51
- _this.updateNavigationBtnStatus((/** @type {?} */ (horizontalScrollElem_1
52
- .nativeElement)));
53
- }));
54
- setTimeout((/**
55
- * @return {?}
56
- */
57
- function () {
58
- _this.getBottomDotsArray();
59
- }), 700);
60
- }
61
- this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
62
- * @param {?} isLtMedium
63
- * @return {?}
64
- */
65
- function (isLtMedium) {
66
- _this.isMobile = isLtMedium;
67
- }));
68
- };
69
- /**
70
- * @return {?}
71
- */
72
- HorizontalScrollerV2Component.prototype.ngOnChanges = /**
73
- * @return {?}
74
- */
75
- function () {
76
- var _this = this;
77
- timer(100).subscribe((/**
78
- * @return {?}
79
- */
80
- function () {
81
- if (_this.horizontalScrollElem) {
82
- _this.updateNavigationBtnStatus((/** @type {?} */ (_this.horizontalScrollElem
83
- .nativeElement)));
84
- }
85
- }));
86
- setTimeout((/**
87
- * @return {?}
88
- */
89
- function () {
90
- _this.getBottomDotsArray();
91
- }), 700);
92
- };
93
- /**
94
- * @return {?}
95
- */
96
- HorizontalScrollerV2Component.prototype.ngOnDestroy = /**
97
- * @return {?}
98
- */
99
- function () {
100
- if (this.scrollObserver) {
101
- this.scrollObserver.unsubscribe();
102
- }
103
- if (this.defaultMenuSubscribe) {
104
- this.defaultMenuSubscribe.unsubscribe();
105
- }
106
- };
107
- /**
108
- * @return {?}
109
- */
110
- HorizontalScrollerV2Component.prototype.showPrev = /**
111
- * @return {?}
112
- */
113
- function () {
114
- // const elem = this.horizontalScrollElem.nativeElement
115
- // elem.scrollLeft -= 0.20 * elem.clientWidth
116
- if (this.horizontalScrollElem) {
117
- // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
118
- /** @type {?} */
119
- var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
120
- this.horizontalScrollElem.nativeElement.scrollTo({
121
- left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
122
- behavior: 'smooth',
123
- });
124
- /** @type {?} */
125
- var elem = this.horizontalScrollElem.nativeElement;
126
- if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
127
- this.activeNav -= 1;
128
- }
129
- else {
130
- if (this.sliderConfig.arrowsAlwaysOn) {
131
- if (this.horizontalScrollElem.nativeElement.scrollLeft === 0) {
132
- this.horizontalScrollElem.nativeElement.scrollTo({
133
- left: elem.scrollWidth,
134
- behavior: 'smooth',
135
- });
136
- this.activeNav = this.bottomDotsArray.length - 1;
137
- }
138
- }
139
- }
140
- }
141
- };
142
- /**
143
- * @return {?}
144
- */
145
- HorizontalScrollerV2Component.prototype.showNext = /**
146
- * @return {?}
147
- */
148
- function () {
149
- // const elem = this.horizontalScrollElem.nativeElement
150
- // elem.scrollLeft += 0.20 * elem.clientWidth
151
- if (this.horizontalScrollElem) {
152
- // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
153
- /** @type {?} */
154
- var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
155
- this.horizontalScrollElem.nativeElement.scrollTo({
156
- left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
157
- behavior: 'smooth',
158
- });
159
- /** @type {?} */
160
- var elem = this.horizontalScrollElem.nativeElement;
161
- if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
162
- this.activeNav += 1;
163
- }
164
- else {
165
- if (this.sliderConfig.arrowsAlwaysOn) {
166
- if (this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth) {
167
- this.horizontalScrollElem.nativeElement.scrollTo({
168
- left: 0,
169
- behavior: 'smooth',
170
- });
171
- this.activeNav = 0;
172
- }
173
- }
174
- }
175
- }
176
- };
177
- /**
178
- * @private
179
- * @param {?} elem
180
- * @return {?}
181
- */
182
- HorizontalScrollerV2Component.prototype.updateNavigationBtnStatus = /**
183
- * @private
184
- * @param {?} elem
185
- * @return {?}
186
- */
187
- function (elem) {
188
- this.enablePrev = true;
189
- this.enableNext = true;
190
- if (elem.scrollLeft === 0) {
191
- if (!this.sliderConfig.arrowsAlwaysOn) {
192
- this.enablePrev = false;
193
- }
194
- this.activeNav = 0;
195
- }
196
- // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
197
- // if (this.loadStatus === 'hasMore') {
198
- // this.loadNext.emit();
199
- // } else {
200
- // if(!this.sliderConfig.arrowsAlwaysOn) {
201
- // this.enableNext = false;
202
- // }
203
- // if (this.bottomDotsArray.length) {
204
- // this.activeNav = this.bottomDotsArray.length - 1;
205
- // }
206
- // }
207
- // }
208
- // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
209
- // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
210
- // }
211
- /** @type {?} */
212
- var widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft));
213
- if (widthDiff === 0 || widthDiff === 1) {
214
- if (this.loadStatus === 'hasMore') {
215
- this.loadNext.emit();
216
- }
217
- else {
218
- this.enableNext = false;
219
- if (this.bottomDotsArray.length) {
220
- this.activeNav = this.bottomDotsArray.length - 1;
221
- }
222
- }
223
- }
224
- if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
225
- this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
226
- }
227
- };
228
- /**
229
- * @param {?} ele
230
- * @return {?}
231
- */
232
- HorizontalScrollerV2Component.prototype.slideTo = /**
233
- * @param {?} ele
234
- * @return {?}
235
- */
236
- function (ele) {
237
- /** @type {?} */
238
- var diff = ele - this.activeNav;
239
- // if (ele > this.activeNav && ele !== this.activeNav) {
240
- // if (this.horizontalScrollElem) {
241
- // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
242
- // this.horizontalScrollElem.nativeElement.scrollTo({
243
- // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),
244
- // behavior: 'smooth',
245
- // })
246
- // }
247
- // this.activeNav = ele
248
- // } else {
249
- // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {
250
- // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
251
- // this.horizontalScrollElem.nativeElement.scrollTo({
252
- // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),
253
- // behavior: 'smooth',
254
- // })
255
- // }
256
- // this.activeNav = ele
257
- // }
258
- if (this.horizontalScrollElem) {
259
- /** @type {?} */
260
- var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
261
- this.horizontalScrollElem.nativeElement.scrollTo({
262
- left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),
263
- behavior: 'smooth',
264
- });
265
- }
266
- this.activeNav = ele;
267
- };
268
- /**
269
- * @return {?}
270
- */
271
- HorizontalScrollerV2Component.prototype.getBottomDotsArray = /**
272
- * @return {?}
273
- */
274
- function () {
275
- var _this = this;
276
- if (this.horizontalScrollElem) {
277
- this.bottomDotsArray = [];
278
- /** @type {?} */
279
- var cardWidth = void 0;
280
- /** @type {?} */
281
- var arrLength_1;
282
- if (this.cardSubType !== 'card-wide-v2') {
283
- cardWidth = this.cardSubType === 'standard' ? 245 :
284
- ((document.getElementsByClassName(this.cardSubType) &&
285
- document.getElementsByClassName(this.cardSubType)[0] !== undefined)
286
- ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);
287
- if (document.getElementById("" + this.id)) {
288
- /** @type {?} */
289
- var scrollerWidth = document.getElementById("" + this.id).clientWidth;
290
- /** @type {?} */
291
- var totalCardsLength = cardWidth * this.widgetsLength;
292
- if (totalCardsLength > scrollerWidth) {
293
- arrLength_1 = Math.round(scrollerWidth / cardWidth);
294
- this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
295
- this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
296
- arrLength_1 = this.defaultMaxWidgets / arrLength_1;
297
- for (var i = 0; i < arrLength_1; i += 1) {
298
- this.bottomDotsArray.push(i);
299
- }
300
- }
301
- }
302
- }
303
- else {
304
- setTimeout((/**
305
- * @return {?}
306
- */
307
- function () {
308
- _this.bottomDotsArray = [];
309
- arrLength_1 = document.getElementsByClassName(_this.cardSubType).length;
310
- for (var i = 0; i < arrLength_1; i += 1) {
311
- _this.bottomDotsArray.push(i);
312
- }
313
- }), 1000);
314
- }
315
- }
316
- };
317
- HorizontalScrollerV2Component.decorators = [
318
- { type: Component, args: [{
319
- selector: 'sb-uic-horizontal-scroller-v2',
320
- template: "\r\n<section class=\"horizontal-scroll-container h-full\" [id]=\"id\"\r\n[ngClass]=\"{'px-4': sliderConfig.showNavs && sliderConfig.showNavsSpacing, 'mt-5':sliderConfig.cerificateCardMargin}\">\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"navigation {{isMobile? sliderConfig?.responsive?.arrowsPlacement : sliderConfig?.arrowsPlacement}}\">\r\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\r\n <button i18n-aria-label aria-label=\"back\" name=\"content-backward-button\" mat-mini-fab color=\"\" \r\n (click)=\"showPrev()\" class=\"prevBtn mat-elevation-z\" [hidden]=\"!enablePrev\"\r\n [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\r\n <button i18n-aria-label aria-label=\"next\" name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\"\r\n color=\"\" class=\"nextBtn mat-elevation-z\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n <!-- <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div> --> \r\n</section>\r\n\r\n<div class=\"dots-container {{isMobile? sliderConfig?.responsive?.dotsAlign : sliderConfig?.dotsAlign}}\" \r\n*ngIf=\"(isMobile && sliderConfig?.responsive?.showDots) || (!isMobile && sliderConfig?.showDots)\">\r\n <!-- <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" -->\r\n <span class=\"dot\" [ngClass]=\"{ active: j === activeNav }\" *ngFor=\"let slide of bottomDotsArray; let j = index\" (click)=\"slideTo(j)\"></span>\r\n</div>",
321
- styles: [".horizontal-scroll-container{position:relative;width:100%;width:inherit}.nextBtn,.nextLoading,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;justify-content:center}.nextBtn,.prevBtn{border-radius:50%;background-color:#1b2133!important;color:#fff!important}.border-radius-xs{border-radius:8px!important}.prevBtn{left:0}.nextBtn{right:0}.nextLoading{padding:0;right:0}.navigation.bottom-right .prevBtn{left:unset;right:56px;bottom:-44px;top:unset}.navigation.bottom-right .nextBtn{left:unset;right:8px;bottom:-44px;top:unset}.navigation.bottom-center .prevBtn{left:calc(50% - 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-center .nextBtn{left:calc(50% + 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-left .prevBtn{left:8px;right:unset;bottom:-44px;top:unset}.navigation.bottom-left .nextBtn{left:62px;right:unset;bottom:-44px;top:unset}.navigation.middle-inline .prevBtn{left:30px}.navigation.middle-inline .nextBtn{right:30px}.horizontal-scroll-content{overflow-y:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll-content::-webkit-scrollbar{width:0;height:0}.dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.dots-container.left{align-items:start;justify-content:start}.dots-container.right{align-items:end;justify-content:end}.dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}.dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}"]
322
- }] }
323
- ];
324
- /** @nocollapse */
325
- HorizontalScrollerV2Component.ctorParameters = function () { return [
326
- { type: ValueService }
327
- ]; };
328
- HorizontalScrollerV2Component.propDecorators = {
329
- loadStatus: [{ type: Input }],
330
- id: [{ type: Input }],
331
- onHover: [{ type: Input }],
332
- sliderConfig: [{ type: Input }],
333
- loadNext: [{ type: Output }],
334
- widgetsLength: [{ type: Input }],
335
- defaultMaxWidgets: [{ type: Input }],
336
- stripConfig: [{ type: Input }],
337
- horizontalScrollElem: [{ type: ViewChild, args: ['horizontalScrollElem', { static: true },] }]
338
- };
339
- return HorizontalScrollerV2Component;
340
- }());
341
- export { HorizontalScrollerV2Component };
342
- if (false) {
343
- /** @type {?} */
344
- HorizontalScrollerV2Component.prototype.loadStatus;
345
- /** @type {?} */
346
- HorizontalScrollerV2Component.prototype.id;
347
- /** @type {?} */
348
- HorizontalScrollerV2Component.prototype.onHover;
349
- /** @type {?} */
350
- HorizontalScrollerV2Component.prototype.sliderConfig;
351
- /** @type {?} */
352
- HorizontalScrollerV2Component.prototype.loadNext;
353
- /** @type {?} */
354
- HorizontalScrollerV2Component.prototype.widgetsLength;
355
- /** @type {?} */
356
- HorizontalScrollerV2Component.prototype.defaultMaxWidgets;
357
- /** @type {?} */
358
- HorizontalScrollerV2Component.prototype.stripConfig;
359
- /** @type {?} */
360
- HorizontalScrollerV2Component.prototype.horizontalScrollElem;
361
- /** @type {?} */
362
- HorizontalScrollerV2Component.prototype.enablePrev;
363
- /** @type {?} */
364
- HorizontalScrollerV2Component.prototype.enableNext;
365
- /** @type {?} */
366
- HorizontalScrollerV2Component.prototype.activeNav;
367
- /** @type {?} */
368
- HorizontalScrollerV2Component.prototype.cardSubType;
369
- /** @type {?} */
370
- HorizontalScrollerV2Component.prototype.bottomDotsArray;
371
- /**
372
- * @type {?}
373
- * @private
374
- */
375
- HorizontalScrollerV2Component.prototype.scrollObserver;
376
- /** @type {?} */
377
- HorizontalScrollerV2Component.prototype.isMobile;
378
- /**
379
- * @type {?}
380
- * @private
381
- */
382
- HorizontalScrollerV2Component.prototype.defaultMenuSubscribe;
383
- /** @type {?} */
384
- HorizontalScrollerV2Component.prototype.isLtMedium$;
385
- /**
386
- * @type {?}
387
- * @private
388
- */
389
- HorizontalScrollerV2Component.prototype.valueSvc;
390
- }
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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U0ExT1ksNkJBQTZCOzs7SUFFeEMsbURBQStDOztJQUMvQywyQ0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIscURBSUU7O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgZnJvbUV2ZW50LFxyXG4gIFN1YnNjcmlwdGlvbixcclxuICB0aW1lcixcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRGZXRjaFN0YXR1cyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvbWlzYy5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBWYWx1ZVNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XHJcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcclxuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NiLXVpYy1ob3Jpem9udGFsLXNjcm9sbGVyLXYyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGxvYWRTdGF0dXM6IFRGZXRjaFN0YXR1cyA9ICdmZXRjaGluZyc7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG9uSG92ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzbGlkZXJDb25maWc6IGFueSA9IHtcclxuICAgIHNob3dOYXZzOiB0cnVlLFxyXG4gICAgc2hvd0RvdHM6IHRydWUsXHJcbiAgICBjZXJpZmljYXRlQ2FyZE1hcmdpbjogZmFsc2UsXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgbG9hZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgd2lkZ2V0c0xlbmd0aDogYW55O1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XHJcbiAgQElucHV0KCkgc3RyaXBDb25maWc6IGFueTtcclxuICBAVmlld0NoaWxkKCdob3Jpem9udGFsU2Nyb2xsRWxlbScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZW5hYmxlUHJldiA9IGZhbHNlO1xyXG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcclxuICBhY3RpdmVOYXYgPSAwO1xyXG4gIGNhcmRTdWJUeXBlID0gJ3N0YW5kYXJkJztcclxuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIGlzTW9iaWxlID0gZmFsc2VcclxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxyXG4gIGlzTHRNZWRpdW0kID0gdGhpcy52YWx1ZVN2Yy5pc0x0TWVkaXVtJFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIGNvbnN0IGhvcml6b250YWxTY3JvbGxFbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbTtcclxuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcclxuICAgICAgICBob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICdzY3JvbGwnLFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcclxuICAgICAgLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cclxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XHJcbiAgICAgIH0sIDcwMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlID0gdGhpcy5pc0x0TWVkaXVtJC5zdWJzY3JpYmUoKGlzTHRNZWRpdW06IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5pc01vYmlsZSA9IGlzTHRNZWRpdW1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxyXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xyXG4gICAgfSwgNzAwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsT2JzZXJ2ZXIpIHtcclxuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZS51bnN1YnNjcmliZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93UHJldigpIHtcclxuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcclxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCAtPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxyXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcclxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcclxuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxyXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcclxuICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgLT0gMTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xyXG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xyXG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXHJcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd05leHQoKSB7XHJcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXHJcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBjbGllbnRXaWR0aCxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgKz0gMTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xyXG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgIT09IDAgJiYgZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCA+PSBlbGVtLnNjcm9sbFdpZHRoICl7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoZWxlbTogSFRNTEVsZW1lbnQpIHtcclxuICAgIHRoaXMuZW5hYmxlUHJldiA9IHRydWU7XHJcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xyXG4gICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCA9PT0gMCkge1xyXG4gICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcclxuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XHJcbiAgICB9XHJcbiAgICAvLyBpZiAoZWxlbS5zY3JvbGxXaWR0aCA9PT0gTWF0aC5yb3VuZChlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgLy8gICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcclxuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcclxuICAgIC8vICAgfSBlbHNlIHtcclxuICAgIC8vICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcclxuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBpZiAodGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXHJcbiAgICBpZiAod2lkdGhEaWZmID09PSAwIHx8IHdpZHRoRGlmZiA9PT0gMSkge1xyXG4gICAgICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcclxuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlXHJcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2xpZGVUbyhlbGU6IGFueSkge1xyXG4gICAgY29uc3QgZGlmZiA9IGVsZSAtIHRoaXMuYWN0aXZlTmF2O1xyXG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcclxuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXHJcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoKmRpZmYpLFxyXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtICYmIGVsZSA+PSAwICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcclxuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXHJcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcclxuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC0gKGNsaWVudFdpZHRoKmRpZmYpLFxyXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcclxuICAgIC8vIH1cclxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XHJcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGggKiBkaWZmKSxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVOYXYgPSBlbGU7XHJcbiAgfVxyXG5cclxuICBnZXRCb3R0b21Eb3RzQXJyYXkoKSB7XHJcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdO1xyXG4gICAgICBsZXQgY2FyZFdpZHRoO1xyXG4gICAgICBsZXQgYXJyTGVuZ3RoO1xyXG4gICAgICBpZiAodGhpcy5jYXJkU3ViVHlwZSAhPT0gJ2NhcmQtd2lkZS12MicpIHtcclxuICAgICAgICBjYXJkV2lkdGggPSB0aGlzLmNhcmRTdWJUeXBlID09PSAnc3RhbmRhcmQnID8gMjQ1IDpcclxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcclxuICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXS5jbGllbnRXaWR0aCA6IDI0NSk7XHJcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcclxuICAgICAgICAgIGNvbnN0IHNjcm9sbGVyV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApLmNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgY29uc3QgdG90YWxDYXJkc0xlbmd0aCA9IGNhcmRXaWR0aCAqIHRoaXMud2lkZ2V0c0xlbmd0aDtcclxuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xyXG4gICAgICAgICAgICBhcnJMZW5ndGggPSBNYXRoLnJvdW5kKHNjcm9sbGVyV2lkdGggLyBjYXJkV2lkdGgpO1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA/ICB0aGlzLndpZGdldHNMZW5ndGggPCB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID9cclxuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcclxuICAgICAgICAgICAgYXJyTGVuZ3RoID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyAvIGFyckxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdXHJcbiAgICAgICAgICBhcnJMZW5ndGggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpLmxlbmd0aDtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAgICAgICAgIDEwMDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core';
6
+ import { fromEvent, timer, } from 'rxjs';
7
+ import { debounceTime, throttleTime } from 'rxjs/operators';
8
+ import { ValueService } from '@sunbird-cb/utils-v2';
9
+ var HorizontalScrollerV2Component = /** @class */ (function () {
10
+ function HorizontalScrollerV2Component(valueSvc) {
11
+ this.valueSvc = valueSvc;
12
+ this.loadStatus = 'fetching';
13
+ this.id = '';
14
+ this.onHover = false;
15
+ this.sliderConfig = {
16
+ showNavs: true,
17
+ showDots: true,
18
+ cerificateCardMargin: false,
19
+ };
20
+ this.loadNext = new EventEmitter();
21
+ this.horizontalScrollElem = null;
22
+ this.enablePrev = false;
23
+ this.enableNext = false;
24
+ this.activeNav = 0;
25
+ this.cardSubType = 'standard';
26
+ this.bottomDotsArray = [];
27
+ this.scrollObserver = null;
28
+ this.isMobile = false;
29
+ this.defaultMenuSubscribe = null;
30
+ this.isLtMedium$ = this.valueSvc.isLtMedium$;
31
+ }
32
+ /**
33
+ * @return {?}
34
+ */
35
+ HorizontalScrollerV2Component.prototype.ngOnInit = /**
36
+ * @return {?}
37
+ */
38
+ function () {
39
+ var _this = this;
40
+ this.cardSubType = this.stripConfig && this.stripConfig.cardSubType ? this.stripConfig.cardSubType : 'standard';
41
+ if (this.horizontalScrollElem) {
42
+ /** @type {?} */
43
+ var horizontalScrollElem_1 = this.horizontalScrollElem;
44
+ this.scrollObserver = fromEvent(horizontalScrollElem_1.nativeElement, 'scroll')
45
+ .pipe(debounceTime(100), throttleTime(100))
46
+ .subscribe((/**
47
+ * @param {?} _
48
+ * @return {?}
49
+ */
50
+ function (_) {
51
+ _this.updateNavigationBtnStatus((/** @type {?} */ (horizontalScrollElem_1
52
+ .nativeElement)));
53
+ }));
54
+ setTimeout((/**
55
+ * @return {?}
56
+ */
57
+ function () {
58
+ _this.getBottomDotsArray();
59
+ }), 700);
60
+ }
61
+ this.defaultMenuSubscribe = this.isLtMedium$.subscribe((/**
62
+ * @param {?} isLtMedium
63
+ * @return {?}
64
+ */
65
+ function (isLtMedium) {
66
+ _this.isMobile = isLtMedium;
67
+ }));
68
+ };
69
+ /**
70
+ * @return {?}
71
+ */
72
+ HorizontalScrollerV2Component.prototype.ngOnChanges = /**
73
+ * @return {?}
74
+ */
75
+ function () {
76
+ var _this = this;
77
+ timer(100).subscribe((/**
78
+ * @return {?}
79
+ */
80
+ function () {
81
+ if (_this.horizontalScrollElem) {
82
+ _this.updateNavigationBtnStatus((/** @type {?} */ (_this.horizontalScrollElem
83
+ .nativeElement)));
84
+ }
85
+ }));
86
+ setTimeout((/**
87
+ * @return {?}
88
+ */
89
+ function () {
90
+ _this.getBottomDotsArray();
91
+ }), 700);
92
+ };
93
+ /**
94
+ * @return {?}
95
+ */
96
+ HorizontalScrollerV2Component.prototype.ngOnDestroy = /**
97
+ * @return {?}
98
+ */
99
+ function () {
100
+ if (this.scrollObserver) {
101
+ this.scrollObserver.unsubscribe();
102
+ }
103
+ if (this.defaultMenuSubscribe) {
104
+ this.defaultMenuSubscribe.unsubscribe();
105
+ }
106
+ };
107
+ /**
108
+ * @return {?}
109
+ */
110
+ HorizontalScrollerV2Component.prototype.showPrev = /**
111
+ * @return {?}
112
+ */
113
+ function () {
114
+ // const elem = this.horizontalScrollElem.nativeElement
115
+ // elem.scrollLeft -= 0.20 * elem.clientWidth
116
+ if (this.horizontalScrollElem) {
117
+ // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
118
+ /** @type {?} */
119
+ var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
120
+ this.horizontalScrollElem.nativeElement.scrollTo({
121
+ left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
122
+ behavior: 'smooth',
123
+ });
124
+ /** @type {?} */
125
+ var elem = this.horizontalScrollElem.nativeElement;
126
+ if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
127
+ this.activeNav -= 1;
128
+ }
129
+ else {
130
+ if (this.sliderConfig.arrowsAlwaysOn) {
131
+ if (this.horizontalScrollElem.nativeElement.scrollLeft === 0) {
132
+ this.horizontalScrollElem.nativeElement.scrollTo({
133
+ left: elem.scrollWidth,
134
+ behavior: 'smooth',
135
+ });
136
+ this.activeNav = this.bottomDotsArray.length - 1;
137
+ }
138
+ }
139
+ }
140
+ }
141
+ };
142
+ /**
143
+ * @return {?}
144
+ */
145
+ HorizontalScrollerV2Component.prototype.showNext = /**
146
+ * @return {?}
147
+ */
148
+ function () {
149
+ // const elem = this.horizontalScrollElem.nativeElement
150
+ // elem.scrollLeft += 0.20 * elem.clientWidth
151
+ if (this.horizontalScrollElem) {
152
+ // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)
153
+ /** @type {?} */
154
+ var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
155
+ this.horizontalScrollElem.nativeElement.scrollTo({
156
+ left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
157
+ behavior: 'smooth',
158
+ });
159
+ /** @type {?} */
160
+ var elem = this.horizontalScrollElem.nativeElement;
161
+ if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
162
+ this.activeNav += 1;
163
+ }
164
+ else {
165
+ if (this.sliderConfig.arrowsAlwaysOn) {
166
+ if (this.horizontalScrollElem.nativeElement.scrollLeft !== 0 && elem.clientWidth + elem.scrollLeft >= elem.scrollWidth) {
167
+ this.horizontalScrollElem.nativeElement.scrollTo({
168
+ left: 0,
169
+ behavior: 'smooth',
170
+ });
171
+ this.activeNav = 0;
172
+ }
173
+ }
174
+ }
175
+ }
176
+ };
177
+ /**
178
+ * @private
179
+ * @param {?} elem
180
+ * @return {?}
181
+ */
182
+ HorizontalScrollerV2Component.prototype.updateNavigationBtnStatus = /**
183
+ * @private
184
+ * @param {?} elem
185
+ * @return {?}
186
+ */
187
+ function (elem) {
188
+ this.enablePrev = true;
189
+ this.enableNext = true;
190
+ if (elem.scrollLeft === 0) {
191
+ if (!this.sliderConfig.arrowsAlwaysOn) {
192
+ this.enablePrev = false;
193
+ }
194
+ this.activeNav = 0;
195
+ }
196
+ // if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
197
+ // if (this.loadStatus === 'hasMore') {
198
+ // this.loadNext.emit();
199
+ // } else {
200
+ // if(!this.sliderConfig.arrowsAlwaysOn) {
201
+ // this.enableNext = false;
202
+ // }
203
+ // if (this.bottomDotsArray.length) {
204
+ // this.activeNav = this.bottomDotsArray.length - 1;
205
+ // }
206
+ // }
207
+ // }
208
+ // if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
209
+ // this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
210
+ // }
211
+ /** @type {?} */
212
+ var widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft));
213
+ if (widthDiff === 0 || widthDiff === 1) {
214
+ if (this.loadStatus === 'hasMore') {
215
+ this.loadNext.emit();
216
+ }
217
+ else {
218
+ this.enableNext = false;
219
+ if (this.bottomDotsArray.length) {
220
+ this.activeNav = this.bottomDotsArray.length - 1;
221
+ }
222
+ }
223
+ }
224
+ if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
225
+ this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
226
+ }
227
+ };
228
+ /**
229
+ * @param {?} ele
230
+ * @return {?}
231
+ */
232
+ HorizontalScrollerV2Component.prototype.slideTo = /**
233
+ * @param {?} ele
234
+ * @return {?}
235
+ */
236
+ function (ele) {
237
+ /** @type {?} */
238
+ var diff = ele - this.activeNav;
239
+ // if (ele > this.activeNav && ele !== this.activeNav) {
240
+ // if (this.horizontalScrollElem) {
241
+ // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
242
+ // this.horizontalScrollElem.nativeElement.scrollTo({
243
+ // left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth*diff),
244
+ // behavior: 'smooth',
245
+ // })
246
+ // }
247
+ // this.activeNav = ele
248
+ // } else {
249
+ // if (this.horizontalScrollElem && ele >= 0 && ele !== this.activeNav) {
250
+ // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)
251
+ // this.horizontalScrollElem.nativeElement.scrollTo({
252
+ // left: this.horizontalScrollElem.nativeElement.scrollLeft - (clientWidth*diff),
253
+ // behavior: 'smooth',
254
+ // })
255
+ // }
256
+ // this.activeNav = ele
257
+ // }
258
+ if (this.horizontalScrollElem) {
259
+ /** @type {?} */
260
+ var clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
261
+ this.horizontalScrollElem.nativeElement.scrollTo({
262
+ left: this.horizontalScrollElem.nativeElement.scrollLeft + (clientWidth * diff),
263
+ behavior: 'smooth',
264
+ });
265
+ }
266
+ this.activeNav = ele;
267
+ };
268
+ /**
269
+ * @return {?}
270
+ */
271
+ HorizontalScrollerV2Component.prototype.getBottomDotsArray = /**
272
+ * @return {?}
273
+ */
274
+ function () {
275
+ var _this = this;
276
+ if (this.horizontalScrollElem) {
277
+ this.bottomDotsArray = [];
278
+ /** @type {?} */
279
+ var cardWidth = void 0;
280
+ /** @type {?} */
281
+ var arrLength_1;
282
+ if (this.cardSubType !== 'card-wide-v2') {
283
+ cardWidth = this.cardSubType === 'standard' ? 245 :
284
+ ((document.getElementsByClassName(this.cardSubType) &&
285
+ document.getElementsByClassName(this.cardSubType)[0] !== undefined)
286
+ ? document.getElementsByClassName(this.cardSubType)[0].clientWidth : 245);
287
+ if (document.getElementById("" + this.id)) {
288
+ /** @type {?} */
289
+ var scrollerWidth = document.getElementById("" + this.id).clientWidth;
290
+ /** @type {?} */
291
+ var totalCardsLength = cardWidth * this.widgetsLength;
292
+ if (totalCardsLength > scrollerWidth) {
293
+ arrLength_1 = Math.round(scrollerWidth / cardWidth);
294
+ this.defaultMaxWidgets = this.defaultMaxWidgets ? this.widgetsLength < this.defaultMaxWidgets ?
295
+ this.widgetsLength : this.defaultMaxWidgets : this.defaultMaxWidgets;
296
+ arrLength_1 = this.defaultMaxWidgets / arrLength_1;
297
+ for (var i = 0; i < arrLength_1; i += 1) {
298
+ this.bottomDotsArray.push(i);
299
+ }
300
+ }
301
+ }
302
+ }
303
+ else {
304
+ setTimeout((/**
305
+ * @return {?}
306
+ */
307
+ function () {
308
+ _this.bottomDotsArray = [];
309
+ arrLength_1 = document.getElementsByClassName(_this.cardSubType).length;
310
+ for (var i = 0; i < arrLength_1; i += 1) {
311
+ _this.bottomDotsArray.push(i);
312
+ }
313
+ }), 1000);
314
+ }
315
+ }
316
+ };
317
+ HorizontalScrollerV2Component.decorators = [
318
+ { type: Component, args: [{
319
+ selector: 'sb-uic-horizontal-scroller-v2',
320
+ template: "\n<section class=\"horizontal-scroll-container h-full\" [id]=\"id\"\n[ngClass]=\"{'px-4': sliderConfig.showNavs && sliderConfig.showNavsSpacing, 'mt-5':sliderConfig.cerificateCardMargin}\">\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\n <ng-content></ng-content>\n </div>\n <div class=\"navigation {{isMobile? sliderConfig?.responsive?.arrowsPlacement : sliderConfig?.arrowsPlacement}}\">\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\n <button i18n-aria-label aria-label=\"back\" name=\"content-backward-button\" mat-mini-fab color=\"\" \n (click)=\"showPrev()\" class=\"prevBtn mat-elevation-z\" [hidden]=\"!enablePrev\"\n [ngClass]=\"{'prevBtnHover': onHover}\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"sliderConfig?.showNavs\">\n <button i18n-aria-label aria-label=\"next\" name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\"\n color=\"\" class=\"nextBtn mat-elevation-z\" [ngClass]=\"{'nextBtnHover': onHover}\"\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </ng-container>\n </div>\n <!-- <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\n <mat-spinner></mat-spinner>\n </div> --> \n</section>\n\n<div class=\"dots-container {{isMobile? sliderConfig?.responsive?.dotsAlign : sliderConfig?.dotsAlign}}\" \n*ngIf=\"(isMobile && sliderConfig?.responsive?.showDots) || (!isMobile && sliderConfig?.showDots)\">\n <!-- <span class=\"dot\" [ngClass]=\"{ active: j === currentIndex }\" -->\n <span class=\"dot\" [ngClass]=\"{ active: j === activeNav }\" *ngFor=\"let slide of bottomDotsArray; let j = index\" (click)=\"slideTo(j)\"></span>\n</div>",
321
+ styles: [".horizontal-scroll-container{position:relative;width:100%;width:inherit}.nextBtn,.nextLoading,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999;height:32px!important;width:32px!important;display:flex;align-items:center;justify-content:center}.nextBtn,.prevBtn{border-radius:50%;background-color:#1b2133!important;color:#fff!important}.border-radius-xs{border-radius:8px!important}.prevBtn{left:0}.nextBtn{right:0}.nextLoading{padding:0;right:0}.navigation.bottom-right .prevBtn{left:unset;right:56px;bottom:-44px;top:unset}.navigation.bottom-right .nextBtn{left:unset;right:8px;bottom:-44px;top:unset}.navigation.bottom-center .prevBtn{left:calc(50% - 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-center .nextBtn{left:calc(50% + 24px);right:unset;bottom:-44px;top:unset}.navigation.bottom-left .prevBtn{left:8px;right:unset;bottom:-44px;top:unset}.navigation.bottom-left .nextBtn{left:62px;right:unset;bottom:-44px;top:unset}.navigation.middle-inline .prevBtn{left:30px}.navigation.middle-inline .nextBtn{right:30px}.horizontal-scroll-content{overflow-y:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll-content::-webkit-scrollbar{width:0;height:0}.dots-container{padding:8px;display:flex;align-items:center;justify-content:center}.dots-container.left{align-items:start;justify-content:start}.dots-container.right{align-items:end;justify-content:end}.dots-container .dot{cursor:pointer;height:6px;width:6px;margin:0 4px;background-color:rgba(0,0,0,.4);border-radius:50%;display:inline-block;transition:background-color .5s!important}.dots-container .dot.active{border-radius:4px;background-color:#f3962f;width:16px}"]
322
+ }] }
323
+ ];
324
+ /** @nocollapse */
325
+ HorizontalScrollerV2Component.ctorParameters = function () { return [
326
+ { type: ValueService }
327
+ ]; };
328
+ HorizontalScrollerV2Component.propDecorators = {
329
+ loadStatus: [{ type: Input }],
330
+ id: [{ type: Input }],
331
+ onHover: [{ type: Input }],
332
+ sliderConfig: [{ type: Input }],
333
+ loadNext: [{ type: Output }],
334
+ widgetsLength: [{ type: Input }],
335
+ defaultMaxWidgets: [{ type: Input }],
336
+ stripConfig: [{ type: Input }],
337
+ horizontalScrollElem: [{ type: ViewChild, args: ['horizontalScrollElem', { static: true },] }]
338
+ };
339
+ return HorizontalScrollerV2Component;
340
+ }());
341
+ export { HorizontalScrollerV2Component };
342
+ if (false) {
343
+ /** @type {?} */
344
+ HorizontalScrollerV2Component.prototype.loadStatus;
345
+ /** @type {?} */
346
+ HorizontalScrollerV2Component.prototype.id;
347
+ /** @type {?} */
348
+ HorizontalScrollerV2Component.prototype.onHover;
349
+ /** @type {?} */
350
+ HorizontalScrollerV2Component.prototype.sliderConfig;
351
+ /** @type {?} */
352
+ HorizontalScrollerV2Component.prototype.loadNext;
353
+ /** @type {?} */
354
+ HorizontalScrollerV2Component.prototype.widgetsLength;
355
+ /** @type {?} */
356
+ HorizontalScrollerV2Component.prototype.defaultMaxWidgets;
357
+ /** @type {?} */
358
+ HorizontalScrollerV2Component.prototype.stripConfig;
359
+ /** @type {?} */
360
+ HorizontalScrollerV2Component.prototype.horizontalScrollElem;
361
+ /** @type {?} */
362
+ HorizontalScrollerV2Component.prototype.enablePrev;
363
+ /** @type {?} */
364
+ HorizontalScrollerV2Component.prototype.enableNext;
365
+ /** @type {?} */
366
+ HorizontalScrollerV2Component.prototype.activeNav;
367
+ /** @type {?} */
368
+ HorizontalScrollerV2Component.prototype.cardSubType;
369
+ /** @type {?} */
370
+ HorizontalScrollerV2Component.prototype.bottomDotsArray;
371
+ /**
372
+ * @type {?}
373
+ * @private
374
+ */
375
+ HorizontalScrollerV2Component.prototype.scrollObserver;
376
+ /** @type {?} */
377
+ HorizontalScrollerV2Component.prototype.isMobile;
378
+ /**
379
+ * @type {?}
380
+ * @private
381
+ */
382
+ HorizontalScrollerV2Component.prototype.defaultMenuSubscribe;
383
+ /** @type {?} */
384
+ HorizontalScrollerV2Component.prototype.isLtMedium$;
385
+ /**
386
+ * @type {?}
387
+ * @private
388
+ */
389
+ HorizontalScrollerV2Component.prototype.valueSvc;
390
+ }
391
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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U0ExT1ksNkJBQTZCOzs7SUFFeEMsbURBQStDOztJQUMvQywyQ0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIscURBSUU7O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGltZXIsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBURmV0Y2hTdGF0dXMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL21pc2MuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbHVlU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtaG9yaXpvbnRhbC1zY3JvbGxlci12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgbG9hZFN0YXR1czogVEZldGNoU3RhdHVzID0gJ2ZldGNoaW5nJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBvbkhvdmVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNsaWRlckNvbmZpZzogYW55ID0ge1xuICAgIHNob3dOYXZzOiB0cnVlLFxuICAgIHNob3dEb3RzOiB0cnVlLFxuICAgIGNlcmlmaWNhdGVDYXJkTWFyZ2luOiBmYWxzZSxcbiAgfTtcbiAgQE91dHB1dCgpIGxvYWROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB3aWRnZXRzTGVuZ3RoOiBhbnk7XG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XG4gIEBJbnB1dCgpIHN0cmlwQ29uZmlnOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ2hvcml6b250YWxTY3JvbGxFbGVtJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICBlbmFibGVQcmV2ID0gZmFsc2U7XG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcbiAgYWN0aXZlTmF2ID0gMDtcbiAgY2FyZFN1YlR5cGUgPSAnc3RhbmRhcmQnO1xuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xuICBwcml2YXRlIHNjcm9sbE9ic2VydmVyOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZVxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxuICBpc0x0TWVkaXVtJCA9IHRoaXMudmFsdWVTdmMuaXNMdE1lZGl1bSRcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtO1xuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcbiAgICAgICAgaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3Njcm9sbCcsXG4gICAgICApXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgdGhyb3R0bGVUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xuICAgICAgfSwgNzAwKTtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZSA9IHRoaXMuaXNMdE1lZGl1bSQuc3Vic2NyaWJlKChpc0x0TWVkaXVtOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gaXNMdE1lZGl1bVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgfSwgNzAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbE9ic2VydmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBzaG93UHJldigpIHtcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgLy8gZWxlbS5zY3JvbGxMZWZ0IC09IDAuMjAgKiBlbGVtLmNsaWVudFdpZHRoXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSBjbGllbnRXaWR0aCxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2IC09IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID09PSAwKXtcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2ICs9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICE9PSAwICYmIGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQgPj0gZWxlbS5zY3JvbGxXaWR0aCApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5lbmFibGVQcmV2ID0gdHJ1ZTtcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgPT09IDApIHtcbiAgICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsV2lkdGggPT09IE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGlmICh0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGgpIHtcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gTWF0aC5jZWlsKGVsZW0uc2Nyb2xsTGVmdCAvIGVsZW0uY2xpZW50V2lkdGgpO1xuICAgIC8vIH1cblxuXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXG4gICAgaWYgKHdpZHRoRGlmZiA9PT0gMCB8fCB3aWR0aERpZmYgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2VcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxuICAgIH1cbiAgfVxuXG4gIHNsaWRlVG8oZWxlOiBhbnkpIHtcbiAgICBjb25zdCBkaWZmID0gZWxlIC0gdGhpcy5hY3RpdmVOYXY7XG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSAmJiBlbGUgPj0gMCAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH1cbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoICogZGlmZiksXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZU5hdiA9IGVsZTtcbiAgfVxuXG4gIGdldEJvdHRvbURvdHNBcnJheSgpIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkgPSBbXTtcbiAgICAgIGxldCBjYXJkV2lkdGg7XG4gICAgICBsZXQgYXJyTGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuY2FyZFN1YlR5cGUgIT09ICdjYXJkLXdpZGUtdjInKSB7XG4gICAgICAgIGNhcmRXaWR0aCA9IHRoaXMuY2FyZFN1YlR5cGUgPT09ICdzdGFuZGFyZCcgPyAyNDUgOlxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcbiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdLmNsaWVudFdpZHRoIDogMjQ1KTtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcbiAgICAgICAgICBjb25zdCBzY3JvbGxlcldpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKS5jbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCB0b3RhbENhcmRzTGVuZ3RoID0gY2FyZFdpZHRoICogdGhpcy53aWRnZXRzTGVuZ3RoO1xuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xuICAgICAgICAgICAgYXJyTGVuZ3RoID0gTWF0aC5yb3VuZChzY3JvbGxlcldpZHRoIC8gY2FyZFdpZHRoKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID8gIHRoaXMud2lkZ2V0c0xlbmd0aCA8IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgP1xuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgLyBhcnJMZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdXG4gICAgICAgICAgYXJyTGVuZ3RoID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKS5sZW5ndGg7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sICAgICAgICAgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=