@clickview/exchange 0.51.0 → 0.51.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/en.json +1 -1
  3. package/dist/scripts/{BLJrwNZd.chunk.js → 11puwNJo.chunk.js} +2 -2
  4. package/dist/scripts/{BLJrwNZd.chunk.js.map → 11puwNJo.chunk.js.map} +1 -1
  5. package/dist/scripts/{CW105qba.chunk.js → 2-mHspOU.chunk.js} +2 -2
  6. package/dist/scripts/{CW105qba.chunk.js.map → 2-mHspOU.chunk.js.map} +1 -1
  7. package/dist/scripts/{DZEUA_Xy.chunk.js → 4fNVRbjv.chunk.js} +2 -2
  8. package/dist/scripts/{DZEUA_Xy.chunk.js.map → 4fNVRbjv.chunk.js.map} +1 -1
  9. package/dist/scripts/{BYA29WEV.chunk.js → 6JMI0Hhs.chunk.js} +2 -2
  10. package/dist/scripts/{BYA29WEV.chunk.js.map → 6JMI0Hhs.chunk.js.map} +1 -1
  11. package/dist/scripts/{BiFlN7Ya.chunk.js → 8qib0Mvd.chunk.js} +2 -2
  12. package/dist/scripts/{BiFlN7Ya.chunk.js.map → 8qib0Mvd.chunk.js.map} +1 -1
  13. package/dist/scripts/{CT_rcqQG.chunk.js → B3z0crrc.chunk.js} +2 -2
  14. package/dist/scripts/{CT_rcqQG.chunk.js.map → B3z0crrc.chunk.js.map} +1 -1
  15. package/dist/scripts/{U56PHXKm.chunk.js → B5WGUFGa.chunk.js} +2 -2
  16. package/dist/scripts/{U56PHXKm.chunk.js.map → B5WGUFGa.chunk.js.map} +1 -1
  17. package/dist/scripts/{BvlT0tCj.chunk.js → B9FAS-p1.chunk.js} +2 -2
  18. package/dist/scripts/{BvlT0tCj.chunk.js.map → B9FAS-p1.chunk.js.map} +1 -1
  19. package/dist/scripts/BAsU-_cO.chunk.js +2 -0
  20. package/dist/scripts/{DDtPt8Oy.chunk.js.map → BAsU-_cO.chunk.js.map} +1 -1
  21. package/dist/scripts/{Dr28tW01.chunk.js → BJUO8a2A.chunk.js} +2 -2
  22. package/dist/scripts/{Dr28tW01.chunk.js.map → BJUO8a2A.chunk.js.map} +1 -1
  23. package/dist/scripts/{DoLggBSu.chunk.js → BKLaPb8Z.chunk.js} +2 -2
  24. package/dist/scripts/{DoLggBSu.chunk.js.map → BKLaPb8Z.chunk.js.map} +1 -1
  25. package/dist/scripts/{fr9DW7QR.chunk.js → BMu5FhhA.chunk.js} +2 -2
  26. package/dist/scripts/{fr9DW7QR.chunk.js.map → BMu5FhhA.chunk.js.map} +1 -1
  27. package/dist/scripts/{BrHp5K-X.chunk.js → BSsgBjVY.chunk.js} +2 -2
  28. package/dist/scripts/{BrHp5K-X.chunk.js.map → BSsgBjVY.chunk.js.map} +1 -1
  29. package/dist/scripts/{C7v7YuIG.chunk.js → BT4JRb1Y.chunk.js} +2 -2
  30. package/dist/scripts/{C7v7YuIG.chunk.js.map → BT4JRb1Y.chunk.js.map} +1 -1
  31. package/dist/scripts/{CwLEz-p-.chunk.js → BTcOTDv_.chunk.js} +2 -2
  32. package/dist/scripts/{CwLEz-p-.chunk.js.map → BTcOTDv_.chunk.js.map} +1 -1
  33. package/dist/scripts/{DQFr5PPd.chunk.js → BXHBb_0I.chunk.js} +2 -2
  34. package/dist/scripts/{DQFr5PPd.chunk.js.map → BXHBb_0I.chunk.js.map} +1 -1
  35. package/dist/scripts/{Cb4tce-r.chunk.js → Ba3xCq1s.chunk.js} +2 -2
  36. package/dist/scripts/{Cb4tce-r.chunk.js.map → Ba3xCq1s.chunk.js.map} +1 -1
  37. package/dist/scripts/{CL4pALcK.chunk.js → Ba_KnYVR.chunk.js} +2 -2
  38. package/dist/scripts/{CL4pALcK.chunk.js.map → Ba_KnYVR.chunk.js.map} +1 -1
  39. package/dist/scripts/Bbv2kSGH.chunk.js +2 -0
  40. package/dist/scripts/{B_SfYU_Z.chunk.js.map → Bbv2kSGH.chunk.js.map} +1 -1
  41. package/dist/scripts/{DleGvW_4.chunk.js → Bc6W0MI6.chunk.js} +2 -2
  42. package/dist/scripts/{DleGvW_4.chunk.js.map → Bc6W0MI6.chunk.js.map} +1 -1
  43. package/dist/scripts/{ySnC80BC.chunk.js → BcqbWwtY.chunk.js} +2 -2
  44. package/dist/scripts/{ySnC80BC.chunk.js.map → BcqbWwtY.chunk.js.map} +1 -1
  45. package/dist/scripts/{D8WccEdk.chunk.js → BdkyXvBB.chunk.js} +2 -2
  46. package/dist/scripts/{D8WccEdk.chunk.js.map → BdkyXvBB.chunk.js.map} +1 -1
  47. package/dist/scripts/BdpMFXvX.chunk.js +2 -0
  48. package/dist/scripts/{BeMlNTkA.chunk.js.map → BdpMFXvX.chunk.js.map} +1 -1
  49. package/dist/scripts/{BjHsODRK.chunk.js → BgQsAU_t.chunk.js} +2 -2
  50. package/dist/scripts/{BjHsODRK.chunk.js.map → BgQsAU_t.chunk.js.map} +1 -1
  51. package/dist/scripts/{BGadFKMT.chunk.js → Biq7_-Qu.chunk.js} +2 -2
  52. package/dist/scripts/{BGadFKMT.chunk.js.map → Biq7_-Qu.chunk.js.map} +1 -1
  53. package/dist/scripts/{CyMTnTQB.chunk.js → Bk4jBWaN.chunk.js} +2 -2
  54. package/dist/scripts/{CyMTnTQB.chunk.js.map → Bk4jBWaN.chunk.js.map} +1 -1
  55. package/dist/scripts/{ocyN3mGw.chunk.js → BnkNxrEp.chunk.js} +2 -2
  56. package/dist/scripts/{ocyN3mGw.chunk.js.map → BnkNxrEp.chunk.js.map} +1 -1
  57. package/dist/scripts/{DxE8D48c.chunk.js → Br-w-uIM.chunk.js} +2 -2
  58. package/dist/scripts/{DxE8D48c.chunk.js.map → Br-w-uIM.chunk.js.map} +1 -1
  59. package/dist/scripts/{Bysn-kjB.chunk.js → BrNzIV_r.chunk.js} +2 -2
  60. package/dist/scripts/{Bysn-kjB.chunk.js.map → BrNzIV_r.chunk.js.map} +1 -1
  61. package/dist/scripts/{CGhbtKll.chunk.js → BtTmb52z.chunk.js} +2 -2
  62. package/dist/scripts/{CGhbtKll.chunk.js.map → BtTmb52z.chunk.js.map} +1 -1
  63. package/dist/scripts/{C4f1zB5D.chunk.js → BxNS_W6A.chunk.js} +2 -2
  64. package/dist/scripts/{C4f1zB5D.chunk.js.map → BxNS_W6A.chunk.js.map} +1 -1
  65. package/dist/scripts/{CqpUPtGp.chunk.js → C-VdYv59.chunk.js} +2 -2
  66. package/dist/scripts/{CqpUPtGp.chunk.js.map → C-VdYv59.chunk.js.map} +1 -1
  67. package/dist/scripts/{Cou4Uk_z.chunk.js → C25DVNqV.chunk.js} +2 -2
  68. package/dist/scripts/{Cou4Uk_z.chunk.js.map → C25DVNqV.chunk.js.map} +1 -1
  69. package/dist/scripts/{CISd2iel.chunk.js → C3oUPcIr.chunk.js} +2 -2
  70. package/dist/scripts/{CISd2iel.chunk.js.map → C3oUPcIr.chunk.js.map} +1 -1
  71. package/dist/scripts/{TSNK3Bg3.chunk.js → C5KITUPg.chunk.js} +2 -2
  72. package/dist/scripts/{TSNK3Bg3.chunk.js.map → C5KITUPg.chunk.js.map} +1 -1
  73. package/dist/scripts/{BQzaYetN.chunk.js → C70AJ8Ph.chunk.js} +2 -2
  74. package/dist/scripts/{BQzaYetN.chunk.js.map → C70AJ8Ph.chunk.js.map} +1 -1
  75. package/dist/scripts/{B_bh4_2-.chunk.js → COmkaZTY.chunk.js} +2 -2
  76. package/dist/scripts/{B_bh4_2-.chunk.js.map → COmkaZTY.chunk.js.map} +1 -1
  77. package/dist/scripts/{DTVmftQW.chunk.js → CSzv69qT.chunk.js} +2 -2
  78. package/dist/scripts/{DTVmftQW.chunk.js.map → CSzv69qT.chunk.js.map} +1 -1
  79. package/dist/scripts/{BuccZFco.chunk.js → CT4M6LAt.chunk.js} +2 -2
  80. package/dist/scripts/{BuccZFco.chunk.js.map → CT4M6LAt.chunk.js.map} +1 -1
  81. package/dist/scripts/{CQEBaZBs.chunk.js → CVGxJ58B.chunk.js} +2 -2
  82. package/dist/scripts/{CQEBaZBs.chunk.js.map → CVGxJ58B.chunk.js.map} +1 -1
  83. package/dist/scripts/{l5drRPeT.chunk.js → CZwze3a2.chunk.js} +2 -2
  84. package/dist/scripts/{l5drRPeT.chunk.js.map → CZwze3a2.chunk.js.map} +1 -1
  85. package/dist/scripts/{CqI1MQDE.chunk.js → CeFAm80O.chunk.js} +2 -2
  86. package/dist/scripts/{CqI1MQDE.chunk.js.map → CeFAm80O.chunk.js.map} +1 -1
  87. package/dist/scripts/{DVrIrni9.chunk.js → CjpryakR.chunk.js} +2 -2
  88. package/dist/scripts/{DVrIrni9.chunk.js.map → CjpryakR.chunk.js.map} +1 -1
  89. package/dist/scripts/{By_OMtDJ.chunk.js → CoXPUxT-.chunk.js} +2 -2
  90. package/dist/scripts/{By_OMtDJ.chunk.js.map → CoXPUxT-.chunk.js.map} +1 -1
  91. package/dist/scripts/{BUuCwkpu.chunk.js → Cu98NFjS.chunk.js} +2 -2
  92. package/dist/scripts/{BUuCwkpu.chunk.js.map → Cu98NFjS.chunk.js.map} +1 -1
  93. package/dist/scripts/{DX9fdMAU.chunk.js → Cy4rHX30.chunk.js} +2 -2
  94. package/dist/scripts/{DX9fdMAU.chunk.js.map → Cy4rHX30.chunk.js.map} +1 -1
  95. package/dist/scripts/{fcH9o5X3.chunk.js → D03Abjc_.chunk.js} +2 -2
  96. package/dist/scripts/{fcH9o5X3.chunk.js.map → D03Abjc_.chunk.js.map} +1 -1
  97. package/dist/scripts/{ChL5ufI4.chunk.js → D2a2dcGU.chunk.js} +2 -2
  98. package/dist/scripts/{ChL5ufI4.chunk.js.map → D2a2dcGU.chunk.js.map} +1 -1
  99. package/dist/scripts/{QIbgTj4j.chunk.js → D3ImQw2c.chunk.js} +2 -2
  100. package/dist/scripts/{QIbgTj4j.chunk.js.map → D3ImQw2c.chunk.js.map} +1 -1
  101. package/dist/scripts/{4dJGhLcF.chunk.js → D3hkQeI3.chunk.js} +2 -2
  102. package/dist/scripts/{4dJGhLcF.chunk.js.map → D3hkQeI3.chunk.js.map} +1 -1
  103. package/dist/scripts/{pYIH9TUm.chunk.js → D3i5M6Ra.chunk.js} +2 -2
  104. package/dist/scripts/{pYIH9TUm.chunk.js.map → D3i5M6Ra.chunk.js.map} +1 -1
  105. package/dist/scripts/{DhU1_zaa.chunk.js → D6PZ2zrc.chunk.js} +2 -2
  106. package/dist/scripts/{DhU1_zaa.chunk.js.map → D6PZ2zrc.chunk.js.map} +1 -1
  107. package/dist/scripts/{D2UAzuy_.chunk.js → DCZt5zdo.chunk.js} +2 -2
  108. package/dist/scripts/{D2UAzuy_.chunk.js.map → DCZt5zdo.chunk.js.map} +1 -1
  109. package/dist/scripts/{C5Um1mJN.chunk.js → DKEmRPe5.chunk.js} +2 -2
  110. package/dist/scripts/{C5Um1mJN.chunk.js.map → DKEmRPe5.chunk.js.map} +1 -1
  111. package/dist/scripts/{CqyexBBO.chunk.js → DOp0Y0kk.chunk.js} +2 -2
  112. package/dist/scripts/{CqyexBBO.chunk.js.map → DOp0Y0kk.chunk.js.map} +1 -1
  113. package/dist/scripts/{0O3fE335.chunk.js → DTO3v7TR.chunk.js} +2 -2
  114. package/dist/scripts/{0O3fE335.chunk.js.map → DTO3v7TR.chunk.js.map} +1 -1
  115. package/dist/scripts/{DcsoXCdt.chunk.js → Db208T_5.chunk.js} +2 -2
  116. package/dist/scripts/{DcsoXCdt.chunk.js.map → Db208T_5.chunk.js.map} +1 -1
  117. package/dist/scripts/{DsYAvL3r.chunk.js → DdKPWSa-.chunk.js} +2 -2
  118. package/dist/scripts/{DsYAvL3r.chunk.js.map → DdKPWSa-.chunk.js.map} +1 -1
  119. package/dist/scripts/{-pUO7-TY.chunk.js → DdaXMT9A.chunk.js} +2 -2
  120. package/dist/scripts/{-pUO7-TY.chunk.js.map → DdaXMT9A.chunk.js.map} +1 -1
  121. package/dist/scripts/Dequ_ZY-.chunk.js +2 -0
  122. package/dist/scripts/{CbuFJTrt.chunk.js.map → Dequ_ZY-.chunk.js.map} +1 -1
  123. package/dist/scripts/{qIzf4pm6.chunk.js → Dg5ezm9_.chunk.js} +2 -2
  124. package/dist/scripts/{qIzf4pm6.chunk.js.map → Dg5ezm9_.chunk.js.map} +1 -1
  125. package/dist/scripts/{E3OALlLu.chunk.js → DiFNkYHy.chunk.js} +2 -2
  126. package/dist/scripts/{E3OALlLu.chunk.js.map → DiFNkYHy.chunk.js.map} +1 -1
  127. package/dist/scripts/{SrHfrZ_D.chunk.js → DiVvth5j.chunk.js} +2 -2
  128. package/dist/scripts/{SrHfrZ_D.chunk.js.map → DiVvth5j.chunk.js.map} +1 -1
  129. package/dist/scripts/{DCXHIIUP.chunk.js → Dlp5KylI.chunk.js} +2 -2
  130. package/dist/scripts/{DCXHIIUP.chunk.js.map → Dlp5KylI.chunk.js.map} +1 -1
  131. package/dist/scripts/{wX0oeObx.chunk.js → DoOK7kUv.chunk.js} +2 -2
  132. package/dist/scripts/{wX0oeObx.chunk.js.map → DoOK7kUv.chunk.js.map} +1 -1
  133. package/dist/scripts/{CKHb3pvm.chunk.js → Dot69sAe.chunk.js} +2 -2
  134. package/dist/scripts/{CKHb3pvm.chunk.js.map → Dot69sAe.chunk.js.map} +1 -1
  135. package/dist/scripts/{gDhzFsR2.chunk.js → DsCmIb0y.chunk.js} +2 -2
  136. package/dist/scripts/{gDhzFsR2.chunk.js.map → DsCmIb0y.chunk.js.map} +1 -1
  137. package/dist/scripts/DulaiN8k.chunk.js +2 -0
  138. package/dist/scripts/{RDz68qfn.chunk.js.map → DulaiN8k.chunk.js.map} +1 -1
  139. package/dist/scripts/{CbvT5tOJ.chunk.js → DvopWUeu.chunk.js} +2 -2
  140. package/dist/scripts/{CbvT5tOJ.chunk.js.map → DvopWUeu.chunk.js.map} +1 -1
  141. package/dist/scripts/{3NU4Uele.chunk.js → Dvty4-yq.chunk.js} +2 -2
  142. package/dist/scripts/{3NU4Uele.chunk.js.map → Dvty4-yq.chunk.js.map} +1 -1
  143. package/dist/scripts/{YlT1G1sJ.chunk.js → DwdAMsTn.chunk.js} +2 -2
  144. package/dist/scripts/{YlT1G1sJ.chunk.js.map → DwdAMsTn.chunk.js.map} +1 -1
  145. package/dist/scripts/{CRQrsCQB.chunk.js → Dy5Hagep.chunk.js} +2 -2
  146. package/dist/scripts/{CRQrsCQB.chunk.js.map → Dy5Hagep.chunk.js.map} +1 -1
  147. package/dist/scripts/{DkFC8dkV.chunk.js → FARgFqug.chunk.js} +2 -2
  148. package/dist/scripts/{DkFC8dkV.chunk.js.map → FARgFqug.chunk.js.map} +1 -1
  149. package/dist/scripts/{DWrwMjZY.chunk.js → GXToHPHe.chunk.js} +2 -2
  150. package/dist/scripts/{DWrwMjZY.chunk.js.map → GXToHPHe.chunk.js.map} +1 -1
  151. package/dist/scripts/{D_y7C4wF.chunk.js → Mm1GvAIj.chunk.js} +2 -2
  152. package/dist/scripts/{D_y7C4wF.chunk.js.map → Mm1GvAIj.chunk.js.map} +1 -1
  153. package/dist/scripts/{BRcsVYw7.chunk.js → O_gDwfEj.chunk.js} +2 -2
  154. package/dist/scripts/{BRcsVYw7.chunk.js.map → O_gDwfEj.chunk.js.map} +1 -1
  155. package/dist/scripts/{DI__y4wi.chunk.js → PUKDcvT2.chunk.js} +2 -2
  156. package/dist/scripts/{DI__y4wi.chunk.js.map → PUKDcvT2.chunk.js.map} +1 -1
  157. package/dist/scripts/{LUhWZ6aW.chunk.js → SAoHi7e5.chunk.js} +2 -2
  158. package/dist/scripts/{LUhWZ6aW.chunk.js.map → SAoHi7e5.chunk.js.map} +1 -1
  159. package/dist/scripts/SErl8iiO.chunk.js +2 -0
  160. package/dist/scripts/{IxBH4lFI.chunk.js.map → SErl8iiO.chunk.js.map} +1 -1
  161. package/dist/scripts/{CImJqeCy.chunk.js → UgARO_Sh.chunk.js} +2 -2
  162. package/dist/scripts/{CImJqeCy.chunk.js.map → UgARO_Sh.chunk.js.map} +1 -1
  163. package/dist/scripts/{dniZ6e3H.chunk.js → UvQu1iiY.chunk.js} +2 -2
  164. package/dist/scripts/{dniZ6e3H.chunk.js.map → UvQu1iiY.chunk.js.map} +1 -1
  165. package/dist/scripts/aPq0PUkl.chunk.js +2 -0
  166. package/dist/scripts/{fftzBNKK.chunk.js.map → aPq0PUkl.chunk.js.map} +1 -1
  167. package/dist/scripts/{app-nj3yOqer.js → app-CAg-7ccU.js} +3 -3
  168. package/dist/scripts/{app-nj3yOqer.js.map → app-CAg-7ccU.js.map} +1 -1
  169. package/dist/scripts/{BaY6qhO_.chunk.js → cB6ytVLm.chunk.js} +2 -2
  170. package/dist/scripts/{BaY6qhO_.chunk.js.map → cB6ytVLm.chunk.js.map} +1 -1
  171. package/dist/scripts/{HiwCz-PT.chunk.js → c_eEfqOG.chunk.js} +2 -2
  172. package/dist/scripts/{HiwCz-PT.chunk.js.map → c_eEfqOG.chunk.js.map} +1 -1
  173. package/dist/scripts/{DKaBhZWG.chunk.js → fIpx79-n.chunk.js} +2 -2
  174. package/dist/scripts/{DKaBhZWG.chunk.js.map → fIpx79-n.chunk.js.map} +1 -1
  175. package/dist/scripts/{CE99prXT.chunk.js → qZQmdlst.chunk.js} +2 -2
  176. package/dist/scripts/{CE99prXT.chunk.js.map → qZQmdlst.chunk.js.map} +1 -1
  177. package/dist/scripts/{Cau1TcaF.chunk.js → thJth_Km.chunk.js} +2 -2
  178. package/dist/scripts/{Cau1TcaF.chunk.js.map → thJth_Km.chunk.js.map} +1 -1
  179. package/dist/scripts/{DprAwPn0.chunk.js → u8PxaIUU.chunk.js} +2 -2
  180. package/dist/scripts/{DprAwPn0.chunk.js.map → u8PxaIUU.chunk.js.map} +1 -1
  181. package/dist/scripts/{BVJN5cea.chunk.js → uiiMcBcy.chunk.js} +2 -2
  182. package/dist/scripts/{BVJN5cea.chunk.js.map → uiiMcBcy.chunk.js.map} +1 -1
  183. package/dist/scripts/w6RjnEDK.chunk.js +2 -0
  184. package/dist/scripts/{DnrIQC4C.chunk.js.map → w6RjnEDK.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/B_SfYU_Z.chunk.js +0 -2
  187. package/dist/scripts/BeMlNTkA.chunk.js +0 -2
  188. package/dist/scripts/CbuFJTrt.chunk.js +0 -2
  189. package/dist/scripts/DDtPt8Oy.chunk.js +0 -2
  190. package/dist/scripts/DnrIQC4C.chunk.js +0 -2
  191. package/dist/scripts/IxBH4lFI.chunk.js +0 -2
  192. package/dist/scripts/RDz68qfn.chunk.js +0 -2
  193. package/dist/scripts/fftzBNKK.chunk.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{R as e,q as o,bK as i,aT as f}from"./app-CAg-7ccU.js";import{h as a}from"./D2a2dcGU.chunk.js";function l(t,r){e.useEffect(()=>{t.hasCompleted&&(t.data||(t.hasError&&a(t.statusCode),r?o.throw(new i):a(f.BadRequest)))},[t.hasCompleted,t.data])}export{l as u};
2
+ //# sourceMappingURL=BdpMFXvX.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeMlNTkA.chunk.js","sources":["../../src/apps/tv/hooks/useHandleRegionError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useHandleRegionError(response: Flight.Response<TvRegion>, popup?: boolean): void {\n React.useEffect(() => {\n if (!response.hasCompleted)\n return;\n\n if (response.data)\n return;\n\n if (response.hasError) {\n handleHttpError(response.statusCode);\n }\n\n if (popup)\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n else {\n handleHttpError(HttpStatus.BadRequest);\n }\n }, [ response.hasCompleted, response.data ]);\n}"],"names":["useHandleRegionError","response","popup","React","handleHttpError","Core.ErrorHelper","UnspecifiedDialogError","HttpStatus"],"mappings":"qGAWO,SAASA,EAAqBC,EAAqCC,EAAuB,CAC/FC,EAAM,UAAU,IAAM,CACfF,EAAS,eAGVA,EAAS,OAGTA,EAAS,UACXG,EAAgBH,EAAS,UAAU,EAGjCC,EACFG,EAAiB,MAAM,IAAIC,CAAwB,EAEnDF,EAAgBG,EAAW,UAAU,GAEzC,EAAG,CAAEN,EAAS,aAAcA,EAAS,IAAK,CAAC,CAC7C"}
1
+ {"version":3,"file":"BdpMFXvX.chunk.js","sources":["../../src/apps/tv/hooks/useHandleRegionError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useHandleRegionError(response: Flight.Response<TvRegion>, popup?: boolean): void {\n React.useEffect(() => {\n if (!response.hasCompleted)\n return;\n\n if (response.data)\n return;\n\n if (response.hasError) {\n handleHttpError(response.statusCode);\n }\n\n if (popup)\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n else {\n handleHttpError(HttpStatus.BadRequest);\n }\n }, [ response.hasCompleted, response.data ]);\n}"],"names":["useHandleRegionError","response","popup","React","handleHttpError","Core.ErrorHelper","UnspecifiedDialogError","HttpStatus"],"mappings":"qGAWO,SAASA,EAAqBC,EAAqCC,EAAuB,CAC/FC,EAAM,UAAU,IAAM,CACfF,EAAS,eAGVA,EAAS,OAGTA,EAAS,UACXG,EAAgBH,EAAS,UAAU,EAGjCC,EACFG,EAAiB,MAAM,IAAIC,CAAwB,EAEnDF,EAAgBG,EAAW,UAAU,GAEzC,EAAG,CAAEN,EAAS,aAAcA,EAAS,IAAK,CAAC,CAC7C"}
@@ -1,2 +1,2 @@
1
- import{aA as t}from"./app-nj3yOqer.js";const i={"AUS Eastern Standard Time":"Australia/Sydney","W. Australia Standard Time":"Australia/Perth","E. Australia Standard Time":"Australia/Brisbane","Cen. Australia Standard Time":"Australia/Adelaide","New Zealand Standard Time":"Pacific/Auckland","GMT Standard Time":"Europe/London"};function d(a,e){return t.getUtcTimeByTimezone(a,"YYYY-MM-DDTHH:mm:ss",i[e])}export{d as t};
2
- //# sourceMappingURL=BjHsODRK.chunk.js.map
1
+ import{aA as t}from"./app-CAg-7ccU.js";const i={"AUS Eastern Standard Time":"Australia/Sydney","W. Australia Standard Time":"Australia/Perth","E. Australia Standard Time":"Australia/Brisbane","Cen. Australia Standard Time":"Australia/Adelaide","New Zealand Standard Time":"Pacific/Auckland","GMT Standard Time":"Europe/London"};function d(a,e){return t.getUtcTimeByTimezone(a,"YYYY-MM-DDTHH:mm:ss",i[e])}export{d as t};
2
+ //# sourceMappingURL=BgQsAU_t.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BjHsODRK.chunk.js","sources":["../../src/apps/tv/utils/toLocalTime.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\n/**\n * A fully fleshed out Windows to IANA mapping library\n * can be absolutely huge, so instead we're just taking the \n * windows timezones that we know our system can have\n * and are mapping them ourselves here.\n */\nconst WINDOWS_TO_IANA: HashObject = {\n 'AUS Eastern Standard Time': 'Australia/Sydney',\n 'W. Australia Standard Time': 'Australia/Perth',\n 'E. Australia Standard Time': 'Australia/Brisbane',\n 'Cen. Australia Standard Time': 'Australia/Adelaide',\n 'New Zealand Standard Time': 'Pacific/Auckland',\n 'GMT Standard Time': 'Europe/London'\n};\n\n/**\n * When we replace moment with dayjs, we're going to have to import the timezone plugin for dayjs\n * https://day.js.org/docs/en/plugin/timezone\n * in order to support time conversion here - Sha\n */\nexport function toLocalTime(time: string | Date, timezone: string): string {\n /**\n * If for whatever reason we hit a timezone that we don't have a mapping for,\n * just use UTC. This is less than ideal, but any mapping library for mapping\n * windows to IANA times is about 1mb in size - Sha\n */\n const localTime = DateHelper.getUtcTimeByTimezone(time, 'YYYY-MM-DDTHH:mm:ss', WINDOWS_TO_IANA[timezone]);\n \n return localTime;\n}"],"names":["WINDOWS_TO_IANA","toLocalTime","time","timezone","DateHelper"],"mappings":"uCASA,MAAMA,EAA8B,CAClC,4BAA6B,mBAC7B,6BAA8B,kBAC9B,6BAA8B,qBAC9B,+BAAgC,qBAChC,4BAA6B,mBAC7B,oBAAqB,eACvB,EAOO,SAASC,EAAYC,EAAqBC,EAA0B,CAQzE,OAFkBC,EAAW,qBAAqBF,EAAM,sBAAuBF,EAAgBG,CAAQ,CAAC,CAG1G"}
1
+ {"version":3,"file":"BgQsAU_t.chunk.js","sources":["../../src/apps/tv/utils/toLocalTime.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\n/**\n * A fully fleshed out Windows to IANA mapping library\n * can be absolutely huge, so instead we're just taking the \n * windows timezones that we know our system can have\n * and are mapping them ourselves here.\n */\nconst WINDOWS_TO_IANA: HashObject = {\n 'AUS Eastern Standard Time': 'Australia/Sydney',\n 'W. Australia Standard Time': 'Australia/Perth',\n 'E. Australia Standard Time': 'Australia/Brisbane',\n 'Cen. Australia Standard Time': 'Australia/Adelaide',\n 'New Zealand Standard Time': 'Pacific/Auckland',\n 'GMT Standard Time': 'Europe/London'\n};\n\n/**\n * When we replace moment with dayjs, we're going to have to import the timezone plugin for dayjs\n * https://day.js.org/docs/en/plugin/timezone\n * in order to support time conversion here - Sha\n */\nexport function toLocalTime(time: string | Date, timezone: string): string {\n /**\n * If for whatever reason we hit a timezone that we don't have a mapping for,\n * just use UTC. This is less than ideal, but any mapping library for mapping\n * windows to IANA times is about 1mb in size - Sha\n */\n const localTime = DateHelper.getUtcTimeByTimezone(time, 'YYYY-MM-DDTHH:mm:ss', WINDOWS_TO_IANA[timezone]);\n \n return localTime;\n}"],"names":["WINDOWS_TO_IANA","toLocalTime","time","timezone","DateHelper"],"mappings":"uCASA,MAAMA,EAA8B,CAClC,4BAA6B,mBAC7B,6BAA8B,kBAC9B,6BAA8B,qBAC9B,+BAAgC,qBAChC,4BAA6B,mBAC7B,oBAAqB,eACvB,EAOO,SAASC,EAAYC,EAAqBC,EAA0B,CAQzE,OAFkBC,EAAW,qBAAqBF,EAAM,sBAAuBF,EAAgBG,CAAQ,CAAC,CAG1G"}
@@ -1,2 +1,2 @@
1
- import{j as e,ap as N,B as y,aR as L,ac as $,ad as w,ae as S,a2 as r,aS as A,l as U,L as E,a as o,b as c,a4 as F}from"./app-nj3yOqer.js";import{u as P}from"./RDz68qfn.chunk.js";import{T as H,a as M}from"./ySnC80BC.chunk.js";import{T as V,a as q}from"./4dJGhLcF.chunk.js";import{T as d}from"./CISd2iel.chunk.js";import{u as I}from"./BeMlNTkA.chunk.js";import{u as B}from"./CImJqeCy.chunk.js";import{g as f}from"./TSNK3Bg3.chunk.js";import"./ChL5ufI4.chunk.js";import"./BjHsODRK.chunk.js";import"./CL4pALcK.chunk.js";import"./DTVmftQW.chunk.js";import"./BlDVEZsX.chunk.js";import"./Dr28tW01.chunk.js";import"./CW105qba.chunk.js";import"./Cau1TcaF.chunk.js";import"./CGhbtKll.chunk.js";import"./CJ3oIQlG.chunk.js";const O="_cardContainer_p5jjm_1",z="_image_p5jjm_4",j={cardContainer:O,image:z};function h(a){return e.jsx("div",{className:`${j.cardContainer} px-2 mb-3`,children:e.jsxs(N,{className:`${a.className} border rounded-3 py-3 px-4 d-block text-center`,appLink:a.appLink,children:[e.jsx("div",{className:`${j.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{className:"mh-100",src:a.logoUrl})}),e.jsx("p",{className:"fw-semibold text-dark text-truncate mb-0",children:a.name})]})})}const D="_cardContainer_1s4mp_1",G="_image_1s4mp_4",v={cardContainer:D,image:G};function Q(){return e.jsx("div",{className:`${v.cardContainer} px-2 mb-3`,children:e.jsxs("div",{className:"partial-loading-background border rounded-3 py-3 px-4",children:[e.jsx("div",{className:`${v.image}`}),e.jsx("p",{className:"mb-0",children:" "})]})})}function T(a){return e.jsx(e.Fragment,{children:e.jsx("div",{className:"row mb-2",children:[...Array(a.cards)].map((n,t)=>e.jsx(Q,{},t))})})}const J="_cardContainer_7wzee_1",K="_image_7wzee_4",C={cardContainer:J,image:K},W="tv.tvRegionSelectMap",X=a=>{const n=f(a.instanceRegion);return!a.regions||!a.currentRegion?e.jsx(T,{cards:5}):a.regions.length<=1?e.jsx(e.Fragment,{}):e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"h4",children:e.jsx(y,{namespace:W,phrase:"regions",options:{country:n.country}})}),e.jsx("div",{className:"row",children:a.regions.map((t,s)=>{if(t.id!==a.currentRegion.id)return e.jsx("div",{className:`${C.cardContainer} px-2 mb-3`,children:e.jsxs(N,{className:"border rounded-3 py-3 px-4 d-block text-center",appLink:{...a.appLink,args:[t.code]},analyticsData:{region:a.currentRegion.code},analyticsOptions:{actionType:S.Click,entity:w.Region,location:$.RegionMap,descriptor:L.RegionSelect},onClick:()=>a.onClick(t),children:[e.jsx("div",{className:`${C.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{src:`https://tv.clickview.com.au/content/images/${t.code}.png`})}),e.jsx("p",{className:"fw-semibold text-dark mb-0",children:t.stateFull})]})},s)})})]})},Y="tv.channels",R=E.encloseNamespace(Y);function he(a){var u;const n=r(d.region(a.region)),t=r(d.dateRange(a.region)),s=r(d.regions()),l=r(n.data&&d.channels(n.data.code)),p=r(F.currentUser()),m=(u=p.data)==null?void 0:u.instanceRegion,{setRegion:x}=B(),{showTvGuide:b}=A();I(n),P([s,l]),U({title:R("title")});const k=n.hasCompleted&&s.hasCompleted&&t.hasCompleted&&l.hasCompleted&&p.hasCompleted,g=f(m);return e.jsxs(e.Fragment,{children:[e.jsx(V,{region:n.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(H,{active:"channels",currentRegion:n.data,showTvGuide:b}),e.jsx(q,{currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]}),e.jsx(M,{dateRange:t.data,region:n.data}),k?e.jsx(e.Fragment,{children:e.jsxs("div",{className:"row mb-2",children:[!!g.requestProgram&&e.jsx(h,{appLink:{application:c.TV,action:o.Tv.REQUEST_PROGRAM,args:[a.region,m]},logoUrl:g.logo,name:R("requestProgram"),className:g.bgColor}),l.data.map((i,_)=>e.jsx(h,{appLink:{application:c.TV,action:o.Tv.CHANNEL,args:[i.region,i.id],params:{region:i.region!==a.region?a.region:null}},logoUrl:i.logoUrl,name:i.displayName},_))]})}):e.jsx(T,{cards:20}),e.jsx(X,{instanceRegion:m,currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]})}export{he as TvChannelsView};
2
- //# sourceMappingURL=BGadFKMT.chunk.js.map
1
+ import{j as e,ap as N,B as y,aR as L,ac as $,ad as w,ae as S,a2 as r,aS as A,l as U,L as E,a as o,b as c,a4 as F}from"./app-CAg-7ccU.js";import{u as P}from"./DulaiN8k.chunk.js";import{T as H,a as M}from"./BcqbWwtY.chunk.js";import{T as V,a as q}from"./D3hkQeI3.chunk.js";import{T as d}from"./C3oUPcIr.chunk.js";import{u as I}from"./BdpMFXvX.chunk.js";import{u as B}from"./UgARO_Sh.chunk.js";import{g as f}from"./C5KITUPg.chunk.js";import"./D2a2dcGU.chunk.js";import"./BgQsAU_t.chunk.js";import"./Ba_KnYVR.chunk.js";import"./CSzv69qT.chunk.js";import"./BlDVEZsX.chunk.js";import"./BJUO8a2A.chunk.js";import"./2-mHspOU.chunk.js";import"./thJth_Km.chunk.js";import"./BtTmb52z.chunk.js";import"./CJ3oIQlG.chunk.js";const O="_cardContainer_p5jjm_1",z="_image_p5jjm_4",j={cardContainer:O,image:z};function h(a){return e.jsx("div",{className:`${j.cardContainer} px-2 mb-3`,children:e.jsxs(N,{className:`${a.className} border rounded-3 py-3 px-4 d-block text-center`,appLink:a.appLink,children:[e.jsx("div",{className:`${j.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{className:"mh-100",src:a.logoUrl})}),e.jsx("p",{className:"fw-semibold text-dark text-truncate mb-0",children:a.name})]})})}const D="_cardContainer_1s4mp_1",G="_image_1s4mp_4",v={cardContainer:D,image:G};function Q(){return e.jsx("div",{className:`${v.cardContainer} px-2 mb-3`,children:e.jsxs("div",{className:"partial-loading-background border rounded-3 py-3 px-4",children:[e.jsx("div",{className:`${v.image}`}),e.jsx("p",{className:"mb-0",children:" "})]})})}function T(a){return e.jsx(e.Fragment,{children:e.jsx("div",{className:"row mb-2",children:[...Array(a.cards)].map((n,t)=>e.jsx(Q,{},t))})})}const J="_cardContainer_7wzee_1",K="_image_7wzee_4",C={cardContainer:J,image:K},W="tv.tvRegionSelectMap",X=a=>{const n=f(a.instanceRegion);return!a.regions||!a.currentRegion?e.jsx(T,{cards:5}):a.regions.length<=1?e.jsx(e.Fragment,{}):e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"h4",children:e.jsx(y,{namespace:W,phrase:"regions",options:{country:n.country}})}),e.jsx("div",{className:"row",children:a.regions.map((t,s)=>{if(t.id!==a.currentRegion.id)return e.jsx("div",{className:`${C.cardContainer} px-2 mb-3`,children:e.jsxs(N,{className:"border rounded-3 py-3 px-4 d-block text-center",appLink:{...a.appLink,args:[t.code]},analyticsData:{region:a.currentRegion.code},analyticsOptions:{actionType:S.Click,entity:w.Region,location:$.RegionMap,descriptor:L.RegionSelect},onClick:()=>a.onClick(t),children:[e.jsx("div",{className:`${C.image} d-flex align-items-center justify-content-center`,children:e.jsx("img",{src:`https://tv.clickview.com.au/content/images/${t.code}.png`})}),e.jsx("p",{className:"fw-semibold text-dark mb-0",children:t.stateFull})]})},s)})})]})},Y="tv.channels",R=E.encloseNamespace(Y);function he(a){var u;const n=r(d.region(a.region)),t=r(d.dateRange(a.region)),s=r(d.regions()),l=r(n.data&&d.channels(n.data.code)),p=r(F.currentUser()),m=(u=p.data)==null?void 0:u.instanceRegion,{setRegion:x}=B(),{showTvGuide:b}=A();I(n),P([s,l]),U({title:R("title")});const k=n.hasCompleted&&s.hasCompleted&&t.hasCompleted&&l.hasCompleted&&p.hasCompleted,g=f(m);return e.jsxs(e.Fragment,{children:[e.jsx(V,{region:n.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(H,{active:"channels",currentRegion:n.data,showTvGuide:b}),e.jsx(q,{currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]}),e.jsx(M,{dateRange:t.data,region:n.data}),k?e.jsx(e.Fragment,{children:e.jsxs("div",{className:"row mb-2",children:[!!g.requestProgram&&e.jsx(h,{appLink:{application:c.TV,action:o.Tv.REQUEST_PROGRAM,args:[a.region,m]},logoUrl:g.logo,name:R("requestProgram"),className:g.bgColor}),l.data.map((i,_)=>e.jsx(h,{appLink:{application:c.TV,action:o.Tv.CHANNEL,args:[i.region,i.id],params:{region:i.region!==a.region?a.region:null}},logoUrl:i.logoUrl,name:i.displayName},_))]})}):e.jsx(T,{cards:20}),e.jsx(X,{instanceRegion:m,currentRegion:n.data,regions:s.data,appLink:{application:c.TV,action:o.Tv.CHANNELS},onClick:x})]})}export{he as TvChannelsView};
2
+ //# sourceMappingURL=Biq7_-Qu.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BGadFKMT.chunk.js","sources":["../../src/apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard.tsx","../../src/apps/tv/views/tv-channels/partial-loading/PartialCardRow.tsx","../../src/apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap.tsx","../../src/apps/tv/views/tv-channels/TvChannelsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './tv-channel-card.module.scss';\n\ninterface TvChannelCardProps {\n appLink: Core.AppLink;\n logoUrl: string;\n name: string;\n className?: string;\n}\n\nexport function TvChannelCard(props: TvChannelCardProps): JSX.Element {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className={`${props.className} border rounded-3 py-3 px-4 d-block text-center`}\n appLink={props.appLink}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n className='mh-100'\n src={props.logoUrl}\n />\n </div>\n <p className='fw-semibold text-dark text-truncate mb-0'>\n {props.name}\n </p>\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport styles from './partial-card-row.module.scss';\n\nfunction PartialRow() {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <div className='partial-loading-background border rounded-3 py-3 px-4'>\n <div className={`${styles.image}`}></div>\n <p className='mb-0'>&nbsp;</p>\n </div>\n </div>\n );\n}\n\ninterface PartialCardRowProps {\n cards: number;\n}\n\nexport function PartialCardRow(props: PartialCardRowProps) {\n return (\n <>\n <div className='row mb-2'>\n {[...Array(props.cards)].map((_, index) => <PartialRow key={index} />)}\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { PartialCardRow } from 'apps/tv/views/tv-channels/partial-loading/PartialCardRow';\n\nimport styles from './tv-region-select-map.module.scss';\n\nconst namespace = 'tv.tvRegionSelectMap';\n\ninterface TvRegionSelectMapProps {\n instanceRegion: InstanceRegion;\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nconst TvRegionSelectMap = (props: TvRegionSelectMapProps) => {\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n if (!props.regions || !props.currentRegion)\n return <PartialCardRow cards={5} />;\n\n if (props.regions.length <= 1)\n return <></>;\n \n return (\n <>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='regions'\n options={{ country: regionInfo.country }}\n />\n </h2>\n <div className='row'>\n {props.regions.map((region, index) => {\n if (region.id !== props.currentRegion.id)\n return (\n <div key={index} className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className='border rounded-3 py-3 px-4 d-block text-center'\n appLink={{\n ...props.appLink,\n args: [region.code]\n }}\n analyticsData={{ region: props.currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Click,\n entity: EntityType.Region,\n location: LocationContext.RegionMap,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n src={`https://tv.clickview.com.au/content/images/${region.code}.png`}\n />\n </div>\n <p className='fw-semibold text-dark mb-0'>\n {region.stateFull}\n </p>\n </AppLink>\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default TvRegionSelectMap;","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvChannelCard } from 'apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard';\nimport TvRegionSelectMap from 'apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap';\n\nimport { PartialCardRow } from './partial-loading/PartialCardRow';\n\n\nconst namespace = 'tv.channels';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvChannelsViewProps {\n region: string;\n}\n\nexport function TvChannelsView(props: TvChannelsViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n channels.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const regionInfo = getRegionInfo(instanceRegion);\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='channels'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n {dataLoaded ? (\n <>\n <div className='row mb-2'>\n {!!regionInfo.requestProgram &&\n <TvChannelCard\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.REQUEST_PROGRAM,\n args: [ props.region, instanceRegion ]\n }}\n logoUrl={regionInfo.logo}\n name={getPhrase('requestProgram')}\n className={regionInfo.bgColor}\n />\n }\n {channels.data.map((channel, index) => {\n return (\n <TvChannelCard\n key={index}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNEL,\n args: [ channel.region, channel.id ],\n params: {\n region: channel.region !== props.region ? props.region : null\n }\n }}\n logoUrl={channel.logoUrl}\n name={channel.displayName}\n />\n );\n })}\n </div>\n </>\n ) : <PartialCardRow cards={20} />}\n \n\n <TvRegionSelectMap\n instanceRegion={instanceRegion}\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </>\n );\n}"],"names":["TvChannelCard","props","styles","jsxs","AppLink","jsx","PartialRow","PartialCardRow","Fragment","_","index","namespace","TvRegionSelectMap","regionInfo","getRegionInfo","Text","region","UserAction","EntityType","LocationContext","TvDescriptor","getPhrase","LanguageService","TvChannelsView","Flight.useBasicFetch","TvRequests","dateRange","regions","channels","currentUser","UserRequests","instanceRegion","_a","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","TvSearchBar","TvTabs","TvRegionSelect","AppChannels","Actions","TvInfoAlert","channel"],"mappings":"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"}
1
+ {"version":3,"file":"Biq7_-Qu.chunk.js","sources":["../../src/apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard.tsx","../../src/apps/tv/views/tv-channels/partial-loading/PartialCardRow.tsx","../../src/apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap.tsx","../../src/apps/tv/views/tv-channels/TvChannelsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './tv-channel-card.module.scss';\n\ninterface TvChannelCardProps {\n appLink: Core.AppLink;\n logoUrl: string;\n name: string;\n className?: string;\n}\n\nexport function TvChannelCard(props: TvChannelCardProps): JSX.Element {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className={`${props.className} border rounded-3 py-3 px-4 d-block text-center`}\n appLink={props.appLink}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n className='mh-100'\n src={props.logoUrl}\n />\n </div>\n <p className='fw-semibold text-dark text-truncate mb-0'>\n {props.name}\n </p>\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport styles from './partial-card-row.module.scss';\n\nfunction PartialRow() {\n return (\n <div className={`${styles.cardContainer} px-2 mb-3`}>\n <div className='partial-loading-background border rounded-3 py-3 px-4'>\n <div className={`${styles.image}`}></div>\n <p className='mb-0'>&nbsp;</p>\n </div>\n </div>\n );\n}\n\ninterface PartialCardRowProps {\n cards: number;\n}\n\nexport function PartialCardRow(props: PartialCardRowProps) {\n return (\n <>\n <div className='row mb-2'>\n {[...Array(props.cards)].map((_, index) => <PartialRow key={index} />)}\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { PartialCardRow } from 'apps/tv/views/tv-channels/partial-loading/PartialCardRow';\n\nimport styles from './tv-region-select-map.module.scss';\n\nconst namespace = 'tv.tvRegionSelectMap';\n\ninterface TvRegionSelectMapProps {\n instanceRegion: InstanceRegion;\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nconst TvRegionSelectMap = (props: TvRegionSelectMapProps) => {\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n if (!props.regions || !props.currentRegion)\n return <PartialCardRow cards={5} />;\n\n if (props.regions.length <= 1)\n return <></>;\n \n return (\n <>\n <h2 className='h4'>\n <Text\n namespace={namespace}\n phrase='regions'\n options={{ country: regionInfo.country }}\n />\n </h2>\n <div className='row'>\n {props.regions.map((region, index) => {\n if (region.id !== props.currentRegion.id)\n return (\n <div key={index} className={`${styles.cardContainer} px-2 mb-3`}>\n <AppLink\n className='border rounded-3 py-3 px-4 d-block text-center'\n appLink={{\n ...props.appLink,\n args: [region.code]\n }}\n analyticsData={{ region: props.currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Click,\n entity: EntityType.Region,\n location: LocationContext.RegionMap,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n <div className={`${styles.image} d-flex align-items-center justify-content-center`}>\n <img\n src={`https://tv.clickview.com.au/content/images/${region.code}.png`}\n />\n </div>\n <p className='fw-semibold text-dark mb-0'>\n {region.stateFull}\n </p>\n </AppLink>\n </div>\n );\n })}\n </div>\n </>\n );\n};\n\nexport default TvRegionSelectMap;","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvChannelCard } from 'apps/tv/views/tv-channels/components/tv-channel-card/TvChannelCard';\nimport TvRegionSelectMap from 'apps/tv/views/tv-channels/components/tv-region-select-map/TvRegionSelectMap';\n\nimport { PartialCardRow } from './partial-loading/PartialCardRow';\n\n\nconst namespace = 'tv.channels';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvChannelsViewProps {\n region: string;\n}\n\nexport function TvChannelsView(props: TvChannelsViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const instanceRegion = currentUser.data?.instanceRegion;\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n channels.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const regionInfo = getRegionInfo(instanceRegion);\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='channels'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n {dataLoaded ? (\n <>\n <div className='row mb-2'>\n {!!regionInfo.requestProgram &&\n <TvChannelCard\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.REQUEST_PROGRAM,\n args: [ props.region, instanceRegion ]\n }}\n logoUrl={regionInfo.logo}\n name={getPhrase('requestProgram')}\n className={regionInfo.bgColor}\n />\n }\n {channels.data.map((channel, index) => {\n return (\n <TvChannelCard\n key={index}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNEL,\n args: [ channel.region, channel.id ],\n params: {\n region: channel.region !== props.region ? props.region : null\n }\n }}\n logoUrl={channel.logoUrl}\n name={channel.displayName}\n />\n );\n })}\n </div>\n </>\n ) : <PartialCardRow cards={20} />}\n \n\n <TvRegionSelectMap\n instanceRegion={instanceRegion}\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </>\n );\n}"],"names":["TvChannelCard","props","styles","jsxs","AppLink","jsx","PartialRow","PartialCardRow","Fragment","_","index","namespace","TvRegionSelectMap","regionInfo","getRegionInfo","Text","region","UserAction","EntityType","LocationContext","TvDescriptor","getPhrase","LanguageService","TvChannelsView","Flight.useBasicFetch","TvRequests","dateRange","regions","channels","currentUser","UserRequests","instanceRegion","_a","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","TvSearchBar","TvTabs","TvRegionSelect","AppChannels","Actions","TvInfoAlert","channel"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{H as v,a2 as p,j as o,P as y,aC as h,A as w,a as f,b as g}from"./app-nj3yOqer.js";import{S as P}from"./IxBH4lFI.chunk.js";import{V as x}from"./QIbgTj4j.chunk.js";import{u as C}from"./fftzBNKK.chunk.js";import{C as j,P as A,a as E}from"./C5Um1mJN.chunk.js";import{a as V}from"./DprAwPn0.chunk.js";import{u as S}from"./BYA29WEV.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./BuccZFco.chunk.js";import"./D_y7C4wF.chunk.js";import"./HiwCz-PT.chunk.js";import"./D2UAzuy_.chunk.js";import"./Dr28tW01.chunk.js";import"./B_bh4_2-.chunk.js";import"./CGhbtKll.chunk.js";import"./Cau1TcaF.chunk.js";import"./DhU1_zaa.chunk.js";import"./Kj832An8.chunk.js";import"./CJ3oIQlG.chunk.js";import"./DTVmftQW.chunk.js";import"./CW105qba.chunk.js";import"./DWrwMjZY.chunk.js";import"./LUhWZ6aW.chunk.js";import"./wX0oeObx.chunk.js";import"./CwLEz-p-.chunk.js";import"./E3OALlLu.chunk.js";import"./DxE8D48c.chunk.js";import"./DX9fdMAU.chunk.js";import"./Bysn-kjB.chunk.js";import"./B668bf5B.chunk.js";import"./CT_rcqQG.chunk.js";import"./C4f1zB5D.chunk.js";import"./YlT1G1sJ.chunk.js";import"./Cou4Uk_z.chunk.js";import"./DsYAvL3r.chunk.js";import"./BjHsODRK.chunk.js";var c=(e=>(e.Share="share",e.MasterObject="masterobject",e))(c||{});const b={createViewKey(e,t,r,a,s){const i={mediaId:e.toString(),mediaIdType:t};return r&&(i.shareContextId=r),{url:"/api/player/create-view-key",key:`view:key:${e}:${t}`,type:v.POST,data:i,cacheDuration:28800,success:a,error:s}}};function ue(e){var l;const t=p(x.video(e.videoId)),r=p(h.config()),a=p(b.createViewKey(e.videoId,c.MasterObject)),s=V("preview");C(t.statusCode);const{previewContext:i,clearPreviewContext:d}=S(e.videoId,!0);function u(k){}function n(){e.closePopup(),P.preventScrollTop(),w.trigger((i==null?void 0:i.appLink)??{application:g.EXCHANGE,action:f.Exchange.INDEX}),d()}const m=t.data&&r.hasCompleted&&a.hasCompleted;return o.jsx(y,{title:(l=t.data)==null?void 0:l.name,hideTitle:!0,closePopup:n,showLoadingSpinner:!m,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",children:m&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(j,{viewKey:a.data.viewKey,playerApi:new URL(r.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(A,{video:t.data,title:t.data.name,description:t.data.description,videoActions:s.getVideoActions(t.data)}),o.jsx(E,{closePopup:n})]})})}export{ue as ExchangePreviewView};
2
- //# sourceMappingURL=CyMTnTQB.chunk.js.map
1
+ import{H as v,a2 as p,j as o,P as y,aC as h,A as w,a as f,b as g}from"./app-CAg-7ccU.js";import{S as P}from"./SErl8iiO.chunk.js";import{V as x}from"./D3ImQw2c.chunk.js";import{u as C}from"./aPq0PUkl.chunk.js";import{C as j,P as A,a as E}from"./DKEmRPe5.chunk.js";import{a as V}from"./u8PxaIUU.chunk.js";import{u as S}from"./6JMI0Hhs.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./CT4M6LAt.chunk.js";import"./Mm1GvAIj.chunk.js";import"./c_eEfqOG.chunk.js";import"./DCZt5zdo.chunk.js";import"./BJUO8a2A.chunk.js";import"./COmkaZTY.chunk.js";import"./BtTmb52z.chunk.js";import"./thJth_Km.chunk.js";import"./D6PZ2zrc.chunk.js";import"./Kj832An8.chunk.js";import"./CJ3oIQlG.chunk.js";import"./CSzv69qT.chunk.js";import"./2-mHspOU.chunk.js";import"./GXToHPHe.chunk.js";import"./SAoHi7e5.chunk.js";import"./DoOK7kUv.chunk.js";import"./BTcOTDv_.chunk.js";import"./DiFNkYHy.chunk.js";import"./Br-w-uIM.chunk.js";import"./Cy4rHX30.chunk.js";import"./BrNzIV_r.chunk.js";import"./B668bf5B.chunk.js";import"./B3z0crrc.chunk.js";import"./BxNS_W6A.chunk.js";import"./DwdAMsTn.chunk.js";import"./C25DVNqV.chunk.js";import"./DdKPWSa-.chunk.js";import"./BgQsAU_t.chunk.js";var c=(e=>(e.Share="share",e.MasterObject="masterobject",e))(c||{});const b={createViewKey(e,t,r,a,s){const i={mediaId:e.toString(),mediaIdType:t};return r&&(i.shareContextId=r),{url:"/api/player/create-view-key",key:`view:key:${e}:${t}`,type:v.POST,data:i,cacheDuration:28800,success:a,error:s}}};function ue(e){var l;const t=p(x.video(e.videoId)),r=p(h.config()),a=p(b.createViewKey(e.videoId,c.MasterObject)),s=V("preview");C(t.statusCode);const{previewContext:i,clearPreviewContext:d}=S(e.videoId,!0);function u(k){}function n(){e.closePopup(),P.preventScrollTop(),w.trigger((i==null?void 0:i.appLink)??{application:g.EXCHANGE,action:f.Exchange.INDEX}),d()}const m=t.data&&r.hasCompleted&&a.hasCompleted;return o.jsx(y,{title:(l=t.data)==null?void 0:l.name,hideTitle:!0,closePopup:n,showLoadingSpinner:!m,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",children:m&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(j,{viewKey:a.data.viewKey,playerApi:new URL(r.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(A,{video:t.data,title:t.data.name,description:t.data.description,videoActions:s.getVideoActions(t.data)}),o.jsx(E,{closePopup:n})]})})}export{ue as ExchangePreviewView};
2
+ //# sourceMappingURL=Bk4jBWaN.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CyMTnTQB.chunk.js","sources":["../../../../libs/shared/src/enums/MediaIdType.ts","../../../../libs/shared/src/flight-requests/PlayerRequests.ts","../../src/apps/exchange/views/exchange-preview/ExchangePreviewView.tsx"],"sourcesContent":["export enum MediaIdType {\n Share = 'share',\n MasterObject = 'masterobject'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerViewKey } from 'libs/shared/interfaces';\n\nexport const PlayerRequests = {\n createViewKey(\n mediaId: string,\n mediaIdType: MediaIdType,\n shareContextId?: string,\n success?: (viewKey: PlayerViewKey) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n const data: HashObject = {\n mediaId: mediaId.toString(),\n mediaIdType\n };\n\n if (shareContextId)\n data.shareContextId = shareContextId;\n\n return {\n url: `/api/player/create-view-key`,\n key: `view:key:${mediaId}:${mediaIdType}`,\n type: HttpVerbs.POST,\n data,\n /**\n * A view key is valid for 8 hours, at that point we need refetch the view key\n */\n cacheDuration: 28800,\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { Config, PlayerViewKey, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport { PlayerOverlayButtons } from 'shared/components/player-overlay-buttons/PlayerOverlayButtons';\nimport { PreviewVideoDetails } from 'shared/components/preview-video-details/PreviewVideoDetails';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\ninterface ExchangePreviewViewProps extends PopupViewProps {\n videoId: string;\n currentTime: number;\n}\n\nexport function ExchangePreviewView(props: ExchangePreviewViewProps): JSX.Element {\n // const analyticsTracker = React.useRef<PlayerAnalyticsTracker>(null);\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n PlayerRequests.createViewKey(props.videoId, MediaIdType.MasterObject)\n );\n\n const videoActions = useGetExchangeActions('preview');\n useHandleDialogError(video.statusCode);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, true);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n player;\n // setupAnalytics(player);\n }\n\n // function setupAnalytics(player: PlayerReference): void {\n // analyticsTracker.current = new PlayerAnalyticsTracker({\n // player,\n // video: props.video,\n // analyticsLocation: props.embed ?\n // LocationContext.EmbeddedPlayer :\n // LocationContext.PlayPage,\n // shareId: props.shareLink?.id\n // });\n // }\n\n function onClose(): void {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext?.appLink ?? {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n });\n clearPreviewContext();\n }\n\n const hasLoaded = (\n video.data &&\n config.hasCompleted &&\n viewKey.hasCompleted\n );\n\n return (\n <Popup\n title={video.data?.name}\n hideTitle\n closePopup={onClose}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n >\n {hasLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={viewKey.data.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n video={video.data}\n title={video.data.name}\n description={video.data.description}\n videoActions={videoActions.getVideoActions(video.data)}\n />\n <PlayerOverlayButtons closePopup={onClose} />\n </>\n }\n </Popup>\n );\n}"],"names":["MediaIdType","PlayerRequests","mediaId","mediaIdType","shareContextId","success","error","data","HttpVerbs","ExchangePreviewView","props","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","viewKey","videoActions","useGetExchangeActions","useHandleDialogError","previewContext","clearPreviewContext","usePreviewContext","onReady","player","onClose","ScrollHelper","Core.AppLinkHelper","AppChannels","Actions","hasLoaded","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"+pCAAO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,aAAe,eAFLA,IAAAA,GAAA,CAAA,CAAA,ECQL,MAAMC,EAAiB,CAC5B,cACEC,EACAC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAMC,EAAmB,CACvB,QAASL,EAAQ,SAAA,EACjB,YAAAC,CAAA,EAGF,OAAIC,IACFG,EAAK,eAAiBH,GAEjB,CACL,IAAK,8BACL,IAAK,YAAYF,CAAO,IAAIC,CAAW,GACvC,KAAMK,EAAU,KAChB,KAAAD,EAIA,cAAe,MACf,QAAAF,EACA,MAAAC,CAAA,CAEJ,CACF,ECPO,SAASG,GAAoBC,EAA8C,OAEhF,MAAMC,EAAQC,EAA4BC,EAAc,MAAMH,EAAM,OAAO,CAAC,EACtEI,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAUJ,EACdX,EAAe,cAAcS,EAAM,QAASV,EAAY,YAAY,CAAA,EAGhEiB,EAAeC,EAAsB,SAAS,EACpDC,EAAqBR,EAAM,UAAU,EAErC,KAAM,CAAE,eAAAS,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBZ,EAAM,QAAS,EAAI,EAGrF,SAASa,EAAQC,EAA+B,CAGhD,CAaA,SAASC,GAAgB,CACvBf,EAAM,WAAA,EAENgB,EAAa,iBAAA,EACbC,EAAmB,SAAQP,GAAA,YAAAA,EAAgB,UAAW,CACpD,YAAaQ,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC1B,EACDR,EAAA,CACF,CAEA,MAAMS,EACJnB,EAAM,MACNG,EAAO,cACPE,EAAQ,aAGV,OACEe,EAAAA,IAACC,EAAA,CACC,OAAOC,EAAAtB,EAAM,OAAN,YAAAsB,EAAY,KACnB,UAAS,GACT,WAAYR,EACZ,mBAAoB,CAACK,EACrB,KAAK,KACL,cAAc,kCAEb,YACCI,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAU,iCACb,SAAAA,EAAAA,IAACK,EAAA,CACC,QAASpB,EAAQ,KAAK,QACtB,UAAW,IAAI,IAAIF,EAAO,KAAK,YAAY,EAC3C,SAAQ,GACR,sBAAsB,OACtB,QAAAS,EACA,gBAAiB,EAAA,CAAA,EAErB,EACAQ,EAAAA,IAACM,EAAA,CACC,MAAO1B,EAAM,KACb,MAAOA,EAAM,KAAK,KAClB,YAAaA,EAAM,KAAK,YACxB,aAAcM,EAAa,gBAAgBN,EAAM,IAAI,CAAA,CAAA,EAEvDoB,EAAAA,IAACO,EAAA,CAAqB,WAAYb,CAAA,CAAS,CAAA,CAAA,CAC7C,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"Bk4jBWaN.chunk.js","sources":["../../../../libs/shared/src/enums/MediaIdType.ts","../../../../libs/shared/src/flight-requests/PlayerRequests.ts","../../src/apps/exchange/views/exchange-preview/ExchangePreviewView.tsx"],"sourcesContent":["export enum MediaIdType {\n Share = 'share',\n MasterObject = 'masterobject'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerViewKey } from 'libs/shared/interfaces';\n\nexport const PlayerRequests = {\n createViewKey(\n mediaId: string,\n mediaIdType: MediaIdType,\n shareContextId?: string,\n success?: (viewKey: PlayerViewKey) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n const data: HashObject = {\n mediaId: mediaId.toString(),\n mediaIdType\n };\n\n if (shareContextId)\n data.shareContextId = shareContextId;\n\n return {\n url: `/api/player/create-view-key`,\n key: `view:key:${mediaId}:${mediaIdType}`,\n type: HttpVerbs.POST,\n data,\n /**\n * A view key is valid for 8 hours, at that point we need refetch the view key\n */\n cacheDuration: 28800,\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { Config, PlayerViewKey, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport { PlayerOverlayButtons } from 'shared/components/player-overlay-buttons/PlayerOverlayButtons';\nimport { PreviewVideoDetails } from 'shared/components/preview-video-details/PreviewVideoDetails';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\ninterface ExchangePreviewViewProps extends PopupViewProps {\n videoId: string;\n currentTime: number;\n}\n\nexport function ExchangePreviewView(props: ExchangePreviewViewProps): JSX.Element {\n // const analyticsTracker = React.useRef<PlayerAnalyticsTracker>(null);\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n PlayerRequests.createViewKey(props.videoId, MediaIdType.MasterObject)\n );\n\n const videoActions = useGetExchangeActions('preview');\n useHandleDialogError(video.statusCode);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, true);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n player;\n // setupAnalytics(player);\n }\n\n // function setupAnalytics(player: PlayerReference): void {\n // analyticsTracker.current = new PlayerAnalyticsTracker({\n // player,\n // video: props.video,\n // analyticsLocation: props.embed ?\n // LocationContext.EmbeddedPlayer :\n // LocationContext.PlayPage,\n // shareId: props.shareLink?.id\n // });\n // }\n\n function onClose(): void {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext?.appLink ?? {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n });\n clearPreviewContext();\n }\n\n const hasLoaded = (\n video.data &&\n config.hasCompleted &&\n viewKey.hasCompleted\n );\n\n return (\n <Popup\n title={video.data?.name}\n hideTitle\n closePopup={onClose}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n >\n {hasLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={viewKey.data.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n video={video.data}\n title={video.data.name}\n description={video.data.description}\n videoActions={videoActions.getVideoActions(video.data)}\n />\n <PlayerOverlayButtons closePopup={onClose} />\n </>\n }\n </Popup>\n );\n}"],"names":["MediaIdType","PlayerRequests","mediaId","mediaIdType","shareContextId","success","error","data","HttpVerbs","ExchangePreviewView","props","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","viewKey","videoActions","useGetExchangeActions","useHandleDialogError","previewContext","clearPreviewContext","usePreviewContext","onReady","player","onClose","ScrollHelper","Core.AppLinkHelper","AppChannels","Actions","hasLoaded","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"+pCAAO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,aAAe,eAFLA,IAAAA,GAAA,CAAA,CAAA,ECQL,MAAMC,EAAiB,CAC5B,cACEC,EACAC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAMC,EAAmB,CACvB,QAASL,EAAQ,SAAA,EACjB,YAAAC,CAAA,EAGF,OAAIC,IACFG,EAAK,eAAiBH,GAEjB,CACL,IAAK,8BACL,IAAK,YAAYF,CAAO,IAAIC,CAAW,GACvC,KAAMK,EAAU,KAChB,KAAAD,EAIA,cAAe,MACf,QAAAF,EACA,MAAAC,CAAA,CAEJ,CACF,ECPO,SAASG,GAAoBC,EAA8C,OAEhF,MAAMC,EAAQC,EAA4BC,EAAc,MAAMH,EAAM,OAAO,CAAC,EACtEI,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAUJ,EACdX,EAAe,cAAcS,EAAM,QAASV,EAAY,YAAY,CAAA,EAGhEiB,EAAeC,EAAsB,SAAS,EACpDC,EAAqBR,EAAM,UAAU,EAErC,KAAM,CAAE,eAAAS,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBZ,EAAM,QAAS,EAAI,EAGrF,SAASa,EAAQC,EAA+B,CAGhD,CAaA,SAASC,GAAgB,CACvBf,EAAM,WAAA,EAENgB,EAAa,iBAAA,EACbC,EAAmB,SAAQP,GAAA,YAAAA,EAAgB,UAAW,CACpD,YAAaQ,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC1B,EACDR,EAAA,CACF,CAEA,MAAMS,EACJnB,EAAM,MACNG,EAAO,cACPE,EAAQ,aAGV,OACEe,EAAAA,IAACC,EAAA,CACC,OAAOC,EAAAtB,EAAM,OAAN,YAAAsB,EAAY,KACnB,UAAS,GACT,WAAYR,EACZ,mBAAoB,CAACK,EACrB,KAAK,KACL,cAAc,kCAEb,YACCI,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAU,iCACb,SAAAA,EAAAA,IAACK,EAAA,CACC,QAASpB,EAAQ,KAAK,QACtB,UAAW,IAAI,IAAIF,EAAO,KAAK,YAAY,EAC3C,SAAQ,GACR,sBAAsB,OACtB,QAAAS,EACA,gBAAiB,EAAA,CAAA,EAErB,EACAQ,EAAAA,IAACM,EAAA,CACC,MAAO1B,EAAM,KACb,MAAOA,EAAM,KAAK,KAClB,YAAaA,EAAM,KAAK,YACxB,aAAcM,EAAa,gBAAgBN,EAAM,IAAI,CAAA,CAAA,EAEvDoB,EAAAA,IAACO,EAAA,CAAqB,WAAYb,CAAA,CAAS,CAAA,CAAA,CAC7C,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- import{j as e,aj as B,ak as c,al as R,B as U,ab as q,ae as H,ad as M,ac as O,ai as G,a2 as g,l as z,am as D,an as Q,Q as Y,a4 as W,M as $,L as J}from"./app-nj3yOqer.js";import{A as K}from"./DX9fdMAU.chunk.js";import{P as X,u as Z,F as _}from"./DoLggBSu.chunk.js";import{V as ee,u as te,a as se}from"./D8WccEdk.chunk.js";import{h as ae}from"./ChL5ufI4.chunk.js";import{L as f}from"./C4f1zB5D.chunk.js";import{u as re}from"./wX0oeObx.chunk.js";import{u as oe,a as ie}from"./DprAwPn0.chunk.js";import{u as ne}from"./RDz68qfn.chunk.js";import{P as b,I as de,u as ce}from"./CKHb3pvm.chunk.js";import{E as me}from"./0O3fE335.chunk.js";import{E as le}from"./BaY6qhO_.chunk.js";import{E as ue}from"./DI__y4wi.chunk.js";import{a as he,u as xe,g as j}from"./CT_rcqQG.chunk.js";import{B as pe,V as ge,P as fe}from"./qIzf4pm6.chunk.js";import"./CE99prXT.chunk.js";import"./3NU4Uele.chunk.js";import"./E3OALlLu.chunk.js";import"./DxE8D48c.chunk.js";import"./DKaBhZWG.chunk.js";import"./CW105qba.chunk.js";import"./IxBH4lFI.chunk.js";import"./D2UAzuy_.chunk.js";import"./BlDVEZsX.chunk.js";import"./Dr28tW01.chunk.js";import"./pkzD5BEm.chunk.js";import"./QIbgTj4j.chunk.js";import"./DTVmftQW.chunk.js";import"./Bysn-kjB.chunk.js";import"./HiwCz-PT.chunk.js";import"./LUhWZ6aW.chunk.js";import"./B_bh4_2-.chunk.js";import"./_sYSSSUN.chunk.js";import"./Kj832An8.chunk.js";import"./Cau1TcaF.chunk.js";import"./CGhbtKll.chunk.js";import"./CL4pALcK.chunk.js";import"./DleGvW_4.chunk.js";import"./CRQrsCQB.chunk.js";const je="exchange.exchangeFolderEmptyState";function be(){return e.jsx(B.Provider,{value:je,children:e.jsxs(c,{children:[e.jsx(c.Image,{src:R.EmptyStates.FOLDER}),e.jsx(c.Heading,{children:e.jsx(U,{phrase:"heading"})})]})})}function Fe(t){var r;return!((r=t.videos)!=null&&r.length)&&!t.isFetching?e.jsx(be,{}):e.jsxs("div",{children:[e.jsxs("div",{className:"d-flex justify-content-between align-items-center mb-2",children:[e.jsx(pe,{breadcrumbs:t.breadcrumbs}),e.jsx(ge,{variant:"outline-dark",type:t.sort,getSortAppLink:t.getSortAppLink,analyticsOptions:{location:O.VideoListHeader,entity:M.Video,actionType:H.Sort,workflowPhase:q.Complete},includeProductionYear:!0})]}),t.videos?e.jsx(ee,{videos:t.videos,getVideoAppLink:he,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:t.commonVideoProps}):e.jsx("div",{className:"mx-n2",children:e.jsx(b,{})}),(t.hasMore||t.isFetching)&&e.jsx(de,{isFetching:t.isFetching,fetchNext:t.fetchNext,nextCursor:t.nextCursor})]})}function Se(){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"partial-loading-background h2 mb-3 w-25",children:" "}),e.jsx("div",{className:"mt-1 mb-2",children:e.jsx(X,{})}),e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"mb-3",children:e.jsx(fe,{})}),e.jsx("div",{className:"mx-n2",children:e.jsx(b,{})})]})]})}const ve="exchange.exchangeFolder",Le=J.encloseNamespace(ve);function ct(t){var x,p;const r=G(),F=re(),n=g(W.currentUser()),a=g(f.folder(t.folderId)),{isUserCurator:S,openInCurationStudioLabel:v,getOpenInCurationStudioLink:L}=oe(),m=s=>f.childFolders(a.data.id,s),E=s=>r(m(s)),o=Z(a.data&&m,E);z({title:(x=a.data)==null?void 0:x.name}),ne([a]);const{commonVideoProps:N}=te(),d=!!n.data&&D.getOrSetSortType(n.data.id,t.sort,Q.ProductionYear),{items:i,hasMore:P,isFetching:V,nextCursor:C}=ce(l,u,A);function l(s){return ue.folderVideos(t.folderId,d,s)}function u(s){return r(l(s))}function A(s,T){if(s===1)return ae(T);F.error(Le("error"))}function y(){return S?[{label:v,openInNewTab:!0,href:L($.Category,a.data.id)}]:[]}const k=xe(t.folderId,t.sort),I=ie("video-list"),h=((p=o==null?void 0:o.items)==null?void 0:p.length)>0,w=a.hasCompleted&&n.hasCompleted&&o.hasCompleted;return e.jsxs(se.Provider,{value:I,children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(me,{}),e.jsx(le,{active:"categories"})]}),w?e.jsxs(e.Fragment,{children:[a.data&&e.jsxs("div",{className:"d-flex mb-3",children:[e.jsx("h1",{className:"h2 me-1 mb-0",children:a.data.name}),e.jsx(K,{actions:y(),actionsDropdownClassName:"btn btn-sm",dropdownToggleSvgSize:Y.Standard})]}),h&&e.jsx("div",{className:"mx-n2",children:e.jsx(_,{folders:o.items,getAppLink:s=>j(s,d),expandFolders:!(i!=null&&i.length)})}),e.jsx("div",{className:"pb-3",children:e.jsx(Fe,{videos:i,hasSubFolders:h,hasMore:P,isFetching:V,fetchNext:u,nextCursor:C,sort:d,breadcrumbs:k,getSortAppLink:s=>j(a.data,s),commonVideoProps:N})})]}):e.jsx(Se,{})]})}export{ct as ExchangeFolderView};
2
- //# sourceMappingURL=ocyN3mGw.chunk.js.map
1
+ import{j as e,aj as B,ak as c,al as R,B as U,ab as q,ae as H,ad as M,ac as O,ai as G,a2 as g,l as z,am as D,an as Q,Q as Y,a4 as W,M as $,L as J}from"./app-CAg-7ccU.js";import{A as K}from"./Cy4rHX30.chunk.js";import{P as X,u as Z,F as _}from"./BKLaPb8Z.chunk.js";import{V as ee,u as te,a as se}from"./BdkyXvBB.chunk.js";import{h as ae}from"./D2a2dcGU.chunk.js";import{L as f}from"./BxNS_W6A.chunk.js";import{u as re}from"./DoOK7kUv.chunk.js";import{u as oe,a as ie}from"./u8PxaIUU.chunk.js";import{u as ne}from"./DulaiN8k.chunk.js";import{P as b,I as de,u as ce}from"./Dot69sAe.chunk.js";import{E as me}from"./DTO3v7TR.chunk.js";import{E as le}from"./cB6ytVLm.chunk.js";import{E as ue}from"./PUKDcvT2.chunk.js";import{a as he,u as xe,g as j}from"./B3z0crrc.chunk.js";import{B as pe,V as ge,P as fe}from"./Dg5ezm9_.chunk.js";import"./qZQmdlst.chunk.js";import"./Dvty4-yq.chunk.js";import"./DiFNkYHy.chunk.js";import"./Br-w-uIM.chunk.js";import"./fIpx79-n.chunk.js";import"./2-mHspOU.chunk.js";import"./SErl8iiO.chunk.js";import"./DCZt5zdo.chunk.js";import"./BlDVEZsX.chunk.js";import"./BJUO8a2A.chunk.js";import"./pkzD5BEm.chunk.js";import"./D3ImQw2c.chunk.js";import"./CSzv69qT.chunk.js";import"./BrNzIV_r.chunk.js";import"./c_eEfqOG.chunk.js";import"./SAoHi7e5.chunk.js";import"./COmkaZTY.chunk.js";import"./_sYSSSUN.chunk.js";import"./Kj832An8.chunk.js";import"./thJth_Km.chunk.js";import"./BtTmb52z.chunk.js";import"./Ba_KnYVR.chunk.js";import"./Bc6W0MI6.chunk.js";import"./Dy5Hagep.chunk.js";const je="exchange.exchangeFolderEmptyState";function be(){return e.jsx(B.Provider,{value:je,children:e.jsxs(c,{children:[e.jsx(c.Image,{src:R.EmptyStates.FOLDER}),e.jsx(c.Heading,{children:e.jsx(U,{phrase:"heading"})})]})})}function Fe(t){var r;return!((r=t.videos)!=null&&r.length)&&!t.isFetching?e.jsx(be,{}):e.jsxs("div",{children:[e.jsxs("div",{className:"d-flex justify-content-between align-items-center mb-2",children:[e.jsx(pe,{breadcrumbs:t.breadcrumbs}),e.jsx(ge,{variant:"outline-dark",type:t.sort,getSortAppLink:t.getSortAppLink,analyticsOptions:{location:O.VideoListHeader,entity:M.Video,actionType:H.Sort,workflowPhase:q.Complete},includeProductionYear:!0})]}),t.videos?e.jsx(ee,{videos:t.videos,getVideoAppLink:he,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:t.commonVideoProps}):e.jsx("div",{className:"mx-n2",children:e.jsx(b,{})}),(t.hasMore||t.isFetching)&&e.jsx(de,{isFetching:t.isFetching,fetchNext:t.fetchNext,nextCursor:t.nextCursor})]})}function Se(){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"partial-loading-background h2 mb-3 w-25",children:" "}),e.jsx("div",{className:"mt-1 mb-2",children:e.jsx(X,{})}),e.jsxs("div",{className:"mb-3",children:[e.jsx("div",{className:"mb-3",children:e.jsx(fe,{})}),e.jsx("div",{className:"mx-n2",children:e.jsx(b,{})})]})]})}const ve="exchange.exchangeFolder",Le=J.encloseNamespace(ve);function ct(t){var x,p;const r=G(),F=re(),n=g(W.currentUser()),a=g(f.folder(t.folderId)),{isUserCurator:S,openInCurationStudioLabel:v,getOpenInCurationStudioLink:L}=oe(),m=s=>f.childFolders(a.data.id,s),E=s=>r(m(s)),o=Z(a.data&&m,E);z({title:(x=a.data)==null?void 0:x.name}),ne([a]);const{commonVideoProps:N}=te(),d=!!n.data&&D.getOrSetSortType(n.data.id,t.sort,Q.ProductionYear),{items:i,hasMore:P,isFetching:V,nextCursor:C}=ce(l,u,A);function l(s){return ue.folderVideos(t.folderId,d,s)}function u(s){return r(l(s))}function A(s,T){if(s===1)return ae(T);F.error(Le("error"))}function y(){return S?[{label:v,openInNewTab:!0,href:L($.Category,a.data.id)}]:[]}const k=xe(t.folderId,t.sort),I=ie("video-list"),h=((p=o==null?void 0:o.items)==null?void 0:p.length)>0,w=a.hasCompleted&&n.hasCompleted&&o.hasCompleted;return e.jsxs(se.Provider,{value:I,children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(me,{}),e.jsx(le,{active:"categories"})]}),w?e.jsxs(e.Fragment,{children:[a.data&&e.jsxs("div",{className:"d-flex mb-3",children:[e.jsx("h1",{className:"h2 me-1 mb-0",children:a.data.name}),e.jsx(K,{actions:y(),actionsDropdownClassName:"btn btn-sm",dropdownToggleSvgSize:Y.Standard})]}),h&&e.jsx("div",{className:"mx-n2",children:e.jsx(_,{folders:o.items,getAppLink:s=>j(s,d),expandFolders:!(i!=null&&i.length)})}),e.jsx("div",{className:"pb-3",children:e.jsx(Fe,{videos:i,hasSubFolders:h,hasMore:P,isFetching:V,fetchNext:u,nextCursor:C,sort:d,breadcrumbs:k,getSortAppLink:s=>j(a.data,s),commonVideoProps:N})})]}):e.jsx(Se,{})]})}export{ct as ExchangeFolderView};
2
+ //# sourceMappingURL=BnkNxrEp.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ocyN3mGw.chunk.js","sources":["../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/empty-state/ExchangeFolderEmptyState.tsx","../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/ExchangeFolderVideos.tsx","../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/partial-loading/ExchangeFolderPartialLoading.tsx","../../src/apps/exchange/views/exchange-folder/ExchangeFolderView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'exchange.exchangeFolderEmptyState';\n\nexport function ExchangeFolderEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.FOLDER} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, 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 { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Video } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\nimport { ExchangeFolderEmptyState } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/empty-state/ExchangeFolderEmptyState';\n\ninterface ExchangeFolderVideosProps {\n videos: Video[];\n hasSubFolders: boolean;\n sort: VideoSortType;\n isFetching: boolean;\n hasMore: boolean;\n nextCursor?: string;\n breadcrumbs: Breadcrumb[];\n getSortAppLink: (sort: VideoSortType) => Core.AppLink;\n fetchNext: (cursor: string) => void;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function ExchangeFolderVideos(props: ExchangeFolderVideosProps): JSX.Element {\n if (!props.videos?.length && !props.isFetching)\n return <ExchangeFolderEmptyState />;\n\n return (\n <div>\n <div className='d-flex justify-content-between align-items-center mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={props.sort}\n getSortAppLink={props.getSortAppLink}\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 {props.videos ? (\n <VideoList\n videos={props.videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={props.commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function ExchangeFolderPartialLoading(): JSX.Element {\n return (\n <>\n <div\n className='partial-loading-background h2 mb-3 w-25'>\n &nbsp;\n </div>\n\n <div className='mt-1 mb-2'>\n <PartialFolderList />\n </div>\n\n <div className='mb-3'>\n <div className='mb-3'>\n <PartialBreadcrumbs />\n </div>\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </div>\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/flight';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Folder, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getFolderAppLink, useGetFolderBreadcrumbs } from 'apps/exchange/utils/ExchangeUtils';\nimport { ExchangeFolderVideos } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/ExchangeFolderVideos';\nimport { ExchangeFolderPartialLoading } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/partial-loading/ExchangeFolderPartialLoading';\n\nconst namespace = 'exchange.exchangeFolder';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeFolderViewProps {\n folderId: string;\n sort?: VideoSortType;\n}\n\nexport function ExchangeFolderView(props: ExchangeFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.folderId));\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n \n const getFolderRequest = (cursor: string) => LibraryRequests.childFolders(folder.data.id, cursor);\n const fetchNextFolder = (cursor: string) => fetch(getFolderRequest(cursor));\n const subfolders = useFetchAll(folder.data && getFolderRequest, fetchNextFolder);\n\n useSetPageMetadata({ title: folder.data?.name });\n useHandleObjectError([folder]);\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);\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.folderVideos(props.folderId, 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 function getActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [\n {\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Category, folder.data.id)\n }\n ];\n }\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.folderId, props.sort);\n\n const videoActions = useGetExchangeActions('video-list');\n\n const hasSubfolders = subfolders?.items?.length > 0;\n\n const dataLoaded = (\n folder.hasCompleted &&\n currentUser.hasCompleted &&\n subfolders.hasCompleted\n );\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n\n {dataLoaded ? (\n <>\n {folder.data && (\n <div className='d-flex mb-3'>\n <h1 className='h2 me-1 mb-0'>{folder.data.name}</h1>\n <Actions\n actions={getActions()}\n actionsDropdownClassName='btn btn-sm'\n dropdownToggleSvgSize={SvgContainerSize.Standard}\n />\n </div>\n )}\n\n {hasSubfolders && (\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f, sort)}\n expandFolders={!videos?.length}\n />\n </div>\n )}\n\n <div className='pb-3'>\n <ExchangeFolderVideos\n videos={videos}\n hasSubFolders={hasSubfolders}\n hasMore={hasMore}\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n sort={sort}\n breadcrumbs={breadcrumbs}\n getSortAppLink={sort => getFolderAppLink(folder.data, sort)}\n commonVideoProps={commonVideoProps}\n />\n </div>\n </>\n ) : <ExchangeFolderPartialLoading />}\n </VideoActionsContext.Provider>\n );\n}"],"names":["namespace","ExchangeFolderEmptyState","LanguageNamespaceContext","EmptyState","jsx","ImageUrls","Text","ExchangeFolderVideos","props","_a","jsxs","Breadcrumbs","VideoSortSelect","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter","ExchangeFolderPartialLoading","Fragment","PartialFolderList","PartialBreadcrumbs","getPhrase","LanguageService","ExchangeFolderView","fetch","Flight.useGetFetch","alerts","useAlerts","currentUser","Flight.useBasicFetch","UserRequests","folder","LibraryRequests","isUserCurator","openInCurationStudioLabel","getOpenInCurationStudioLink","useCurationStudio","getFolderRequest","cursor","fetchNextFolder","subfolders","useFetchAll","useSetPageMetadata","useHandleObjectError","commonVideoProps","useCommonVideoProps","sort","VideoSortHelper","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","getActions","MasterType","breadcrumbs","useGetFolderBreadcrumbs","videoActions","useGetExchangeActions","hasSubfolders","_b","dataLoaded","VideoActionsContext","ExchangeSearchBar","ExchangeTabs","Actions","SvgContainerSize","FolderList","f","getFolderAppLink"],"mappings":"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"}
1
+ {"version":3,"file":"BnkNxrEp.chunk.js","sources":["../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/empty-state/ExchangeFolderEmptyState.tsx","../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/ExchangeFolderVideos.tsx","../../src/apps/exchange/views/exchange-folder/components/exchange-folder-videos/partial-loading/ExchangeFolderPartialLoading.tsx","../../src/apps/exchange/views/exchange-folder/ExchangeFolderView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'exchange.exchangeFolderEmptyState';\n\nexport function ExchangeFolderEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.FOLDER} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, 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 { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Video } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\nimport { ExchangeFolderEmptyState } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/empty-state/ExchangeFolderEmptyState';\n\ninterface ExchangeFolderVideosProps {\n videos: Video[];\n hasSubFolders: boolean;\n sort: VideoSortType;\n isFetching: boolean;\n hasMore: boolean;\n nextCursor?: string;\n breadcrumbs: Breadcrumb[];\n getSortAppLink: (sort: VideoSortType) => Core.AppLink;\n fetchNext: (cursor: string) => void;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function ExchangeFolderVideos(props: ExchangeFolderVideosProps): JSX.Element {\n if (!props.videos?.length && !props.isFetching)\n return <ExchangeFolderEmptyState />;\n\n return (\n <div>\n <div className='d-flex justify-content-between align-items-center mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n\n <VideoSortSelect\n variant='outline-dark'\n type={props.sort}\n getSortAppLink={props.getSortAppLink}\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 {props.videos ? (\n <VideoList\n videos={props.videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={props.commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nexport function ExchangeFolderPartialLoading(): JSX.Element {\n return (\n <>\n <div\n className='partial-loading-background h2 mb-3 w-25'>\n &nbsp;\n </div>\n\n <div className='mt-1 mb-2'>\n <PartialFolderList />\n </div>\n\n <div className='mb-3'>\n <div className='mb-3'>\n <PartialBreadcrumbs />\n </div>\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n </div>\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/flight';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser, Folder, Video } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getFolderAppLink, useGetFolderBreadcrumbs } from 'apps/exchange/utils/ExchangeUtils';\nimport { ExchangeFolderVideos } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/ExchangeFolderVideos';\nimport { ExchangeFolderPartialLoading } from 'apps/exchange/views/exchange-folder/components/exchange-folder-videos/partial-loading/ExchangeFolderPartialLoading';\n\nconst namespace = 'exchange.exchangeFolder';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeFolderViewProps {\n folderId: string;\n sort?: VideoSortType;\n}\n\nexport function ExchangeFolderView(props: ExchangeFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.folderId));\n const { isUserCurator, openInCurationStudioLabel, getOpenInCurationStudioLink } = useCurationStudio();\n \n const getFolderRequest = (cursor: string) => LibraryRequests.childFolders(folder.data.id, cursor);\n const fetchNextFolder = (cursor: string) => fetch(getFolderRequest(cursor));\n const subfolders = useFetchAll(folder.data && getFolderRequest, fetchNextFolder);\n\n useSetPageMetadata({ title: folder.data?.name });\n useHandleObjectError([folder]);\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);\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.folderVideos(props.folderId, 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 function getActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [\n {\n label: openInCurationStudioLabel,\n openInNewTab: true,\n href: getOpenInCurationStudioLink(MasterType.Category, folder.data.id)\n }\n ];\n }\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.folderId, props.sort);\n\n const videoActions = useGetExchangeActions('video-list');\n\n const hasSubfolders = subfolders?.items?.length > 0;\n\n const dataLoaded = (\n folder.hasCompleted &&\n currentUser.hasCompleted &&\n subfolders.hasCompleted\n );\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n\n {dataLoaded ? (\n <>\n {folder.data && (\n <div className='d-flex mb-3'>\n <h1 className='h2 me-1 mb-0'>{folder.data.name}</h1>\n <Actions\n actions={getActions()}\n actionsDropdownClassName='btn btn-sm'\n dropdownToggleSvgSize={SvgContainerSize.Standard}\n />\n </div>\n )}\n\n {hasSubfolders && (\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f, sort)}\n expandFolders={!videos?.length}\n />\n </div>\n )}\n\n <div className='pb-3'>\n <ExchangeFolderVideos\n videos={videos}\n hasSubFolders={hasSubfolders}\n hasMore={hasMore}\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n sort={sort}\n breadcrumbs={breadcrumbs}\n getSortAppLink={sort => getFolderAppLink(folder.data, sort)}\n commonVideoProps={commonVideoProps}\n />\n </div>\n </>\n ) : <ExchangeFolderPartialLoading />}\n </VideoActionsContext.Provider>\n );\n}"],"names":["namespace","ExchangeFolderEmptyState","LanguageNamespaceContext","EmptyState","jsx","ImageUrls","Text","ExchangeFolderVideos","props","_a","jsxs","Breadcrumbs","VideoSortSelect","LocationContext","EntityType","UserAction","WorkflowPhase","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter","ExchangeFolderPartialLoading","Fragment","PartialFolderList","PartialBreadcrumbs","getPhrase","LanguageService","ExchangeFolderView","fetch","Flight.useGetFetch","alerts","useAlerts","currentUser","Flight.useBasicFetch","UserRequests","folder","LibraryRequests","isUserCurator","openInCurationStudioLabel","getOpenInCurationStudioLink","useCurationStudio","getFolderRequest","cursor","fetchNextFolder","subfolders","useFetchAll","useSetPageMetadata","useHandleObjectError","commonVideoProps","useCommonVideoProps","sort","VideoSortHelper","VideoSortType","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","ExchangeRequests","pageNumber","httpStatus","handleHttpError","getActions","MasterType","breadcrumbs","useGetFolderBreadcrumbs","videoActions","useGetExchangeActions","hasSubfolders","_b","dataLoaded","VideoActionsContext","ExchangeSearchBar","ExchangeTabs","Actions","SvgContainerSize","FolderList","f","getFolderAppLink"],"mappings":"w9CAOA,MAAMA,GAAY,oCAEX,SAASC,IAAwC,CACtD,aACGC,EAAyB,SAAzB,CAAkC,MAAOF,GACxC,gBAACG,EAAA,CACC,SAAA,CAAAC,EAAAA,IAACD,EAAW,MAAX,CAAiB,IAAKE,EAAU,YAAY,OAAQ,EAErDD,MAACD,EAAW,QAAX,CAAmB,eAACG,EAAA,CAAK,OAAO,UAAU,CAAA,CAAE,CAAA,CAAA,CAC/C,CAAA,CACF,CAEJ,CCYO,SAASC,GAAqBC,EAA+C,OAClF,MAAI,GAACC,EAAAD,EAAM,SAAN,MAAAC,EAAc,SAAU,CAACD,EAAM,iBAC1BP,GAAA,EAAyB,SAGhC,MAAA,CACC,SAAA,CAAAS,EAAAA,KAAC,MAAA,CAAI,UAAU,yDACb,SAAA,CAAAN,EAAAA,IAACO,GAAA,CAAY,YAAaH,EAAM,WAAA,CAAa,EAE7CJ,EAAAA,IAACQ,GAAA,CACC,QAAQ,eACR,KAAMJ,EAAM,KACZ,eAAgBA,EAAM,eACtB,iBAAkB,CAChB,SAAUK,EAAgB,gBAC1B,OAAQC,EAAW,MACnB,WAAYC,EAAW,KACvB,cAAeC,EAAc,QAAA,EAE/B,sBAAqB,EAAA,CAAA,CACvB,EACF,EAECR,EAAM,OACLJ,EAAAA,IAACa,GAAA,CACC,OAAQT,EAAM,OACd,gBAAAU,GACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAkBV,EAAM,gBAAA,CAAA,EAG1BJ,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACe,IAAiB,EACpB,GAGAX,EAAM,SAAWA,EAAM,aACvBJ,EAAAA,IAACgB,GAAA,CACC,WAAYZ,EAAM,WAClB,UAAWA,EAAM,UACjB,WAAYA,EAAM,UAAA,CAAA,CACpB,EAEJ,CAEJ,CCzEO,SAASa,IAA4C,CAC1D,OACEX,EAAAA,KAAAY,WAAA,CACE,SAAA,CAAAlB,EAAAA,IAAC,MAAA,CACC,UAAU,0CAA0C,SAAA,GAAA,CAAA,QAIrD,MAAA,CAAI,UAAU,YACb,SAAAA,MAACmB,IAAkB,EACrB,EAEAb,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAN,MAAC,MAAA,CAAI,UAAU,OACb,SAAAA,MAACoB,KAAmB,EACtB,QACC,MAAA,CAAI,UAAU,QACb,SAAApB,EAAAA,IAACe,IAAiB,CAAA,CACpB,CAAA,CAAA,CACF,CAAA,EACF,CAEJ,CCKA,MAAMnB,GAAY,0BACZyB,GAAYC,EAAgB,iBAAiB1B,EAAS,EAOrD,SAAS2B,GAAmBnB,EAA6C,SAC9E,MAAMoB,EAAQC,EAAO,EACfC,EAASC,GAAA,EAETC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAASF,EAA6BG,EAAgB,OAAO5B,EAAM,QAAQ,CAAC,EAC5E,CAAE,cAAA6B,EAAe,0BAAAC,EAA2B,4BAAAC,CAAA,EAAgCC,GAAA,EAE5EC,EAAoBC,GAAmBN,EAAgB,aAAaD,EAAO,KAAK,GAAIO,CAAM,EAC1FC,EAAmBD,GAAmBd,EAAMa,EAAiBC,CAAM,CAAC,EACpEE,EAAaC,EAAYV,EAAO,MAAQM,EAAkBE,CAAe,EAE/EG,EAAmB,CAAE,OAAOrC,EAAA0B,EAAO,OAAP,YAAA1B,EAAa,KAAM,EAC/CsC,GAAqB,CAACZ,CAAM,CAAC,EAE7B,KAAM,CAAE,iBAAAa,CAAA,EAAqBC,GAAA,EAGvBC,EAAO,CAAC,CAAClB,EAAY,MACtBmB,EAAgB,iBAAiBnB,EAAY,KAAK,GAAIxB,EAAM,KAAM4C,EAAc,cAAc,EAE7F,CACJ,MAAOC,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,GAAuBC,EAAkBC,EAAiBC,CAAO,EAErE,SAASF,EAAiBhB,EAAiC,CACzD,OAAOmB,GAAiB,aAAarD,EAAM,SAAU0C,EAAMR,CAAM,CACnE,CAEA,SAASiB,EAAgBjB,EAAuB,CAC9C,OAAOd,EAAM8B,EAAiBhB,CAAM,CAAC,CACvC,CAEA,SAASkB,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,GAAgBD,CAAU,EAEnCjC,EAAO,MAAML,GAAU,OAAO,CAAC,CACjC,CAEA,SAASwC,GAA8B,CACrC,OAAK5B,EAGE,CACL,CACE,MAAOC,EACP,aAAc,GACd,KAAMC,EAA4B2B,EAAW,SAAU/B,EAAO,KAAK,EAAE,CAAA,CACvE,EAPO,CAAA,CASX,CAEA,MAAMgC,EAAcC,GAAwB5D,EAAM,SAAUA,EAAM,IAAI,EAEhE6D,EAAeC,GAAsB,YAAY,EAEjDC,IAAgBC,EAAA5B,GAAA,YAAAA,EAAY,QAAZ,YAAA4B,EAAmB,QAAS,EAE5CC,EACJtC,EAAO,cACPH,EAAY,cACZY,EAAW,aAGb,OACElC,EAAAA,KAACgE,GAAoB,SAApB,CAA6B,MAAOL,EACnC,SAAA,CAAA3D,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAN,EAAAA,IAACuE,GAAA,EAAkB,EACnBvE,EAAAA,IAACwE,GAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAECH,EACC/D,EAAAA,KAAAY,WAAA,CACG,SAAA,CAAAa,EAAO,MACNzB,OAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAN,MAAC,KAAA,CAAG,UAAU,eAAgB,SAAA+B,EAAO,KAAK,KAAK,EAC/C/B,EAAAA,IAACyE,EAAA,CACC,QAASZ,EAAA,EACT,yBAAyB,aACzB,sBAAuBa,EAAiB,QAAA,CAAA,CAC1C,EACF,EAGDP,GACCnE,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAAC2E,EAAA,CACC,QAASnC,EAAW,MACpB,WAAaoC,GAAcC,EAAiBD,EAAG9B,CAAI,EACnD,cAAe,EAACG,GAAA,MAAAA,EAAQ,OAAA,CAAA,EAE5B,EAGFjD,EAAAA,IAAC,MAAA,CAAI,UAAU,OACb,SAAAA,EAAAA,IAACG,GAAA,CACC,OAAA8C,EACA,cAAekB,EACf,QAAAjB,EACA,WAAAC,EACA,UAAWI,EACX,WAAAH,EACA,KAAAN,EACA,YAAAiB,EACA,eAAgBjB,GAAQ+B,EAAiB9C,EAAO,KAAMe,CAAI,EAC1D,iBAAAF,CAAA,CAAA,CACF,CACF,CAAA,EACF,QACG3B,GAAA,CAAA,CAA6B,CAAA,EACpC,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{r as d,j as h}from"./app-nj3yOqer.js";var I=new Map,R=new WeakMap,y=0,L=void 0;function O(e){return e?(R.has(e)||(y+=1,R.set(e,y.toString())),R.get(e)):"0"}function _(e){return Object.keys(e).sort().filter(r=>e[r]!==void 0).map(r=>`${r}_${r==="root"?O(e.root):e[r]}`).toString()}function $(e){const r=_(e);let s=I.get(r);if(!s){const n=new Map;let a;const i=new IntersectionObserver(o=>{o.forEach(t=>{var c;const g=t.isIntersecting&&a.some(u=>t.intersectionRatio>=u);e.trackVisibility&&typeof t.isVisible>"u"&&(t.isVisible=g),(c=n.get(t.target))==null||c.forEach(u=>{u(g,t)})})},e);a=i.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),s={id:r,observer:i,elements:n},I.set(r,s)}return s}function j(e,r,s={},n=L){if(typeof window.IntersectionObserver>"u"&&n!==void 0){const c=e.getBoundingClientRect();return r(n,{isIntersecting:n,target:e,intersectionRatio:typeof s.threshold=="number"?s.threshold:0,time:0,boundingClientRect:c,intersectionRect:c,rootBounds:c}),()=>{}}const{id:a,observer:i,elements:o}=$(s),t=o.get(e)||[];return o.has(e)||o.set(e,t),t.push(r),i.observe(e),function(){t.splice(t.indexOf(r),1),t.length===0&&(o.delete(e),i.unobserve(e)),o.size===0&&(i.disconnect(),I.delete(a))}}function D({threshold:e,delay:r,trackVisibility:s,rootMargin:n,root:a,triggerOnce:i,skip:o,initialInView:t,fallbackInView:c,onChange:g}={}){var u;const[f,p]=d.useState(null),m=d.useRef(),[A,l]=d.useState({inView:!!t,entry:void 0});m.current=g,d.useEffect(()=>{if(o||!f)return;let b;return b=j(f,(x,E)=>{l({inView:x,entry:E}),m.current&&m.current(x,E),E.isIntersecting&&i&&b&&(b(),b=void 0)},{root:a,rootMargin:n,threshold:e,trackVisibility:s,delay:r},c),()=>{b&&b()}},[Array.isArray(e)?e.toString():e,f,a,n,i,o,s,c,r]);const w=(u=A.entry)==null?void 0:u.target,S=d.useRef();!f&&w&&!i&&!o&&S.current!==w&&(S.current=w,l({inView:!!t,entry:void 0}));const v=[p,A.inView,A.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}function V(e={}){const{prevent:r,rootMargin:s,triggerOnce:n=!0}=e;let[a,i,o]=D({triggerOnce:n,rootMargin:s});return(r===!0||typeof window.IntersectionObserver>"u")&&(i=!0,a=null),{ref:a,inView:i,initialized:!!o}}const M="_image_pp6me_1",C={image:M},z="500px",B="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",T=d.memo(function(e){const{forceLoad:r,extraClasses:s="",errorFallbackImageSrc:n,preventLoad:a=!1,errorFallbackImageClassName:i,src:o,alt:t,...c}=e,{ref:g,inView:u}=V({rootMargin:z}),[f,p]=d.useState(!1);d.useEffect(()=>{if(!r&&!u||a)return;const l=new Image;return l.onerror=()=>{p(!0),n&&(l.src=n)},l.src=o,()=>l.onerror=null},[u,a]);function m(){return f&&n?n:e.src}if(f&&!n)return h.jsx(h.Fragment,{});if(!g)return h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,alt:t,src:m(),...c});const A={alt:t,...c,...(u||r)&&!a?{src:m()}:{src:B}};return r||(A.ref=g),h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,...A})});export{T as L,D as a,V as u};
2
- //# sourceMappingURL=DxE8D48c.chunk.js.map
1
+ import{r as d,j as h}from"./app-CAg-7ccU.js";var I=new Map,R=new WeakMap,y=0,L=void 0;function O(e){return e?(R.has(e)||(y+=1,R.set(e,y.toString())),R.get(e)):"0"}function _(e){return Object.keys(e).sort().filter(r=>e[r]!==void 0).map(r=>`${r}_${r==="root"?O(e.root):e[r]}`).toString()}function $(e){const r=_(e);let s=I.get(r);if(!s){const n=new Map;let a;const i=new IntersectionObserver(o=>{o.forEach(t=>{var c;const g=t.isIntersecting&&a.some(u=>t.intersectionRatio>=u);e.trackVisibility&&typeof t.isVisible>"u"&&(t.isVisible=g),(c=n.get(t.target))==null||c.forEach(u=>{u(g,t)})})},e);a=i.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),s={id:r,observer:i,elements:n},I.set(r,s)}return s}function j(e,r,s={},n=L){if(typeof window.IntersectionObserver>"u"&&n!==void 0){const c=e.getBoundingClientRect();return r(n,{isIntersecting:n,target:e,intersectionRatio:typeof s.threshold=="number"?s.threshold:0,time:0,boundingClientRect:c,intersectionRect:c,rootBounds:c}),()=>{}}const{id:a,observer:i,elements:o}=$(s),t=o.get(e)||[];return o.has(e)||o.set(e,t),t.push(r),i.observe(e),function(){t.splice(t.indexOf(r),1),t.length===0&&(o.delete(e),i.unobserve(e)),o.size===0&&(i.disconnect(),I.delete(a))}}function D({threshold:e,delay:r,trackVisibility:s,rootMargin:n,root:a,triggerOnce:i,skip:o,initialInView:t,fallbackInView:c,onChange:g}={}){var u;const[f,p]=d.useState(null),m=d.useRef(),[A,l]=d.useState({inView:!!t,entry:void 0});m.current=g,d.useEffect(()=>{if(o||!f)return;let b;return b=j(f,(x,E)=>{l({inView:x,entry:E}),m.current&&m.current(x,E),E.isIntersecting&&i&&b&&(b(),b=void 0)},{root:a,rootMargin:n,threshold:e,trackVisibility:s,delay:r},c),()=>{b&&b()}},[Array.isArray(e)?e.toString():e,f,a,n,i,o,s,c,r]);const w=(u=A.entry)==null?void 0:u.target,S=d.useRef();!f&&w&&!i&&!o&&S.current!==w&&(S.current=w,l({inView:!!t,entry:void 0}));const v=[p,A.inView,A.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}function V(e={}){const{prevent:r,rootMargin:s,triggerOnce:n=!0}=e;let[a,i,o]=D({triggerOnce:n,rootMargin:s});return(r===!0||typeof window.IntersectionObserver>"u")&&(i=!0,a=null),{ref:a,inView:i,initialized:!!o}}const M="_image_pp6me_1",C={image:M},z="500px",B="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",T=d.memo(function(e){const{forceLoad:r,extraClasses:s="",errorFallbackImageSrc:n,preventLoad:a=!1,errorFallbackImageClassName:i,src:o,alt:t,...c}=e,{ref:g,inView:u}=V({rootMargin:z}),[f,p]=d.useState(!1);d.useEffect(()=>{if(!r&&!u||a)return;const l=new Image;return l.onerror=()=>{p(!0),n&&(l.src=n)},l.src=o,()=>l.onerror=null},[u,a]);function m(){return f&&n?n:e.src}if(f&&!n)return h.jsx(h.Fragment,{});if(!g)return h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,alt:t,src:m(),...c});const A={alt:t,...c,...(u||r)&&!a?{src:m()}:{src:B}};return r||(A.ref=g),h.jsx("img",{className:`${C.image} ${s} ${f&&i||""}`,...A})});export{T as L,D as a,V as u};
2
+ //# sourceMappingURL=Br-w-uIM.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DxE8D48c.chunk.js","sources":["../../../../../node_modules/react-intersection-observer/index.mjs","../../../../libs/shared/src/hooks/UseLazyLoad.ts","../../../../libs/shared/src/components/lazy-image/LazyImage.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root)\n return \"0\";\n if (RootIds.has(root))\n return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip)\n return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef();\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref)\n return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current)\n callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef();\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map","import { useInView } from 'react-intersection-observer';\n\ninterface LazyUtils {\n ref: (node?: Element) => void | null;\n inView: boolean;\n\n /**\n * Use this if you want to hide something on start\n * and then show it as something else leaves the window\n * e.g. The student feed floating jump to button\n */\n initialized: boolean;\n}\n\ninterface UseLazyLoadOptions {\n prevent?: boolean;\n /**\n * See rootMagin here: https://www.npmjs.com/package/react-intersection-observer#api\n * Thow allows us to have items load ahead of coming into the viewport\n * for example thumbnail images as we scroll\n */\n rootMargin?: string;\n triggerOnce?: boolean;\n}\n\nexport function useLazyLoad(options: UseLazyLoadOptions = {}): LazyUtils {\n const { prevent, rootMargin, triggerOnce = true } = options;\n\n // eslint-disable-next-line\n let [ ref, inView, entry ] = useInView({ triggerOnce, rootMargin: rootMargin });\n\n if (prevent === true || typeof (window as any).IntersectionObserver === 'undefined') {\n inView = true;\n ref = null;\n }\n\n return { ref, inView, initialized: !!entry };\n}","import * as React from 'react';\n\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\n\nimport styles from './lazy-image.module.scss';\n\n/**\n * This value means we will load images 500px above\n * or below the viewport so that they are loaded\n * by the time they come into the viewport\n */\nconst PRELOAD_DISTANCE = '500px';\n/**\n * Atomically small blank GIF as placeholder for image src to prevent w3 validator error\n */\nconst PLACEHOLDER_SRC = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\n\ninterface LazyImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n forceLoad?: boolean;\n preventLoad?: boolean;\n extraClasses?: string;\n errorFallbackImageSrc?: string;\n errorFallbackImageClassName?: string;\n}\n\nexport const LazyImage = React.memo(function(props: LazyImageProps): React.ReactElement {\n const { forceLoad, extraClasses = '', errorFallbackImageSrc, preventLoad = false, errorFallbackImageClassName, src, alt, ...propsWithoutSrc } = props;\n \n const { ref, inView } = useLazyLoad({ rootMargin: PRELOAD_DISTANCE });\n const [ error, setError ] = React.useState(false);\n\n React.useEffect(() => {\n if ((!forceLoad && !inView) || preventLoad)\n return;\n \n // https://stackoverflow.com/questions/2342132/waiting-for-image-to-load-in-javascript\n const img = new Image();\n\n img.onerror = () => {\n setError(true);\n \n if (errorFallbackImageSrc)\n img.src = errorFallbackImageSrc;\n };\n\n img.src = src;\n return () => img.onerror = null;\n }, [ inView, preventLoad ]);\n\n function getSrc(): string {\n if (error && errorFallbackImageSrc)\n return errorFallbackImageSrc;\n\n return props.src;\n }\n\n if (error && !errorFallbackImageSrc)\n return <></>;\n\n if (!ref) {\n return (\n <img\n className={`${styles.image} ${extraClasses} ${error ? errorFallbackImageClassName || '' : ''}`}\n alt={alt}\n src={getSrc()}\n {...propsWithoutSrc}\n />\n );\n }\n\n const imgProps: React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> = {\n alt,\n ...propsWithoutSrc,\n ...(((inView || forceLoad) && !preventLoad) ? { src: getSrc() } : { src: PLACEHOLDER_SRC })\n };\n\n if (!forceLoad)\n imgProps.ref = ref;\n\n return (\n <img className={`${styles.image} ${extraClasses} ${error ? errorFallbackImageClassName || '' : ''}`} {...imgProps} />\n );\n});"],"names":["observerMap","RootIds","rootId","unsupportedValue","getRootId","root","optionsToId","options","key","createObserver","id","instance","elements","thresholds","observer","entries","entry","_a","inView","threshold","callback","observe","element","fallbackInView","bounds","callbacks","useInView","delay","trackVisibility","rootMargin","triggerOnce","skip","initialInView","onChange","ref","setRef","React2.useState","React2.useRef","state","setState","React2.useEffect","unobserve","entryTarget","previousEntryTarget","result","useLazyLoad","prevent","PRELOAD_DISTANCE","PLACEHOLDER_SRC","LazyImage","React.memo","props","forceLoad","extraClasses","errorFallbackImageSrc","preventLoad","errorFallbackImageClassName","src","alt","propsWithoutSrc","error","setError","React.useState","React.useEffect","img","getSrc","jsx","Fragment","styles","imgProps"],"mappings":"6CAYA,IAAIA,EAA8B,IAAI,IAClCC,EAA0B,IAAI,QAC9BC,EAAS,EACTC,EAAmB,OAIvB,SAASC,EAAUC,EAAM,CACvB,OAAKA,GAEDJ,EAAQ,IAAII,CAAI,IAEpBH,GAAU,EACVD,EAAQ,IAAII,EAAMH,EAAO,SAAQ,CAAE,GAC5BD,EAAQ,IAAII,CAAI,GALd,GAMX,CACA,SAASC,EAAYC,EAAS,CAC5B,OAAO,OAAO,KAAKA,CAAO,EAAE,KAAI,EAAG,OAChCC,GAAQD,EAAQC,CAAG,IAAM,MAC9B,EAAI,IAAKA,GACE,GAAGA,CAAG,IAAIA,IAAQ,OAASJ,EAAUG,EAAQ,IAAI,EAAIA,EAAQC,CAAG,CAAC,EACzE,EAAE,SAAQ,CACb,CACA,SAASC,EAAeF,EAAS,CAC/B,MAAMG,EAAKJ,EAAYC,CAAO,EAC9B,IAAII,EAAWX,EAAY,IAAIU,CAAE,EACjC,GAAI,CAACC,EAAU,CACb,MAAMC,EAA2B,IAAI,IACrC,IAAIC,EACJ,MAAMC,EAAW,IAAI,qBAAsBC,GAAY,CACrDA,EAAQ,QAASC,GAAU,CACzB,IAAIC,EACJ,MAAMC,EAASF,EAAM,gBAAkBH,EAAW,KAAMM,GAAcH,EAAM,mBAAqBG,CAAS,EACtGZ,EAAQ,iBAAmB,OAAOS,EAAM,UAAc,MACxDA,EAAM,UAAYE,IAEnBD,EAAKL,EAAS,IAAII,EAAM,MAAM,IAAM,MAAgBC,EAAG,QAASG,GAAa,CAC5EA,EAASF,EAAQF,CAAK,CACxB,CAAC,CACH,CAAC,CACH,EAAGT,CAAO,EACVM,EAAaC,EAAS,aAAe,MAAM,QAAQP,EAAQ,SAAS,EAAIA,EAAQ,UAAY,CAACA,EAAQ,WAAa,CAAC,GACnHI,EAAW,CACT,GAAAD,EACA,SAAAI,EACA,SAAAF,CACN,EACIZ,EAAY,IAAIU,EAAIC,CAAQ,CAC9B,CACA,OAAOA,CACT,CACA,SAASU,EAAQC,EAASF,EAAUb,EAAU,CAAA,EAAIgB,EAAiBpB,EAAkB,CACnF,GAAI,OAAO,OAAO,qBAAyB,KAAeoB,IAAmB,OAAQ,CACnF,MAAMC,EAASF,EAAQ,sBAAqB,EAC5C,OAAAF,EAASG,EAAgB,CACvB,eAAgBA,EAChB,OAAQD,EACR,kBAAmB,OAAOf,EAAQ,WAAc,SAAWA,EAAQ,UAAY,EAC/E,KAAM,EACN,mBAAoBiB,EACpB,iBAAkBA,EAClB,WAAYA,CAClB,CAAK,EACM,IAAM,CACb,CACF,CACA,KAAM,CAAE,GAAAd,EAAI,SAAAI,EAAU,SAAAF,CAAQ,EAAKH,EAAeF,CAAO,EACnDkB,EAAYb,EAAS,IAAIU,CAAO,GAAK,CAAA,EAC3C,OAAKV,EAAS,IAAIU,CAAO,GACvBV,EAAS,IAAIU,EAASG,CAAS,EAEjCA,EAAU,KAAKL,CAAQ,EACvBN,EAAS,QAAQQ,CAAO,EACjB,UAAqB,CAC1BG,EAAU,OAAOA,EAAU,QAAQL,CAAQ,EAAG,CAAC,EAC3CK,EAAU,SAAW,IACvBb,EAAS,OAAOU,CAAO,EACvBR,EAAS,UAAUQ,CAAO,GAExBV,EAAS,OAAS,IACpBE,EAAS,WAAU,EACnBd,EAAY,OAAOU,CAAE,EAEzB,CACF,CAgHA,SAASgB,EAAU,CACjB,UAAAP,EACA,MAAAQ,EACA,gBAAAC,EACA,WAAAC,EACA,KAAAxB,EACA,YAAAyB,EACA,KAAAC,EACA,cAAAC,EACA,eAAAT,EACA,SAAAU,CACF,EAAI,GAAI,CACN,IAAIhB,EACJ,KAAM,CAACiB,EAAKC,CAAM,EAAIC,EAAAA,SAAgB,IAAI,EACpChB,EAAWiB,EAAAA,OAAa,EACxB,CAACC,EAAOC,CAAQ,EAAIH,WAAgB,CACxC,OAAQ,CAAC,CAACJ,EACV,MAAO,MACX,CAAG,EACDZ,EAAS,QAAUa,EACnBO,EAAAA,UACE,IAAM,CACJ,GAAIT,GAAQ,CAACG,EACX,OACF,IAAIO,EACJ,OAAAA,EAAYpB,EACVa,EACA,CAAChB,EAAQF,IAAU,CACjBuB,EAAS,CACP,OAAArB,EACA,MAAAF,CACZ,CAAW,EACGI,EAAS,SACXA,EAAS,QAAQF,EAAQF,CAAK,EAC5BA,EAAM,gBAAkBc,GAAeW,IACzCA,EAAS,EACTA,EAAY,OAEhB,EACA,CACE,KAAApC,EACA,WAAAwB,EACA,UAAAV,EAEA,gBAAAS,EAEA,MAAAD,CACV,EACQJ,CACR,EACa,IAAM,CACPkB,GACFA,EAAS,CAEb,CACF,EAGA,CAEE,MAAM,QAAQtB,CAAS,EAAIA,EAAU,SAAQ,EAAKA,EAClDe,EACA7B,EACAwB,EACAC,EACAC,EACAH,EACAL,EACAI,CACN,CACA,EACE,MAAMe,GAAezB,EAAKqB,EAAM,QAAU,KAAO,OAASrB,EAAG,OACvD0B,EAAsBN,EAAAA,OAAa,EACrC,CAACH,GAAOQ,GAAe,CAACZ,GAAe,CAACC,GAAQY,EAAoB,UAAYD,IAClFC,EAAoB,QAAUD,EAC9BH,EAAS,CACP,OAAQ,CAAC,CAACP,EACV,MAAO,MACb,CAAK,GAEH,MAAMY,EAAS,CAACT,EAAQG,EAAM,OAAQA,EAAM,KAAK,EACjD,OAAAM,EAAO,IAAMA,EAAO,CAAC,EACrBA,EAAO,OAASA,EAAO,CAAC,EACxBA,EAAO,MAAQA,EAAO,CAAC,EAChBA,CACT,CC5QO,SAASC,EAAYtC,EAA8B,GAAe,CACvE,KAAM,CAAE,QAAAuC,EAAS,WAAAjB,EAAY,YAAAC,EAAc,IAASvB,EAGpD,GAAI,CAAE2B,EAAKhB,EAAQF,CAAM,EAAIU,EAAU,CAAE,YAAAI,EAAa,WAAAD,EAAwB,EAE9E,OAAIiB,IAAY,IAAQ,OAAQ,OAAe,qBAAyB,OACtE5B,EAAS,GACTgB,EAAM,MAGD,CAAE,IAAAA,EAAK,OAAAhB,EAAQ,YAAa,CAAC,CAACF,CAAA,CACvC,sCC1BM+B,EAAmB,QAInBC,EAAkB,6DAUXC,EAAYC,EAAAA,KAAW,SAASC,EAA2C,CACtF,KAAM,CAAE,UAAAC,EAAW,aAAAC,EAAe,GAAI,sBAAAC,EAAuB,YAAAC,EAAc,GAAO,4BAAAC,EAA6B,IAAAC,EAAK,IAAAC,EAAK,GAAGC,CAAA,EAAoBR,EAE1I,CAAE,IAAAjB,EAAK,OAAAhB,CAAA,EAAW2B,EAAY,CAAE,WAAYE,EAAkB,EAC9D,CAAEa,EAAOC,CAAS,EAAIC,EAAAA,SAAe,EAAK,EAEhDC,EAAAA,UAAgB,IAAM,CACpB,GAAK,CAACX,GAAa,CAAClC,GAAWqC,EAC7B,OAGF,MAAMS,EAAM,IAAI,MAEhB,OAAAA,EAAI,QAAU,IAAM,CAClBH,EAAS,EAAI,EAETP,IACFU,EAAI,IAAMV,EACd,EAEAU,EAAI,IAAMP,EACH,IAAMO,EAAI,QAAU,IAC7B,EAAG,CAAE9C,EAAQqC,CAAY,CAAC,EAE1B,SAASU,GAAiB,CACxB,OAAIL,GAASN,EACJA,EAEFH,EAAM,GACf,CAEA,GAAIS,GAAS,CAACN,EACZ,OAAOY,EAAAA,IAAAC,EAAAA,SAAA,EAAE,EAEX,GAAI,CAACjC,EACH,OACEgC,EAAAA,IAAC,MAAA,CACC,UAAW,GAAGE,EAAO,KAAK,IAAIf,CAAY,IAAIO,GAAQJ,GAA+B,EAAO,GAC5F,IAAAE,EACA,IAAKO,EAAA,EACJ,GAAGN,CAAA,CAAA,EAKV,MAAMU,EAAiG,CACrG,IAAAX,EACA,GAAGC,EACH,IAAMzC,GAAUkC,IAAc,CAACG,EAAe,CAAE,IAAKU,EAAA,CAAO,EAAM,CAAE,IAAKjB,CAAA,CAAgB,EAG3F,OAAKI,IACHiB,EAAS,IAAMnC,GAGfgC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGE,EAAO,KAAK,IAAIf,CAAY,IAAIO,GAAQJ,GAA+B,EAAO,GAAK,GAAGa,EAAU,CAEvH,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"Br-w-uIM.chunk.js","sources":["../../../../../node_modules/react-intersection-observer/index.mjs","../../../../libs/shared/src/hooks/UseLazyLoad.ts","../../../../libs/shared/src/components/lazy-image/LazyImage.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root)\n return \"0\";\n if (RootIds.has(root))\n return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip)\n return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef();\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref)\n return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current)\n callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef();\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map","import { useInView } from 'react-intersection-observer';\n\ninterface LazyUtils {\n ref: (node?: Element) => void | null;\n inView: boolean;\n\n /**\n * Use this if you want to hide something on start\n * and then show it as something else leaves the window\n * e.g. The student feed floating jump to button\n */\n initialized: boolean;\n}\n\ninterface UseLazyLoadOptions {\n prevent?: boolean;\n /**\n * See rootMagin here: https://www.npmjs.com/package/react-intersection-observer#api\n * Thow allows us to have items load ahead of coming into the viewport\n * for example thumbnail images as we scroll\n */\n rootMargin?: string;\n triggerOnce?: boolean;\n}\n\nexport function useLazyLoad(options: UseLazyLoadOptions = {}): LazyUtils {\n const { prevent, rootMargin, triggerOnce = true } = options;\n\n // eslint-disable-next-line\n let [ ref, inView, entry ] = useInView({ triggerOnce, rootMargin: rootMargin });\n\n if (prevent === true || typeof (window as any).IntersectionObserver === 'undefined') {\n inView = true;\n ref = null;\n }\n\n return { ref, inView, initialized: !!entry };\n}","import * as React from 'react';\n\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\n\nimport styles from './lazy-image.module.scss';\n\n/**\n * This value means we will load images 500px above\n * or below the viewport so that they are loaded\n * by the time they come into the viewport\n */\nconst PRELOAD_DISTANCE = '500px';\n/**\n * Atomically small blank GIF as placeholder for image src to prevent w3 validator error\n */\nconst PLACEHOLDER_SRC = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\n\ninterface LazyImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n forceLoad?: boolean;\n preventLoad?: boolean;\n extraClasses?: string;\n errorFallbackImageSrc?: string;\n errorFallbackImageClassName?: string;\n}\n\nexport const LazyImage = React.memo(function(props: LazyImageProps): React.ReactElement {\n const { forceLoad, extraClasses = '', errorFallbackImageSrc, preventLoad = false, errorFallbackImageClassName, src, alt, ...propsWithoutSrc } = props;\n \n const { ref, inView } = useLazyLoad({ rootMargin: PRELOAD_DISTANCE });\n const [ error, setError ] = React.useState(false);\n\n React.useEffect(() => {\n if ((!forceLoad && !inView) || preventLoad)\n return;\n \n // https://stackoverflow.com/questions/2342132/waiting-for-image-to-load-in-javascript\n const img = new Image();\n\n img.onerror = () => {\n setError(true);\n \n if (errorFallbackImageSrc)\n img.src = errorFallbackImageSrc;\n };\n\n img.src = src;\n return () => img.onerror = null;\n }, [ inView, preventLoad ]);\n\n function getSrc(): string {\n if (error && errorFallbackImageSrc)\n return errorFallbackImageSrc;\n\n return props.src;\n }\n\n if (error && !errorFallbackImageSrc)\n return <></>;\n\n if (!ref) {\n return (\n <img\n className={`${styles.image} ${extraClasses} ${error ? errorFallbackImageClassName || '' : ''}`}\n alt={alt}\n src={getSrc()}\n {...propsWithoutSrc}\n />\n );\n }\n\n const imgProps: React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> = {\n alt,\n ...propsWithoutSrc,\n ...(((inView || forceLoad) && !preventLoad) ? { src: getSrc() } : { src: PLACEHOLDER_SRC })\n };\n\n if (!forceLoad)\n imgProps.ref = ref;\n\n return (\n <img className={`${styles.image} ${extraClasses} ${error ? errorFallbackImageClassName || '' : ''}`} {...imgProps} />\n );\n});"],"names":["observerMap","RootIds","rootId","unsupportedValue","getRootId","root","optionsToId","options","key","createObserver","id","instance","elements","thresholds","observer","entries","entry","_a","inView","threshold","callback","observe","element","fallbackInView","bounds","callbacks","useInView","delay","trackVisibility","rootMargin","triggerOnce","skip","initialInView","onChange","ref","setRef","React2.useState","React2.useRef","state","setState","React2.useEffect","unobserve","entryTarget","previousEntryTarget","result","useLazyLoad","prevent","PRELOAD_DISTANCE","PLACEHOLDER_SRC","LazyImage","React.memo","props","forceLoad","extraClasses","errorFallbackImageSrc","preventLoad","errorFallbackImageClassName","src","alt","propsWithoutSrc","error","setError","React.useState","React.useEffect","img","getSrc","jsx","Fragment","styles","imgProps"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./app-nj3yOqer.js";import{s}from"./Dr28tW01.chunk.js";function n(a){return e.jsx("svg",{...a,children:e.jsx("path",{d:"M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z",fill:"currentColor"})})}function r(a){let l=`d-flex align-items-center badge-list ${s.minHeight}`;return a.className&&(l+=` ${a.className}`),e.jsx("div",{className:l,children:a.children})}export{n as A,r as B};
2
- //# sourceMappingURL=Bysn-kjB.chunk.js.map
1
+ import{j as e}from"./app-CAg-7ccU.js";import{s}from"./BJUO8a2A.chunk.js";function n(a){return e.jsx("svg",{...a,children:e.jsx("path",{d:"M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z",fill:"currentColor"})})}function r(a){let l=`d-flex align-items-center badge-list ${s.minHeight}`;return a.className&&(l+=` ${a.className}`),e.jsx("div",{className:l,children:a.children})}export{n as A,r as B};
2
+ //# sourceMappingURL=BrNzIV_r.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bysn-kjB.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/AddVideoSvg.tsx","../../../../libs/shared/src/components/badges/BadgeListContainer.tsx"],"sourcesContent":["import React from 'react';\n\nexport function AddVideoSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}"],"names":["AddVideoSvg","props","jsx","BadgeListContainer","className","styles"],"mappings":"yEAEO,SAASA,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+nBACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCHO,SAASC,EAAmBF,EAAsE,CACvG,IAAIG,EAAY,wCAAwCC,EAAO,SAAS,GAExE,OAAIJ,EAAM,YACRG,GAAa,IAAIH,EAAM,SAAS,IAGhCC,EAAAA,IAAC,MAAA,CAAI,UAAAE,EACF,SAAAH,EAAM,SACT,CAEJ"}
1
+ {"version":3,"file":"BrNzIV_r.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/AddVideoSvg.tsx","../../../../libs/shared/src/components/badges/BadgeListContainer.tsx"],"sourcesContent":["import React from 'react';\n\nexport function AddVideoSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}"],"names":["AddVideoSvg","props","jsx","BadgeListContainer","className","styles"],"mappings":"yEAEO,SAASA,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+nBACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCHO,SAASC,EAAmBF,EAAsE,CACvG,IAAIG,EAAY,wCAAwCC,EAAO,SAAS,GAExE,OAAIJ,EAAM,YACRG,GAAa,IAAIH,EAAM,SAAS,IAGhCC,EAAAA,IAAC,MAAA,CAAI,UAAAE,EACF,SAAAH,EAAM,SACT,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as r}from"./app-nj3yOqer.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
- //# sourceMappingURL=CGhbtKll.chunk.js.map
1
+ import{j as r}from"./app-CAg-7ccU.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
+ //# sourceMappingURL=BtTmb52z.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CGhbtKll.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}
1
+ {"version":3,"file":"BtTmb52z.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{H as l,c,U as i,S as n}from"./app-nj3yOqer.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
2
- //# sourceMappingURL=C4f1zB5D.chunk.js.map
1
+ import{H as l,c,U as i,S as n}from"./app-CAg-7ccU.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
2
+ //# sourceMappingURL=BxNS_W6A.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C4f1zB5D.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
1
+ {"version":3,"file":"BxNS_W6A.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}