@clickview/reports 0.69.0 → 0.69.1-dev.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 (417) hide show
  1. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  2. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  3. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  4. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  5. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  6. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  10. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  11. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  12. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  16. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  17. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  18. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  19. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  20. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  21. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  22. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  23. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  26. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  27. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  28. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  29. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  30. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  31. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  32. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  33. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  34. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  35. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  36. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  43. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  44. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  45. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  46. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  47. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  48. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  49. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  50. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  51. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  52. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  53. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  54. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  55. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  56. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  57. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  58. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  59. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  60. package/dist/bundles.json +2 -3
  61. package/dist/css/1VpVng8x.chunk.css +1 -0
  62. package/dist/css/BBwBgFf_.chunk.css +1 -0
  63. package/dist/css/BDijM1kt.chunk.css +1 -0
  64. package/dist/css/BMPwvOki.chunk.css +1 -0
  65. package/dist/css/BNt45Kgy.chunk.css +1 -0
  66. package/dist/css/BSGhUWzl.chunk.css +1 -0
  67. package/dist/css/BZ3_uhDP.chunk.css +1 -0
  68. package/dist/css/BaadNO4A.chunk.css +1 -0
  69. package/dist/css/BdUNjJqp.chunk.css +1 -0
  70. package/dist/css/BdeI0FAV.chunk.css +1 -0
  71. package/dist/css/BxcMGr8Y.chunk.css +1 -0
  72. package/dist/css/ByuL_xKJ.chunk.css +1 -0
  73. package/dist/css/C-A0Pj_7.chunk.css +1 -0
  74. package/dist/css/C4jMfPWU.chunk.css +1 -0
  75. package/dist/css/C7XoyEPr.chunk.css +1 -0
  76. package/dist/css/C8sxda3R.chunk.css +1 -0
  77. package/dist/css/CD1qrI1T.chunk.css +1 -0
  78. package/dist/css/CFO--d_R.chunk.css +1 -0
  79. package/dist/css/CX9nw8t8.chunk.css +1 -0
  80. package/dist/css/C_qGRdC2.chunk.css +1 -0
  81. package/dist/css/CdC6ugQR.chunk.css +1 -0
  82. package/dist/css/ClRRGXPb.chunk.css +1 -0
  83. package/dist/css/Cr1bwtZG.chunk.css +1 -0
  84. package/dist/css/DBlPz5Fw.chunk.css +1 -0
  85. package/dist/css/DDnpOnVB.chunk.css +1 -0
  86. package/dist/css/DFZQCLLg.chunk.css +1 -0
  87. package/dist/css/DJwAbl6l.chunk.css +1 -0
  88. package/dist/css/DWjg_0sz.chunk.css +1 -0
  89. package/dist/css/DYV9jjVn.chunk.css +1 -0
  90. package/dist/css/Dgeh4AqU.chunk.css +9 -0
  91. package/dist/css/DlOtoSz0.chunk.css +1 -0
  92. package/dist/css/DlxOgKUu.chunk.css +1 -0
  93. package/dist/css/DwgaDUzz.chunk.css +1 -0
  94. package/dist/css/FPQ_LmXH.chunk.css +1 -0
  95. package/dist/css/H09rC9gw.chunk.css +1 -0
  96. package/dist/css/LAFr2dPT.chunk.css +1 -0
  97. package/dist/css/Pg1TlYG6.chunk.css +1 -0
  98. package/dist/css/PsQn3-kb.chunk.css +1 -0
  99. package/dist/css/alkEuPrr.chunk.css +1 -0
  100. package/dist/css/k4DgCj_g.chunk.css +1 -0
  101. package/dist/en.json +1 -0
  102. package/dist/scripts/5JDMPiCK.chunk.js +2 -0
  103. package/dist/scripts/5JDMPiCK.chunk.js.map +1 -0
  104. package/dist/scripts/5O9SdVRZ.chunk.js +2 -0
  105. package/dist/scripts/5O9SdVRZ.chunk.js.map +1 -0
  106. package/dist/scripts/B8i2s45X.chunk.js +2 -0
  107. package/dist/scripts/B8i2s45X.chunk.js.map +1 -0
  108. package/dist/scripts/BBOfq9my.chunk.js +2 -0
  109. package/dist/scripts/BBOfq9my.chunk.js.map +1 -0
  110. package/dist/scripts/BE7zUNFh.chunk.js +3 -0
  111. package/dist/scripts/BE7zUNFh.chunk.js.map +1 -0
  112. package/dist/scripts/BIbP_ulq.chunk.js +380 -0
  113. package/dist/scripts/BIbP_ulq.chunk.js.map +1 -0
  114. package/dist/scripts/BJe4D9vd.chunk.js +2 -0
  115. package/dist/scripts/BJe4D9vd.chunk.js.map +1 -0
  116. package/dist/scripts/BKx5S6xk.chunk.js +2 -0
  117. package/dist/scripts/BKx5S6xk.chunk.js.map +1 -0
  118. package/dist/scripts/BMba67Uf.chunk.js +2 -0
  119. package/dist/scripts/BMba67Uf.chunk.js.map +1 -0
  120. package/dist/scripts/BUM8Ub4p.chunk.js +2 -0
  121. package/dist/scripts/BUM8Ub4p.chunk.js.map +1 -0
  122. package/dist/scripts/BW-tzVdx.chunk.js +2 -0
  123. package/dist/scripts/BW-tzVdx.chunk.js.map +1 -0
  124. package/dist/scripts/B_1LOG5E.chunk.js +2 -0
  125. package/dist/scripts/B_1LOG5E.chunk.js.map +1 -0
  126. package/dist/scripts/BaHk6QZB.chunk.js +2 -0
  127. package/dist/scripts/BaHk6QZB.chunk.js.map +1 -0
  128. package/dist/scripts/Bbpuxobz.chunk.js +2 -0
  129. package/dist/scripts/Bbpuxobz.chunk.js.map +1 -0
  130. package/dist/scripts/BfG3wCTD.chunk.js +2 -0
  131. package/dist/scripts/BfG3wCTD.chunk.js.map +1 -0
  132. package/dist/scripts/BfkzHBdb.chunk.js +2 -0
  133. package/dist/scripts/BfkzHBdb.chunk.js.map +1 -0
  134. package/dist/scripts/BiDX0yuI.chunk.js +2 -0
  135. package/dist/scripts/BiDX0yuI.chunk.js.map +1 -0
  136. package/dist/scripts/BkcNwg7K.chunk.js +2 -0
  137. package/dist/scripts/BkcNwg7K.chunk.js.map +1 -0
  138. package/dist/scripts/BlAGsOOw.chunk.js +2 -0
  139. package/dist/scripts/BlAGsOOw.chunk.js.map +1 -0
  140. package/dist/scripts/BmScDBcl.chunk.js +2 -0
  141. package/dist/scripts/BmScDBcl.chunk.js.map +1 -0
  142. package/dist/scripts/BnqNywwJ.chunk.js +2 -0
  143. package/dist/scripts/BnqNywwJ.chunk.js.map +1 -0
  144. package/dist/scripts/BrLXFCMV.chunk.js +2 -0
  145. package/dist/scripts/BrLXFCMV.chunk.js.map +1 -0
  146. package/dist/scripts/BsFynggy.chunk.js +2 -0
  147. package/dist/scripts/BsFynggy.chunk.js.map +1 -0
  148. package/dist/scripts/Bt3gUzzG.chunk.js +2 -0
  149. package/dist/scripts/Bt3gUzzG.chunk.js.map +1 -0
  150. package/dist/scripts/BuHHZnEg.chunk.js +2 -0
  151. package/dist/scripts/BuHHZnEg.chunk.js.map +1 -0
  152. package/dist/scripts/ByllnMKt.chunk.js +2 -0
  153. package/dist/scripts/ByllnMKt.chunk.js.map +1 -0
  154. package/dist/scripts/BzBFC5UE.chunk.js +2 -0
  155. package/dist/scripts/BzBFC5UE.chunk.js.map +1 -0
  156. package/dist/scripts/C4382UCA.chunk.js +2 -0
  157. package/dist/scripts/C4382UCA.chunk.js.map +1 -0
  158. package/dist/scripts/C6H2bU7H.chunk.js +2 -0
  159. package/dist/scripts/C6H2bU7H.chunk.js.map +1 -0
  160. package/dist/scripts/C6eAAaNL.chunk.js +2 -0
  161. package/dist/scripts/C6eAAaNL.chunk.js.map +1 -0
  162. package/dist/scripts/CAh5UtFh.chunk.js +2 -0
  163. package/dist/scripts/CAh5UtFh.chunk.js.map +1 -0
  164. package/dist/scripts/CFIWZ5KT.chunk.js +2 -0
  165. package/dist/scripts/CFIWZ5KT.chunk.js.map +1 -0
  166. package/dist/scripts/CKLfLzhr.chunk.js +34 -0
  167. package/dist/scripts/CKLfLzhr.chunk.js.map +1 -0
  168. package/dist/scripts/COgPEQMR.chunk.js +2 -0
  169. package/dist/scripts/COgPEQMR.chunk.js.map +1 -0
  170. package/dist/scripts/CRWOsqvB.chunk.js +2 -0
  171. package/dist/scripts/CRWOsqvB.chunk.js.map +1 -0
  172. package/dist/scripts/CU-I5G45.chunk.js +2 -0
  173. package/dist/scripts/CU-I5G45.chunk.js.map +1 -0
  174. package/dist/scripts/CV5ioe9U.chunk.js +2 -0
  175. package/dist/scripts/CV5ioe9U.chunk.js.map +1 -0
  176. package/dist/scripts/CW7x8M-z.chunk.js +2 -0
  177. package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
  178. package/dist/scripts/CX5q-0jT.chunk.js +2 -0
  179. package/dist/scripts/CX5q-0jT.chunk.js.map +1 -0
  180. package/dist/scripts/CXK1uNgx.chunk.js +2 -0
  181. package/dist/scripts/CXK1uNgx.chunk.js.map +1 -0
  182. package/dist/scripts/CXhesQTd.chunk.js +2 -0
  183. package/dist/scripts/CXhesQTd.chunk.js.map +1 -0
  184. package/dist/scripts/CaiGBx50.chunk.js +2 -0
  185. package/dist/scripts/CaiGBx50.chunk.js.map +1 -0
  186. package/dist/scripts/CbmUUNB4.chunk.js +2 -0
  187. package/dist/scripts/CbmUUNB4.chunk.js.map +1 -0
  188. package/dist/scripts/CdoC9Mtd.chunk.js +2 -0
  189. package/dist/scripts/CdoC9Mtd.chunk.js.map +1 -0
  190. package/dist/scripts/CdzMtbgC.chunk.js +2 -0
  191. package/dist/scripts/CdzMtbgC.chunk.js.map +1 -0
  192. package/dist/scripts/Cl51qIgL.chunk.js +2 -0
  193. package/dist/scripts/Cl51qIgL.chunk.js.map +1 -0
  194. package/dist/scripts/ClLzLF-_.chunk.js +2 -0
  195. package/dist/scripts/ClLzLF-_.chunk.js.map +1 -0
  196. package/dist/scripts/ClcYw2ra.chunk.js +42 -0
  197. package/dist/scripts/ClcYw2ra.chunk.js.map +1 -0
  198. package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
  199. package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
  200. package/dist/scripts/CpwEUwsc.chunk.js +2 -0
  201. package/dist/scripts/CpwEUwsc.chunk.js.map +1 -0
  202. package/dist/scripts/CqSaPgvV.chunk.js +2 -0
  203. package/dist/scripts/CqSaPgvV.chunk.js.map +1 -0
  204. package/dist/scripts/CqyCLTzN.chunk.js +2 -0
  205. package/dist/scripts/CqyCLTzN.chunk.js.map +1 -0
  206. package/dist/scripts/CrlegiVC.chunk.js +2 -0
  207. package/dist/scripts/CrlegiVC.chunk.js.map +1 -0
  208. package/dist/scripts/CsD4Xb6n.chunk.js +2 -0
  209. package/dist/scripts/CsD4Xb6n.chunk.js.map +1 -0
  210. package/dist/scripts/Ct187YvN.chunk.js +2 -0
  211. package/dist/scripts/Ct187YvN.chunk.js.map +1 -0
  212. package/dist/scripts/CwyVC768.chunk.js +2 -0
  213. package/dist/scripts/CwyVC768.chunk.js.map +1 -0
  214. package/dist/scripts/Cy4L5XsI.chunk.js +2 -0
  215. package/dist/scripts/Cy4L5XsI.chunk.js.map +1 -0
  216. package/dist/scripts/CzF-hI_x.chunk.js +2 -0
  217. package/dist/scripts/CzF-hI_x.chunk.js.map +1 -0
  218. package/dist/scripts/D1U_fPVs.chunk.js +2 -0
  219. package/dist/scripts/D1U_fPVs.chunk.js.map +1 -0
  220. package/dist/scripts/D9POXla0.chunk.js +2 -0
  221. package/dist/scripts/D9POXla0.chunk.js.map +1 -0
  222. package/dist/scripts/DAocQXXC.chunk.js +2 -0
  223. package/dist/scripts/DAocQXXC.chunk.js.map +1 -0
  224. package/dist/scripts/DD-2boW1.chunk.js +2 -0
  225. package/dist/scripts/DD-2boW1.chunk.js.map +1 -0
  226. package/dist/scripts/DFhb3ZfO.chunk.js +2 -0
  227. package/dist/scripts/DFhb3ZfO.chunk.js.map +1 -0
  228. package/dist/scripts/DFp9UBZB.chunk.js +4 -0
  229. package/dist/scripts/DFp9UBZB.chunk.js.map +1 -0
  230. package/dist/scripts/DHqmPVfK.chunk.js +2 -0
  231. package/dist/scripts/DHqmPVfK.chunk.js.map +1 -0
  232. package/dist/scripts/DJLuyZJi.chunk.js +2 -0
  233. package/dist/scripts/DJLuyZJi.chunk.js.map +1 -0
  234. package/dist/scripts/DK7va7iQ.chunk.js +2 -0
  235. package/dist/scripts/DK7va7iQ.chunk.js.map +1 -0
  236. package/dist/scripts/DMoPMSgN.chunk.js +2 -0
  237. package/dist/scripts/DMoPMSgN.chunk.js.map +1 -0
  238. package/dist/scripts/DNTR3iW5.chunk.js +2 -0
  239. package/dist/scripts/DNTR3iW5.chunk.js.map +1 -0
  240. package/dist/scripts/DNt9Tv5W.chunk.js +2 -0
  241. package/dist/scripts/DNt9Tv5W.chunk.js.map +1 -0
  242. package/dist/scripts/DQtbfeRV.chunk.js +2 -0
  243. package/dist/scripts/DQtbfeRV.chunk.js.map +1 -0
  244. package/dist/scripts/DRQ39FRr.chunk.js +2 -0
  245. package/dist/scripts/DRQ39FRr.chunk.js.map +1 -0
  246. package/dist/scripts/DTFFRoLz.chunk.js +2 -0
  247. package/dist/scripts/DTFFRoLz.chunk.js.map +1 -0
  248. package/dist/scripts/DU5sOcpt.chunk.js +3 -0
  249. package/dist/scripts/DU5sOcpt.chunk.js.map +1 -0
  250. package/dist/scripts/DWv8V3Lc.chunk.js +2 -0
  251. package/dist/scripts/DWv8V3Lc.chunk.js.map +1 -0
  252. package/dist/scripts/DYFT7QHy.chunk.js +2 -0
  253. package/dist/scripts/DYFT7QHy.chunk.js.map +1 -0
  254. package/dist/scripts/DZAYXeaL.chunk.js +2 -0
  255. package/dist/scripts/DZAYXeaL.chunk.js.map +1 -0
  256. package/dist/scripts/D_Erj5Yn.chunk.js +10 -0
  257. package/dist/scripts/D_Erj5Yn.chunk.js.map +1 -0
  258. package/dist/scripts/DeY3SuCM.chunk.js +2 -0
  259. package/dist/scripts/DeY3SuCM.chunk.js.map +1 -0
  260. package/dist/scripts/DecstRlc.chunk.js +8 -0
  261. package/dist/scripts/DecstRlc.chunk.js.map +1 -0
  262. package/dist/scripts/Df8zbYVK.chunk.js +10 -0
  263. package/dist/scripts/Df8zbYVK.chunk.js.map +1 -0
  264. package/dist/scripts/DgHfAOys.chunk.js +2 -0
  265. package/dist/scripts/DgHfAOys.chunk.js.map +1 -0
  266. package/dist/scripts/DgWHvURU.chunk.js +2 -0
  267. package/dist/scripts/DgWHvURU.chunk.js.map +1 -0
  268. package/dist/scripts/DmGrKXgL.chunk.js +2 -0
  269. package/dist/scripts/DmGrKXgL.chunk.js.map +1 -0
  270. package/dist/scripts/Dp_vnjo0.chunk.js +3 -0
  271. package/dist/scripts/Dp_vnjo0.chunk.js.map +1 -0
  272. package/dist/scripts/DuNeLCIS.chunk.js +15 -0
  273. package/dist/scripts/DuNeLCIS.chunk.js.map +1 -0
  274. package/dist/scripts/DxJzyDBL.chunk.js +2 -0
  275. package/dist/scripts/DxJzyDBL.chunk.js.map +1 -0
  276. package/dist/scripts/DxUueJN7.chunk.js +2 -0
  277. package/dist/scripts/DxUueJN7.chunk.js.map +1 -0
  278. package/dist/scripts/DykFRaNZ.chunk.js +4 -0
  279. package/dist/scripts/DykFRaNZ.chunk.js.map +1 -0
  280. package/dist/scripts/Fd0gT6QK.chunk.js +2 -0
  281. package/dist/scripts/Fd0gT6QK.chunk.js.map +1 -0
  282. package/dist/scripts/MaYDtnoS.chunk.js +2 -0
  283. package/dist/scripts/MaYDtnoS.chunk.js.map +1 -0
  284. package/dist/scripts/T4Chmiqz.chunk.js +2 -0
  285. package/dist/scripts/T4Chmiqz.chunk.js.map +1 -0
  286. package/dist/scripts/UWjf2h5X.chunk.js +2 -0
  287. package/dist/scripts/UWjf2h5X.chunk.js.map +1 -0
  288. package/dist/scripts/VSmYRJOj.chunk.js +2 -0
  289. package/dist/scripts/VSmYRJOj.chunk.js.map +1 -0
  290. package/dist/scripts/W5zJjbqu.chunk.js +2 -0
  291. package/dist/scripts/W5zJjbqu.chunk.js.map +1 -0
  292. package/dist/scripts/YDhSgJI6.chunk.js +2 -0
  293. package/dist/scripts/YDhSgJI6.chunk.js.map +1 -0
  294. package/dist/scripts/Yi67NERS.chunk.js +2 -0
  295. package/dist/scripts/Yi67NERS.chunk.js.map +1 -0
  296. package/dist/scripts/app-BqRx5tK8.js +228 -0
  297. package/dist/scripts/app-BqRx5tK8.js.map +1 -0
  298. package/dist/scripts/cRQEJA0-.chunk.js +2 -0
  299. package/dist/scripts/cRQEJA0-.chunk.js.map +1 -0
  300. package/dist/scripts/g3bqr4mt.chunk.js +6 -0
  301. package/dist/scripts/g3bqr4mt.chunk.js.map +1 -0
  302. package/dist/scripts/h4z9gHMh.chunk.js +2 -0
  303. package/dist/scripts/h4z9gHMh.chunk.js.map +1 -0
  304. package/dist/scripts/kGI4LAzn.chunk.js +6 -0
  305. package/dist/scripts/kGI4LAzn.chunk.js.map +1 -0
  306. package/dist/scripts/kt1K5Xlc.chunk.js +2 -0
  307. package/dist/scripts/kt1K5Xlc.chunk.js.map +1 -0
  308. package/dist/scripts/mdJqhxeb.chunk.js +2 -0
  309. package/dist/scripts/mdJqhxeb.chunk.js.map +1 -0
  310. package/dist/scripts/sFV5nxD4.chunk.js +2 -0
  311. package/dist/scripts/sFV5nxD4.chunk.js.map +1 -0
  312. package/dist/scripts/tCFcWStO.chunk.js +2 -0
  313. package/dist/scripts/tCFcWStO.chunk.js.map +1 -0
  314. package/dist/scripts/wND_WD0i.chunk.js +2 -0
  315. package/dist/scripts/wND_WD0i.chunk.js.map +1 -0
  316. package/dist/scripts/xkqdG021.chunk.js +2 -0
  317. package/dist/scripts/xkqdG021.chunk.js.map +1 -0
  318. package/dist/scripts/zaMwD-xl.chunk.js +3 -0
  319. package/dist/scripts/zaMwD-xl.chunk.js.map +1 -0
  320. package/package.json +5 -3
  321. package/typings/utils/imports.d.ts +1 -1
  322. package/dist/css/1103-reports-d3d5cc00db.chunk.css +0 -31
  323. package/dist/css/1456-reports-4a5871a275.chunk.css +0 -9
  324. package/dist/css/1648-reports-012456ba48.chunk.css +0 -2
  325. package/dist/css/209-reports-cdae99d0ee.chunk.css +0 -11
  326. package/dist/css/2150-reports-84ec0e9770.chunk.css +0 -4
  327. package/dist/css/2217-reports-74dec0a3fe.chunk.css +0 -32
  328. package/dist/css/2997-reports-e08318f14b.chunk.css +0 -9
  329. package/dist/css/4582-reports-d3d5cc00db.chunk.css +0 -31
  330. package/dist/css/5304-reports-22c2d8d635.chunk.css +0 -9
  331. package/dist/css/6007-reports-5ba77c55a3.chunk.css +0 -8
  332. package/dist/css/6031-reports-d558076846.chunk.css +0 -6
  333. package/dist/css/6356-reports-8c5b220bf6.chunk.css +0 -1
  334. package/dist/css/6546-reports-f190450b10.chunk.css +0 -60
  335. package/dist/css/6811-reports-baf2e97e71.chunk.css +0 -35
  336. package/dist/css/7723-reports-8c6d3c414b.chunk.css +0 -4
  337. package/dist/css/7747-reports-2d9e191b5a.chunk.css +0 -12
  338. package/dist/css/8087-reports-cfe23ba648.chunk.css +0 -10
  339. package/dist/css/8294-reports-c797263ac2.chunk.css +0 -1
  340. package/dist/css/8418-reports-0ada3f3ce2.chunk.css +0 -29
  341. package/dist/css/8450-reports-06493dfde5.chunk.css +0 -9
  342. package/dist/css/8622-reports-9e8970cc7f.chunk.css +0 -8
  343. package/dist/css/8839-reports-8e46644943.chunk.css +0 -1
  344. package/dist/css/8989-reports-92b4f1dde8.chunk.css +0 -8
  345. package/dist/css/9059-reports-a2ac630ebc.chunk.css +0 -35
  346. package/dist/css/9285-reports-5b9af8380f.chunk.css +0 -13
  347. package/dist/css/9661-reports-7435e94a85.chunk.css +0 -4
  348. package/dist/css/9822-reports-a1db1900c7.chunk.css +0 -8
  349. package/dist/css/9949-reports-f22fa2b407.chunk.css +0 -15
  350. package/dist/css/reports-app-b4c4ec5632.css +0 -32
  351. package/dist/languages/en.json +0 -1
  352. package/dist/scripts/1103-d77d388f5b-reports.chunk.js +0 -1
  353. package/dist/scripts/1177-7cf7817e74-reports.chunk.js +0 -1
  354. package/dist/scripts/1456-019d93e620-reports.chunk.js +0 -1
  355. package/dist/scripts/1648-e892604f5a-reports.chunk.js +0 -1
  356. package/dist/scripts/1934-ca8497c768-reports.chunk.js +0 -2
  357. package/dist/scripts/1934-ca8497c768-reports.chunk.js.LICENSE.txt +0 -9
  358. package/dist/scripts/2087-e0ef668e1f-reports.chunk.js +0 -1
  359. package/dist/scripts/209-d769572af9-reports.chunk.js +0 -1
  360. package/dist/scripts/2150-2cbadacf12-reports.chunk.js +0 -1
  361. package/dist/scripts/2217-eb2f8619c9-reports.chunk.js +0 -1
  362. package/dist/scripts/2476-a700f69dc4-reports.chunk.js +0 -1
  363. package/dist/scripts/2539-04dfb4f4f1-reports.chunk.js +0 -1
  364. package/dist/scripts/2997-62d81c3442-reports.chunk.js +0 -1
  365. package/dist/scripts/312-8b006e92ff-reports.chunk.js +0 -1
  366. package/dist/scripts/4234-e3c04f41eb-reports.chunk.js +0 -1
  367. package/dist/scripts/4372-26474a3318-reports.chunk.js +0 -1
  368. package/dist/scripts/438-b444dfb8c6-reports.chunk.js +0 -1
  369. package/dist/scripts/4582-230f130f41-reports.chunk.js +0 -1
  370. package/dist/scripts/4752-db4247883d-reports.chunk.js +0 -2
  371. package/dist/scripts/4752-db4247883d-reports.chunk.js.LICENSE.txt +0 -118
  372. package/dist/scripts/4979-7e14b09f33-reports.chunk.js +0 -1
  373. package/dist/scripts/5051-72c53737e2-reports.chunk.js +0 -1
  374. package/dist/scripts/5091-ddd6f61b55-reports.chunk.js +0 -1
  375. package/dist/scripts/5173-cce3b37672-reports.chunk.js +0 -1
  376. package/dist/scripts/5177-a7372e7b8d-reports.chunk.js +0 -1
  377. package/dist/scripts/5304-d5674b32b4-reports.chunk.js +0 -1
  378. package/dist/scripts/5802-2125536755-reports.chunk.js +0 -1
  379. package/dist/scripts/6007-346d08e3ae-reports.chunk.js +0 -1
  380. package/dist/scripts/6031-b1c60cc409-reports.chunk.js +0 -1
  381. package/dist/scripts/6081-2bbda6cac3-reports.chunk.js +0 -1
  382. package/dist/scripts/6180-bdb237ffbe-reports.chunk.js +0 -2
  383. package/dist/scripts/6180-bdb237ffbe-reports.chunk.js.LICENSE.txt +0 -1
  384. package/dist/scripts/6198-189ddde870-reports.chunk.js +0 -1
  385. package/dist/scripts/6356-a1b313c73e-reports.chunk.js +0 -1
  386. package/dist/scripts/645-e72b3d845e-reports.chunk.js +0 -1
  387. package/dist/scripts/6545-f07bcd318a-reports.chunk.js +0 -1
  388. package/dist/scripts/6546-b0ed7b3a19-reports.chunk.js +0 -2
  389. package/dist/scripts/6546-b0ed7b3a19-reports.chunk.js.LICENSE.txt +0 -1
  390. package/dist/scripts/6811-add7c7c1a2-reports.chunk.js +0 -1
  391. package/dist/scripts/7238-de5ef0ebfb-reports.chunk.js +0 -1
  392. package/dist/scripts/7562-748e60c3fc-reports.chunk.js +0 -1
  393. package/dist/scripts/7709-82750ee317-reports.chunk.js +0 -1
  394. package/dist/scripts/7723-1799f5aa26-reports.chunk.js +0 -1
  395. package/dist/scripts/7747-d34db3ff10-reports.chunk.js +0 -2
  396. package/dist/scripts/7747-d34db3ff10-reports.chunk.js.LICENSE.txt +0 -1
  397. package/dist/scripts/7925-c6c532c9c4-reports.chunk.js +0 -1
  398. package/dist/scripts/8087-1d9e9701e5-reports.chunk.js +0 -1
  399. package/dist/scripts/8393-686a7866e1-reports.chunk.js +0 -1
  400. package/dist/scripts/8418-9f96caf039-reports.chunk.js +0 -1
  401. package/dist/scripts/8450-f2d5d99614-reports.chunk.js +0 -1
  402. package/dist/scripts/8591-4811082ab0-reports.chunk.js +0 -1
  403. package/dist/scripts/8622-ca384ec4b0-reports.chunk.js +0 -1
  404. package/dist/scripts/8839-711793a97f-reports.chunk.js +0 -1
  405. package/dist/scripts/8989-ca5cab7f45-reports.chunk.js +0 -1
  406. package/dist/scripts/9059-b2dcf3cdb2-reports.chunk.js +0 -1
  407. package/dist/scripts/9162-7ffc692736-reports.chunk.js +0 -1
  408. package/dist/scripts/9285-ecddd01efb-reports.chunk.js +0 -1
  409. package/dist/scripts/9590-41bb23ae71-reports.chunk.js +0 -1
  410. package/dist/scripts/9647-f0c111d3f0-reports.chunk.js +0 -1
  411. package/dist/scripts/9661-2dee4c3417-reports.chunk.js +0 -1
  412. package/dist/scripts/9822-379ea90dd3-reports.chunk.js +0 -1
  413. package/dist/scripts/9895-3b3feb12b9-reports.chunk.js +0 -1
  414. package/dist/scripts/9949-6b1d1f4d32-reports.chunk.js +0 -1
  415. package/dist/scripts/bundle-36f5b2e675.min.js +0 -2
  416. package/dist/scripts/bundle-36f5b2e675.min.js.LICENSE.txt +0 -108
  417. package/dist/scripts/polyfills-3db3f009d4.min.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{u as c,a as n,L as p,b as l,P as d,j as e}from"./app-BqRx5tK8.js";import{C as u,a as h}from"./DNt9Tv5W.chunk.js";import{u as C}from"./C6eAAaNL.chunk.js";import{u as v,a as j}from"./BlAGsOOw.chunk.js";import{u as x}from"./C6H2bU7H.chunk.js";import{E as f}from"./zaMwD-xl.chunk.js";import{V as w}from"./CXK1uNgx.chunk.js";import{V}from"./BmScDBcl.chunk.js";import"./DuNeLCIS.chunk.js";import"./DeY3SuCM.chunk.js";import"./BrLXFCMV.chunk.js";import"./DJLuyZJi.chunk.js";import"./Fd0gT6QK.chunk.js";import"./DxUueJN7.chunk.js";import"./CqyCLTzN.chunk.js";import"./BkcNwg7K.chunk.js";import"./DHqmPVfK.chunk.js";import"./DFhb3ZfO.chunk.js";import"./5O9SdVRZ.chunk.js";import"./BE7zUNFh.chunk.js";import"./sFV5nxD4.chunk.js";import"./DMoPMSgN.chunk.js";import"./ByllnMKt.chunk.js";import"./DAocQXXC.chunk.js";import"./Dp_vnjo0.chunk.js";import"./BMba67Uf.chunk.js";import"./CaiGBx50.chunk.js";import"./CV5ioe9U.chunk.js";import"./D1U_fPVs.chunk.js";const b="_column1_1i69v_1",N="_column2_1i69v_4",_="_barChart_1i69v_7",t={column1:b,column2:N,barChart:_},S="reportsClips.clipOverview",g=p.encloseNamespace(S);function re(i){var a,o;const r=c(u.clip(i.id));n({title:g("pageTitle",{clip:(a=r.data)==null?void 0:a.name})}),x((o=r.data)==null?void 0:o.name),v(j(r.data)),C(r);const{hasPermissions:m}=l(),s=!m(d.ViewCustomerAnalytics);return e.jsxs("div",{children:[e.jsx(h,{id:i.id}),e.jsxs("div",{className:"d-flex",children:[e.jsx("div",{className:`pe-2 ${t.column1}`,children:e.jsx(V,{objectId:i.id,useSharerId:s,className:"h-100"})}),e.jsxs("div",{className:`ps-2 ${t.column2}`,children:[e.jsx(w,{objectId:i.id,className:t.barChart,useSharerId:s}),e.jsx("div",{className:"mt-3",children:e.jsx(f,{objectId:i.id,useSharerId:s,layout:"horizontal"})})]})]})]})}export{re as ClipOverviewView};
2
+ //# sourceMappingURL=CpwEUwsc.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CpwEUwsc.chunk.js","sources":["../../src/apps/clips/views/clip-overview/ClipOverviewView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip } from 'libs/shared/interfaces';\n\nimport { ClipRequests } from 'shared/flight-requests/ClipRequests';\nimport { useHandleVideoError } from 'shared/hooks/UseHandleVideoError';\nimport { useSetHeaderActions } from 'shared/hooks/UseSetHeaderActions';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\nimport { useGetObjectHeaderActions } from 'shared/utils/HeaderActionUtils';\nimport { EngagementOverviewCardView } from 'shared/views/overview-cards/engagement-overview-card/EngagementOverviewCardView';\nimport { ViewCountBarChartCardView } from 'shared/views/overview-cards/view-count-bar-chart-card/ViewCountBarChartCardView';\nimport { ViewCountPieChartCardView } from 'shared/views/overview-cards/view-count-pie-chart-card/ViewCountPieChartCardView';\n\nimport { ClipNav } from 'apps/clips/components/clip-nav/ClipNav';\n\nimport styles from './clip-overview.module.scss';\n\nconst namespace = 'reportsClips.clipOverview';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipOverviewViewProps {\n id: string;\n}\n\nexport function ClipOverviewView(props: ClipOverviewViewProps): JSX.Element {\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.clip(props.id));\n \n useSetPageMetadata({ title: getPhrase('pageTitle', { clip: clip.data?.name }) });\n useSetHeaderTitle(clip.data?.name);\n useSetHeaderActions(useGetObjectHeaderActions(clip.data));\n\n useHandleVideoError(clip);\n\n const { hasPermissions } = usePermissions();\n\n const scopeBySharerId = !hasPermissions(PermissionName.ViewCustomerAnalytics);\n\n return (\n <div>\n <ClipNav id={props.id} />\n <div className='d-flex'>\n <div className={`pe-2 ${styles.column1}`}>\n <ViewCountPieChartCardView\n objectId={props.id}\n useSharerId={scopeBySharerId}\n className='h-100'\n />\n </div>\n <div className={`ps-2 ${styles.column2}`}>\n <ViewCountBarChartCardView\n objectId={props.id}\n className={styles.barChart}\n useSharerId={scopeBySharerId}\n />\n <div className='mt-3'>\n <EngagementOverviewCardView\n objectId={props.id}\n useSharerId={scopeBySharerId}\n layout='horizontal'\n />\n </div>\n </div>\n </div>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ClipOverviewView","props","clip","Flight.useBasicFetch","ClipRequests","useSetPageMetadata","_a","useSetHeaderTitle","_b","useSetHeaderActions","useGetObjectHeaderActions","useHandleVideoError","hasPermissions","usePermissions","scopeBySharerId","PermissionName","jsx","ClipNav","jsxs","styles","ViewCountPieChartCardView","ViewCountBarChartCardView","EngagementOverviewCardView"],"mappings":"+hCAuBMA,EAAY,4BACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,GAAiBC,EAA2C,SAC1E,MAAMC,EAAOC,EAA2BC,EAAa,KAAKH,EAAM,EAAE,CAAC,EAEnEI,EAAmB,CAAE,MAAOP,EAAU,YAAa,CAAE,MAAMQ,EAAAJ,EAAK,OAAL,YAAAI,EAAW,IAAA,CAAM,EAAG,EAC/EC,GAAkBC,EAAAN,EAAK,OAAL,YAAAM,EAAW,IAAI,EACjCC,EAAoBC,EAA0BR,EAAK,IAAI,CAAC,EAExDS,EAAoBT,CAAI,EAExB,KAAM,CAAE,eAAAU,CAAA,EAAmBC,EAAA,EAErBC,EAAkB,CAACF,EAAeG,EAAe,qBAAqB,EAE5E,cACG,MAAA,CACC,SAAA,CAAAC,EAAAA,IAACC,EAAA,CAAQ,GAAIhB,EAAM,EAAA,CAAI,EACvBiB,EAAAA,KAAC,MAAA,CAAI,UAAU,SACb,SAAA,CAAAF,MAAC,MAAA,CAAI,UAAW,QAAQG,EAAO,OAAO,GACpC,SAAAH,EAAAA,IAACI,EAAA,CACC,SAAUnB,EAAM,GAChB,YAAaa,EACb,UAAU,OAAA,CAAA,EAEd,SACC,MAAA,CAAI,UAAW,QAAQK,EAAO,OAAO,GACpC,SAAA,CAAAH,EAAAA,IAACK,EAAA,CACC,SAAUpB,EAAM,GAChB,UAAWkB,EAAO,SAClB,YAAaL,CAAA,CAAA,EAEfE,EAAAA,IAAC,MAAA,CAAI,UAAU,OACb,SAAAA,EAAAA,IAACM,EAAA,CACC,SAAUrB,EAAM,GAChB,YAAaa,EACb,OAAO,YAAA,CAAA,CACT,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,EACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{r as g,y as j,c7 as N,c8 as v,j as e,B as T,c6 as t}from"./app-BqRx5tK8.js";const n=g.forwardRef(({bsPrefix:s,className:c,as:o="div",...d},p)=>{const x=j(s,"row"),h=N(),u=v(),b=`${x}-cols`,m=[];return h.forEach(r=>{const i=d[r];delete d[r];let l;i!=null&&typeof i=="object"?{cols:l}=i:l=i;const _=r!==u?`-${r}`:"";l!=null&&m.push(`${b}${_}-${l}`)}),e.jsx(o,{ref:p,...d,className:T(c,x,...m)})});n.displayName="Row";const f="_videoTable_14eqw_1",w="_interactiveTable_14eqw_4",$="_userTable_14eqw_7",C="_header_14eqw_10",k="_videoItemContainer_14eqw_16",S="_interactiveItemContainer_14eqw_19",y="_userItemContainer_14eqw_22",q="_heatMapItemContainer_14eqw_25",I="_partialAvatar_14eqw_28",M="_partialNumber_14eqw_33",B="_partialLongText_14eqw_37",H="_partialMediumText_14eqw_41",R="_partialShortText_14eqw_45",E="_partialThumbnail_14eqw_49",V="_partialHeatMap_14eqw_53",a={videoTable:f,interactiveTable:w,userTable:$,header:C,videoItemContainer:k,interactiveItemContainer:S,userItemContainer:y,heatMapItemContainer:q,partialAvatar:I,partialNumber:M,partialLongText:B,partialMediumText:H,partialShortText:R,partialThumbnail:E,partialHeatMap:V},A=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:1,className:"d-flex align-items-center justify-content-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialNumber}`})}),e.jsx(t,{xs:5,className:"d-flex align-items-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:4,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})})]}),L=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:5,className:"d-flex align-items-center",children:e.jsx("div",{className:`partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})}),e.jsx(t,{xs:3,className:"d-flex align-items-center",children:e.jsx("div",{className:`d-block partial-loading-background mx-4 ${a.partialShortText}`})})]}),P=e.jsxs(n,{className:"py-3",children:[e.jsx(t,{xs:2,className:"d-flex",children:e.jsx("div",{className:`partial-loading-background mx-3 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex justify-content-center",children:e.jsx("div",{className:`partial-loading-background mx-2 ${a.partialShortText}`})}),e.jsx(t,{xs:2,className:"d-flex justify-content-center",children:e.jsx("div",{className:`partial-loading-background ${a.partialShortText}`})}),e.jsx(t,{xs:6,className:"d-flex justify-content-between",children:e.jsx("div",{className:`d-block partial-loading-background ${a.heatMapItemContainer} ${a.partialShortText}`})})]});function z(s){switch(s){case"video-views":return{headerComponent:A,tableStyle:a.videoTable};case"interactives":return{headerComponent:L,tableStyle:a.interactiveTable};case"engagement-users":return{headerComponent:P,tableStyle:a.userTable};default:return{headerComponent:e.jsx(e.Fragment,{}),tableStyle:""}}}function U(s){const{headerComponent:c,tableStyle:o}=z(s.variant);return e.jsxs("div",{className:`bg-white rounded ${o} ${s.className??""}`,children:[e.jsx("div",{className:`border-bottom ${a.header} ${s.headerClassName??""}`,children:c}),s.children]})}export{U as P,n as R,a as s};
2
+ //# sourceMappingURL=CqSaPgvV.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CqSaPgvV.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/Row.js","../../src/shared/components/partial-loading/PartialTable.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport styles from './partial-loading.module.scss';\n\nconst VideoViewsHeader = (\n <Row className='py-3'>\n <Col xs={1} className='d-flex align-items-center justify-content-center'>\n <div className={`partial-loading-background ${styles.partialNumber}`} />\n </Col>\n <Col xs={5} className='d-flex align-items-center'>\n <div className={`partial-loading-background ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center' >\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={4} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nconst InteractivesHeader = (\n <Row className='py-3'>\n <Col xs={5} className='d-flex align-items-center'>\n <div className={`partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center' >\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n <Col xs={3} className='d-flex align-items-center'>\n <div className={`d-block partial-loading-background mx-4 ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nconst EngagementUsersHeader = (\n <Row className='py-3'>\n <Col xs={2} className='d-flex'>\n <div className={`partial-loading-background mx-3 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex justify-content-center'>\n <div className={`partial-loading-background mx-2 ${styles.partialShortText}`} />\n </Col>\n <Col xs={2} className='d-flex justify-content-center'>\n <div className={`partial-loading-background ${styles.partialShortText}`} />\n </Col>\n <Col xs={6} className='d-flex justify-content-between'>\n <div className={`d-block partial-loading-background ${styles.heatMapItemContainer} ${styles.partialShortText}`} />\n </Col>\n </Row>\n);\n\nfunction getTableVariant(type: TableVariant) {\n switch (type) {\n case 'video-views':\n return {\n headerComponent: VideoViewsHeader,\n tableStyle: styles.videoTable\n };\n\n case 'interactives':\n return {\n headerComponent: InteractivesHeader,\n tableStyle: styles.interactiveTable\n };\n\n case 'engagement-users':\n return {\n headerComponent: EngagementUsersHeader,\n tableStyle: styles.userTable\n };\n\n default:\n return {\n headerComponent: <></>,\n tableStyle: ''\n };\n }\n}\n\nexport type TableVariant = 'video-views' | 'interactives' | 'engagement-users';\n\ninterface PartialTableProps {\n variant?: TableVariant;\n className?: string;\n headerClassName?: string;\n}\n\nexport function PartialTable(props: React.PropsWithChildren<PartialTableProps>): JSX.Element {\n const { headerComponent, tableStyle } = getTableVariant(props.variant);\n\n return (\n <div className={`bg-white rounded ${tableStyle} ${props.className ?? ''}`}>\n <div className={`border-bottom ${styles.header} ${props.headerClassName ?? ''}`}>\n {headerComponent}\n </div>\n {props.children}\n </div>\n );\n}"],"names":["Row","React.forwardRef","bsPrefix","className","Component","props","ref","decoratedBsPrefix","useBootstrapPrefix","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","_jsx","classNames","VideoViewsHeader","jsxs","jsx","Col","styles","InteractivesHeader","EngagementUsersHeader","getTableVariant","type","Fragment","PartialTable","headerComponent","tableStyle"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{u as a,aM as o,aI as c}from"./app-BqRx5tK8.js";function i(u){var s;const t=(s=a(o.userProducts()).data)==null?void 0:s.find(r=>r.id===c.Primary);if(t)return r=>u(t,r)}export{i as u};
2
+ //# sourceMappingURL=CqyCLTzN.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CqyCLTzN.chunk.js","sources":["../../src/shared/hooks/UseGetExternalUrl.ts"],"sourcesContent":["import { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { Product } from 'libs/shared/interfaces';\n\ntype ArgType = HashObject | string | number;\n\ntype ExternalUrlBuilder = (product: Product, ...args: ArgType[]) => string;\n\n/**\n * This should be updated to link to LaunchPad once it supports object links.\n */\nexport function useGetExternalUrl(urlBuilder: ExternalUrlBuilder): (...args: ArgType[]) => string {\n const products = Flight.useBasicFetch<Product[]>(ProductRequests.userProducts());\n\n const primaryProduct = products.data?.find(p => p.id === ProductId.Primary);\n\n if (!primaryProduct)\n return;\n\n return args => urlBuilder(primaryProduct, args);\n}"],"names":["useGetExternalUrl","urlBuilder","primaryProduct","_a","Flight.useBasicFetch","ProductRequests","p","ProductId","args"],"mappings":"sDAcO,SAASA,EAAkBC,EAAgE,OAGhG,MAAMC,GAAiBC,EAFNC,EAAgCC,EAAgB,cAAc,EAE/C,OAAT,YAAAF,EAAe,QAAUG,EAAE,KAAOC,EAAU,SAEnE,GAAKL,EAGL,OAAOM,GAAQP,EAAWC,EAAgBM,CAAI,CAChD"}
@@ -0,0 +1,2 @@
1
+ import{j as e}from"./app-BqRx5tK8.js";const i="_emoji_hej2b_1",o={emoji:i};function m(s){return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:o.emoji,children:s.emoji}),s.children]})}export{m as E};
2
+ //# sourceMappingURL=CrlegiVC.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrlegiVC.chunk.js","sources":["../../../../libs/shared/src/components/emoji-text/EmojiText.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from './emoji-text.module.scss';\n\ninterface EmojiTextProps {\n emoji: string;\n}\n\nexport function EmojiText(props: React.PropsWithChildren<EmojiTextProps>): JSX.Element {\n return (\n <>\n <span className={styles.emoji}>{props.emoji}</span>\n {props.children}\n </>\n );\n}"],"names":["EmojiText","props","jsxs","Fragment","jsx","styles"],"mappings":"2EAQO,SAASA,EAAUC,EAA6D,CACrF,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,MAAC,OAAA,CAAK,UAAWC,EAAO,MAAQ,WAAM,MAAM,EAC3CJ,EAAM,QAAA,EACT,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{d as o,j as t,L as m,i as c,A as u,g as l}from"./app-BqRx5tK8.js";import{g}from"./cRQEJA0-.chunk.js";import{E as p}from"./CrlegiVC.chunk.js";const d="interactives.markingRequiredAlert",r=m.encloseNamespace(d);function k(e,s){let a=0;return s.students.forEach(n=>{const i=g(e,n);a+=i.awaitingMarking}),a}function j(e){const s=o(),a=k(e.interactive,e.results);return a?t.jsxs("div",{className:"alert bg-white box-shadow",role:"alert",children:[t.jsx(p,{emoji:"👋",children:r("markingRequired",{smartCount:a})})," ",t.jsx(c,{className:"text-info",appLink:{application:l.INTERACTIVES,action:u.Interactives.QUESTION_LIST,args:[e.interactiveMetadataId],params:s},children:r("seeQuestions")})]}):t.jsx(t.Fragment,{})}export{j as M};
2
+ //# sourceMappingURL=CsD4Xb6n.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsD4Xb6n.chunk.js","sources":["../../src/apps/interactives/components/marking-required-alert/MarkingRequiredAlert.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { getStudentResultsSummary } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { EmojiText } from 'libs/shared/components/emoji-text/EmojiText';\nimport { Interactive, InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { useGetAppLinkFilterParams } from 'shared/hooks/UseGetFilterQueryParams';\n\nconst namespace = 'interactives.markingRequiredAlert';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getNumQuestionsToMark(interactive: Interactive, results: InteractiveResultSet): number {\n let numToMark = 0;\n\n results.students.forEach(s => {\n const summary = getStudentResultsSummary(interactive, s);\n numToMark += summary.awaitingMarking;\n });\n\n return numToMark;\n}\n\ninterface MarkingRequiredAlertProps {\n interactive: Interactive;\n results: InteractiveResultSet;\n interactiveMetadataId: string;\n}\n\nexport function MarkingRequiredAlert(props: MarkingRequiredAlertProps): JSX.Element {\n const filterQueryParams = useGetAppLinkFilterParams();\n\n const numToMark = getNumQuestionsToMark(props.interactive, props.results);\n\n if (!numToMark)\n return <></>;\n\n return (\n <div className='alert bg-white box-shadow' role='alert'>\n <EmojiText\n emoji='👋'\n >\n {getPhrase('markingRequired', { smartCount: numToMark })}\n </EmojiText>\n &nbsp;\n <AppLink className='text-info' appLink={{\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.QUESTION_LIST,\n args: [props.interactiveMetadataId],\n params: filterQueryParams\n }}>\n {getPhrase('seeQuestions')}\n </AppLink>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","getNumQuestionsToMark","interactive","results","numToMark","s","summary","getStudentResultsSummary","MarkingRequiredAlert","props","filterQueryParams","useGetAppLinkFilterParams","jsxs","jsx","EmojiText","AppLink","AppChannels","Actions","Fragment"],"mappings":"oJAaA,MAAMA,EAAY,oCACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAE5D,SAASG,EAAsBC,EAA0BC,EAAuC,CAC9F,IAAIC,EAAY,EAEhB,OAAAD,EAAQ,SAAS,QAAQE,GAAK,CAC5B,MAAMC,EAAUC,EAAyBL,EAAaG,CAAC,EACvDD,GAAaE,EAAQ,eACvB,CAAC,EAEMF,CACT,CAQO,SAASI,EAAqBC,EAA+C,CAClF,MAAMC,EAAoBC,EAAA,EAEpBP,EAAYH,EAAsBQ,EAAM,YAAaA,EAAM,OAAO,EAExE,OAAKL,EAIHQ,EAAAA,KAAC,MAAA,CAAI,UAAU,4BAA4B,KAAK,QAC9C,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACC,MAAM,KAEL,SAAAf,EAAU,kBAAmB,CAAE,WAAYK,EAAW,CAAA,CAAA,EAC7C,IAEZS,EAAAA,IAACE,EAAA,CAAQ,UAAU,YAAY,QAAS,CACtC,YAAaC,EAAY,aACzB,OAAQC,EAAQ,aAAa,cAC7B,KAAM,CAACR,EAAM,qBAAqB,EAClC,OAAQC,CAAA,EAEP,SAAAX,EAAU,cAAc,CAAA,CAC3B,CAAA,EACF,EAlBOc,EAAAA,IAAAK,EAAAA,SAAA,EAAE,CAoBb"}
@@ -0,0 +1,2 @@
1
+ import{j as t,O as L,L as N,a5 as j,h as A,a3 as O,bx as Te,i as B,a0 as M,T as _,aW as h,v as $,av as J,p as Ne,l as w,by as Ie,bz as V,I as Ae,bA as Le,aU as _e,aV as $e,aQ as ee,aT as De,aR as He,aS as Fe,r as te,F as ze,bB as Me,a7 as Pe,bC as Oe,at as U,bD as ae,d as ue,A as he,g as ge,e as Be,E as Ee,bE as Ve,a as Ue,u as ne,bF as Re,C as Ge,U as qe}from"./app-BqRx5tK8.js";import{T as We}from"./DecstRlc.chunk.js";import{b as P,S as Q,a as Ke}from"./BuHHZnEg.chunk.js";import{B as Qe}from"./D9POXla0.chunk.js";import{P as se,S as Xe,I as R,a as G,g as Ze,B as Ye}from"./DMoPMSgN.chunk.js";import{V as xe,T as ve,b as fe,C as I,a as Je}from"./D_Erj5Yn.chunk.js";import{M as ie}from"./ByllnMKt.chunk.js";import{L as et}from"./BW-tzVdx.chunk.js";import{S as X}from"./BBOfq9my.chunk.js";import{u as tt,I as at}from"./5JDMPiCK.chunk.js";import{a as re}from"./Cl51qIgL.chunk.js";import{P as nt}from"./CqSaPgvV.chunk.js";import{P as st}from"./DK7va7iQ.chunk.js";import{u as it}from"./C6H2bU7H.chunk.js";import{g as rt}from"./CX5q-0jT.chunk.js";import{u as ct}from"./CqyCLTzN.chunk.js";import"./W5zJjbqu.chunk.js";import"./DJLuyZJi.chunk.js";import"./DeY3SuCM.chunk.js";import"./BrLXFCMV.chunk.js";import"./CwyVC768.chunk.js";import"./DHqmPVfK.chunk.js";import"./xkqdG021.chunk.js";import"./CdzMtbgC.chunk.js";import"./B_1LOG5E.chunk.js";import"./BUM8Ub4p.chunk.js";import"./VSmYRJOj.chunk.js";const ot="share.sharedByMeEmptyState",q=N.encloseNamespace(ot);function lt(e){return t.jsxs(L,{children:[t.jsx(L.Image,{src:e.imageUrl,size:"small"}),t.jsx(L.Heading,{children:q(e.useInteractiveCopy?"interactivesHeading":"genericHeading")}),t.jsx(L.Info,{children:q(e.useInteractiveCopy?"interactivesInfo":"genericInfo")}),!!e.appLink&&t.jsx(L.Cta,{appLink:e.appLink,text:q("cta")})]})}const dt={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"py-2 ps-2 text-nowrap",row:"striped-row rounded",cell:"d-flex align-items-center p-2"};var mt=["second","minute","hour","day","week","month","year"];function ut(e,a){if(a===0)return["just now","right now"];var s=mt[Math.floor(a/2)];return e>1&&(s+="s"),[e+" "+s+" ago","in "+e+" "+s]}var ht=["秒","分钟","小时","天","周","个月","年"];function gt(e,a){if(a===0)return["刚刚","片刻后"];var s=ht[~~(a/2)];return[e+" "+s+"前",e+" "+s+"后"]}var Z={},be=function(e,a){Z[e]=a},xt=function(e){return Z[e]||Z.en_US},W=[60,60,24,7,365/7/12,12];function vt(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function ft(e,a){var s=e<0?1:0;e=Math.abs(e);for(var i=e,r=0;e>=W[r]&&r<W.length;r++)e/=W[r];return e=Math.floor(e),r*=2,e>(r===0?9:1)&&(r+=1),a(e,r,i)[s].replace("%s",e.toString())}function bt(e,a){var s=new Date;return(+s-+vt(e))/1e3}var ye=function(e,a,s){var i=bt(e);return ft(i,xt(a))};be("en_US",ut);be("zh_CN",gt);var p=(e=>(e.DirectShare="DirectShare",e.ShareLink="ShareLink",e))(p||{});const yt="_indicatorContainer_1jf11_1",Ct="_indicator_1jf11_1",ce={indicatorContainer:yt,indicator:Ct},jt="share.shareStatusIndicator",F=N.encloseNamespace(jt);function pt(e){if(e.type===p.DirectShare)return F("active");switch(e.status){case P.Active:return F("active");case P.Expired:return F("expired")}}function St(e){if(e.type===p.DirectShare)return"bg-success";switch(e.status){case P.Active:return"bg-success";case P.Expired:return"bg-gray-500"}}function kt(e){var a;return e.share.type===p.DirectShare&&!((a=e.share.recipients)!=null&&a.length)?t.jsx(t.Fragment,{}):e.share.type===p.ShareLink&&e.share.isPasswordProtected?t.jsx(j,{title:F("passwordProtected"),spanHack:!0,children:t.jsx(A,{svg:Te,size:O.Small})}):t.jsx(j,{title:pt(e.share),spanHack:!0,spanHackClassName:ce.indicatorContainer,children:t.jsx("div",{className:`${ce.indicator} ${St(e.share)}`})})}const wt="_thumbnailTitle_14phd_1",Tt={thumbnailTitle:wt};function oe(e){return t.jsx("h3",{title:e.title,className:"h6",children:e.title})}function Nt(e){return e.appLink?t.jsx(B,{appLink:e.appLink,className:`${Tt.thumbnailTitle}`,children:t.jsx(oe,{...e})}):t.jsx(oe,{...e})}const It="_badge_o3vz9_1",At="_mask_o3vz9_4",Lt="_thumbnailContainer_o3vz9_7",D={badge:It,mask:At,thumbnailContainer:Lt},le="shared.collectionThumbnail";function _t(e){var m,v,y;function a(){var f;let u=(f=e.collection)==null?void 0:f.videos;if(u){if(!u.count&&e.collection.typeId===h.Playlist){const c=e.collection;c.clips.count&&(u=c.clips),c.interactives.count&&(u=c.interactives)}return $.first(u.data)}}function s(){var f,c;let u=0;if(e.collection.videos&&e.collection.videos.count&&(u+=e.collection.videos.count),e.collection.typeId===h.Playlist){const g=e.collection;(f=g.interactives)!=null&&f.count&&(u+=g.interactives.count),(c=g.clips)!=null&&c.count&&(u+=g.clips.count)}return u}function i(u){if(ie.isType(u,h.Playlist))return J.Playlist;if(ie.isType(u,h.Series))return J.Series}const r=a(),n=s(),l=((m=e.title)==null?void 0:m.length)||((v=e.subText)==null?void 0:v.length),d={id:e.collection.id.toString(),name:e.collection.name,...e.analyticsData},o={actionType:M.Click,entity:i(e.collection),...e.analyticsOptions};return t.jsxs("div",{children:[t.jsx("div",{className:`position-relative ${D.thumbnailContainer} z-1`,children:t.jsxs(B,{appLink:e.appLink,analyticsData:d,analyticsOptions:o,preventFocus:!0,children:[e.showMask&&t.jsx("div",{className:`${D.mask} position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none`,children:t.jsxs("div",{className:`${D.badge} d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2`,children:[t.jsx(A,{svg:se,className:"svg-container text-white"}),t.jsx("p",{className:"d-inline fw-medium text-white mb-0",children:(y=e.hoverText)!=null&&y.length?t.jsx("span",{children:e.hoverText}):t.jsx(_,{namespace:le,phrase:"playAll"})})]})}),r&&t.jsx(xe,{video:r,imageOptions:e.imageOptions,textPosition:ve.Independent,type:"cosmetic",hideMask:!0,hideRating:!0,hideDuration:!0,hideVideoTypeBadge:!0}),!r&&t.jsx("div",{className:"ratio ratio-16x9 bg-light rounded-3",children:t.jsx("div",{className:"d-flex justify-content-center align-items-center",children:t.jsx(A,{svg:se,className:"w-33 opacity-25 text-gray-400"})})}),e.showVideoCount&&t.jsxs("div",{className:`${D.badge} d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2`,children:[t.jsx(A,{svg:Xe,className:"svg-container text-white me-1"}),t.jsx("p",{className:"d-inline fw-semibold text-white mb-0",children:e.onlyCount?t.jsx("span",{children:n}):t.jsx(_,{namespace:le,phrase:"videos",options:{count:n,smartCount:n}})})]})]})}),l&&t.jsxs("div",{className:"mt-2 d-flex flex-column",children:[e.subText&&t.jsx(fe,{title:e.subText,appLink:e.subTextAppLink,children:e.subText}),e.title&&t.jsx(Nt,{title:e.collection.name,appLink:e.titleAppLink})]})]})}const $t="_posterFallbackSvg_1239k_4",Dt="_coverFallbackSvg_1239k_7",Ht="_thumbnailContainer_1239k_10",Ft="_requireMarking_1239k_13",zt="_badge_1239k_19",Mt="_bar_1239k_22",Pt="_a_1239k_27",Ot="_b_1239k_19",Bt="_c_1239k_7",b={posterFallbackSvg:$t,coverFallbackSvg:Dt,thumbnailContainer:Ht,requireMarking:Ft,badge:zt,bar:Mt,a:Pt,b:Ot,c:Bt},Et="shared.sharedObjectImage",H="rounded overflow-hidden";function Vt(e){const a=Ie.getDisplayImageFromObject(e);if(w.isVideoType(e))return{image:a,imageType:V.Thumbnails,imageClassName:H,imageFallbackComponent:t.jsx(R,{type:G.Video})};switch(e.typeId){case h.Series:return{image:a,imageType:V.TallPosters,imageClassName:H,imageFallbackComponent:t.jsx(R,{type:G.Series,svgContainerClassName:b.posterFallbackSvg})};case h.Playlist:return{image:a,imageType:V.Covers,imageClassName:a!=null&&a.url?H:`${H} ${Ze(e.name,Ye)}`,imageFallbackComponent:t.jsx(R,{type:G.Playlist,svgContainerClassName:a!=null&&a.url?b.coverFallbackSvg:"d-none",extraClasses:!(a!=null&&a.url)&&"bg-transparent"})}}}function Ut(){return t.jsxs("div",{className:"d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center",children:[t.jsx("div",{className:"position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3"}),t.jsxs("div",{className:"d-flex align-items-end gap-2 h-50 z-1",children:[t.jsx("div",{className:"d-flex align-items-end h-50",children:t.jsx("div",{className:`${b.bar} ${b.a} rounded shadow`})}),t.jsx("div",{className:"d-flex align-items-end h-75",children:t.jsx("div",{className:`${b.bar} ${b.b} rounded shadow`})}),t.jsx("div",{className:"d-flex align-items-end h-100",children:t.jsx("div",{className:`${b.bar} ${b.c} rounded shadow`})})]})]})}function Rt(e){if(w.isVideoType(e))return 16/9;if(e.typeId===h.Playlist)return 1;if(e.typeId===h.Series)return 9/16}Ce.defaultProps={imageOptions:{size:Ae.Small}};function Ce(e){const a=Ne.useCallback(o=>{!o||!e.fixedHeight||(o.style.width=`${o.offsetHeight*Rt(e.object)}px`)},[]),s=w.isVideoType(e.object),{image:i,imageType:r,imageClassName:n,imageFallbackComponent:l}=Vt(e.object),d=e.showVideoMetadata?{hideBottomBar:e.hideBottomBar}:{hideDuration:!0,hideMask:!0,hideRating:!0,hideVideoBadgeType:!0,hideBottomBar:!0};return t.jsx("div",{className:"d-flex align-items-center justify-content-center w-100 h-100",children:t.jsxs("div",{ref:a,className:e.fixedHeight?"h-100":"w-100",children:[s&&t.jsxs("div",{className:`${b.thumbnailContainer} position-relative`,children:[e.showInsightsMask&&t.jsx(Ut,{}),t.jsx(B,{appLink:e.appLink,children:t.jsx(xe,{video:e.object,size:e.thumbnailSize,imageOptions:e.imageOptions,textPosition:ve.Independent,type:"cosmetic",imageClassName:e.imageClassName,...d})}),!!e.requireMarking&&t.jsx("div",{className:`${e.showInsightsMask&&b.requireMarking} position-absolute bottom-0 end-0 z-1 m-2`,children:t.jsx("div",{className:`${b.badge} d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2`,children:t.jsx(_,{namespace:Et,phrase:"requireMarking",options:{smartCount:e.requireMarking}})})})]}),!s&&t.jsx(t.Fragment,{children:"videos"in e.object?t.jsx(_t,{collection:e.object,imageOptions:e.imageOptions,appLink:e.appLink,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:Q.getAnalyticsEntity(e.object.type),actionType:M.Click,location:e.locationContext},showMask:e.showCollectionMask,showVideoCount:e.showVideoCount,onlyCount:e.onlyCount}):t.jsx(Qe,{data:i==null?void 0:i.url,imageType:r,imageOptions:e.imageOptions,appLink:e.appLink,className:n,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:Q.getAnalyticsEntity(e.object.type),actionType:M.Click,location:e.locationContext},children:l})})]})})}const Gt="shared.avatarList",de=N.encloseNamespace(Gt);je.defaultProps={maxAvatars:5};function je(e){const a=e.items.length>e.maxAvatars?e.items.slice(0,e.maxAvatars-1):e.items,s=e.items.length>a.length?e.items.slice(e.maxAvatars-1):[],i=e.avatarItem,r=s.length,n=e.avatarSize==="sm"?4:8;function l(){return e.getHiddenTooltip?e.getHiddenTooltip(s):e.roleToDisplay?de(e.roleToDisplay==="staff"?"staff":"student",{count:r,smartCount:r}):de("users",{count:r,smartCount:r})}function d(){return{marginRight:`-${(a.length-1+(s.length?1:0)+(e.hasShareLink?1:0))*n}px`}}function o(m){return{transform:`translateX(${(e.hasShareLink?m+1:m)*-n}px)`,zIndex:e.maxAvatars-m}}return a.length===0&&s.length===0?t.jsx(t.Fragment,{}):t.jsxs("div",{className:"d-flex",style:d(),children:[e.hasShareLink&&t.jsx("div",{style:{zIndex:e.maxAvatars+1},children:t.jsx(pe,{text:e.shareLinkText,avatarSize:e.avatarSize,className:"bg-dark text-white"})}),a.map((m,v)=>t.jsx("div",{className:`${e.avatarContainerClassname||""}`,style:o(v),children:t.jsx(i,{item:m,imageCdnUrl:e.imageCdnUrl,index:v,maxAvatars:e.maxAvatars})},m.id)),!!s.length&&t.jsx("div",{className:`${e.avatarContainerClassname||""} bg-white rounded-circle`,style:{transform:`translateX(${a.length*-n}px)`,zIndex:e.maxAvatars-a.length},children:t.jsx(j,{title:l(),spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:`d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ${e.numberClassname||""}`,children:`+${s.length}`})})})]})}const qt="_avatarContainer_p1zht_1",Wt="_sm_p1zht_5",Kt="_sharedAvatar_p1zht_10",T={avatarContainer:qt,sm:Wt,sharedAvatar:Kt},Qt="reportsShare.sharedToAvatarList",C=N.encloseNamespace(Qt);function Xt(e){const a=$.countBy(e,"typeId"),s=a[h.User],i=a[h.Classroom],r=a[h.ClassroomGroup];if(s&&i&&r)return C("classroomsGroupsAndUsers",{userCount:s,classroomCount:i,groupCount:r});if(s&&i)return C("classroomsAndUsers",{userCount:s,classroomCount:i});if(s&&r)return C("groupsAndUsers",{userCount:s,groupCount:r});if(i&&r)return C("classroomsAndGroups",{classroomCount:i,groupCount:r});if(s)return C("users",{userCount:s});if(i)return C("classrooms",{classroomCount:i});if(r)return C("groups",{groupCount:r})}function Zt(e){var n,l,d,o,m;const a=((n=e.item)==null?void 0:n.typeId)===h.User&&e.item,s=((l=e.item)==null?void 0:l.typeId)===h.Classroom&&e.item,i=((d=e.item)==null?void 0:d.typeId)===h.ClassroomGroup&&e.item,r="d-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100";return t.jsxs(t.Fragment,{children:[!!a&&t.jsx(j,{title:`${a.name} ${a.surname}`,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx(_e,{imageUrl:(o=a.avatar)==null?void 0:o.url,imageCdnUrl:e.imageCdnUrl,initials:$e.getInitials(a.name,a.surname),extraClasses:T.sharedAvatar})}),!!s&&t.jsx(j,{title:s.name,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:r,children:t.jsx(ee,{svg:De,svgSize:O.Large,variant:"teal"})})}),!!i&&t.jsx(j,{title:i.name,spanHack:!0,spanHackClassName:"h-100 w-100",children:t.jsx("div",{className:r,children:t.jsx(ee,{svg:Fe,variant:He((m=i.metadata)==null?void 0:m.colour)})})})]})}function Yt(e){return t.jsx("div",{className:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,children:t.jsx(j,{title:C("anonymous"),spanHack:!0,spanHackClassName:"bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100",children:t.jsx(A,{svg:Le,size:e.avatarSize==="sm"?O.Small:null})})})}function pe(e){return t.jsx("div",{className:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,children:t.jsx(j,{title:e.text||C("sharedLink"),spanHack:!0,spanHackClassName:`bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ${e.className||""}`,children:t.jsx(A,{svg:et,size:e.avatarSize==="sm"?O.Small:null})})})}Se.defaultProps={maxAvatars:5};function Se(e){return t.jsx(je,{...e,items:e.recipients,avatarItem:Zt,avatarContainerClassname:`${T.avatarContainer} ${e.avatarSize==="sm"?T.sm:""}`,getHiddenTooltip:Xt,hasShareLink:e.hasShareLink,shareLinkText:e.shareLinkText})}var k=(e=>(e.None="None",e.Complete="Complete",e.Incomplete="Incomplete",e))(k||{});const Jt={groupByDateShared(e){const a=$.groupBy(e,"dateShared");return Object.keys(a).sort().reverse().reduce((i,r)=>{const n=ye(r);return i[n]||(i[n]=[]),i[n]=i[n].concat(a[r]),i},{})},mapActivityStatusToCheckMarkStatus(e){switch(e){case k.Complete:return I.Complete;case k.Incomplete:return I.Incomplete;case k.None:return I.None}},mapCheckMarkStatusToActivityStatus(e){switch(e){case I.Complete:return k.Complete;case I.Incomplete:return k.Incomplete;case I.None:return k.None}}};function ea(e){const a=te.useMemo(()=>e.actions.sort((n,l)=>n.order-l.order),[e.actions]),s=[],i=[];a.forEach(n=>{n.button?s.push(n):i.push(n)});let r="d-flex";return e.className&&(r+=` ${e.className}`),!s.length&&!i.length?t.jsx(t.Fragment,{}):t.jsxs("div",{className:r,children:[s.length?s.map((n,l)=>t.jsx(te.Fragment,{children:(()=>{if(n.label){const o=ze.isFunction(n.label)?n.label():t.jsx(t.Fragment,{children:n.label});return t.jsx(Me,{appLink:n.appLink,href:n.href,onClick:n.onClick,svg:n.svg,svgSize:e.dropdownToggleSvgSize,className:n.className,tooltip:n.tooltip,showSpinner:n.showSpinner,analyticsData:n.analyticsData,analyticsOptions:n.analyticsOptions,openInNewTab:n.openInNewTab,disabled:n.disabled,children:o})}const d=t.jsx(Pe,{appLink:n.appLink,href:n.href,onClick:n.onClick,svg:n.svg,className:n.className,analyticsData:n.analyticsData,analyticsOptions:n.analyticsOptions,openInNewTab:n.openInNewTab,disabled:n.disabled,showBorder:n.showBorder,customSize:e.customSize,ariaLabel:n.tooltip});return n.tooltip?t.jsx(j,{title:n.tooltip,spanHack:!0,children:d}):d})()},l)):t.jsx(t.Fragment,{}),e.sortComponent&&e.sortComponent,i.length?t.jsx(Oe,{actions:i,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):t.jsx(t.Fragment,{})]})}const Y="share.sharedByMeTable",z=N.encloseNamespace(Y);function ta(e){var s;if(e.type===p.ShareLink||!((s=e==null?void 0:e.recipients)!=null&&s.length))return e.dateCreated;const a=e.recipients.map(i=>i.dateShared);return a.sort((i,r)=>ae.isSame(i,r)?0:ae.isAfter(i,r)?1:-2),a.length?$.last(a):""}function aa(e){const{index:a,dateHeading:s,getObjectAppLink:i,getObjectActions:r,imageCdnUrl:n,showStatus:l,showViewCount:d,breakpoints:o,yearGroups:m}=e,v=o&&(o.xs||o.sm),y=[{Header:l?"":s,accessor:"sharedObject",id:"image",Cell:({value:c})=>t.jsx("div",{className:"w-100",children:t.jsx(Ce,{object:c,appLink:i(c),showVideoMetadata:!0,locationContext:U.SharedByMe})}),minWidth:140,maxWidth:30},{accessor:"sharedObject",id:"name",Cell:({value:c})=>{var S;function g(){switch(c.typeId){case h.Series:return"series";case h.Playlist:return"playlist"}}if(c.name){if(w.isVideoType(c)&&!((S=w.getCanBeConsumed(c))!=null&&S.canNavigate))return t.jsx("span",{className:"clamp-2",children:c.name});const x=g();return t.jsxs("div",{className:"clamp-2",children:[x&&t.jsx(fe,{children:t.jsx(_,{namespace:Y,phrase:x})}),w.isVideoType(c)&&t.jsx(Je,{type:"series",video:c,appLink:"series"in c&&c.series?i(c.series):null,analyticsOptions:{location:U.Insights}}),t.jsx(B,{appLink:i(c),analyticsData:{id:c.id,name:c.name},analyticsOptions:{entity:Q.getAnalyticsEntity(c.type),actionType:M.Click,location:U.SharedByMe},children:c.name})]})}return t.jsx("span",{children:t.jsx(_,{namespace:Y,phrase:"videoUnavailable"})})},width:60},{Header:a===0?z("sharedTo"):"",accessor:"sharedToData",Cell:({value:c})=>{const{share:g,sharedObject:S,recipients:x}=c;if(!x){const E=g.type===p.ShareLink&&Ke.getIconAndText({entity:S,entityTypeId:S.typeId,hasStudentExp:!1,isPasswordProtected:g.isPasswordProtected,linkExpireDate:g.linkExpireDate,privacy:{privacy:g.privacy,overrideRestrictions:g.overrideRestrictions},status:g.status,yearGroups:m??[]});return t.jsx(pe,{text:E==null?void 0:E.text})}return x!=null&&x.length?t.jsx(Se,{recipients:x,imageCdnUrl:n,maxAvatars:v?1:2}):t.jsx(Yt,{})},width:40},!v&&{Header:a===0?z("shared"):"",id:"dateShared",accessor:c=>ye(c.dateShared),width:40},{accessor:"sharedObject",id:"actions",Cell:({value:c})=>t.jsx(ea,{actions:r(c),className:"w-100 justify-content-end pe-2"}),width:20}],u={Header:s,accessor:"share",id:"status",Cell:({value:c})=>t.jsx(kt,{share:c}),width:5},f={Header:z("views"),accessor:"viewCount",width:30};return l&&y.splice(0,0,u),d&&y.splice(y.length-1,0,f),y.filter(Boolean)}function na(e,a,s,i){const r=[];return e.forEach(n=>{var o;const l=a==null?void 0:a[n.objectId];let d=null;n.type===p.DirectShare&&(d=[],(o=n.recipients)==null||o.forEach(m=>{const v=s==null?void 0:s[m.id];v&&d.push(v)})),l&&r.push({share:n,sharedObject:l,sharedToData:{share:n,sharedObject:l,recipients:d},dateShared:ta(n),viewCount:n.viewCount??0})}),i?Jt.groupByDateShared(r):{[z("title")]:r}}function sa(e){const a=na(e.sentShares,e.sharedObjects,e.shareRecipients,!!e.groupByDateShared);return t.jsx(t.Fragment,{children:Object.keys(a).map((s,i)=>t.jsx(We,{columns:aa({index:i,dateHeading:s,getObjectAppLink:e.getObjectAppLink,getObjectActions:e.getObjectActions,imageCdnUrl:e.imageCdnUrl,showStatus:e.showStatus,showViewCount:e.showViewCount,breakpoints:e.breakpoints,yearGroups:e.yearGroups}),data:a[s],theme:dt},i))})}const ke={getDirectShares(e){return(e==null?void 0:e.filter(a=>a.type===p.DirectShare))??[]},getRecipients(e){return $.flatten(ke.getDirectShares(e).map(a=>a.recipients??[]))}};function ia(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",d:"M17.5 5h1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 .5-.5m-1.5.5v13a1.5 1.5 0 0 0 1.5 1.5h1a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 18.5 4h-1A1.5 1.5 0 0 0 16 5.5m-4.5 3.638a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V9.638a.5.5 0 0 0-.5-.5zm-1.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zM4 12.74a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5A1.5 1.5 0 0 1 6.5 20h-1A1.5 1.5 0 0 1 4 18.5zm1.5-.5a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-5.759a.5.5 0 0 0-.5-.5z"})})}const ra="reportsInteractives.sharedInteractives",K=N.encloseNamespace(ra);function ca(){const e=Be();return e?a=>{const{start:s,end:i,userId:r,groupId:n}=e;return X.sentShare({start:s,end:i,recipientUserId:r,recipientGroupId:n,objectTypeId:h.Interactive,cursor:a})}:!1}function oa(){const e=we(),a=ct(Ee.getPrimaryObjectUrl);return s=>{const{canConsume:i}=w.getCanBeConsumed(s);if(!i)return[];const r=[{tooltip:K("viewResults"),svg:ia,appLink:e(s),className:"me-2",button:!0},{label:K("editShareSettings"),appLink:{application:ge.DEFAULT,action:he.Default.SHARE,args:[s.id],params:{entityType:"interactive"}}}];return a&&r.push({label:K("viewOriginal"),href:a(s),openInNewTab:!0}),r}}function we(){const e=ue();return a=>({application:ge.INTERACTIVES,action:he.Interactives.OVERVIEW,args:[a.id],params:e})}function la(){const e=ue();return`shared:interactives:table:${rt(e)}`}const da="reportsInteractives.sharedInteractives",me=N.encloseNamespace(da);function Pa(){var S;const e=Ve();Ue({title:me("interactives")}),it(me("interactives"));const a=ne(qe.currentUser()),s=ne(Ge.config()),i=la(),r=we(),n=oa(),l=ca();function d(x){l&&e(l(x))}const{items:o,hasMore:m,isFetching:v,nextCursor:y,hasFirstPageCompleted:u}=tt(l,d),f=re(o==null?void 0:o.map(x=>x.objectId),X.sharedObjectsById),c=re(ke.getRecipients(o).map(x=>x.id),x=>X.getRecipientsById(x,a.data.customerId)),g=v||f.isFetching||c.isFetching;return!u||o!=null&&o.length&&!f.hasFirstRequestCompleted?t.jsx(nt,{variant:"interactives",children:t.jsx(st,{variant:"interactives"})}):o.length?t.jsxs(t.Fragment,{children:[t.jsx(sa,{sentShares:o,sharedObjects:f.items,shareRecipients:c.items,getObjectAppLink:r,getObjectActions:n,showStatus:!0,showViewCount:!0,imageCdnUrl:(S=s.data)==null?void 0:S.imageCdnUrl},i),(m||g)&&t.jsx(at,{isFetching:g,fetchNext:d,nextCursor:y})]}):t.jsx("div",{className:"bg-white rounded my-3 py-5",children:t.jsx("div",{className:"pb-5",children:t.jsx(lt,{imageUrl:Re.EmptyStates.Interactives.SharedInteractives,useInteractiveCopy:!0})})})}export{Pa as SharedInteractivesView};
2
+ //# sourceMappingURL=Ct187YvN.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ct187YvN.chunk.js","sources":["../../../../libs/shared/src/apps/share/components/shared-by-me/empty-state/SharedByMeEmptyState.tsx","../../../../libs/shared/src/apps/share/constants/TableTheme.ts","../../../../../node_modules/timeago.js/esm/lang/en_US.js","../../../../../node_modules/timeago.js/esm/lang/zh_CN.js","../../../../../node_modules/timeago.js/esm/register.js","../../../../../node_modules/timeago.js/esm/utils/date.js","../../../../../node_modules/timeago.js/esm/format.js","../../../../../node_modules/timeago.js/esm/index.js","../../../../libs/shared/src/enums/ShareType.ts","../../../../libs/shared/src/apps/share/components/shared-by-me/share-status-indicator/ShareStatusIndicator.tsx","../../../../libs/shared/src/components/thumbnails/collection/title/CollectionThumbnailTitle.tsx","../../../../libs/shared/src/components/thumbnails/collection/CollectionThumbnail.tsx","../../../../libs/shared/src/apps/share/components/shared-object-image/SharedObjectImage.tsx","../../../../libs/shared/src/components/avatar-list/AvatarList.tsx","../../../../libs/shared/src/apps/share/components/shared-to-avatar-list/SharedToAvatarList.tsx","../../../../libs/shared/src/enums/ShareActivityStatus.ts","../../../../libs/shared/src/apps/share/utils/ShareHelper.ts","../../../../libs/shared/src/components/actions/Actions.tsx","../../../../libs/shared/src/apps/share/components/shared-by-me/table/SharedByMeTableUtils.tsx","../../../../libs/shared/src/apps/share/components/shared-by-me/table/SharedByMeTable.tsx","../../../../libs/shared/src/utils/ShareHelper.ts","../../../../libs/shared/src/images/svg/objects/AnalyticsSvg.tsx","../../src/apps/interactives/views/shared-interactives/SharedInteractivesViewUtils.tsx","../../src/apps/interactives/views/shared-interactives/SharedInteractivesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nconst namespace = 'share.sharedByMeEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SharedByMeEmptyStateProps {\n imageUrl: string;\n appLink?: Core.AppLink;\n useInteractiveCopy?: boolean;\n}\n\nexport function SharedByMeEmptyState(props: SharedByMeEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} size='small'/>\n <EmptyState.Heading>\n {getPhrase(props.useInteractiveCopy ? 'interactivesHeading' : 'genericHeading')}\n </EmptyState.Heading>\n <EmptyState.Info>{getPhrase(props.useInteractiveCopy ? 'interactivesInfo' : 'genericInfo')}</EmptyState.Info>\n {!!props.appLink &&\n <EmptyState.Cta appLink={props.appLink} text={getPhrase('cta')} />\n }\n </EmptyState>\n );\n}","import { TableTheme } from 'libs/shared/components/table/Table';\n\nexport const SHARES_TABLE_THEME: TableTheme = {\n table: 'striped-list no-full-width pb-3',\n header: 'fw-semibold pb-1',\n headerCell: `py-2 ps-2 text-nowrap`,\n row: 'striped-row rounded',\n cell: 'd-flex align-items-center p-2'\n};","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map","export enum ShareType {\n DirectShare = 'DirectShare',\n ShareLink = 'ShareLink'\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ShareLinkStatus } from 'libs/shared/enums/ShareLinkStatus';\nimport { ShareType } from 'libs/shared/enums/ShareType';\nimport { LockSvg } from 'libs/shared/images/svg/status/LockSvg';\nimport { UnionShareObject } from 'libs/shared/interfaces';\n\nimport styles from './share-status-indicator.module.scss';\n\nconst namespace = 'share.shareStatusIndicator';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getStatusPhrase(share: UnionShareObject): string {\n if (share.type === ShareType.DirectShare)\n return getPhrase('active');\n\n switch (share.status) {\n case ShareLinkStatus.Active:\n return getPhrase('active');\n\n case ShareLinkStatus.Expired:\n return getPhrase('expired');\n }\n}\n\nfunction getBgColourClassName(share: UnionShareObject): string {\n if (share.type === ShareType.DirectShare)\n return 'bg-success';\n \n switch (share.status) {\n case ShareLinkStatus.Active:\n return 'bg-success';\n\n case ShareLinkStatus.Expired:\n return 'bg-gray-500';\n }\n}\n\ninterface ShareStatusIndicatorProps {\n share: UnionShareObject;\n}\n\n/**\n * TODO: add support for deleted share links (currently the api doesn't return these.)\n */\nexport function ShareStatusIndicator(props: ShareStatusIndicatorProps): JSX.Element {\n if (props.share.type === ShareType.DirectShare && !props.share.recipients?.length)\n return <></>;\n\n if (props.share.type === ShareType.ShareLink && props.share.isPasswordProtected) {\n return (\n <Tooltip title={getPhrase('passwordProtected')} spanHack>\n <SvgContainer svg={LockSvg} size={SvgContainerSize.Small} />\n </Tooltip>\n );\n }\n\n return (\n <Tooltip\n title={getStatusPhrase(props.share)}\n spanHack\n spanHackClassName={styles.indicatorContainer}\n >\n <div className={`${styles.indicator} ${getBgColourClassName(props.share)}`} />\n </Tooltip>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './collection-thumbnail-title.module.scss';\n\ninterface BaseCollectionThumbnailTitleProps {\n title: string;\n}\n\nfunction BaseCollectionThumbnailTitle(props: BaseCollectionThumbnailTitleProps): JSX.Element {\n return (\n <h3 title={props.title} className='h6'>{props.title}</h3>\n );\n}\n\ninterface CollectionThumbnailTitleProps extends BaseCollectionThumbnailTitleProps {\n appLink: Core.AppLink;\n}\n\nexport function CollectionThumbnailTitle(props: CollectionThumbnailTitleProps) {\n if (!props.appLink) {\n return (\n <BaseCollectionThumbnailTitle {...props} />\n );\n }\n \n return (\n <AppLink appLink={props.appLink} className={`${styles.thumbnailTitle}`}>\n <BaseCollectionThumbnailTitle {...props} />\n </AppLink>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnailTitle } from 'libs/shared/components/thumbnails/collection/title/CollectionThumbnailTitle';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { PlaySvg } from 'libs/shared/images/svg/actions/PlaySvg';\nimport { SeriesSvg } from 'libs/shared/images/svg/objects/SeriesSvg';\nimport { Playlist, Series } from 'libs/shared/interfaces';\nimport { ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nimport styles from './collection-thumbnail.module.scss';\n\nconst namespace = 'shared.collectionThumbnail';\n\ntype SupportedContentType = Playlist | Series;\n\ninterface CollectionThumbnailProps {\n appLink?: Core.AppLink\n collection: SupportedContentType;\n imageOptions?: ImageOptions;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showMask?: boolean;\n showVideoCount?: boolean;\n onlyCount?: boolean;\n title?: string;\n titleAppLink?: Core.AppLink;\n subText?: string;\n subTextAppLink?: Core.AppLink;\n hoverText?: string;\n}\n\nexport function CollectionThumbnail(props: CollectionThumbnailProps) {\n function getFirstVideo() {\n let collectionVideos = props.collection?.videos;\n\n if (!collectionVideos)\n return;\n\n if (!collectionVideos.count && props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.clips.count)\n collectionVideos = playlist.clips;\n\n if (playlist.interactives.count)\n collectionVideos = playlist.interactives;\n }\n\n return ArrayHelper.first(collectionVideos.data);\n }\n\n function getVideoCount() {\n let totalCount = 0;\n\n if (props.collection.videos && props.collection.videos.count) {\n totalCount += props.collection.videos.count;\n }\n\n if (props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.interactives?.count)\n totalCount += playlist.interactives.count;\n\n if (playlist.clips?.count)\n totalCount += playlist.clips.count;\n }\n\n return totalCount;\n }\n\n function getEntityType(collection: SupportedContentType) {\n if (MasterTypeHelper.isType<Playlist>(collection, MasterType.Playlist)) {\n return EntityType.Playlist;\n }\n\n if (MasterTypeHelper.isType<Series>(collection, MasterType.Series)) {\n return EntityType.Series;\n }\n }\n\n const firstVideo = getFirstVideo();\n const videoCount = getVideoCount();\n const showTexts = props.title?.length || props.subText?.length;\n\n const analyticsData = {\n id: props.collection.id.toString(),\n name: props.collection.name,\n\n ...props.analyticsData\n };\n\n const analyticsOptions = {\n actionType: UserAction.Click,\n entity: getEntityType(props.collection),\n \n ...props.analyticsOptions\n };\n\n return (\n <div>\n <div className={`position-relative ${styles.thumbnailContainer} z-1`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n preventFocus\n >\n {props.showMask &&\n <div className={`${styles.mask} position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none`}>\n <div className={`${styles.badge} d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2`}>\n <SvgContainer svg={PlaySvg} className='svg-container text-white' />\n <p className='d-inline fw-medium text-white mb-0'>\n {props.hoverText?.length ?\n <span>{props.hoverText}</span> :\n <Text namespace={namespace} phrase='playAll' />\n }\n </p>\n </div>\n </div>\n }\n\n {firstVideo &&\n <VideoThumbnail\n video={firstVideo}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n hideRating\n hideDuration\n hideVideoTypeBadge\n />\n }\n\n {!firstVideo &&\n <div className='ratio ratio-16x9 bg-light rounded-3'>\n <div className='d-flex justify-content-center align-items-center'>\n <SvgContainer svg={PlaySvg} className='w-33 opacity-25 text-gray-400' />\n </div>\n </div>\n }\n\n {props.showVideoCount &&\n <div className={`${styles.badge} d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2`}>\n <SvgContainer svg={SeriesSvg} className='svg-container text-white me-1' />\n <p className='d-inline fw-semibold text-white mb-0'>\n {props.onlyCount\n ? <span>{videoCount}</span>\n : <Text namespace={namespace} phrase='videos' options={{ count: videoCount, smartCount: videoCount }} />\n }\n </p>\n </div>\n }\n </AppLink>\n\n </div>\n \n {showTexts &&\n <div className='mt-2 d-flex flex-column'>\n {props.subText &&\n <TitleSubText title={props.subText} appLink={props.subTextAppLink}>\n {props.subText}\n </TitleSubText>\n }\n {props.title &&\n <CollectionThumbnailTitle\n title={props.collection.name}\n appLink={props.titleAppLink}\n />\n }\n </div>\n }\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnail } from 'libs/shared/components/thumbnails/collection/CollectionThumbnail';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { BaseObject, Image, Playlist, Series } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './shared-object-image.module.scss';\n\nconst namespace = 'shared.sharedObjectImage';\n\nconst BASE_IMAGE_CLASS_NAME = 'rounded overflow-hidden';\n\ninterface ImageProps {\n image: Image;\n imageType: ImageType;\n imageClassName?: string;\n imageFallbackComponent: JSX.Element;\n}\n\nfunction getImageProps(object: BaseObject): ImageProps {\n const image = ImageHelper.getDisplayImageFromObject(object);\n\n if (VideoHelper.isVideoType(object))\n return {\n image,\n imageType: ImageType.Thumbnails,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: <ImageFallback type={ImageFallbackType.Video} />\n };\n\n switch (object.typeId) {\n case MasterType.Series:\n return {\n image,\n imageType: ImageType.TallPosters,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent:\n <ImageFallback type={ImageFallbackType.Series} svgContainerClassName={styles.posterFallbackSvg} />\n };\n\n case MasterType.Playlist:\n return {\n image,\n imageType: ImageType.Covers,\n imageClassName: !image?.url\n ? `${BASE_IMAGE_CLASS_NAME} ${getBgColorClass(object.name, BG_COLOUR_CLASS_NAMES)}`\n : BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: (\n <ImageFallback\n type={ImageFallbackType.Playlist}\n svgContainerClassName={image?.url ? styles.coverFallbackSvg : 'd-none'}\n extraClasses={!image?.url && 'bg-transparent'}\n />\n )\n };\n }\n}\n\nfunction InsightsMask() {\n return (\n <div className={`d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center`}>\n <div className='position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3'></div>\n <div className='d-flex align-items-end gap-2 h-50 z-1'>\n <div className='d-flex align-items-end h-50'>\n <div className={`${styles.bar} ${styles.a} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-75'>\n <div className={`${styles.bar} ${styles.b} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-100'>\n <div className={`${styles.bar} ${styles.c} rounded shadow`}></div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction getImageRatio(object: BaseObject): ImageFallbackType {\n if (VideoHelper.isVideoType(object))\n return 16 / 9;\n\n if (object.typeId === MasterType.Playlist)\n return 1;\n\n if (object.typeId === MasterType.Series)\n return 9 / 16;\n}\n\nSharedObjectImage.defaultProps = {\n imageOptions: { size: ImageSize.Small }\n};\n\ninterface SharedObjectImageProps {\n object: BaseObject;\n locationContext: LocationContext;\n appLink?: Core.AppLink;\n showVideoMetadata?: boolean;\n fixedHeight?: boolean;\n requireMarking?: number;\n imageOptions?: ImageOptions;\n showInsightsMask?: boolean;\n showCollectionMask?: boolean;\n showVideoCount?: boolean;\n thumbnailSize?: 'sm' | 'md';\n imageClassName?: string;\n hideBottomBar?: boolean;\n onlyCount?: boolean;\n}\n\nexport function SharedObjectImage(props: SharedObjectImageProps): JSX.Element {\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (!el || !props.fixedHeight)\n return;\n\n el.style.width = `${el.offsetHeight * getImageRatio(props.object)}px`;\n }, []);\n\n const useVideoThumbnail = VideoHelper.isVideoType(props.object);\n\n const {\n image,\n imageType,\n imageClassName,\n imageFallbackComponent\n } = getImageProps(props.object);\n\n const thumbnailMetadata = !props.showVideoMetadata ? {\n hideDuration: true,\n hideMask: true,\n hideRating: true,\n hideVideoBadgeType: true,\n hideBottomBar: true\n } : {\n hideBottomBar: props.hideBottomBar\n };\n\n return (\n <div className='d-flex align-items-center justify-content-center w-100 h-100'>\n <div ref={ref} className={props.fixedHeight ? 'h-100' : 'w-100'}>\n {useVideoThumbnail &&\n <div className={`${styles.thumbnailContainer} position-relative`}>\n {props.showInsightsMask && <InsightsMask />}\n <AppLink appLink={props.appLink}>\n <VideoThumbnail\n video={props.object}\n size={props.thumbnailSize}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n imageClassName={props.imageClassName}\n {...thumbnailMetadata}\n />\n </AppLink>\n {!!props.requireMarking && (\n <div className={`${props.showInsightsMask && styles.requireMarking} position-absolute bottom-0 end-0 z-1 m-2`}>\n <div className={`${styles.badge} d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2`}>\n <Text namespace={namespace} phrase='requireMarking' options={{ smartCount: props.requireMarking }} />\n </div>\n </div>\n )}\n </div>\n }\n {!useVideoThumbnail &&\n <>\n {'videos' in (props.object as Playlist | Series) ? (\n <CollectionThumbnail\n collection={props.object}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n showMask={props.showCollectionMask}\n showVideoCount={props.showVideoCount}\n onlyCount={props.onlyCount}\n />\n ) : (\n <BaseImage\n data={image?.url}\n imageType={imageType}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n className={imageClassName}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n >\n {imageFallbackComponent}\n </BaseImage>\n )}\n </>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SharedLinkAvatar } from 'libs/shared/apps/share/components/shared-to-avatar-list/SharedToAvatarList';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.avatarList';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface AvatarItemProps {\n imageCdnUrl: string;\n index: number;\n item?: BaseObject;\n hiddenItems?: BaseObject[];\n maxAvatars?: number;\n}\n\ninterface AvatarListProps {\n items: BaseObject[];\n imageCdnUrl: string;\n maxAvatars?: number;\n avatarItem?: (props: AvatarItemProps) => JSX.Element;\n getHiddenTooltip?: (hiddenItems: BaseObject[]) => string;\n numberClassname?: string;\n avatarContainerClassname?: string;\n roleToDisplay?: 'student' | 'staff';\n hasShareLink?: boolean;\n avatarSize?: 'md' | 'sm';\n shareLinkText?: string;\n}\n\nAvatarList.defaultProps = {\n maxAvatars: 5\n};\n\nexport function AvatarList(props: AvatarListProps): JSX.Element {\n const itemsToDisplay = props.items.length > props.maxAvatars\n ? props.items.slice(0, props.maxAvatars - 1)\n : props.items;\n\n const hiddenItems = props.items.length > itemsToDisplay.length\n ? props.items.slice(props.maxAvatars - 1)\n : [];\n\n const AvatarItem = props.avatarItem;\n const hiddenItemsCounts = hiddenItems.length;\n const translateX = props.avatarSize === 'sm' ? 4 : 8;\n\n function getTooltip() {\n if (props.getHiddenTooltip)\n return props.getHiddenTooltip(hiddenItems);\n\n if (props.roleToDisplay)\n return getPhrase(props.roleToDisplay === 'staff' ? 'staff' : 'student', { count: hiddenItemsCounts, smartCount: hiddenItemsCounts });\n\n return getPhrase('users', { count: hiddenItemsCounts, smartCount: hiddenItemsCounts });\n }\n\n function getContainerStyles() {\n return {\n marginRight: `-${((itemsToDisplay.length - 1) + (hiddenItems.length ? 1 : 0) + (props.hasShareLink ? 1 : 0)) * translateX}px`\n };\n }\n\n function getAvatarStyles(idx: number) {\n return {\n transform: `translateX(${(props.hasShareLink ? idx + 1 : idx) * -translateX}px)`,\n zIndex: props.maxAvatars - idx\n };\n }\n\n if (itemsToDisplay.length === 0 && hiddenItems.length === 0)\n return <></>;\n\n return (\n <div\n className='d-flex'\n style={getContainerStyles()}\n >\n {props.hasShareLink && (\n <div style={{ zIndex: props.maxAvatars + 1 }}>\n <SharedLinkAvatar text={props.shareLinkText} avatarSize={props.avatarSize} className='bg-dark text-white' />\n </div>\n )}\n {itemsToDisplay.map((item, idx) => (\n <div\n className={`${props.avatarContainerClassname || ''}`} key={item.id}\n style={getAvatarStyles(idx)}\n >\n <AvatarItem\n item={item}\n imageCdnUrl={props.imageCdnUrl}\n index={idx}\n maxAvatars={props.maxAvatars}\n />\n </div>\n ))}\n\n {!!hiddenItems.length && (\n <div\n className={`${props.avatarContainerClassname || ''} bg-white rounded-circle`}\n style={{ transform: `translateX(${itemsToDisplay.length * -translateX}px)`, zIndex: props.maxAvatars - itemsToDisplay.length }}\n >\n <Tooltip title={getTooltip()} spanHack spanHackClassName='h-100 w-100'>\n <div className={`d-flex justify-content-center align-items-center border border-dark rounded-circle h-100 w-100 ${props.numberClassname || ''}`}>\n {`+${hiddenItems.length}`}\n </div>\n </Tooltip>\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { AvatarItemProps, AvatarList } from 'libs/shared/components/avatar-list/AvatarList';\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { AnonymousSvg } from 'libs/shared/images/svg/objects/AnonymousSvg';\nimport { ClassroomsSvg } from 'libs/shared/images/svg/objects/ClassroomsSvg';\nimport { GroupSvg } from 'libs/shared/images/svg/objects/GroupSvg';\nimport { LinkSvg } from 'libs/shared/images/svg/objects/LinkSvg';\nimport { BaseObject, Classroom, ClassroomGroup, User } from 'libs/shared/interfaces';\nimport { mapColourToBsVariant } from 'libs/shared/utils/GroupHelper';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport styles from './shared-to-avatar-list.module.scss';\n\nconst namespace = 'reportsShare.sharedToAvatarList';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getHiddenRecipientText(hiddenRecipients: BaseObject[]): string {\n const counts = ArrayHelper.countBy(hiddenRecipients, 'typeId');\n const userCount = counts[MasterType.User];\n const classroomCount = counts[MasterType.Classroom];\n const groupCount = counts[MasterType.ClassroomGroup];\n\n if (userCount && classroomCount && groupCount)\n return getPhrase('classroomsGroupsAndUsers', { userCount, classroomCount, groupCount });\n\n if (userCount && classroomCount)\n return getPhrase('classroomsAndUsers', { userCount, classroomCount });\n\n if (userCount && groupCount)\n return getPhrase('groupsAndUsers', { userCount, groupCount });\n\n if (classroomCount && groupCount)\n return getPhrase('classroomsAndGroups', { classroomCount, groupCount });\n\n if (userCount)\n return getPhrase('users', { userCount });\n\n if (classroomCount)\n return getPhrase('classrooms', { classroomCount });\n\n if (groupCount)\n return getPhrase('groups', { groupCount });\n}\n\nfunction SharedToAvatar(props: AvatarItemProps): JSX.Element {\n const user: User = props.item?.typeId === MasterType.User && props.item as User;\n const classroom: Classroom = props.item?.typeId === MasterType.Classroom && props.item as Classroom;\n const classroomGroup: ClassroomGroup = props.item?.typeId === MasterType.ClassroomGroup\n && props.item as ClassroomGroup;\n\n const svgContainerClassName = 'd-flex justify-content-center align-items-center text-white rounded-circle h-100 w-100';\n\n return (\n <>\n {!!user &&\n <Tooltip title={`${user.name} ${user.surname}`} spanHack spanHackClassName='h-100 w-100'>\n <Avatar\n imageUrl={user.avatar?.url}\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(user.name, user.surname)}\n extraClasses={styles.sharedAvatar}\n />\n </Tooltip>\n }\n {!!classroom &&\n <Tooltip title={classroom.name} spanHack spanHackClassName='h-100 w-100'>\n <div className={svgContainerClassName}>\n <IconCircle\n svg={ClassroomsSvg}\n svgSize={SvgContainerSize.Large}\n variant='teal'\n />\n </div>\n </Tooltip>\n }\n {!!classroomGroup &&\n <Tooltip title={classroomGroup.name} spanHack spanHackClassName='h-100 w-100'>\n <div className={svgContainerClassName}>\n <IconCircle\n svg={GroupSvg}\n variant={mapColourToBsVariant(classroomGroup.metadata?.colour)}\n />\n </div>\n </Tooltip>\n }\n </>\n );\n}\n\n\ninterface AnonymousSharedToAvatarProps {\n avatarSize?: 'md' | 'sm';\n}\n\nexport function AnonymousSharedToAvatar(props: AnonymousSharedToAvatarProps): JSX.Element {\n return (\n <div className={`${styles.avatarContainer} ${props.avatarSize === 'sm' ? styles.sm : ''}`}>\n <Tooltip\n title={getPhrase('anonymous')}\n spanHack\n spanHackClassName='bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100'\n >\n <SvgContainer svg={AnonymousSvg} size={props.avatarSize === 'sm' ? SvgContainerSize.Small : null} />\n </Tooltip>\n </div>\n );\n}\n\ninterface SharedLinkAvatarProps {\n text?: string;\n avatarSize?: 'md' | 'sm';\n className?: string;\n}\n\nexport function SharedLinkAvatar(props: SharedLinkAvatarProps): JSX.Element {\n return (\n <div className={`${styles.avatarContainer} ${props.avatarSize === 'sm' ? styles.sm : ''}`}>\n <Tooltip\n title={props.text || getPhrase('sharedLink')}\n spanHack\n spanHackClassName={`bg-light text-dark d-flex justify-content-center align-items-center rounded-circle h-100 w-100 ${props.className || ''}`}\n >\n <SvgContainer svg={LinkSvg} size={props.avatarSize === 'sm' ? SvgContainerSize.Small : null} />\n </Tooltip>\n </div>\n );\n}\n\ninterface SharedToAvatarListProps {\n recipients: BaseObject[];\n imageCdnUrl: string;\n maxAvatars?: number;\n hasShareLink?: boolean;\n avatarSize?: 'md' | 'sm';\n shareLinkText?: string;\n}\n\nSharedToAvatarList.defaultProps = {\n maxAvatars: 5\n};\n\nexport function SharedToAvatarList(props: SharedToAvatarListProps): JSX.Element {\n return (\n <AvatarList\n {...props}\n items={props.recipients}\n avatarItem={SharedToAvatar}\n avatarContainerClassname={`${styles.avatarContainer} ${props.avatarSize === 'sm' ? styles.sm : ''}`}\n getHiddenTooltip={getHiddenRecipientText}\n hasShareLink={props.hasShareLink}\n shareLinkText={props.shareLinkText}\n />\n );\n}","export enum ShareActivityStatus {\n None = 'None',\n Complete = 'Complete',\n Incomplete = 'Incomplete'\n}","import { format } from 'timeago.js';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { CheckMarkStatus } from 'libs/shared/components/check-mark-button/CheckMarkButton';\nimport { ShareActivityStatus } from 'libs/shared/enums/ShareActivityStatus';\n\ninterface ObjectWithDateShared {\n dateShared: string;\n}\n\ntype GroupedByDate<T extends ObjectWithDateShared> = { [date: string]: T[] };\n\nexport const ShareHelper = {\n groupByDateShared<T extends ObjectWithDateShared>(data: T[]): GroupedByDate<T> {\n const dateToObjectMapping: GroupedByDate<T> = ArrayHelper.groupBy(data, 'dateShared');\n\n const sortedDates = Object.keys(dateToObjectMapping).sort().reverse();\n\n // Create a sorted mapping between dates and the \"ObjectWithDateShared\" objects\n return sortedDates.reduce((acc: GroupedByDate<T>, date) => {\n const heading = format(date);\n\n if (!acc[heading])\n acc[heading] = [];\n\n acc[heading] = acc[heading].concat(dateToObjectMapping[date]);\n return acc;\n }, {});\n },\n\n mapActivityStatusToCheckMarkStatus(activityStatus: ShareActivityStatus): CheckMarkStatus {\n switch (activityStatus) {\n case ShareActivityStatus.Complete:\n return CheckMarkStatus.Complete;\n case ShareActivityStatus.Incomplete:\n return CheckMarkStatus.Incomplete;\n case ShareActivityStatus.None:\n return CheckMarkStatus.None;\n }\n },\n\n mapCheckMarkStatusToActivityStatus(checkMarkStatus: CheckMarkStatus): ShareActivityStatus {\n switch (checkMarkStatus) {\n case CheckMarkStatus.Complete:\n return ShareActivityStatus.Complete;\n case CheckMarkStatus.Incomplete:\n return ShareActivityStatus.Incomplete;\n case CheckMarkStatus.None:\n return ShareActivityStatus.None;\n }\n }\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svg?: SvgIcon;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n showBorder?: boolean; // only works for button without text label\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n customSize?: boolean;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label: JSX.Element = FunctionHelper.isFunction(a.label)\n ? a.label()\n : <>{a.label}</>;\n\n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svg={a.svg}\n svgSize={props.dropdownToggleSvgSize}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label}\n </ActionButton>\n );\n }\n\n const iconButton = (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svg={a.svg}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n showBorder={a.showBorder}\n customSize={props.customSize}\n ariaLabel={a.tooltip}\n />\n );\n\n return a.tooltip\n ? <Tooltip title={a.tooltip} spanHack>{iconButton}</Tooltip>\n : iconButton;\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </div>\n );\n}","import React from 'react';\nimport { Column } from 'react-table';\nimport { format as formatDate } from 'timeago.js';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport {\n ShareStatusIndicator\n} from 'libs/shared/apps/share/components/shared-by-me/share-status-indicator/ShareStatusIndicator';\nimport { SharedObjectImage } from 'libs/shared/apps/share/components/shared-object-image/SharedObjectImage';\nimport {\n AnonymousSharedToAvatar,\n SharedLinkAvatar,\n SharedToAvatarList\n} from 'libs/shared/apps/share/components/shared-to-avatar-list/SharedToAvatarList';\nimport { ShareHelper } from 'libs/shared/apps/share/utils/ShareHelper';\nimport { ShareLinkHelper } from 'libs/shared/apps/share/utils/ShareLinkHelper';\nimport { SharableEntity, SharableRecipient, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ShareType } from 'libs/shared/enums/ShareType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst namespace = 'share.sharedByMeTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getDateShared(share: UnionShareObject): string {\n if (share.type === ShareType.ShareLink || !share?.recipients?.length)\n return share.dateCreated;\n\n const datesShared = share.recipients.map(r => r.dateShared);\n\n datesShared.sort((date1, date2) => {\n if (DateHelper.isSame(date1, date2))\n return 0;\n\n return DateHelper.isAfter(date1, date2) ? 1 : -2;\n });\n\n\n if (!datesShared.length)\n return '';\n\n return ArrayHelper.last(datesShared);\n}\n\ninterface SharedByMeTableData {\n share: UnionShareObject;\n sharedObject: SharableEntity;\n dateShared: string;\n sharedToData: {\n share: UnionShareObject;\n sharedObject: SharableEntity;\n recipients?: BaseObject[];\n };\n viewCount: number;\n}\n\ntype TableDataGroupings = { [date: string]: SharedByMeTableData[] };\n\ninterface GetColumnsOptions {\n index: number;\n dateHeading: string;\n getObjectAppLink: (object: BaseObject) => Core.AppLink;\n getObjectActions: (object: BaseObject) => ActionOptions[];\n imageCdnUrl: string;\n showStatus?: boolean;\n showViewCount?: boolean;\n breakpoints?: Breakpoints;\n yearGroups?: YearGroup[];\n}\n\nexport function getColumns(options: GetColumnsOptions): Column<SharedByMeTableData>[] {\n const {\n index,\n dateHeading,\n getObjectAppLink,\n getObjectActions,\n imageCdnUrl,\n showStatus,\n showViewCount,\n breakpoints,\n yearGroups\n } = options;\n const isMobile = breakpoints && (breakpoints.xs || breakpoints.sm);\n\n const columns: Column<SharedByMeTableData>[] = [\n {\n Header: showStatus ? '' : dateHeading,\n accessor: 'sharedObject',\n id: 'image',\n Cell: ({ value }) => (\n <div className='w-100'>\n <SharedObjectImage\n object={value}\n appLink={getObjectAppLink(value)}\n showVideoMetadata\n locationContext={LocationContext.SharedByMe}\n />\n </div>\n ),\n minWidth: 140,\n maxWidth: 30\n },\n {\n accessor: 'sharedObject',\n id: 'name',\n Cell: ({ value }) => {\n function getSubTextPhrase(): string {\n switch (value.typeId) {\n case MasterType.Series: return 'series';\n case MasterType.Playlist: return 'playlist';\n }\n }\n\n if (value.name) {\n if (VideoHelper.isVideoType(value) && !VideoHelper.getCanBeConsumed(value)?.canNavigate) {\n return (\n <span className='clamp-2'>\n {value.name}\n </span>\n );\n }\n\n const subTextPhrase = getSubTextPhrase();\n\n return (\n <div className='clamp-2'>\n {subTextPhrase &&\n <TitleSubText>\n <Text namespace={namespace} phrase={subTextPhrase} />\n </TitleSubText>\n }\n {VideoHelper.isVideoType(value) && (\n <VideoSubText\n type='series'\n video={value}\n appLink={'series' in value && value.series ? getObjectAppLink(value.series) : null}\n analyticsOptions={{ location: LocationContext.Insights }}\n />\n )}\n <AppLink\n appLink={getObjectAppLink(value)}\n analyticsData={{ id: value.id, name: value.name }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(value.type),\n actionType: UserAction.Click,\n location: LocationContext.SharedByMe\n }}\n >\n {value.name}\n </AppLink>\n </div>\n );\n }\n\n return <span><Text namespace={namespace} phrase='videoUnavailable' /></span>;\n },\n width: 60\n },\n {\n Header: index === 0 ? getPhrase('sharedTo') : '',\n accessor: 'sharedToData',\n Cell: ({ value }) => {\n const { share, sharedObject, recipients } = value;\n\n if (!recipients) {\n const iconAndText = share.type === ShareType.ShareLink && ShareLinkHelper.getIconAndText({\n entity: sharedObject,\n entityTypeId: sharedObject.typeId,\n hasStudentExp: false,\n isPasswordProtected: share.isPasswordProtected,\n linkExpireDate: share.linkExpireDate,\n privacy: {\n privacy: share.privacy,\n overrideRestrictions: share.overrideRestrictions\n },\n status: share.status,\n yearGroups: yearGroups ?? []\n });\n\n return <SharedLinkAvatar text={iconAndText?.text} />;\n }\n \n if (!recipients?.length)\n return <AnonymousSharedToAvatar />;\n\n return (\n <SharedToAvatarList\n recipients={recipients}\n imageCdnUrl={imageCdnUrl}\n maxAvatars={isMobile ? 1 : 2}\n />\n );\n },\n width: 40\n },\n !isMobile && {\n Header: index === 0 ? getPhrase('shared') : '',\n id: 'dateShared',\n accessor: s => formatDate(s.dateShared),\n width: 40\n },\n {\n accessor: 'sharedObject',\n id: 'actions',\n Cell: ({ value }) => (\n <Actions\n actions={getObjectActions(value)}\n className='w-100 justify-content-end pe-2'\n />\n ),\n width: 20\n }\n ];\n\n const statusColumn: Column<SharedByMeTableData> = {\n Header: dateHeading,\n accessor: 'share',\n id: 'status',\n Cell: ({ value }) => (\n <ShareStatusIndicator share={value} />\n ),\n width: 5\n };\n\n const viewCountColumn: Column<SharedByMeTableData> = {\n Header: getPhrase('views'),\n accessor: 'viewCount',\n width: 30\n };\n\n if (showStatus)\n columns.splice(0, 0, statusColumn);\n\n if (showViewCount)\n columns.splice(columns.length - 1, 0, viewCountColumn);\n\n return columns.filter((Boolean));\n}\n\nexport function useGetData(\n sentShares: UnionShareObject[],\n sharedObjects: Record<string, SharableEntity>,\n shareRecipients: Record<string, SharableRecipient>,\n groupByDate: boolean\n): TableDataGroupings {\n const tableData: SharedByMeTableData[] = [];\n\n sentShares.forEach(s => {\n const sharedObject = sharedObjects?.[s.objectId];\n\n let recipients: BaseObject[] | null = null;\n\n if (s.type === ShareType.DirectShare) {\n recipients = [];\n\n s.recipients?.forEach(r => {\n const recipient = shareRecipients?.[r.id];\n\n if (recipient)\n recipients.push(recipient);\n });\n }\n\n // Skip if we don't have access to the shared object (e.g. if it's been deleted)\n if (sharedObject)\n tableData.push({\n share: s,\n sharedObject,\n sharedToData: {\n share: s,\n sharedObject,\n recipients\n },\n dateShared: getDateShared(s),\n viewCount: s.viewCount ?? 0\n });\n });\n\n if (!groupByDate)\n return { [getPhrase('title')]: tableData };\n\n return ShareHelper.groupByDateShared(tableData);\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SHARES_TABLE_THEME } from 'libs/shared/apps/share/constants/TableTheme';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Table } from 'libs/shared/components/table/Table';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\n\nimport { SharableEntity, SharableRecipient } from '../../../views/share/ShareViewHelper';\n\nimport { getColumns, useGetData } from './SharedByMeTableUtils';\n\ninterface SharedByMeTableProps {\n sentShares: UnionShareObject[];\n sharedObjects: Record<string, SharableEntity>;\n shareRecipients: Record<string, SharableRecipient>;\n getObjectAppLink: (object: BaseObject) => Core.AppLink;\n getObjectActions: (object: BaseObject) => ActionOptions[];\n groupByDateShared?: boolean;\n showStatus?: boolean;\n showViewCount?: boolean;\n breakpoints?: Breakpoints;\n imageCdnUrl: string;\n yearGroups?: YearGroup[];\n}\n\nexport function SharedByMeTable(props: SharedByMeTableProps): JSX.Element {\n const data = useGetData(\n props.sentShares,\n props.sharedObjects,\n props.shareRecipients,\n !!props.groupByDateShared\n );\n\n return (\n <>\n {Object.keys(data).map((heading, index) => (\n <Table\n key={index}\n columns={getColumns({\n index,\n dateHeading: heading,\n getObjectAppLink: props.getObjectAppLink,\n getObjectActions: props.getObjectActions,\n imageCdnUrl: props.imageCdnUrl,\n showStatus: props.showStatus,\n showViewCount: props.showViewCount,\n breakpoints: props.breakpoints,\n yearGroups: props.yearGroups\n })}\n data={data[heading]}\n theme={SHARES_TABLE_THEME}\n />\n ))}\n </>\n );\n}","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ShareType } from 'libs/shared/enums/ShareType';\nimport { DirectShare, ShareRecipient, UnionShareObject } from 'libs/shared/interfaces';\n\nexport const ShareHelper = {\n getDirectShares(sentShares: UnionShareObject[]): DirectShare[] {\n return sentShares?.filter(s => s.type === ShareType.DirectShare) as DirectShare[] ?? [];\n },\n \n getRecipients(sentShares: UnionShareObject[]): ShareRecipient[] {\n return ArrayHelper.flatten(ShareHelper.getDirectShares(sentShares).map(d => d.recipients ?? []));\n }\n};","import React from 'react';\n\nexport function AnalyticsSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M17.5 5h1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 .5-.5m-1.5.5v13a1.5 1.5 0 0 0 1.5 1.5h1a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 18.5 4h-1A1.5 1.5 0 0 0 16 5.5m-4.5 3.638a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V9.638a.5.5 0 0 0-.5-.5zm-1.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zM4 12.74a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5V18.5A1.5 1.5 0 0 1 6.5 20h-1A1.5 1.5 0 0 1 4 18.5zm1.5-.5a.5.5 0 0 0-.5.5V18.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-5.759a.5.5 0 0 0-.5-.5z'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { getFilterParamsKey } from 'libs/shared/apps/analytics/utils/FilterParamUtils';\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { AnalyticsSvg } from 'libs/shared/images/svg/objects/AnalyticsSvg';\nimport { Interactive } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { useGetExternalUrl } from 'shared/hooks/UseGetExternalUrl';\nimport { useGetAppLinkFilterParams, useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { ExternalRouteHelper } from 'shared/utils/ExternalRouteHelper';\n\nconst namespace = 'reportsInteractives.sharedInteractives';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetRequest(): ((cursor?: string) => Flight.Request) | false {\n const requestFilter = useGetRequestFilter();\n\n if (!requestFilter)\n return false;\n\n return (cursor?: string) => {\n const { start, end, userId, groupId } = requestFilter;\n\n return ShareRequests.sentShare({\n start,\n end,\n recipientUserId: userId,\n recipientGroupId: groupId,\n objectTypeId: MasterType.Interactive,\n cursor\n });\n };\n}\n\nexport function useGetActions(): (interactive: Interactive) => ActionOptions[] {\n const getAppLink = useGetInteractiveAppLink();\n\n const getObjectUrl = useGetExternalUrl(ExternalRouteHelper.getPrimaryObjectUrl);\n\n return (interactive: Interactive) => {\n const { canConsume } = VideoHelper.getCanBeConsumed(interactive);\n\n if (!canConsume)\n return [];\n\n const options: ActionOptions[] = [\n {\n tooltip: getPhrase('viewResults'),\n svg: AnalyticsSvg,\n appLink: getAppLink(interactive),\n className: 'me-2',\n button: true\n },\n {\n label: getPhrase('editShareSettings'),\n appLink: {\n application: AppChannels.DEFAULT,\n action: Actions.Default.SHARE,\n args: [interactive.id],\n params: { entityType: 'interactive' }\n }\n }\n ];\n\n if (getObjectUrl)\n options.push({\n label: getPhrase('viewOriginal'),\n href: getObjectUrl(interactive),\n openInNewTab: true\n });\n\n return options;\n };\n}\n\nexport function useGetInteractiveAppLink(): (interactive: Interactive) => Core.AppLink {\n const filterQueryParams = useGetAppLinkFilterParams();\n\n return (interactive: Interactive) => ({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.OVERVIEW,\n args: [interactive.id],\n params: filterQueryParams\n });\n}\n\nexport function useTableKey(): string {\n const filterQueryParams = useGetAppLinkFilterParams();\n\n return `shared:interactives:table:${getFilterParamsKey(filterQueryParams)}`;\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { SharedByMeEmptyState } from 'libs/shared/apps/share/components/shared-by-me/empty-state/SharedByMeEmptyState';\nimport { SharedByMeTable } from 'libs/shared/apps/share/components/shared-by-me/table/SharedByMeTable';\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useGrowingBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, UnionShareObject } from 'libs/shared/interfaces';\nimport { ShareHelper } from 'libs/shared/utils/ShareHelper';\n\nimport { PartialTable } from 'shared/components/partial-loading/PartialTable';\nimport { PartialTableContent } from 'shared/components/partial-loading/PartialTableContent';\nimport { ImageUrls } from 'shared/constants/ReportsImageUrls';\nimport { useSetHeaderTitle } from 'shared/hooks/UseSetHeaderTitle';\n\nimport { useGetActions, useGetInteractiveAppLink, useGetRequest, useTableKey } from './SharedInteractivesViewUtils';\n\nconst namespace = 'reportsInteractives.sharedInteractives';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SharedInteractivesView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n useSetPageMetadata({ title: getPhrase('interactives') });\n useSetHeaderTitle(getPhrase('interactives'));\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const tableKey = useTableKey();\n\n const getAppLink = useGetInteractiveAppLink();\n const getActions = useGetActions();\n\n const getRequest = useGetRequest();\n\n function fetchNext(cursor?: string): void {\n if (!getRequest)\n return;\n\n fetch(getRequest(cursor));\n }\n\n const {\n items: sentShares,\n hasMore,\n isFetching: isFetchingSentShares,\n nextCursor,\n hasFirstPageCompleted\n } = useInfiniteList<UnionShareObject>(getRequest, fetchNext);\n\n const sharedInteractives = useGrowingBatchFetch(\n sentShares?.map(obj => obj.objectId),\n ShareRequests.sharedObjectsById\n );\n\n const recipients = useGrowingBatchFetch(\n ShareHelper.getRecipients(sentShares).map(obj => obj.id),\n ids => ShareRequests.getRecipientsById(ids, currentUser.data.customerId)\n );\n \n // Wait until all data is fetched before telling the table to re-render\n const isFetching = isFetchingSentShares\n || sharedInteractives.isFetching\n || recipients.isFetching;\n\n if (!hasFirstPageCompleted || (sentShares?.length && !sharedInteractives.hasFirstRequestCompleted))\n return (\n <PartialTable variant='interactives'>\n <PartialTableContent variant='interactives' />\n </PartialTable>\n );\n\n if (!sentShares.length)\n return (\n <div className='bg-white rounded my-3 py-5'>\n <div className='pb-5'>\n <SharedByMeEmptyState\n imageUrl={ImageUrls.EmptyStates.Interactives.SharedInteractives}\n useInteractiveCopy\n />\n </div>\n </div>\n );\n\n return (\n <>\n <SharedByMeTable\n key={tableKey}\n sentShares={sentShares}\n sharedObjects={sharedInteractives.items}\n shareRecipients={recipients.items}\n getObjectAppLink={getAppLink}\n getObjectActions={getActions}\n showStatus\n showViewCount\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n {(hasMore || isFetching) &&\n <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} nextCursor={nextCursor} />\n }\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SharedByMeEmptyState","props","EmptyState","jsx","SHARES_TABLE_THEME","EN_US","en_US","diff","idx","unit","ZH_CN","zh_CN","Locales","register","locale","func","getLocale","SEC_ARRAY","toDate","input","formatDiff","localeFunc","agoIn","totalSec","diffSec","date","relativeDate","relDate","format","opts","sec","ShareType","getStatusPhrase","share","ShareLinkStatus","getBgColourClassName","ShareStatusIndicator","_a","Fragment","Tooltip","SvgContainer","LockSvg","SvgContainerSize","styles","BaseCollectionThumbnailTitle","CollectionThumbnailTitle","AppLink","CollectionThumbnail","getFirstVideo","collectionVideos","MasterType","playlist","ArrayHelper","getVideoCount","totalCount","_b","getEntityType","collection","MasterTypeHelper","EntityType","firstVideo","videoCount","showTexts","analyticsData","analyticsOptions","UserAction","jsxs","PlaySvg","_c","Text","VideoThumbnail","ThumbnailTextPosition","SeriesSvg","TitleSubText","BASE_IMAGE_CLASS_NAME","getImageProps","object","image","ImageHelper","VideoHelper","ImageType","ImageFallback","ImageFallbackType","getBgColorClass","BG_COLOUR_CLASS_NAMES","InsightsMask","getImageRatio","SharedObjectImage","ImageSize","ref","React","el","useVideoThumbnail","imageType","imageClassName","imageFallbackComponent","thumbnailMetadata","ShareViewHelper","BaseImage","AvatarList","itemsToDisplay","hiddenItems","AvatarItem","hiddenItemsCounts","translateX","getTooltip","getContainerStyles","getAvatarStyles","SharedLinkAvatar","item","getHiddenRecipientText","hiddenRecipients","counts","userCount","classroomCount","groupCount","SharedToAvatar","user","classroom","classroomGroup","svgContainerClassName","Avatar","_d","UserHelper","IconCircle","ClassroomsSvg","GroupSvg","mapColourToBsVariant","_e","AnonymousSharedToAvatar","AnonymousSvg","LinkSvg","SharedToAvatarList","ShareActivityStatus","ShareHelper","data","dateToObjectMapping","acc","heading","activityStatus","CheckMarkStatus","checkMarkStatus","Actions","orderedActions","React.useMemo","a","b","buttonActions","moreActions","className","React.Fragment","label","FunctionHelper","ActionButton","iconButton","IconButton","ActionsDropdown","getDateShared","datesShared","r","date1","date2","DateHelper","getColumns","options","index","dateHeading","getObjectAppLink","getObjectActions","imageCdnUrl","showStatus","showViewCount","breakpoints","yearGroups","isMobile","columns","value","LocationContext","getSubTextPhrase","subTextPhrase","VideoSubText","sharedObject","recipients","iconAndText","ShareLinkHelper","s","formatDate","statusColumn","viewCountColumn","useGetData","sentShares","sharedObjects","shareRecipients","groupByDate","tableData","recipient","SharedByMeTable","Table","d","AnalyticsSvg","useGetRequest","requestFilter","useGetRequestFilter","cursor","start","end","userId","groupId","ShareRequests","useGetActions","getAppLink","useGetInteractiveAppLink","getObjectUrl","useGetExternalUrl","ExternalRouteHelper","interactive","canConsume","AppChannels","filterQueryParams","useGetAppLinkFilterParams","useTableKey","getFilterParamsKey","SharedInteractivesView","fetch","Flight.useGetFetch","useSetPageMetadata","useSetHeaderTitle","currentUser","Flight.useBasicFetch","UserRequests","config","ConfigRequests","tableKey","getActions","getRequest","fetchNext","hasMore","isFetchingSentShares","nextCursor","hasFirstPageCompleted","useInfiniteList","sharedInteractives","useGrowingBatchFetch","obj","ids","isFetching","PartialTable","PartialTableContent","InfiniteScrollFooter","ImageUrls"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7]}
@@ -0,0 +1,2 @@
1
+ import{j as i,c5 as t}from"./app-BqRx5tK8.js";function n(e){let s=`d-flex align-items-center badge-list ${t.minHeight}`;return e.className&&(s+=` ${e.className}`),i.jsx("div",{className:s,children:e.children})}export{n as B};
2
+ //# sourceMappingURL=CwyVC768.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CwyVC768.chunk.js","sources":["../../../../libs/shared/src/components/badges/BadgeListContainer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}"],"names":["BadgeListContainer","props","className","styles","jsx"],"mappings":"8CAQO,SAASA,EAAmBC,EAAsE,CACvG,IAAIC,EAAY,wCAAwCC,EAAO,SAAS,GAExE,OAAIF,EAAM,YACRC,GAAa,IAAID,EAAM,SAAS,IAGhCG,EAAAA,IAAC,MAAA,CAAI,UAAAF,EACF,SAAAD,EAAM,SACT,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{r as a,d as u,c as i,V as o}from"./app-BqRx5tK8.js";import{g as f}from"./CX5q-0jT.chunk.js";function E(e){const[s,t]=a.useState(!1),n=f(u());return a.useEffect(()=>{t(r=>!r)},[e.isFetching]),a.useEffect(()=>{t(r=>!r)},[n]),s}function d(e){var t;const[,s]=i(o.AUDIENCE_FILTER_SELECTED_COUNT);a.useEffect(()=>{if(!e.data){s(null);return}s(e.data.studentCount)},[(t=e.data)==null?void 0:t.studentCount])}export{E as a,d as u};
2
+ //# sourceMappingURL=Cy4L5XsI.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cy4L5XsI.chunk.js","sources":["../../src/apps/interactives/hooks/UseRefreshInteractiveResults.ts","../../src/apps/interactives/hooks/UseSetInteractiveResultsAudienceFilterCount.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { getFilterParamsKey } from 'libs/shared/apps/analytics/utils/FilterParamUtils';\nimport { InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { useGetAppLinkFilterParams } from 'shared/hooks/UseGetFilterQueryParams';\n\nexport function useRefreshInteractiveResults(results: Flight.Response<InteractiveResultSet>): boolean {\n const [ refresh, setRefresh ] = useState(false);\n\n const filterKey = getFilterParamsKey(useGetAppLinkFilterParams());\n\n useEffect(() => {\n setRefresh(r => !r);\n }, [results.isFetching]);\n\n useEffect(() => {\n setRefresh(r => !r);\n }, [filterKey]);\n \n return refresh;\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { ViewModelKeys } from 'shared/constants/ReportsViewModels';\n\n/**\n * So that we can display the number of selected users in the audience filter\n * (including users in classrooms and groups), we read it from the InteractiveResultSet and\n * set it in a view model so that it can be read in AudienceFilterToggle.\n */\nexport function useSetInteractiveResultsAudienceFilterCount(results: Flight.Response<InteractiveResultSet>): void {\n const [ , setFilterCount ] = useViewModel<number>(ViewModelKeys.AUDIENCE_FILTER_SELECTED_COUNT);\n\n useEffect(() => {\n if (!results.data) {\n setFilterCount(null);\n return;\n }\n \n setFilterCount(results.data.studentCount);\n }, [results.data?.studentCount]);\n}"],"names":["useRefreshInteractiveResults","results","refresh","setRefresh","useState","filterKey","getFilterParamsKey","useGetAppLinkFilterParams","useEffect","useSetInteractiveResultsAudienceFilterCount","setFilterCount","useViewModel","ViewModelKeys","_a"],"mappings":"mGASO,SAASA,EAA6BC,EAAyD,CACpG,KAAM,CAAEC,EAASC,CAAW,EAAIC,EAAAA,SAAS,EAAK,EAExCC,EAAYC,EAAmBC,GAA2B,EAEhEC,OAAAA,EAAAA,UAAU,IAAM,CACdL,EAAW,GAAK,CAAC,CAAC,CACpB,EAAG,CAACF,EAAQ,UAAU,CAAC,EAEvBO,EAAAA,UAAU,IAAM,CACdL,EAAW,GAAK,CAAC,CAAC,CACpB,EAAG,CAACE,CAAS,CAAC,EAEPH,CACT,CCTO,SAASO,EAA4CR,EAAsD,OAChH,KAAM,CAAA,CAAIS,CAAe,EAAIC,EAAqBC,EAAc,8BAA8B,EAE9FJ,EAAAA,UAAU,IAAM,CACd,GAAI,CAACP,EAAQ,KAAM,CACjBS,EAAe,IAAI,EACnB,MACF,CAEAA,EAAeT,EAAQ,KAAK,YAAY,CAC1C,EAAG,EAACY,EAAAZ,EAAQ,OAAR,YAAAY,EAAc,YAAY,CAAC,CACjC"}
@@ -0,0 +1,2 @@
1
+ import{aK as Y,bX as X,j as t,O as m,L as h,T as x,p as C,a5 as J,v as d,h as Z,a3 as ee,bY as te,r as se,w as ne,a1 as M,c as re,u as A,bO as H,e as ae,a as ie,bF as R,V as ce,C as le}from"./app-BqRx5tK8.js";import{I as oe,a as de,M as ue,u as me}from"./CKLfLzhr.chunk.js";import{I as _,a as g}from"./ClcYw2ra.chunk.js";import{a as ge}from"./DU5sOcpt.chunk.js";import{d as W,I as O,e as D,f as p,a as he,b as fe,h as N,i as xe}from"./cRQEJA0-.chunk.js";import{P as be}from"./YDhSgJI6.chunk.js";import{P as je,a as Ie}from"./DFhb3ZfO.chunk.js";import{T as Se}from"./DecstRlc.chunk.js";import{u as we}from"./UWjf2h5X.chunk.js";import{u as ye}from"./Fd0gT6QK.chunk.js";import{u as pe}from"./DxUueJN7.chunk.js";import{P as ve}from"./CqSaPgvV.chunk.js";import{u as ke}from"./C6eAAaNL.chunk.js";import{u as Ne,a as Ce}from"./BlAGsOOw.chunk.js";import{u as Me}from"./C6H2bU7H.chunk.js";import{u as Ae,I as Re}from"./T4Chmiqz.chunk.js";import{u as Ue,a as Te}from"./Cy4L5XsI.chunk.js";import{u as $e}from"./BaHk6QZB.chunk.js";import"./DHqmPVfK.chunk.js";import"./xkqdG021.chunk.js";import"./CXhesQTd.chunk.js";import"./BUM8Ub4p.chunk.js";import"./5O9SdVRZ.chunk.js";import"./sFV5nxD4.chunk.js";import"./CqyCLTzN.chunk.js";import"./BkcNwg7K.chunk.js";import"./DuNeLCIS.chunk.js";import"./DeY3SuCM.chunk.js";import"./BrLXFCMV.chunk.js";import"./DJLuyZJi.chunk.js";import"./BBOfq9my.chunk.js";import"./CX5q-0jT.chunk.js";const Pe={preventScrollTop(){Y.Radio.channel(X.SHELL).trigger("prevent:scroll:top")}},Fe="shared.interactionQuestionsEmptyState",Ee=h.encloseNamespace(Fe);function qe(e){return t.jsxs(m,{className:"rounded h-100 bg-white justify-content-center py-4",children:[t.jsx(m.Image,{src:e.emptyStateImageUrl,size:"small"}),t.jsx(m.Info,{className:"w-100",children:Ee("emptyStateText")})]})}const v="shared.interactionResponseList";function Le(e){function s(){switch(e.filter){case"correct":return e.correctImageUrl;case"incorrect":return e.incorrectImageUrl;case"marking_required":return e.markingRequiredImageUrl;case"skipped":return e.skippedImageUrl}}function n(){switch(e.filter){case"correct":return"correctEmptyState";case"incorrect":return"incorrectEmptyState";case"marking_required":return"markingRequiredEmptyState";case"skipped":return"skippedEmptyState"}}return t.jsx(t.Fragment,{children:t.jsxs(m,{className:"m-4",children:[t.jsx(m.Image,{src:s(),className:"w-25 h-auto"}),t.jsx(m.Info,{children:t.jsx(x,{namespace:v,phrase:n()})})]})})}function He(e){function s(r){return r===e.filter}function n(r){return`rounded-pill bg-light ${s(r)?"bg-dark text-white":""}`}return t.jsxs("div",{className:"d-flex gap-2 m-3",children:[t.jsx("button",{className:n("marking_required"),onClick:()=>e.toggleFilter("marking_required"),children:t.jsx(x,{namespace:v,phrase:"markingRequired"})}),t.jsx("button",{className:n("correct"),onClick:()=>e.toggleFilter("correct"),children:t.jsx(x,{namespace:v,phrase:"correct"})}),t.jsx("button",{className:n("incorrect"),onClick:()=>e.toggleFilter("incorrect"),children:t.jsx(x,{namespace:v,phrase:"incorrect"})}),t.jsx("button",{className:n("skipped"),onClick:()=>e.toggleFilter("skipped"),children:t.jsx(x,{namespace:v,phrase:"skipped"})})]})}const We="interactives.interactionResponseListHeader",Be=h.encloseNamespace(We);function Qe(e){var n;const s=(n=e.interaction.data)==null?void 0:n.suggestedResponse;return t.jsx("div",{className:"rounded bg-white",children:t.jsxs("div",{className:"p-2 position-relative",children:[t.jsx("div",{className:"d-flex",children:t.jsx(_,{interaction:e.interaction,iconClassName:"flex-shrink-0"})}),!!s&&t.jsxs("div",{className:"mt-2",children:[t.jsx("strong",{children:Be("suggestedResponse")}),t.jsx("p",{className:"m-0",children:s})]})]})})}const _e="shared.submitMarkedAnswers",Oe=h.encloseNamespace(_e);function B(e){return t.jsx("div",{className:"d-flex justify-content-end",children:t.jsx("button",{className:"btn btn-outline-dark",onClick:e.submit,disabled:e.disabled,children:Oe("submitAnswers")})})}const De="_awaitingMarking_1nhv5_1",Ve={awaitingMarking:De},V="shared.interactionResponseList",U=h.encloseNamespace(V);function ze(e,s){return s.filter(r=>O.isInteractionCorrect(e,D(r))===p.AwaitingMarking).reduce((r,i)=>{var l,c;return{...r,[((l=i.user)==null?void 0:l.id)||((c=i.user)==null?void 0:c.sessionId)]:!0}},{})}function Ke(e){var u;const[s,n]=C.useState(),r=ze(e.interaction,e.results.students),i=Object.keys(e.markedAnswers).length;if(!((u=e.results.students)!=null&&u.length))return t.jsx("div",{className:"d-flex flex-column h-100",children:t.jsxs(m,{className:"bg-white rounded mt-2 py-5 flex-grow-1 justify-content-center",children:[t.jsx(m.Image,{src:e.emptyStateImageUrl,size:"small"}),t.jsx(m.Heading,{children:U("emptyStateHeading")}),t.jsx(m.Info,{className:"w-100",children:U("emptyStateDescription")})]})});function l(o){n(s===o?null:o)}function c(){return e.results.students.filter(o=>{const b=D(o),j=O.isInteractionCorrect(e.interaction,b),I={correct:p.Correct,incorrect:p.Incorrect,marking_required:p.AwaitingMarking,skipped:p.UnAnswered};return!s||s in I&&j===I[s]})}const a=c();return t.jsxs(t.Fragment,{children:[e.reportsStyling&&t.jsx(Qe,{interaction:e.interaction}),t.jsxs("div",{className:e.reportsStyling?"d-flex justify-content-end":"d-flex align-items-center justify-content-between border-bottom px-3 py-2",children:[!e.reportsStyling&&t.jsx("p",{className:"fw-semibold mb-0",children:t.jsx(x,{namespace:V,phrase:"studentAnswers"})}),!!Object.keys(r).length&&t.jsx(J,{id:"submitAnswers",title:U("demoOnly"),spanHack:e.isDemo,children:t.jsx("div",{className:`${e.isDemo?"pointer-events-none":""} ${e.reportsStyling?"mt-2":""}`,children:t.jsx(B,{submit:e.submitMarkedAnswers,disabled:!i})})})]}),t.jsxs(t.Fragment,{children:[!e.reportsStyling&&t.jsx(He,{filter:s,toggleFilter:l}),!e.reportsStyling&&!a.length&&s&&t.jsx(Le,{filter:s,markingRequiredImageUrl:e.markingRequiredImageUrl,correctImageUrl:e.correctImageUrl,incorrectImageUrl:e.incorrectImageUrl,skippedImageUrl:e.skippedImageUrl}),a&&t.jsx("ul",{className:"list-unstyled mb-0",children:a.map((o,b)=>{var w,y;const j=ge(o.user,e.anonymiseUsers),I=r[((w=o.user)==null?void 0:w.id)||((y=o.user)==null?void 0:y.sessionId)];let S=e.reportsStyling?"bg-white p-2":"bg-white px-3 pt-3 pb-2";return I&&(S+=` ${Ve.awaitingMarking} my-1`),t.jsx("li",{className:e.reportsStyling?"":"border-bottom",children:e.reportsStyling?t.jsx(oe,{interaction:e.interaction,studentResults:o,markedStatus:W(e.interaction.id,o,e.markedAnswers),markInteraction:e.addMarkedAnswers,imageCdnUrl:e.imageCdnUrl,showStudentDetails:!0,anonymisedUserName:j,className:S,showFeedback:!0,reportsStyling:!0,responseComponentClass:"mx-n2"}):t.jsx(de,{interaction:e.interaction,studentResults:o,markedStatus:W(e.interaction.id,o,e.markedAnswers),markInteraction:e.addMarkedAnswers,imageCdnUrl:e.imageCdnUrl,showStudentDetails:!0,anonymisedUserName:j,className:S,showFeedback:!0})},b)})}),e.reportsStyling&&!!r.length&&t.jsx("div",{className:"mt-2",children:t.jsx(B,{submit:e.submitMarkedAnswers,disabled:!i})})]})]})}function Ge(e){const s=n=>n?n.split(/({\d+})/).map((r,i)=>{const l=r.match(/{(\d+)}/);if(l){const c=l[1],a=e.interaction.actionableItems.find(u=>+u.order==+c);if(a)return t.jsx("span",{className:"bg-white border border-gray-300 rounded p-1 lh-lg",children:a.name},i)}return r}):"";return t.jsx("div",{children:t.jsx("p",{className:"mb-0",children:s(e.interaction.data.sentence)})})}const Ye="_answerWidth_nmntd_10",$={answerWidth:Ye};function Xe(e){var n,r;return!((r=d.first((n=e.interaction)==null?void 0:n.actionableItems).data)!=null&&r.imageUrl)?t.jsx("ul",{className:`${$.answerWidth} list-unstyled row g-2`,children:e.interaction.actionableItems.map(i=>t.jsx("li",{className:"col-12",children:t.jsxs("div",{className:`${i.isCorrect?"bg-light-green border-green":"bg-light-red border-red"} rounded border py-1 px-2 m-0`,children:[t.jsxs("span",{className:"fw-semibold",children:[e.indexToLetter(i.order),". "]}),t.jsx("span",{children:i.name})]})},i.id))}):t.jsx("div",{className:$.answerWidth,children:t.jsx(ue,{interaction:e.interaction,size:"sm",showFeedback:!1,showCorrectnessIcons:!0,isDisplayOnly:!0})})}const Je="shared.questionTable";function Ze(e){var n;const s=(n=e.interaction.data)==null?void 0:n.suggestedResponse;return s?t.jsxs("div",{className:`${$.answerWidth} bg-light-blue rounded p-2 mb-2`,children:[t.jsx("div",{className:"d-flex justify-content-between",children:t.jsx("p",{className:"fw-semibold mb-2",children:t.jsx(x,{namespace:Je,phrase:"suggestedResponse"})})}),t.jsx("p",{className:"mb-0",children:s})]}):t.jsx(t.Fragment,{})}function et(e){return t.jsx("ul",{className:"list-unstyled d-flex gap-2",children:e.interaction.actionableItems.map(s=>t.jsxs("li",{className:`${s.isCorrect?"bg-light-green border-green":"bg-light-red border-red"} rounded border px-2 py-1 mb-2 w-50`,children:[t.jsxs("span",{className:"fw-semibold",children:[e.indexToLetter(s.order),". "]}),t.jsx("span",{children:s.name})]},s.id))})}function tt(e){function s(){switch(e.interaction.typeId){case g.MultipleChoice:return t.jsx(Xe,{interaction:e.interaction,indexToLetter:F});case g.TrueOrFalse:return t.jsx(et,{interaction:e.interaction,indexToLetter:F});case g.ShortAnswer:return t.jsx(Ze,{interaction:e.interaction});case g.MissingWord:return t.jsx(Ge,{interaction:e.interaction});default:return null}}const n=s();return n?t.jsx("div",{className:"w-100 mt-3",children:n}):t.jsx(t.Fragment,{})}const st="shared.questionTable",z=h.encloseNamespace(st);function nt(e,s,n){const r=e.cells.find(l=>l.column.id===n).value,i=s.cells.find(l=>l.column.id===n).value;return r.awaitingMarking?-1:i.awaitingMarking||r.percentCorrect>=i.percentCorrect?1:-1}function P(e){return t.jsx("div",{className:`d-flex ${e.className??""}`,children:e.children})}function T(e){return t.jsx(P,{className:e.column.isSorted&&"fw-bold",children:z(e.phraseKey)})}function rt(e){return[{Header:({column:s})=>t.jsx(T,{column:s,phraseKey:"#"}),accessor:"questionNumber",id:"index",Cell:({row:{original:{questionNumber:s}}})=>t.jsxs(P,{children:[s+1,"."]}),width:15,disableSortBy:!0},{Header:({column:s})=>t.jsx(T,{column:s,phraseKey:"question"}),accessor:"data",Cell:({row:{original:s},initialState:{selectedRowIds:n}})=>{const r=n==null?void 0:n[s==null?void 0:s.id];return t.jsxs(P,{className:"flex-column",children:[t.jsx("div",{className:`${r?"":"clamp-1"} pe-2`,children:t.jsx(_,{interaction:s,containerClassName:"d-flex"})}),e&&r&&t.jsx(tt,{interaction:s})]})},disableSortBy:!0},{Header:({column:s})=>t.jsx(T,{column:s,phraseKey:"score"}),accessor:"resultsSummary",id:"correctlyAnswered",Cell:({value:{percentCorrect:s,awaitingMarking:n}})=>n?t.jsx(be,{title:z("markingRequired"),className:"flex-grow-1",tooltipClassName:"d-block",showLabel:!0}):t.jsx(je,{percentage:s,layout:Ie.LabelBefore}),width:60,sortDescFirst:!0,sortType:nt}]}function at(e,s,n,r){return C.useMemo(()=>{const i=he(e),l=i.reduce((a,u,o)=>({...a,[u.id]:o}),{}),c=i.map(a=>({...a,questionNumber:l[a.id],resultsSummary:fe(a,s)}));if((r==null?void 0:r.id)==="correctlyAnswered"){const a=d.sortBy(c,u=>u.resultsSummary.awaitingMarking?-1:u.resultsSummary.percentCorrect);return r.desc?a.reverse():a}return c},[n,r])}function F(e){return String.fromCharCode(e+65)}const it="shared.questionTable",f=h.encloseNamespace(it);function ct(e,s){const n=e.actionableItems.map((r,i)=>({id:r.id,label:e.typeId===g.MultipleChoice?F(i):r.name,isCorrect:r.isCorrect,count:0}));return s.students.forEach(r=>{const i=d.last(r.results).attempts,l=d.findWhere(i,{id:e.id});l&&l.answers.forEach(c=>{const a=d.findWhere(n,{id:c.id});a&&a.count++})}),n}function lt(e,s){const n=e.actionableItems.map(r=>({id:r.id,label:r.name,isCorrect:r.isCorrect,count:0}));return n.push({label:f("incorrect"),count:0,isCorrect:!1}),s.students.forEach(r=>{const i=d.last(r.results).attempts,l=d.findWhere(i,{id:e.id});l&&l.answers.forEach(c=>{const a=d.findWhere(n,{id:c.id});if(a&&c.status===N.Correct)a.count++;else{const u=d.findWhere(n,{label:f("incorrect")});u.count++}})}),n}function ot(e,s){const n=[{label:f("correct"),isCorrect:!0,count:0},{label:f("incorrect"),isCorrect:!1,count:0}];return s.students.forEach(r=>{const i=d.last(r.results).attempts,l=d.findWhere(i,{id:e.id});l&&l.answers.forEach(c=>{if(c.status===N.Correct){const a=d.findWhere(n,{label:f("correct")});a.count++}if(c.status===N.Incorrect){const a=d.findWhere(n,{label:f("incorrect")});a.count++}if(c.status===N.PendingReview){let a=d.findWhere(n,{label:f("pending")});a||(n.push({label:f("pending"),count:0,isCorrect:!1}),a=d.findWhere(n,{label:f("pending")})),a.count++}})}),n}function dt(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",d:"M12 4c-3.308 0-6 2.692-6 6 0 1.923.916 3.716 2.462 4.846v3.77c0 .763.62 1.384 1.384 1.384h4.308c.763 0 1.385-.621 1.385-1.385v-3.77A6 6 0 0 0 18 10c0-3.308-2.692-6-6-6m.461 8a2.62 2.62 0 0 1 2.154-2.575v.113a2.62 2.62 0 0 1-2.154 2.575zm-.922.113a2.62 2.62 0 0 1-2.154-2.575v-.113A2.62 2.62 0 0 1 11.539 12zm3.076 4.656v.616h-5.23v-.616zm-.461 2.308H9.846a.46.46 0 0 1-.461-.462v-.307h5.23v.307a.46.46 0 0 1-.461.462m.666-4.855a.46.46 0 0 0-.205.384v1.24h-2.154v-2.8a3.544 3.544 0 0 0 3.078-3.508v-.615a.46.46 0 0 0-.462-.461A3.54 3.54 0 0 0 12 10.254a3.54 3.54 0 0 0-3.077-1.792.46.46 0 0 0-.461.461v.615a3.544 3.544 0 0 0 3.077 3.509v2.8H9.385v-1.241a.46.46 0 0 0-.205-.384A5.07 5.07 0 0 1 6.923 10c0-2.8 2.278-5.077 5.077-5.077S17.077 7.201 17.077 10a5.07 5.07 0 0 1-2.257 4.222"})})}const K="shared.questionTable",ut=h.encloseNamespace(K);function mt(e){const s=r(),n=i();function r(){if(!e.interaction||!e.results)return;let c;switch(e.interaction.typeId){case g.ShortAnswer:case g.Illustration:c=ot;break;case g.MissingWord:c=lt;break;case g.MultipleChoice:case g.TrueOrFalse:c=ct;break}return c(e.interaction,e.results)}function i(){return s==null?void 0:s.reduce((c,a)=>a.count>c?a.count:c,0)}function l(c){const a="border rounded me-2";return c.count?c.label===ut("pending")?`${a} border-blue bg-light-blue`:c.isCorrect?`${a} border-green bg-light-green`:`${a} border-red bg-light-red`:`${a} border bg-light px-1`}return t.jsxs("div",{className:"border border rounded p-3 mb-3",children:[t.jsxs("div",{className:"d-flex align-items-center gap-2 mb-3",children:[t.jsx("div",{className:"rounded-circle bg-light-teal text-teal",children:t.jsx(Z,{svg:dt,size:ee.Large})}),t.jsx("h2",{className:"h6 mb-0",children:t.jsx("span",{children:t.jsx(x,{namespace:K,phrase:"questionSummary"})})})]}),t.jsxs("div",{className:"d-flex gap-2",children:[t.jsx("div",{className:"max-w-25",children:s==null?void 0:s.map(c=>t.jsx("p",{className:"text-truncate mb-2",children:c.label},c.label))}),t.jsx("div",{className:"flex-grow-1",children:s==null?void 0:s.map((c,a)=>t.jsxs("div",{className:"d-flex mb-2",children:[t.jsx("div",{className:l(c),style:{width:`${c.count/n*100}%`,height:20}}),t.jsx("span",{children:c.count})]},`${e.interaction.id}${a}`))})]})]})}const gt="shared.selectedInteractionEmptyState",ht=h.encloseNamespace(gt);function ft(e){return t.jsxs(m,{className:"rounded h-100 bg-white justify-content-center py-4",children:[t.jsx(m.Image,{src:e.emptyStateUrl,size:"small"}),t.jsx(m.Info,{className:"w-100",children:ht("emptyStateText")})]})}function xt(e,s){switch(e){case"score_desc":return[{id:s,desc:!0}];case"score_asc":return[{id:s,desc:!1}];default:return[]}}function bt(e){var c;const[s,n]=C.useState(xt(e.sortBy,"correctlyAnswered")),r=at(e.interactive,e.results,e.refreshTable,d.first(s)),i=e.selectedInteractionId&&xe(e.interactive,e.selectedInteractionId);function l({original:a}){Pe.preventScrollTop(),te.updateParams({interactionId:a.id},{merge:!0})}return t.jsxs("div",{className:"row",children:[t.jsx("div",{className:"col-6 flex-grow-1",children:t.jsx(Se,{columns:rt(e.showAnswersInTable),data:r,theme:e.theme,onSelectRow:l,initialSelectedRowIds:i?[i.id]:null,getRowId:a=>a.id,enableSort:!0,manualSort:!0,onSort:n,initialSortBy:s,emptyState:t.jsx(qe,{emptyStateImageUrl:e.emptyQuestionsStateImageUrl})},e.selectedInteractionId)}),t.jsxs("div",{className:"col-6 d-flex flex-column",children:[!e.reportsStyling&&e.selectedInteractionId&&!!((c=e.results.students)!=null&&c.length)&&t.jsx(mt,{interaction:i,results:e.results}),t.jsxs("div",{className:`rounded flex-grow-1 ${e.reportsStyling?"":"border"}`,children:[!!i&&t.jsx(Ke,{interaction:i,results:e.results,markedAnswers:e.markedAnswers,addMarkedAnswers:e.addMarkedAnswers,submitMarkedAnswers:e.submitMarkedAnswers,imageCdnUrl:e.imageCdnUrl,anonymiseUsers:e.anonymiseUsers,emptyStateImageUrl:e.emptyResponseStateImageUrl,markingRequiredImageUrl:e.markingRequiredImageUrl,correctImageUrl:e.correctImageUrl,incorrectImageUrl:e.incorrectImageUrl,skippedImageUrl:e.skippedImageUrl,reportsStyling:e.reportsStyling,isDemo:e.isDemo}),!i&&t.jsx(ft,{emptyStateUrl:e.selectQuestionImageUrl})]})]})]})}const jt="shared.confirmationPopup",Q=h.encloseNamespace(jt);G.defaultProps={confirmButtonVariant:"primary",cancelButtonVariant:"link"};function G(e){const[s,n]=se.useState(!1);return t.jsx(ne,{title:e.title,closePopup:e.closePopup,children:t.jsxs(t.Fragment,{children:[e.children,t.jsxs(M,{children:[t.jsx(M.Cancel,{onClick:e.closePopup,variant:e.cancelButtonVariant,text:e.cancelButtonText||Q("cancel")}),t.jsx(M.Submit,{onClick:()=>{n(!0),e.onClickConfirm()},text:e.confirmButtonText||Q("confirm"),variant:e.confirmButtonVariant,showSpinner:s,disabled:e.disabledConfirmButton})]})]})})}const It="_row_1ygni_1",St={row:It},wt={table:"bg-white rounded pb-2",header:"border-bottom px-2",headerCell:"p-2 d-flex align-items-center",cell:"px-2",row:`m-2 rounded py-1 ${St.row}`,selectedRow:"bg-light",sortIndicator:"ms-2"},yt="interactives.interactiveQuestionList",k=h.encloseNamespace(yt);function ts(e){var w,y,E,q,L;const[s]=re(ce.ANONYMISE_USERS),[n,r]=C.useState(!1),i=A(H.interactiveMetadata(e.interactiveMetadataId)),l=A((w=i.data)!=null&&w.interactiveId?H.interactive(i.data.interactiveId):null),c=ae(),a=we(e.interactiveMetadataId,c),u=A(le.config());ie({title:k("pageTitle",{interactive:(y=i.data)==null?void 0:y.name})}),Me((E=i.data)==null?void 0:E.name),Ne(Ce(i.data)),$e(e.interactiveMetadataId),Ue(a),Ae(e.interactiveMetadataId),ye(i),ke(i),pe([l,a,u]);const o=Te(a),{markedAnswers:b,addMarkedAnswers:j,submitMarkedAnswers:I}=me((q=l.data)==null?void 0:q.id,(L=i.data)==null?void 0:L.id,()=>r(!1)),S=!!l.data&&!!a.data&&!!u.data;return t.jsxs(t.Fragment,{children:[t.jsxs("div",{children:[t.jsx(Re,{interactiveMetadataId:e.interactiveMetadataId}),S?t.jsx(bt,{emptyResponseStateImageUrl:R.EmptyStates.Interactives.NoResponses,emptyQuestionsStateImageUrl:R.EmptyStates.Interactives.NoQuestions,selectQuestionImageUrl:R.EmptyStates.Interactives.NoData,anonymiseUsers:s,interactive:l.data,results:a.data,markedAnswers:b,addMarkedAnswers:j,submitMarkedAnswers:()=>r(!0),imageCdnUrl:u.data.imageCdnUrl,selectedInteractionId:e.interactionId,refreshTable:o,theme:wt,reportsStyling:!0}):t.jsx("div",{className:"row",children:t.jsx("div",{className:"col-6",children:t.jsx(ve,{})})})]}),n&&t.jsx(G,{title:k("markPopupTitle",{smartCount:Object.keys(b).length??0}),closePopup:()=>r(!1),confirmButtonText:k("submit"),confirmButtonVariant:"dark",onClickConfirm:I,children:t.jsx("p",{children:k("markPopupBody")})})]})}export{ts as InteractiveQuestionListView};
2
+ //# sourceMappingURL=CzF-hI_x.chunk.js.map