@clickview/lite 0.0.22-dev.1 → 0.0.22-rc.1

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 (407) hide show
  1. package/dist/css/0.chunk.css.map +1 -0
  2. package/dist/css/1.chunk.css +156 -0
  3. package/dist/css/1.chunk.css.map +1 -0
  4. package/dist/css/11.chunk.css +7 -0
  5. package/dist/css/11.chunk.css.map +1 -0
  6. package/dist/css/12.chunk.css +3 -1
  7. package/dist/css/12.chunk.css.map +1 -0
  8. package/dist/css/13.chunk.css.map +1 -0
  9. package/dist/css/14.chunk.css.map +1 -0
  10. package/dist/css/15.chunk.css +3 -1
  11. package/dist/css/15.chunk.css.map +1 -0
  12. package/dist/css/16.chunk.css +2 -2
  13. package/dist/css/16.chunk.css.map +1 -0
  14. package/dist/css/17.chunk.css.map +1 -0
  15. package/dist/css/18.chunk.css.map +1 -0
  16. package/dist/css/2.chunk.css.map +1 -0
  17. package/dist/css/20.chunk.css.map +1 -0
  18. package/dist/css/21.chunk.css.map +1 -0
  19. package/dist/css/22.chunk.css.map +1 -0
  20. package/dist/css/23.chunk.css.map +1 -0
  21. package/dist/css/24.chunk.css.map +1 -0
  22. package/dist/css/25.chunk.css.map +1 -0
  23. package/dist/css/26.chunk.css +2 -2
  24. package/dist/css/26.chunk.css.map +1 -0
  25. package/dist/css/27.chunk.css +2 -2
  26. package/dist/css/27.chunk.css.map +1 -0
  27. package/dist/css/28.chunk.css.map +1 -0
  28. package/dist/css/29.chunk.css.map +1 -0
  29. package/dist/css/3.chunk.css +4 -2
  30. package/dist/css/30.chunk.css +30 -2
  31. package/dist/css/30.chunk.css.map +1 -0
  32. package/dist/css/31.chunk.css +4 -0
  33. package/dist/css/31.chunk.css.map +1 -0
  34. package/dist/css/32.chunk.css.map +1 -0
  35. package/dist/css/33.chunk.css +8 -0
  36. package/dist/css/33.chunk.css.map +1 -0
  37. package/dist/css/34.chunk.css +6 -0
  38. package/dist/css/34.chunk.css.map +1 -0
  39. package/dist/css/35.chunk.css.map +1 -0
  40. package/dist/css/37.chunk.css +7 -0
  41. package/dist/css/37.chunk.css.map +1 -0
  42. package/dist/css/38.chunk.css +6 -0
  43. package/dist/css/38.chunk.css.map +1 -0
  44. package/dist/css/39.chunk.css +38 -2
  45. package/dist/css/39.chunk.css.map +1 -0
  46. package/dist/css/4.chunk.css +1 -1
  47. package/dist/css/41.chunk.css +4 -0
  48. package/dist/css/43.chunk.css +38 -0
  49. package/dist/css/43.chunk.css.map +1 -0
  50. package/dist/css/5.chunk.css +2 -8
  51. package/dist/css/5.chunk.css.map +1 -0
  52. package/dist/css/52.chunk.css +9 -0
  53. package/dist/css/52.chunk.css.map +1 -0
  54. package/dist/css/6.chunk.css +8 -2
  55. package/dist/css/6.chunk.css.map +1 -0
  56. package/dist/css/7.chunk.css +94 -0
  57. package/dist/css/7.chunk.css.map +1 -0
  58. package/dist/css/lite-app.css +2 -2
  59. package/dist/css/lite-app.css.map +1 -0
  60. package/dist/en.json +1 -1
  61. package/dist/libs/analytics/src/utils/VideoDataFormatHelper.d.ts +42 -0
  62. package/dist/libs/shared/src/apps/content-updates/interfaces/ClassificationVideosGrouping.d.ts +3 -2
  63. package/dist/libs/shared/src/apps/content-updates/interfaces/index.d.ts +0 -1
  64. package/dist/libs/shared/src/apps/notifications/utils/NotificationsHelper.d.ts +1 -1
  65. package/dist/libs/shared/src/apps/playlists/components/empty-state/EmptyVideoList.d.ts +3 -0
  66. package/dist/libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.d.ts +8 -3
  67. package/dist/libs/shared/src/apps/playlists/components/playlist-list/PlaylistList.d.ts +9 -3
  68. package/dist/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.d.ts +9 -0
  69. package/dist/{projects/lite → libs/shared}/src/apps/playlists/components/sort-select/PlaylistSortSelect.d.ts +2 -2
  70. package/dist/libs/shared/src/apps/playlists/enums/PlaylistSortType.d.ts +4 -2
  71. package/dist/libs/shared/src/apps/playlists/enums/PlaylistType.d.ts +5 -0
  72. package/dist/libs/shared/src/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier.d.ts +4 -1
  73. package/dist/libs/shared/src/apps/playlists/utils/PlaylistSortHelper.d.ts +0 -1
  74. package/dist/libs/shared/src/apps/subjects/components/preferences/index.d.ts +1 -1
  75. package/dist/libs/shared/src/apps/subjects/components/preferences/nav/PreferencesNav.d.ts +12 -0
  76. package/dist/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.d.ts +1 -0
  77. package/dist/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItemStatus.d.ts +1 -0
  78. package/dist/libs/shared/src/apps/subjects/components/preferences/subject-preference-grid/SubjectPreferenceGrid.d.ts +2 -1
  79. package/dist/libs/shared/src/apps/subjects/components/preferences/subject-preference-item/SubjectPreferenceItem.d.ts +1 -0
  80. package/dist/libs/shared/src/apps/subjects/interfaces/ClassificationPreference.d.ts +0 -1
  81. package/dist/libs/shared/src/components/actions/ActionButton.d.ts +4 -0
  82. package/dist/libs/shared/src/components/actions/Actions.d.ts +4 -0
  83. package/dist/libs/shared/src/components/app-link/AppLink.d.ts +4 -0
  84. package/dist/libs/shared/src/components/avatar/Avatar.d.ts +8 -0
  85. package/dist/libs/shared/src/components/clickview-avatar/ClickViewAvatar.d.ts +2 -0
  86. package/dist/libs/shared/src/components/forms/form-buttons/FormButtons.d.ts +3 -0
  87. package/dist/libs/shared/src/components/icon-button/IconButton.d.ts +4 -0
  88. package/dist/libs/shared/src/components/svg-container/SvgContainer.d.ts +2 -1
  89. package/dist/libs/shared/src/components/svgs/clickview-logo/ClickViewLogo.d.ts +1 -0
  90. package/dist/libs/shared/src/components/toggle-switch/ToggleSwitch.d.ts +1 -0
  91. package/dist/libs/shared/src/components/widgets/fixed-widget/FixedWidget.d.ts +4 -0
  92. package/dist/libs/shared/src/constants/WithStatements.d.ts +5 -0
  93. package/dist/libs/shared/src/enums/SettingName.d.ts +2 -1
  94. package/dist/libs/shared/src/flight-requests/PlaylistRequests.d.ts +3 -3
  95. package/dist/libs/shared/src/flight-requests/PreferenceRequests.d.ts +2 -2
  96. package/dist/libs/shared/src/flight-requests/UserRequests.d.ts +1 -0
  97. package/dist/libs/shared/src/images/svg/ImportedSvgs.d.ts +4 -1
  98. package/dist/libs/shared/src/images/svg/objects/index.d.ts +4 -1
  99. package/dist/libs/shared/src/interfaces/models/Avatar.d.ts +3 -0
  100. package/dist/libs/shared/src/interfaces/models/Customer.d.ts +1 -0
  101. package/dist/libs/shared/src/interfaces/models/Playlist.d.ts +1 -0
  102. package/dist/libs/shared/src/interfaces/models/Presentation.d.ts +2 -2
  103. package/dist/libs/shared/src/interfaces/models/User.d.ts +2 -1
  104. package/dist/libs/shared/src/interfaces/models/index.d.ts +2 -0
  105. package/dist/libs/shared/src/utils/UserHelper.d.ts +3 -0
  106. package/dist/projects/lite/src/app.d.ts +2 -1
  107. package/dist/projects/lite/src/apps/playlists/components/playlist-header/PlaylistHeader.d.ts +1 -1
  108. package/dist/projects/lite/src/apps/playlists/views/playlists/PlaylistsView.d.ts +0 -1
  109. package/dist/projects/lite/src/apps/search/utils/FilterHelper.d.ts +1 -1
  110. package/dist/projects/lite/src/apps/user-manager/interfaces/mocks/MockStudent.d.ts +0 -1
  111. package/dist/projects/lite/src/shared/components/user-options/UserOptions.d.ts +1 -0
  112. package/dist/scripts/0-50522b3859.chunk.js +1 -0
  113. package/dist/scripts/0-a394f6ba51.chunk.js +1 -0
  114. package/dist/scripts/0.chunk.js +346 -0
  115. package/dist/scripts/0.chunk.js.map +1 -0
  116. package/dist/scripts/1-5f19a96e0e.chunk.js +17 -0
  117. package/dist/scripts/1.chunk.js +656 -0
  118. package/dist/scripts/1.chunk.js.map +1 -0
  119. package/dist/scripts/10.chunk.js +607 -0
  120. package/dist/scripts/10.chunk.js.map +1 -0
  121. package/dist/scripts/11.chunk.js +380 -0
  122. package/dist/scripts/11.chunk.js.map +1 -0
  123. package/dist/scripts/12-30c98e5929.chunk.js +1 -0
  124. package/dist/scripts/12-b43caafe9d.chunk.js +1 -0
  125. package/dist/scripts/12.chunk.js +434 -0
  126. package/dist/scripts/12.chunk.js.map +1 -0
  127. package/dist/scripts/{13-55a4846990.chunk.js → 13-2f23193421.chunk.js} +1 -1
  128. package/dist/scripts/13-6981d3de8f.chunk.js +1 -0
  129. package/dist/scripts/13.chunk.js +1287 -0
  130. package/dist/scripts/13.chunk.js.map +1 -0
  131. package/dist/scripts/14-6e492c7088.chunk.js +1 -0
  132. package/dist/scripts/14-d110a60532.chunk.js +1 -0
  133. package/dist/scripts/14.chunk.js +739 -0
  134. package/dist/scripts/14.chunk.js.map +1 -0
  135. package/dist/scripts/15-00a639e1e2.chunk.js +1 -0
  136. package/dist/scripts/15-4b21593cdc.chunk.js +1 -0
  137. package/dist/scripts/15.chunk.js +808 -0
  138. package/dist/scripts/15.chunk.js.map +1 -0
  139. package/dist/scripts/16-8c55fc37a5.chunk.js +1 -0
  140. package/dist/scripts/16-fc5fb342de.chunk.js +1 -0
  141. package/dist/scripts/16.chunk.js +482 -0
  142. package/dist/scripts/16.chunk.js.map +1 -0
  143. package/dist/scripts/{17-955a29c4e0.chunk.js → 17-3c1d005bed.chunk.js} +1 -1
  144. package/dist/scripts/17-c95e61dec6.chunk.js +1 -0
  145. package/dist/scripts/17.chunk.js +766 -0
  146. package/dist/scripts/17.chunk.js.map +1 -0
  147. package/dist/scripts/{18-e6136d62c6.chunk.js → 18-0546a616e0.chunk.js} +1 -1
  148. package/dist/scripts/18-2366e66947.chunk.js +1 -0
  149. package/dist/scripts/18.chunk.js +647 -0
  150. package/dist/scripts/18.chunk.js.map +1 -0
  151. package/dist/scripts/{19-880910202d.chunk.js → 19-6166dd7d95.chunk.js} +1 -1
  152. package/dist/scripts/19-67e91b254a.chunk.js +1 -0
  153. package/dist/scripts/19.chunk.js +212 -0
  154. package/dist/scripts/19.chunk.js.map +1 -0
  155. package/dist/scripts/2-7c9b489c8f.chunk.js +1 -0
  156. package/dist/scripts/2-b9b8ae6df7.chunk.js +1 -0
  157. package/dist/scripts/2.chunk.js +859 -0
  158. package/dist/scripts/2.chunk.js.map +1 -0
  159. package/dist/scripts/{20-44be150b5d.chunk.js → 20-3084a104f8.chunk.js} +1 -1
  160. package/dist/scripts/20-6d9f7aa2a4.chunk.js +1 -0
  161. package/dist/scripts/20.chunk.js +1694 -0
  162. package/dist/scripts/20.chunk.js.map +1 -0
  163. package/dist/scripts/{21-0ed98b49d9.chunk.js → 21-2baf62770b.chunk.js} +1 -1
  164. package/dist/scripts/21-5949049d34.chunk.js +1 -0
  165. package/dist/scripts/21.chunk.js +1348 -0
  166. package/dist/scripts/21.chunk.js.map +1 -0
  167. package/dist/scripts/{22-0af19d7662.chunk.js → 22-4610dd4c22.chunk.js} +1 -1
  168. package/dist/scripts/22-d4db8ae24f.chunk.js +1 -0
  169. package/dist/scripts/22.chunk.js +1109 -0
  170. package/dist/scripts/22.chunk.js.map +1 -0
  171. package/dist/scripts/{23-864af936a5.chunk.js → 23-274e435f65.chunk.js} +1 -1
  172. package/dist/scripts/23-e8c0570d4f.chunk.js +1 -0
  173. package/dist/scripts/23.chunk.js +1144 -0
  174. package/dist/scripts/23.chunk.js.map +1 -0
  175. package/dist/scripts/{24-4d8f7bcedd.chunk.js → 24-9a76b40556.chunk.js} +1 -1
  176. package/dist/scripts/24-9c745baf04.chunk.js +1 -0
  177. package/dist/scripts/24.chunk.js +841 -0
  178. package/dist/scripts/24.chunk.js.map +1 -0
  179. package/dist/scripts/{25-8ace9850cd.chunk.js → 25-339ceebd38.chunk.js} +1 -1
  180. package/dist/scripts/25-fc58f37bb7.chunk.js +1 -0
  181. package/dist/scripts/25.chunk.js +956 -0
  182. package/dist/scripts/25.chunk.js.map +1 -0
  183. package/dist/scripts/26-50b8765208.chunk.js +1 -0
  184. package/dist/scripts/26-8779aa5972.chunk.js +1 -0
  185. package/dist/scripts/26.chunk.js +655 -0
  186. package/dist/scripts/26.chunk.js.map +1 -0
  187. package/dist/scripts/27-2e0582e3c5.chunk.js +1 -0
  188. package/dist/scripts/27-6d0e2b1308.chunk.js +1 -0
  189. package/dist/scripts/27.chunk.js +615 -0
  190. package/dist/scripts/27.chunk.js.map +1 -0
  191. package/dist/scripts/{28-fbaeae6ce9.chunk.js → 28-1546a0f0e2.chunk.js} +1 -1
  192. package/dist/scripts/28-604cc4e821.chunk.js +1 -0
  193. package/dist/scripts/28.chunk.js +622 -0
  194. package/dist/scripts/28.chunk.js.map +1 -0
  195. package/dist/scripts/{29-5cc304ffac.chunk.js → 29-77f2322249.chunk.js} +1 -1
  196. package/dist/scripts/29-e48cfa43c6.chunk.js +1 -0
  197. package/dist/scripts/29.chunk.js +721 -0
  198. package/dist/scripts/29.chunk.js.map +1 -0
  199. package/dist/scripts/3-b2e5a75e22.chunk.js +7 -0
  200. package/dist/scripts/3-fd65b2bb74.chunk.js +7 -0
  201. package/dist/scripts/3.chunk.js +18851 -0
  202. package/dist/scripts/3.chunk.js.map +1 -0
  203. package/dist/scripts/{31-b251e1cc9f.chunk.js → 30-926ab83f2b.chunk.js} +1 -1
  204. package/dist/scripts/30-f11047c1dd.chunk.js +1 -0
  205. package/dist/scripts/30.chunk.js +468 -0
  206. package/dist/scripts/30.chunk.js.map +1 -0
  207. package/dist/scripts/31-0d1e7212f8.chunk.js +1 -0
  208. package/dist/scripts/31-b437762b2e.chunk.js +1 -0
  209. package/dist/scripts/31.chunk.js +441 -0
  210. package/dist/scripts/31.chunk.js.map +1 -0
  211. package/dist/scripts/{32-89eee7291c.chunk.js → 32-8be947e35c.chunk.js} +1 -1
  212. package/dist/scripts/32-abadeccf08.chunk.js +1 -0
  213. package/dist/scripts/32.chunk.js +424 -0
  214. package/dist/scripts/32.chunk.js.map +1 -0
  215. package/dist/scripts/{33-fc331f7e45.chunk.js → 33-4acb319295.chunk.js} +1 -1
  216. package/dist/scripts/33-f65a2fba85.chunk.js +1 -0
  217. package/dist/scripts/33.chunk.js +638 -0
  218. package/dist/scripts/33.chunk.js.map +1 -0
  219. package/dist/scripts/{34-7abcf2c85d.chunk.js → 34-891e281505.chunk.js} +1 -1
  220. package/dist/scripts/34-9329d51dc2.chunk.js +1 -0
  221. package/dist/scripts/34.chunk.js +509 -0
  222. package/dist/scripts/34.chunk.js.map +1 -0
  223. package/dist/scripts/35-1536100df2.chunk.js +1 -0
  224. package/dist/scripts/35-9c9e7af68d.chunk.js +1 -0
  225. package/dist/scripts/35.chunk.js +957 -0
  226. package/dist/scripts/35.chunk.js.map +1 -0
  227. package/dist/scripts/{36-4487d884c4.chunk.js → 36-3f65f197f1.chunk.js} +1 -1
  228. package/dist/scripts/36-88f23c1af6.chunk.js +1 -0
  229. package/dist/scripts/36.chunk.js +938 -0
  230. package/dist/scripts/36.chunk.js.map +1 -0
  231. package/dist/scripts/{37-3756ebfbf8.chunk.js → 37-a833585532.chunk.js} +1 -1
  232. package/dist/scripts/37-cac99df2ec.chunk.js +1 -0
  233. package/dist/scripts/37.chunk.js +416 -0
  234. package/dist/scripts/37.chunk.js.map +1 -0
  235. package/dist/scripts/38-cd29a5bb33.chunk.js +1 -0
  236. package/dist/scripts/38-e8e6b09b5d.chunk.js +1 -0
  237. package/dist/scripts/38.chunk.js +482 -0
  238. package/dist/scripts/38.chunk.js.map +1 -0
  239. package/dist/scripts/39-41ed17d1f8.chunk.js +1 -0
  240. package/dist/scripts/39-549a0389b7.chunk.js +1 -0
  241. package/dist/scripts/39.chunk.js +245 -0
  242. package/dist/scripts/39.chunk.js.map +1 -0
  243. package/dist/scripts/4-0b79336993.chunk.js +1 -0
  244. package/dist/scripts/4-b611ebe99d.chunk.js +1 -0
  245. package/dist/scripts/4.chunk.js +403 -0
  246. package/dist/scripts/4.chunk.js.map +1 -0
  247. package/dist/scripts/40-9e01cffd38.chunk.js +1 -0
  248. package/dist/scripts/40-b754c5bf16.chunk.js +1 -0
  249. package/dist/scripts/40.chunk.js +337 -0
  250. package/dist/scripts/40.chunk.js.map +1 -0
  251. package/dist/scripts/{39-40fb064bfa.chunk.js → 41-3c305d8a8a.chunk.js} +1 -1
  252. package/dist/scripts/41-a5c400ad15.chunk.js +1 -0
  253. package/dist/scripts/41.chunk.js +350 -0
  254. package/dist/scripts/41.chunk.js.map +1 -0
  255. package/dist/scripts/{40-06a34b9e0e.chunk.js → 42-0079f90e3f.chunk.js} +1 -1
  256. package/dist/scripts/42-1854788acf.chunk.js +1 -0
  257. package/dist/scripts/42.chunk.js +381 -0
  258. package/dist/scripts/42.chunk.js.map +1 -0
  259. package/dist/scripts/{41-37fb45611f.chunk.js → 43-3d24bccf11.chunk.js} +1 -1
  260. package/dist/scripts/43-6f8279fdc6.chunk.js +1 -0
  261. package/dist/scripts/43.chunk.js +345 -0
  262. package/dist/scripts/43.chunk.js.map +1 -0
  263. package/dist/scripts/{42-2e0a141dd0.chunk.js → 44-067cac7c5c.chunk.js} +1 -1
  264. package/dist/scripts/44-273c2a48ec.chunk.js +1 -0
  265. package/dist/scripts/44.chunk.js +404 -0
  266. package/dist/scripts/44.chunk.js.map +1 -0
  267. package/dist/scripts/{43-3b21cd4021.chunk.js → 45-be8c19698d.chunk.js} +1 -1
  268. package/dist/scripts/45-d417ea05ac.chunk.js +1 -0
  269. package/dist/scripts/45.chunk.js +221 -0
  270. package/dist/scripts/45.chunk.js.map +1 -0
  271. package/dist/scripts/{46-92ef9358e1.chunk.js → 46-c94f8ad682.chunk.js} +1 -1
  272. package/dist/scripts/46-f1a37a04d3.chunk.js +1 -0
  273. package/dist/scripts/46.chunk.js +230 -0
  274. package/dist/scripts/46.chunk.js.map +1 -0
  275. package/dist/scripts/{47-73308b0e36.chunk.js → 47-7ff74e9140.chunk.js} +1 -1
  276. package/dist/scripts/47-c64b41de11.chunk.js +1 -0
  277. package/dist/scripts/47.chunk.js +409 -0
  278. package/dist/scripts/47.chunk.js.map +1 -0
  279. package/dist/scripts/{48-4e1c2af176.chunk.js → 48-277e2c2a38.chunk.js} +1 -1
  280. package/dist/scripts/48-4f33f35994.chunk.js +1 -0
  281. package/dist/scripts/48.chunk.js +272 -0
  282. package/dist/scripts/48.chunk.js.map +1 -0
  283. package/dist/scripts/{49-6860509ec9.chunk.js → 49-0a0303fc9b.chunk.js} +1 -1
  284. package/dist/scripts/49-9a37819019.chunk.js +1 -0
  285. package/dist/scripts/49.chunk.js +267 -0
  286. package/dist/scripts/49.chunk.js.map +1 -0
  287. package/dist/scripts/5-3b52becb23.chunk.js +1 -0
  288. package/dist/scripts/5-926010c03d.chunk.js +1 -0
  289. package/dist/scripts/5.chunk.js +1088 -0
  290. package/dist/scripts/5.chunk.js.map +1 -0
  291. package/dist/scripts/{50-ce92cdc08d.chunk.js → 50-30bb15a353.chunk.js} +1 -1
  292. package/dist/scripts/50-c5e8376786.chunk.js +1 -0
  293. package/dist/scripts/50.chunk.js +225 -0
  294. package/dist/scripts/50.chunk.js.map +1 -0
  295. package/dist/scripts/{51-f7ca510503.chunk.js → 51-020d240398.chunk.js} +1 -1
  296. package/dist/scripts/51-9bbad0bfb6.chunk.js +1 -0
  297. package/dist/scripts/51.chunk.js +318 -0
  298. package/dist/scripts/51.chunk.js.map +1 -0
  299. package/dist/scripts/{52-f1cd5fb0bf.chunk.js → 52-46cde58ace.chunk.js} +1 -1
  300. package/dist/scripts/52-fbaa41eb77.chunk.js +1 -0
  301. package/dist/scripts/52.chunk.js +64 -0
  302. package/dist/scripts/52.chunk.js.map +1 -0
  303. package/dist/scripts/{53-048ecda135.chunk.js → 53-527e7f7403.chunk.js} +1 -1
  304. package/dist/scripts/53-8faa05dc7b.chunk.js +1 -0
  305. package/dist/scripts/53.chunk.js +108 -0
  306. package/dist/scripts/53.chunk.js.map +1 -0
  307. package/dist/scripts/{54-65486573ee.chunk.js → 54-1d0763934e.chunk.js} +1 -1
  308. package/dist/scripts/54-3f6d4400a5.chunk.js +1 -0
  309. package/dist/scripts/54.chunk.js +110 -0
  310. package/dist/scripts/54.chunk.js.map +1 -0
  311. package/dist/scripts/{55-294432b05b.chunk.js → 55-6c166a980c.chunk.js} +1 -1
  312. package/dist/scripts/55-b7831607fd.chunk.js +1 -0
  313. package/dist/scripts/55.chunk.js +162 -0
  314. package/dist/scripts/55.chunk.js.map +1 -0
  315. package/dist/scripts/{56-386250e4ec.chunk.js → 56-5dc77fbbed.chunk.js} +1 -1
  316. package/dist/scripts/56-966257962b.chunk.js +1 -0
  317. package/dist/scripts/56.chunk.js +145 -0
  318. package/dist/scripts/56.chunk.js.map +1 -0
  319. package/dist/scripts/{57-b59de63c5a.chunk.js → 57-6f61e67fbb.chunk.js} +1 -1
  320. package/dist/scripts/57-7716124eee.chunk.js +1 -0
  321. package/dist/scripts/57.chunk.js +139 -0
  322. package/dist/scripts/57.chunk.js.map +1 -0
  323. package/dist/scripts/{58-5b7bee48c2.chunk.js → 58-0da9b42725.chunk.js} +1 -1
  324. package/dist/scripts/58-cbff52ace0.chunk.js +1 -0
  325. package/dist/scripts/58.chunk.js +142 -0
  326. package/dist/scripts/58.chunk.js.map +1 -0
  327. package/dist/scripts/{59-00659eeeca.chunk.js → 59-023ba91f45.chunk.js} +1 -1
  328. package/dist/scripts/59-39caa8ff7e.chunk.js +1 -0
  329. package/dist/scripts/59.chunk.js +173 -0
  330. package/dist/scripts/59.chunk.js.map +1 -0
  331. package/dist/scripts/{5-8cac703d8e.chunk.js → 6-081f3686a7.chunk.js} +1 -1
  332. package/dist/scripts/6-19163a3d76.chunk.js +1 -0
  333. package/dist/scripts/6.chunk.js +406 -0
  334. package/dist/scripts/6.chunk.js.map +1 -0
  335. package/dist/scripts/{60-d2c07fa4ea.chunk.js → 60-1b7fe463bf.chunk.js} +1 -1
  336. package/dist/scripts/60-6b95f83bfc.chunk.js +1 -0
  337. package/dist/scripts/60.chunk.js +160 -0
  338. package/dist/scripts/60.chunk.js.map +1 -0
  339. package/dist/scripts/{61-89b6e187bd.chunk.js → 61-e45710e150.chunk.js} +1 -1
  340. package/dist/scripts/61.chunk.js +98 -0
  341. package/dist/scripts/61.chunk.js.map +1 -0
  342. package/dist/scripts/62.chunk.js +48 -0
  343. package/dist/scripts/62.chunk.js.map +1 -0
  344. package/dist/scripts/63.chunk.js +32 -0
  345. package/dist/scripts/63.chunk.js.map +1 -0
  346. package/dist/scripts/64.chunk.js +29 -0
  347. package/dist/scripts/64.chunk.js.map +1 -0
  348. package/dist/scripts/65.chunk.js +27 -0
  349. package/dist/scripts/65.chunk.js.map +1 -0
  350. package/dist/scripts/66.chunk.js +65 -0
  351. package/dist/scripts/66.chunk.js.map +1 -0
  352. package/dist/scripts/67.chunk.js +67 -0
  353. package/dist/scripts/67.chunk.js.map +1 -0
  354. package/dist/scripts/68.chunk.js +104 -0
  355. package/dist/scripts/68.chunk.js.map +1 -0
  356. package/dist/scripts/69.chunk.js +102 -0
  357. package/dist/scripts/69.chunk.js.map +1 -0
  358. package/dist/scripts/7-49ae7b6074.chunk.js +1 -0
  359. package/dist/scripts/7-65ca87564a.chunk.js +1 -0
  360. package/dist/scripts/7.chunk.js +2614 -0
  361. package/dist/scripts/7.chunk.js.map +1 -0
  362. package/dist/scripts/70.chunk.js +1001 -0
  363. package/dist/scripts/70.chunk.js.map +1 -0
  364. package/dist/scripts/71.chunk.js +36 -0
  365. package/dist/scripts/71.chunk.js.map +1 -0
  366. package/dist/scripts/{8-d64d1cc3c2.chunk.js → 8-23f94941b7.chunk.js} +1 -1
  367. package/dist/scripts/8-cf6e1f3b76.chunk.js +1 -0
  368. package/dist/scripts/8.chunk.js +24 -0
  369. package/dist/scripts/8.chunk.js.map +1 -0
  370. package/dist/scripts/{9-45dbfb578e.chunk.js → 9-11c21b9609.chunk.js} +1 -1
  371. package/dist/scripts/9-593ef0b4f8.chunk.js +1 -0
  372. package/dist/scripts/9.chunk.js +327 -0
  373. package/dist/scripts/9.chunk.js.map +1 -0
  374. package/dist/scripts/bundle-2e43bd8225.min.js +8 -0
  375. package/dist/scripts/bundle-b9ea7224b0.min.js +8 -0
  376. package/dist/scripts/bundle.js +44515 -0
  377. package/dist/scripts/bundle.js.map +1 -0
  378. package/dist/scripts/bundles.json +2 -2
  379. package/dist/scripts/polyfills-69bebbe22a.min.js +1 -0
  380. package/dist/scripts/polyfills-bbe21b4875.min.js +1 -0
  381. package/dist/scripts/polyfills.js +15254 -0
  382. package/dist/scripts/polyfills.js.map +1 -0
  383. package/package.json +3 -3
  384. package/dist/libs/shared/src/apps/content-updates/interfaces/VideoClassificationMapping.d.ts +0 -5
  385. package/dist/libs/shared/src/apps/subjects/components/preferences/progress/PreferenceProgress.d.ts +0 -12
  386. package/dist/projects/lite/src/apps/playlists/interfaces/PlaylistCollectionIdentifier.d.ts +0 -5
  387. package/dist/projects/lite/src/shared/components/avatar/Avatar.d.ts +0 -6
  388. package/dist/scripts/0-06e6d224db.chunk.js +0 -1
  389. package/dist/scripts/1-887b4b1b62.chunk.js +0 -17
  390. package/dist/scripts/12-c3a787026a.chunk.js +0 -1
  391. package/dist/scripts/14-388f94a450.chunk.js +0 -1
  392. package/dist/scripts/15-77df8b5af3.chunk.js +0 -1
  393. package/dist/scripts/16-0ffeb64f54.chunk.js +0 -1
  394. package/dist/scripts/2-fd038171b4.chunk.js +0 -1
  395. package/dist/scripts/26-cdbba9cd45.chunk.js +0 -1
  396. package/dist/scripts/27-e37f663d43.chunk.js +0 -1
  397. package/dist/scripts/3-80777701d5.chunk.js +0 -7
  398. package/dist/scripts/30-eacfd37725.chunk.js +0 -1
  399. package/dist/scripts/35-6c3ad9d973.chunk.js +0 -1
  400. package/dist/scripts/38-dc36b72523.chunk.js +0 -1
  401. package/dist/scripts/4-921a74ad8c.chunk.js +0 -1
  402. package/dist/scripts/44-a689986917.chunk.js +0 -1
  403. package/dist/scripts/45-929a705c77.chunk.js +0 -1
  404. package/dist/scripts/6-176dc103e5.chunk.js +0 -1
  405. package/dist/scripts/7-26644d5b55.chunk.js +0 -1
  406. package/dist/scripts/bundle-697354e29e.min.js +0 -8
  407. package/dist/scripts/polyfills-b6dc96dd56.min.js +0 -1
@@ -1 +1 @@
1
- (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[5],{1017:function(e,t,a){"use strict";var n=a(0),r=a(88),c=a(42),i=a(52),l=a(81),o=a(809),s=a(815),m=a(236);function u(e){var t=e.video;return t.resources&&t.resources.data&&t.resources.data.length?n.createElement("div",{className:e.className},n.createElement("h2",{className:"h4"},"Resources"),t.resources.data.map((function(e,t){return n.createElement("div",{key:t},e.name)}))):n.createElement(n.Fragment,null)}var d=a(178),v=a.n(d),p=a(9),E=a(3),f=a(782),g=a(14),b=a(233),h=a(47),N=a(1181),y=a.n(N);function L(e){var t=g.a.useBasicFetch(b.a.config),a=g.a.useBasicFetch({url:"/api/integrations/token/immersive-reader",key:"immersive:reader:token"});if(!t.data||!a.data)return n.createElement(n.Fragment,null);return e.title||(e.title=p.a.getPhrase("shared.immersiveReader","titleFallback")),n.createElement("div",{className:"".concat(y.a.button," ").concat(e.className||""),onClick:function(){h.a.logUserAction(e.analyticsData,e.analyticsOptions);var t={title:e.title,chunks:[{content:e.text}]},n=a.data,r=n.subdomain,c=n.token;f.launchAsync(c,r,t,{uiZIndex:5e3})}},n.createElement("svg",{viewBox:"0 0 40 37"},n.createElement("path",{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",fill:"#000000"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"})))}var k=a(1182),w=a.n(k);function x(e){var t=e.tags,a=e.className;return t&&t.data&&t.data.length?n.createElement("div",{className:a},n.createElement(l.b,{phrase:"tags"})," ",t.data.map((function(e,t){return n.createElement("span",{className:"badge mr-1 p-1 badge-light",key:t},e.name)}))):n.createElement(n.Fragment,null)}function P(e){var t=e.label,a=e.items,r=e.className;if(!(a&&a.data&&a.data.length))return n.createElement(n.Fragment,null);var c=a.data.map((function(e){return e.name})).join(", ");return n.createElement("div",{className:r},t,": ",c)}function O(e){var t=e.video,a=t.tags,r=t.rating,c=t.productionYear,i=t.productionCompanies,o=t.distributors,s=r&&r.code;return n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"details"})),n.createElement("div",{className:"row no-gutters"},n.createElement("div",{className:"col-3"},s&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"rating",options:{code:s}})),c&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"productionYear",options:{year:c}}))),n.createElement("div",{className:"col-9"},n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","productionCompanies"),items:i,className:"pb-2"}),n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","distributors"),items:o,className:"pb-2"}),n.createElement(x,{tags:a,className:"pb-2"}))))}function C(e){var t,a=e.video;return(null===(t=a)||void 0===t?void 0:t.description)?n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"description"}),n.createElement(L,{text:a.description,title:a.name,className:"pl-2",analyticsOptions:{location:E.j.PlayPage,entity:E.d.Video,actionType:E.n.Click,descriptor:E.b.LaunchImmersiveReader,workflowPhase:E.o.Complete},analyticsData:{id:a.id,type:"description"}})),n.createElement("p",null,a.description)):n.createElement(n.Fragment,null)}function F(e){var t=e.video;return n.createElement(l.a.Provider,{value:"shared.videoDetails"},n.createElement("div",{className:"rounded border px-3 mb-3"},n.createElement(v.a,{autoHeight:!0,autoHeightMax:368},n.createElement("div",{className:"py-3"},n.createElement(O,{video:t}),n.createElement(C,{video:t}),n.createElement("span",{className:"".concat(w.a.showGlance," cursor-pointer"),onClick:e.onClickShowSynopsis,role:"button",tabIndex:0},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.videoDetails",phrase:"showGlance"})))))))}var D=a(12),A=a(50),T=a(226),S=a(1183),_=a.n(S);function j(e){var t=e.interactive,a=function(e){var t=e.owner;return t&&t.name&&t.surname?t.name.substring(0,1)+". "+t.surname:""}(t),r=function(e){var t,a,n,r,c;return null===(c=null===(r=null===(n=null===(a=null===(t=e.owner)||void 0===t?void 0:t.customers)||void 0===a?void 0:a.data)||void 0===n?void 0:n[0])||void 0===r?void 0:r.organisation)||void 0===c?void 0:c.name}(t);return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3"},n.createElement("div",{className:"d-flex align-items-center w-100"},n.createElement(A.a,{className:"svg-container",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:_.a.content},r&&n.createElement("small",null,a&&n.createElement(n.Fragment,null,a,", "),n.createElement("em",null,r)),n.createElement("h3",{className:"h6 mb-0 clamp-2 ".concat(_.a.clamped),title:t.name},t.name),n.createElement(A.a,{className:"svg-container align-middle mr-1",svgName:D.b.Preview}),n.createElement("span",{className:"text-info"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"preview"}))),n.createElement(A.a,{className:"svg-container",svgName:D.b.More,size:A.b.ExtraLarge})))}function I(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.interactives)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"interactives"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.interactives",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.interactives.data.map((function(e){return n.createElement(j,{interactive:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.interactives",phrase:"empty"}))))}var R=a(43),M=a(239),B=a(804),V=a(1184),Y=a.n(V);function H(e){var t=e.clip,a=t.endTime-t.startTime,r=M.a.ToDisplayDuration(1e3*a),c=e.duration/1e3,i=t.startTime/c*100,l=a/c*100,o=n.createElement(R.Tooltip,{id:"tooltip-top"},r);return n.createElement("div",{className:"".concat(Y.a.bar," rounded mt-2")},n.createElement(R.OverlayTrigger,{overlay:o},n.createElement("div",{className:"".concat(Y.a.subBar," bg-primary rounded"),style:{width:"".concat(l,"%"),marginLeft:"".concat(i,"%")}})))}function U(e){var t=e.clip,a=t.endTime-t.startTime;return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3 flex-wrap"},n.createElement("div",{className:"d-flex align-self-center w-100"},n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:Y.a.content},n.createElement("div",{className:"d-flex"},n.createElement("h3",{className:"h6 mb-0 d-inline-block text-truncate",title:t.name},t.name),n.createElement("div",{className:"flex-shrink-0"},n.createElement(B.a,{type:B.b.Duration,data:1e3*a}))),t.description&&n.createElement("p",{className:"".concat(Y.a.clampedDescription," mb-0 clamp-2"),title:t.description},t.description),n.createElement(H,Object.assign({},e))),n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.More,size:A.b.ExtraLarge})))}function Z(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.clips)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.clips",phrase:"clips"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.clips",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.clips.data.map((function(e){return n.createElement(U,{duration:c.duration,clip:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.clips",phrase:"empty"}))))}function K(e){return function(t){var a=n.useCallback(t,[]);n.useEffect((function(){return window.addEventListener(e,a),function(){return window.removeEventListener(e,a)}}),[])}}var z=K("scroll"),G=K("resize"),q=a(879),J=a(13),X=a(6),Q=a(89),W=a(235),$=a(819);function ee(e){var t=e.video,a={application:X.a.DEFAULT,action:J.a.Default.SERIES,args:t.series?[t.series.id,i.a.slugify(t.series.name)]:[]};return n.createElement("div",{className:"mb-2"},n.createElement("h1",{className:"h3 d-inline-block m-0"},!!t.series&&n.createElement(W.a,{video:t,appLink:a}),t.name),!!c.a.isFunction(e.setFavourite)&&n.createElement($.a,{setFavourite:e.setFavourite,video:t,className:"d-inline-block ml-2 align-text-bottom"}))}function te(e){var t=e.video,a=t.rating,r=t.productionYear;return n.createElement("div",null,a&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},a.code),r&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},r))}var ae=a(121);function ne(e){var t="btn btn-light float-right ml-2",a=n.useContext(m.a).getActionAppLink;return n.createElement(l.a.Provider,{value:"shared.playPage"},n.createElement("div",{className:"mt-3 clearfix"},n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createInteractive"})),n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createClip"})),n.createElement(T.a,{svgName:D.b.More,className:t},n.createElement(l.b,{phrase:"more"})),n.createElement(T.a,{svgName:D.b.Share,className:t,appLink:a(e.video,ae.a.Share)},n.createElement(l.b,{phrase:"share"})),n.createElement(T.a,{svgName:D.b.AddToPlaylists,className:t},n.createElement(l.b,{phrase:"addToPlaylist"})),n.createElement(T.a,{svgName:D.b.Plus,className:t},n.createElement(l.b,{phrase:"favourite"}))))}var re=a(783),ce=a(787),ie=a(1185),le=a.n(ie);function oe(e){var t=e.video,a=e.onClickFullDescription;if(!t.glance||!t.glance.content||"text/markdown"!==t.glance.format)return a(),n.createElement(n.Fragment,null);var r=[{className:le.a.topLeft,url:"https://i.imgur.com/3GafOwO.png"},{className:le.a.topRight,url:"https://i.imgur.com/wcNZVth.png"},{className:le.a.bottomLeft,url:"https://i.imgur.com/vUEo7H2.png"},{className:le.a.bottomRight,url:"https://i.imgur.com/R3gcyGY.png"}];return n.createElement("div",{className:"rounded border px-3 position-relative d-flex align-items-center justify-content-center ".concat(le.a.container)},n.createElement("div",{className:"".concat(le.a.content," py-5")},n.createElement("h2",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"videoAtAGlance"})),n.createElement("div",{dangerouslySetInnerHTML:{__html:re(t.glance.content)}}),n.createElement(ce.a,{onClick:e.onClickFullDescription,className:"cursor-pointer d-inline-block"},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"showFullDescription"})))),r.map((function(e,t){return n.createElement("div",{key:t,className:"".concat(e.className," ").concat(le.a.background),style:{backgroundImage:"url('".concat(e.url,"')")}})})))}function se(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,c=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,c=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw c}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return me(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return me(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"a",(function(){return ve}));var ue=function(e){return{application:X.a.DEFAULT,action:J.a.Default.PLAY_VIDEO,args:[e.id,i.a.slugify(e.name)]}},de=function(e){return{application:X.a.DEFAULT,action:J.a.Default.SERIES,args:[e.id,i.a.slugify(e.name)]}};function ve(e){var t=e.video,a=e.relatedVideos,i=se(Object(r.a)(Q.a.WEB_PLAYER_DATA),2)[1],d=se(n.useState(!0),2),v=d[0],p=d[1],E=n.useRef(null),f=n.useCallback((function(e){e&&(E.current=e,g())}),[]),g=n.useMemo((function(){return c.a.throttle(function(e,t){return function(){if(e.current){var a=e.current.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;a.top<-a.height?t("viewportPosition",null):t("viewportPosition",{top:r+a.top,left:n+a.left,width:a.width})}}}(E,i),100,{leading:!0,trailing:!0})}),[]);return z(g),G(g),n.useEffect((function(){return i("isOnPlayPage",!0),function(){i("viewportPosition",null),i("isOnPlayPage",!1)}}),[]),n.createElement(m.a.Provider,{value:{getActionAppLink:q.a}},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(o.a,{appLink:{application:X.a.DASHBOARD,action:J.a.Dashboard.HOME},backToName:"Home"}),n.createElement("button",{className:"btn btn-light"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"classroomMode"}))),n.createElement("div",{className:"embed-responsive embed-responsive-16by9 my-3",ref:f}),n.createElement(ee,{video:t,setFavourite:e.setFavourite}),n.createElement(te,{video:t}),n.createElement(ne,{video:t}),n.createElement("hr",null),v?n.createElement(oe,{video:t,onClickFullDescription:function(){return p(!1)}}):n.createElement(F,{video:t,onClickShowSynopsis:function(){return p(!0)}}),n.createElement(u,{video:t,className:"my-3"}),n.createElement(I,{video:t}),n.createElement(Z,{video:t}),!!a&&n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4 mt-3"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"relatedVideos"})),n.createElement(s.c,{videos:a,getSeriesAppLink:de,getVideoAppLink:ue,setFavourite:e.setFavourite})))}},1181:function(e,t,a){e.exports={button:"_10_KK"}},1182:function(e,t,a){e.exports={showGlance:"_2fhqC"}},1183:function(e,t,a){e.exports={content:"_1D6Hx",clamped:"_2sHZC"}},1184:function(e,t,a){e.exports={content:"_22tRu",clamped:"_LK8Q",clampedDescription:"_18yOL",bar:"_3-kb8",subBar:"_1ROlV"}},1185:function(e,t,a){e.exports={container:"_1XOYA",content:"UcxNO",background:"_3gpaY",topLeft:"_2s7I6",bottomLeft:"_23UKL",topRight:"ec_-l",bottomRight:"_1xMKp"}},795:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(21),r=a(41),c=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};function i(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t),key:"favourite:video:".concat(t,":").concat(e),data:{favouriteVideos:e},type:n.a.PUT,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}function l(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t,"/favouriteVideos/").concat(e),key:"favourite:video:".concat(t,":").concat(e),type:n.a.DELETE,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}var o={favouriteVideos:function(e,t){var a="".concat(r.a.VIDEO_COLLECTION).concat(function(e){return e?"&cursor=".concat(e):""}(t));return{url:"/api/domain/v2/objects/".concat(e,"/favouriteVideos?query=").concat(a),key:"favourite:videos:".concat(e).concat(t?":".concat(t):"")}},updateIsVideoFavourited:function(e,t,a,n,r){return(a?i:l)(e,t,n,r)},isFavourited:function(e,t){var a=t.slice().sort(),n=a.map((function(e){return"id=".concat(e)}));return{url:"/api/domain/v2/objects?query=favouritedBy{id:".concat(e,"}&").concat(n.join("&")),key:"video:is:favourited:".concat(e,":by:id:").concat(a.join(",")),formatData:function(e){var t;if(!(null===(t=e)||void 0===t?void 0:t.length))return e;return e.map((function(e){var t,a,n=e.favouritedBy,r=c(e,["favouritedBy"]);return Object.assign(Object.assign({},r),{isFavourited:!!(null===(a=null===(t=n)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)})}))}}}}},809:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a(9),c=a(50),i=a(51),l=a(12);function o(e){var t=e.backToName,a=e.appLink,o=e.color,s=t?r.a.getPhrase("shared.backButton","backTo",{backToName:t}):r.a.getPhrase("shared.backButton","back"),m="black"===o?"":"text-light";return n.createElement(i.a,{appLink:a,className:"d-inline-flex align-items-center h5 mb-0 ".concat(m)},n.createElement(c.a,{svgName:l.b.ChevronLeft,size:c.b.Medium}),n.createElement("span",{className:"ml-1"},s))}o.defaultProps={color:"black"}},879:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(121),r=a(6),c=a(13);function i(e,t){switch(t){case n.a.AddToPlaylist:return{application:r.a.PLAYLISTS,action:c.a.Playlists.ADD_TO_PLAYLIST,args:[e.id]};case n.a.Share:return{application:r.a.DEFAULT,action:c.a.Default.SHARE,args:[e.id],params:{entityType:"video"}}}}}}]);
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[6],{1023:function(e,t,a){"use strict";var n=a(0),r=a(88),c=a(42),i=a(52),l=a(81),o=a(816),s=a(822),m=a(236);function u(e){var t=e.video;return t.resources&&t.resources.data&&t.resources.data.length?n.createElement("div",{className:e.className},n.createElement("h2",{className:"h4"},"Resources"),t.resources.data.map((function(e,t){return n.createElement("div",{key:t},e.name)}))):n.createElement(n.Fragment,null)}var d=a(180),v=a.n(d),p=a(9),E=a(3),f=a(787),g=a(14),b=a(150),h=a(37),N=a(1187),y=a.n(N);function L(e){var t=g.a.useBasicFetch(b.a.config),a=g.a.useBasicFetch({url:"/api/integrations/token/immersive-reader",key:"immersive:reader:token"});if(!t.data||!a.data)return n.createElement(n.Fragment,null);return e.title||(e.title=p.a.getPhrase("shared.immersiveReader","titleFallback")),n.createElement("div",{className:"".concat(y.a.button," ").concat(e.className||""),onClick:function(){h.a.logUserAction(e.analyticsData,e.analyticsOptions);var t={title:e.title,chunks:[{content:e.text}]},n=a.data,r=n.subdomain,c=n.token;f.launchAsync(c,r,t,{uiZIndex:5e3})}},n.createElement("svg",{viewBox:"0 0 40 37"},n.createElement("path",{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",fill:"#000000"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"})))}var k=a(1188),w=a.n(k);function x(e){var t=e.tags,a=e.className;return t&&t.data&&t.data.length?n.createElement("div",{className:a},n.createElement(l.b,{phrase:"tags"})," ",t.data.map((function(e,t){return n.createElement("span",{className:"badge mr-1 p-1 badge-light",key:t},e.name)}))):n.createElement(n.Fragment,null)}function P(e){var t=e.label,a=e.items,r=e.className;if(!(a&&a.data&&a.data.length))return n.createElement(n.Fragment,null);var c=a.data.map((function(e){return e.name})).join(", ");return n.createElement("div",{className:r},t,": ",c)}function O(e){var t=e.video,a=t.tags,r=t.rating,c=t.productionYear,i=t.productionCompanies,o=t.distributors,s=r&&r.code;return n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"details"})),n.createElement("div",{className:"row no-gutters"},n.createElement("div",{className:"col-3"},s&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"rating",options:{code:s}})),c&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"productionYear",options:{year:c}}))),n.createElement("div",{className:"col-9"},n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","productionCompanies"),items:i,className:"pb-2"}),n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","distributors"),items:o,className:"pb-2"}),n.createElement(x,{tags:a,className:"pb-2"}))))}function C(e){var t,a=e.video;return(null===(t=a)||void 0===t?void 0:t.description)?n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"description"}),n.createElement(L,{text:a.description,title:a.name,className:"pl-2",analyticsOptions:{location:E.j.PlayPage,entity:E.d.Video,actionType:E.n.Click,descriptor:E.b.LaunchImmersiveReader,workflowPhase:E.o.Complete},analyticsData:{id:a.id,type:"description"}})),n.createElement("p",null,a.description)):n.createElement(n.Fragment,null)}function F(e){var t=e.video;return n.createElement(l.a.Provider,{value:"shared.videoDetails"},n.createElement("div",{className:"rounded border px-3 mb-3"},n.createElement(v.a,{autoHeight:!0,autoHeightMax:368},n.createElement("div",{className:"py-3"},n.createElement(O,{video:t}),n.createElement(C,{video:t}),n.createElement("span",{className:"".concat(w.a.showGlance," cursor-pointer"),onClick:e.onClickShowSynopsis,role:"button",tabIndex:0},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.videoDetails",phrase:"showGlance"})))))))}var D=a(12),A=a(50),T=a(228),S=a(1189),_=a.n(S);function j(e){var t=e.interactive,a=function(e){var t=e.owner;return t&&t.name&&t.surname?t.name.substring(0,1)+". "+t.surname:""}(t),r=function(e){var t,a,n,r,c;return null===(c=null===(r=null===(n=null===(a=null===(t=e.owner)||void 0===t?void 0:t.customers)||void 0===a?void 0:a.data)||void 0===n?void 0:n[0])||void 0===r?void 0:r.organisation)||void 0===c?void 0:c.name}(t);return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3"},n.createElement("div",{className:"d-flex align-items-center w-100"},n.createElement(A.a,{className:"svg-container",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:_.a.content},r&&n.createElement("small",null,a&&n.createElement(n.Fragment,null,a,", "),n.createElement("em",null,r)),n.createElement("h3",{className:"h6 mb-0 clamp-2 ".concat(_.a.clamped),title:t.name},t.name),n.createElement(A.a,{className:"svg-container align-middle mr-1",svgName:D.b.Preview}),n.createElement("span",{className:"text-info"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"preview"}))),n.createElement(A.a,{className:"svg-container",svgName:D.b.More,size:A.b.ExtraLarge})))}function I(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.interactives)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"interactives"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.interactives",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.interactives.data.map((function(e){return n.createElement(j,{interactive:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.interactives",phrase:"empty"}))))}var R=a(44),M=a(239),B=a(810),V=a(1190),Y=a.n(V);function H(e){var t=e.clip,a=t.endTime-t.startTime,r=M.a.ToDisplayDuration(1e3*a),c=e.duration/1e3,i=t.startTime/c*100,l=a/c*100,o=n.createElement(R.Tooltip,{id:"tooltip-top"},r);return n.createElement("div",{className:"".concat(Y.a.bar," rounded mt-2")},n.createElement(R.OverlayTrigger,{overlay:o},n.createElement("div",{className:"".concat(Y.a.subBar," bg-primary rounded"),style:{width:"".concat(l,"%"),marginLeft:"".concat(i,"%")}})))}function U(e){var t=e.clip,a=t.endTime-t.startTime;return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3 flex-wrap"},n.createElement("div",{className:"d-flex align-self-center w-100"},n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:Y.a.content},n.createElement("div",{className:"d-flex"},n.createElement("h3",{className:"h6 mb-0 d-inline-block text-truncate",title:t.name},t.name),n.createElement("div",{className:"flex-shrink-0"},n.createElement(B.a,{type:B.b.Duration,data:1e3*a}))),t.description&&n.createElement("p",{className:"".concat(Y.a.clampedDescription," mb-0 clamp-2"),title:t.description},t.description),n.createElement(H,Object.assign({},e))),n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.More,size:A.b.ExtraLarge})))}function Z(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.clips)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.clips",phrase:"clips"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.clips",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.clips.data.map((function(e){return n.createElement(U,{duration:c.duration,clip:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.clips",phrase:"empty"}))))}function K(e){return function(t){var a=n.useCallback(t,[]);n.useEffect((function(){return window.addEventListener(e,a),function(){return window.removeEventListener(e,a)}}),[])}}var z=K("scroll"),G=K("resize"),q=a(887),J=a(13),X=a(6),Q=a(90),W=a(235),$=a(826);function ee(e){var t=e.video,a={application:X.a.DEFAULT,action:J.a.Default.SERIES,args:t.series?[t.series.id,i.a.slugify(t.series.name)]:[]};return n.createElement("div",{className:"mb-2"},n.createElement("h1",{className:"h3 d-inline-block m-0"},!!t.series&&n.createElement(W.a,{video:t,appLink:a}),t.name),!!c.a.isFunction(e.setFavourite)&&n.createElement($.a,{setFavourite:e.setFavourite,video:t,className:"d-inline-block ml-2 align-text-bottom"}))}function te(e){var t=e.video,a=t.rating,r=t.productionYear;return n.createElement("div",null,a&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},a.code),r&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},r))}var ae=a(123);function ne(e){var t="btn btn-light float-right ml-2",a=n.useContext(m.a).getActionAppLink;return n.createElement(l.a.Provider,{value:"shared.playPage"},n.createElement("div",{className:"mt-3 clearfix"},n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createInteractive"})),n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createClip"})),n.createElement(T.a,{svgName:D.b.More,className:t},n.createElement(l.b,{phrase:"more"})),n.createElement(T.a,{svgName:D.b.Share,className:t,appLink:a(e.video,ae.a.Share)},n.createElement(l.b,{phrase:"share"})),n.createElement(T.a,{svgName:D.b.AddToPlaylists,className:t},n.createElement(l.b,{phrase:"addToPlaylist"})),n.createElement(T.a,{svgName:D.b.Plus,className:t},n.createElement(l.b,{phrase:"favourite"}))))}var re=a(788),ce=a(792),ie=a(1191),le=a.n(ie);function oe(e){var t=e.video,a=e.onClickFullDescription;if(!t.glance||!t.glance.content||"text/markdown"!==t.glance.format)return a(),n.createElement(n.Fragment,null);var r=[{className:le.a.topLeft,url:"https://i.imgur.com/3GafOwO.png"},{className:le.a.topRight,url:"https://i.imgur.com/wcNZVth.png"},{className:le.a.bottomLeft,url:"https://i.imgur.com/vUEo7H2.png"},{className:le.a.bottomRight,url:"https://i.imgur.com/R3gcyGY.png"}];return n.createElement("div",{className:"rounded border px-3 position-relative d-flex align-items-center justify-content-center ".concat(le.a.container)},n.createElement("div",{className:"".concat(le.a.content," py-5")},n.createElement("h2",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"videoAtAGlance"})),n.createElement("div",{dangerouslySetInnerHTML:{__html:re(t.glance.content)}}),n.createElement(ce.a,{onClick:e.onClickFullDescription,className:"cursor-pointer d-inline-block"},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"showFullDescription"})))),r.map((function(e,t){return n.createElement("div",{key:t,className:"".concat(e.className," ").concat(le.a.background),style:{backgroundImage:"url('".concat(e.url,"')")}})})))}function se(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,c=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,c=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw c}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return me(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return me(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"a",(function(){return ve}));var ue=function(e){return{application:X.a.DEFAULT,action:J.a.Default.PLAY_VIDEO,args:[e.id,i.a.slugify(e.name)]}},de=function(e){return{application:X.a.DEFAULT,action:J.a.Default.SERIES,args:[e.id,i.a.slugify(e.name)]}};function ve(e){var t=e.video,a=e.relatedVideos,i=se(Object(r.a)(Q.a.WEB_PLAYER_DATA),2)[1],d=se(n.useState(!0),2),v=d[0],p=d[1],E=n.useRef(null),f=n.useCallback((function(e){e&&(E.current=e,g())}),[]),g=n.useMemo((function(){return c.a.throttle(function(e,t){return function(){if(e.current){var a=e.current.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;a.top<-a.height?t("viewportPosition",null):t("viewportPosition",{top:r+a.top,left:n+a.left,width:a.width})}}}(E,i),100,{leading:!0,trailing:!0})}),[]);return z(g),G(g),n.useEffect((function(){return i("isOnPlayPage",!0),function(){i("viewportPosition",null),i("isOnPlayPage",!1)}}),[]),n.createElement(m.a.Provider,{value:{getActionAppLink:q.a}},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(o.a,{appLink:{application:X.a.DASHBOARD,action:J.a.Dashboard.HOME},backToName:"Home"}),n.createElement("button",{className:"btn btn-light"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"classroomMode"}))),n.createElement("div",{className:"embed-responsive embed-responsive-16by9 my-3",ref:f}),n.createElement(ee,{video:t,setFavourite:e.setFavourite}),n.createElement(te,{video:t}),n.createElement(ne,{video:t}),n.createElement("hr",null),v?n.createElement(oe,{video:t,onClickFullDescription:function(){return p(!1)}}):n.createElement(F,{video:t,onClickShowSynopsis:function(){return p(!0)}}),n.createElement(u,{video:t,className:"my-3"}),n.createElement(I,{video:t}),n.createElement(Z,{video:t}),!!a&&n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4 mt-3"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"relatedVideos"})),n.createElement(s.c,{videos:a,getSeriesAppLink:de,getVideoAppLink:ue,setFavourite:e.setFavourite})))}},1187:function(e,t,a){e.exports={button:"_10_KK"}},1188:function(e,t,a){e.exports={showGlance:"_2fhqC"}},1189:function(e,t,a){e.exports={content:"_1D6Hx",clamped:"_2sHZC"}},1190:function(e,t,a){e.exports={content:"_22tRu",clamped:"_LK8Q",clampedDescription:"_18yOL",bar:"_3-kb8",subBar:"_1ROlV"}},1191:function(e,t,a){e.exports={container:"_1XOYA",content:"UcxNO",background:"_3gpaY",topLeft:"_2s7I6",bottomLeft:"_23UKL",topRight:"ec_-l",bottomRight:"_1xMKp"}},800:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(21),r=a(43),c=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};function i(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t),key:"favourite:video:".concat(t,":").concat(e),data:{favouriteVideos:e},type:n.a.PUT,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}function l(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t,"/favouriteVideos/").concat(e),key:"favourite:video:".concat(t,":").concat(e),type:n.a.DELETE,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}var o={favouriteVideos:function(e,t){var a="".concat(r.a.VIDEO_COLLECTION).concat(function(e){return e?"&cursor=".concat(e):""}(t));return{url:"/api/domain/v2/objects/".concat(e,"/favouriteVideos?query=").concat(a),key:"favourite:videos:".concat(e).concat(t?":".concat(t):"")}},updateIsVideoFavourited:function(e,t,a,n,r){return(a?i:l)(e,t,n,r)},isFavourited:function(e,t){var a=t.slice().sort(),n=a.map((function(e){return"id=".concat(e)}));return{url:"/api/domain/v2/objects?query=favouritedBy{id:".concat(e,"}&").concat(n.join("&")),key:"video:is:favourited:".concat(e,":by:id:").concat(a.join(",")),formatData:function(e){var t;if(!(null===(t=e)||void 0===t?void 0:t.length))return e;return e.map((function(e){var t,a,n=e.favouritedBy,r=c(e,["favouritedBy"]);return Object.assign(Object.assign({},r),{isFavourited:!!(null===(a=null===(t=n)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)})}))}}}}},816:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a(9),c=a(50),i=a(51),l=a(12);function o(e){var t=e.backToName,a=e.appLink,o=e.color,s=t?r.a.getPhrase("shared.backButton","backTo",{backToName:t}):r.a.getPhrase("shared.backButton","back"),m="black"===o?"":"text-light";return n.createElement(i.a,{appLink:a,className:"d-inline-flex align-items-center h5 mb-0 ".concat(m)},n.createElement(c.a,{svgName:l.b.ChevronLeft,size:c.b.Medium}),n.createElement("span",{className:"ml-1"},s))}o.defaultProps={color:"black"}},887:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(123),r=a(6),c=a(13);function i(e,t){switch(t){case n.a.AddToPlaylist:return{application:r.a.PLAYLISTS,action:c.a.Playlists.ADD_TO_PLAYLIST,args:[e.id]};case n.a.Share:return{application:r.a.DEFAULT,action:c.a.Default.SHARE,args:[e.id],params:{entityType:"video"}}}}}}]);
@@ -0,0 +1 @@
1
+ (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[6],{1023:function(e,t,a){"use strict";var n=a(0),r=a(88),c=a(42),i=a(52),l=a(81),o=a(816),s=a(822),m=a(236);function u(e){var t=e.video;return t.resources&&t.resources.data&&t.resources.data.length?n.createElement("div",{className:e.className},n.createElement("h2",{className:"h4"},"Resources"),t.resources.data.map((function(e,t){return n.createElement("div",{key:t},e.name)}))):n.createElement(n.Fragment,null)}var d=a(180),v=a.n(d),p=a(9),E=a(3),f=a(787),g=a(14),b=a(150),h=a(37),N=a(1187),y=a.n(N);function L(e){var t=g.a.useBasicFetch(b.a.config),a=g.a.useBasicFetch({url:"/api/integrations/token/immersive-reader",key:"immersive:reader:token"});if(!t.data||!a.data)return n.createElement(n.Fragment,null);return e.title||(e.title=p.a.getPhrase("shared.immersiveReader","titleFallback")),n.createElement("div",{className:"".concat(y.a.button," ").concat(e.className||""),onClick:function(){h.a.logUserAction(e.analyticsData,e.analyticsOptions);var t={title:e.title,chunks:[{content:e.text}]},n=a.data,r=n.subdomain,c=n.token;f.launchAsync(c,r,t,{uiZIndex:5e3})}},n.createElement("svg",{viewBox:"0 0 40 37"},n.createElement("path",{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",fill:"#000000"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"}),n.createElement("path",{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",fill:"#0197F2"})))}var k=a(1188),w=a.n(k);function x(e){var t=e.tags,a=e.className;return t&&t.data&&t.data.length?n.createElement("div",{className:a},n.createElement(l.b,{phrase:"tags"})," ",t.data.map((function(e,t){return n.createElement("span",{className:"badge mr-1 p-1 badge-light",key:t},e.name)}))):n.createElement(n.Fragment,null)}function P(e){var t=e.label,a=e.items,r=e.className;if(!(a&&a.data&&a.data.length))return n.createElement(n.Fragment,null);var c=a.data.map((function(e){return e.name})).join(", ");return n.createElement("div",{className:r},t,": ",c)}function O(e){var t=e.video,a=t.tags,r=t.rating,c=t.productionYear,i=t.productionCompanies,o=t.distributors,s=r&&r.code;return n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"details"})),n.createElement("div",{className:"row no-gutters"},n.createElement("div",{className:"col-3"},s&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"rating",options:{code:s}})),c&&n.createElement("div",{className:"pb-2"},n.createElement(l.b,{phrase:"productionYear",options:{year:c}}))),n.createElement("div",{className:"col-9"},n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","productionCompanies"),items:i,className:"pb-2"}),n.createElement(P,{label:p.a.getPhrase("shared.videoDetails","distributors"),items:o,className:"pb-2"}),n.createElement(x,{tags:a,className:"pb-2"}))))}function C(e){var t,a=e.video;return(null===(t=a)||void 0===t?void 0:t.description)?n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(l.b,{phrase:"description"}),n.createElement(L,{text:a.description,title:a.name,className:"pl-2",analyticsOptions:{location:E.j.PlayPage,entity:E.d.Video,actionType:E.n.Click,descriptor:E.b.LaunchImmersiveReader,workflowPhase:E.o.Complete},analyticsData:{id:a.id,type:"description"}})),n.createElement("p",null,a.description)):n.createElement(n.Fragment,null)}function F(e){var t=e.video;return n.createElement(l.a.Provider,{value:"shared.videoDetails"},n.createElement("div",{className:"rounded border px-3 mb-3"},n.createElement(v.a,{autoHeight:!0,autoHeightMax:368},n.createElement("div",{className:"py-3"},n.createElement(O,{video:t}),n.createElement(C,{video:t}),n.createElement("span",{className:"".concat(w.a.showGlance," cursor-pointer"),onClick:e.onClickShowSynopsis,role:"button",tabIndex:0},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.videoDetails",phrase:"showGlance"})))))))}var D=a(12),A=a(50),T=a(228),S=a(1189),_=a.n(S);function j(e){var t=e.interactive,a=function(e){var t=e.owner;return t&&t.name&&t.surname?t.name.substring(0,1)+". "+t.surname:""}(t),r=function(e){var t,a,n,r,c;return null===(c=null===(r=null===(n=null===(a=null===(t=e.owner)||void 0===t?void 0:t.customers)||void 0===a?void 0:a.data)||void 0===n?void 0:n[0])||void 0===r?void 0:r.organisation)||void 0===c?void 0:c.name}(t);return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3"},n.createElement("div",{className:"d-flex align-items-center w-100"},n.createElement(A.a,{className:"svg-container",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:_.a.content},r&&n.createElement("small",null,a&&n.createElement(n.Fragment,null,a,", "),n.createElement("em",null,r)),n.createElement("h3",{className:"h6 mb-0 clamp-2 ".concat(_.a.clamped),title:t.name},t.name),n.createElement(A.a,{className:"svg-container align-middle mr-1",svgName:D.b.Preview}),n.createElement("span",{className:"text-info"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"preview"}))),n.createElement(A.a,{className:"svg-container",svgName:D.b.More,size:A.b.ExtraLarge})))}function I(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.interactives)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.interactives",phrase:"interactives"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.interactives",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.interactives.data.map((function(e){return n.createElement(j,{interactive:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.interactives",phrase:"empty"}))))}var R=a(44),M=a(239),B=a(810),V=a(1190),Y=a.n(V);function H(e){var t=e.clip,a=t.endTime-t.startTime,r=M.a.ToDisplayDuration(1e3*a),c=e.duration/1e3,i=t.startTime/c*100,l=a/c*100,o=n.createElement(R.Tooltip,{id:"tooltip-top"},r);return n.createElement("div",{className:"".concat(Y.a.bar," rounded mt-2")},n.createElement(R.OverlayTrigger,{overlay:o},n.createElement("div",{className:"".concat(Y.a.subBar," bg-primary rounded"),style:{width:"".concat(l,"%"),marginLeft:"".concat(i,"%")}})))}function U(e){var t=e.clip,a=t.endTime-t.startTime;return n.createElement("div",{className:"border rounded w-33 py-3 px-1 d-flex align-items-center mr-3 flex-wrap"},n.createElement("div",{className:"d-flex align-self-center w-100"},n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.Play,size:A.b.ExtraLarge}),n.createElement("span",{className:Y.a.content},n.createElement("div",{className:"d-flex"},n.createElement("h3",{className:"h6 mb-0 d-inline-block text-truncate",title:t.name},t.name),n.createElement("div",{className:"flex-shrink-0"},n.createElement(B.a,{type:B.b.Duration,data:1e3*a}))),t.description&&n.createElement("p",{className:"".concat(Y.a.clampedDescription," mb-0 clamp-2"),title:t.description},t.description),n.createElement(H,Object.assign({},e))),n.createElement(A.a,{className:"svg-container align-self-center",svgName:D.b.More,size:A.b.ExtraLarge})))}function Z(e){var t,a,r,c=e.video,i=null===(r=null===(a=null===(t=c)||void 0===t?void 0:t.clips)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length;return n.createElement("div",{className:"pb-3"},n.createElement("h2",{className:"h4"},n.createElement(l.b,{namespace:"shared.clips",phrase:"clips"}),n.createElement(T.a,{className:"btn btn-outline-dark ml-3 align-middle",svgName:D.b.Plus},n.createElement(l.b,{namespace:"shared.clips",phrase:"create"}))),n.createElement("div",{className:"d-flex align-items-stretch"},i?c.clips.data.map((function(e){return n.createElement(U,{duration:c.duration,clip:e,key:e.id})})):n.createElement("div",null,n.createElement(A.a,{className:"svg-container mr-2 align-top",svgName:D.b.Star}),n.createElement(l.b,{namespace:"shared.clips",phrase:"empty"}))))}function K(e){return function(t){var a=n.useCallback(t,[]);n.useEffect((function(){return window.addEventListener(e,a),function(){return window.removeEventListener(e,a)}}),[])}}var z=K("scroll"),G=K("resize"),q=a(887),J=a(13),X=a(6),Q=a(90),W=a(235),$=a(826);function ee(e){var t=e.video,a={application:X.a.DEFAULT,action:J.a.Default.SERIES,args:t.series?[t.series.id,i.a.slugify(t.series.name)]:[]};return n.createElement("div",{className:"mb-2"},n.createElement("h1",{className:"h3 d-inline-block m-0"},!!t.series&&n.createElement(W.a,{video:t,appLink:a}),t.name),!!c.a.isFunction(e.setFavourite)&&n.createElement($.a,{setFavourite:e.setFavourite,video:t,className:"d-inline-block ml-2 align-text-bottom"}))}function te(e){var t=e.video,a=t.rating,r=t.productionYear;return n.createElement("div",null,a&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},a.code),r&&n.createElement("span",{className:"badge badge-light p-1 mr-1"},r))}var ae=a(123);function ne(e){var t="btn btn-light float-right ml-2",a=n.useContext(m.a).getActionAppLink;return n.createElement(l.a.Provider,{value:"shared.playPage"},n.createElement("div",{className:"mt-3 clearfix"},n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createInteractive"})),n.createElement(T.a,{svgName:D.b.Plus,className:"btn btn-outline-secondary mr-2"},n.createElement(l.b,{phrase:"createClip"})),n.createElement(T.a,{svgName:D.b.More,className:t},n.createElement(l.b,{phrase:"more"})),n.createElement(T.a,{svgName:D.b.Share,className:t,appLink:a(e.video,ae.a.Share)},n.createElement(l.b,{phrase:"share"})),n.createElement(T.a,{svgName:D.b.AddToPlaylists,className:t},n.createElement(l.b,{phrase:"addToPlaylist"})),n.createElement(T.a,{svgName:D.b.Plus,className:t},n.createElement(l.b,{phrase:"favourite"}))))}var re=a(788),ce=a(792),ie=a(1191),le=a.n(ie);function oe(e){var t=e.video,a=e.onClickFullDescription;if(!t.glance||!t.glance.content||"text/markdown"!==t.glance.format)return a(),n.createElement(n.Fragment,null);var r=[{className:le.a.topLeft,url:"https://i.imgur.com/3GafOwO.png"},{className:le.a.topRight,url:"https://i.imgur.com/wcNZVth.png"},{className:le.a.bottomLeft,url:"https://i.imgur.com/vUEo7H2.png"},{className:le.a.bottomRight,url:"https://i.imgur.com/R3gcyGY.png"}];return n.createElement("div",{className:"rounded border px-3 position-relative d-flex align-items-center justify-content-center ".concat(le.a.container)},n.createElement("div",{className:"".concat(le.a.content," py-5")},n.createElement("h2",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"videoAtAGlance"})),n.createElement("div",{dangerouslySetInnerHTML:{__html:re(t.glance.content)}}),n.createElement(ce.a,{onClick:e.onClickFullDescription,className:"cursor-pointer d-inline-block"},n.createElement("strong",null,n.createElement(l.b,{namespace:"shared.synopsis",phrase:"showFullDescription"})))),r.map((function(e,t){return n.createElement("div",{key:t,className:"".concat(e.className," ").concat(le.a.background),style:{backgroundImage:"url('".concat(e.url,"')")}})})))}function se(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],n=!0,r=!1,c=void 0;try{for(var i,l=e[Symbol.iterator]();!(n=(i=l.next()).done)&&(a.push(i.value),!t||a.length!==t);n=!0);}catch(e){r=!0,c=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw c}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return me(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return me(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,"a",(function(){return ve}));var ue=function(e){return{application:X.a.DEFAULT,action:J.a.Default.PLAY_VIDEO,args:[e.id,i.a.slugify(e.name)]}},de=function(e){return{application:X.a.DEFAULT,action:J.a.Default.SERIES,args:[e.id,i.a.slugify(e.name)]}};function ve(e){var t=e.video,a=e.relatedVideos,i=se(Object(r.a)(Q.a.WEB_PLAYER_DATA),2)[1],d=se(n.useState(!0),2),v=d[0],p=d[1],E=n.useRef(null),f=n.useCallback((function(e){e&&(E.current=e,g())}),[]),g=n.useMemo((function(){return c.a.throttle(function(e,t){return function(){if(e.current){var a=e.current.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;a.top<-a.height?t("viewportPosition",null):t("viewportPosition",{top:r+a.top,left:n+a.left,width:a.width})}}}(E,i),100,{leading:!0,trailing:!0})}),[]);return z(g),G(g),n.useEffect((function(){return i("isOnPlayPage",!0),function(){i("viewportPosition",null),i("isOnPlayPage",!1)}}),[]),n.createElement(m.a.Provider,{value:{getActionAppLink:q.a}},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(o.a,{appLink:{application:X.a.DASHBOARD,action:J.a.Dashboard.HOME},backToName:"Home"}),n.createElement("button",{className:"btn btn-light"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"classroomMode"}))),n.createElement("div",{className:"embed-responsive embed-responsive-16by9 my-3",ref:f}),n.createElement(ee,{video:t,setFavourite:e.setFavourite}),n.createElement(te,{video:t}),n.createElement(ne,{video:t}),n.createElement("hr",null),v?n.createElement(oe,{video:t,onClickFullDescription:function(){return p(!1)}}):n.createElement(F,{video:t,onClickShowSynopsis:function(){return p(!0)}}),n.createElement(u,{video:t,className:"my-3"}),n.createElement(I,{video:t}),n.createElement(Z,{video:t}),!!a&&n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4 mt-3"},n.createElement(l.b,{namespace:"shared.playPage",phrase:"relatedVideos"})),n.createElement(s.c,{videos:a,getSeriesAppLink:de,getVideoAppLink:ue,setFavourite:e.setFavourite})))}},1187:function(e,t,a){e.exports={button:"_10_KK"}},1188:function(e,t,a){e.exports={showGlance:"_2fhqC"}},1189:function(e,t,a){e.exports={content:"_1D6Hx",clamped:"_2sHZC"}},1190:function(e,t,a){e.exports={content:"_22tRu",clamped:"_LK8Q",clampedDescription:"_18yOL",bar:"_3-kb8",subBar:"_1ROlV"}},1191:function(e,t,a){e.exports={container:"_1XOYA",content:"UcxNO",background:"_3gpaY",topLeft:"_2s7I6",bottomLeft:"_23UKL",topRight:"ec_-l",bottomRight:"_1xMKp"}},800:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(21),r=a(43),c=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(a[n[r]]=e[n[r]])}return a};function i(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t),key:"favourite:video:".concat(t,":").concat(e),data:{favouriteVideos:e},type:n.a.PUT,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}function l(e,t,a,r){return{url:"/api/domain/v2/objects/".concat(t,"/favouriteVideos/").concat(e),key:"favourite:video:".concat(t,":").concat(e),type:n.a.DELETE,invalidationKeys:["favourite:videos:".concat(t),"video:is:favourited:".concat(t)],success:a,error:r}}var o={favouriteVideos:function(e,t){var a="".concat(r.a.VIDEO_COLLECTION).concat(function(e){return e?"&cursor=".concat(e):""}(t));return{url:"/api/domain/v2/objects/".concat(e,"/favouriteVideos?query=").concat(a),key:"favourite:videos:".concat(e).concat(t?":".concat(t):"")}},updateIsVideoFavourited:function(e,t,a,n,r){return(a?i:l)(e,t,n,r)},isFavourited:function(e,t){var a=t.slice().sort(),n=a.map((function(e){return"id=".concat(e)}));return{url:"/api/domain/v2/objects?query=favouritedBy{id:".concat(e,"}&").concat(n.join("&")),key:"video:is:favourited:".concat(e,":by:id:").concat(a.join(",")),formatData:function(e){var t;if(!(null===(t=e)||void 0===t?void 0:t.length))return e;return e.map((function(e){var t,a,n=e.favouritedBy,r=c(e,["favouritedBy"]);return Object.assign(Object.assign({},r),{isFavourited:!!(null===(a=null===(t=n)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)})}))}}}}},816:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a(9),c=a(50),i=a(51),l=a(12);function o(e){var t=e.backToName,a=e.appLink,o=e.color,s=t?r.a.getPhrase("shared.backButton","backTo",{backToName:t}):r.a.getPhrase("shared.backButton","back"),m="black"===o?"":"text-light";return n.createElement(i.a,{appLink:a,className:"d-inline-flex align-items-center h5 mb-0 ".concat(m)},n.createElement(c.a,{svgName:l.b.ChevronLeft,size:c.b.Medium}),n.createElement("span",{className:"ml-1"},s))}o.defaultProps={color:"black"}},887:function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(123),r=a(6),c=a(13);function i(e,t){switch(t){case n.a.AddToPlaylist:return{application:r.a.PLAYLISTS,action:c.a.Playlists.ADD_TO_PLAYLIST,args:[e.id]};case n.a.Share:return{application:r.a.DEFAULT,action:c.a.Default.SHARE,args:[e.id],params:{entityType:"video"}}}}}}]);
@@ -0,0 +1,406 @@
1
+ (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[6],{
2
+
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
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
+
10
+ "use strict";
11
+ __webpack_require__.r(__webpack_exports__);
12
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistItem", function() { return PlaylistItem; });
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
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__);
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ var namespace = 'playlists.playlistItem';
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
+ }
46
+
47
+ function PlaylistItem(props) {
48
+ var imageUrl = _utils_ImageHelper__WEBPACK_IMPORTED_MODULE_2__["ImageHelper"].createUrl(props.data.cover && props.data.cover.url, {
49
+ size: _enums_Images__WEBPACK_IMPORTED_MODULE_4__["ImageSize"].Medium,
50
+ resizeType: _enums_Images__WEBPACK_IMPORTED_MODULE_4__["ResizeType"].Cover
51
+ });
52
+ var audiences = props.data.subjectPresentationAudiences && props.data.subjectPresentationAudiences.data;
53
+ var filteredAudiences = audiences && props.presentationAudiences && _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getSortedPresentationAudiences(audiences, props.presentationAudiences);
54
+ var mergedAudience = filteredAudiences && _utils_AudienceHelper__WEBPACK_IMPORTED_MODULE_3__["AudienceHelper"].getMergedPresentationAudienceString(filteredAudiences);
55
+ var count = !!props.showCount && !!props.data.videos && props.data.videos.count;
56
+ var lastUpdated = !!props.showLastUpdated && props.data.contentModifiedDate && moment__WEBPACK_IMPORTED_MODULE_1__["utc"](props.data.contentModifiedDate).fromNow();
57
+ var className = _playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistItem;
58
+ var showImage = !!imageUrl || !!props.showFallbackImage;
59
+ if (showImage) className += " ".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistItemGradient);
60
+ if (!showImage && props.bgColourClassNames) className += " ".concat(getBgColourClassName(props.data, props.bgColourClassNames));
61
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["LanguageNamespaceContext"].Provider, {
62
+ value: namespace
63
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_6__["AppLink"], {
64
+ appLink: props.appLink
65
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_thumbnails_base_BaseThumbnail__WEBPACK_IMPORTED_MODULE_7__["BaseThumbnail"], {
66
+ data: imageUrl,
67
+ className: className
68
+ }, !!props.showFallbackImage && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_8__["ThumbnailFallback"], {
69
+ type: _components_thumbnails_base_ThumbnailFallback__WEBPACK_IMPORTED_MODULE_8__["ThumbnailFallbackType"].Playlist
70
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
71
+ className: "text-white ".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistMetadata)
72
+ }, Number.isInteger(count) && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
73
+ phrase: 'videos',
74
+ options: {
75
+ smartCount: count
76
+ }
77
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("h5", {
78
+ className: 'text-shadow mb-0'
79
+ }, props.data.name), !!lastUpdated && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_text_Text__WEBPACK_IMPORTED_MODULE_5__["Text"], {
80
+ phrase: 'lastUpdated',
81
+ options: {
82
+ timeAgo: lastUpdated
83
+ }
84
+ }), !!audiences && !!audiences.length && !!mergedAudience && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_audience_label_AudienceLabel__WEBPACK_IMPORTED_MODULE_9__["AudienceLabel"], {
85
+ audience: mergedAudience,
86
+ border: 'white'
87
+ })), !!props.showOwner && !!props.imageCdnUrl && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
88
+ className: _playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.ownerAvatarContainer
89
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_PlaylistOwnerAvatar__WEBPACK_IMPORTED_MODULE_10__["PlaylistOwnerAvatar"], {
90
+ playlist: props.data,
91
+ currentUser: props.currentUser,
92
+ imageCdnUrl: props.imageCdnUrl
93
+ })))));
94
+ }
95
+
96
+ /***/ }),
97
+
98
+ /***/ "../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx":
99
+ /*!********************************************************************************************************************************!*\
100
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx ***!
101
+ \********************************************************************************************************************************/
102
+ /*! exports provided: PlaylistOwnerAvatar */
103
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
104
+
105
+ "use strict";
106
+ __webpack_require__.r(__webpack_exports__);
107
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistOwnerAvatar", function() { return PlaylistOwnerAvatar; });
108
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
109
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
110
+ /* harmony import */ var _components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../components/avatar/Avatar */ "../../libs/shared/src/components/avatar/Avatar.tsx");
111
+ /* harmony import */ var _utils_UserHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../utils/UserHelper */ "../../libs/shared/src/utils/UserHelper.ts");
112
+ /* 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");
113
+
114
+
115
+
116
+
117
+ function PlaylistOwnerAvatar(props) {
118
+ var _a, _b;
119
+
120
+ var owner = props.playlist.owner;
121
+ if (!owner || !props.currentUser) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
122
+ var currentUserIsOwner = props.playlist.owner.id === props.currentUser.id; // TODO: Replace this with actual property.
123
+
124
+ var isClickViewPlaylist = !!((_a = props.playlist.cover) === null || _a === void 0 ? void 0 : _a.url);
125
+ if (isClickViewPlaylist) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_clickview_avatar_ClickViewAvatar__WEBPACK_IMPORTED_MODULE_3__["ClickViewAvatar"], null);
126
+ if (currentUserIsOwner) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
127
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__["Avatar"], {
128
+ imageUrl: (_b = owner.avatar) === null || _b === void 0 ? void 0 : _b.url,
129
+ imageCdnUrl: props.imageCdnUrl,
130
+ initials: _utils_UserHelper__WEBPACK_IMPORTED_MODULE_2__["UserHelper"].getInitials(owner.name, owner.surname)
131
+ });
132
+ }
133
+
134
+ /***/ }),
135
+
136
+ /***/ "../../libs/shared/src/apps/playlists/components/playlist-list/playlist.scss":
137
+ /*!**********************************************************************************************************************!*\
138
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/playlist.scss ***!
139
+ \**********************************************************************************************************************/
140
+ /*! no static exports found */
141
+ /***/ (function(module, exports, __webpack_require__) {
142
+
143
+ // extracted by mini-css-extract-plugin
144
+ module.exports = {"playlistItem":"cv--playlistItem--6o0Z2","playlistItemGradient":"cv--playlistItemGradient--2JLPt","playlistMetadata":"cv--playlistMetadata--3MCKL","partialHeading":"cv--partialHeading--13tO6","ownerAvatarContainer":"cv--ownerAvatarContainer--CwjTl"};
145
+
146
+ /***/ }),
147
+
148
+ /***/ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx":
149
+ /*!************************************************************************************************************!*\
150
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx ***!
151
+ \************************************************************************************************************/
152
+ /*! exports provided: AudienceLabel, AudienceLabelList */
153
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
154
+
155
+ "use strict";
156
+ __webpack_require__.r(__webpack_exports__);
157
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceLabel", function() { return AudienceLabel; });
158
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceLabelList", function() { return AudienceLabelList; });
159
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
160
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
161
+ /* harmony import */ var _audience_label_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audience-label.scss */ "../../libs/shared/src/components/audience-label/audience-label.scss");
162
+ /* harmony import */ var _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_audience_label_scss__WEBPACK_IMPORTED_MODULE_1__);
163
+
164
+
165
+ function AudienceLabel(props) {
166
+ if (!props.audience) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
167
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
168
+ className: "border rounded-pill d-inline-block px-2 mt-1 ".concat('border-' + props.border)
169
+ }, props.audience.name);
170
+ }
171
+ function AudienceLabelList(props) {
172
+ if (!props.audiences || !props.audiences.length) return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
173
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, props.audiences.map(function (a, idx) {
174
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
175
+ key: idx,
176
+ className: _audience_label_scss__WEBPACK_IMPORTED_MODULE_1___default.a.audienceLabelListItem
177
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](AudienceLabel, {
178
+ audience: a,
179
+ border: props.border
180
+ }));
181
+ }));
182
+ }
183
+
184
+ /***/ }),
185
+
186
+ /***/ "../../libs/shared/src/components/audience-label/audience-label.scss":
187
+ /*!**************************************************************************************************************!*\
188
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss ***!
189
+ \**************************************************************************************************************/
190
+ /*! no static exports found */
191
+ /***/ (function(module, exports, __webpack_require__) {
192
+
193
+ // extracted by mini-css-extract-plugin
194
+ module.exports = {"audienceLabelListItem":"cv--audienceLabelListItem--2YGVO"};
195
+
196
+ /***/ }),
197
+
198
+ /***/ "../../libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx":
199
+ /*!****************************************************************************************************************!*\
200
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx ***!
201
+ \****************************************************************************************************************/
202
+ /*! exports provided: ClickViewAvatar */
203
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
204
+
205
+ "use strict";
206
+ __webpack_require__.r(__webpack_exports__);
207
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClickViewAvatar", function() { return ClickViewAvatar; });
208
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
209
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
210
+ /* 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");
211
+ /* harmony import */ var _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./clickview-avatar.scss */ "../../libs/shared/src/components/clickview-avatar/clickview-avatar.scss");
212
+ /* harmony import */ var _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__);
213
+
214
+
215
+
216
+ function ClickViewAvatar() {
217
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
218
+ className: _clickview_avatar_scss__WEBPACK_IMPORTED_MODULE_2__["avatar"]
219
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_svgs_clickview_logo_ClickViewLogo__WEBPACK_IMPORTED_MODULE_1__["ClickViewPlayLogo"], null));
220
+ }
221
+
222
+ /***/ }),
223
+
224
+ /***/ "../../libs/shared/src/components/clickview-avatar/clickview-avatar.scss":
225
+ /*!******************************************************************************************************************!*\
226
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/components/clickview-avatar/clickview-avatar.scss ***!
227
+ \******************************************************************************************************************/
228
+ /*! no static exports found */
229
+ /***/ (function(module, exports, __webpack_require__) {
230
+
231
+ // extracted by mini-css-extract-plugin
232
+ module.exports = {"avatar":"cv--avatar--1IfFN"};
233
+
234
+ /***/ }),
235
+
236
+ /***/ "../../libs/shared/src/utils/AudienceHelper.ts":
237
+ /*!****************************************************************************************!*\
238
+ !*** C:/ClickView Projects/clickview/packages/libs/shared/src/utils/AudienceHelper.ts ***!
239
+ \****************************************************************************************/
240
+ /*! exports provided: AudienceHelper */
241
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
242
+
243
+ "use strict";
244
+ __webpack_require__.r(__webpack_exports__);
245
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AudienceHelper", function() { return AudienceHelper; });
246
+ /* 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");
247
+
248
+ var DIGIT_REGEX = /([0-9]+)/ig;
249
+ var NAME_REGEX = /(^\w+)/ig;
250
+ var COUNT_OFFSET = 1;
251
+
252
+ function processAudienceRanges(audienceValues) {
253
+ /**
254
+ * Lookahead by increments of offset
255
+ */
256
+ var offset = COUNT_OFFSET;
257
+ var initialVal, nextVal;
258
+ var isContinguous = false;
259
+ var ranges = []; // Audience values need to be in ascending order
260
+
261
+ audienceValues = audienceValues.sort(function (a, b) {
262
+ return a - b;
263
+ });
264
+ var i, j;
265
+
266
+ for (i = 0; i < audienceValues.length; i++) {
267
+ j = i + 1; // Set our lower boundary to compare against
268
+
269
+ if (!isContinguous) initialVal = audienceValues[i];
270
+ nextVal = audienceValues[j];
271
+ /**
272
+ * Where the next number is also the next incremental value
273
+ * we're going to continue iterating until the next value
274
+ * is no longer contiguos.
275
+ */
276
+
277
+ if (audienceValues[i] + offset === nextVal) {
278
+ isContinguous = true;
279
+ } else if (isContinguous) {
280
+ /**
281
+ * Where we were tracking a contiguous set, format appropriately
282
+ * and store the vals
283
+ */
284
+ ranges.push("".concat(initialVal, " - ").concat(audienceValues[i]));
285
+ isContinguous = false;
286
+ } else {
287
+ /**
288
+ * Where the values arent contiguous, just store the current value
289
+ */
290
+ ranges.push("".concat(audienceValues[i]));
291
+ isContinguous = false;
292
+ }
293
+ }
294
+
295
+ return ranges;
296
+ }
297
+
298
+ var AudienceHelper = {
299
+ /**
300
+ * This is needed to sort an object's audiences, as they are not sorted by the backend.
301
+ * To do this, we take the presentation audiences (sorted) and filter them by the object's
302
+ * audiences, leaving behind a sorted array of object audiences.
303
+ */
304
+ getSortedPresentationAudiences: function getSortedPresentationAudiences(objectAudiences, presentationAudiences) {
305
+ var objectAudienceIds = objectAudiences.map(function (audience) {
306
+ return audience.id.toString();
307
+ });
308
+ /**
309
+ * Remove audiences that aren't relevant for the user's current presentation
310
+ */
311
+
312
+ var filteredAudiences = presentationAudiences.filter(function (presAudience) {
313
+ return objectAudienceIds.includes(presAudience.masterId.toString());
314
+ });
315
+ return filteredAudiences;
316
+ },
317
+ getMergedPresentationAudienceString: function getMergedPresentationAudienceString(presentationAudiences) {
318
+ if (presentationAudiences.length === 1) return presentationAudiences[0];
319
+ /**
320
+ * Create a string with all of the audiences
321
+ */
322
+
323
+ var valuesStr = presentationAudiences.map(function (a) {
324
+ return a.name;
325
+ }).join(',');
326
+ /**
327
+ * Extract all the numbers and matches from the string
328
+ * Where there aren't matches, just return the first Audience.
329
+ */
330
+
331
+ var valMatches = valuesStr.match(DIGIT_REGEX);
332
+ var nameMatches = valuesStr.match(NAME_REGEX);
333
+ if (!valMatches || !nameMatches) return presentationAudiences[0];
334
+ var audienceValues = valMatches.map(function (l) {
335
+ return +l;
336
+ }) || [];
337
+ /**
338
+ * Build set of logical audience ranges
339
+ */
340
+
341
+ var audienceRange = processAudienceRanges(audienceValues);
342
+ /**
343
+ * Get matches name
344
+ */
345
+
346
+ var audienceName = nameMatches[0];
347
+ return {
348
+ name: "".concat(audienceName, " ").concat(audienceRange.join(' , '))
349
+ };
350
+ },
351
+
352
+ /**
353
+ * This function assumes the members array passed in is ordered by `name`.
354
+ */
355
+ sortMembersWithDuplicateNamesByAudience: function sortMembersWithDuplicateNamesByAudience(members) {
356
+ // Returns the lowest level audience out of an array of audience objects by looking at the name
357
+ var getLowestAudience = function getLowestAudience(audiences) {
358
+ if (!audiences.length) return null;
359
+ var lowestAudience;
360
+ var lowestAudienceDigit;
361
+ audiences.forEach(function (audience) {
362
+ var digit = +_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_0__["ArrayHelper"].first(audience.name.match(DIGIT_REGEX));
363
+
364
+ if (!lowestAudience) {
365
+ lowestAudience = audience;
366
+ lowestAudienceDigit = digit;
367
+ return;
368
+ }
369
+
370
+ if (digit > lowestAudienceDigit) lowestAudience = audience;
371
+ });
372
+ return lowestAudience;
373
+ }; // This is used to track how many times a member's name appears in the collection
374
+
375
+
376
+ var nameCountMap = {};
377
+ var sorted = [];
378
+ members.forEach(function (member) {
379
+ if (!nameCountMap[member.name]) {
380
+ nameCountMap[member.name] = 1;
381
+ sorted.push(member);
382
+ return;
383
+ }
384
+
385
+ sorted.push(member);
386
+ nameCountMap[member.name]++; // Take the slice of duplicates that we want to sort by audience
387
+
388
+ var slice = sorted.splice(sorted.length - nameCountMap[member.name]); // Sort the slice by lowest audience
389
+
390
+ var sortedSlice = slice.sort(function (a, b) {
391
+ var firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);
392
+ var secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);
393
+ if (!firstObjLowestAudience && secondObjLowestAudience) return 1;
394
+ if (!secondObjLowestAudience) return -1;
395
+ return firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);
396
+ });
397
+ sorted = sorted.concat(sortedSlice);
398
+ });
399
+ return sorted;
400
+ }
401
+ };
402
+
403
+ /***/ })
404
+
405
+ }]);
406
+ //# sourceMappingURL=6.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file://C:/ClickView Projects/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx","file://C:/ClickView Projects/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx","webpack://@clickview/lite/C:/ClickView Projects/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/playlist.scss?92e3","file://C:/ClickView Projects/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx","webpack://@clickview/lite/C:/ClickView Projects/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss?4cc2","file://C:/ClickView Projects/clickview/packages/libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx","webpack://@clickview/lite/C:/ClickView Projects/clickview/packages/libs/shared/src/components/clickview-avatar/clickview-avatar.scss?009c","file://C:/ClickView Projects/clickview/packages/libs/shared/src/utils/AudienceHelper.ts"],"names":[],"mappings":"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","file":"scripts/6.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport * as moment from 'moment';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { CurrentUser, Playlist, PresentationAudience } from 'libs/shared/interfaces';\r\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\r\nimport { AudienceHelper } from 'libs/shared/utils/AudienceHelper';\r\nimport { ImageSize, ResizeType } from 'libs/shared/enums/Images';\r\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { BaseThumbnail } from 'libs/shared/components/thumbnails/base/BaseThumbnail';\r\nimport { ThumbnailFallback, ThumbnailFallbackType } from 'libs/shared/components/thumbnails/base/ThumbnailFallback';\r\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\r\n\r\nimport { PlaylistOwnerAvatar } from 'libs/shared/apps/playlists/components/playlist-list/PlaylistOwnerAvatar';\r\n\r\nimport styles from './playlist.scss';\r\n\r\nconst namespace = 'playlists.playlistItem';\r\n\r\nfunction getBgColourClassName(playlist: Playlist, classNames: string[]): string {\r\n const bgClassName = classNames[playlist.name.charCodeAt(0) % classNames.length];\r\n\r\n return `${styles.playlistItem} ${bgClassName}`;\r\n}\r\n\r\ninterface PlaylistItemProps {\r\n data: Playlist;\r\n appLink: Core.AppLink;\r\n currentUser?: CurrentUser;\r\n presentationAudiences?: PresentationAudience[];\r\n bgColourClassNames?: string[];\r\n imageCdnUrl?: string;\r\n showCount?: boolean;\r\n showOwner?: boolean;\r\n showLastUpdated?: boolean;\r\n showFallbackImage?: boolean;\r\n}\r\n\r\nexport function PlaylistItem(props: PlaylistItemProps): JSX.Element {\r\n const imageUrl = ImageHelper.createUrl(props.data.cover && props.data.cover.url, {\r\n size: ImageSize.Medium,\r\n resizeType: ResizeType.Cover\r\n });\r\n\r\n const audiences = props.data.subjectPresentationAudiences &&\r\n props.data.subjectPresentationAudiences.data;\r\n\r\n const filteredAudiences = audiences && props.presentationAudiences &&\r\n AudienceHelper.getSortedPresentationAudiences(audiences, props.presentationAudiences);\r\n const mergedAudience = filteredAudiences && AudienceHelper.getMergedPresentationAudienceString(filteredAudiences);\r\n\r\n const count = !!props.showCount && !!props.data.videos && props.data.videos.count;\r\n\r\n const lastUpdated = !!props.showLastUpdated && props.data.contentModifiedDate &&\r\n moment.utc(props.data.contentModifiedDate).fromNow();\r\n\r\n let className = styles.playlistItem;\r\n\r\n const showImage = !!imageUrl || !!props.showFallbackImage;\r\n\r\n if (showImage)\r\n className += ` ${styles.playlistItemGradient}`;\r\n\r\n if (!showImage && props.bgColourClassNames)\r\n className += ` ${getBgColourClassName(props.data, props.bgColourClassNames)}`;\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <AppLink appLink={props.appLink}>\r\n <BaseThumbnail data={imageUrl} className={className}>\r\n {!!props.showFallbackImage && <ThumbnailFallback type={ThumbnailFallbackType.Playlist} />}\r\n <div className={`text-white ${styles.playlistMetadata}`}>\r\n {Number.isInteger(count) &&\r\n <Text phrase='videos' options={{ smartCount: count }} />\r\n }\r\n <h5 className='text-shadow mb-0'>{props.data.name}</h5>\r\n {!!lastUpdated &&\r\n <Text phrase='lastUpdated' options={{ timeAgo: lastUpdated }} />\r\n }\r\n {!!audiences && !!audiences.length && !!mergedAudience &&\r\n <AudienceLabel\r\n audience={mergedAudience}\r\n border='white'\r\n />\r\n }\r\n </div>\r\n {!!props.showOwner && !!props.imageCdnUrl &&\r\n <div className={styles.ownerAvatarContainer}>\r\n <PlaylistOwnerAvatar\r\n playlist={props.data}\r\n currentUser={props.currentUser}\r\n imageCdnUrl={props.imageCdnUrl}\r\n />\r\n </div>\r\n }\r\n </BaseThumbnail>\r\n </AppLink>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Playlist, CurrentUser } from 'libs/shared/interfaces';\r\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\r\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\r\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\r\n\r\ninterface PlaylistOwnerAvatarProps {\r\n playlist: Playlist;\r\n imageCdnUrl: string;\r\n currentUser?: CurrentUser;\r\n}\r\n\r\nexport function PlaylistOwnerAvatar(props: PlaylistOwnerAvatarProps): JSX.Element {\r\n const { owner } = props.playlist;\r\n\r\n if (!owner || !props.currentUser)\r\n return <></>;\r\n\r\n const currentUserIsOwner = props.playlist.owner.id === props.currentUser.id;\r\n\r\n // TODO: Replace this with actual property.\r\n const isClickViewPlaylist = !!props.playlist.cover?.url;\r\n\r\n if (isClickViewPlaylist)\r\n return (\r\n <ClickViewAvatar />\r\n );\r\n\r\n if (currentUserIsOwner)\r\n return <></>;\r\n\r\n return (\r\n <Avatar\r\n imageUrl={owner.avatar?.url}\r\n imageCdnUrl={props.imageCdnUrl}\r\n initials={UserHelper.getInitials(owner.name, owner.surname)}\r\n />\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"playlistItem\":\"cv--playlistItem--6o0Z2\",\"playlistItemGradient\":\"cv--playlistItemGradient--2JLPt\",\"playlistMetadata\":\"cv--playlistMetadata--3MCKL\",\"partialHeading\":\"cv--partialHeading--13tO6\",\"ownerAvatarContainer\":\"cv--ownerAvatarContainer--CwjTl\"};","import * as React from 'react';\r\nimport { Audience } from 'libs/shared/interfaces';\r\n\r\nimport styles from './audience-label.scss';\r\n\r\ntype AudienceBorderColour = 'dark' | 'white';\r\n\r\ninterface AudienceLabelProps {\r\n audience: Audience;\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabel(props: AudienceLabelProps): JSX.Element {\r\n if (!props.audience)\r\n return <></>;\r\n\r\n return (\r\n <div className={`border rounded-pill d-inline-block px-2 mt-1 ${'border-' + props.border}`}>\r\n {props.audience.name}\r\n </div>\r\n );\r\n}\r\n\r\ninterface AudienceLabelListProps {\r\n audiences: Audience[];\r\n border: AudienceBorderColour;\r\n}\r\n\r\nexport function AudienceLabelList(props: AudienceLabelListProps): JSX.Element {\r\n if (!props.audiences || !props.audiences.length)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n {props.audiences.map((a, idx) => (\r\n <span key={idx} className={styles.audienceLabelListItem}>\r\n <AudienceLabel audience={a} border={props.border} />\r\n </span>\r\n ))}\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audienceLabelListItem\":\"cv--audienceLabelListItem--2YGVO\"};","import * as React from 'react';\r\n\r\nimport { ClickViewPlayLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\r\n\r\nimport * as styles from './clickview-avatar.scss';\r\n\r\nexport function ClickViewAvatar(): JSX.Element {\r\n return (\r\n <div className={styles.avatar}>\r\n <ClickViewPlayLogo />\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"cv--avatar--1IfFN\"};","import { HashObject } from 'libs/common/react/interfaces';\r\nimport { Audience, PresentationAudience, BaseObject } from 'libs/shared/interfaces';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\n\r\nconst DIGIT_REGEX = /([0-9]+)/ig;\r\nconst NAME_REGEX = /(^\\w+)/ig;\r\nconst COUNT_OFFSET = 1;\r\n\r\nfunction processAudienceRanges(audienceValues: number[]): string[] {\r\n /**\r\n * Lookahead by increments of offset\r\n */\r\n let offset = COUNT_OFFSET;\r\n\r\n let initialVal, nextVal;\r\n let isContinguous: boolean = false;\r\n\r\n const ranges: string[] = [];\r\n\r\n // Audience values need to be in ascending order\r\n audienceValues = audienceValues.sort((a, b) => a - b);\r\n\r\n let i, j;\r\n\r\n for (i = 0; i < audienceValues.length; i++) {\r\n j = i + 1;\r\n\r\n // Set our lower boundary to compare against\r\n if (!isContinguous)\r\n initialVal = audienceValues[i];\r\n\r\n nextVal = audienceValues[j];\r\n\r\n /**\r\n * Where the next number is also the next incremental value\r\n * we're going to continue iterating until the next value\r\n * is no longer contiguos.\r\n */\r\n if (audienceValues[i] + offset === nextVal) {\r\n isContinguous = true;\r\n\r\n } else if (isContinguous) {\r\n\r\n /**\r\n * Where we were tracking a contiguous set, format appropriately \r\n * and store the vals\r\n */\r\n\r\n ranges.push(`${initialVal} - ${audienceValues[i]}`);\r\n isContinguous = false;\r\n\r\n } else {\r\n\r\n /**\r\n * Where the values arent contiguous, just store the current value\r\n */\r\n\r\n ranges.push(`${audienceValues[i]}`);\r\n isContinguous = false;\r\n }\r\n\r\n }\r\n\r\n return ranges;\r\n}\r\n\r\nexport const AudienceHelper = {\r\n /**\r\n * This is needed to sort an object's audiences, as they are not sorted by the backend.\r\n * To do this, we take the presentation audiences (sorted) and filter them by the object's\r\n * audiences, leaving behind a sorted array of object audiences.\r\n */\r\n getSortedPresentationAudiences(\r\n objectAudiences: Audience[],\r\n presentationAudiences: PresentationAudience[]\r\n ): PresentationAudience[] {\r\n const objectAudienceIds = objectAudiences.map(audience => audience.id.toString());\r\n\r\n /**\r\n * Remove audiences that aren't relevant for the user's current presentation\r\n */\r\n const filteredAudiences = presentationAudiences.filter(presAudience => {\r\n return objectAudienceIds.includes(presAudience.masterId.toString());\r\n });\r\n\r\n return filteredAudiences;\r\n },\r\n\r\n getMergedPresentationAudienceString(presentationAudiences: PresentationAudience[]): PresentationAudience {\r\n if (presentationAudiences.length === 1)\r\n return presentationAudiences[0];\r\n\r\n /**\r\n * Create a string with all of the audiences\r\n */\r\n const valuesStr = presentationAudiences.map(a => a.name).join(',');\r\n\r\n /**\r\n * Extract all the numbers and matches from the string\r\n * Where there aren't matches, just return the first Audience.\r\n */\r\n const valMatches = valuesStr.match(DIGIT_REGEX);\r\n const nameMatches = valuesStr.match(NAME_REGEX);\r\n\r\n if (!valMatches || !nameMatches) return presentationAudiences[0];\r\n\r\n const audienceValues = valMatches\r\n .map(l => +l) || [];\r\n\r\n /**\r\n * Build set of logical audience ranges\r\n */\r\n const audienceRange = processAudienceRanges(audienceValues);\r\n\r\n /**\r\n * Get matches name\r\n */\r\n const audienceName = nameMatches[0];\r\n\r\n return {\r\n name: `${audienceName} ${audienceRange.join(' , ')}`\r\n } as PresentationAudience;\r\n },\r\n\r\n /**\r\n * This function assumes the members array passed in is ordered by `name`.\r\n */\r\n sortMembersWithDuplicateNamesByAudience(members: BaseObject[]): BaseObject[] {\r\n // Returns the lowest level audience out of an array of audience objects by looking at the name\r\n const getLowestAudience = (audiences: Audience[]) => {\r\n if (!audiences.length)\r\n return null;\r\n\r\n let lowestAudience: Audience;\r\n let lowestAudienceDigit: number;\r\n\r\n audiences.forEach(audience => {\r\n const digit = +ArrayHelper.first(audience.name.match(DIGIT_REGEX));\r\n\r\n if (!lowestAudience) {\r\n lowestAudience = audience;\r\n lowestAudienceDigit = digit;\r\n return;\r\n }\r\n\r\n if (digit > lowestAudienceDigit)\r\n lowestAudience = audience;\r\n });\r\n\r\n return lowestAudience;\r\n };\r\n\r\n // This is used to track how many times a member's name appears in the collection\r\n const nameCountMap: HashObject<number> = {};\r\n\r\n let sorted: BaseObject[] = [];\r\n\r\n members.forEach(member => {\r\n if (!nameCountMap[member.name]) {\r\n nameCountMap[member.name] = 1;\r\n sorted.push(member);\r\n return;\r\n }\r\n\r\n sorted.push(member);\r\n nameCountMap[member.name]++;\r\n\r\n // Take the slice of duplicates that we want to sort by audience\r\n const slice = sorted.splice(sorted.length - nameCountMap[member.name]);\r\n\r\n // Sort the slice by lowest audience\r\n const sortedSlice = slice.sort((a: any, b: any) => {\r\n const firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);\r\n const secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);\r\n\r\n if (!firstObjLowestAudience && secondObjLowestAudience)\r\n return 1;\r\n\r\n if (!secondObjLowestAudience)\r\n return -1;\r\n\r\n return firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);\r\n });\r\n\r\n sorted = sorted.concat(sortedSlice);\r\n });\r\n\r\n return sorted;\r\n }\r\n};"],"sourceRoot":""}