@clickview/exchange 0.54.0 → 0.54.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 (192) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/en.json +1 -1
  3. package/dist/scripts/-rc15O6e.chunk.js +2 -0
  4. package/dist/scripts/{RR_Npo-u.chunk.js.map → -rc15O6e.chunk.js.map} +1 -1
  5. package/dist/scripts/{BMV1koDe.chunk.js → 8cN0DOAw.chunk.js} +2 -2
  6. package/dist/scripts/{BMV1koDe.chunk.js.map → 8cN0DOAw.chunk.js.map} +1 -1
  7. package/dist/scripts/{B4-7nU0g.chunk.js → 93Mytmux.chunk.js} +2 -2
  8. package/dist/scripts/{B4-7nU0g.chunk.js.map → 93Mytmux.chunk.js.map} +1 -1
  9. package/dist/scripts/{DH2yRBmA.chunk.js → 9YLXxYYH.chunk.js} +2 -2
  10. package/dist/scripts/{DH2yRBmA.chunk.js.map → 9YLXxYYH.chunk.js.map} +1 -1
  11. package/dist/scripts/{S8s7mgrG.chunk.js → B77TOWer.chunk.js} +2 -2
  12. package/dist/scripts/{S8s7mgrG.chunk.js.map → B77TOWer.chunk.js.map} +1 -1
  13. package/dist/scripts/{D5fWDfWb.chunk.js → BB_Ud-Dl.chunk.js} +2 -2
  14. package/dist/scripts/{D5fWDfWb.chunk.js.map → BB_Ud-Dl.chunk.js.map} +1 -1
  15. package/dist/scripts/{C7s6znQN.chunk.js → BCGCl500.chunk.js} +2 -2
  16. package/dist/scripts/{C7s6znQN.chunk.js.map → BCGCl500.chunk.js.map} +1 -1
  17. package/dist/scripts/{CZ0_WZo1.chunk.js → BEonThYO.chunk.js} +2 -2
  18. package/dist/scripts/{CZ0_WZo1.chunk.js.map → BEonThYO.chunk.js.map} +1 -1
  19. package/dist/scripts/{DfkRK80r.chunk.js → BFAbrH3V.chunk.js} +2 -2
  20. package/dist/scripts/{DfkRK80r.chunk.js.map → BFAbrH3V.chunk.js.map} +1 -1
  21. package/dist/scripts/{fG3bu7tL.chunk.js → BIciRJHg.chunk.js} +2 -2
  22. package/dist/scripts/{fG3bu7tL.chunk.js.map → BIciRJHg.chunk.js.map} +1 -1
  23. package/dist/scripts/{CDuLjvaV.chunk.js → BJX7CePa.chunk.js} +2 -2
  24. package/dist/scripts/{CDuLjvaV.chunk.js.map → BJX7CePa.chunk.js.map} +1 -1
  25. package/dist/scripts/{wE4X9qJj.chunk.js → BL0xk5Hs.chunk.js} +2 -2
  26. package/dist/scripts/{wE4X9qJj.chunk.js.map → BL0xk5Hs.chunk.js.map} +1 -1
  27. package/dist/scripts/{DKvNIqD3.chunk.js → BN_hH3oW.chunk.js} +2 -2
  28. package/dist/scripts/{DKvNIqD3.chunk.js.map → BN_hH3oW.chunk.js.map} +1 -1
  29. package/dist/scripts/{mj_NgNWo.chunk.js → BWmMHnFV.chunk.js} +2 -2
  30. package/dist/scripts/{mj_NgNWo.chunk.js.map → BWmMHnFV.chunk.js.map} +1 -1
  31. package/dist/scripts/{BHTzCeKb.chunk.js → BapvLPQ5.chunk.js} +2 -2
  32. package/dist/scripts/{BHTzCeKb.chunk.js.map → BapvLPQ5.chunk.js.map} +1 -1
  33. package/dist/scripts/{vQs65oQi.chunk.js → Bbc1-POn.chunk.js} +2 -2
  34. package/dist/scripts/{vQs65oQi.chunk.js.map → Bbc1-POn.chunk.js.map} +1 -1
  35. package/dist/scripts/{CSuv1QVm.chunk.js → Bel5ImAj.chunk.js} +2 -2
  36. package/dist/scripts/{CSuv1QVm.chunk.js.map → Bel5ImAj.chunk.js.map} +1 -1
  37. package/dist/scripts/{CiTtDJue.chunk.js → BfWmIKU0.chunk.js} +2 -2
  38. package/dist/scripts/{CiTtDJue.chunk.js.map → BfWmIKU0.chunk.js.map} +1 -1
  39. package/dist/scripts/{BO7wPiFy.chunk.js → BhJEiLr0.chunk.js} +2 -2
  40. package/dist/scripts/{BO7wPiFy.chunk.js.map → BhJEiLr0.chunk.js.map} +1 -1
  41. package/dist/scripts/{DHx8qw7h.chunk.js → Bi_rU-SG.chunk.js} +2 -2
  42. package/dist/scripts/{DHx8qw7h.chunk.js.map → Bi_rU-SG.chunk.js.map} +1 -1
  43. package/dist/scripts/BldjpTLL.chunk.js +2 -0
  44. package/dist/scripts/{BMOkpx9W.chunk.js.map → BldjpTLL.chunk.js.map} +1 -1
  45. package/dist/scripts/Bm0DywXr.chunk.js +2 -0
  46. package/dist/scripts/{kjcQ0DHK.chunk.js.map → Bm0DywXr.chunk.js.map} +1 -1
  47. package/dist/scripts/BpFMqrCw.chunk.js +2 -0
  48. package/dist/scripts/{D1kNrE2G.chunk.js.map → BpFMqrCw.chunk.js.map} +1 -1
  49. package/dist/scripts/{B2psHTnp.chunk.js → Bw042tZ_.chunk.js} +2 -2
  50. package/dist/scripts/{B2psHTnp.chunk.js.map → Bw042tZ_.chunk.js.map} +1 -1
  51. package/dist/scripts/{DMCTlX1N.chunk.js → ByCaE7oT.chunk.js} +2 -2
  52. package/dist/scripts/{DMCTlX1N.chunk.js.map → ByCaE7oT.chunk.js.map} +1 -1
  53. package/dist/scripts/{BTGAV-7R.chunk.js → BzJeV-bU.chunk.js} +2 -2
  54. package/dist/scripts/{BTGAV-7R.chunk.js.map → BzJeV-bU.chunk.js.map} +1 -1
  55. package/dist/scripts/{Ca7s6d3a.chunk.js → BzOUcl19.chunk.js} +2 -2
  56. package/dist/scripts/{Ca7s6d3a.chunk.js.map → BzOUcl19.chunk.js.map} +1 -1
  57. package/dist/scripts/{C_b02Pfv.chunk.js → C7x-ikz8.chunk.js} +2 -2
  58. package/dist/scripts/{C_b02Pfv.chunk.js.map → C7x-ikz8.chunk.js.map} +1 -1
  59. package/dist/scripts/{Bk6B0Pga.chunk.js → C8gLKdt2.chunk.js} +2 -2
  60. package/dist/scripts/{Bk6B0Pga.chunk.js.map → C8gLKdt2.chunk.js.map} +1 -1
  61. package/dist/scripts/{BNdvuAqI.chunk.js → CA1kXo4c.chunk.js} +2 -2
  62. package/dist/scripts/{BNdvuAqI.chunk.js.map → CA1kXo4c.chunk.js.map} +1 -1
  63. package/dist/scripts/{2RtgJciS.chunk.js → CBpplRfy.chunk.js} +2 -2
  64. package/dist/scripts/{2RtgJciS.chunk.js.map → CBpplRfy.chunk.js.map} +1 -1
  65. package/dist/scripts/{CwGJynkF.chunk.js → CFHfdzmN.chunk.js} +2 -2
  66. package/dist/scripts/{CwGJynkF.chunk.js.map → CFHfdzmN.chunk.js.map} +1 -1
  67. package/dist/scripts/{DtIAQEde.chunk.js → CI1-zjtc.chunk.js} +2 -2
  68. package/dist/scripts/{DtIAQEde.chunk.js.map → CI1-zjtc.chunk.js.map} +1 -1
  69. package/dist/scripts/{CaXurNVJ.chunk.js → CLeOFM0_.chunk.js} +2 -2
  70. package/dist/scripts/{CaXurNVJ.chunk.js.map → CLeOFM0_.chunk.js.map} +1 -1
  71. package/dist/scripts/{CfG52a2J.chunk.js → CLzmMPfE.chunk.js} +2 -2
  72. package/dist/scripts/{CfG52a2J.chunk.js.map → CLzmMPfE.chunk.js.map} +1 -1
  73. package/dist/scripts/{BeYBU_45.chunk.js → CMVCOZiH.chunk.js} +2 -2
  74. package/dist/scripts/{BeYBU_45.chunk.js.map → CMVCOZiH.chunk.js.map} +1 -1
  75. package/dist/scripts/{-IJi77po.chunk.js → CRiSdltq.chunk.js} +2 -2
  76. package/dist/scripts/{-IJi77po.chunk.js.map → CRiSdltq.chunk.js.map} +1 -1
  77. package/dist/scripts/{C6Lm5-pG.chunk.js → CUcESh7x.chunk.js} +2 -2
  78. package/dist/scripts/{C6Lm5-pG.chunk.js.map → CUcESh7x.chunk.js.map} +1 -1
  79. package/dist/scripts/{BVtgkXbb.chunk.js → CWEHmLar.chunk.js} +2 -2
  80. package/dist/scripts/{BVtgkXbb.chunk.js.map → CWEHmLar.chunk.js.map} +1 -1
  81. package/dist/scripts/{BknFbNFb.chunk.js → CYnIJ9Yj.chunk.js} +2 -2
  82. package/dist/scripts/{BknFbNFb.chunk.js.map → CYnIJ9Yj.chunk.js.map} +1 -1
  83. package/dist/scripts/{BM1pKS1x.chunk.js → CeNnu9Uy.chunk.js} +2 -2
  84. package/dist/scripts/{BM1pKS1x.chunk.js.map → CeNnu9Uy.chunk.js.map} +1 -1
  85. package/dist/scripts/{C_N8YDNG.chunk.js → CeWNxrfN.chunk.js} +2 -2
  86. package/dist/scripts/{C_N8YDNG.chunk.js.map → CeWNxrfN.chunk.js.map} +1 -1
  87. package/dist/scripts/{CIC6c94H.chunk.js → Cf7gumlK.chunk.js} +2 -2
  88. package/dist/scripts/{CIC6c94H.chunk.js.map → Cf7gumlK.chunk.js.map} +1 -1
  89. package/dist/scripts/{BeUtct-n.chunk.js → CgYXk-MC.chunk.js} +2 -2
  90. package/dist/scripts/{BeUtct-n.chunk.js.map → CgYXk-MC.chunk.js.map} +1 -1
  91. package/dist/scripts/{CZWyo3vU.chunk.js → ChQd3LFA.chunk.js} +2 -2
  92. package/dist/scripts/{CZWyo3vU.chunk.js.map → ChQd3LFA.chunk.js.map} +1 -1
  93. package/dist/scripts/{Cvh5d6g-.chunk.js → CidOInHw.chunk.js} +2 -2
  94. package/dist/scripts/{Cvh5d6g-.chunk.js.map → CidOInHw.chunk.js.map} +1 -1
  95. package/dist/scripts/{KD76wo2O.chunk.js → CjZVCWS_.chunk.js} +2 -2
  96. package/dist/scripts/{KD76wo2O.chunk.js.map → CjZVCWS_.chunk.js.map} +1 -1
  97. package/dist/scripts/{DllPblbJ.chunk.js → CmFgCSCA.chunk.js} +2 -2
  98. package/dist/scripts/{DllPblbJ.chunk.js.map → CmFgCSCA.chunk.js.map} +1 -1
  99. package/dist/scripts/{D2hwqbbK.chunk.js → CzgpQODl.chunk.js} +2 -2
  100. package/dist/scripts/{D2hwqbbK.chunk.js.map → CzgpQODl.chunk.js.map} +1 -1
  101. package/dist/scripts/{BZDBKDNB.chunk.js → D1uOyG2F.chunk.js} +2 -2
  102. package/dist/scripts/{BZDBKDNB.chunk.js.map → D1uOyG2F.chunk.js.map} +1 -1
  103. package/dist/scripts/D2Qdtc-z.chunk.js +2 -0
  104. package/dist/scripts/{Nx5VrW1O.chunk.js.map → D2Qdtc-z.chunk.js.map} +1 -1
  105. package/dist/scripts/{CvC-3rY8.chunk.js → D6Y1z38S.chunk.js} +2 -2
  106. package/dist/scripts/{CvC-3rY8.chunk.js.map → D6Y1z38S.chunk.js.map} +1 -1
  107. package/dist/scripts/{DVGSZWvj.chunk.js → DAYsHx3K.chunk.js} +2 -2
  108. package/dist/scripts/{DVGSZWvj.chunk.js.map → DAYsHx3K.chunk.js.map} +1 -1
  109. package/dist/scripts/DAlXOlyw.chunk.js +2 -0
  110. package/dist/scripts/{PTNYkU4e.chunk.js.map → DAlXOlyw.chunk.js.map} +1 -1
  111. package/dist/scripts/{C6jzSlOK.chunk.js → DBXgmgfs.chunk.js} +2 -2
  112. package/dist/scripts/{C6jzSlOK.chunk.js.map → DBXgmgfs.chunk.js.map} +1 -1
  113. package/dist/scripts/{DNv0G8YQ.chunk.js → DFV1HGGE.chunk.js} +2 -2
  114. package/dist/scripts/{DNv0G8YQ.chunk.js.map → DFV1HGGE.chunk.js.map} +1 -1
  115. package/dist/scripts/{BaII1chU.chunk.js → DKgBjNhk.chunk.js} +2 -2
  116. package/dist/scripts/{BaII1chU.chunk.js.map → DKgBjNhk.chunk.js.map} +1 -1
  117. package/dist/scripts/{6nLsdj_T.chunk.js → DNamqvBL.chunk.js} +2 -2
  118. package/dist/scripts/{6nLsdj_T.chunk.js.map → DNamqvBL.chunk.js.map} +1 -1
  119. package/dist/scripts/{BoCJPJD9.chunk.js → DS9FoZYs.chunk.js} +2 -2
  120. package/dist/scripts/{BoCJPJD9.chunk.js.map → DS9FoZYs.chunk.js.map} +1 -1
  121. package/dist/scripts/{BARMSVib.chunk.js → DU7fsRWl.chunk.js} +2 -2
  122. package/dist/scripts/{BARMSVib.chunk.js.map → DU7fsRWl.chunk.js.map} +1 -1
  123. package/dist/scripts/{yAkKLflS.chunk.js → DXukh64m.chunk.js} +2 -2
  124. package/dist/scripts/{yAkKLflS.chunk.js.map → DXukh64m.chunk.js.map} +1 -1
  125. package/dist/scripts/{QBPzgKy4.chunk.js → D_UfRtxO.chunk.js} +2 -2
  126. package/dist/scripts/{QBPzgKy4.chunk.js.map → D_UfRtxO.chunk.js.map} +1 -1
  127. package/dist/scripts/{DPzpHWBx.chunk.js → Da4lOHud.chunk.js} +2 -2
  128. package/dist/scripts/{DPzpHWBx.chunk.js.map → Da4lOHud.chunk.js.map} +1 -1
  129. package/dist/scripts/{RFnuS4NM.chunk.js → DbQAirTe.chunk.js} +2 -2
  130. package/dist/scripts/{RFnuS4NM.chunk.js.map → DbQAirTe.chunk.js.map} +1 -1
  131. package/dist/scripts/{wrxKHqa_.chunk.js → DbjqMrGm.chunk.js} +2 -2
  132. package/dist/scripts/{wrxKHqa_.chunk.js.map → DbjqMrGm.chunk.js.map} +1 -1
  133. package/dist/scripts/{DW6Dbl7f.chunk.js → DiYMwIEW.chunk.js} +2 -2
  134. package/dist/scripts/{DW6Dbl7f.chunk.js.map → DiYMwIEW.chunk.js.map} +1 -1
  135. package/dist/scripts/{ZQ2N8RIM.chunk.js → DjZMDa7F.chunk.js} +2 -2
  136. package/dist/scripts/{ZQ2N8RIM.chunk.js.map → DjZMDa7F.chunk.js.map} +1 -1
  137. package/dist/scripts/{D0g725Qb.chunk.js → DmsvtP5R.chunk.js} +2 -2
  138. package/dist/scripts/{D0g725Qb.chunk.js.map → DmsvtP5R.chunk.js.map} +1 -1
  139. package/dist/scripts/{BVFJa4eN.chunk.js → Du1vfrL1.chunk.js} +2 -2
  140. package/dist/scripts/{BVFJa4eN.chunk.js.map → Du1vfrL1.chunk.js.map} +1 -1
  141. package/dist/scripts/{BIM7E_uq.chunk.js → HgZI7ZJw.chunk.js} +2 -2
  142. package/dist/scripts/{BIM7E_uq.chunk.js.map → HgZI7ZJw.chunk.js.map} +1 -1
  143. package/dist/scripts/{De6u_51f.chunk.js → Idf_wk4z.chunk.js} +2 -2
  144. package/dist/scripts/{De6u_51f.chunk.js.map → Idf_wk4z.chunk.js.map} +1 -1
  145. package/dist/scripts/{BzWiry9B.chunk.js → IoMSsrGB.chunk.js} +2 -2
  146. package/dist/scripts/{BzWiry9B.chunk.js.map → IoMSsrGB.chunk.js.map} +1 -1
  147. package/dist/scripts/{BOgut51m.chunk.js → JVtTNBu8.chunk.js} +2 -2
  148. package/dist/scripts/{BOgut51m.chunk.js.map → JVtTNBu8.chunk.js.map} +1 -1
  149. package/dist/scripts/{B6MzAKwF.chunk.js → Jh9dsBNz.chunk.js} +2 -2
  150. package/dist/scripts/{B6MzAKwF.chunk.js.map → Jh9dsBNz.chunk.js.map} +1 -1
  151. package/dist/scripts/{C3DMM71j.chunk.js → L4fynSOH.chunk.js} +2 -2
  152. package/dist/scripts/{C3DMM71j.chunk.js.map → L4fynSOH.chunk.js.map} +1 -1
  153. package/dist/scripts/{DcNBkQk2.chunk.js → L8c9vJSE.chunk.js} +2 -2
  154. package/dist/scripts/{DcNBkQk2.chunk.js.map → L8c9vJSE.chunk.js.map} +1 -1
  155. package/dist/scripts/{RkGsyr47.chunk.js → LSG3wJaJ.chunk.js} +2 -2
  156. package/dist/scripts/{RkGsyr47.chunk.js.map → LSG3wJaJ.chunk.js.map} +1 -1
  157. package/dist/scripts/{BBGrb01P.chunk.js → Nb05HQ70.chunk.js} +2 -2
  158. package/dist/scripts/{BBGrb01P.chunk.js.map → Nb05HQ70.chunk.js.map} +1 -1
  159. package/dist/scripts/{D7ex9pZI.chunk.js → NnLpFayg.chunk.js} +2 -2
  160. package/dist/scripts/{D7ex9pZI.chunk.js.map → NnLpFayg.chunk.js.map} +1 -1
  161. package/dist/scripts/{BObzbMyv.chunk.js → TBgyZjiu.chunk.js} +2 -2
  162. package/dist/scripts/{BObzbMyv.chunk.js.map → TBgyZjiu.chunk.js.map} +1 -1
  163. package/dist/scripts/UAhbVZA6.chunk.js +2 -0
  164. package/dist/scripts/{Cusf4uQr.chunk.js.map → UAhbVZA6.chunk.js.map} +1 -1
  165. package/dist/scripts/{EP_6ctCd.chunk.js → UPyh9hOq.chunk.js} +2 -2
  166. package/dist/scripts/{EP_6ctCd.chunk.js.map → UPyh9hOq.chunk.js.map} +1 -1
  167. package/dist/scripts/{5ulU64GY.chunk.js → aUcmweZz.chunk.js} +2 -2
  168. package/dist/scripts/{5ulU64GY.chunk.js.map → aUcmweZz.chunk.js.map} +1 -1
  169. package/dist/scripts/{BIqgfuNp.chunk.js → afx3pyqK.chunk.js} +2 -2
  170. package/dist/scripts/{BIqgfuNp.chunk.js.map → afx3pyqK.chunk.js.map} +1 -1
  171. package/dist/scripts/{app-BeXfSt3Z.js → app-DQUfzK7M.js} +3 -3
  172. package/dist/scripts/{app-BeXfSt3Z.js.map → app-DQUfzK7M.js.map} +1 -1
  173. package/dist/scripts/{DGZafYHS.chunk.js → ebPScdjM.chunk.js} +2 -2
  174. package/dist/scripts/{DGZafYHS.chunk.js.map → ebPScdjM.chunk.js.map} +1 -1
  175. package/dist/scripts/{kIpQ7ATK.chunk.js → exCRX_FQ.chunk.js} +2 -2
  176. package/dist/scripts/{kIpQ7ATK.chunk.js.map → exCRX_FQ.chunk.js.map} +1 -1
  177. package/dist/scripts/{B_RnEy2g.chunk.js → g-ukO43h.chunk.js} +2 -2
  178. package/dist/scripts/{B_RnEy2g.chunk.js.map → g-ukO43h.chunk.js.map} +1 -1
  179. package/dist/scripts/{DSjj9Urk.chunk.js → rV0ZG7Fa.chunk.js} +2 -2
  180. package/dist/scripts/{DSjj9Urk.chunk.js.map → rV0ZG7Fa.chunk.js.map} +1 -1
  181. package/dist/scripts/{CuymzQcn.chunk.js → rY6Lh6jX.chunk.js} +2 -2
  182. package/dist/scripts/{CuymzQcn.chunk.js.map → rY6Lh6jX.chunk.js.map} +1 -1
  183. package/dist/scripts/{DyEyo6rX.chunk.js → uJkDFf2N.chunk.js} +2 -2
  184. package/dist/scripts/{DyEyo6rX.chunk.js.map → uJkDFf2N.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/BMOkpx9W.chunk.js +0 -2
  187. package/dist/scripts/Cusf4uQr.chunk.js +0 -2
  188. package/dist/scripts/D1kNrE2G.chunk.js +0 -2
  189. package/dist/scripts/Nx5VrW1O.chunk.js +0 -2
  190. package/dist/scripts/PTNYkU4e.chunk.js +0 -2
  191. package/dist/scripts/RR_Npo-u.chunk.js +0 -2
  192. package/dist/scripts/kjcQ0DHK.chunk.js +0 -2
@@ -1,2 +1,2 @@
1
- import{a3 as b,a5 as O,aD as D,U as k,M as l,L as R,aH as T,aj as M,n as x,o as H,ad as U,ac as m,aI as P,ae as C,af as S,aJ as v,aK as q,a as w,b as E}from"./app-BeXfSt3Z.js";import{L as _}from"./BaII1chU.chunk.js";import{V as $}from"./CfG52a2J.chunk.js";import{A as F}from"./BVtgkXbb.chunk.js";var L=(e=>(e.Developer="Curator Devs",e.Content="Content",e.Curator="Curators",e.Support="Support",e.SalesSupport="Sales Support",e.GraphicDesigner="Graphic Designers",e.MetadataEditor="Metadata Editors",e.ResourcingManager="Resourcing Managers",e.SeniorContentManager="Senior Content Manager",e.Marketing="Marketing",e.Sales="Sales Representatives",e.StreamableCurator="Streamable Curator",e.SupportExtraPermission="Support - Extra Permissions",e.SeoManager="SEO Manager",e.ContentReviewer="Content Reviewer",e))(L||{});const W="shared.hooks",X=R.encloseNamespace(W);function j(e,r,n,p){const s=k.safeUrlConcat(e,"manage"),i=k.safeUrlConcat(e,"exchange"),a=(o,c,f)=>k.safeUrlConcat(o,`${c}/${f}`);switch(r){case l.Subject:return k.safeUrlConcat(s,`subjects/presentations/${p}/classifications/${n}/edit`);case l.Video:return a(s,"videos",n);case l.Playlist:return a(s,"playlists",n);case l.Series:return a(s,"series",n);case l.Company:return a(s,"companies",n);case l.Interactive:return a(s,"interactives",n);case l.Clip:return a(s,"clips",n);case l.Category:return a(i,"categories",n)}}function B(){return X("openInCurationStudio")}function z(){var i,a;const e=b(O.currentUser()),{data:r}=b(((i=e.data)==null?void 0:i.id)&&O.groups((a=e.data)==null?void 0:a.id)),n=b(D.config()),p=[L.Curator,L.Content,L.Developer];function s(){return p.some(o=>r==null?void 0:r.data.find(c=>c.name===o))}return{openInCurationStudioLabel:B(),isUserCurator:s(),getOpenInCurationStudioLink:(o,c,f)=>{var t;return j((t=n.data)==null?void 0:t.curatorUrl,o,c,f)}}}var N=(e=>(e[e.PlayPage=0]="PlayPage",e))(N||{});function J(e){const r=T(),n=M();function p(a){return e.type!==0?null:$.getVideoRequest(a.id,a.typeId,e.shareId)}function s(a){const o=p(a);r(o.key).shouldFetch&&n(o)}function i(a){const o=p(a);return r(o.key).hasCompleted}return{hydrate:s,isHydrated:i}}const K="exchange.exchangeHooks",d=R.encloseNamespace(K),Y={lazyPlaceholder:!0};function ae(e){const{hasPermissions:r}=x(),{isUserCurator:n,openInCurationStudioLabel:p,getOpenInCurationStudioLink:s}=z(),i=b(D.config()),a=b(r(H.ContributeVideo)&&_.libraryRequestLibraries()),{hydrate:o,isHydrated:c}=J({type:N.PlayPage});function f(t){var I,V,A;const u=e==="preview",h={id:t.id,name:t.name},g=u?U.VideoItemPreview:U.VideoListItem,y=[{order:10,label:u?d("openInClickView"):"",svg:q,tooltip:u?"":d("openInClickView"),className:u?"btn btn-dark me-2":"",button:!0,href:i.data&&v.safeUrlConcat(i.data.liteUrl,`/videos/${t.id}`),analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.OpenInClickView,location:g,workflowPhase:m.Start}},{order:20,label:u?d("addVideo"):null,svg:u?void 0:F,tooltip:u?"":d("addVideo"),button:!u,appLink:{application:E.EXCHANGE,action:w.Exchange.ADD,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.AddToWorkspace,location:g,workflowPhase:m.Start}},{order:30,label:d("suggest"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.SUGGEST_EDIT,args:[t.id],params:{location:g}},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.SuggestEdit,location:g,workflowPhase:m.Start}}];return c(t)?((I=t._canAddToLibrary)!=null&&I.customLibrary&&((V=a.data)!=null&&V.length)&&y.push({order:25,label:d("addToLibrary"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.ADD_TO_LIBRARY,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Create,entity:C.LibraryRequest,workflowPhase:m.Start,location:g}}),(A=t._canDownload)!=null&&A.value&&y.push({order:40,label:d("download"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.DOWNLOAD_VIDEO,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Download,entity:C.Video,workflowPhase:m.Start,location:g}}),n&&y.push({order:50,label:p,openInNewTab:!0,href:s(l.Video,t.id)}),y):[...y,Y]}return{getVideoActions:f,fetchMoreActions:t=>o(t)}}export{ae as a,z as u};
2
- //# sourceMappingURL=wrxKHqa_.chunk.js.map
1
+ import{a3 as b,a5 as O,aD as D,U as k,M as l,L as R,aH as T,aj as M,n as x,o as H,ad as U,ac as m,aI as P,ae as C,af as S,aJ as v,aK as q,a as w,b as E}from"./app-DQUfzK7M.js";import{L as _}from"./DKgBjNhk.chunk.js";import{V as $}from"./CLzmMPfE.chunk.js";import{A as F}from"./CWEHmLar.chunk.js";var L=(e=>(e.Developer="Curator Devs",e.Content="Content",e.Curator="Curators",e.Support="Support",e.SalesSupport="Sales Support",e.GraphicDesigner="Graphic Designers",e.MetadataEditor="Metadata Editors",e.ResourcingManager="Resourcing Managers",e.SeniorContentManager="Senior Content Manager",e.Marketing="Marketing",e.Sales="Sales Representatives",e.StreamableCurator="Streamable Curator",e.SupportExtraPermission="Support - Extra Permissions",e.SeoManager="SEO Manager",e.ContentReviewer="Content Reviewer",e))(L||{});const W="shared.hooks",X=R.encloseNamespace(W);function j(e,r,n,p){const s=k.safeUrlConcat(e,"manage"),i=k.safeUrlConcat(e,"exchange"),a=(o,c,f)=>k.safeUrlConcat(o,`${c}/${f}`);switch(r){case l.Subject:return k.safeUrlConcat(s,`subjects/presentations/${p}/classifications/${n}/edit`);case l.Video:return a(s,"videos",n);case l.Playlist:return a(s,"playlists",n);case l.Series:return a(s,"series",n);case l.Company:return a(s,"companies",n);case l.Interactive:return a(s,"interactives",n);case l.Clip:return a(s,"clips",n);case l.Category:return a(i,"categories",n)}}function B(){return X("openInCurationStudio")}function z(){var i,a;const e=b(O.currentUser()),{data:r}=b(((i=e.data)==null?void 0:i.id)&&O.groups((a=e.data)==null?void 0:a.id)),n=b(D.config()),p=[L.Curator,L.Content,L.Developer];function s(){return p.some(o=>r==null?void 0:r.data.find(c=>c.name===o))}return{openInCurationStudioLabel:B(),isUserCurator:s(),getOpenInCurationStudioLink:(o,c,f)=>{var t;return j((t=n.data)==null?void 0:t.curatorUrl,o,c,f)}}}var N=(e=>(e[e.PlayPage=0]="PlayPage",e))(N||{});function J(e){const r=T(),n=M();function p(a){return e.type!==0?null:$.getVideoRequest(a.id,a.typeId,e.shareId)}function s(a){const o=p(a);r(o.key).shouldFetch&&n(o)}function i(a){const o=p(a);return r(o.key).hasCompleted}return{hydrate:s,isHydrated:i}}const K="exchange.exchangeHooks",d=R.encloseNamespace(K),Y={lazyPlaceholder:!0};function ae(e){const{hasPermissions:r}=x(),{isUserCurator:n,openInCurationStudioLabel:p,getOpenInCurationStudioLink:s}=z(),i=b(D.config()),a=b(r(H.ContributeVideo)&&_.libraryRequestLibraries()),{hydrate:o,isHydrated:c}=J({type:N.PlayPage});function f(t){var I,V,A;const u=e==="preview",h={id:t.id,name:t.name},g=u?U.VideoItemPreview:U.VideoListItem,y=[{order:10,label:u?d("openInClickView"):"",svg:q,tooltip:u?"":d("openInClickView"),className:u?"btn btn-dark me-2":"",button:!0,href:i.data&&v.safeUrlConcat(i.data.liteUrl,`/videos/${t.id}`),analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.OpenInClickView,location:g,workflowPhase:m.Start}},{order:20,label:u?d("addVideo"):null,svg:u?void 0:F,tooltip:u?"":d("addVideo"),button:!u,appLink:{application:E.EXCHANGE,action:w.Exchange.ADD,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.AddToWorkspace,location:g,workflowPhase:m.Start}},{order:30,label:d("suggest"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.SUGGEST_EDIT,args:[t.id],params:{location:g}},analyticsData:h,analyticsOptions:{actionType:S.Click,entity:C.Video,descriptor:P.SuggestEdit,location:g,workflowPhase:m.Start}}];return c(t)?((I=t._canAddToLibrary)!=null&&I.customLibrary&&((V=a.data)!=null&&V.length)&&y.push({order:25,label:d("addToLibrary"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.ADD_TO_LIBRARY,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Create,entity:C.LibraryRequest,workflowPhase:m.Start,location:g}}),(A=t._canDownload)!=null&&A.value&&y.push({order:40,label:d("download"),className:"",appLink:{application:E.EXCHANGE,action:w.Exchange.DOWNLOAD_VIDEO,args:[t.id]},analyticsData:h,analyticsOptions:{actionType:S.Download,entity:C.Video,workflowPhase:m.Start,location:g}}),n&&y.push({order:50,label:p,openInNewTab:!0,href:s(l.Video,t.id)}),y):[...y,Y]}return{getVideoActions:f,fetchMoreActions:t=>o(t)}}export{ae as a,z as u};
2
+ //# sourceMappingURL=DbjqMrGm.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrxKHqa_.chunk.js","sources":["../../../../libs/shared/src/enums/CuratorGroup.ts","../../../../libs/shared/src/hooks/useCurationStudio.ts","../../../../libs/shared/src/hooks/useVideohydration.ts","../../src/apps/exchange/hooks/useGetExchangeActions.ts"],"sourcesContent":["/**\n * The values in this enum directly\n * map to the group names in Master.\n */\nexport enum CuratorGroup {\n Developer = 'Curator Devs',\n Content = 'Content',\n Curator = 'Curators',\n Support = 'Support',\n SalesSupport = 'Sales Support',\n GraphicDesigner = 'Graphic Designers',\n MetadataEditor = 'Metadata Editors',\n ResourcingManager = 'Resourcing Managers',\n SeniorContentManager = 'Senior Content Manager',\n Marketing = 'Marketing',\n Sales = 'Sales Representatives',\n StreamableCurator = 'Streamable Curator',\n SupportExtraPermission = 'Support - Extra Permissions',\n SeoManager = 'SEO Manager',\n ContentReviewer = 'Content Reviewer'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CuratorGroup } from 'libs/shared/enums/CuratorGroup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CuratorUserGroupCollection, CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getOpenInCurationStudioLink(\n baseUrl: string,\n objectType: MasterType | string,\n id: string,\n presentationId?: string\n) {\n const baseManageUrl = UrlHelper.safeUrlConcat(baseUrl, 'manage');\n const baseExchangeUrl = UrlHelper.safeUrlConcat(baseUrl, 'exchange');\n const href = (baseUrl: string, objectType: string, id: string) => UrlHelper.safeUrlConcat(baseUrl, `${objectType}/${id}`);\n\n switch (objectType) {\n case MasterType.Subject:\n return UrlHelper.safeUrlConcat(baseManageUrl, `subjects/presentations/${presentationId}/classifications/${id}/edit`);\n case MasterType.Video:\n return href(baseManageUrl, 'videos', id);\n case MasterType.Playlist:\n return href(baseManageUrl, 'playlists', id);\n case MasterType.Series:\n return href(baseManageUrl, 'series', id);\n case MasterType.Company:\n return href(baseManageUrl, 'companies', id);\n case MasterType.Interactive:\n return href(baseManageUrl, 'interactives', id);\n case MasterType.Clip:\n return href(baseManageUrl, 'clips', id);\n case MasterType.Category:\n return href(baseExchangeUrl, 'categories', id);\n }\n}\n\nexport function getOpenInCurationStudioLabel(): string {\n return getPhrase('openInCurationStudio');\n}\n\nexport function useCurationStudio() {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { data: userGroups } = Flight.useBasicFetch<CuratorUserGroupCollection>(\n (currentUser.data?.id) && UserRequests.groups(currentUser.data?.id)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n \n const curatorGroups = [ CuratorGroup.Curator, CuratorGroup.Content, CuratorGroup.Developer ];\n\n function isUserCurator(): boolean {\n return curatorGroups.some(group => userGroups?.data.find(userGroup => userGroup.name === group));\n }\n\n return {\n openInCurationStudioLabel: getOpenInCurationStudioLabel(),\n isUserCurator: isUserCurator(),\n getOpenInCurationStudioLink: (objectType: MasterType | string, id: string, presentationId?: string) =>\n getOpenInCurationStudioLink(config.data?.curatorUrl, objectType, id, presentationId)\n };\n}\n","import { Flight } from 'libs/common/react/index';\n\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport enum VideoHydrationType {\n PlayPage\n}\n\ninterface UseVideoHydrationOptions {\n type: VideoHydrationType;\n shareId?: string;\n}\n\nexport function useVideoHydration(options: UseVideoHydrationOptions) {\n const getResponse = Flight.useGetResponseFunc();\n const fetch = Flight.useGetFetch();\n \n function getRequest(video: VideoTypes): Flight.Request {\n if (options.type !== VideoHydrationType.PlayPage)\n return null;\n\n\n return VideoHelper.getVideoRequest(video.id, video.typeId, options.shareId);\n }\n \n function hydrate(video: VideoTypes): void {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n resp.shouldFetch && fetch(request);\n }\n\n function isHydrated(video: VideoTypes): boolean {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n return resp.hasCompleted;\n }\n\n return { hydrate, isHydrated };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { UrlHelper } from 'libs/analytics/utils/UrlHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useVideoHydration, VideoHydrationType } from 'libs/shared/hooks/useVideohydration';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config, Library, Video, VideoTypes } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeHooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nconst FETCH_MORE_ACTION_OPTION: ActionOptions = {\n lazyPlaceholder: true\n};\n\nexport function useGetExchangeActions(location: Location) {\n const { hasPermissions } = usePermissions();\n\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const requestLibraries = Flight.useBasicFetch<Library[]>(\n hasPermissions(PermissionName.ContributeVideo) &&\n LibraryRequests.libraryRequestLibraries()\n );\n\n const { hydrate, isHydrated } = useVideoHydration({\n type: VideoHydrationType.PlayPage\n });\n \n function getVideoActions(video: Video): ActionOptions[] {\n const isPreview = location === 'preview';\n const analyticsData = { id: video.id, name: video.name };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n const actions: ActionOptions[] = [{\n order: 10,\n label: isPreview ? getPhrase('openInClickView') : '',\n svg: NewWindowSvg,\n tooltip: isPreview ? '' : getPhrase('openInClickView'),\n className: isPreview ? 'btn btn-dark me-2' : '',\n button: true,\n href: config.data && UrlHelper.safeUrlConcat(config.data.liteUrl, `/videos/${video.id}`),\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.OpenInClickView,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 20,\n label: isPreview ? getPhrase('addVideo') : null,\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n button: !isPreview,\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 30,\n label: getPhrase('suggest'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SUGGEST_EDIT,\n args: [video.id],\n params: { location: locationContext }\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }];\n\n if (!isHydrated(video)) {\n return [ ...actions, FETCH_MORE_ACTION_OPTION ];\n }\n\n if (video._canAddToLibrary?.customLibrary && requestLibraries.data?.length) {\n actions.push({\n order: 25,\n label: getPhrase('addToLibrary'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD_TO_LIBRARY,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Create,\n entity: EntityType.LibraryRequest,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (video._canDownload?.value) {\n actions.push({\n order: 40,\n label: getPhrase('download'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.DOWNLOAD_VIDEO,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Download,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (isUserCurator) {\n actions.push({\n order: 50,\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Video, video.id)\n });\n }\n\n return actions;\n }\n\n return {\n getVideoActions,\n fetchMoreActions: (video: VideoTypes) => hydrate(video)\n };\n}"],"names":["CuratorGroup","namespace","getPhrase","LanguageService","getOpenInCurationStudioLink","baseUrl","objectType","id","presentationId","baseManageUrl","UrlHelper","baseExchangeUrl","href","MasterType","getOpenInCurationStudioLabel","useCurationStudio","currentUser","Flight.useBasicFetch","UserRequests","userGroups","_a","_b","config","ConfigRequests","curatorGroups","isUserCurator","group","userGroup","VideoHydrationType","useVideoHydration","options","getResponse","Flight.useGetResponseFunc","fetch","Flight.useGetFetch","getRequest","video","VideoHelper","hydrate","request","isHydrated","FETCH_MORE_ACTION_OPTION","useGetExchangeActions","location","hasPermissions","usePermissions","openInCurationStudioLabel","requestLibraries","PermissionName","LibraryRequests","getVideoActions","isPreview","analyticsData","locationContext","LocationContext","actions","NewWindowSvg","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","AddVideoSvg","AppChannels","Actions","_c"],"mappings":"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"}
1
+ {"version":3,"file":"DbjqMrGm.chunk.js","sources":["../../../../libs/shared/src/enums/CuratorGroup.ts","../../../../libs/shared/src/hooks/useCurationStudio.ts","../../../../libs/shared/src/hooks/useVideohydration.ts","../../src/apps/exchange/hooks/useGetExchangeActions.ts"],"sourcesContent":["/**\n * The values in this enum directly\n * map to the group names in Master.\n */\nexport enum CuratorGroup {\n Developer = 'Curator Devs',\n Content = 'Content',\n Curator = 'Curators',\n Support = 'Support',\n SalesSupport = 'Sales Support',\n GraphicDesigner = 'Graphic Designers',\n MetadataEditor = 'Metadata Editors',\n ResourcingManager = 'Resourcing Managers',\n SeniorContentManager = 'Senior Content Manager',\n Marketing = 'Marketing',\n Sales = 'Sales Representatives',\n StreamableCurator = 'Streamable Curator',\n SupportExtraPermission = 'Support - Extra Permissions',\n SeoManager = 'SEO Manager',\n ContentReviewer = 'Content Reviewer'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CuratorGroup } from 'libs/shared/enums/CuratorGroup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CuratorUserGroupCollection, CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getOpenInCurationStudioLink(\n baseUrl: string,\n objectType: MasterType | string,\n id: string,\n presentationId?: string\n) {\n const baseManageUrl = UrlHelper.safeUrlConcat(baseUrl, 'manage');\n const baseExchangeUrl = UrlHelper.safeUrlConcat(baseUrl, 'exchange');\n const href = (baseUrl: string, objectType: string, id: string) => UrlHelper.safeUrlConcat(baseUrl, `${objectType}/${id}`);\n\n switch (objectType) {\n case MasterType.Subject:\n return UrlHelper.safeUrlConcat(baseManageUrl, `subjects/presentations/${presentationId}/classifications/${id}/edit`);\n case MasterType.Video:\n return href(baseManageUrl, 'videos', id);\n case MasterType.Playlist:\n return href(baseManageUrl, 'playlists', id);\n case MasterType.Series:\n return href(baseManageUrl, 'series', id);\n case MasterType.Company:\n return href(baseManageUrl, 'companies', id);\n case MasterType.Interactive:\n return href(baseManageUrl, 'interactives', id);\n case MasterType.Clip:\n return href(baseManageUrl, 'clips', id);\n case MasterType.Category:\n return href(baseExchangeUrl, 'categories', id);\n }\n}\n\nexport function getOpenInCurationStudioLabel(): string {\n return getPhrase('openInCurationStudio');\n}\n\nexport function useCurationStudio() {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { data: userGroups } = Flight.useBasicFetch<CuratorUserGroupCollection>(\n (currentUser.data?.id) && UserRequests.groups(currentUser.data?.id)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n \n const curatorGroups = [ CuratorGroup.Curator, CuratorGroup.Content, CuratorGroup.Developer ];\n\n function isUserCurator(): boolean {\n return curatorGroups.some(group => userGroups?.data.find(userGroup => userGroup.name === group));\n }\n\n return {\n openInCurationStudioLabel: getOpenInCurationStudioLabel(),\n isUserCurator: isUserCurator(),\n getOpenInCurationStudioLink: (objectType: MasterType | string, id: string, presentationId?: string) =>\n getOpenInCurationStudioLink(config.data?.curatorUrl, objectType, id, presentationId)\n };\n}\n","import { Flight } from 'libs/common/react/index';\n\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport enum VideoHydrationType {\n PlayPage\n}\n\ninterface UseVideoHydrationOptions {\n type: VideoHydrationType;\n shareId?: string;\n}\n\nexport function useVideoHydration(options: UseVideoHydrationOptions) {\n const getResponse = Flight.useGetResponseFunc();\n const fetch = Flight.useGetFetch();\n \n function getRequest(video: VideoTypes): Flight.Request {\n if (options.type !== VideoHydrationType.PlayPage)\n return null;\n\n\n return VideoHelper.getVideoRequest(video.id, video.typeId, options.shareId);\n }\n \n function hydrate(video: VideoTypes): void {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n resp.shouldFetch && fetch(request);\n }\n\n function isHydrated(video: VideoTypes): boolean {\n const request = getRequest(video);\n const resp = getResponse(request.key);\n\n return resp.hasCompleted;\n }\n\n return { hydrate, isHydrated };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\nimport { UrlHelper } from 'libs/analytics/utils/UrlHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useVideoHydration, VideoHydrationType } from 'libs/shared/hooks/useVideohydration';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config, Library, Video, VideoTypes } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeHooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nconst FETCH_MORE_ACTION_OPTION: ActionOptions = {\n lazyPlaceholder: true\n};\n\nexport function useGetExchangeActions(location: Location) {\n const { hasPermissions } = usePermissions();\n\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const requestLibraries = Flight.useBasicFetch<Library[]>(\n hasPermissions(PermissionName.ContributeVideo) &&\n LibraryRequests.libraryRequestLibraries()\n );\n\n const { hydrate, isHydrated } = useVideoHydration({\n type: VideoHydrationType.PlayPage\n });\n \n function getVideoActions(video: Video): ActionOptions[] {\n const isPreview = location === 'preview';\n const analyticsData = { id: video.id, name: video.name };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n const actions: ActionOptions[] = [{\n order: 10,\n label: isPreview ? getPhrase('openInClickView') : '',\n svg: NewWindowSvg,\n tooltip: isPreview ? '' : getPhrase('openInClickView'),\n className: isPreview ? 'btn btn-dark me-2' : '',\n button: true,\n href: config.data && UrlHelper.safeUrlConcat(config.data.liteUrl, `/videos/${video.id}`),\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.OpenInClickView,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 20,\n label: isPreview ? getPhrase('addVideo') : null,\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n button: !isPreview,\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n order: 30,\n label: getPhrase('suggest'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SUGGEST_EDIT,\n args: [video.id],\n params: { location: locationContext }\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }];\n\n if (!isHydrated(video)) {\n return [ ...actions, FETCH_MORE_ACTION_OPTION ];\n }\n\n if (video._canAddToLibrary?.customLibrary && requestLibraries.data?.length) {\n actions.push({\n order: 25,\n label: getPhrase('addToLibrary'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.ADD_TO_LIBRARY,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Create,\n entity: EntityType.LibraryRequest,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (video._canDownload?.value) {\n actions.push({\n order: 40,\n label: getPhrase('download'),\n className: '',\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.DOWNLOAD_VIDEO,\n args: [video.id]\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Download,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Start,\n location: locationContext\n }\n });\n }\n\n if (isUserCurator) {\n actions.push({\n order: 50,\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Video, video.id)\n });\n }\n\n return actions;\n }\n\n return {\n getVideoActions,\n fetchMoreActions: (video: VideoTypes) => hydrate(video)\n };\n}"],"names":["CuratorGroup","namespace","getPhrase","LanguageService","getOpenInCurationStudioLink","baseUrl","objectType","id","presentationId","baseManageUrl","UrlHelper","baseExchangeUrl","href","MasterType","getOpenInCurationStudioLabel","useCurationStudio","currentUser","Flight.useBasicFetch","UserRequests","userGroups","_a","_b","config","ConfigRequests","curatorGroups","isUserCurator","group","userGroup","VideoHydrationType","useVideoHydration","options","getResponse","Flight.useGetResponseFunc","fetch","Flight.useGetFetch","getRequest","video","VideoHelper","hydrate","request","isHydrated","FETCH_MORE_ACTION_OPTION","useGetExchangeActions","location","hasPermissions","usePermissions","openInCurationStudioLabel","requestLibraries","PermissionName","LibraryRequests","getVideoActions","isPreview","analyticsData","locationContext","LocationContext","actions","NewWindowSvg","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","AddVideoSvg","AppChannels","Actions","_c"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{an as b,U as o,m as L,S as l,j as s,aj as A,a3 as f,l as k,ao as N,a as w,b as C,L as I,ac as q,af as B,ae as O,ad as U,a5 as R}from"./app-BeXfSt3Z.js";import{P as T,B as W,V as F}from"./CDuLjvaV.chunk.js";import{P as S,u as H,I as G}from"./BNdvuAqI.chunk.js";import{u as _,a as D,V as M}from"./C3DMM71j.chunk.js";import{h as X}from"./fG3bu7tL.chunk.js";import{u as Y}from"./BOgut51m.chunk.js";import{u as Q}from"./BMOkpx9W.chunk.js";import{E as z}from"./QBPzgKy4.chunk.js";import{a as J}from"./wrxKHqa_.chunk.js";import{b as K,a as Z}from"./RkGsyr47.chunk.js";import"./_sYSSSUN.chunk.js";import"./DMCTlX1N.chunk.js";import"./BVFJa4eN.chunk.js";import"./DGZafYHS.chunk.js";import"./BHTzCeKb.chunk.js";import"./CIC6c94H.chunk.js";import"./DPzpHWBx.chunk.js";import"./RR_Npo-u.chunk.js";import"./CfG52a2J.chunk.js";import"./BlDVEZsX.chunk.js";import"./C7s6znQN.chunk.js";import"./pkzD5BEm.chunk.js";import"./Cvh5d6g-.chunk.js";import"./CaXurNVJ.chunk.js";import"./BVtgkXbb.chunk.js";import"./EP_6ctCd.chunk.js";import"./BIqgfuNp.chunk.js";import"./CSuv1QVm.chunk.js";import"./DfkRK80r.chunk.js";import"./BknFbNFb.chunk.js";import"./Kj832An8.chunk.js";import"./DVGSZWvj.chunk.js";import"./BaII1chU.chunk.js";const j={sharedSeries:(e,t)=>o.urlBuilder(`/api/objects/${e}`,{query:l.SERIES,shareId:t}),seriesWithVideos:(e,t=3)=>`{gateway}/v1/objects/${e}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${t}}`},ee={series(e){const t={query:l.SERIES};return{url:o.urlBuilder(`{gateway}/v1/objects/${e}`,t),publicUrl:o.urlBuilder(`/api/objects/${e}`,t),key:`series:${e}`}},sharedSeries(e,t){return{url:j.sharedSeries(e,t),key:`shared:series:${e}:${t}`}},seriesWithVideos(e,t=3){return{url:j.seriesWithVideos(e,t),key:`series:${e}:with:videos:${t}`}},seriesWithThumbnailAndCount(e){return{url:`{gateway}/v1/objects/${e}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,key:`series:${e}:thumbnail:count`}},seriesVideos(e,t,n,r){const a=b.getVideoSortParam(n),u=["series",e,"videos",r,n].filter(c=>!!c).join(":");return{url:o.urlBuilder(`{gateway}/v1/collections/${e}/videos`,{query:`{${a}}${l.VIDEO_COLLECTION}`,cursor:r}),publicUrl:o.urlBuilder(`/api/objects/collections/${e}/videos`,{query:`{${a}}${L.VIDEO_COLLECTION}`,cursor:r}),key:u}}};function se(){return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"partial-loading-background pb-4 mb-3 w-50"}),s.jsx("div",{className:"d-flex align-items-center justify-content-between mb-2",children:s.jsx(T,{})}),s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})})]})}const te="exchange.exchangeSeries",g=I.encloseNamespace(te);function Oe(e){var x;const t=A(),n=Y(),r=f(ee.series(e.seriesId)),a=f(R.currentUser());k({title:(x=r.data)==null?void 0:x.name}),Q(r);const{commonVideoProps:u}=_(),c=!!a.data&&b.getOrSetSortType(a.data.id,e.sort,N.ProductionYear,"series"),{items:d,hasMore:y,isFetching:m,nextCursor:v}=H(p,h,V);function p(i){return z.seriesVideos(e.seriesId,c,i)}function h(i){return t(p(i))}function V(i,$){if(i===1)return X($);n.error(g("error"))}const E=J("video-list"),P=r.data?[{name:g("exchangeArchive"),appLink:{application:C.EXCHANGE,action:w.Exchange.INDEX}},{name:r.data.name,active:!0}]:[];return!r.data||m?s.jsx(se,{}):s.jsxs(D.Provider,{value:E,children:[s.jsx("h1",{className:"h2",children:r.data.name}),s.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[s.jsx(W,{breadcrumbs:P}),s.jsx(F,{variant:"outline-dark",type:c,getSortAppLink:i=>K(r.data,i),analyticsOptions:{location:U.VideoListHeader,entity:O.Video,actionType:B.Sort,workflowPhase:q.Complete},includeProductionYear:!0})]}),s.jsxs("div",{className:"pb-3",children:[d?s.jsx(M,{videos:d,getVideoAppLink:Z,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:u}):s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})}),(y||m)&&s.jsx(G,{isFetching:m,fetchNext:h,nextCursor:v})]})]})}export{Oe as ExchangeSeriesView};
2
- //# sourceMappingURL=DW6Dbl7f.chunk.js.map
1
+ import{an as b,U as o,m as L,S as l,j as s,aj as A,a3 as f,l as k,ao as N,a as w,b as C,L as I,ac as q,af as B,ae as O,ad as U,a5 as R}from"./app-DQUfzK7M.js";import{P as T,B as W,V as F}from"./BJX7CePa.chunk.js";import{P as S,u as H,I as G}from"./CA1kXo4c.chunk.js";import{u as _,a as D,V as M}from"./L4fynSOH.chunk.js";import{h as X}from"./BIciRJHg.chunk.js";import{u as Y}from"./JVtTNBu8.chunk.js";import{u as Q}from"./BldjpTLL.chunk.js";import{E as z}from"./D_UfRtxO.chunk.js";import{a as J}from"./DbjqMrGm.chunk.js";import{b as K,a as Z}from"./LSG3wJaJ.chunk.js";import"./_sYSSSUN.chunk.js";import"./ByCaE7oT.chunk.js";import"./Du1vfrL1.chunk.js";import"./ebPScdjM.chunk.js";import"./BapvLPQ5.chunk.js";import"./Cf7gumlK.chunk.js";import"./Da4lOHud.chunk.js";import"./-rc15O6e.chunk.js";import"./CLzmMPfE.chunk.js";import"./BlDVEZsX.chunk.js";import"./BCGCl500.chunk.js";import"./pkzD5BEm.chunk.js";import"./CidOInHw.chunk.js";import"./CLeOFM0_.chunk.js";import"./CWEHmLar.chunk.js";import"./UPyh9hOq.chunk.js";import"./afx3pyqK.chunk.js";import"./Bel5ImAj.chunk.js";import"./BFAbrH3V.chunk.js";import"./CYnIJ9Yj.chunk.js";import"./Kj832An8.chunk.js";import"./DAYsHx3K.chunk.js";import"./DKgBjNhk.chunk.js";const j={sharedSeries:(e,t)=>o.urlBuilder(`/api/objects/${e}`,{query:l.SERIES,shareId:t}),seriesWithVideos:(e,t=3)=>`{gateway}/v1/objects/${e}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${t}}`},ee={series(e){const t={query:l.SERIES};return{url:o.urlBuilder(`{gateway}/v1/objects/${e}`,t),publicUrl:o.urlBuilder(`/api/objects/${e}`,t),key:`series:${e}`}},sharedSeries(e,t){return{url:j.sharedSeries(e,t),key:`shared:series:${e}:${t}`}},seriesWithVideos(e,t=3){return{url:j.seriesWithVideos(e,t),key:`series:${e}:with:videos:${t}`}},seriesWithThumbnailAndCount(e){return{url:`{gateway}/v1/objects/${e}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,key:`series:${e}:thumbnail:count`}},seriesVideos(e,t,n,r){const a=b.getVideoSortParam(n),u=["series",e,"videos",r,n].filter(c=>!!c).join(":");return{url:o.urlBuilder(`{gateway}/v1/collections/${e}/videos`,{query:`{${a}}${l.VIDEO_COLLECTION}`,cursor:r}),publicUrl:o.urlBuilder(`/api/objects/collections/${e}/videos`,{query:`{${a}}${L.VIDEO_COLLECTION}`,cursor:r}),key:u}}};function se(){return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"partial-loading-background pb-4 mb-3 w-50"}),s.jsx("div",{className:"d-flex align-items-center justify-content-between mb-2",children:s.jsx(T,{})}),s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})})]})}const te="exchange.exchangeSeries",g=I.encloseNamespace(te);function Oe(e){var x;const t=A(),n=Y(),r=f(ee.series(e.seriesId)),a=f(R.currentUser());k({title:(x=r.data)==null?void 0:x.name}),Q(r);const{commonVideoProps:u}=_(),c=!!a.data&&b.getOrSetSortType(a.data.id,e.sort,N.ProductionYear,"series"),{items:d,hasMore:y,isFetching:m,nextCursor:v}=H(p,h,V);function p(i){return z.seriesVideos(e.seriesId,c,i)}function h(i){return t(p(i))}function V(i,$){if(i===1)return X($);n.error(g("error"))}const E=J("video-list"),P=r.data?[{name:g("exchangeArchive"),appLink:{application:C.EXCHANGE,action:w.Exchange.INDEX}},{name:r.data.name,active:!0}]:[];return!r.data||m?s.jsx(se,{}):s.jsxs(D.Provider,{value:E,children:[s.jsx("h1",{className:"h2",children:r.data.name}),s.jsxs("div",{className:"d-flex justify-content-between align-items-center",children:[s.jsx(W,{breadcrumbs:P}),s.jsx(F,{variant:"outline-dark",type:c,getSortAppLink:i=>K(r.data,i),analyticsOptions:{location:U.VideoListHeader,entity:O.Video,actionType:B.Sort,workflowPhase:q.Complete},includeProductionYear:!0})]}),s.jsxs("div",{className:"pb-3",children:[d?s.jsx(M,{videos:d,getVideoAppLink:Z,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:u}):s.jsx("div",{className:"mx-n2",children:s.jsx(S,{})}),(y||m)&&s.jsx(G,{isFetching:m,fetchNext:h,nextCursor:v})]})]})}export{Oe as ExchangeSeriesView};
2
+ //# sourceMappingURL=DiYMwIEW.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DW6Dbl7f.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedSeries: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: SharedWithStatements.SERIES,\n shareId\n }),\n seriesWithVideos: (id: string, videoCount: number = 3) => {\n return `{gateway}/v1/objects/${id}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${videoCount}}`;\n }\n};\n\nexport const SeriesRequests = {\n series(id: string): Flight.PublicRequest {\n const queryStringObj = { query: SharedWithStatements.SERIES };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, queryStringObj),\n key: `series:${id}`\n };\n },\n sharedSeries(id: string, shareId: string): Flight.Request {\n return {\n url: endpoints.sharedSeries(id, shareId),\n key: `shared:series:${id}:${shareId}`\n };\n },\n seriesWithVideos(id: string, videoCount: number = 3): Flight.Request {\n return {\n url: endpoints.seriesWithVideos(id, videoCount),\n key: `series:${id}:with:videos:${videoCount}`\n };\n },\n seriesWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,\n key: `series:${id}:thumbnail:count`\n };\n },\n seriesVideos(id: string, userId?: string, sort?: VideoSortType, cursor?: string): Flight.PublicRequest {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const key = [ 'series', id, 'videos', cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/collections/${id}/videos`, {\n query: `{${sortFilter}}${SharedWithStatements.VIDEO_COLLECTION}`,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/collections/${id}/videos`, {\n query: `{${sortFilter}}${PublicWithStatement.VIDEO_COLLECTION}`,\n cursor\n }),\n key\n };\n }\n};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"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"}
1
+ {"version":3,"file":"DiYMwIEW.chunk.js","sources":["../../../../libs/shared/src/flight-requests/SeriesRequests.ts","../../src/apps/exchange/views/exchange-series/partial-loading/PartialExchangeSeries.tsx","../../src/apps/exchange/views/exchange-series/ExchangeSeriesView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedSeries: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: SharedWithStatements.SERIES,\n shareId\n }),\n seriesWithVideos: (id: string, videoCount: number = 3) => {\n return `{gateway}/v1/objects/${id}?query=banner,videos[season,thumbnail,_canBeConsumed]{limit:${videoCount}}`;\n }\n};\n\nexport const SeriesRequests = {\n series(id: string): Flight.PublicRequest {\n const queryStringObj = { query: SharedWithStatements.SERIES };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, queryStringObj),\n key: `series:${id}`\n };\n },\n sharedSeries(id: string, shareId: string): Flight.Request {\n return {\n url: endpoints.sharedSeries(id, shareId),\n key: `shared:series:${id}:${shareId}`\n };\n },\n seriesWithVideos(id: string, videoCount: number = 3): Flight.Request {\n return {\n url: endpoints.seriesWithVideos(id, videoCount),\n key: `series:${id}:with:videos:${videoCount}`\n };\n },\n seriesWithThumbnailAndCount(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=videos[season,thumbnail,_canBeConsumed,count()]{limit:1}`,\n key: `series:${id}:thumbnail:count`\n };\n },\n seriesVideos(id: string, userId?: string, sort?: VideoSortType, cursor?: string): Flight.PublicRequest {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const key = [ 'series', id, 'videos', cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/collections/${id}/videos`, {\n query: `{${sortFilter}}${SharedWithStatements.VIDEO_COLLECTION}`,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/collections/${id}/videos`, {\n query: `{${sortFilter}}${PublicWithStatement.VIDEO_COLLECTION}`,\n cursor\n }),\n key\n };\n }\n};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function PartialExchangeSeries() {\n return (\n <>\n <div\n className='partial-loading-background pb-4 mb-3 w-50'\n ></div>\n\n <div className='d-flex align-items-center justify-content-between mb-2'>\n <PartialBreadcrumbs />\n </div>\n \n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Series, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getSeriesAppLink, getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nimport { PartialExchangeSeries } from './partial-loading/PartialExchangeSeries';\n\nconst namespace = 'exchange.exchangeSeries';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSeriesViewProps {\n seriesId: string;\n sort: VideoSortType;\n}\n\nexport function ExchangeSeriesView(props: ExchangeSeriesViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const series = Flight.useBasicFetch<Series>(SeriesRequests.series(props.seriesId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useSetPageMetadata({ title: series.data?.name });\n useHandleObjectError(series);\n\n const { commonVideoProps } = useCommonVideoProps();\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data\n && VideoSortHelper.getOrSetSortType(currentUser.data.id, props.sort, VideoSortType.ProductionYear, 'series');\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.seriesVideos(props.seriesId, sort, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const videoActions = useGetExchangeActions('video-list');\n\n const breadcrumbs = series.data ? [{\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }, {\n name: series.data.name,\n active: true\n }] : [];\n\n if (!series.data || isFetching)\n return <PartialExchangeSeries />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <h1 className='h2'>{series.data.name}</h1>\n\n <div className='d-flex justify-content-between align-items-center'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getSeriesAppLink(series.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n includeProductionYear\n />\n </div>\n\n <div className='pb-3'>\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["endpoints","id","shareId","UrlHelper","SharedWithStatements","videoCount","SeriesRequests","queryStringObj","userId","sort","cursor","sortFilter","VideoSortHelper","key","k","PublicWithStatement","PartialExchangeSeries","jsxs","Fragment","jsx","PartialBreadcrumbs","PartialVideoList","namespace","getPhrase","LanguageService","ExchangeSeriesView","props","fetch","Flight.useGetFetch","alerts","useAlerts","series","Flight.useBasicFetch","currentUser","UserRequests","useSetPageMetadata","_a","useHandleObjectError","commonVideoProps","useCommonVideoProps","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","videoActions","useGetExchangeActions","breadcrumbs","AppChannels","Actions","VideoActionsContext","Breadcrumbs","VideoSortSelect","getSeriesAppLink","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","InfiniteScrollFooter"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{R as o,A as s,a,b as n,j as t}from"./app-BeXfSt3Z.js";import{u as p}from"./CZWyo3vU.chunk.js";import"./BMOkpx9W.chunk.js";import"./fG3bu7tL.chunk.js";import"./BM1pKS1x.chunk.js";function f(e){const{region:r,isLoading:i}=p();return o.useEffect(()=>{i||s.trigger({application:n.TV,action:a.Tv.CHANNELS,args:[r],params:e.requestVideo?{requestVideo:e.requestVideo}:void 0},{replace:!0})},[r]),t.jsx(t.Fragment,{})}export{f as TvHomeView};
2
- //# sourceMappingURL=ZQ2N8RIM.chunk.js.map
1
+ import{R as o,A as s,a,b as n,j as t}from"./app-DQUfzK7M.js";import{u as p}from"./ChQd3LFA.chunk.js";import"./BldjpTLL.chunk.js";import"./BIciRJHg.chunk.js";import"./CeNnu9Uy.chunk.js";function f(e){const{region:r,isLoading:i}=p();return o.useEffect(()=>{i||s.trigger({application:n.TV,action:a.Tv.CHANNELS,args:[r],params:e.requestVideo?{requestVideo:e.requestVideo}:void 0},{replace:!0})},[r]),t.jsx(t.Fragment,{})}export{f as TvHomeView};
2
+ //# sourceMappingURL=DjZMDa7F.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZQ2N8RIM.chunk.js","sources":["../../src/apps/tv/views/tv-home/TvHomeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\n\ninterface TvHomeViewProps {\n requestVideo: boolean;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TvHomeView(props: TvHomeViewProps): JSX.Element {\n const { region, isLoading } = useSelectedRegion();\n\n React.useEffect(() => {\n if (isLoading)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS,\n args: [region],\n params: props.requestVideo ? {\n requestVideo: props.requestVideo\n } : undefined\n }, { replace: true });\n }, [region]);\n\n return <></>;\n}"],"names":["TvHomeView","props","region","isLoading","useSelectedRegion","React","Core.AppLinkHelper","AppChannels","Actions","jsx","Fragment"],"mappings":"yLAcO,SAASA,EAAWC,EAAqC,CAC9D,KAAM,CAAE,OAAAC,EAAQ,UAAAC,CAAA,EAAcC,EAAA,EAE9B,OAAAC,EAAM,UAAU,IAAM,CAChBF,GAGJG,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,SACnB,KAAM,CAACN,CAAM,EACb,OAAQD,EAAM,aAAe,CAC3B,aAAcA,EAAM,YAAA,EAClB,MAAA,EACH,CAAE,QAAS,GAAM,CACtB,EAAG,CAACC,CAAM,CAAC,EAEJO,EAAAA,IAAAC,EAAAA,SAAA,EAAE,CACX"}
1
+ {"version":3,"file":"DjZMDa7F.chunk.js","sources":["../../src/apps/tv/views/tv-home/TvHomeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\n\ninterface TvHomeViewProps {\n requestVideo: boolean;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function TvHomeView(props: TvHomeViewProps): JSX.Element {\n const { region, isLoading } = useSelectedRegion();\n\n React.useEffect(() => {\n if (isLoading)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS,\n args: [region],\n params: props.requestVideo ? {\n requestVideo: props.requestVideo\n } : undefined\n }, { replace: true });\n }, [region]);\n\n return <></>;\n}"],"names":["TvHomeView","props","region","isLoading","useSelectedRegion","React","Core.AppLinkHelper","AppChannels","Actions","jsx","Fragment"],"mappings":"yLAcO,SAASA,EAAWC,EAAqC,CAC9D,KAAM,CAAE,OAAAC,EAAQ,UAAAC,CAAA,EAAcC,EAAA,EAE9B,OAAAC,EAAM,UAAU,IAAM,CAChBF,GAGJG,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,SACnB,KAAM,CAACN,CAAM,EACb,OAAQD,EAAM,aAAe,CAC3B,aAAcA,EAAM,YAAA,EAClB,MAAA,EACH,CAAE,QAAS,GAAM,CACtB,EAAG,CAACC,CAAM,CAAC,EAEJO,EAAAA,IAAAC,EAAAA,SAAA,EAAE,CACX"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./app-BeXfSt3Z.js";var x={exports:{}},o;function u(){return o||(o=1,(function(r){function s(){return r.exports=s=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(i[a]=n[a])}return i},r.exports.__esModule=!0,r.exports.default=r.exports,s.apply(null,arguments)}r.exports=s,r.exports.__esModule=!0,r.exports.default=r.exports})(x)),x.exports}function f(r){return e.jsxs("svg",{...r,children:[e.jsx("defs",{children:e.jsx("path",{id:"a",d:"M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6",fill:"currentColor"})}),e.jsx("use",{xlinkHref:"#a",fill:"#333"})]})}export{f as V,u as r};
2
- //# sourceMappingURL=D0g725Qb.chunk.js.map
1
+ import{j as e}from"./app-DQUfzK7M.js";var x={exports:{}},o;function u(){return o||(o=1,(function(r){function s(){return r.exports=s=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(i[a]=n[a])}return i},r.exports.__esModule=!0,r.exports.default=r.exports,s.apply(null,arguments)}r.exports=s,r.exports.__esModule=!0,r.exports.default=r.exports})(x)),x.exports}function f(r){return e.jsxs("svg",{...r,children:[e.jsx("defs",{children:e.jsx("path",{id:"a",d:"M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6",fill:"currentColor"})}),e.jsx("use",{xlinkHref:"#a",fill:"#333"})]})}export{f as V,u as r};
2
+ //# sourceMappingURL=DmsvtP5R.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D0g725Qb.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../libs/shared/src/images/svg/actions/VisibleOnSvg.tsx"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\n\nexport function VisibleOnSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'\n fill='currentColor'\n />\n </defs>\n <use xlinkHref='#a' fill='#333' />\n </svg>\n );\n}\n"],"names":["_extends","module","n","e","t","r","VisibleOnSvg","props","jsxs","jsx"],"mappings":"oGAAA,SAASA,GAAW,CAClB,OAAOC,EAAA,QAAiBD,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUE,EAAG,CACrF,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAASE,KAAKD,GAAI,CAAA,GAAI,eAAe,KAAKA,EAAGC,CAAC,IAAMH,EAAEG,CAAC,EAAID,EAAEC,CAAC,EACpE,CACI,OAAOH,CACX,EAAKD,qBAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASD,EAAS,MAAM,KAAM,SAAS,CACjH,CACAC,EAAA,QAAiBD,EAAUC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,wBCPzF,SAASK,EAAaC,EAAsC,CACjE,OACEC,EAAAA,KAAC,MAAA,CAAK,GAAGD,EACP,SAAA,CAAAE,MAAC,OAAA,CACC,SAAAA,EAAAA,IAAC,OAAA,CACC,GAAG,IACH,EAAE,qQACF,KAAK,cAAA,CAAA,EAET,EACAA,EAAAA,IAAC,MAAA,CAAI,UAAU,KAAK,KAAK,MAAA,CAAO,CAAA,EAClC,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"DmsvtP5R.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../libs/shared/src/images/svg/actions/VisibleOnSvg.tsx"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\n\nexport function VisibleOnSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'\n fill='currentColor'\n />\n </defs>\n <use xlinkHref='#a' fill='#333' />\n </svg>\n );\n}\n"],"names":["_extends","module","n","e","t","r","VisibleOnSvg","props","jsxs","jsx"],"mappings":"oGAAA,SAASA,GAAW,CAClB,OAAOC,EAAA,QAAiBD,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUE,EAAG,CACrF,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAASE,KAAKD,GAAI,CAAA,GAAI,eAAe,KAAKA,EAAGC,CAAC,IAAMH,EAAEG,CAAC,EAAID,EAAEC,CAAC,EACpE,CACI,OAAOH,CACX,EAAKD,qBAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASD,EAAS,MAAM,KAAM,SAAS,CACjH,CACAC,EAAA,QAAiBD,EAAUC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,wBCPzF,SAASK,EAAaC,EAAsC,CACjE,OACEC,EAAAA,KAAC,MAAA,CAAK,GAAGD,EACP,SAAA,CAAAE,MAAC,OAAA,CACC,SAAAA,EAAAA,IAAC,OAAA,CACC,GAAG,IACH,EAAE,qQACF,KAAK,cAAA,CAAA,EAET,EACAA,EAAAA,IAAC,MAAA,CAAI,UAAU,KAAK,KAAK,MAAA,CAAO,CAAA,EAClC,CAEJ","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{j as s,G as z,Q as h,b3 as A,r as L,F as v,b4 as S,aU as M}from"./app-BeXfSt3Z.js";import{a as N}from"./DGZafYHS.chunk.js";const P=["bg-green","bg-cyan","bg-teal","bg-blue","bg-indigo","bg-purple"],G=["bg-pink","bg-orange",...P];function H(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z",clipRule:"evenodd"})})}function I(t){return s.jsx("svg",{...t,viewBox:"0 0 24 21",children:s.jsx("path",{d:"M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5",fill:"currentColor"})})}function B(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",d:"M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17"})})}function E(t,e){return e[t.charCodeAt(0)%e.length]}const O="_baseFallbackContainer_14tjv_1",R="_svgFallbackContainer_14tjv_1",V="_subjectFallbackContainer_14tjv_9",w="_subjectFallbackContainerSmall_14tjv_18",U="_subjectFallbackContainerLarge_14tjv_21",q="_seriesItemFallback_14tjv_24",Q="_playlistItemFallback_14tjv_24",J="_playlistFallback_14tjv_28",W="_posterFallback_14tjv_29",X="_subjectFallback_14tjv_9",Y="_fallbackThumbnailImage_14tjv_47",Z="_videoFallback_14tjv_55",K="_folderFallback_14tjv_56",n={baseFallbackContainer:O,svgFallbackContainer:R,subjectFallbackContainer:V,subjectFallbackContainerSmall:w,subjectFallbackContainerLarge:U,seriesItemFallback:q,playlistItemFallback:Q,playlistFallback:J,posterFallback:W,subjectFallback:X,fallbackThumbnailImage:Y,videoFallback:Z,folderFallback:K};var T=(t=>(t[t.Playlist=0]="Playlist",t[t.PlaylistThumbnail=1]="PlaylistThumbnail",t[t.Series=2]="Series",t[t.SeriesThumbnail=3]="SeriesThumbnail",t[t.Subject=4]="Subject",t[t.TallSubject=5]="TallSubject",t[t.Video=6]="Video",t[t.Folder=7]="Folder",t))(T||{});function p(t,e,i){if(e===4){const o=i===0?n.subjectFallbackContainerLarge:n.subjectFallbackContainerSmall;return`${n.subjectFallbackContainer} ${o}`}return t===0?e===3||e===1?`${n.svgFallbackContainer} rounded-3`:n.svgFallbackContainer:n.baseFallbackContainer}function y(t){return t===3?n.seriesItemFallback:t===1?n.playlistItemFallback:t===0?n.playlistFallback:t===2||t===5?n.posterFallback:t===4?`${n.subjectFallback} svg-container d-inline-block`:""}function D(t){return t===3||t===1?H:t===0?I:t===2?B:t===4||t===5?N:null}function tt(t){return t===4?h.ExtraLarge:h.Standard}at.defaultProps={mediaType:0,containerClassSize:0};function at(t){const{type:e,mediaType:i,extraClasses:o,containerClassSize:b}=t;if(e===6)return s.jsx("div",{className:`${n.videoFallback} ${t.extraClasses} bg-light-blue`});if(e===7)return s.jsx("div",{className:`${n.folderFallback} ${t.extraClasses} ${E(t.name,G)}`});const d=y(e),l=D(e),c=tt(e);let r=`${p(i,e,b)}`;return o&&(r+=` ${t.extraClasses}`),s.jsx("div",{className:r,children:i===0?s.jsx(z,{svg:l,className:`${d} ${t.svgContainerClassName??""}`,tagName:"div",size:c}):s.jsx("div",{className:n.fallbackThumbnailImage,style:{backgroundImage:`url('${l}')`}})})}M.Ok;function nt(t,e,i){function o(l){if(l)return v.isFunction(e)?[...e(l)]:[...l.data]}function b(l){var c,r;if(l)return i?i(l):(r=(c=l.pagination)==null?void 0:c.cursors)==null?void 0:r.next}function d(l){if(l)return l==null?void 0:l.count}return A(L.useMemo(()=>l=>{if(!v.isFunction(t))return;const c=t,r=v.isFunction(t)&&c();let a=r&&S(l,r),f=a&&a.isFetching,F=a&&a.statusCode,C=a&&a.hasCompleted;const x=C,$=a&&a.shouldFetch,_=o(a&&a.data);let u=b(a&&a.data);const k=d(a&&a.data);for(;u&&(a=S(l,c(u)),f=f||a.isFetching,F=a.statusCode,C=a.hasCompleted,!a.shouldFetch);){const m=o(a.data);m&&_.push(...m);const g=b(a.data);g===u?u=null:u=g}const j={shouldInitialFetch:$,items:_,nextCursor:u,isFetching:f,statusCode:F,hasCompleted:C,hasFirstPageCompleted:x};return typeof k=="number"&&(j.totalItems=k),j},[t]))}export{G as B,at as I,T as a,E as g,nt as u};
2
- //# sourceMappingURL=BVFJa4eN.chunk.js.map
1
+ import{j as s,G as z,Q as h,b3 as A,r as L,F as v,b4 as S,aU as M}from"./app-DQUfzK7M.js";import{a as N}from"./ebPScdjM.chunk.js";const P=["bg-green","bg-cyan","bg-teal","bg-blue","bg-indigo","bg-purple"],G=["bg-pink","bg-orange",...P];function H(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z",clipRule:"evenodd"})})}function I(t){return s.jsx("svg",{...t,viewBox:"0 0 24 21",children:s.jsx("path",{d:"M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5",fill:"currentColor"})})}function B(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",d:"M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17"})})}function E(t,e){return e[t.charCodeAt(0)%e.length]}const O="_baseFallbackContainer_14tjv_1",R="_svgFallbackContainer_14tjv_1",V="_subjectFallbackContainer_14tjv_9",w="_subjectFallbackContainerSmall_14tjv_18",U="_subjectFallbackContainerLarge_14tjv_21",q="_seriesItemFallback_14tjv_24",Q="_playlistItemFallback_14tjv_24",J="_playlistFallback_14tjv_28",W="_posterFallback_14tjv_29",X="_subjectFallback_14tjv_9",Y="_fallbackThumbnailImage_14tjv_47",Z="_videoFallback_14tjv_55",K="_folderFallback_14tjv_56",n={baseFallbackContainer:O,svgFallbackContainer:R,subjectFallbackContainer:V,subjectFallbackContainerSmall:w,subjectFallbackContainerLarge:U,seriesItemFallback:q,playlistItemFallback:Q,playlistFallback:J,posterFallback:W,subjectFallback:X,fallbackThumbnailImage:Y,videoFallback:Z,folderFallback:K};var T=(t=>(t[t.Playlist=0]="Playlist",t[t.PlaylistThumbnail=1]="PlaylistThumbnail",t[t.Series=2]="Series",t[t.SeriesThumbnail=3]="SeriesThumbnail",t[t.Subject=4]="Subject",t[t.TallSubject=5]="TallSubject",t[t.Video=6]="Video",t[t.Folder=7]="Folder",t))(T||{});function p(t,e,i){if(e===4){const o=i===0?n.subjectFallbackContainerLarge:n.subjectFallbackContainerSmall;return`${n.subjectFallbackContainer} ${o}`}return t===0?e===3||e===1?`${n.svgFallbackContainer} rounded-3`:n.svgFallbackContainer:n.baseFallbackContainer}function y(t){return t===3?n.seriesItemFallback:t===1?n.playlistItemFallback:t===0?n.playlistFallback:t===2||t===5?n.posterFallback:t===4?`${n.subjectFallback} svg-container d-inline-block`:""}function D(t){return t===3||t===1?H:t===0?I:t===2?B:t===4||t===5?N:null}function tt(t){return t===4?h.ExtraLarge:h.Standard}at.defaultProps={mediaType:0,containerClassSize:0};function at(t){const{type:e,mediaType:i,extraClasses:o,containerClassSize:b}=t;if(e===6)return s.jsx("div",{className:`${n.videoFallback} ${t.extraClasses} bg-light-blue`});if(e===7)return s.jsx("div",{className:`${n.folderFallback} ${t.extraClasses} ${E(t.name,G)}`});const d=y(e),l=D(e),c=tt(e);let r=`${p(i,e,b)}`;return o&&(r+=` ${t.extraClasses}`),s.jsx("div",{className:r,children:i===0?s.jsx(z,{svg:l,className:`${d} ${t.svgContainerClassName??""}`,tagName:"div",size:c}):s.jsx("div",{className:n.fallbackThumbnailImage,style:{backgroundImage:`url('${l}')`}})})}M.Ok;function nt(t,e,i){function o(l){if(l)return v.isFunction(e)?[...e(l)]:[...l.data]}function b(l){var c,r;if(l)return i?i(l):(r=(c=l.pagination)==null?void 0:c.cursors)==null?void 0:r.next}function d(l){if(l)return l==null?void 0:l.count}return A(L.useMemo(()=>l=>{if(!v.isFunction(t))return;const c=t,r=v.isFunction(t)&&c();let a=r&&S(l,r),f=a&&a.isFetching,F=a&&a.statusCode,C=a&&a.hasCompleted;const x=C,$=a&&a.shouldFetch,_=o(a&&a.data);let u=b(a&&a.data);const k=d(a&&a.data);for(;u&&(a=S(l,c(u)),f=f||a.isFetching,F=a.statusCode,C=a.hasCompleted,!a.shouldFetch);){const m=o(a.data);m&&_.push(...m);const g=b(a.data);g===u?u=null:u=g}const j={shouldInitialFetch:$,items:_,nextCursor:u,isFetching:f,statusCode:F,hasCompleted:C,hasFirstPageCompleted:x};return typeof k=="number"&&(j.totalItems=k),j},[t]))}export{G as B,at as I,T as a,E as g,nt as u};
2
+ //# sourceMappingURL=Du1vfrL1.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BVFJa4eN.chunk.js","sources":["../../../../libs/shared/src/constants/ColourClassNames.ts","../../../../libs/shared/src/images/svg/actions/PlaySvg.tsx","../../../../libs/shared/src/images/svg/objects/ImageSvg.tsx","../../../../libs/shared/src/images/svg/objects/SeriesSvg.tsx","../../../../libs/shared/src/utils/getBgColorClass.ts","../../../../libs/shared/src/components/image/ImageFallback.tsx","../../../../libs/shared/src/hooks/UseSelectAllPages.ts"],"sourcesContent":["/**\n * Use this instead of the list below if you need to render the clickview logo\n * on the background you're rendering.\n */\nexport const LOGO_SAFE_BG_CLASS_NAMES = [\n 'bg-green',\n 'bg-cyan',\n 'bg-teal',\n 'bg-blue',\n 'bg-indigo',\n 'bg-purple'\n];\n\nexport const BG_COLOUR_CLASS_NAMES = [\n 'bg-pink',\n 'bg-orange',\n ...LOGO_SAFE_BG_CLASS_NAMES\n];","import React from 'react';\n\nexport function PlaySvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function ImageSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props} viewBox='0 0 24 21'>\n <path\n d='M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function SeriesSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17'\n />\n </svg>\n );\n}\n","export function getBgColorClass(name: string, classNames: string[]): string {\n return classNames[name.charCodeAt(0) % classNames.length];\n}\n\nexport function getDeterministicBgColorClass(name: string, classNames: string[]): string {\n const sum = name\n .split('')\n .reduce(\n (acc, char) => acc + char.charCodeAt(0),\n 0\n );\n \n return classNames[sum % classNames.length];\n}","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { PlaySvg } from 'libs/shared/images/svg/actions/PlaySvg';\nimport { FileImgSvg } from 'libs/shared/images/svg/objects/FileImgSvg';\nimport { ImageSvg } from 'libs/shared/images/svg/objects/ImageSvg';\nimport { SeriesSvg } from 'libs/shared/images/svg/objects/SeriesSvg';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nimport styles from './image-fallback.module.scss';\n\nexport enum ImageFallbackType {\n Playlist,\n PlaylistThumbnail,\n Series,\n SeriesThumbnail,\n Subject,\n TallSubject,\n Video,\n Folder\n}\n\nexport enum ImageFallbackMediaType {\n Svg,\n Image\n}\n\nexport enum ContainerClassSize {\n Large,\n Small\n}\n\nfunction getContainerClass(\n type: ImageFallbackMediaType,\n objectType: ImageFallbackType,\n containerClassSize: ContainerClassSize\n): string {\n if (objectType === ImageFallbackType.Subject) {\n const containerSizeClass = containerClassSize === ContainerClassSize.Large\n ? styles.subjectFallbackContainerLarge\n : styles.subjectFallbackContainerSmall;\n\n return `${styles.subjectFallbackContainer} ${containerSizeClass}`;\n }\n\n if (type === ImageFallbackMediaType.Svg) {\n if (objectType === ImageFallbackType.SeriesThumbnail || objectType === ImageFallbackType.PlaylistThumbnail)\n return `${styles.svgFallbackContainer} rounded-3`;\n \n return styles.svgFallbackContainer;\n }\n\n return styles.baseFallbackContainer;\n}\n\nfunction getClassByType(type: ImageFallbackType): string {\n if (type === ImageFallbackType.SeriesThumbnail)\n return styles.seriesItemFallback;\n\n if (type === ImageFallbackType.PlaylistThumbnail)\n return styles.playlistItemFallback;\n\n if (type === ImageFallbackType.Playlist)\n return styles.playlistFallback;\n\n if (type === ImageFallbackType.Series || type === ImageFallbackType.TallSubject)\n return styles.posterFallback;\n\n if (type === ImageFallbackType.Subject)\n return `${styles.subjectFallback} svg-container d-inline-block`;\n\n return '';\n}\n\nfunction getMedia(type: ImageFallbackType) {\n if (type === ImageFallbackType.SeriesThumbnail || type === ImageFallbackType.PlaylistThumbnail)\n return PlaySvg;\n\n if (type === ImageFallbackType.Playlist)\n return ImageSvg;\n\n if (type === ImageFallbackType.Series)\n return SeriesSvg;\n\n if (type === ImageFallbackType.Subject || type === ImageFallbackType.TallSubject)\n return FileImgSvg;\n\n return null;\n}\n\nfunction getSize(type: ImageFallbackType): SvgContainerSize {\n if (type === ImageFallbackType.Subject)\n return SvgContainerSize.ExtraLarge;\n\n return SvgContainerSize.Standard;\n}\n\ninterface ImageFallbackProps {\n type: ImageFallbackType;\n mediaType?: ImageFallbackMediaType;\n extraClasses?: string;\n svgContainerClassName?: string;\n name?: string;\n containerClassSize?: ContainerClassSize\n}\n\nImageFallback.defaultProps = {\n mediaType: ImageFallbackMediaType.Svg,\n containerClassSize: ContainerClassSize.Large\n};\n\nexport function ImageFallback(props: ImageFallbackProps): JSX.Element {\n const { type, mediaType, extraClasses, containerClassSize } = props;\n\n if (type === ImageFallbackType.Video)\n return <div className={`${styles.videoFallback} ${props.extraClasses} bg-light-blue`} />;\n\n if (type === ImageFallbackType.Folder)\n return <div className={`${styles.folderFallback} ${props.extraClasses} ${getBgColorClass(props.name, BG_COLOUR_CLASS_NAMES)}`} />;\n\n const typeClass = getClassByType(type);\n const media = getMedia(type);\n const size = getSize(type);\n\n let className = `${getContainerClass(mediaType, type, containerClassSize)}`;\n\n if (extraClasses)\n className += ` ${props.extraClasses}`;\n\n return (\n <div className={className}>\n {mediaType === ImageFallbackMediaType.Svg\n ? (\n <SvgContainer\n svg={media}\n className={`${typeClass} ${props.svgContainerClassName ?? ''}`}\n tagName='div'\n size={size}\n />\n ) : (\n <div className={styles.fallbackThumbnailImage} style={{ backgroundImage: `url('${media}')` }} />\n )\n }\n </div>\n );\n}","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\nimport { ApplicationState } from 'libs/common/react/interfaces';\n\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nexport interface SelectAllPagesResult<T> {\n items: T[];\n shouldInitialFetch: boolean;\n nextCursor: string;\n isFetching: boolean;\n statusCode: HttpStatus;\n hasCompleted: boolean;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\nexport const EmptySelectAllPagesResult: SelectAllPagesResult<any> = {\n items: [],\n shouldInitialFetch: false,\n nextCursor: null,\n isFetching: false,\n statusCode: HttpStatus.Ok,\n hasCompleted: true,\n totalItems: 0,\n hasFirstPageCompleted: true\n};\n\n/**\n * Hook to select all pages of a collection from the store and flatten them.\n * It will not trigger any fetches.\n * \n * @param getKey - callback function to get the key for each page.\n * Can be false if the key requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useSelectAllPages<TObject, TResponse = BasePaginatedCollection<TObject>>(\n getKey: ((cursor?: string) => string) | false,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string\n): SelectAllPagesResult<TObject> {\n function safeGetItems(responseData: TResponse): TObject[] {\n if (!responseData)\n return undefined;\n\n if (FunctionHelper.isFunction(getItems))\n return [...getItems(responseData)];\n\n return [...(responseData as unknown as BasePaginatedCollection<TObject>).data];\n }\n\n function safeGetCursor(responseData: TResponse): string {\n if (!responseData)\n return undefined;\n\n if (getCursor)\n return getCursor(responseData);\n\n return (responseData as unknown as BasePaginatedCollection<TObject>).pagination?.cursors?.next;\n }\n\n function safeGetTotalItems(responseData: TResponse): number {\n if (!responseData)\n return undefined;\n\n return (responseData as unknown as BasePaginatedCollection<TObject>)?.count;\n }\n\n return useSelector(useMemo(() => (state: ApplicationState) => {\n if (!FunctionHelper.isFunction(getKey))\n return;\n\n const getKeyFn = getKey as (cursor?: string) => string;\n const key = FunctionHelper.isFunction(getKey) && getKeyFn();\n\n let request = key && Flight.getResponse<TResponse>(state, key);\n\n let isFetching = request && request.isFetching;\n let statusCode = request && request.statusCode;\n let hasCompleted = request && request.hasCompleted;\n const hasFirstPageCompleted = hasCompleted;\n\n const shouldInitialFetch = request && request.shouldFetch;\n\n const items = safeGetItems(request && request.data);\n let nextCursor = safeGetCursor(request && request.data);\n const totalItems = safeGetTotalItems(request && request.data);\n\n // Retrieve all pages that are currently in the store.\n while (nextCursor) {\n request = Flight.getResponse<TResponse>(state, getKeyFn(nextCursor));\n\n isFetching = isFetching || request.isFetching;\n statusCode = request.statusCode;\n hasCompleted = request.hasCompleted;\n\n // If next page hasn't been fetched, break.\n if (request.shouldFetch)\n break;\n\n const newItems = safeGetItems(request.data);\n newItems && items.push(...newItems);\n\n const nextNextCursor = safeGetCursor(request.data);\n\n /**\n * This is a check to basically see if the backend has messed up the cursors it's sent back.\n * For some things (e.g. user manager in Lite), the cursors are generated for a paginated collection,\n * but the collection is then filtered afterwards (making the cursors not entirely accurate).\n * This can lead to problems where a request with a cursor might return that same cursor as the `next`\n * cursor. Confusing, but basically when that happens we want this while loop to end, otherwise it'll\n * run infinitely - Josh\n */\n if (nextNextCursor === nextCursor) {\n nextCursor = null;\n } else {\n nextCursor = nextNextCursor;\n }\n }\n\n const response: SelectAllPagesResult<TObject> = {\n shouldInitialFetch,\n items,\n nextCursor,\n isFetching,\n statusCode,\n hasCompleted,\n hasFirstPageCompleted\n };\n\n if (typeof (totalItems) === 'number')\n response.totalItems = totalItems;\n\n return response;\n }, [getKey]));\n}"],"names":["LOGO_SAFE_BG_CLASS_NAMES","BG_COLOUR_CLASS_NAMES","PlaySvg","props","jsx","ImageSvg","SeriesSvg","getBgColorClass","name","classNames","ImageFallbackType","getContainerClass","type","objectType","containerClassSize","containerSizeClass","styles","getClassByType","getMedia","FileImgSvg","getSize","SvgContainerSize","ImageFallback","mediaType","extraClasses","typeClass","media","size","className","SvgContainer","HttpStatus","useSelectAllPages","getKey","getItems","getCursor","safeGetItems","responseData","FunctionHelper","safeGetCursor","_b","_a","safeGetTotalItems","useSelector","useMemo","state","getKeyFn","key","request","Flight.getResponse","isFetching","statusCode","hasCompleted","hasFirstPageCompleted","shouldInitialFetch","items","nextCursor","totalItems","newItems","nextNextCursor","response"],"mappings":"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"}
1
+ {"version":3,"file":"Du1vfrL1.chunk.js","sources":["../../../../libs/shared/src/constants/ColourClassNames.ts","../../../../libs/shared/src/images/svg/actions/PlaySvg.tsx","../../../../libs/shared/src/images/svg/objects/ImageSvg.tsx","../../../../libs/shared/src/images/svg/objects/SeriesSvg.tsx","../../../../libs/shared/src/utils/getBgColorClass.ts","../../../../libs/shared/src/components/image/ImageFallback.tsx","../../../../libs/shared/src/hooks/UseSelectAllPages.ts"],"sourcesContent":["/**\n * Use this instead of the list below if you need to render the clickview logo\n * on the background you're rendering.\n */\nexport const LOGO_SAFE_BG_CLASS_NAMES = [\n 'bg-green',\n 'bg-cyan',\n 'bg-teal',\n 'bg-blue',\n 'bg-indigo',\n 'bg-purple'\n];\n\nexport const BG_COLOUR_CLASS_NAMES = [\n 'bg-pink',\n 'bg-orange',\n ...LOGO_SAFE_BG_CLASS_NAMES\n];","import React from 'react';\n\nexport function PlaySvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function ImageSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props} viewBox='0 0 24 21'>\n <path\n d='M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function SeriesSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17'\n />\n </svg>\n );\n}\n","export function getBgColorClass(name: string, classNames: string[]): string {\n return classNames[name.charCodeAt(0) % classNames.length];\n}\n\nexport function getDeterministicBgColorClass(name: string, classNames: string[]): string {\n const sum = name\n .split('')\n .reduce(\n (acc, char) => acc + char.charCodeAt(0),\n 0\n );\n \n return classNames[sum % classNames.length];\n}","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { PlaySvg } from 'libs/shared/images/svg/actions/PlaySvg';\nimport { FileImgSvg } from 'libs/shared/images/svg/objects/FileImgSvg';\nimport { ImageSvg } from 'libs/shared/images/svg/objects/ImageSvg';\nimport { SeriesSvg } from 'libs/shared/images/svg/objects/SeriesSvg';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nimport styles from './image-fallback.module.scss';\n\nexport enum ImageFallbackType {\n Playlist,\n PlaylistThumbnail,\n Series,\n SeriesThumbnail,\n Subject,\n TallSubject,\n Video,\n Folder\n}\n\nexport enum ImageFallbackMediaType {\n Svg,\n Image\n}\n\nexport enum ContainerClassSize {\n Large,\n Small\n}\n\nfunction getContainerClass(\n type: ImageFallbackMediaType,\n objectType: ImageFallbackType,\n containerClassSize: ContainerClassSize\n): string {\n if (objectType === ImageFallbackType.Subject) {\n const containerSizeClass = containerClassSize === ContainerClassSize.Large\n ? styles.subjectFallbackContainerLarge\n : styles.subjectFallbackContainerSmall;\n\n return `${styles.subjectFallbackContainer} ${containerSizeClass}`;\n }\n\n if (type === ImageFallbackMediaType.Svg) {\n if (objectType === ImageFallbackType.SeriesThumbnail || objectType === ImageFallbackType.PlaylistThumbnail)\n return `${styles.svgFallbackContainer} rounded-3`;\n \n return styles.svgFallbackContainer;\n }\n\n return styles.baseFallbackContainer;\n}\n\nfunction getClassByType(type: ImageFallbackType): string {\n if (type === ImageFallbackType.SeriesThumbnail)\n return styles.seriesItemFallback;\n\n if (type === ImageFallbackType.PlaylistThumbnail)\n return styles.playlistItemFallback;\n\n if (type === ImageFallbackType.Playlist)\n return styles.playlistFallback;\n\n if (type === ImageFallbackType.Series || type === ImageFallbackType.TallSubject)\n return styles.posterFallback;\n\n if (type === ImageFallbackType.Subject)\n return `${styles.subjectFallback} svg-container d-inline-block`;\n\n return '';\n}\n\nfunction getMedia(type: ImageFallbackType) {\n if (type === ImageFallbackType.SeriesThumbnail || type === ImageFallbackType.PlaylistThumbnail)\n return PlaySvg;\n\n if (type === ImageFallbackType.Playlist)\n return ImageSvg;\n\n if (type === ImageFallbackType.Series)\n return SeriesSvg;\n\n if (type === ImageFallbackType.Subject || type === ImageFallbackType.TallSubject)\n return FileImgSvg;\n\n return null;\n}\n\nfunction getSize(type: ImageFallbackType): SvgContainerSize {\n if (type === ImageFallbackType.Subject)\n return SvgContainerSize.ExtraLarge;\n\n return SvgContainerSize.Standard;\n}\n\ninterface ImageFallbackProps {\n type: ImageFallbackType;\n mediaType?: ImageFallbackMediaType;\n extraClasses?: string;\n svgContainerClassName?: string;\n name?: string;\n containerClassSize?: ContainerClassSize\n}\n\nImageFallback.defaultProps = {\n mediaType: ImageFallbackMediaType.Svg,\n containerClassSize: ContainerClassSize.Large\n};\n\nexport function ImageFallback(props: ImageFallbackProps): JSX.Element {\n const { type, mediaType, extraClasses, containerClassSize } = props;\n\n if (type === ImageFallbackType.Video)\n return <div className={`${styles.videoFallback} ${props.extraClasses} bg-light-blue`} />;\n\n if (type === ImageFallbackType.Folder)\n return <div className={`${styles.folderFallback} ${props.extraClasses} ${getBgColorClass(props.name, BG_COLOUR_CLASS_NAMES)}`} />;\n\n const typeClass = getClassByType(type);\n const media = getMedia(type);\n const size = getSize(type);\n\n let className = `${getContainerClass(mediaType, type, containerClassSize)}`;\n\n if (extraClasses)\n className += ` ${props.extraClasses}`;\n\n return (\n <div className={className}>\n {mediaType === ImageFallbackMediaType.Svg\n ? (\n <SvgContainer\n svg={media}\n className={`${typeClass} ${props.svgContainerClassName ?? ''}`}\n tagName='div'\n size={size}\n />\n ) : (\n <div className={styles.fallbackThumbnailImage} style={{ backgroundImage: `url('${media}')` }} />\n )\n }\n </div>\n );\n}","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\nimport { ApplicationState } from 'libs/common/react/interfaces';\n\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nexport interface SelectAllPagesResult<T> {\n items: T[];\n shouldInitialFetch: boolean;\n nextCursor: string;\n isFetching: boolean;\n statusCode: HttpStatus;\n hasCompleted: boolean;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\nexport const EmptySelectAllPagesResult: SelectAllPagesResult<any> = {\n items: [],\n shouldInitialFetch: false,\n nextCursor: null,\n isFetching: false,\n statusCode: HttpStatus.Ok,\n hasCompleted: true,\n totalItems: 0,\n hasFirstPageCompleted: true\n};\n\n/**\n * Hook to select all pages of a collection from the store and flatten them.\n * It will not trigger any fetches.\n * \n * @param getKey - callback function to get the key for each page.\n * Can be false if the key requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useSelectAllPages<TObject, TResponse = BasePaginatedCollection<TObject>>(\n getKey: ((cursor?: string) => string) | false,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string\n): SelectAllPagesResult<TObject> {\n function safeGetItems(responseData: TResponse): TObject[] {\n if (!responseData)\n return undefined;\n\n if (FunctionHelper.isFunction(getItems))\n return [...getItems(responseData)];\n\n return [...(responseData as unknown as BasePaginatedCollection<TObject>).data];\n }\n\n function safeGetCursor(responseData: TResponse): string {\n if (!responseData)\n return undefined;\n\n if (getCursor)\n return getCursor(responseData);\n\n return (responseData as unknown as BasePaginatedCollection<TObject>).pagination?.cursors?.next;\n }\n\n function safeGetTotalItems(responseData: TResponse): number {\n if (!responseData)\n return undefined;\n\n return (responseData as unknown as BasePaginatedCollection<TObject>)?.count;\n }\n\n return useSelector(useMemo(() => (state: ApplicationState) => {\n if (!FunctionHelper.isFunction(getKey))\n return;\n\n const getKeyFn = getKey as (cursor?: string) => string;\n const key = FunctionHelper.isFunction(getKey) && getKeyFn();\n\n let request = key && Flight.getResponse<TResponse>(state, key);\n\n let isFetching = request && request.isFetching;\n let statusCode = request && request.statusCode;\n let hasCompleted = request && request.hasCompleted;\n const hasFirstPageCompleted = hasCompleted;\n\n const shouldInitialFetch = request && request.shouldFetch;\n\n const items = safeGetItems(request && request.data);\n let nextCursor = safeGetCursor(request && request.data);\n const totalItems = safeGetTotalItems(request && request.data);\n\n // Retrieve all pages that are currently in the store.\n while (nextCursor) {\n request = Flight.getResponse<TResponse>(state, getKeyFn(nextCursor));\n\n isFetching = isFetching || request.isFetching;\n statusCode = request.statusCode;\n hasCompleted = request.hasCompleted;\n\n // If next page hasn't been fetched, break.\n if (request.shouldFetch)\n break;\n\n const newItems = safeGetItems(request.data);\n newItems && items.push(...newItems);\n\n const nextNextCursor = safeGetCursor(request.data);\n\n /**\n * This is a check to basically see if the backend has messed up the cursors it's sent back.\n * For some things (e.g. user manager in Lite), the cursors are generated for a paginated collection,\n * but the collection is then filtered afterwards (making the cursors not entirely accurate).\n * This can lead to problems where a request with a cursor might return that same cursor as the `next`\n * cursor. Confusing, but basically when that happens we want this while loop to end, otherwise it'll\n * run infinitely - Josh\n */\n if (nextNextCursor === nextCursor) {\n nextCursor = null;\n } else {\n nextCursor = nextNextCursor;\n }\n }\n\n const response: SelectAllPagesResult<TObject> = {\n shouldInitialFetch,\n items,\n nextCursor,\n isFetching,\n statusCode,\n hasCompleted,\n hasFirstPageCompleted\n };\n\n if (typeof (totalItems) === 'number')\n response.totalItems = totalItems;\n\n return response;\n }, [getKey]));\n}"],"names":["LOGO_SAFE_BG_CLASS_NAMES","BG_COLOUR_CLASS_NAMES","PlaySvg","props","jsx","ImageSvg","SeriesSvg","getBgColorClass","name","classNames","ImageFallbackType","getContainerClass","type","objectType","containerClassSize","containerSizeClass","styles","getClassByType","getMedia","FileImgSvg","getSize","SvgContainerSize","ImageFallback","mediaType","extraClasses","typeClass","media","size","className","SvgContainer","HttpStatus","useSelectAllPages","getKey","getItems","getCursor","safeGetItems","responseData","FunctionHelper","safeGetCursor","_b","_a","safeGetTotalItems","useSelector","useMemo","state","getKeyFn","key","request","Flight.getResponse","isFetching","statusCode","hasCompleted","hasFirstPageCompleted","shouldInitialFetch","items","nextCursor","totalItems","newItems","nextNextCursor","response"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as i,G as a}from"./app-BeXfSt3Z.js";function s(e){return i.jsx("svg",{...e,children:i.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}const l="_circle_15nxd_1",n="_img_15nxd_6",r={circle:l,img:n};t.defaultProps={textVariant:"white"};function t(e){return!e.imageUrl&&!e.svg?i.jsx(i.Fragment,{}):e.imageUrl?i.jsx("div",{className:`${r.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):i.jsx("div",{className:`${r.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:i.jsx(a,{svg:e.svg,size:e.svgSize})})}export{s as C,t as I};
2
- //# sourceMappingURL=BIM7E_uq.chunk.js.map
1
+ import{j as i,G as a}from"./app-DQUfzK7M.js";function s(e){return i.jsx("svg",{...e,children:i.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}const l="_circle_15nxd_1",n="_img_15nxd_6",r={circle:l,img:n};t.defaultProps={textVariant:"white"};function t(e){return!e.imageUrl&&!e.svg?i.jsx(i.Fragment,{}):e.imageUrl?i.jsx("div",{className:`${r.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):i.jsx("div",{className:`${r.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:i.jsx(a,{svg:e.svg,size:e.svgSize})})}export{s as C,t as I};
2
+ //# sourceMappingURL=HgZI7ZJw.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BIM7E_uq.chunk.js","sources":["../../../../libs/shared/src/images/svg/status/CheckSvg.tsx","../../../../libs/shared/src/components/icon-circle/IconCircle.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n &nbsp;\n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}"],"names":["CheckSvg","props","jsx","IconCircle","Fragment","styles","SvgContainer"],"mappings":"6CAEO,SAASA,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ,+DCIAC,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWF,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAE,EAAAA,SAAA,EAAE,EAEPH,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOJ,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,MAAM,IAAIJ,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACI,EAAA,CAAa,IAAKL,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ"}
1
+ {"version":3,"file":"HgZI7ZJw.chunk.js","sources":["../../../../libs/shared/src/images/svg/status/CheckSvg.tsx","../../../../libs/shared/src/components/icon-circle/IconCircle.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n &nbsp;\n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}"],"names":["CheckSvg","props","jsx","IconCircle","Fragment","styles","SvgContainer"],"mappings":"6CAEO,SAASA,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ,+DCIAC,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWF,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAE,EAAAA,SAAA,EAAE,EAEPH,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOJ,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,MAAM,IAAIJ,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACI,EAAA,CAAa,IAAKL,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-BeXfSt3Z.js";import{S as J}from"./RR_Npo-u.chunk.js";import{F as K}from"./DHx8qw7h.chunk.js";import{l as m,a as X,F as f}from"./DyEyo6rX.chunk.js";import{F as Z}from"./DSjj9Urk.chunk.js";import{B as ee}from"./BARMSVib.chunk.js";import{R as ae}from"./QfCSKVqV.chunk.js";import{V as te}from"./Cvh5d6g-.chunk.js";import{u as se}from"./BOgut51m.chunk.js";import{u as re}from"./yAkKLflS.chunk.js";import{E as ne}from"./QBPzgKy4.chunk.js";import{u as oe}from"./D7ex9pZI.chunk.js";import"./D0g725Qb.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DVGSZWvj.chunk.js";const L="shared.flagRemovalRadio",p=j.encloseNamespace(L);function ie(){const t=F();function l(o){t.setFieldValue("suggestion",o)}function a(){return[p("nonEducational"),p("poorQuality"),p("offensive"),p("copyright"),p("ageAppropriate"),p("audio"),p("other")]}return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"form-label",children:[e.jsx(h,{namespace:L,phrase:"flagRemovalReasonLabel"}),e.jsx("span",{className:"text-danger",children:"*"})]}),a().map((o,d)=>e.jsx(k.Check,{type:"radio",label:o,name:o,id:`flag-${d}`,onChange:()=>l(o),checked:t.values.suggestion===o,className:"mb-2"},d))]})}const C="shared.suggestEditForm";function le(t){const l=F(),[a,o]=y.useState(),[d,n]=y.useState(!1);function g(r){const u=(l==null?void 0:l.values.property)&&t.metadataValue===r.name;l.setFieldValue("suggestion",u?"":r.name),o(r),n(u)}return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{className:"form-label",children:e.jsx(h,{namespace:C,phrase:"suggestLabel"})}),e.jsx("div",{"aria-describedby":"suggestEditRatingError",children:e.jsx(ee,{children:t.ratings.map(r=>e.jsx(B,{onClick:()=>g(r),className:`btn ${r.id===(a==null?void 0:a.id)?"btn-dark":"btn-outline-dark"}`,children:r.code},r.id))})}),d&&e.jsx(Z,{name:"suggestEditRating",children:e.jsx(h,{namespace:C,phrase:"ratingError"})})]})}const ce="shared.suggestEditValidation",S=j.encloseNamespace(ce);function de(){return m.object().shape({property:m.string().required(S("metadata")),reason:m.string().when("property",{is:t=>t==="FlagRemoval",then:m.string().notRequired(),otherwise:m.string().required(S("reason"))}),suggestion:m.string().required(S("suggestion")),currentValue:m.string()})}const b={VideoTitle:{name:"video title",property:"name"},Description:{name:"description",property:"description"},Rating:{name:"rating",property:"rating.name"},SeriesTitle:{name:"series title",property:"series.name"},Season:{name:"season number",property:"season.number"},EpisodeNumber:{name:"episode number",property:"episodeNumber"},BroadcastDate:{name:"broadcast date",property:"dateBroadcast"},Channel:{name:"channel",property:"channel.name"},ProductionYear:{name:"production year",property:"productionYear"},Distributors:{name:"distributors",property:"distributors",collection:!0},ProductionCompanies:{name:"production companies",property:"productionCompanies",collection:!0},Directors:{name:"directors",property:"directors",collection:!0},Producers:{name:"producers",property:"producers",collection:!0},FlagRemoval:{name:"flag for removal"},Other:{name:"other"}},N="shared.suggestEditForm",i=j.encloseNamespace(N),ue={property:"",suggestion:"",reason:"",currentValue:""};function me(t){var r,u;const l=(r=t.ratings)==null?void 0:r.filter(s=>s.code),a=F(),[o,d]=y.useState(),n=a==null?void 0:a.values.property;y.useEffect(()=>{const s=g();a.setValues({property:n,reason:"",suggestion:"",currentValue:s||""}),a.setTouched({}),d(s)},[n]);function g(){const s=b[n];if(!s||!s.property)return null;let c=T(t.video,s.property);if(!c||s.collection&&!c.data.length)return i("none");switch(s.collection&&(c=c.data.map(R=>R.name).join(", ")),n){case"BroadcastDate":return D.format(c,"D MMMM YYYY");default:return c}}return e.jsxs(I,{children:[e.jsxs(f,{as:"select",label:i("metadataLabel"),id:"property",name:"property",value:n,className:"text-capitalize",showRequiredStar:!0,children:[e.jsx("option",{value:"",children:i("metadataPlaceholder")}),Object.keys(b).map((s,c)=>e.jsx("option",{value:s,children:b[s].name},c))]}),n&&e.jsxs(e.Fragment,{children:[o&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"fw-semibold mb-0",children:[e.jsx(h,{namespace:N,phrase:"currentValueLabel"})," ",e.jsx("span",{children:(u=b[n])==null?void 0:u.name})]}),e.jsx("p",{children:o})]}),n==="Rating"&&e.jsx(le,{ratings:l,metadataValue:o}),n==="FlagRemoval"&&e.jsx(ie,{}),n!=="Rating"&&n!=="FlagRemoval"&&e.jsx(f,{label:i("suggestLabel"),placeholder:i("suggestPlaceholder"),type:"text",id:"suggestion",name:"suggestion",value:a==null?void 0:a.values.suggestion,showRequiredStar:!0}),n==="FlagRemoval"?e.jsx(f,{label:i("flagRemovalCommentsLabel"),placeholder:i("flagRemovalCommentsPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason}):e.jsx(f,{label:i("reasonLabel"),placeholder:i("reasonPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason,showRequiredStar:!0})]}),e.jsxs(V,{children:[e.jsx(V.Cancel,{text:i("cancel"),onClick:t.closePopup,variant:"link"}),e.jsx(K,{variant:"dark",submitText:i("submit")})]})]})}function pe(t){return e.jsx(X,{initialValues:ue,validationSchema:de(),onSubmit:t.onClickSubmit,children:e.jsx(me,{...t})})}const w="exchange.suggestEdit",v=j.encloseNamespace(w);function Pe(t){const l=$(),a=se(),{loading:o,handleGenerateReportError:d}=re(),n=x(U.config()),g=x(Y.currentUser()),r=x(te.video(t.videoId)),u=x(ae.ratings()),{previewContext:s,clearPreviewContext:c}=oe(t.videoId,!1);async function R(P,q){try{await l(ne.suggestEdit(r.data.id,P)),a.success(v("success")),E(),O.logUserAction({id:r.data.id,name:r.data.name},{actionType:_.Submit,entity:Q.Video,descriptor:z.SuggestEdit,location:W.Popup,workflowPhase:G.Complete})}catch(A){d(A,v("error"),v("noEmailError"))}finally{q()}}function E(){t.closePopup(),s!=null&&s.appLink&&(J.preventScrollTop(),H.trigger(s.appLink),c())}return n.hasCompleted&&g.hasCompleted&&r.hasCompleted&&u.hasCompleted?e.jsxs(M,{title:v("title"),closePopup:E,showLoadingSpinner:o,children:[e.jsx("p",{children:e.jsx(h,{namespace:w,phrase:"description"})}),e.jsx(pe,{video:r.data,ratings:u.data,closePopup:E,onClickSubmit:R})]}):e.jsx(e.Fragment,{})}export{Pe as ExchangeSuggestEditView};
2
- //# sourceMappingURL=De6u_51f.chunk.js.map
1
+ import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-DQUfzK7M.js";import{S as J}from"./-rc15O6e.chunk.js";import{F as K}from"./Bi_rU-SG.chunk.js";import{l as m,a as X,F as f}from"./uJkDFf2N.chunk.js";import{F as Z}from"./rV0ZG7Fa.chunk.js";import{B as ee}from"./DU7fsRWl.chunk.js";import{R as ae}from"./QfCSKVqV.chunk.js";import{V as te}from"./CidOInHw.chunk.js";import{u as se}from"./JVtTNBu8.chunk.js";import{u as re}from"./DXukh64m.chunk.js";import{E as ne}from"./D_UfRtxO.chunk.js";import{u as oe}from"./NnLpFayg.chunk.js";import"./DmsvtP5R.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DAYsHx3K.chunk.js";const L="shared.flagRemovalRadio",p=j.encloseNamespace(L);function ie(){const t=F();function l(o){t.setFieldValue("suggestion",o)}function a(){return[p("nonEducational"),p("poorQuality"),p("offensive"),p("copyright"),p("ageAppropriate"),p("audio"),p("other")]}return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"form-label",children:[e.jsx(h,{namespace:L,phrase:"flagRemovalReasonLabel"}),e.jsx("span",{className:"text-danger",children:"*"})]}),a().map((o,d)=>e.jsx(k.Check,{type:"radio",label:o,name:o,id:`flag-${d}`,onChange:()=>l(o),checked:t.values.suggestion===o,className:"mb-2"},d))]})}const C="shared.suggestEditForm";function le(t){const l=F(),[a,o]=y.useState(),[d,n]=y.useState(!1);function g(r){const u=(l==null?void 0:l.values.property)&&t.metadataValue===r.name;l.setFieldValue("suggestion",u?"":r.name),o(r),n(u)}return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{className:"form-label",children:e.jsx(h,{namespace:C,phrase:"suggestLabel"})}),e.jsx("div",{"aria-describedby":"suggestEditRatingError",children:e.jsx(ee,{children:t.ratings.map(r=>e.jsx(B,{onClick:()=>g(r),className:`btn ${r.id===(a==null?void 0:a.id)?"btn-dark":"btn-outline-dark"}`,children:r.code},r.id))})}),d&&e.jsx(Z,{name:"suggestEditRating",children:e.jsx(h,{namespace:C,phrase:"ratingError"})})]})}const ce="shared.suggestEditValidation",S=j.encloseNamespace(ce);function de(){return m.object().shape({property:m.string().required(S("metadata")),reason:m.string().when("property",{is:t=>t==="FlagRemoval",then:m.string().notRequired(),otherwise:m.string().required(S("reason"))}),suggestion:m.string().required(S("suggestion")),currentValue:m.string()})}const b={VideoTitle:{name:"video title",property:"name"},Description:{name:"description",property:"description"},Rating:{name:"rating",property:"rating.name"},SeriesTitle:{name:"series title",property:"series.name"},Season:{name:"season number",property:"season.number"},EpisodeNumber:{name:"episode number",property:"episodeNumber"},BroadcastDate:{name:"broadcast date",property:"dateBroadcast"},Channel:{name:"channel",property:"channel.name"},ProductionYear:{name:"production year",property:"productionYear"},Distributors:{name:"distributors",property:"distributors",collection:!0},ProductionCompanies:{name:"production companies",property:"productionCompanies",collection:!0},Directors:{name:"directors",property:"directors",collection:!0},Producers:{name:"producers",property:"producers",collection:!0},FlagRemoval:{name:"flag for removal"},Other:{name:"other"}},N="shared.suggestEditForm",i=j.encloseNamespace(N),ue={property:"",suggestion:"",reason:"",currentValue:""};function me(t){var r,u;const l=(r=t.ratings)==null?void 0:r.filter(s=>s.code),a=F(),[o,d]=y.useState(),n=a==null?void 0:a.values.property;y.useEffect(()=>{const s=g();a.setValues({property:n,reason:"",suggestion:"",currentValue:s||""}),a.setTouched({}),d(s)},[n]);function g(){const s=b[n];if(!s||!s.property)return null;let c=T(t.video,s.property);if(!c||s.collection&&!c.data.length)return i("none");switch(s.collection&&(c=c.data.map(R=>R.name).join(", ")),n){case"BroadcastDate":return D.format(c,"D MMMM YYYY");default:return c}}return e.jsxs(I,{children:[e.jsxs(f,{as:"select",label:i("metadataLabel"),id:"property",name:"property",value:n,className:"text-capitalize",showRequiredStar:!0,children:[e.jsx("option",{value:"",children:i("metadataPlaceholder")}),Object.keys(b).map((s,c)=>e.jsx("option",{value:s,children:b[s].name},c))]}),n&&e.jsxs(e.Fragment,{children:[o&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"fw-semibold mb-0",children:[e.jsx(h,{namespace:N,phrase:"currentValueLabel"})," ",e.jsx("span",{children:(u=b[n])==null?void 0:u.name})]}),e.jsx("p",{children:o})]}),n==="Rating"&&e.jsx(le,{ratings:l,metadataValue:o}),n==="FlagRemoval"&&e.jsx(ie,{}),n!=="Rating"&&n!=="FlagRemoval"&&e.jsx(f,{label:i("suggestLabel"),placeholder:i("suggestPlaceholder"),type:"text",id:"suggestion",name:"suggestion",value:a==null?void 0:a.values.suggestion,showRequiredStar:!0}),n==="FlagRemoval"?e.jsx(f,{label:i("flagRemovalCommentsLabel"),placeholder:i("flagRemovalCommentsPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason}):e.jsx(f,{label:i("reasonLabel"),placeholder:i("reasonPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason,showRequiredStar:!0})]}),e.jsxs(V,{children:[e.jsx(V.Cancel,{text:i("cancel"),onClick:t.closePopup,variant:"link"}),e.jsx(K,{variant:"dark",submitText:i("submit")})]})]})}function pe(t){return e.jsx(X,{initialValues:ue,validationSchema:de(),onSubmit:t.onClickSubmit,children:e.jsx(me,{...t})})}const w="exchange.suggestEdit",v=j.encloseNamespace(w);function Pe(t){const l=$(),a=se(),{loading:o,handleGenerateReportError:d}=re(),n=x(U.config()),g=x(Y.currentUser()),r=x(te.video(t.videoId)),u=x(ae.ratings()),{previewContext:s,clearPreviewContext:c}=oe(t.videoId,!1);async function R(P,q){try{await l(ne.suggestEdit(r.data.id,P)),a.success(v("success")),E(),O.logUserAction({id:r.data.id,name:r.data.name},{actionType:_.Submit,entity:Q.Video,descriptor:z.SuggestEdit,location:W.Popup,workflowPhase:G.Complete})}catch(A){d(A,v("error"),v("noEmailError"))}finally{q()}}function E(){t.closePopup(),s!=null&&s.appLink&&(J.preventScrollTop(),H.trigger(s.appLink),c())}return n.hasCompleted&&g.hasCompleted&&r.hasCompleted&&u.hasCompleted?e.jsxs(M,{title:v("title"),closePopup:E,showLoadingSpinner:o,children:[e.jsx("p",{children:e.jsx(h,{namespace:w,phrase:"description"})}),e.jsx(pe,{video:r.data,ratings:u.data,closePopup:E,onClickSubmit:R})]}):e.jsx(e.Fragment,{})}export{Pe as ExchangeSuggestEditView};
2
+ //# sourceMappingURL=Idf_wk4z.chunk.js.map