@clickview/lite 0.0.24-rc.4 → 0.0.24

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 (194) hide show
  1. package/dist/css/11.chunk.css.map +1 -1
  2. package/dist/css/12.chunk.css.map +1 -1
  3. package/dist/css/13.chunk.css.map +1 -1
  4. package/dist/css/14.chunk.css.map +1 -1
  5. package/dist/css/15.chunk.css.map +1 -1
  6. package/dist/css/16.chunk.css.map +1 -1
  7. package/dist/css/17.chunk.css.map +1 -1
  8. package/dist/css/18.chunk.css.map +1 -1
  9. package/dist/css/20.chunk.css.map +1 -1
  10. package/dist/css/29.chunk.css.map +1 -1
  11. package/dist/css/3.chunk.css.map +1 -1
  12. package/dist/css/30.chunk.css.map +1 -1
  13. package/dist/css/31.chunk.css.map +1 -1
  14. package/dist/css/33.chunk.css.map +1 -1
  15. package/dist/css/38.chunk.css +11 -34
  16. package/dist/css/38.chunk.css.map +1 -1
  17. package/dist/css/4.chunk.css +3 -3
  18. package/dist/css/44.chunk.css +11 -3
  19. package/dist/css/44.chunk.css.map +1 -1
  20. package/dist/css/45.chunk.css +38 -0
  21. package/dist/css/45.chunk.css.map +1 -0
  22. package/dist/css/5.chunk.css.map +1 -1
  23. package/dist/css/52.chunk.css +52 -0
  24. package/dist/css/52.chunk.css.map +1 -0
  25. package/dist/css/59.chunk.css +14 -0
  26. package/dist/css/59.chunk.css.map +1 -0
  27. package/dist/css/6.chunk.css.map +1 -1
  28. package/dist/css/60.chunk.css +43 -0
  29. package/dist/css/60.chunk.css.map +1 -0
  30. package/dist/en.json +1 -1
  31. package/dist/libs/shared/src/components/curriculum-links/CurriculumLinks.d.ts +9 -0
  32. package/dist/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.d.ts +12 -0
  33. package/dist/libs/shared/src/enums/CurriculumType.d.ts +6 -0
  34. package/dist/libs/shared/src/flight-requests/ClassificationRequests.d.ts +1 -0
  35. package/dist/libs/shared/src/flight-requests/ResourceRequests.d.ts +11 -0
  36. package/dist/libs/shared/src/interfaces/collections/SubtitleCollection.d.ts +3 -0
  37. package/dist/libs/shared/src/interfaces/models/Curriculum.d.ts +14 -0
  38. package/dist/libs/shared/src/interfaces/models/FileUpload.d.ts +20 -0
  39. package/dist/libs/shared/src/interfaces/models/Language.d.ts +4 -0
  40. package/dist/libs/shared/src/interfaces/models/Pdf.d.ts +4 -0
  41. package/dist/libs/shared/src/interfaces/models/Subtitle.d.ts +7 -0
  42. package/dist/libs/shared/src/interfaces/models/index.d.ts +1 -0
  43. package/dist/libs/shared/src/interfaces/requests/UpdateObjectChannel.d.ts +3 -0
  44. package/dist/libs/shared/src/interfaces/requests/UpdateObjectRating.d.ts +3 -0
  45. package/dist/libs/shared/src/interfaces/requests/UpdateResourceRequest.d.ts +3 -0
  46. package/dist/projects/lite/src/app.d.ts +1 -0
  47. package/dist/projects/lite/src/shared/components/play-page/PlayPage.d.ts +2 -1
  48. package/dist/projects/lite/src/shared/components/synopsis/Synopsis.d.ts +3 -1
  49. package/dist/projects/lite/src/shared/components/video-details/VideoDetails.d.ts +2 -0
  50. package/dist/projects/lite/src/shared/constants/MinimumGlanceHeight.d.ts +1 -0
  51. package/dist/projects/lite/src/shared/views/preview-pdf/PreviewPdfView.d.ts +7 -0
  52. package/dist/scripts/0-b02efe11fb.chunk.js +1 -0
  53. package/dist/scripts/1-4f19a5caea.chunk.js +17 -0
  54. package/dist/scripts/1.chunk.js.map +1 -1
  55. package/dist/scripts/10.chunk.js +484 -1203
  56. package/dist/scripts/10.chunk.js.map +1 -1
  57. package/dist/scripts/11-32e30d10ce.chunk.js +1 -0
  58. package/dist/scripts/11.chunk.js +289 -1388
  59. package/dist/scripts/11.chunk.js.map +1 -1
  60. package/dist/scripts/12-72a5373486.chunk.js +1 -0
  61. package/dist/scripts/12.chunk.js +1371 -283
  62. package/dist/scripts/12.chunk.js.map +1 -1
  63. package/dist/scripts/13-1cd85ad3ee.chunk.js +1 -0
  64. package/dist/scripts/13.chunk.js +361 -394
  65. package/dist/scripts/13.chunk.js.map +1 -1
  66. package/dist/scripts/14-3d60b8ee85.chunk.js +1 -0
  67. package/dist/scripts/14.chunk.js +793 -332
  68. package/dist/scripts/14.chunk.js.map +1 -1
  69. package/dist/scripts/15-90226fb996.chunk.js +1 -0
  70. package/dist/scripts/15.chunk.js +295 -214
  71. package/dist/scripts/15.chunk.js.map +1 -1
  72. package/dist/scripts/16-913b2535ea.chunk.js +1 -0
  73. package/dist/scripts/16.chunk.js +530 -434
  74. package/dist/scripts/16.chunk.js.map +1 -1
  75. package/dist/scripts/17-d6c19ccb60.chunk.js +1 -0
  76. package/dist/scripts/17.chunk.js +296 -170
  77. package/dist/scripts/17.chunk.js.map +1 -1
  78. package/dist/scripts/18-33efcac0c6.chunk.js +1 -0
  79. package/dist/scripts/18.chunk.js +265 -199
  80. package/dist/scripts/18.chunk.js.map +1 -1
  81. package/dist/scripts/19-2380200cfb.chunk.js +1 -0
  82. package/dist/scripts/19.chunk.js +7 -3
  83. package/dist/scripts/19.chunk.js.map +1 -1
  84. package/dist/scripts/2-53e37c2047.chunk.js +1 -0
  85. package/dist/scripts/2.chunk.js +18673 -622
  86. package/dist/scripts/2.chunk.js.map +1 -1
  87. package/dist/scripts/20-ca85f0514e.chunk.js +1 -0
  88. package/dist/scripts/20.chunk.js +1824 -221
  89. package/dist/scripts/20.chunk.js.map +1 -1
  90. package/dist/scripts/21-ef4a226771.chunk.js +1 -0
  91. package/dist/scripts/22-99c04e164f.chunk.js +1 -0
  92. package/dist/scripts/23-028eb81a43.chunk.js +1 -0
  93. package/dist/scripts/23.chunk.js +1 -1
  94. package/dist/scripts/23.chunk.js.map +1 -1
  95. package/dist/scripts/24-68f8df3eca.chunk.js +1 -0
  96. package/dist/scripts/24.chunk.js.map +1 -1
  97. package/dist/scripts/25-7ad07f87d4.chunk.js +1 -0
  98. package/dist/scripts/25.chunk.js.map +1 -1
  99. package/dist/scripts/26-f3dcacfe4f.chunk.js +1 -0
  100. package/dist/scripts/26.chunk.js +1 -1
  101. package/dist/scripts/26.chunk.js.map +1 -1
  102. package/dist/scripts/27-e844268f38.chunk.js +1 -0
  103. package/dist/scripts/28-853bc5de1f.chunk.js +1 -0
  104. package/dist/scripts/29-b164ecafe9.chunk.js +1 -0
  105. package/dist/scripts/29.chunk.js +435 -500
  106. package/dist/scripts/29.chunk.js.map +1 -1
  107. package/dist/scripts/3-a1bd8c9016.chunk.js +7 -0
  108. package/dist/scripts/3.chunk.js +625 -18676
  109. package/dist/scripts/3.chunk.js.map +1 -1
  110. package/dist/scripts/30-2cfcf52ea1.chunk.js +1 -0
  111. package/dist/scripts/30.chunk.js +634 -429
  112. package/dist/scripts/30.chunk.js.map +1 -1
  113. package/dist/scripts/31-e6a8291d2f.chunk.js +1 -0
  114. package/dist/scripts/31.chunk.js +371 -670
  115. package/dist/scripts/31.chunk.js.map +1 -1
  116. package/dist/scripts/32-7030dc98ed.chunk.js +1 -0
  117. package/dist/scripts/32.chunk.js +27 -54
  118. package/dist/scripts/32.chunk.js.map +1 -1
  119. package/dist/scripts/33-47b0ac90bd.chunk.js +1 -0
  120. package/dist/scripts/33.chunk.js +700 -312
  121. package/dist/scripts/33.chunk.js.map +1 -1
  122. package/dist/scripts/34-2de007b628.chunk.js +1 -0
  123. package/dist/scripts/34.chunk.js +3 -3
  124. package/dist/scripts/34.chunk.js.map +1 -1
  125. package/dist/scripts/35-d2fb66920b.chunk.js +1 -0
  126. package/dist/scripts/36-bc85df33de.chunk.js +1 -0
  127. package/dist/scripts/36.chunk.js.map +1 -1
  128. package/dist/scripts/37-e26652840b.chunk.js +1 -0
  129. package/dist/scripts/37.chunk.js +288 -464
  130. package/dist/scripts/37.chunk.js.map +1 -1
  131. package/dist/scripts/38-0b6a6b9619.chunk.js +1 -0
  132. package/dist/scripts/39-6549f483c6.chunk.js +1 -0
  133. package/dist/scripts/39.chunk.js +1 -1
  134. package/dist/scripts/39.chunk.js.map +1 -1
  135. package/dist/scripts/4-9e83a22d7a.chunk.js +1 -0
  136. package/dist/scripts/4.chunk.js +259 -1021
  137. package/dist/scripts/4.chunk.js.map +1 -1
  138. package/dist/scripts/40-8e6e9d285f.chunk.js +1 -0
  139. package/dist/scripts/41-2b44a2e66f.chunk.js +1 -0
  140. package/dist/scripts/42-9e75f420d8.chunk.js +1 -0
  141. package/dist/scripts/42.chunk.js.map +1 -1
  142. package/dist/scripts/43-1141245420.chunk.js +1 -0
  143. package/dist/scripts/44-9bc4201e0f.chunk.js +1 -0
  144. package/dist/scripts/45-5ded8ca3db.chunk.js +1 -0
  145. package/dist/scripts/46-2afd7ee1fb.chunk.js +1 -0
  146. package/dist/scripts/47-ab30686138.chunk.js +1 -0
  147. package/dist/scripts/48-d9cd99d55e.chunk.js +1 -0
  148. package/dist/scripts/49-f43a08f90b.chunk.js +1 -0
  149. package/dist/scripts/5-974660e17b.chunk.js +1 -0
  150. package/dist/scripts/5.chunk.js +1017 -259
  151. package/dist/scripts/5.chunk.js.map +1 -1
  152. package/dist/scripts/50-af699c531e.chunk.js +1 -0
  153. package/dist/scripts/51-aa7b835007.chunk.js +1 -0
  154. package/dist/scripts/52-805f7fe04d.chunk.js +1 -0
  155. package/dist/scripts/53-d75ca53045.chunk.js +1 -0
  156. package/dist/scripts/54-2e75bad46f.chunk.js +1 -0
  157. package/dist/scripts/55-ed637c4847.chunk.js +1 -0
  158. package/dist/scripts/55.chunk.js.map +1 -1
  159. package/dist/scripts/56-2ed3b5764b.chunk.js +1 -0
  160. package/dist/scripts/57-e51101c8a1.chunk.js +1 -0
  161. package/dist/scripts/58-9a32a6fb2d.chunk.js +1 -0
  162. package/dist/scripts/59-da8a8c97a9.chunk.js +1 -0
  163. package/dist/scripts/6-6ac39034e0.chunk.js +1 -0
  164. package/dist/scripts/6.chunk.js +291 -1250
  165. package/dist/scripts/6.chunk.js.map +1 -1
  166. package/dist/scripts/60-5713de53e2.chunk.js +1 -0
  167. package/dist/scripts/61-7d2ad17963.chunk.js +1 -0
  168. package/dist/scripts/62-a0a69501ac.chunk.js +1 -0
  169. package/dist/scripts/63-c921b87f3f.chunk.js +1 -0
  170. package/dist/scripts/64-87c1cf6985.chunk.js +1 -0
  171. package/dist/scripts/65-2322082836.chunk.js +1 -0
  172. package/dist/scripts/66-6d5356f6ce.chunk.js +1 -0
  173. package/dist/scripts/67-2e0d661c52.chunk.js +1 -0
  174. package/dist/scripts/7-5ac5be64dd.chunk.js +1 -0
  175. package/dist/scripts/7.chunk.js +1 -1
  176. package/dist/scripts/76.chunk.js +3 -3
  177. package/dist/scripts/76.chunk.js.map +1 -1
  178. package/dist/scripts/79.chunk.js +931 -347
  179. package/dist/scripts/79.chunk.js.map +1 -1
  180. package/dist/scripts/8-95563e3d36.chunk.js +1 -0
  181. package/dist/scripts/8.chunk.js +14 -920
  182. package/dist/scripts/8.chunk.js.map +1 -1
  183. package/dist/scripts/80.chunk.js +22 -313
  184. package/dist/scripts/80.chunk.js.map +1 -1
  185. package/dist/scripts/9.chunk.js +320 -17
  186. package/dist/scripts/9.chunk.js.map +1 -1
  187. package/dist/scripts/bundle-9ed1e126dd.min.js +15 -0
  188. package/dist/scripts/bundle.js +147 -121
  189. package/dist/scripts/bundle.js.map +1 -1
  190. package/dist/scripts/bundles.json +2 -2
  191. package/dist/scripts/pdf.worker.entry.worker.js +46239 -0
  192. package/dist/scripts/pdf.worker.entry.worker.js.map +1 -0
  193. package/dist/scripts/polyfills-2723daf478.min.js +1 -0
  194. package/package.json +2 -2
@@ -1,24 +1,30 @@
1
1
  (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[6],{
2
2
 
3
- /***/ "../../libs/shared/src/components/actions/ActionButton.tsx":
4
- /*!*****************************************************************************************************!*\
5
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/actions/ActionButton.tsx ***!
6
- \*****************************************************************************************************/
7
- /*! exports provided: ActionButton */
3
+ /***/ "../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx":
4
+ /*!**************************************************************************************************************************!*\
5
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx ***!
6
+ \**************************************************************************************************************************/
7
+ /*! exports provided: PlaylistItem */
8
8
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
9
 
10
10
  "use strict";
11
11
  __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionButton", function() { return ActionButton; });
12
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistItem", function() { return PlaylistItem; });
13
13
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
14
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
16
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
17
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
18
- /* harmony import */ var _analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
19
- /* harmony import */ var _icon_button_IconButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icon-button/IconButton */ "../../libs/shared/src/components/icon-button/IconButton.tsx");
20
- /* harmony import */ var _tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../tooltip/Tooltip */ "../../libs/shared/src/components/tooltip/Tooltip.tsx");
21
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
15
+ /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ "moment");
16
+ /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
17
+ /* harmony import */ var _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../utils/ImageHelper */ "../../libs/shared/src/utils/ImageHelper.ts");
18
+ /* harmony import */ var _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../utils/AudienceHelper */ "../../libs/shared/src/utils/AudienceHelper.ts");
19
+ /* harmony import */ var _enums_Images__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../enums/Images */ "../../libs/shared/src/enums/Images.ts");
20
+ /* harmony import */ var _components_text_Text__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
21
+ /* harmony import */ var _components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../components/app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
22
+ /* harmony import */ var _components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../components/thumbnails/base/BaseThumbnail */ "../../libs/shared/src/components/thumbnails/base/BaseThumbnail.tsx");
23
+ /* harmony import */ var _components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../components/thumbnails/base/ThumbnailFallback */ "../../libs/shared/src/components/thumbnails/base/ThumbnailFallback.tsx");
24
+ /* harmony import */ var _components_audience_label_AudienceLabel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../components/audience-label/AudienceLabel */ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx");
25
+ /* harmony import */ var _PlaylistOwnerAvatar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PlaylistOwnerAvatar */ "../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx");
26
+ /* harmony import */ var _playlist_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./playlist.scss */ "../../libs/shared/src/apps/playlists/components/playlist-list/playlist.scss");
27
+ /* harmony import */ var _playlist_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_playlist_scss__WEBPACK_IMPORTED_MODULE_11__);
22
28
 
23
29
 
24
30
 
@@ -26,1355 +32,390 @@ __webpack_require__.r(__webpack_exports__);
26
32
 
27
33
 
28
34
 
29
- function ActionButton(props) {
30
- var className = 'ml-2';
31
- if (props.className) className += " ".concat(props.className);
32
- var buttonContent = props.showSpinner ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Spinner"], {
33
- as: 'span',
34
- animation: 'border',
35
- role: 'status',
36
- size: 'sm'
37
- }) : props.children;
38
35
 
39
- if (props.tooltip) {
40
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_5__["Tooltip"], {
41
- title: props.tooltip
42
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_4__["IconButton"], {
43
- appLink: props.appLink,
44
- svgName: props.svgName,
45
- onClick: props.onClick,
46
- className: className,
47
- analyticsData: props.analyticsData,
48
- analyticsOptions: props.analyticsOptions
49
- }, buttonContent)));
50
- }
51
-
52
- if (props.svgName) {
53
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_4__["IconButton"], {
54
- onClick: props.onClick,
55
- appLink: props.appLink,
56
- svgName: props.svgName,
57
- className: className,
58
- analyticsData: props.analyticsData,
59
- analyticsOptions: props.analyticsOptions
60
- }, buttonContent);
61
- }
62
-
63
- if (props.appLink) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_6__["AppLink"], {
64
- onClick: props.onClick,
65
- appLink: props.appLink,
66
- className: className,
67
- analyticsData: props.analyticsData,
68
- analyticsOptions: props.analyticsOptions
69
- }, buttonContent);
70
36
 
71
- function onClickButton(e) {
72
- if (props.analyticsData && props.analyticsOptions) _analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_3__["AnalyticsHelper"].logUserAction(props.analyticsData, props.analyticsOptions);
73
- if (_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(props.onClick)) props.onClick(e);
74
- }
75
37
 
76
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", {
77
- onClick: onClickButton,
78
- className: className
79
- }, buttonContent);
80
- }
81
-
82
- /***/ }),
83
-
84
- /***/ "../../libs/shared/src/components/actions/Actions.tsx":
85
- /*!************************************************************************************************!*\
86
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/actions/Actions.tsx ***!
87
- \************************************************************************************************/
88
- /*! exports provided: Actions */
89
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
90
-
91
- "use strict";
92
- __webpack_require__.r(__webpack_exports__);
93
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Actions", function() { return Actions; });
94
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
95
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
96
- /* harmony import */ var _ActionsDropdown__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionsDropdown */ "../../libs/shared/src/components/actions/ActionsDropdown.tsx");
97
- /* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionButton */ "../../libs/shared/src/components/actions/ActionButton.tsx");
98
- /* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions.scss */ "../../libs/shared/src/components/actions/actions.scss");
99
- /* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_actions_scss__WEBPACK_IMPORTED_MODULE_3__);
100
- /* harmony import */ var _icon_button_IconButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icon-button/IconButton */ "../../libs/shared/src/components/icon-button/IconButton.tsx");
101
38
 
102
39
 
40
+ var namespace = 'playlists.playlistItem';
103
41
 
42
+ function getBgColourClassName(playlist, classNames) {
43
+ var bgClassName = classNames[playlist.name.charCodeAt(0) % classNames.length];
44
+ return "".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistItem, " ").concat(bgClassName);
45
+ }
104
46
 
47
+ function PlaylistItem(props) {
48
+ var _a, _b;
105
49
 
106
- function Actions(props) {
107
- var buttonActions = [];
108
- var moreActions = [];
109
- props.actions.forEach(function (a) {
110
- if (a.button) buttonActions.push(a);else moreActions.push(a);
50
+ var imageUrl = _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__["ImageHelper"].createUrl(props.data.cover && props.data.cover.url, {
51
+ size: _enums_Images__WEBPACK_IMPORTED_MODULE_4__["ImageSize"].Medium,
52
+ resizeType: _enums_Images__WEBPACK_IMPORTED_MODULE_4__["ResizeType"].Cover
111
53
  });
112
- var className = 'd-flex';
113
- if (props.className) className += " ".concat(props.className);
114
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
54
+ var audiences = props.data.subjectPresentationAudiences && props.data.subjectPresentationAudiences.data;
55
+ var filteredAudiences = audiences && props.presentationAudiences && _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getSortedPresentationAudiences(audiences, props.presentationAudiences);
56
+ var mergedAudience = filteredAudiences && _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getMergedPresentationAudienceString(filteredAudiences);
57
+ var count = !!props.showCount && !!props.data.videos && props.data.videos.count;
58
+ var lastUpdatedDate = !!props.showLastUpdated && props.data.contentModifiedDate && moment__WEBPACK_IMPORTED_MODULE_1__["utc"](props.data.contentModifiedDate);
59
+ var className = _playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistItem;
60
+ var showImage = !!imageUrl || !!props.showFallbackImage;
61
+ if (showImage) className += " ".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistItemGradient);
62
+ if (!showImage && props.bgColourClassNames) className += " ".concat(getBgColourClassName(props.data, props.bgColourClassNames));
63
+ var analyticsData = Object.assign(Object.assign({}, props.analyticsData), {
64
+ id: (_a = props.data) === null || _a === void 0 ? void 0 : _a.id,
65
+ name: (_b = props.data) === null || _b === void 0 ? void 0 : _b.name
66
+ });
67
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["LanguageNamespaceContext"].Provider, {
68
+ value: namespace
69
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_6__["AppLink"], {
70
+ appLink: props.appLink,
71
+ analyticsData: analyticsData,
72
+ analyticsOptions: props.analyticsOptions
73
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_7__["BaseThumbnail"], {
74
+ data: imageUrl,
115
75
  className: className
116
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, !!buttonActions.length && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
117
- className: _actions_scss__WEBPACK_IMPORTED_MODULE_3___default.a.buttonList
118
- }, buttonActions.map(function (a, idx) {
119
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], {
120
- key: idx
121
- }, a.label ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ActionButton__WEBPACK_IMPORTED_MODULE_2__["ActionButton"], {
122
- appLink: a.appLink,
123
- onClick: a.onClick,
124
- svgName: a.svgName,
125
- className: a.className,
126
- tooltip: a.tooltip,
127
- showSpinner: a.showSpinner,
128
- analyticsData: a.analyticsData,
129
- analyticsOptions: a.analyticsOptions
130
- }, a.label) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_icon_button_IconButton__WEBPACK_IMPORTED_MODULE_4__["IconButton"], {
131
- appLink: a.appLink,
132
- onClick: a.onClick,
133
- svgName: a.svgName,
134
- className: a.className,
135
- analyticsData: a.analyticsData,
136
- analyticsOptions: a.analyticsOptions
137
- }));
138
- })), props.sortComponent ? props.sortComponent : '', !!moreActions.length && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ActionsDropdown__WEBPACK_IMPORTED_MODULE_1__["ActionsDropdown"], {
139
- actions: moreActions,
140
- className: !!buttonActions.length && 'ml-2',
141
- dropdownToggleClassName: props.actionsDropdownClassName
142
- })));
76
+ }, !!props.showFallbackImage && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_8__["ThumbnailFallback"], {
77
+ type: _components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_8__["ThumbnailFallbackType"].Playlist
78
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
79
+ className: "text-white ".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistMetadata)
80
+ }, Number.isInteger(count) && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
81
+ phrase: 'videos',
82
+ options: {
83
+ smartCount: count
84
+ }
85
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h5", {
86
+ className: "".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistName, " text-shadow mb-0")
87
+ }, props.data.name), function () {
88
+ if (!lastUpdatedDate) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
89
+ if (lastUpdatedDate.isBefore(moment__WEBPACK_IMPORTED_MODULE_1__["utc"]().subtract(1, 'month'))) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
90
+ phrase: 'notUpdatedRecently'
91
+ });
92
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
93
+ phrase: 'lastUpdated',
94
+ options: {
95
+ timeAgo: lastUpdatedDate.fromNow()
96
+ }
97
+ });
98
+ }(), !!audiences && !!audiences.length && !!mergedAudience && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_audience_label_AudienceLabel__WEBPACK_IMPORTED_MODULE_9__["AudienceLabel"], {
99
+ audience: mergedAudience,
100
+ border: 'white'
101
+ })), !!props.showOwner && !!props.imageCdnUrl && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
102
+ className: _playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.ownerAvatarContainer
103
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_PlaylistOwnerAvatar__WEBPACK_IMPORTED_MODULE_10__["PlaylistOwnerAvatar"], {
104
+ playlist: props.data,
105
+ currentUser: props.currentUser,
106
+ imageCdnUrl: props.imageCdnUrl
107
+ })))));
143
108
  }
144
109
 
145
110
  /***/ }),
146
111
 
147
- /***/ "../../libs/shared/src/components/actions/ActionsDropdown.tsx":
148
- /*!********************************************************************************************************!*\
149
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/actions/ActionsDropdown.tsx ***!
150
- \********************************************************************************************************/
151
- /*! exports provided: ActionsDropdown */
112
+ /***/ "../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx":
113
+ /*!*********************************************************************************************************************************!*\
114
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx ***!
115
+ \*********************************************************************************************************************************/
116
+ /*! exports provided: PlaylistOwnerAvatar */
152
117
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
153
118
 
154
119
  "use strict";
155
120
  __webpack_require__.r(__webpack_exports__);
156
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionsDropdown", function() { return ActionsDropdown; });
121
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistOwnerAvatar", function() { return PlaylistOwnerAvatar; });
157
122
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
158
123
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
159
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
160
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
161
- /* harmony import */ var _common_src_react_utils_RandomHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../common/src/react/utils/RandomHelper */ "../../libs/common/src/react/utils/RandomHelper.ts");
162
- /* harmony import */ var _analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
163
- /* harmony import */ var _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
164
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
165
- /* harmony import */ var _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
166
- /* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions.scss */ "../../libs/shared/src/components/actions/actions.scss");
167
- /* harmony import */ var _actions_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_actions_scss__WEBPACK_IMPORTED_MODULE_7__);
168
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
169
-
124
+ /* harmony import */ var _components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../components/avatar/Avatar */ "../../libs/shared/src/components/avatar/Avatar.tsx");
125
+ /* harmony import */ var _utils_UserHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../utils/UserHelper */ "../../libs/shared/src/utils/UserHelper.ts");
126
+ /* harmony import */ var _components_clickview_avatar_ClickViewAvatar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../components/clickview-avatar/ClickViewAvatar */ "../../libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx");
170
127
 
171
128
 
172
129
 
173
130
 
131
+ function PlaylistOwnerAvatar(props) {
132
+ var _a, _b;
174
133
 
134
+ var owner = props.playlist.owner;
135
+ if (!owner || !props.currentUser) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
136
+ var currentUserIsOwner = props.playlist.owner.id === props.currentUser.id; // TODO: Replace this with actual property.
175
137
 
176
-
177
-
178
-
179
- function getDropdownItemClassName(actionClassName) {
180
- var className = 'dropdown-item';
181
- if (actionClassName) className += " ".concat(actionClassName);
182
- return className;
183
- }
184
-
185
- function ActionsDropdownItem(props) {
186
- if (props.action.appLink) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_app_link_AppLink__WEBPACK_IMPORTED_MODULE_5__["AppLink"], {
187
- appLink: props.action.appLink,
188
- onClick: props.action.onClick,
189
- className: getDropdownItemClassName(props.action.className),
190
- analyticsData: props.action.analyticsData,
191
- analyticsOptions: props.action.analyticsOptions
192
- }, props.action.label);
193
-
194
- function onClick(e) {
195
- if (props.action.analyticsData && props.action.analyticsOptions) _analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_3__["AnalyticsHelper"].logUserAction(props.action.analyticsData, props.action.analyticsOptions);
196
- if (_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_8__["FunctionHelper"].isFunction(props.action.onClick)) props.action.onClick(e);
197
- }
198
-
199
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
200
- className: "cursor-pointer ".concat(getDropdownItemClassName(props.action.className)),
201
- onClick: onClick
202
- }, props.action.label);
203
- }
204
-
205
- ActionsDropdown.defaultProps = {
206
- dropdownToggleClassName: 'btn btn-light'
207
- };
208
- function ActionsDropdown(props) {
209
- if (!props.actions || !props.actions.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null); // Generate unique id to avoid collisions.
210
-
211
- var dropdownToggleId = "actions-dropdown-".concat(_common_src_react_utils_RandomHelper__WEBPACK_IMPORTED_MODULE_2__["RandomHelper"].getRandomInt());
212
- var dropdownToggleClassName = "px-0 ".concat(_actions_scss__WEBPACK_IMPORTED_MODULE_7___default.a.dropdownToggle);
213
- if (props.dropdownToggleClassName) dropdownToggleClassName += " ".concat(props.dropdownToggleClassName);
214
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"], {
215
- className: props.className ? props.className : '',
216
- alignRight: true
217
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Toggle, {
218
- as: 'button',
219
- type: 'button',
220
- id: dropdownToggleId,
221
- className: dropdownToggleClassName
222
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_4__["SvgContainer"], {
223
- svgName: _utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__["cvSvgLibrary"].More,
224
- size: _svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_4__["SvgContainerSize"].Small
225
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Dropdown"].Menu, null, props.actions.map(function (a, idx) {
226
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ActionsDropdownItem, {
227
- key: idx,
228
- action: a
229
- });
230
- })));
138
+ var isClickViewPlaylist = !!((_a = props.playlist.cover) === null || _a === void 0 ? void 0 : _a.url);
139
+ if (isClickViewPlaylist) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_clickview_avatar_ClickViewAvatar__WEBPACK_IMPORTED_MODULE_3__["ClickViewAvatar"], null);
140
+ if (currentUserIsOwner) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
141
+ var url = typeof owner.avatar === 'string' ? owner.avatar : (_b = owner.avatar) === null || _b === void 0 ? void 0 : _b.url;
142
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__["Avatar"], {
143
+ imageUrl: url,
144
+ imageCdnUrl: props.imageCdnUrl,
145
+ initials: _utils_UserHelper__WEBPACK_IMPORTED_MODULE_2__["UserHelper"].getInitials(owner.name, owner.surname)
146
+ });
231
147
  }
232
148
 
233
149
  /***/ }),
234
150
 
235
- /***/ "../../libs/shared/src/components/actions/actions.scss":
236
- /*!*************************************************************************************************!*\
237
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/actions/actions.scss ***!
238
- \*************************************************************************************************/
151
+ /***/ "../../libs/shared/src/apps/playlists/components/playlist-list/playlist.scss":
152
+ /*!***********************************************************************************************************************!*\
153
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/playlist.scss ***!
154
+ \***********************************************************************************************************************/
239
155
  /*! no static exports found */
240
156
  /***/ (function(module, exports, __webpack_require__) {
241
157
 
242
158
  // extracted by mini-css-extract-plugin
243
- module.exports = {"buttonList":"cv--buttonList--2v9CT","dropdownToggle":"cv--dropdownToggle--AYBvQ"};
159
+ module.exports = {"playlistItem":"cv--playlistItem--6o0Z2","playlistItemGradient":"cv--playlistItemGradient--2JLPt","playlistMetadata":"cv--playlistMetadata--3MCKL","playlistName":"cv--playlistName--1Ukz7","partialHeading":"cv--partialHeading--13tO6","ownerAvatarContainer":"cv--ownerAvatarContainer--CwjTl"};
244
160
 
245
161
  /***/ }),
246
162
 
247
- /***/ "../../libs/shared/src/components/div-button/DivButton.tsx":
248
- /*!*****************************************************************************************************!*\
249
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/div-button/DivButton.tsx ***!
250
- \*****************************************************************************************************/
251
- /*! exports provided: DivButton */
163
+ /***/ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx":
164
+ /*!*************************************************************************************************************!*\
165
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx ***!
166
+ \*************************************************************************************************************/
167
+ /*! exports provided: AudienceLabel, AudienceLabelList */
252
168
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
253
169
 
254
170
  "use strict";
255
171
  __webpack_require__.r(__webpack_exports__);
256
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DivButton", function() { return DivButton; });
172
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceLabel", function() { return AudienceLabel; });
173
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceLabelList", function() { return AudienceLabelList; });
257
174
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
258
175
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
176
+ /* harmony import */ var _audience_label_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audience-label.scss */ "../../libs/shared/src/components/audience-label/audience-label.scss");
177
+ /* harmony import */ var _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_audience_label_scss__WEBPACK_IMPORTED_MODULE_1__);
259
178
 
260
- /**
261
- * This element lets us use `div` elements as buttons without losing the accessibility of
262
- * a regular HTML button element
263
- */
264
179
 
265
- function DivButton(props) {
180
+ function AudienceLabel(props) {
181
+ if (!props.audience) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
266
182
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
267
- role: 'button',
268
- tabIndex: 0,
269
- className: "".concat(props.className ? props.className : '', " cursor-pointer"),
270
- onKeyDown: function onKeyDown(e) {
271
- return e.key === 'Enter' && props.onClick(e);
272
- },
273
- onClick: props.onClick,
274
- style: props.style ? props.style : {}
275
- }, props.children);
276
- }
277
-
278
- /***/ }),
279
-
280
- /***/ "../../libs/shared/src/components/tags/TagItem.tsx":
281
- /*!*********************************************************************************************!*\
282
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/tags/TagItem.tsx ***!
283
- \*********************************************************************************************/
284
- /*! exports provided: TagItem */
285
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
286
-
287
- "use strict";
288
- __webpack_require__.r(__webpack_exports__);
289
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TagItem", function() { return TagItem; });
290
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
291
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
292
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
293
- /* harmony import */ var _tags_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tags.scss */ "../../libs/shared/src/components/tags/tags.scss");
294
- /* harmony import */ var _tags_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_tags_scss__WEBPACK_IMPORTED_MODULE_2__);
295
-
296
-
297
-
298
- function TagItem(_ref) {
299
- var tag = _ref.tag,
300
- appLink = _ref.appLink,
301
- disabled = _ref.disabled;
302
- var classNames = 'badge-pill tag py-1 px-2 my-1 mr-1';
303
- if (appLink && !disabled) classNames += ' cursor-pointer';
304
- if (disabled) classNames += ' ' + _tags_scss__WEBPACK_IMPORTED_MODULE_2___default.a.disabled;
305
- return appLink ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
306
- appLink: appLink,
307
- className: classNames
308
- }, tag.name) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
309
- className: classNames
310
- }, tag.name);
183
+ className: "border rounded-pill d-inline-block px-2 mt-1 ".concat('border-' + props.border)
184
+ }, props.audience.name);
311
185
  }
312
-
313
- /***/ }),
314
-
315
- /***/ "../../libs/shared/src/components/tags/TagList.tsx":
316
- /*!*********************************************************************************************!*\
317
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/tags/TagList.tsx ***!
318
- \*********************************************************************************************/
319
- /*! exports provided: TagList */
320
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
321
-
322
- "use strict";
323
- __webpack_require__.r(__webpack_exports__);
324
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TagList", function() { return TagList; });
325
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
326
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
327
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
328
- /* harmony import */ var _TagItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TagItem */ "../../libs/shared/src/components/tags/TagItem.tsx");
329
- /* harmony import */ var _tags_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tags.scss */ "../../libs/shared/src/components/tags/tags.scss");
330
- /* harmony import */ var _tags_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_tags_scss__WEBPACK_IMPORTED_MODULE_3__);
331
-
332
-
333
-
334
-
335
- function TagList(_ref) {
336
- var tags = _ref.tags,
337
- getAppLink = _ref.getAppLink;
338
- if (!tags || !tags.data) return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null);
339
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
340
- className: _tags_scss__WEBPACK_IMPORTED_MODULE_3___default.a.tagList
341
- }, tags.data.map(function (tag) {
342
- var appLink = _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].isFunction(getAppLink) ? getAppLink(tag) : null;
343
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TagItem__WEBPACK_IMPORTED_MODULE_2__["TagItem"], {
344
- key: tag.id,
345
- tag: tag,
346
- appLink: appLink
347
- });
186
+ function AudienceLabelList(props) {
187
+ if (!props.audiences || !props.audiences.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
188
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, props.audiences.map(function (a, idx) {
189
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
190
+ key: idx,
191
+ className: _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default.a.audienceLabelListItem
192
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](AudienceLabel, {
193
+ audience: a,
194
+ border: props.border
195
+ }));
348
196
  }));
349
197
  }
350
198
 
351
199
  /***/ }),
352
200
 
353
- /***/ "../../libs/shared/src/components/tags/tags.scss":
354
- /*!*******************************************************************************************!*\
355
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/tags/tags.scss ***!
356
- \*******************************************************************************************/
201
+ /***/ "../../libs/shared/src/components/audience-label/audience-label.scss":
202
+ /*!***************************************************************************************************************!*\
203
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/audience-label/audience-label.scss ***!
204
+ \***************************************************************************************************************/
357
205
  /*! no static exports found */
358
206
  /***/ (function(module, exports, __webpack_require__) {
359
207
 
360
208
  // extracted by mini-css-extract-plugin
361
- module.exports = {"tagList":"cv--tagList--yvetE","disabled":"cv--disabled--3ZfKv"};
209
+ module.exports = {"audienceLabelListItem":"cv--audienceLabelListItem--2YGVO"};
362
210
 
363
211
  /***/ }),
364
212
 
365
- /***/ "../../libs/shared/src/components/video-owner-text/VideoOwnerText.tsx":
366
- /*!****************************************************************************************************************!*\
367
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/video-owner-text/VideoOwnerText.tsx ***!
368
- \****************************************************************************************************************/
369
- /*! exports provided: VideoOwnerText */
213
+ /***/ "../../libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx":
214
+ /*!*****************************************************************************************************************!*\
215
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx ***!
216
+ \*****************************************************************************************************************/
217
+ /*! exports provided: ClickViewAvatar */
370
218
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
371
219
 
372
220
  "use strict";
373
221
  __webpack_require__.r(__webpack_exports__);
374
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VideoOwnerText", function() { return VideoOwnerText; });
222
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClickViewAvatar", function() { return ClickViewAvatar; });
375
223
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
376
224
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
225
+ /* harmony import */ var _svgs_clickview_logo_ClickViewLogo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../svgs/clickview-logo/ClickViewLogo */ "../../libs/shared/src/components/svgs/clickview-logo/ClickViewLogo.tsx");
226
+ /* harmony import */ var _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./clickview-avatar.scss */ "../../libs/shared/src/components/clickview-avatar/clickview-avatar.scss");
227
+ /* harmony import */ var _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__);
377
228
 
378
- function VideoOwnerText(props) {
379
- var _a, _b, _c, _d;
380
-
381
- if (!props.owner) return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null);
382
- var name = props.owner.name;
383
- if (props.owner.surname) name += " ".concat(props.owner.surname.substr(0, 1)).toUpperCase();
384
- var customer = (_b = (_a = props.owner.customers) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b[0];
385
- var customerName = (_d = (_c = customer) === null || _c === void 0 ? void 0 : _c.name, _d !== null && _d !== void 0 ? _d : '');
386
- if (customerName) name += ', ';
387
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("small", {
388
- className: 'clamp-1'
389
- }, name, customerName && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("em", null, customerName), customerName === 'ClickView' && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, "CV Icon"));
390
- }
391
-
392
- /***/ }),
393
-
394
- /***/ "../../libs/shared/src/components/widgets/fixed-widget/index.ts":
395
- /*!**********************************************************************************************************!*\
396
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/fixed-widget/index.ts ***!
397
- \**********************************************************************************************************/
398
- /*! exports provided: FixedWidget, initialWidgetState, FixedWidgetReducer, lazyWidgetInit, PartialFixedWidget */
399
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
400
-
401
- "use strict";
402
- __webpack_require__.r(__webpack_exports__);
403
- /* harmony import */ var _FixedWidget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FixedWidget */ "../../libs/shared/src/components/widgets/fixed-widget/FixedWidget.tsx");
404
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedWidget", function() { return _FixedWidget__WEBPACK_IMPORTED_MODULE_0__["FixedWidget"]; });
405
-
406
- /* harmony import */ var _FixedWidgetReducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FixedWidgetReducer */ "../../libs/shared/src/components/widgets/fixed-widget/FixedWidgetReducer.tsx");
407
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initialWidgetState", function() { return _FixedWidgetReducer__WEBPACK_IMPORTED_MODULE_1__["initialWidgetState"]; });
408
-
409
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedWidgetReducer", function() { return _FixedWidgetReducer__WEBPACK_IMPORTED_MODULE_1__["FixedWidgetReducer"]; });
410
229
 
411
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lazyWidgetInit", function() { return _FixedWidgetReducer__WEBPACK_IMPORTED_MODULE_1__["lazyWidgetInit"]; });
412
-
413
- /* harmony import */ var _PartialFixedWidget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PartialFixedWidget */ "../../libs/shared/src/components/widgets/fixed-widget/PartialFixedWidget.tsx");
414
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "PartialFixedWidget", function() { return _PartialFixedWidget__WEBPACK_IMPORTED_MODULE_2__["PartialFixedWidget"]; });
415
-
416
-
417
-
418
-
419
-
420
- /***/ }),
421
-
422
- /***/ "../../libs/shared/src/components/widgets/items/clip-widget-item/ClipWidgetItem.tsx":
423
- /*!******************************************************************************************************************************!*\
424
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/clip-widget-item/ClipWidgetItem.tsx ***!
425
- \******************************************************************************************************************************/
426
- /*! exports provided: ClipWidgetItem */
427
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
428
-
429
- "use strict";
430
- __webpack_require__.r(__webpack_exports__);
431
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClipWidgetItem", function() { return ClipWidgetItem; });
432
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
433
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
434
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
435
- /* harmony import */ var _thumbnails_video_VideoThumbnail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../thumbnails/video/VideoThumbnail */ "../../libs/shared/src/components/thumbnails/video/VideoThumbnail.tsx");
436
- /* harmony import */ var _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../enums/ThumbnailSize */ "../../libs/shared/src/enums/ThumbnailSize.ts");
437
- /* harmony import */ var _enums_ThumbnailTextPosition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../enums/ThumbnailTextPosition */ "../../libs/shared/src/enums/ThumbnailTextPosition.ts");
438
- /* harmony import */ var _video_owner_text_VideoOwnerText__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../video-owner-text/VideoOwnerText */ "../../libs/shared/src/components/video-owner-text/VideoOwnerText.tsx");
439
- /* harmony import */ var _clip_widget_item_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./clip-widget-item.scss */ "../../libs/shared/src/components/widgets/items/clip-widget-item/clip-widget-item.scss");
440
- /* harmony import */ var _clip_widget_item_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_clip_widget_item_scss__WEBPACK_IMPORTED_MODULE_6__);
441
-
442
-
443
-
444
-
445
-
446
-
447
-
448
- var ClipWidgetItem = react__WEBPACK_IMPORTED_MODULE_0___default.a.memo(function (props) {
449
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
450
- className: "flex-shrink-0 px-1 ".concat(_clip_widget_item_scss__WEBPACK_IMPORTED_MODULE_6___default.a.item)
451
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
452
- className: 'row m-0 border rounded p-2 h-100'
453
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
454
- className: 'col-6 p-0'
455
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_thumbnails_video_VideoThumbnail__WEBPACK_IMPORTED_MODULE_2__["VideoThumbnail"], {
456
- video: props.video,
457
- appLink: props.appLink,
458
- type: 'static',
459
- videoType: 'clip',
460
- clip: props.data,
461
- size: _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_3__["ThumbnailSize"].Small,
462
- textPosition: _enums_ThumbnailTextPosition__WEBPACK_IMPORTED_MODULE_4__["ThumbnailTextPosition"].Independent,
463
- preload: true
464
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
465
- className: 'col-6 p-0'
466
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
467
- className: 'pl-3'
468
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
469
- appLink: props.appLink
470
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h3", {
471
- className: 'h6 mb-1 clamp-2'
472
- }, props.data.name)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_video_owner_text_VideoOwnerText__WEBPACK_IMPORTED_MODULE_5__["VideoOwnerText"], {
473
- owner: props.data.owner
474
- })))));
475
- });
476
-
477
- /***/ }),
478
-
479
- /***/ "../../libs/shared/src/components/widgets/items/clip-widget-item/clip-widget-item.scss":
480
- /*!*********************************************************************************************************************************!*\
481
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/clip-widget-item/clip-widget-item.scss ***!
482
- \*********************************************************************************************************************************/
483
- /*! no static exports found */
484
- /***/ (function(module, exports, __webpack_require__) {
485
-
486
- // extracted by mini-css-extract-plugin
487
- module.exports = {"item":"cv--item--pYl_b","thumbnail":"cv--thumbnail--92H1z","smallItemIconWidth":"cv--smallItemIconWidth--3DbAB","smallItemInfoWidth":"cv--smallItemInfoWidth--1D2_c","smallProgressBarContainer":"cv--smallProgressBarContainer--1gwy8","smallItemNameWidth":"cv--smallItemNameWidth--3TPSf"};
488
-
489
- /***/ }),
490
-
491
- /***/ "../../libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx":
492
- /*!********************************************************************************************************************************************!*\
493
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx ***!
494
- \********************************************************************************************************************************************/
495
- /*! exports provided: InteractiveWidgetItem */
496
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
497
-
498
- "use strict";
499
- __webpack_require__.r(__webpack_exports__);
500
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InteractiveWidgetItem", function() { return InteractiveWidgetItem; });
501
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
502
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
503
- /* harmony import */ var _app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
504
- /* harmony import */ var _thumbnails_video_VideoThumbnail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../thumbnails/video/VideoThumbnail */ "../../libs/shared/src/components/thumbnails/video/VideoThumbnail.tsx");
505
- /* harmony import */ var _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../enums/ThumbnailSize */ "../../libs/shared/src/enums/ThumbnailSize.ts");
506
- /* harmony import */ var _enums_ThumbnailTextPosition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../enums/ThumbnailTextPosition */ "../../libs/shared/src/enums/ThumbnailTextPosition.ts");
507
- /* harmony import */ var _text_Text__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../text/Text */ "../../libs/shared/src/components/text/Text.tsx");
508
- /* harmony import */ var _video_owner_text_VideoOwnerText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../video-owner-text/VideoOwnerText */ "../../libs/shared/src/components/video-owner-text/VideoOwnerText.tsx");
509
- /* harmony import */ var _interactive_widget_item_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./interactive-widget-item.scss */ "../../libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss");
510
- /* harmony import */ var _interactive_widget_item_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_interactive_widget_item_scss__WEBPACK_IMPORTED_MODULE_7__);
511
-
512
-
513
-
514
-
515
-
516
-
517
-
518
-
519
- var namespace = 'shared.interactiveWidgetItem';
520
- var InteractiveWidgetItem = react__WEBPACK_IMPORTED_MODULE_0___default.a.memo(function (props) {
521
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
522
- className: "flex-shrink-0 px-1 ".concat(_interactive_widget_item_scss__WEBPACK_IMPORTED_MODULE_7___default.a.item)
523
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
524
- className: 'row m-0 border rounded p-2 h-100'
525
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
526
- className: 'col-6 p-0'
527
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_thumbnails_video_VideoThumbnail__WEBPACK_IMPORTED_MODULE_2__["VideoThumbnail"], {
528
- video: props.video,
529
- interactive: props.data,
530
- appLink: props.appLink,
531
- type: 'static',
532
- videoType: 'interactive',
533
- size: _enums_ThumbnailSize__WEBPACK_IMPORTED_MODULE_3__["ThumbnailSize"].Small,
534
- textPosition: _enums_ThumbnailTextPosition__WEBPACK_IMPORTED_MODULE_4__["ThumbnailTextPosition"].Independent,
535
- preload: true
536
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
537
- className: 'col-6 p-0'
538
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
539
- className: 'pl-3'
540
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
541
- appLink: props.appLink
542
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h3", {
543
- className: 'h6 mb-1 clamp-2'
544
- }, props.data.name)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_video_owner_text_VideoOwnerText__WEBPACK_IMPORTED_MODULE_6__["VideoOwnerText"], {
545
- owner: props.data.owner
546
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_app_link_AppLink__WEBPACK_IMPORTED_MODULE_1__["AppLink"], {
547
- className: 'info-link',
548
- appLink: props.appLink
549
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
550
- namespace: namespace,
551
- phrase: 'previewQuestions'
552
- }))))));
553
- });
554
-
555
- /***/ }),
556
-
557
- /***/ "../../libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss":
558
- /*!***********************************************************************************************************************************************!*\
559
- !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss ***!
560
- \***********************************************************************************************************************************************/
561
- /*! no static exports found */
562
- /***/ (function(module, exports, __webpack_require__) {
563
-
564
- // extracted by mini-css-extract-plugin
565
- module.exports = {"item":"cv--item--2An5o","thumbnail":"cv--thumbnail--Wvc5s","smallItemIconWidth":"cv--smallItemIconWidth--2IdDd","smallItemInfoWidth":"cv--smallItemInfoWidth--1Iat7","smallProgressBarContainer":"cv--smallProgressBarContainer--17I8T"};
566
-
567
- /***/ }),
568
-
569
- /***/ "./src/shared/components/immersive-reader/ImmersiveReader.tsx":
570
- /*!********************************************************************!*\
571
- !*** ./src/shared/components/immersive-reader/ImmersiveReader.tsx ***!
572
- \********************************************************************/
573
- /*! exports provided: ImmersiveReader */
574
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
575
-
576
- "use strict";
577
- __webpack_require__.r(__webpack_exports__);
578
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ImmersiveReader", function() { return ImmersiveReader; });
579
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
580
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
581
- /* harmony import */ var _microsoft_immersive_reader_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @microsoft/immersive-reader-sdk */ "@microsoft/immersive-reader-sdk");
582
- /* harmony import */ var _microsoft_immersive_reader_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_microsoft_immersive_reader_sdk__WEBPACK_IMPORTED_MODULE_1__);
583
- /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
584
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
585
- /* harmony import */ var _libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/flight-requests/ConfigRequests */ "../../libs/shared/src/flight-requests/ConfigRequests.ts");
586
- /* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
587
- /* harmony import */ var _immersive_reader_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./immersive-reader.scss */ "./src/shared/components/immersive-reader/immersive-reader.scss");
588
- /* harmony import */ var _immersive_reader_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_immersive_reader_scss__WEBPACK_IMPORTED_MODULE_6__);
589
-
590
-
591
-
592
-
593
-
594
-
595
-
596
- var namespace = 'shared.immersiveReader';
597
- function ImmersiveReader(props) {
598
- var config = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_ConfigRequests__WEBPACK_IMPORTED_MODULE_4__["ConfigRequests"].config);
599
- var immersiveReaderResponse = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_2__["Flight"].useBasicFetch({
600
- url: '/api/integrations/token/immersive-reader',
601
- key: 'immersive:reader:token'
602
- });
603
- if (!config.data || !immersiveReaderResponse.data) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
604
- if (!props.title) props.title = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].getPhrase(namespace, 'titleFallback');
605
-
606
- function launchImmersiveReader() {
607
- _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__["AnalyticsHelper"].logUserAction(props.analyticsData, props.analyticsOptions);
608
- var content = {
609
- title: props.title,
610
- chunks: [{
611
- content: props.text
612
- }]
613
- };
614
- var _immersiveReaderRespo = immersiveReaderResponse.data,
615
- subdomain = _immersiveReaderRespo.subdomain,
616
- token = _immersiveReaderRespo.token;
617
- var options = {
618
- uiZIndex: 5000 // Should always appear above our content
619
-
620
- };
621
- _microsoft_immersive_reader_sdk__WEBPACK_IMPORTED_MODULE_1__["launchAsync"](token, subdomain, content, options);
622
- }
623
230
 
231
+ function ClickViewAvatar() {
624
232
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
625
- className: "".concat(_immersive_reader_scss__WEBPACK_IMPORTED_MODULE_6___default.a.button, " ").concat(props.className || ''),
626
- onClick: launchImmersiveReader
627
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", {
628
- viewBox: '0 0 40 37'
629
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", {
630
- d: 'M37.4,0.9 L37.4,9.6 L35.4,9.6 L35.4,2.9 L24.4,2.9 C22.9,3.3 20,4.5 20,6 L20,17.2 L18,17.2 L18,6 C18,5 15.6,3.6 13.8,2.9 L2,2.9 L2,29 L12.4,29 L12.4,31 L0,31 L0,0.9 L14.1,0.9 L14.3,1 C15,1.2 17.5,2.2 18.9,3.7 C20.5,1.9 23.5,1.1 23.9,1 L24.1,1 L37.4,1 L37.4,0.9 Z',
631
- fill: '#000000'
632
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", {
633
- d: 'M27.4,37 L25.8,37 L18.4,29.4 L14,29.4 L14,21 L18.4,20.9 L26.1,13 L27.4,13 L27.4,37 Z M16,27.4 L19.2,27.4 L25.3,33.7 L25.3,16.6 L19.2,22.9 L15.9,22.9 L15.9,27.4 L16,27.4 Z',
634
- fill: '#0197F2'
635
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", {
636
- d: 'M31.3,32.7 L29.6,31.7 C29.6,31.7 31.7,28.3 31.7,25.2 C31.7,21.9 29.6,18.5 29.6,18.4 L31.3,17.4 C31.4,17.6 33.7,21.3 33.7,25.2 C33.7,28.8 31.4,32.6 31.3,32.7 Z',
637
- fill: '#0197F2'
638
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", {
639
- d: 'M36.4,36.2 L34.8,35 C34.8,35 38,30.8 38,25.2 C38,19.6 34.8,15.4 34.8,15.4 L36.4,14.2 C36.5,14.4 40,19 40,25.3 C40,31.5 36.5,36 36.4,36.2 Z',
640
- fill: '#0197F2'
641
- })));
233
+ className: _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__["avatar"]
234
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svgs_clickview_logo_ClickViewLogo__WEBPACK_IMPORTED_MODULE_1__["ClickViewPlayLogo"], null));
642
235
  }
643
236
 
644
237
  /***/ }),
645
238
 
646
- /***/ "./src/shared/components/immersive-reader/immersive-reader.scss":
647
- /*!**********************************************************************!*\
648
- !*** ./src/shared/components/immersive-reader/immersive-reader.scss ***!
649
- \**********************************************************************/
239
+ /***/ "../../libs/shared/src/components/clickview-avatar/clickview-avatar.scss":
240
+ /*!*******************************************************************************************************************!*\
241
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/clickview-avatar/clickview-avatar.scss ***!
242
+ \*******************************************************************************************************************/
650
243
  /*! no static exports found */
651
244
  /***/ (function(module, exports, __webpack_require__) {
652
245
 
653
246
  // extracted by mini-css-extract-plugin
654
- module.exports = {"button":"cv--button--10_KK"};
247
+ module.exports = {"avatar":"cv--avatar--1IfFN"};
655
248
 
656
249
  /***/ }),
657
250
 
658
- /***/ "./src/shared/components/play-page/PlayPage.tsx":
659
- /*!******************************************************!*\
660
- !*** ./src/shared/components/play-page/PlayPage.tsx ***!
661
- \******************************************************/
662
- /*! exports provided: onUpdateViewport, PlayPage */
251
+ /***/ "../../libs/shared/src/utils/AudienceHelper.ts":
252
+ /*!*****************************************************************************************!*\
253
+ !*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/AudienceHelper.ts ***!
254
+ \*****************************************************************************************/
255
+ /*! exports provided: AudienceHelper */
663
256
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
664
257
 
665
258
  "use strict";
666
259
  __webpack_require__.r(__webpack_exports__);
667
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onUpdateViewport", function() { return onUpdateViewport; });
668
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlayPage", function() { return PlayPage; });
669
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
670
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
671
- /* harmony import */ var _libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/hooks/useViewModel */ "../../libs/common/src/react/hooks/useViewModel.ts");
672
- /* harmony import */ var _libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
673
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
674
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
675
- /* harmony import */ var _libs_shared_src_components_actions_Actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/actions/Actions */ "../../libs/shared/src/components/actions/Actions.tsx");
676
- /* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
677
- /* harmony import */ var _libs_shared_src_hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../libs/shared/src/hooks/UseGetMediaQueryString */ "../../libs/shared/src/hooks/UseGetMediaQueryString.ts");
678
- /* harmony import */ var _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../libs/shared/src/enums/MediaQueries */ "../../libs/shared/src/enums/MediaQueries.ts");
679
- /* harmony import */ var _libs_shared_src_components_widgets_fixed_widget__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/widgets/fixed-widget */ "../../libs/shared/src/components/widgets/fixed-widget/index.ts");
680
- /* harmony import */ var _libs_shared_src_enums_WidgetContents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../libs/shared/src/enums/WidgetContents */ "../../libs/shared/src/enums/WidgetContents.ts");
681
- /* harmony import */ var _libs_shared_src_components_widgets_items_interactive_widget_item_InteractiveWidgetItem__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem */ "../../libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx");
682
- /* harmony import */ var _libs_shared_src_components_widgets_items_clip_widget_item_ClipWidgetItem__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/widgets/items/clip-widget-item/ClipWidgetItem */ "../../libs/shared/src/components/widgets/items/clip-widget-item/ClipWidgetItem.tsx");
683
- /* harmony import */ var shared_components_resources_Resources__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! shared/components/resources/Resources */ "./src/shared/components/resources/Resources.tsx");
684
- /* harmony import */ var shared_components_video_details_VideoDetails__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! shared/components/video-details/VideoDetails */ "./src/shared/components/video-details/VideoDetails.tsx");
685
- /* harmony import */ var shared_hooks_useWindowListeners__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! shared/hooks/useWindowListeners */ "./src/shared/hooks/useWindowListeners.ts");
686
- /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
687
- /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
688
- /* harmony import */ var shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! shared/constants/LiteViewModels */ "./src/shared/constants/LiteViewModels.ts");
689
- /* harmony import */ var shared_components_synopsis_Synopsis__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! shared/components/synopsis/Synopsis */ "./src/shared/components/synopsis/Synopsis.tsx");
690
- /* harmony import */ var _VideoTitle__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./VideoTitle */ "./src/shared/components/play-page/VideoTitle.tsx");
691
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
692
-
693
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
694
-
695
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
696
-
697
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
698
-
699
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
700
-
701
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
-
711
-
712
-
713
-
714
-
715
-
716
-
717
-
260
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceHelper", function() { return AudienceHelper; });
261
+ /* harmony import */ var _common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
718
262
 
263
+ var DIGIT_REGEX = /([0-9]+)/ig;
264
+ var NAME_REGEX = /(^\w+)/ig;
265
+ var COUNT_OFFSET = 1;
719
266
 
720
-
721
-
722
-
723
-
724
- var namespace = 'shared.playPage';
725
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_3__["LanguageService"].encloseNamespace(namespace); // TODO: Add analytics to these actions
726
-
727
- var getActions = function getActions(video, isMobile) {
728
- return [{
729
- label: getPhrase('makeInteractive'),
730
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__["cvSvgLibrary"].Plus,
731
- className: !isMobile ? 'btn btn-light ml-2' : '',
732
- button: !isMobile
733
- }, {
734
- label: getPhrase('addToPlaylist'),
735
- appLink: {
736
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_17__["AppChannels"].PLAYLISTS,
737
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_16__["Actions"].Playlists.ADD_TO_PLAYLIST,
738
- args: [video.id]
739
- },
740
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__["cvSvgLibrary"].AddToPlaylists,
741
- className: !isMobile ? 'btn btn-light ml-2' : '',
742
- button: !isMobile
743
- }, {
744
- label: getPhrase('share'),
745
- appLink: {
746
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_17__["AppChannels"].DEFAULT,
747
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_16__["Actions"].Default.SHARE,
748
- args: [video.id],
749
- params: {
750
- entityType: 'video'
751
- }
752
- },
753
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_6__["cvSvgLibrary"].Share2,
754
- className: !isMobile ? 'btn btn-light ml-2' : '',
755
- button: !isMobile
756
- }, {
757
- label: getPhrase('createClip') // TODO: Add appLink
758
-
759
- }, {
760
- label: getPhrase('viewCurriculumLinks') // TODO: Add appLink
761
-
762
- }];
763
- };
764
-
765
- function onUpdateViewport(playerRef, setPlayerData) {
766
- if (!playerRef.current) return;
767
- var rect = playerRef.current.getBoundingClientRect();
768
- var left = window.pageXOffset || document.documentElement.scrollLeft;
769
- var top = window.pageYOffset || document.documentElement.scrollTop;
267
+ function processAudienceRanges(audienceValues) {
770
268
  /**
771
- * Only show floating player
772
- * if the normal player is no longer in view
269
+ * Lookahead by increments of offset
773
270
  */
271
+ var offset = COUNT_OFFSET;
272
+ var initialVal, nextVal;
273
+ var isContinguous = false;
274
+ var ranges = []; // Audience values need to be in ascending order
774
275
 
775
- if (rect.top < -rect.height) {
776
- setPlayerData('viewportPosition', null);
777
- return;
778
- }
779
-
780
- setPlayerData('viewportPosition', {
781
- top: top + rect.top,
782
- left: left + rect.left,
783
- width: rect.width
276
+ audienceValues = audienceValues.sort(function (a, b) {
277
+ return a - b;
784
278
  });
785
- }
786
- function PlayPage(props) {
787
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
788
-
789
- var video = props.video,
790
- glanceTheme = props.glanceTheme;
791
- var hasGlanceData = ((_a = video.glance) === null || _a === void 0 ? void 0 : _a.content) && video.glance.format === 'text/markdown';
792
- var rating = video.rating,
793
- productionYear = video.productionYear,
794
- interactives = video.interactives,
795
- resources = video.resources,
796
- productionCompanies = video.productionCompanies,
797
- distributors = video.distributors,
798
- producers = video.producers,
799
- directors = video.directors,
800
- tags = video.tags; // tslint:disable-next-line
801
-
802
- var hasPPDD = !!((_b = productionCompanies.data) === null || _b === void 0 ? void 0 : _b.length) || !!((_c = distributors.data) === null || _c === void 0 ? void 0 : _c.length) || !!((_d = producers.data) === null || _d === void 0 ? void 0 : _d.length) || !!((_e = directors.data) === null || _e === void 0 ? void 0 : _e.length);
803
- var hasBadges = !!((_f = rating) === null || _f === void 0 ? void 0 : _f.value) || !!productionYear || !!((_g = interactives.data) === null || _g === void 0 ? void 0 : _g.length) || !!((_h = resources.data) === null || _h === void 0 ? void 0 : _h.length);
804
- var hasDetails = !!video.description || hasBadges || hasPPDD || !!((_j = tags.data) === null || _j === void 0 ? void 0 : _j.length);
805
-
806
- var _useViewModel = Object(_libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_1__["useViewModel"])(shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_18__["ViewModelKeys"].WEB_PLAYER_DATA),
807
- _useViewModel2 = _slicedToArray(_useViewModel, 2),
808
- setPlayerData = _useViewModel2[1];
809
-
810
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default.a.useState(hasGlanceData),
811
- _React$useState2 = _slicedToArray(_React$useState, 2),
812
- showSynopsis = _React$useState2[0],
813
- setShowSynopsis = _React$useState2[1];
814
-
815
- var mediaQuery = Object(_libs_shared_src_hooks_UseGetMediaQueryString__WEBPACK_IMPORTED_MODULE_7__["useGetMediaQueryString"])();
816
- var isMobile = mediaQuery === _libs_shared_src_enums_MediaQueries__WEBPACK_IMPORTED_MODULE_8__["MediaQueryStrings"].XS; // Get reference to the player dom element
817
-
818
- var player = react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef(null); // Memoize so we don't call throttle repeatedly
819
-
820
- var throttledOnUpdateViewport = react__WEBPACK_IMPORTED_MODULE_0___default.a.useMemo(function () {
821
- return _libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].throttle(function () {
822
- return onUpdateViewport(player, setPlayerData);
823
- }, 100, {
824
- leading: true,
825
- trailing: false
826
- });
827
- }, []);
828
- Object(shared_hooks_useWindowListeners__WEBPACK_IMPORTED_MODULE_15__["useOnScroll"])(throttledOnUpdateViewport);
829
- Object(shared_hooks_useWindowListeners__WEBPACK_IMPORTED_MODULE_15__["useOnResize"])(throttledOnUpdateViewport);
830
- var playerRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.useCallback(function (node) {
831
- if (!node) return;
832
- player.current = node;
833
- throttledOnUpdateViewport();
834
- }, []);
835
- react__WEBPACK_IMPORTED_MODULE_0___default.a.useEffect(function () {
836
- setPlayerData('isOnPlayPage', true); // Clear the position when this component is closed
837
-
838
- return function () {
839
- setPlayerData('viewportPosition', null);
840
- setPlayerData('isOnPlayPage', false);
841
- };
842
- }, []);
843
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_4__["LanguageNamespaceContext"].Provider, {
844
- value: namespace
845
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
846
- className: 'embed-responsive embed-responsive-16by9 mb-3',
847
- ref: playerRef
848
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
849
- className: 'd-flex justify-content-between align-items-center pb-3'
850
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_VideoTitle__WEBPACK_IMPORTED_MODULE_20__["VideoTitle"], {
851
- video: video,
852
- setFavourite: props.setFavourite
853
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_actions_Actions__WEBPACK_IMPORTED_MODULE_5__["Actions"], {
854
- actions: getActions(video, isMobile)
855
- })), showSynopsis ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_synopsis_Synopsis__WEBPACK_IMPORTED_MODULE_19__["Synopsis"], {
856
- theme: glanceTheme,
857
- video: video,
858
- hasGlanceData: hasGlanceData,
859
- hasDetails: hasDetails,
860
- onClickFullDescription: function onClickFullDescription() {
861
- return setShowSynopsis(false);
862
- }
863
- }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_video_details_VideoDetails__WEBPACK_IMPORTED_MODULE_14__["VideoDetailsWithScrollbar"], {
864
- video: video,
865
- hasGlanceData: hasGlanceData,
866
- hasBadges: hasBadges,
867
- hasPPDD: hasPPDD,
868
- onClickShowSynopsis: function onClickShowSynopsis() {
869
- return setShowSynopsis(true);
870
- }
871
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_resources_Resources__WEBPACK_IMPORTED_MODULE_13__["Resources"], {
872
- video: video
873
- }), !!((_l = (_k = video.interactives) === null || _k === void 0 ? void 0 : _k.data) === null || _l === void 0 ? void 0 : _l.length) && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
874
- className: 'mx-n1'
875
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_widgets_fixed_widget__WEBPACK_IMPORTED_MODULE_9__["FixedWidget"], {
876
- name: getPhrase('interactives', {
877
- count: video.interactives.data.length
878
- }),
879
- contents: _libs_shared_src_enums_WidgetContents__WEBPACK_IMPORTED_MODULE_10__["WidgetContents"].Interactives,
880
- collection: video.interactives.data,
881
- prefetched: true,
882
- childComponent: function childComponent(itemProps) {
883
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_widgets_items_interactive_widget_item_InteractiveWidgetItem__WEBPACK_IMPORTED_MODULE_11__["InteractiveWidgetItem"], Object.assign({}, itemProps, {
884
- video: video
885
- }));
886
- },
887
- analyticsData: {
888
- widgetId: 'interactives'
889
- }
890
- })), !!((_o = (_m = video.clips) === null || _m === void 0 ? void 0 : _m.data) === null || _o === void 0 ? void 0 : _o.length) && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
891
- className: 'mx-n1'
892
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_widgets_fixed_widget__WEBPACK_IMPORTED_MODULE_9__["FixedWidget"], {
893
- name: getPhrase('clips', {
894
- count: video.interactives.data.length
895
- }),
896
- contents: _libs_shared_src_enums_WidgetContents__WEBPACK_IMPORTED_MODULE_10__["WidgetContents"].Clips,
897
- collection: video.clips.data,
898
- prefetched: true,
899
- childComponent: function childComponent(itemProps) {
900
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_widgets_items_clip_widget_item_ClipWidgetItem__WEBPACK_IMPORTED_MODULE_12__["ClipWidgetItem"], Object.assign({}, itemProps, {
901
- video: video
902
- }));
903
- },
904
- analyticsData: {
905
- widgetId: 'clips'
906
- }
907
- })));
908
- }
909
-
910
- /***/ }),
279
+ var i, j;
911
280
 
912
- /***/ "./src/shared/components/play-page/VideoTitle.tsx":
913
- /*!********************************************************!*\
914
- !*** ./src/shared/components/play-page/VideoTitle.tsx ***!
915
- \********************************************************/
916
- /*! exports provided: VideoTitle */
917
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
918
-
919
- "use strict";
920
- __webpack_require__.r(__webpack_exports__);
921
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VideoTitle", function() { return VideoTitle; });
922
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
923
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
924
- /* harmony import */ var _libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
925
- /* harmony import */ var _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/utils/TextHelper */ "../../libs/common/src/react/utils/TextHelper.ts");
926
- /* harmony import */ var _libs_shared_src_components_series_link_SeriesLink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/series-link/SeriesLink */ "../../libs/shared/src/components/series-link/SeriesLink.tsx");
927
- /* harmony import */ var _libs_shared_src_components_favourite_button_FavouriteButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/favourite-button/FavouriteButton */ "../../libs/shared/src/components/favourite-button/FavouriteButton.tsx");
928
- /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
929
- /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
930
- /* harmony import */ var _play_page_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./play-page.scss */ "./src/shared/components/play-page/play-page.scss");
931
- /* harmony import */ var _play_page_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_play_page_scss__WEBPACK_IMPORTED_MODULE_7__);
932
-
933
-
934
-
935
-
936
-
937
-
938
-
939
-
940
- function VideoTitle(props) {
941
- var video = props.video;
942
- var appLink = {
943
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_6__["AppChannels"].DEFAULT,
944
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_5__["Actions"].Default.SERIES,
945
- args: video.series ? [video.series.id, _libs_common_src_react_utils_TextHelper__WEBPACK_IMPORTED_MODULE_2__["TextHelper"].slugify(video.series.name)] : []
946
- };
947
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", null, !!video.series && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_series_link_SeriesLink__WEBPACK_IMPORTED_MODULE_3__["SeriesLink"], {
948
- video: video,
949
- appLink: appLink,
950
- className: "".concat(_play_page_scss__WEBPACK_IMPORTED_MODULE_7___default.a.series, " clamp-1")
951
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
952
- className: 'd-flex align-items-center'
953
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h1", {
954
- className: 'h3 d-inline-block m-0'
955
- }, video.name), !!_libs_common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_1__["FunctionHelper"].isFunction(props.setFavourite) && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_favourite_button_FavouriteButton__WEBPACK_IMPORTED_MODULE_4__["FavouriteButton"], {
956
- setFavourite: props.setFavourite,
957
- video: video,
958
- className: 'd-inline-block ml-2 align-text-bottom'
959
- })));
960
- }
961
-
962
- /***/ }),
963
-
964
- /***/ "./src/shared/components/play-page/play-page.scss":
965
- /*!********************************************************!*\
966
- !*** ./src/shared/components/play-page/play-page.scss ***!
967
- \********************************************************/
968
- /*! no static exports found */
969
- /***/ (function(module, exports, __webpack_require__) {
970
-
971
- // extracted by mini-css-extract-plugin
972
- module.exports = {"series":"cv--series--2vEW0"};
973
-
974
- /***/ }),
975
-
976
- /***/ "./src/shared/components/resources/Resources.tsx":
977
- /*!*******************************************************!*\
978
- !*** ./src/shared/components/resources/Resources.tsx ***!
979
- \*******************************************************/
980
- /*! exports provided: Resources */
981
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
982
-
983
- "use strict";
984
- __webpack_require__.r(__webpack_exports__);
985
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Resources", function() { return Resources; });
986
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
987
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
988
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
281
+ for (i = 0; i < audienceValues.length; i++) {
282
+ j = i + 1; // Set our lower boundary to compare against
989
283
 
284
+ if (!isContinguous) initialVal = audienceValues[i];
285
+ nextVal = audienceValues[j];
286
+ /**
287
+ * Where the next number is also the next incremental value
288
+ * we're going to continue iterating until the next value
289
+ * is no longer contiguos.
290
+ */
990
291
 
991
- function Resources(props) {
992
- var video = props.video;
993
- if (!video.resources || !video.resources.data || !video.resources.data.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
994
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
995
- className: 'pb-3'
996
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h2", {
997
- className: 'h4'
998
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_1__["Text"], {
999
- phrase: 'resources',
1000
- options: {
1001
- count: video.resources.data.length
292
+ if (audienceValues[i] + offset === nextVal) {
293
+ isContinguous = true;
294
+ } else if (isContinguous) {
295
+ /**
296
+ * Where we were tracking a contiguous set, format appropriately
297
+ * and store the vals
298
+ */
299
+ ranges.push("".concat(initialVal, " - ").concat(audienceValues[i]));
300
+ isContinguous = false;
301
+ } else {
302
+ /**
303
+ * Where the values arent contiguous, just store the current value
304
+ */
305
+ ranges.push("".concat(audienceValues[i]));
306
+ isContinguous = false;
1002
307
  }
1003
- })), video.resources.data.map(function (r, i) {
1004
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1005
- key: i
1006
- }, r.name);
1007
- }));
1008
- }
1009
-
1010
- /***/ }),
1011
-
1012
- /***/ "./src/shared/components/synopsis/Synopsis.tsx":
1013
- /*!*****************************************************!*\
1014
- !*** ./src/shared/components/synopsis/Synopsis.tsx ***!
1015
- \*****************************************************/
1016
- /*! exports provided: Synopsis */
1017
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1018
-
1019
- "use strict";
1020
- __webpack_require__.r(__webpack_exports__);
1021
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Synopsis", function() { return Synopsis; });
1022
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1023
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1024
- /* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! marked */ "marked");
1025
- /* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(marked__WEBPACK_IMPORTED_MODULE_1__);
1026
- /* harmony import */ var _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone */ "../../libs/common/src/backbone/index.ts");
1027
- /* harmony import */ var _libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/common/src/react/hooks/useViewModel */ "../../libs/common/src/react/hooks/useViewModel.ts");
1028
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
1029
- /* harmony import */ var _libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/div-button/DivButton */ "../../libs/shared/src/components/div-button/DivButton.tsx");
1030
- /* harmony import */ var _libs_shared_src_utils_ImageHelper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../libs/shared/src/utils/ImageHelper */ "../../libs/shared/src/utils/ImageHelper.ts");
1031
- /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
1032
- /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
1033
- /* harmony import */ var shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! shared/constants/LiteViewModels */ "./src/shared/constants/LiteViewModels.ts");
1034
- /* harmony import */ var _synopsis_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./synopsis.scss */ "./src/shared/components/synopsis/synopsis.scss");
1035
- /* harmony import */ var _synopsis_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_synopsis_scss__WEBPACK_IMPORTED_MODULE_10__);
1036
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1037
-
1038
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1039
-
1040
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1041
-
1042
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1043
-
1044
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
1045
-
1046
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1047
-
1048
-
1049
-
1050
-
1051
-
1052
-
1053
-
1054
-
1055
-
1056
-
1057
-
1058
-
1059
- var namespace = 'shared.synopsis';
1060
- function Synopsis(props) {
1061
- var _a;
1062
-
1063
- var video = props.video,
1064
- theme = props.theme,
1065
- hasGlanceData = props.hasGlanceData,
1066
- hasDetails = props.hasDetails,
1067
- onClickFullDescription = props.onClickFullDescription;
1068
-
1069
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](''),
1070
- _React$useState2 = _slicedToArray(_React$useState, 2),
1071
- markdownHTML = _React$useState2[0],
1072
- setMarkdownHTML = _React$useState2[1];
1073
-
1074
- var _useViewModel = Object(_libs_common_src_react_hooks_useViewModel__WEBPACK_IMPORTED_MODULE_3__["useViewModel"])(shared_constants_LiteViewModels__WEBPACK_IMPORTED_MODULE_9__["ViewModelKeys"].WEB_PLAYER_DATA),
1075
- _useViewModel2 = _slicedToArray(_useViewModel, 2),
1076
- setPlayerData = _useViewModel2[1];
1077
-
1078
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
1079
- if (!hasGlanceData) return;
1080
- var html = marked__WEBPACK_IMPORTED_MODULE_1__(video.glance.content); // Add styling to any tags
308
+ }
1081
309
 
1082
- var wrappedTags = html.split('a href="cv-tag://').join('a class="badge-pill tag mr-1 my-1 px-2 py-1" href="cv-tag://');
1083
- setMarkdownHTML(wrappedTags);
1084
- }, [(_a = video.glance) === null || _a === void 0 ? void 0 : _a.content]);
1085
- /**
1086
- * If we don't have a glance, or our glance is not markdown
1087
- * we tell the PlayPage to render the description instead and return.
1088
- */
310
+ return ranges;
311
+ }
1089
312
 
1090
- if (!hasGlanceData && hasDetails) {
1091
- onClickFullDescription();
1092
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
1093
- }
313
+ var AudienceHelper = {
1094
314
  /**
1095
- * Because the markdown is injected as a HTML string, we cannot attach click event handlers directly onto
1096
- * the links that we want to. Instead, we attach one click handler to the entire markdown container, meaning
1097
- * click events bubble up, and we can use `event.target` to see which element was clicked.
315
+ * This is needed to sort an object's audiences, as they are not sorted by the backend.
316
+ * To do this, we take the presentation audiences (sorted) and filter them by the object's
317
+ * audiences, leaving behind a sorted array of object audiences.
1098
318
  */
1099
-
1100
-
1101
- function onClickMarkDown(event) {
1102
- event.preventDefault();
1103
- var href = event.target.getAttribute('href'); // Ignore click events that do not have a href
1104
-
1105
- if (!href) return; // When a timestamp is clicked, we update the player time
1106
-
1107
- if (href.includes('cv-timestamp://')) {
1108
- var time = href.split('cv-timestamp://')[1];
1109
- setPlayerData('startTime', time);
1110
- return;
1111
- } // When a tag is clicked, we navigate to search results for that tag
1112
-
1113
-
1114
- if (href.includes('cv-tag://')) {
1115
- var tag = href.split('cv-tag://')[1];
1116
- _libs_common_src_backbone__WEBPACK_IMPORTED_MODULE_2__["Core"].AppLinkHelper.trigger({
1117
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_7__["AppChannels"].SEARCH,
1118
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_8__["Actions"].Search.HOME,
1119
- params: {
1120
- tag: tag
1121
- }
1122
- });
1123
- return;
1124
- }
1125
- }
1126
-
1127
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1128
- className: "rounded border px-3 mb-3 position-relative d-flex align-items-center justify-content-center ".concat(_synopsis_scss__WEBPACK_IMPORTED_MODULE_10___default.a.container)
1129
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1130
- className: "".concat(_synopsis_scss__WEBPACK_IMPORTED_MODULE_10___default.a.content, " py-5")
1131
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h2", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_4__["Text"], {
1132
- namespace: namespace,
1133
- phrase: 'videoAtAGlance'
1134
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1135
- onClick: onClickMarkDown,
1136
- dangerouslySetInnerHTML: {
1137
- __html: markdownHTML
1138
- }
1139
- }), hasDetails && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_5__["DivButton"], {
1140
- onClick: props.onClickFullDescription,
1141
- className: 'cursor-pointer d-inline-block'
1142
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("strong", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_4__["Text"], {
1143
- namespace: namespace,
1144
- phrase: 'showFullDescription'
1145
- })))), theme ? Object.keys(theme.data).map(function (imageDataKey) {
1146
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1147
- key: theme.data[imageDataKey].fileId,
1148
- className: "".concat(_synopsis_scss__WEBPACK_IMPORTED_MODULE_10___default.a[imageDataKey], " ").concat(_synopsis_scss__WEBPACK_IMPORTED_MODULE_10___default.a.background),
1149
- style: {
1150
- backgroundImage: "url('".concat(_libs_shared_src_utils_ImageHelper__WEBPACK_IMPORTED_MODULE_6__["ImageHelper"].createUrl(theme.data[imageDataKey].url, {
1151
- format: 'png'
1152
- }), "')")
1153
- }
319
+ getSortedPresentationAudiences: function getSortedPresentationAudiences(objectAudiences, presentationAudiences) {
320
+ var objectAudienceIds = objectAudiences.map(function (audience) {
321
+ return audience.id.toString();
1154
322
  });
1155
- }) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null));
1156
- }
1157
-
1158
- /***/ }),
1159
-
1160
- /***/ "./src/shared/components/synopsis/synopsis.scss":
1161
- /*!******************************************************!*\
1162
- !*** ./src/shared/components/synopsis/synopsis.scss ***!
1163
- \******************************************************/
1164
- /*! no static exports found */
1165
- /***/ (function(module, exports, __webpack_require__) {
1166
-
1167
- // extracted by mini-css-extract-plugin
1168
- module.exports = {"container":"cv--container--1XOYA","content":"cv--content--UcxNO","background":"cv--background--3gpaY","topLeft":"cv--topLeft--2s7I6","bottomLeft":"cv--bottomLeft--23UKL","topRight":"cv--topRight--ec_-l","bottomRight":"cv--bottomRight--1xMKp"};
1169
-
1170
- /***/ }),
1171
-
1172
- /***/ "./src/shared/components/video-details/VideoDetails.tsx":
1173
- /*!**************************************************************!*\
1174
- !*** ./src/shared/components/video-details/VideoDetails.tsx ***!
1175
- \**************************************************************/
1176
- /*! exports provided: VideoDetailsWithScrollbar */
1177
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1178
-
1179
- "use strict";
1180
- __webpack_require__.r(__webpack_exports__);
1181
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VideoDetailsWithScrollbar", function() { return VideoDetailsWithScrollbar; });
1182
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1183
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1184
- /* harmony import */ var react_custom_scrollbars__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-custom-scrollbars */ "react-custom-scrollbars");
1185
- /* harmony import */ var react_custom_scrollbars__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_custom_scrollbars__WEBPACK_IMPORTED_MODULE_1__);
1186
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
1187
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
1188
- /* harmony import */ var _libs_shared_src_components_badges_BadgeListContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/badges/BadgeListContainer */ "../../libs/shared/src/components/badges/BadgeListContainer.tsx");
1189
- /* harmony import */ var _libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/badges/Badge */ "../../libs/shared/src/components/badges/Badge.tsx");
1190
- /* harmony import */ var _libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/div-button/DivButton */ "../../libs/shared/src/components/div-button/DivButton.tsx");
1191
- /* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
1192
- /* harmony import */ var shared_components_immersive_reader_ImmersiveReader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! shared/components/immersive-reader/ImmersiveReader */ "./src/shared/components/immersive-reader/ImmersiveReader.tsx");
1193
- /* harmony import */ var _video_details_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./video-details.scss */ "./src/shared/components/video-details/video-details.scss");
1194
- /* harmony import */ var _video_details_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_video_details_scss__WEBPACK_IMPORTED_MODULE_9__);
1195
- /* harmony import */ var _libs_shared_src_components_tags_TagList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../libs/shared/src/components/tags/TagList */ "../../libs/shared/src/components/tags/TagList.tsx");
1196
- /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
1197
- /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
1198
-
1199
-
1200
-
1201
-
1202
-
1203
-
1204
-
1205
-
1206
-
1207
-
1208
-
323
+ /**
324
+ * Remove audiences that aren't relevant for the user's current presentation
325
+ */
1209
326
 
327
+ var filteredAudiences = presentationAudiences.filter(function (presAudience) {
328
+ return objectAudienceIds.includes(presAudience.masterId.toString());
329
+ });
330
+ return filteredAudiences;
331
+ },
332
+ getMergedPresentationAudienceString: function getMergedPresentationAudienceString(presentationAudiences) {
333
+ if (presentationAudiences.length === 1) return presentationAudiences[0];
334
+ /**
335
+ * Create a string with all of the audiences
336
+ */
1210
337
 
1211
- var namespace = 'shared.videoDetails';
1212
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace); // 368 is the min height of Video at a glance which is defined as $glanceHeight in synopsis.scss
338
+ var valuesStr = presentationAudiences.map(function (a) {
339
+ return a.name;
340
+ }).join(',');
341
+ /**
342
+ * Extract all the numbers and matches from the string
343
+ * Where there aren't matches, just return the first Audience.
344
+ */
1213
345
 
1214
- var MIN_GLANCE_HEIGHT = 368; // px
346
+ var valMatches = valuesStr.match(DIGIT_REGEX);
347
+ var nameMatches = valuesStr.match(NAME_REGEX);
348
+ if (!valMatches || !nameMatches) return presentationAudiences[0];
349
+ var audienceValues = valMatches.map(function (l) {
350
+ return +l;
351
+ }) || [];
352
+ /**
353
+ * Build set of logical audience ranges
354
+ */
1215
355
 
1216
- function CommaList(props) {
1217
- var label = props.label,
1218
- items = props.items,
1219
- className = props.className;
1220
- var hasItems = items && items.data && items.data.length;
1221
- if (!hasItems) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
1222
- var commaSeperated = items.data.map(function (i) {
1223
- return i.name;
1224
- }).join(', ');
1225
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1226
- className: className
1227
- }, label, ": ", commaSeperated);
1228
- }
356
+ var audienceRange = processAudienceRanges(audienceValues);
357
+ /**
358
+ * Get matches name
359
+ */
1229
360
 
1230
- function VideoDetailsWithScrollbar(props) {
1231
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
361
+ var audienceName = nameMatches[0];
362
+ return {
363
+ name: "".concat(audienceName, " ").concat(audienceRange.join(' , '))
364
+ };
365
+ },
1232
366
 
1233
- var video = props.video,
1234
- hasGlanceData = props.hasGlanceData,
1235
- hasBadges = props.hasBadges,
1236
- hasPPDD = props.hasPPDD,
1237
- onClickShowSynopsis = props.onClickShowSynopsis;
1238
- if (!hasBadges && !hasPPDD && !((_b = (_a = video.tags) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) && !video.description) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
1239
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__["LanguageNamespaceContext"].Provider, {
1240
- value: namespace
1241
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1242
- className: 'rounded border p-3 mb-3'
1243
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_custom_scrollbars__WEBPACK_IMPORTED_MODULE_1___default.a, {
1244
- autoHeight: true,
1245
- autoHeightMax: MIN_GLANCE_HEIGHT
1246
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1247
- className: video.description ? 'pb-2' : ''
1248
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h2", {
1249
- className: 'h6'
1250
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__["Text"], {
1251
- phrase: 'details'
1252
- })), hasBadges && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_badges_BadgeListContainer__WEBPACK_IMPORTED_MODULE_4__["BadgeListContainer"], {
1253
- className: 'pb-1'
1254
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["Badge"], {
1255
- type: _libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["BadgeType"].Rating,
1256
- data: video.rating
1257
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["Badge"], {
1258
- type: _libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["BadgeType"].ProductionYear,
1259
- data: video.productionYear
1260
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["Badge"], {
1261
- type: _libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["BadgeType"].Interactive,
1262
- data: video.interactives
1263
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["Badge"], {
1264
- type: _libs_shared_src_components_badges_Badge__WEBPACK_IMPORTED_MODULE_5__["BadgeType"].Resources,
1265
- data: video.resources
1266
- })), hasPPDD && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1267
- className: 'pb-2'
1268
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](CommaList, {
1269
- label: getPhrase('productionCompanies', {
1270
- smartCount: (_d = (_c = video.productionCompanies) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.length
1271
- }),
1272
- items: video.productionCompanies
1273
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](CommaList, {
1274
- label: getPhrase('distributors', {
1275
- smartCount: (_f = (_e = video.distributors) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.length
1276
- }),
1277
- items: video.distributors
1278
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](CommaList, {
1279
- label: getPhrase('producers', {
1280
- smartCount: (_h = (_g = video.producers) === null || _g === void 0 ? void 0 : _g.data) === null || _h === void 0 ? void 0 : _h.length
1281
- }),
1282
- items: video.producers
1283
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](CommaList, {
1284
- label: getPhrase('directors', {
1285
- smartCount: (_k = (_j = video.directors) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.length
1286
- }),
1287
- items: video.directors
1288
- })), !!((_m = (_l = video.tags) === null || _l === void 0 ? void 0 : _l.data) === null || _m === void 0 ? void 0 : _m.length) && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_tags_TagList__WEBPACK_IMPORTED_MODULE_10__["TagList"], {
1289
- tags: video.tags,
1290
- getAppLink: function getAppLink(tag) {
1291
- return {
1292
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_11__["AppChannels"].SEARCH,
1293
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_12__["Actions"].Search.HOME,
1294
- params: {
1295
- tag: tag.name
367
+ /**
368
+ * This function assumes the members array passed in is ordered by `name`.
369
+ */
370
+ sortMembersWithDuplicateNamesByAudience: function sortMembersWithDuplicateNamesByAudience(members) {
371
+ // Returns the lowest level audience out of an array of audience objects by looking at the name
372
+ var getLowestAudience = function getLowestAudience(audiences) {
373
+ if (!audiences.length) return null;
374
+ var lowestAudience;
375
+ var lowestAudienceDigit;
376
+ audiences.forEach(function (audience) {
377
+ var digit = +_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].first(audience.name.match(DIGIT_REGEX));
378
+
379
+ if (!lowestAudience) {
380
+ lowestAudience = audience;
381
+ lowestAudienceDigit = digit;
382
+ return;
1296
383
  }
1297
- };
1298
- }
1299
- })), !!video.description && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
1300
- className: "d-flex align-items-center ".concat(hasBadges || hasPPDD || ((_p = (_o = video.tags) === null || _o === void 0 ? void 0 : _o.data) === null || _p === void 0 ? void 0 : _p.length) ? 'pt-2' : '')
1301
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h2", {
1302
- className: 'h6 mb-1'
1303
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__["Text"], {
1304
- phrase: 'description'
1305
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](shared_components_immersive_reader_ImmersiveReader__WEBPACK_IMPORTED_MODULE_8__["ImmersiveReader"], {
1306
- text: video.description,
1307
- title: video.name,
1308
- className: 'pl-2',
1309
- analyticsOptions: {
1310
- location: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_7__["LocationContext"].PlayPage,
1311
- entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_7__["EntityType"].Video,
1312
- actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_7__["UserAction"].Click,
1313
- descriptor: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_7__["ClickDescriptor"].LaunchImmersiveReader
1314
- },
1315
- analyticsData: {
1316
- id: video.id,
1317
- type: 'description'
1318
- }
1319
- })), video.description && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("p", {
1320
- className: 'mb-0'
1321
- }, video.description)), hasGlanceData && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_6__["DivButton"], {
1322
- className: "".concat(_video_details_scss__WEBPACK_IMPORTED_MODULE_9___default.a.showGlance, " cursor-pointer d-inline-block"),
1323
- onClick: onClickShowSynopsis,
1324
- role: 'button',
1325
- tabIndex: 0
1326
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("strong", null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__["Text"], {
1327
- phrase: 'showGlance'
1328
- }))))));
1329
- }
1330
384
 
1331
- /***/ }),
1332
-
1333
- /***/ "./src/shared/components/video-details/video-details.scss":
1334
- /*!****************************************************************!*\
1335
- !*** ./src/shared/components/video-details/video-details.scss ***!
1336
- \****************************************************************/
1337
- /*! no static exports found */
1338
- /***/ (function(module, exports, __webpack_require__) {
1339
-
1340
- // extracted by mini-css-extract-plugin
1341
- module.exports = {"showGlance":"cv--showGlance--2fhqC"};
385
+ if (digit < lowestAudienceDigit) lowestAudience = audience;
386
+ });
387
+ return lowestAudience;
388
+ }; // This is used to track how many times a member's name appears in the collection
1342
389
 
1343
- /***/ }),
1344
390
 
1345
- /***/ "./src/shared/hooks/useWindowListeners.ts":
1346
- /*!************************************************!*\
1347
- !*** ./src/shared/hooks/useWindowListeners.ts ***!
1348
- \************************************************/
1349
- /*! exports provided: useOnScroll, useOnResize */
1350
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1351
-
1352
- "use strict";
1353
- __webpack_require__.r(__webpack_exports__);
1354
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useOnScroll", function() { return useOnScroll; });
1355
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useOnResize", function() { return useOnResize; });
1356
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1357
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
391
+ var nameCountMap = {};
392
+ var sorted = [];
393
+ members.forEach(function (member) {
394
+ if (!nameCountMap[member.name]) {
395
+ nameCountMap[member.name] = 1;
396
+ sorted.push(member);
397
+ return;
398
+ }
1358
399
 
400
+ sorted.push(member);
401
+ nameCountMap[member.name]++; // Take the slice of duplicates that we want to sort by audience
1359
402
 
1360
- function createUseWindowListener(event) {
1361
- return function useWindowListener(callback) {
1362
- /**
1363
- * Memoize the callback so it's the same function
1364
- * when we call removeEventListener
1365
- */
1366
- var memoCallback = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](callback, []);
1367
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
1368
- window.addEventListener(event, memoCallback);
1369
- return function () {
1370
- return window.removeEventListener(event, memoCallback);
1371
- };
1372
- }, []);
1373
- };
1374
- }
403
+ var slice = sorted.splice(sorted.length - nameCountMap[member.name]); // Sort the slice by lowest audience
1375
404
 
1376
- var useOnScroll = createUseWindowListener('scroll');
1377
- var useOnResize = createUseWindowListener('resize');
405
+ var sortedSlice = slice.sort(function (a, b) {
406
+ var firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);
407
+ var secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);
408
+ if (!firstObjLowestAudience && secondObjLowestAudience) return 1;
409
+ if (!secondObjLowestAudience) return -1;
410
+ var comparison = firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);
411
+ if (comparison === 0) return comparison;
412
+ return comparison > 0 ? -1 : 1;
413
+ });
414
+ sorted = sorted.concat(sortedSlice);
415
+ });
416
+ return sorted;
417
+ }
418
+ };
1378
419
 
1379
420
  /***/ })
1380
421