@clickview/lite 0.0.23-rc.1 → 0.0.23-rc.2

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 (306) hide show
  1. package/dist/css/12.chunk.css +2 -0
  2. package/dist/css/17.chunk.css +0 -2
  3. package/dist/css/27.chunk.css +1 -3
  4. package/dist/css/28.chunk.css +5 -1
  5. package/dist/css/29.chunk.css +2 -2
  6. package/dist/css/31.chunk.css +1 -1
  7. package/dist/css/4.chunk.css +5 -13
  8. package/dist/css/5.chunk.css +15 -1
  9. package/dist/css/6.chunk.css +2 -8
  10. package/dist/css/lite-app.css +1 -1
  11. package/dist/en.json +1 -1
  12. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +2 -1
  13. package/dist/libs/common/src/react/utils/TextHelper.d.ts +2 -1
  14. package/dist/libs/shared/src/interfaces/app-variables/BaseSearchAppVariables.d.ts +1 -0
  15. package/dist/projects/lite/src/apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown.d.ts +1 -1
  16. package/dist/projects/lite/src/apps/classrooms/views/classroom/partial-loading/PartialClassroomView.d.ts +2 -0
  17. package/dist/projects/lite/src/apps/content-updates/components/classification-banner/ClassificationBanner.d.ts +1 -0
  18. package/dist/projects/lite/src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.d.ts +1 -0
  19. package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +3 -2
  20. package/dist/projects/lite/src/apps/search/constants/SearchAppVariables.d.ts +1 -0
  21. package/dist/projects/lite/src/apps/subjects/views/classification/ClassificationView.d.ts +1 -1
  22. package/dist/projects/lite/src/shared/components/user-options/UserOptions.d.ts +0 -3
  23. package/dist/projects/lite/src/shared/constants/LiteActions.d.ts +2 -0
  24. package/dist/projects/lite/src/shared/layouts/teacher-layout/TeacherLayoutComponent.d.ts +3 -0
  25. package/dist/projects/lite/src/shared/layouts/teacher-layout/TeacherLayoutView.d.ts +4 -0
  26. package/dist/projects/lite/src/shared/utils/LeftNavHelper.d.ts +8 -0
  27. package/dist/projects/lite/src/shared/views/left-nav/CollapsedLeftNav.d.ts +7 -1
  28. package/dist/projects/lite/src/shared/views/left-nav/LeftNavItem.d.ts +1 -1
  29. package/dist/projects/lite/src/shared/views/left-nav/LeftNavView.d.ts +3 -0
  30. package/dist/projects/lite/src/shared/views/share/ShareView.d.ts +1 -1
  31. package/dist/scripts/{0-67b3f46fc8.chunk.js → 0-3ac435a0d9.chunk.js} +1 -1
  32. package/dist/scripts/{1-5f19a96e0e.chunk.js → 1-3f292a18cd.chunk.js} +3 -3
  33. package/dist/scripts/12-bd5994d026.chunk.js +1 -0
  34. package/dist/scripts/13-0f2d2fea7a.chunk.js +1 -0
  35. package/dist/scripts/14-dcef8c860d.chunk.js +1 -0
  36. package/dist/scripts/{15-2011d021b9.chunk.js → 15-4782b350a2.chunk.js} +1 -1
  37. package/dist/scripts/{16-b912423c38.chunk.js → 16-9d15d3f468.chunk.js} +1 -1
  38. package/dist/scripts/17-5b0a1e6d28.chunk.js +1 -0
  39. package/dist/scripts/{18-9d07466886.chunk.js → 18-e0136118cb.chunk.js} +1 -1
  40. package/dist/scripts/{19-c50a6168c8.chunk.js → 19-9d532d87b6.chunk.js} +1 -1
  41. package/dist/scripts/{2-2ff48e444e.chunk.js → 2-e294542d64.chunk.js} +1 -1
  42. package/dist/scripts/{20-581a8ffb67.chunk.js → 20-a60df72914.chunk.js} +1 -1
  43. package/dist/scripts/{21-26262448f5.chunk.js → 21-59933823aa.chunk.js} +1 -1
  44. package/dist/scripts/{22-e6497d8fef.chunk.js → 22-f6e4c8883d.chunk.js} +1 -1
  45. package/dist/scripts/{23-902ca30f69.chunk.js → 23-e2d0905191.chunk.js} +1 -1
  46. package/dist/scripts/{24-4d26b79130.chunk.js → 24-f6d3bb6f39.chunk.js} +1 -1
  47. package/dist/scripts/{25-a38d4e1393.chunk.js → 25-8e6b72fe6e.chunk.js} +1 -1
  48. package/dist/scripts/{26-5a5a45e1d6.chunk.js → 26-5a43c014e9.chunk.js} +1 -1
  49. package/dist/scripts/27-f38b39185c.chunk.js +1 -0
  50. package/dist/scripts/28-5b2ea4de92.chunk.js +1 -0
  51. package/dist/scripts/29-73953da7b5.chunk.js +1 -0
  52. package/dist/scripts/{3-d5221a9d2d.chunk.js → 3-3a39c514e2.chunk.js} +2 -2
  53. package/dist/scripts/{30-e946aed3aa.chunk.js → 30-a4d5655aaf.chunk.js} +1 -1
  54. package/dist/scripts/{31-e8e62cfea0.chunk.js → 31-13ee278855.chunk.js} +1 -1
  55. package/dist/scripts/{32-fc3af72027.chunk.js → 32-ce6806f225.chunk.js} +1 -1
  56. package/dist/scripts/33-b31e36df71.chunk.js +1 -0
  57. package/dist/scripts/{33-7f91f3f41c.chunk.js → 34-cfb99ee559.chunk.js} +1 -1
  58. package/dist/scripts/{34-0f6bc6dc04.chunk.js → 35-1706fa2e22.chunk.js} +1 -1
  59. package/dist/scripts/{35-160480d1da.chunk.js → 36-8c92bb469f.chunk.js} +1 -1
  60. package/dist/scripts/{36-5028449c3b.chunk.js → 37-433c491849.chunk.js} +1 -1
  61. package/dist/scripts/{37-3d565afdb8.chunk.js → 38-a57bf10ece.chunk.js} +1 -1
  62. package/dist/scripts/{38-1797532f35.chunk.js → 39-543287c117.chunk.js} +1 -1
  63. package/dist/scripts/{6-f2c596db09.chunk.js → 4-26346f450b.chunk.js} +1 -1
  64. package/dist/scripts/{39-2fb8001627.chunk.js → 40-c2fe9fa36d.chunk.js} +1 -1
  65. package/dist/scripts/{40-177ad7f140.chunk.js → 41-f8fae002c0.chunk.js} +1 -1
  66. package/dist/scripts/{41-1a7ca66019.chunk.js → 42-6186a3e8d8.chunk.js} +1 -1
  67. package/dist/scripts/{42-41735f1ceb.chunk.js → 43-ebf824a30e.chunk.js} +1 -1
  68. package/dist/scripts/{43-aa46a5f621.chunk.js → 44-ea62f354ed.chunk.js} +1 -1
  69. package/dist/scripts/{44-9f3970130e.chunk.js → 45-b21e7a6721.chunk.js} +1 -1
  70. package/dist/scripts/46-f006a4cb7b.chunk.js +1 -0
  71. package/dist/scripts/{46-f0a73c0963.chunk.js → 47-bcdaef3117.chunk.js} +1 -1
  72. package/dist/scripts/{47-ed0f5b1828.chunk.js → 48-c6bdc4ebbc.chunk.js} +1 -1
  73. package/dist/scripts/{48-e52158a7a0.chunk.js → 49-c6048788d8.chunk.js} +1 -1
  74. package/dist/scripts/{4-8b8017470e.chunk.js → 5-45ea26f2d6.chunk.js} +1 -1
  75. package/dist/scripts/{49-f4dba000fc.chunk.js → 50-0907935873.chunk.js} +1 -1
  76. package/dist/scripts/{50-2facfde5ec.chunk.js → 51-f52d9cf4e5.chunk.js} +1 -1
  77. package/dist/scripts/{51-bc74afef1d.chunk.js → 52-ed2f418592.chunk.js} +1 -1
  78. package/dist/scripts/{52-5670817d08.chunk.js → 53-74f106368f.chunk.js} +1 -1
  79. package/dist/scripts/{53-1386dbe980.chunk.js → 54-ceabccbee0.chunk.js} +1 -1
  80. package/dist/scripts/{54-8a658b2d28.chunk.js → 55-928bc84e37.chunk.js} +1 -1
  81. package/dist/scripts/{55-5fcd7b7d84.chunk.js → 56-155b340ac5.chunk.js} +1 -1
  82. package/dist/scripts/{56-786709a91c.chunk.js → 57-7021c5b171.chunk.js} +1 -1
  83. package/dist/scripts/{57-64e6e879a6.chunk.js → 58-78fb3224c1.chunk.js} +1 -1
  84. package/dist/scripts/{58-cf60d7761f.chunk.js → 59-79ccf1df53.chunk.js} +1 -1
  85. package/dist/scripts/{5-9a2f66f137.chunk.js → 6-610d5469a1.chunk.js} +1 -1
  86. package/dist/scripts/{59-33df1b5304.chunk.js → 60-ba7505371c.chunk.js} +1 -1
  87. package/dist/scripts/{7-f28ac79b56.chunk.js → 7-e93f277b8a.chunk.js} +1 -1
  88. package/dist/scripts/{8-5a53edf883.chunk.js → 8-25ee05ed43.chunk.js} +1 -1
  89. package/dist/scripts/9-583ef67174.chunk.js +1 -0
  90. package/dist/scripts/bundle-f547274977.min.js +8 -0
  91. package/dist/scripts/bundles.json +2 -2
  92. package/dist/scripts/{polyfills-2748f0f59f.min.js → polyfills-21fa14d1c7.min.js} +1 -1
  93. package/package.json +1 -1
  94. package/dist/css/0.chunk.css.map +0 -1
  95. package/dist/css/1.chunk.css +0 -156
  96. package/dist/css/1.chunk.css.map +0 -1
  97. package/dist/css/11.chunk.css +0 -7
  98. package/dist/css/11.chunk.css.map +0 -1
  99. package/dist/css/12.chunk.css.map +0 -1
  100. package/dist/css/13.chunk.css.map +0 -1
  101. package/dist/css/14.chunk.css.map +0 -1
  102. package/dist/css/15.chunk.css.map +0 -1
  103. package/dist/css/16.chunk.css.map +0 -1
  104. package/dist/css/17.chunk.css.map +0 -1
  105. package/dist/css/18.chunk.css.map +0 -1
  106. package/dist/css/2.chunk.css.map +0 -1
  107. package/dist/css/20.chunk.css.map +0 -1
  108. package/dist/css/21.chunk.css.map +0 -1
  109. package/dist/css/22.chunk.css.map +0 -1
  110. package/dist/css/23.chunk.css.map +0 -1
  111. package/dist/css/24.chunk.css.map +0 -1
  112. package/dist/css/25.chunk.css.map +0 -1
  113. package/dist/css/26.chunk.css.map +0 -1
  114. package/dist/css/27.chunk.css.map +0 -1
  115. package/dist/css/28.chunk.css.map +0 -1
  116. package/dist/css/29.chunk.css.map +0 -1
  117. package/dist/css/30.chunk.css +0 -32
  118. package/dist/css/30.chunk.css.map +0 -1
  119. package/dist/css/31.chunk.css.map +0 -1
  120. package/dist/css/32.chunk.css.map +0 -1
  121. package/dist/css/33.chunk.css +0 -8
  122. package/dist/css/33.chunk.css.map +0 -1
  123. package/dist/css/34.chunk.css +0 -6
  124. package/dist/css/34.chunk.css.map +0 -1
  125. package/dist/css/35.chunk.css.map +0 -1
  126. package/dist/css/37.chunk.css +0 -7
  127. package/dist/css/37.chunk.css.map +0 -1
  128. package/dist/css/38.chunk.css +0 -6
  129. package/dist/css/38.chunk.css.map +0 -1
  130. package/dist/css/39.chunk.css +0 -40
  131. package/dist/css/39.chunk.css.map +0 -1
  132. package/dist/css/43.chunk.css +0 -38
  133. package/dist/css/43.chunk.css.map +0 -1
  134. package/dist/css/5.chunk.css.map +0 -1
  135. package/dist/css/52.chunk.css +0 -9
  136. package/dist/css/52.chunk.css.map +0 -1
  137. package/dist/css/6.chunk.css.map +0 -1
  138. package/dist/css/7.chunk.css +0 -94
  139. package/dist/css/7.chunk.css.map +0 -1
  140. package/dist/css/lite-app.css.map +0 -1
  141. package/dist/libs/shared/src/flight-requests/ThemeRequests.d.ts +0 -11
  142. package/dist/projects/lite/src/shared/filters/VerifiedEmailFilter.d.ts +0 -2
  143. package/dist/scripts/0.chunk.js +0 -346
  144. package/dist/scripts/0.chunk.js.map +0 -1
  145. package/dist/scripts/1.chunk.js +0 -656
  146. package/dist/scripts/1.chunk.js.map +0 -1
  147. package/dist/scripts/10.chunk.js +0 -607
  148. package/dist/scripts/10.chunk.js.map +0 -1
  149. package/dist/scripts/11.chunk.js +0 -380
  150. package/dist/scripts/11.chunk.js.map +0 -1
  151. package/dist/scripts/12-850975fdd0.chunk.js +0 -1
  152. package/dist/scripts/12.chunk.js +0 -434
  153. package/dist/scripts/12.chunk.js.map +0 -1
  154. package/dist/scripts/13-12b509ff82.chunk.js +0 -1
  155. package/dist/scripts/13.chunk.js +0 -1287
  156. package/dist/scripts/13.chunk.js.map +0 -1
  157. package/dist/scripts/14-42cdca1382.chunk.js +0 -1
  158. package/dist/scripts/14.chunk.js +0 -739
  159. package/dist/scripts/14.chunk.js.map +0 -1
  160. package/dist/scripts/15.chunk.js +0 -808
  161. package/dist/scripts/15.chunk.js.map +0 -1
  162. package/dist/scripts/16.chunk.js +0 -482
  163. package/dist/scripts/16.chunk.js.map +0 -1
  164. package/dist/scripts/17-5bd773a395.chunk.js +0 -1
  165. package/dist/scripts/17.chunk.js +0 -766
  166. package/dist/scripts/17.chunk.js.map +0 -1
  167. package/dist/scripts/18.chunk.js +0 -647
  168. package/dist/scripts/18.chunk.js.map +0 -1
  169. package/dist/scripts/19.chunk.js +0 -212
  170. package/dist/scripts/19.chunk.js.map +0 -1
  171. package/dist/scripts/2.chunk.js +0 -859
  172. package/dist/scripts/2.chunk.js.map +0 -1
  173. package/dist/scripts/20.chunk.js +0 -1694
  174. package/dist/scripts/20.chunk.js.map +0 -1
  175. package/dist/scripts/21.chunk.js +0 -1348
  176. package/dist/scripts/21.chunk.js.map +0 -1
  177. package/dist/scripts/22.chunk.js +0 -1109
  178. package/dist/scripts/22.chunk.js.map +0 -1
  179. package/dist/scripts/23.chunk.js +0 -1144
  180. package/dist/scripts/23.chunk.js.map +0 -1
  181. package/dist/scripts/24.chunk.js +0 -841
  182. package/dist/scripts/24.chunk.js.map +0 -1
  183. package/dist/scripts/25.chunk.js +0 -956
  184. package/dist/scripts/25.chunk.js.map +0 -1
  185. package/dist/scripts/26.chunk.js +0 -655
  186. package/dist/scripts/26.chunk.js.map +0 -1
  187. package/dist/scripts/27-c77af0f843.chunk.js +0 -1
  188. package/dist/scripts/27.chunk.js +0 -615
  189. package/dist/scripts/27.chunk.js.map +0 -1
  190. package/dist/scripts/28-78b5477954.chunk.js +0 -1
  191. package/dist/scripts/28.chunk.js +0 -622
  192. package/dist/scripts/28.chunk.js.map +0 -1
  193. package/dist/scripts/29-b645582c70.chunk.js +0 -1
  194. package/dist/scripts/29.chunk.js +0 -721
  195. package/dist/scripts/29.chunk.js.map +0 -1
  196. package/dist/scripts/3.chunk.js +0 -18851
  197. package/dist/scripts/3.chunk.js.map +0 -1
  198. package/dist/scripts/30.chunk.js +0 -468
  199. package/dist/scripts/30.chunk.js.map +0 -1
  200. package/dist/scripts/31.chunk.js +0 -441
  201. package/dist/scripts/31.chunk.js.map +0 -1
  202. package/dist/scripts/32.chunk.js +0 -424
  203. package/dist/scripts/32.chunk.js.map +0 -1
  204. package/dist/scripts/33.chunk.js +0 -638
  205. package/dist/scripts/33.chunk.js.map +0 -1
  206. package/dist/scripts/34.chunk.js +0 -509
  207. package/dist/scripts/34.chunk.js.map +0 -1
  208. package/dist/scripts/35.chunk.js +0 -957
  209. package/dist/scripts/35.chunk.js.map +0 -1
  210. package/dist/scripts/36.chunk.js +0 -938
  211. package/dist/scripts/36.chunk.js.map +0 -1
  212. package/dist/scripts/37.chunk.js +0 -416
  213. package/dist/scripts/37.chunk.js.map +0 -1
  214. package/dist/scripts/38.chunk.js +0 -482
  215. package/dist/scripts/38.chunk.js.map +0 -1
  216. package/dist/scripts/39.chunk.js +0 -245
  217. package/dist/scripts/39.chunk.js.map +0 -1
  218. package/dist/scripts/4.chunk.js +0 -403
  219. package/dist/scripts/4.chunk.js.map +0 -1
  220. package/dist/scripts/40.chunk.js +0 -337
  221. package/dist/scripts/40.chunk.js.map +0 -1
  222. package/dist/scripts/41.chunk.js +0 -350
  223. package/dist/scripts/41.chunk.js.map +0 -1
  224. package/dist/scripts/42.chunk.js +0 -381
  225. package/dist/scripts/42.chunk.js.map +0 -1
  226. package/dist/scripts/43.chunk.js +0 -345
  227. package/dist/scripts/43.chunk.js.map +0 -1
  228. package/dist/scripts/44.chunk.js +0 -404
  229. package/dist/scripts/44.chunk.js.map +0 -1
  230. package/dist/scripts/45-b185000e50.chunk.js +0 -1
  231. package/dist/scripts/45.chunk.js +0 -221
  232. package/dist/scripts/45.chunk.js.map +0 -1
  233. package/dist/scripts/46.chunk.js +0 -230
  234. package/dist/scripts/46.chunk.js.map +0 -1
  235. package/dist/scripts/47.chunk.js +0 -409
  236. package/dist/scripts/47.chunk.js.map +0 -1
  237. package/dist/scripts/48.chunk.js +0 -272
  238. package/dist/scripts/48.chunk.js.map +0 -1
  239. package/dist/scripts/49.chunk.js +0 -267
  240. package/dist/scripts/49.chunk.js.map +0 -1
  241. package/dist/scripts/5.chunk.js +0 -1088
  242. package/dist/scripts/5.chunk.js.map +0 -1
  243. package/dist/scripts/50.chunk.js +0 -225
  244. package/dist/scripts/50.chunk.js.map +0 -1
  245. package/dist/scripts/51.chunk.js +0 -318
  246. package/dist/scripts/51.chunk.js.map +0 -1
  247. package/dist/scripts/52.chunk.js +0 -64
  248. package/dist/scripts/52.chunk.js.map +0 -1
  249. package/dist/scripts/53.chunk.js +0 -108
  250. package/dist/scripts/53.chunk.js.map +0 -1
  251. package/dist/scripts/54.chunk.js +0 -110
  252. package/dist/scripts/54.chunk.js.map +0 -1
  253. package/dist/scripts/55.chunk.js +0 -162
  254. package/dist/scripts/55.chunk.js.map +0 -1
  255. package/dist/scripts/56.chunk.js +0 -102
  256. package/dist/scripts/56.chunk.js.map +0 -1
  257. package/dist/scripts/57.chunk.js +0 -145
  258. package/dist/scripts/57.chunk.js.map +0 -1
  259. package/dist/scripts/58.chunk.js +0 -139
  260. package/dist/scripts/58.chunk.js.map +0 -1
  261. package/dist/scripts/59.chunk.js +0 -142
  262. package/dist/scripts/59.chunk.js.map +0 -1
  263. package/dist/scripts/6.chunk.js +0 -406
  264. package/dist/scripts/6.chunk.js.map +0 -1
  265. package/dist/scripts/60-55a4baf6d4.chunk.js +0 -1
  266. package/dist/scripts/60.chunk.js +0 -173
  267. package/dist/scripts/60.chunk.js.map +0 -1
  268. package/dist/scripts/61.chunk.js +0 -160
  269. package/dist/scripts/61.chunk.js.map +0 -1
  270. package/dist/scripts/62.chunk.js +0 -98
  271. package/dist/scripts/62.chunk.js.map +0 -1
  272. package/dist/scripts/63.chunk.js +0 -48
  273. package/dist/scripts/63.chunk.js.map +0 -1
  274. package/dist/scripts/64.chunk.js +0 -32
  275. package/dist/scripts/64.chunk.js.map +0 -1
  276. package/dist/scripts/65.chunk.js +0 -29
  277. package/dist/scripts/65.chunk.js.map +0 -1
  278. package/dist/scripts/66.chunk.js +0 -27
  279. package/dist/scripts/66.chunk.js.map +0 -1
  280. package/dist/scripts/67.chunk.js +0 -65
  281. package/dist/scripts/67.chunk.js.map +0 -1
  282. package/dist/scripts/68.chunk.js +0 -67
  283. package/dist/scripts/68.chunk.js.map +0 -1
  284. package/dist/scripts/69.chunk.js +0 -104
  285. package/dist/scripts/69.chunk.js.map +0 -1
  286. package/dist/scripts/7.chunk.js +0 -2614
  287. package/dist/scripts/7.chunk.js.map +0 -1
  288. package/dist/scripts/70.chunk.js +0 -1001
  289. package/dist/scripts/70.chunk.js.map +0 -1
  290. package/dist/scripts/71.chunk.js +0 -36
  291. package/dist/scripts/71.chunk.js.map +0 -1
  292. package/dist/scripts/8.chunk.js +0 -24
  293. package/dist/scripts/8.chunk.js.map +0 -1
  294. package/dist/scripts/9-5eef11ada3.chunk.js +0 -1
  295. package/dist/scripts/9.chunk.js +0 -327
  296. package/dist/scripts/9.chunk.js.map +0 -1
  297. package/dist/scripts/bundle-bfed5b59b9.min.js +0 -8
  298. package/dist/scripts/bundle-f675e246e2.min.js +0 -8
  299. package/dist/scripts/bundle.js +0 -44557
  300. package/dist/scripts/bundle.js.map +0 -1
  301. package/dist/scripts/polyfills.js +0 -15254
  302. package/dist/scripts/polyfills.js.map +0 -1
  303. /package/dist/css/{35.chunk.css → 36.chunk.css} +0 -0
  304. /package/dist/css/{41.chunk.css → 42.chunk.css} +0 -0
  305. /package/dist/css/{46.chunk.css → 47.chunk.css} +0 -0
  306. /package/dist/css/{48.chunk.css → 49.chunk.css} +0 -0
@@ -1,406 +0,0 @@
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/front-end/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: "".concat(_playlist_scss__WEBPACK_IMPORTED_MODULE_11___default.a.playlistName, " 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/front-end/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/front-end/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","playlistName":"cv--playlistName--1Ukz7","partialHeading":"cv--partialHeading--13tO6","ownerAvatarContainer":"cv--ownerAvatarContainer--CwjTl"};
145
-
146
- /***/ }),
147
-
148
- /***/ "../../libs/shared/src/components/audience-label/AudienceLabel.tsx":
149
- /*!*************************************************************************************************************!*\
150
- !*** C:/ClickView/front-end/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/front-end/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/front-end/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/front-end/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/front-end/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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/components/playlist-list/playlist.scss","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/AudienceLabel.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/audience-label/audience-label.scss","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/clickview-avatar/clickview-avatar.scss","file://C:/ClickView/front-end/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={`${styles.playlistName} 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\",\"playlistName\":\"cv--playlistName--1Ukz7\",\"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":""}
@@ -1 +0,0 @@
1
- (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[60],{1221:function(t,e,r){"use strict";r.r(e),r.d(e,"PlayView",(function(){return p}));var a=r(0),n=r(59),i=r(14),o=r(88),u=r(229),c=r(800),d=r(230),l=r(1023),s=r(37),f=r(3),m=r(90);function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],a=!0,n=!1,i=void 0;try{for(var o,u=t[Symbol.iterator]();!(a=(o=u.next()).done)&&(r.push(o.value),!e||r.length!==e);a=!0);}catch(t){n=!0,i=t}finally{try{a||null==u.return||u.return()}finally{if(n)throw i}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y(t,e)}(t,e)||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 y(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,a=new Array(e);r<e;r++)a[r]=t[r];return a}function p(t){var e=Object(n.useDispatch)(),r=v(Object(o.a)(m.a.WEB_PLAYER_DATA),2),y=r[0],p=r[1],b=i.a.useBasicFetch(d.a.video(t.id)),h=i.a.useBasicFetch(u.a.currentUser),w=i.a.useBasicFetch(!!h.data&&c.a.favouriteVideos(h.data.id));return a.useEffect((function(){var e;if(b.data){p("video",b.data);var r=(null===(e=y.video)||void 0===e?void 0:e.id)!==b.data.id,a=Number.isInteger(t.startTime)&&t.startTime!==y.startTime;(r||a)&&p("startTime",t.startTime||0)}}),[!!b.data,t.startTime]),b.data&&h.data?a.createElement(l.a,{video:b.data,relatedVideos:w.data?w.data.data:null,setFavourite:function(t,r,a){i.a.fetch(e,c.a.updateIsVideoFavourited(t,h.data.id,r,(function(){s.a.logUserAction({id:t},{entity:f.d.Video,actionType:f.n.Favourite,descriptor:r?f.m.On:f.m.Off,location:f.j.PlayPage,workflowPhase:f.o.Complete})}),a))}}):a.createElement(a.Fragment,null)}}}]);