@clickview/exchange 0.53.0-rc.2 → 0.53.0-rc.3

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/{DYfp6qN2.chunk.js → 5GUueKJF.chunk.js} +2 -2
  4. package/dist/scripts/{DYfp6qN2.chunk.js.map → 5GUueKJF.chunk.js.map} +1 -1
  5. package/dist/scripts/{Co_iS0bj.chunk.js → 6a3imca3.chunk.js} +2 -2
  6. package/dist/scripts/{Co_iS0bj.chunk.js.map → 6a3imca3.chunk.js.map} +1 -1
  7. package/dist/scripts/{C2RRkDlH.chunk.js → 8LCfkX3v.chunk.js} +2 -2
  8. package/dist/scripts/{C2RRkDlH.chunk.js.map → 8LCfkX3v.chunk.js.map} +1 -1
  9. package/dist/scripts/{D94KYGFe.chunk.js → 8VNRK8kQ.chunk.js} +2 -2
  10. package/dist/scripts/{D94KYGFe.chunk.js.map → 8VNRK8kQ.chunk.js.map} +1 -1
  11. package/dist/scripts/{IqKMNgAo.chunk.js → An2pqf2H.chunk.js} +2 -2
  12. package/dist/scripts/{IqKMNgAo.chunk.js.map → An2pqf2H.chunk.js.map} +1 -1
  13. package/dist/scripts/{Da5Jh4ka.chunk.js → B2N_hio2.chunk.js} +2 -2
  14. package/dist/scripts/{Da5Jh4ka.chunk.js.map → B2N_hio2.chunk.js.map} +1 -1
  15. package/dist/scripts/{BDJ3lqh6.chunk.js → B2noU3Ys.chunk.js} +2 -2
  16. package/dist/scripts/{BDJ3lqh6.chunk.js.map → B2noU3Ys.chunk.js.map} +1 -1
  17. package/dist/scripts/{ClAFGXub.chunk.js → B6XPihYg.chunk.js} +2 -2
  18. package/dist/scripts/{ClAFGXub.chunk.js.map → B6XPihYg.chunk.js.map} +1 -1
  19. package/dist/scripts/B6lOCBlR.chunk.js +2 -0
  20. package/dist/scripts/{DADu9kRW.chunk.js.map → B6lOCBlR.chunk.js.map} +1 -1
  21. package/dist/scripts/{CBbVIYIX.chunk.js → B83zQU6s.chunk.js} +2 -2
  22. package/dist/scripts/{CBbVIYIX.chunk.js.map → B83zQU6s.chunk.js.map} +1 -1
  23. package/dist/scripts/{CL_sQPNd.chunk.js → BEGjWnPj.chunk.js} +2 -2
  24. package/dist/scripts/{CL_sQPNd.chunk.js.map → BEGjWnPj.chunk.js.map} +1 -1
  25. package/dist/scripts/{DFm9lfdG.chunk.js → BFHjGFiY.chunk.js} +2 -2
  26. package/dist/scripts/{DFm9lfdG.chunk.js.map → BFHjGFiY.chunk.js.map} +1 -1
  27. package/dist/scripts/{D3ZScl6b.chunk.js → BKjwB_St.chunk.js} +2 -2
  28. package/dist/scripts/{D3ZScl6b.chunk.js.map → BKjwB_St.chunk.js.map} +1 -1
  29. package/dist/scripts/{Dai_iWJd.chunk.js → BMWm1pN1.chunk.js} +2 -2
  30. package/dist/scripts/{Dai_iWJd.chunk.js.map → BMWm1pN1.chunk.js.map} +1 -1
  31. package/dist/scripts/BNoOPqTl.chunk.js +2 -0
  32. package/dist/scripts/{0l0N-xl4.chunk.js.map → BNoOPqTl.chunk.js.map} +1 -1
  33. package/dist/scripts/{BJy6bi_f.chunk.js → BSTOTvRj.chunk.js} +2 -2
  34. package/dist/scripts/{BJy6bi_f.chunk.js.map → BSTOTvRj.chunk.js.map} +1 -1
  35. package/dist/scripts/{CzoJAXkI.chunk.js → BUa_jfSW.chunk.js} +2 -2
  36. package/dist/scripts/{CzoJAXkI.chunk.js.map → BUa_jfSW.chunk.js.map} +1 -1
  37. package/dist/scripts/{BqzK1HZp.chunk.js → BZpkTfVs.chunk.js} +2 -2
  38. package/dist/scripts/{BqzK1HZp.chunk.js.map → BZpkTfVs.chunk.js.map} +1 -1
  39. package/dist/scripts/BaIci_F5.chunk.js +2 -0
  40. package/dist/scripts/{CpOQf5WX.chunk.js.map → BaIci_F5.chunk.js.map} +1 -1
  41. package/dist/scripts/{CL0AqQPL.chunk.js → BcPl4b_u.chunk.js} +2 -2
  42. package/dist/scripts/{CL0AqQPL.chunk.js.map → BcPl4b_u.chunk.js.map} +1 -1
  43. package/dist/scripts/{CG9hOZ8J.chunk.js → BdNTkb7P.chunk.js} +2 -2
  44. package/dist/scripts/{CG9hOZ8J.chunk.js.map → BdNTkb7P.chunk.js.map} +1 -1
  45. package/dist/scripts/{Bcnaqlik.chunk.js → Bfe5ljlE.chunk.js} +2 -2
  46. package/dist/scripts/{Bcnaqlik.chunk.js.map → Bfe5ljlE.chunk.js.map} +1 -1
  47. package/dist/scripts/BjOBVQha.chunk.js +2 -0
  48. package/dist/scripts/{C_l_6pBR.chunk.js.map → BjOBVQha.chunk.js.map} +1 -1
  49. package/dist/scripts/{jNYdSQcK.chunk.js → Bmmwb7k_.chunk.js} +2 -2
  50. package/dist/scripts/{jNYdSQcK.chunk.js.map → Bmmwb7k_.chunk.js.map} +1 -1
  51. package/dist/scripts/{D3l9DF6j.chunk.js → BqRp5o8i.chunk.js} +2 -2
  52. package/dist/scripts/{D3l9DF6j.chunk.js.map → BqRp5o8i.chunk.js.map} +1 -1
  53. package/dist/scripts/{CwMe9YbU.chunk.js → BsR7WkQ3.chunk.js} +2 -2
  54. package/dist/scripts/{CwMe9YbU.chunk.js.map → BsR7WkQ3.chunk.js.map} +1 -1
  55. package/dist/scripts/{BB4BMfoF.chunk.js → BstEXc3S.chunk.js} +2 -2
  56. package/dist/scripts/{BB4BMfoF.chunk.js.map → BstEXc3S.chunk.js.map} +1 -1
  57. package/dist/scripts/{UKh27rvb.chunk.js → BywIfJt2.chunk.js} +2 -2
  58. package/dist/scripts/{UKh27rvb.chunk.js.map → BywIfJt2.chunk.js.map} +1 -1
  59. package/dist/scripts/{DnnefRY8.chunk.js → C-LPkfPE.chunk.js} +2 -2
  60. package/dist/scripts/{DnnefRY8.chunk.js.map → C-LPkfPE.chunk.js.map} +1 -1
  61. package/dist/scripts/{DTbWcpBu.chunk.js → C1Qw3n1d.chunk.js} +2 -2
  62. package/dist/scripts/{DTbWcpBu.chunk.js.map → C1Qw3n1d.chunk.js.map} +1 -1
  63. package/dist/scripts/{B1T8c6eo.chunk.js → C3mFDLV3.chunk.js} +2 -2
  64. package/dist/scripts/{B1T8c6eo.chunk.js.map → C3mFDLV3.chunk.js.map} +1 -1
  65. package/dist/scripts/{DS5mdrnT.chunk.js → C6fO3h1r.chunk.js} +2 -2
  66. package/dist/scripts/{DS5mdrnT.chunk.js.map → C6fO3h1r.chunk.js.map} +1 -1
  67. package/dist/scripts/{ZQHAaDA4.chunk.js → CCMRIPPt.chunk.js} +2 -2
  68. package/dist/scripts/{ZQHAaDA4.chunk.js.map → CCMRIPPt.chunk.js.map} +1 -1
  69. package/dist/scripts/{BTcJz7pn.chunk.js → CChgvLUa.chunk.js} +2 -2
  70. package/dist/scripts/{BTcJz7pn.chunk.js.map → CChgvLUa.chunk.js.map} +1 -1
  71. package/dist/scripts/{ntpj3L_6.chunk.js → CFW_ZII3.chunk.js} +2 -2
  72. package/dist/scripts/{ntpj3L_6.chunk.js.map → CFW_ZII3.chunk.js.map} +1 -1
  73. package/dist/scripts/{BrnEZwBv.chunk.js → CK--g-b2.chunk.js} +2 -2
  74. package/dist/scripts/{BrnEZwBv.chunk.js.map → CK--g-b2.chunk.js.map} +1 -1
  75. package/dist/scripts/{BUa-w0OB.chunk.js → CLHdZVLk.chunk.js} +2 -2
  76. package/dist/scripts/{BUa-w0OB.chunk.js.map → CLHdZVLk.chunk.js.map} +1 -1
  77. package/dist/scripts/{DZfmH_sm.chunk.js → CPh1-eHt.chunk.js} +2 -2
  78. package/dist/scripts/{DZfmH_sm.chunk.js.map → CPh1-eHt.chunk.js.map} +1 -1
  79. package/dist/scripts/{Do_JksC6.chunk.js → CR5m94hr.chunk.js} +2 -2
  80. package/dist/scripts/{Do_JksC6.chunk.js.map → CR5m94hr.chunk.js.map} +1 -1
  81. package/dist/scripts/{AqddT7uG.chunk.js → CRLSpEeB.chunk.js} +2 -2
  82. package/dist/scripts/{AqddT7uG.chunk.js.map → CRLSpEeB.chunk.js.map} +1 -1
  83. package/dist/scripts/{B12bgIDA.chunk.js → CRucttfI.chunk.js} +2 -2
  84. package/dist/scripts/{B12bgIDA.chunk.js.map → CRucttfI.chunk.js.map} +1 -1
  85. package/dist/scripts/{BQzfQiXW.chunk.js → CShgo4dC.chunk.js} +2 -2
  86. package/dist/scripts/{BQzfQiXW.chunk.js.map → CShgo4dC.chunk.js.map} +1 -1
  87. package/dist/scripts/{ZubgjRBI.chunk.js → CUzXnfFV.chunk.js} +2 -2
  88. package/dist/scripts/{ZubgjRBI.chunk.js.map → CUzXnfFV.chunk.js.map} +1 -1
  89. package/dist/scripts/CYOWjQoo.chunk.js +2 -0
  90. package/dist/scripts/{DtSsOmYM.chunk.js.map → CYOWjQoo.chunk.js.map} +1 -1
  91. package/dist/scripts/{By-zFi71.chunk.js → CfBC-dR0.chunk.js} +2 -2
  92. package/dist/scripts/{By-zFi71.chunk.js.map → CfBC-dR0.chunk.js.map} +1 -1
  93. package/dist/scripts/{CCNNRpT4.chunk.js → CkIeXG6b.chunk.js} +3 -3
  94. package/dist/scripts/{CCNNRpT4.chunk.js.map → CkIeXG6b.chunk.js.map} +1 -1
  95. package/dist/scripts/{dkeoKe44.chunk.js → Cl6iPpcm.chunk.js} +2 -2
  96. package/dist/scripts/{dkeoKe44.chunk.js.map → Cl6iPpcm.chunk.js.map} +1 -1
  97. package/dist/scripts/{C4g2BzSP.chunk.js → ClUsbA9Y.chunk.js} +2 -2
  98. package/dist/scripts/{C4g2BzSP.chunk.js.map → ClUsbA9Y.chunk.js.map} +1 -1
  99. package/dist/scripts/{CqLsOdMW.chunk.js → CmOtOw_r.chunk.js} +2 -2
  100. package/dist/scripts/{CqLsOdMW.chunk.js.map → CmOtOw_r.chunk.js.map} +1 -1
  101. package/dist/scripts/{7kGPLcjV.chunk.js → CnY4exCI.chunk.js} +2 -2
  102. package/dist/scripts/{7kGPLcjV.chunk.js.map → CnY4exCI.chunk.js.map} +1 -1
  103. package/dist/scripts/CsQeMool.chunk.js +2 -0
  104. package/dist/scripts/{Cd3-y22Z.chunk.js.map → CsQeMool.chunk.js.map} +1 -1
  105. package/dist/scripts/CvG9Rmqs.chunk.js +2 -0
  106. package/dist/scripts/{B8wmZM8_.chunk.js.map → CvG9Rmqs.chunk.js.map} +1 -1
  107. package/dist/scripts/{BaT3mEZj.chunk.js → CxC74ItP.chunk.js} +2 -2
  108. package/dist/scripts/{BaT3mEZj.chunk.js.map → CxC74ItP.chunk.js.map} +1 -1
  109. package/dist/scripts/{CNPIxxmg.chunk.js → Cy7IUYF-.chunk.js} +2 -2
  110. package/dist/scripts/{CNPIxxmg.chunk.js.map → Cy7IUYF-.chunk.js.map} +1 -1
  111. package/dist/scripts/{U--YIgy7.chunk.js → D0ez9lcb.chunk.js} +2 -2
  112. package/dist/scripts/{U--YIgy7.chunk.js.map → D0ez9lcb.chunk.js.map} +1 -1
  113. package/dist/scripts/{Be7jUiN-.chunk.js → D4mm5Ivp.chunk.js} +2 -2
  114. package/dist/scripts/{Be7jUiN-.chunk.js.map → D4mm5Ivp.chunk.js.map} +1 -1
  115. package/dist/scripts/{DEle-NIZ.chunk.js → D8qOjT5-.chunk.js} +2 -2
  116. package/dist/scripts/{DEle-NIZ.chunk.js.map → D8qOjT5-.chunk.js.map} +1 -1
  117. package/dist/scripts/{CTRlFXGF.chunk.js → DAQLTaLS.chunk.js} +2 -2
  118. package/dist/scripts/{CTRlFXGF.chunk.js.map → DAQLTaLS.chunk.js.map} +1 -1
  119. package/dist/scripts/{DcF9nran.chunk.js → DBXJjLCV.chunk.js} +2 -2
  120. package/dist/scripts/{DcF9nran.chunk.js.map → DBXJjLCV.chunk.js.map} +1 -1
  121. package/dist/scripts/{rXZnQHdQ.chunk.js → DEZb99RP.chunk.js} +2 -2
  122. package/dist/scripts/{rXZnQHdQ.chunk.js.map → DEZb99RP.chunk.js.map} +1 -1
  123. package/dist/scripts/{WFbXX0u1.chunk.js → DHRuhDvn.chunk.js} +2 -2
  124. package/dist/scripts/{WFbXX0u1.chunk.js.map → DHRuhDvn.chunk.js.map} +1 -1
  125. package/dist/scripts/{B3s6jAFl.chunk.js → DK6DK5bG.chunk.js} +2 -2
  126. package/dist/scripts/{B3s6jAFl.chunk.js.map → DK6DK5bG.chunk.js.map} +1 -1
  127. package/dist/scripts/{B8lGJWZL.chunk.js → DKKFbyeH.chunk.js} +2 -2
  128. package/dist/scripts/{B8lGJWZL.chunk.js.map → DKKFbyeH.chunk.js.map} +1 -1
  129. package/dist/scripts/{4pboFAH2.chunk.js → DOaducO2.chunk.js} +2 -2
  130. package/dist/scripts/{4pboFAH2.chunk.js.map → DOaducO2.chunk.js.map} +1 -1
  131. package/dist/scripts/{tDL65UQp.chunk.js → DOiD6is_.chunk.js} +2 -2
  132. package/dist/scripts/{tDL65UQp.chunk.js.map → DOiD6is_.chunk.js.map} +1 -1
  133. package/dist/scripts/{8ED1-ESq.chunk.js → DTK-qxAt.chunk.js} +2 -2
  134. package/dist/scripts/{8ED1-ESq.chunk.js.map → DTK-qxAt.chunk.js.map} +1 -1
  135. package/dist/scripts/{Dqn_DM3j.chunk.js → DUBTSAcY.chunk.js} +2 -2
  136. package/dist/scripts/{Dqn_DM3j.chunk.js.map → DUBTSAcY.chunk.js.map} +1 -1
  137. package/dist/scripts/{CyDCS7Ld.chunk.js → D_LdmZHS.chunk.js} +2 -2
  138. package/dist/scripts/{CyDCS7Ld.chunk.js.map → D_LdmZHS.chunk.js.map} +1 -1
  139. package/dist/scripts/{p02rVyN7.chunk.js → DclQzF2e.chunk.js} +2 -2
  140. package/dist/scripts/{p02rVyN7.chunk.js.map → DclQzF2e.chunk.js.map} +1 -1
  141. package/dist/scripts/{DcCFRClj.chunk.js → DdtN_4m8.chunk.js} +2 -2
  142. package/dist/scripts/{DcCFRClj.chunk.js.map → DdtN_4m8.chunk.js.map} +1 -1
  143. package/dist/scripts/{CErthkSN.chunk.js → Dl3gfAlJ.chunk.js} +2 -2
  144. package/dist/scripts/{CErthkSN.chunk.js.map → Dl3gfAlJ.chunk.js.map} +1 -1
  145. package/dist/scripts/{DjBZy08c.chunk.js → DmRO_2e4.chunk.js} +2 -2
  146. package/dist/scripts/{DjBZy08c.chunk.js.map → DmRO_2e4.chunk.js.map} +1 -1
  147. package/dist/scripts/{Cvd9v1E1.chunk.js → DmokEdyU.chunk.js} +2 -2
  148. package/dist/scripts/{Cvd9v1E1.chunk.js.map → DmokEdyU.chunk.js.map} +1 -1
  149. package/dist/scripts/DmspKarQ.chunk.js +2 -0
  150. package/dist/scripts/{2CBDy9LJ.chunk.js.map → DmspKarQ.chunk.js.map} +1 -1
  151. package/dist/scripts/{FNG4Y7Lo.chunk.js → Dp5BFZBL.chunk.js} +2 -2
  152. package/dist/scripts/{FNG4Y7Lo.chunk.js.map → Dp5BFZBL.chunk.js.map} +1 -1
  153. package/dist/scripts/{BfXH3uXe.chunk.js → Dq6x6nwc.chunk.js} +2 -2
  154. package/dist/scripts/{BfXH3uXe.chunk.js.map → Dq6x6nwc.chunk.js.map} +1 -1
  155. package/dist/scripts/{B4yjmogh.chunk.js → DqA_gGV1.chunk.js} +2 -2
  156. package/dist/scripts/{B4yjmogh.chunk.js.map → DqA_gGV1.chunk.js.map} +1 -1
  157. package/dist/scripts/{CrO_Xwqt.chunk.js → EuVY33AH.chunk.js} +2 -2
  158. package/dist/scripts/{CrO_Xwqt.chunk.js.map → EuVY33AH.chunk.js.map} +1 -1
  159. package/dist/scripts/{BI-Q7Pp8.chunk.js → Gydr0_mB.chunk.js} +2 -2
  160. package/dist/scripts/{BI-Q7Pp8.chunk.js.map → Gydr0_mB.chunk.js.map} +1 -1
  161. package/dist/scripts/{BSl_jK0D.chunk.js → Gz6brJ7U.chunk.js} +2 -2
  162. package/dist/scripts/{BSl_jK0D.chunk.js.map → Gz6brJ7U.chunk.js.map} +1 -1
  163. package/dist/scripts/{C09aCK-h.chunk.js → LLIxc2ur.chunk.js} +2 -2
  164. package/dist/scripts/{C09aCK-h.chunk.js.map → LLIxc2ur.chunk.js.map} +1 -1
  165. package/dist/scripts/{BtGKm2NN.chunk.js → RTHvayT_.chunk.js} +2 -2
  166. package/dist/scripts/{BtGKm2NN.chunk.js.map → RTHvayT_.chunk.js.map} +1 -1
  167. package/dist/scripts/{BIjZARsn.chunk.js → S3PkirNo.chunk.js} +2 -2
  168. package/dist/scripts/{BIjZARsn.chunk.js.map → S3PkirNo.chunk.js.map} +1 -1
  169. package/dist/scripts/{CPqMEQCO.chunk.js → Ui4fzBVF.chunk.js} +2 -2
  170. package/dist/scripts/{CPqMEQCO.chunk.js.map → Ui4fzBVF.chunk.js.map} +1 -1
  171. package/dist/scripts/{b5m_EArj.chunk.js → aKxmsW8B.chunk.js} +2 -2
  172. package/dist/scripts/{b5m_EArj.chunk.js.map → aKxmsW8B.chunk.js.map} +1 -1
  173. package/dist/scripts/{Bdc13avs.chunk.js → aNB3gltW.chunk.js} +2 -2
  174. package/dist/scripts/{Bdc13avs.chunk.js.map → aNB3gltW.chunk.js.map} +1 -1
  175. package/dist/scripts/{app-C2tLApiH.js → app-BPynVn5M.js} +3 -3
  176. package/dist/scripts/{app-C2tLApiH.js.map → app-BPynVn5M.js.map} +1 -1
  177. package/dist/scripts/{D_MsBVo0.chunk.js → kUEqukPF.chunk.js} +2 -2
  178. package/dist/scripts/{D_MsBVo0.chunk.js.map → kUEqukPF.chunk.js.map} +1 -1
  179. package/dist/scripts/{nRcKatki.chunk.js → lHEf7Dbp.chunk.js} +2 -2
  180. package/dist/scripts/{nRcKatki.chunk.js.map → lHEf7Dbp.chunk.js.map} +1 -1
  181. package/dist/scripts/{CeF-ZKL3.chunk.js → m2GRn15O.chunk.js} +2 -2
  182. package/dist/scripts/{CeF-ZKL3.chunk.js.map → m2GRn15O.chunk.js.map} +1 -1
  183. package/dist/scripts/{CHSGgiBB.chunk.js → wrAdddK5.chunk.js} +2 -2
  184. package/dist/scripts/{CHSGgiBB.chunk.js.map → wrAdddK5.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/0l0N-xl4.chunk.js +0 -2
  187. package/dist/scripts/2CBDy9LJ.chunk.js +0 -2
  188. package/dist/scripts/B8wmZM8_.chunk.js +0 -2
  189. package/dist/scripts/C_l_6pBR.chunk.js +0 -2
  190. package/dist/scripts/Cd3-y22Z.chunk.js +0 -2
  191. package/dist/scripts/CpOQf5WX.chunk.js +0 -2
  192. package/dist/scripts/DADu9kRW.chunk.js +0 -2
  193. package/dist/scripts/DtSsOmYM.chunk.js +0 -2
@@ -1,2 +1,2 @@
1
- import{Z as b,au as u,j as s,aq as y,ar as l}from"./app-C2tLApiH.js";import{L as d}from"./CErthkSN.chunk.js";const k="_image_1himm_1",N="_thumbnail_1himm_13",T="_tallPoster_1himm_16",C="_cover_1himm_19",L="_banner_1himm_22",v="_poster_1himm_25",I="_pdf_1himm_28",j="_link_1himm_31",m={image:k,thumbnail:N,tallPoster:T,cover:C,banner:L,poster:v,pdf:I,link:j};function x(e){let i=m.image,a="";return e.imageType===l.Thumbnails&&(a=`thumbnail ${m.thumbnail}`),e.imageType===l.TallPosters&&(a=m.tallPoster),e.imageType===l.Covers&&(a=m.cover),e.imageType===l.Banners&&(a=m.banner),e.imageType===l.Posters&&(a=m.poster),e.imageType===l.Pdf&&(a=m.pdf),e.imageType===l.Link&&(a=m.link),a&&(i+=` ${a}`),e.className&&(i+=` ${e.className}`),i}function O(e){const{data:i,imageOptions:a,appLink:r,preload:c,preventLoad:o,analyticsOptions:g,analyticsData:_,imageClassName:f,alt:h}=e;let t="";typeof i=="string"?t=i:b.isObject(i)&&(t=i.url);const n=t&&a?u.createUrl(t,a):t;return s.jsx("div",{className:x(e),style:e.imageStyle,children:s.jsxs(y,{appLink:r,analyticsData:_,analyticsOptions:g,onClick:e.onClick,preventFocus:e.preventFocus,className:e.appLinkClassName,children:[e.children,n&&s.jsx(d,{src:n,alt:h,forceLoad:c,preventLoad:o,extraClasses:f,errorFallbackImageSrc:e.errorFallbackImageSrc,errorFallbackImageClassName:e.errorFallbackImageClassName,onLoad:e.onLoad})]})})}export{O as B};
2
- //# sourceMappingURL=DnnefRY8.chunk.js.map
1
+ import{Z as b,au as u,j as s,aq as y,ar as l}from"./app-BPynVn5M.js";import{L as d}from"./Dl3gfAlJ.chunk.js";const k="_image_1himm_1",N="_thumbnail_1himm_13",T="_tallPoster_1himm_16",C="_cover_1himm_19",L="_banner_1himm_22",v="_poster_1himm_25",I="_pdf_1himm_28",j="_link_1himm_31",m={image:k,thumbnail:N,tallPoster:T,cover:C,banner:L,poster:v,pdf:I,link:j};function x(e){let i=m.image,a="";return e.imageType===l.Thumbnails&&(a=`thumbnail ${m.thumbnail}`),e.imageType===l.TallPosters&&(a=m.tallPoster),e.imageType===l.Covers&&(a=m.cover),e.imageType===l.Banners&&(a=m.banner),e.imageType===l.Posters&&(a=m.poster),e.imageType===l.Pdf&&(a=m.pdf),e.imageType===l.Link&&(a=m.link),a&&(i+=` ${a}`),e.className&&(i+=` ${e.className}`),i}function O(e){const{data:i,imageOptions:a,appLink:r,preload:c,preventLoad:o,analyticsOptions:g,analyticsData:_,imageClassName:f,alt:h}=e;let t="";typeof i=="string"?t=i:b.isObject(i)&&(t=i.url);const n=t&&a?u.createUrl(t,a):t;return s.jsx("div",{className:x(e),style:e.imageStyle,children:s.jsxs(y,{appLink:r,analyticsData:_,analyticsOptions:g,onClick:e.onClick,preventFocus:e.preventFocus,className:e.appLinkClassName,children:[e.children,n&&s.jsx(d,{src:n,alt:h,forceLoad:c,preventLoad:o,extraClasses:f,errorFallbackImageSrc:e.errorFallbackImageSrc,errorFallbackImageClassName:e.errorFallbackImageClassName,onLoad:e.onLoad})]})})}export{O as B};
2
+ //# sourceMappingURL=C-LPkfPE.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DnnefRY8.chunk.js","sources":["../../../../libs/shared/src/components/image/BaseImage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { ImageType } from 'libs/shared/enums/Images';\nimport { Image } from 'libs/shared/interfaces';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './image.module.scss';\n\nfunction getImageClassName(props: BaseImageProps): string {\n let className = styles.image;\n\n let imageTypeClassName = '';\n\n if (props.imageType === ImageType.Thumbnails)\n imageTypeClassName = `thumbnail ${styles.thumbnail}`;\n\n if (props.imageType === ImageType.TallPosters)\n imageTypeClassName = styles.tallPoster;\n\n if (props.imageType === ImageType.Covers)\n imageTypeClassName = styles.cover;\n\n if (props.imageType === ImageType.Banners)\n imageTypeClassName = styles.banner;\n\n if (props.imageType === ImageType.Posters)\n imageTypeClassName = styles.poster;\n\n if (props.imageType === ImageType.Pdf)\n imageTypeClassName = styles.pdf;\n\n if (props.imageType === ImageType.Link)\n imageTypeClassName = styles.link;\n\n if (imageTypeClassName)\n className += ` ${imageTypeClassName}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return className;\n}\n\ninterface BaseImageProps {\n data: Image | string;\n imageOptions?: ImageOptions;\n appLink?: Core.AppLink;\n imageType?: ImageType;\n className?: string;\n imageClassName?: string;\n imageStyle?: HashObject;\n preload?: boolean;\n preventLoad?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n errorFallbackImageSrc?: string;\n errorFallbackImageClassName?: string;\n alt?: string;\n preventFocus?: boolean;\n appLinkClassName?: string;\n onClick?: () => void;\n onLoad?: () => void;\n}\n\nexport function BaseImage(props: React.PropsWithChildren<BaseImageProps>): React.ReactElement {\n const {\n data,\n imageOptions,\n appLink,\n preload,\n preventLoad,\n analyticsOptions,\n analyticsData,\n imageClassName,\n alt\n } = props;\n\n let url = '';\n\n if (typeof data === 'string') {\n url = data;\n } else if (ObjectHelper.isObject(data)) {\n url = data.url;\n }\n\n const imageUrl = (url && imageOptions) ? ImageHelper.createUrl(url, imageOptions) : url;\n\n return (\n <div className={getImageClassName(props)} style={props.imageStyle}>\n <AppLink\n appLink={appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n onClick={props.onClick}\n preventFocus={props.preventFocus}\n className={props.appLinkClassName}\n >\n {props.children}\n {imageUrl && (\n <LazyImage\n src={imageUrl}\n alt={alt}\n forceLoad={preload}\n preventLoad={preventLoad}\n extraClasses={imageClassName}\n errorFallbackImageSrc={props.errorFallbackImageSrc}\n errorFallbackImageClassName={props.errorFallbackImageClassName}\n onLoad={props.onLoad}\n />\n )}\n </AppLink>\n </div>\n );\n}\n\n"],"names":["getImageClassName","props","className","styles","imageTypeClassName","ImageType","BaseImage","data","imageOptions","appLink","preload","preventLoad","analyticsOptions","analyticsData","imageClassName","alt","url","ObjectHelper","imageUrl","ImageHelper","jsx","jsxs","AppLink","LazyImage"],"mappings":"sWAeA,SAASA,EAAkBC,EAA+B,CACxD,IAAIC,EAAYC,EAAO,MAEnBC,EAAqB,GAEzB,OAAIH,EAAM,YAAcI,EAAU,aAChCD,EAAqB,aAAaD,EAAO,SAAS,IAEhDF,EAAM,YAAcI,EAAU,cAChCD,EAAqBD,EAAO,YAE1BF,EAAM,YAAcI,EAAU,SAChCD,EAAqBD,EAAO,OAE1BF,EAAM,YAAcI,EAAU,UAChCD,EAAqBD,EAAO,QAE1BF,EAAM,YAAcI,EAAU,UAChCD,EAAqBD,EAAO,QAE1BF,EAAM,YAAcI,EAAU,MAChCD,EAAqBD,EAAO,KAE1BF,EAAM,YAAcI,EAAU,OAChCD,EAAqBD,EAAO,MAE1BC,IACFF,GAAa,IAAIE,CAAkB,IAEjCH,EAAM,YACRC,GAAa,IAAID,EAAM,SAAS,IAE3BC,CACT,CAuBO,SAASI,EAAUL,EAAoE,CAC5F,KAAM,CACJ,KAAAM,EACA,aAAAC,EACA,QAAAC,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,eAAAC,EACA,IAAAC,CAAA,EACEd,EAEJ,IAAIe,EAAM,GAEN,OAAOT,GAAS,SAClBS,EAAMT,EACGU,EAAa,SAASV,CAAI,IACnCS,EAAMT,EAAK,KAGb,MAAMW,EAAYF,GAAOR,EAAgBW,EAAY,UAAUH,EAAKR,CAAY,EAAIQ,EAEpF,OACEI,MAAC,OAAI,UAAWpB,EAAkBC,CAAK,EAAG,MAAOA,EAAM,WACrD,SAAAoB,EAAAA,KAACC,EAAA,CACC,QAAAb,EACA,cAAAI,EACA,iBAAAD,EACA,QAASX,EAAM,QACf,aAAcA,EAAM,aACpB,UAAWA,EAAM,iBAEhB,SAAA,CAAAA,EAAM,SACNiB,GACCE,EAAAA,IAACG,EAAA,CACC,IAAKL,EACL,IAAAH,EACA,UAAWL,EACX,YAAAC,EACA,aAAcG,EACd,sBAAuBb,EAAM,sBAC7B,4BAA6BA,EAAM,4BACnC,OAAQA,EAAM,MAAA,CAAA,CAChB,CAAA,CAAA,EAGN,CAEJ"}
1
+ {"version":3,"file":"C-LPkfPE.chunk.js","sources":["../../../../libs/shared/src/components/image/BaseImage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { ImageType } from 'libs/shared/enums/Images';\nimport { Image } from 'libs/shared/interfaces';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './image.module.scss';\n\nfunction getImageClassName(props: BaseImageProps): string {\n let className = styles.image;\n\n let imageTypeClassName = '';\n\n if (props.imageType === ImageType.Thumbnails)\n imageTypeClassName = `thumbnail ${styles.thumbnail}`;\n\n if (props.imageType === ImageType.TallPosters)\n imageTypeClassName = styles.tallPoster;\n\n if (props.imageType === ImageType.Covers)\n imageTypeClassName = styles.cover;\n\n if (props.imageType === ImageType.Banners)\n imageTypeClassName = styles.banner;\n\n if (props.imageType === ImageType.Posters)\n imageTypeClassName = styles.poster;\n\n if (props.imageType === ImageType.Pdf)\n imageTypeClassName = styles.pdf;\n\n if (props.imageType === ImageType.Link)\n imageTypeClassName = styles.link;\n\n if (imageTypeClassName)\n className += ` ${imageTypeClassName}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return className;\n}\n\ninterface BaseImageProps {\n data: Image | string;\n imageOptions?: ImageOptions;\n appLink?: Core.AppLink;\n imageType?: ImageType;\n className?: string;\n imageClassName?: string;\n imageStyle?: HashObject;\n preload?: boolean;\n preventLoad?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n errorFallbackImageSrc?: string;\n errorFallbackImageClassName?: string;\n alt?: string;\n preventFocus?: boolean;\n appLinkClassName?: string;\n onClick?: () => void;\n onLoad?: () => void;\n}\n\nexport function BaseImage(props: React.PropsWithChildren<BaseImageProps>): React.ReactElement {\n const {\n data,\n imageOptions,\n appLink,\n preload,\n preventLoad,\n analyticsOptions,\n analyticsData,\n imageClassName,\n alt\n } = props;\n\n let url = '';\n\n if (typeof data === 'string') {\n url = data;\n } else if (ObjectHelper.isObject(data)) {\n url = data.url;\n }\n\n const imageUrl = (url && imageOptions) ? ImageHelper.createUrl(url, imageOptions) : url;\n\n return (\n <div className={getImageClassName(props)} style={props.imageStyle}>\n <AppLink\n appLink={appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n onClick={props.onClick}\n preventFocus={props.preventFocus}\n className={props.appLinkClassName}\n >\n {props.children}\n {imageUrl && (\n <LazyImage\n src={imageUrl}\n alt={alt}\n forceLoad={preload}\n preventLoad={preventLoad}\n extraClasses={imageClassName}\n errorFallbackImageSrc={props.errorFallbackImageSrc}\n errorFallbackImageClassName={props.errorFallbackImageClassName}\n onLoad={props.onLoad}\n />\n )}\n </AppLink>\n </div>\n );\n}\n\n"],"names":["getImageClassName","props","className","styles","imageTypeClassName","ImageType","BaseImage","data","imageOptions","appLink","preload","preventLoad","analyticsOptions","analyticsData","imageClassName","alt","url","ObjectHelper","imageUrl","ImageHelper","jsx","jsxs","AppLink","LazyImage"],"mappings":"sWAeA,SAASA,EAAkBC,EAA+B,CACxD,IAAIC,EAAYC,EAAO,MAEnBC,EAAqB,GAEzB,OAAIH,EAAM,YAAcI,EAAU,aAChCD,EAAqB,aAAaD,EAAO,SAAS,IAEhDF,EAAM,YAAcI,EAAU,cAChCD,EAAqBD,EAAO,YAE1BF,EAAM,YAAcI,EAAU,SAChCD,EAAqBD,EAAO,OAE1BF,EAAM,YAAcI,EAAU,UAChCD,EAAqBD,EAAO,QAE1BF,EAAM,YAAcI,EAAU,UAChCD,EAAqBD,EAAO,QAE1BF,EAAM,YAAcI,EAAU,MAChCD,EAAqBD,EAAO,KAE1BF,EAAM,YAAcI,EAAU,OAChCD,EAAqBD,EAAO,MAE1BC,IACFF,GAAa,IAAIE,CAAkB,IAEjCH,EAAM,YACRC,GAAa,IAAID,EAAM,SAAS,IAE3BC,CACT,CAuBO,SAASI,EAAUL,EAAoE,CAC5F,KAAM,CACJ,KAAAM,EACA,aAAAC,EACA,QAAAC,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,eAAAC,EACA,IAAAC,CAAA,EACEd,EAEJ,IAAIe,EAAM,GAEN,OAAOT,GAAS,SAClBS,EAAMT,EACGU,EAAa,SAASV,CAAI,IACnCS,EAAMT,EAAK,KAGb,MAAMW,EAAYF,GAAOR,EAAgBW,EAAY,UAAUH,EAAKR,CAAY,EAAIQ,EAEpF,OACEI,MAAC,OAAI,UAAWpB,EAAkBC,CAAK,EAAG,MAAOA,EAAM,WACrD,SAAAoB,EAAAA,KAACC,EAAA,CACC,QAAAb,EACA,cAAAI,EACA,iBAAAD,EACA,QAASX,EAAM,QACf,aAAcA,EAAM,aACpB,UAAWA,EAAM,iBAEhB,SAAA,CAAAA,EAAM,SACNiB,GACCE,EAAAA,IAACG,EAAA,CACC,IAAKL,EACL,IAAAH,EACA,UAAWL,EACX,YAAAC,EACA,aAAcG,EACd,sBAAuBb,EAAM,sBAC7B,4BAA6BA,EAAM,4BACnC,OAAQA,EAAM,MAAA,CAAA,CAChB,CAAA,CAAA,EAGN,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e,ak as q,al as x,am as P,B as y,R as E,aB as S,a as N,b as B,ar as V,aq as I,aj as M,a3 as b,aU as O,l as D,ad as U,ae as W}from"./app-C2tLApiH.js";import{F,S as $}from"./CBbVIYIX.chunk.js";import{u as G,I as Q,P as Z}from"./Co_iS0bj.chunk.js";import{h as w}from"./7kGPLcjV.chunk.js";import{u as z}from"./BQzfQiXW.chunk.js";import{u as J}from"./DtSsOmYM.chunk.js";import{T as K,a as X}from"./CG9hOZ8J.chunk.js";import{T as f}from"./4pboFAH2.chunk.js";import{u as Y}from"./ZQHAaDA4.chunk.js";import{u as ee}from"./DADu9kRW.chunk.js";import{u as te}from"./D3ZScl6b.chunk.js";import{A as ae}from"./BIjZARsn.chunk.js";import{B as se,a as re}from"./BB4BMfoF.chunk.js";import{B as ie}from"./Da5Jh4ka.chunk.js";import{B as ne}from"./DnnefRY8.chunk.js";import{I as oe,a as le}from"./BDJ3lqh6.chunk.js";import{T as me}from"./BTcJz7pn.chunk.js";import{T as ce}from"./B8lGJWZL.chunk.js";import{T as de}from"./DcF9nran.chunk.js";import{t as A}from"./B4yjmogh.chunk.js";import"./B1T8c6eo.chunk.js";import"./Cvd9v1E1.chunk.js";import"./B12bgIDA.chunk.js";import"./Kj832An8.chunk.js";import"./U--YIgy7.chunk.js";import"./D3l9DF6j.chunk.js";import"./CL_sQPNd.chunk.js";import"./IqKMNgAo.chunk.js";import"./b5m_EArj.chunk.js";import"./CErthkSN.chunk.js";import"./_sYSSSUN.chunk.js";import"./BSl_jK0D.chunk.js";import"./jNYdSQcK.chunk.js";import"./BlDVEZsX.chunk.js";import"./Bdc13avs.chunk.js";const pe="tv.searchResultsEmptyState";function he(i){return e.jsx(q.Provider,{value:pe,children:e.jsxs(x,{children:[e.jsx(x.Image,{src:P.EmptyStates.SEARCH}),e.jsx(x.Heading,{children:i.query?e.jsx(y,{phrase:"headingWithQuery",options:{query:i.query}}):e.jsx(y,{phrase:"headingWithoutQuery"})}),e.jsx(x.Info,{children:e.jsx(y,{phrase:"info"})})]})})}const ue="_highlight_107l1_1",ge="_badgeOverlay_107l1_8",H={highlight:ue,badgeOverlay:ge};function R(i,t){const r=new RegExp(t,"gi");return i.replace(r,c=>`<span class=${H.highlight}>${c}</span>`)}function xe(i){var l,g,p;const{program:t,query:r,region:c,getVideoActions:j}=i,[a,d]=E.useState(!1),n={application:B.TV,action:N.Tv.PREVIEW,args:[c.code,t.id]},u=A(t.startTime,t.timeZone),o=A(t.stopTime,t.timeZone),T=Math.abs(S.diffBetween(u,o,"milliseconds"));return e.jsxs("div",{className:"row gx-3 mb-3",children:[e.jsx("div",{className:"col-3 flex-column align-items-flex-start pe-2",children:e.jsx("div",{className:"rounded rounded-3 overflow-hidden",children:e.jsxs(ne,{imageType:V.Thumbnails,data:t.thumbnailUrl,appLink:n,children:[e.jsx(oe,{type:le.Video}),e.jsx("div",{className:H.badgeOverlay,children:e.jsx(se,{type:re.DurationApproximate,data:T})})]})})}),e.jsxs("div",{className:"col-9 pb-2",children:[e.jsx(ae,{actions:j(t),className:"float-end mt-n1",actionsDropdownClassName:"btn btn-link ms-1"}),e.jsx(I,{appLink:n,children:e.jsx("h5",{className:"h4 mb-1 align-middle text-dark text-truncate",title:t.title??"",children:e.jsx("span",{dangerouslySetInnerHTML:{__html:R(t.title,r)}})})}),e.jsxs(ie,{className:"mb-1",children:[t.channelLogoUrl&&e.jsx(ce,{logoUrl:t.channelLogoUrl,className:"me-1",small:!0}),e.jsx(de,{program:t,className:"me-1",showDate:!0,showEndTime:!0}),t.hasAdsFree&&e.jsx(me,{small:!0})]}),e.jsx("div",{className:"mb-1",children:e.jsx("span",{dangerouslySetInnerHTML:{__html:R(t.description,r)}})}),!!((l=t.subtitleHits)!=null&&l.length)&&e.jsxs("div",{children:[(g=t.subtitleHits)==null?void 0:g.map(((m,h)=>!a&&h>1?e.jsx(E.Fragment,{},h):e.jsxs(I,{appLink:{...n,args:[...n.args],params:{currentTime:m.hitStartTime/1e3}},className:"d-block text-dark",children:[e.jsxs("span",{className:"fw-semibold",children:["[",S.format(S.add(u,m.hitStartTime,"milliseconds"),"h:mm:ss a"),"]"]})," ",e.jsx("span",{dangerouslySetInnerHTML:{__html:R(m.srtFragment,r)}})]},h))),!a&&((p=t.subtitleHits)==null?void 0:p.length)>2&&e.jsx("div",{className:"text-info cursor-pointer",onClick:()=>d(!0),children:"Show more"})]})]})]})}fe.defaultProps={queryParams:{}};function fe(i){var L;const{queryParams:t}=i,{query:r}=t,c=M(),j=z(),a=b(f.region(i.region)),d=b(f.regions()),n=b(a.data&&f.channels(a.data.code));a.hasCompleted&&!a.data&&w(O.BadRequest);const{setRegion:u}=te();ee(a),J([d,n]),D({title:r??""});const{items:o,hasMore:T,isFetching:l,nextCursor:g}=G(a.data&&p,m,h,s=>s.results,s=>s.page*25>s.totalNumber?null:(s.page+1).toString());function p(s){return f.search(a.data.code,t,+s)}function m(s){return c(p(s))}function h(s,v){if(s===1)return w(v);j.error("Something went wrong")}const k=Y("video-list",a.data),C=a.hasCompleted&&d.hasCompleted&&n.hasCompleted,_=[F.TvChannel(n.data),F.TvDateBroadcast(),F.TvFields()];return e.jsxs(e.Fragment,{children:[e.jsx(K,{query:r,region:a.data}),e.jsxs("div",{className:"d-flex justify-content-between mb-2",children:[e.jsx($,{queryParams:t,mainFilters:_,analyticsOptions:{entity:W.SearchResults,location:U.SearchFilters},appLink:{application:B.TV,action:N.Tv.SEARCH,args:[(L=a.data)==null?void 0:L.code]},hideDivider:!0,isFetchingOptions:!C}),e.jsx(X,{currentRegion:a.data,regions:d.data,appLink:{application:B.TV,action:N.Tv.SEARCH,params:{query:r}},onClick:u})]}),C&&e.jsx(e.Fragment,{children:o!=null&&o.length?e.jsxs(e.Fragment,{children:[o.map((s,v)=>e.jsx(xe,{program:s,query:r,region:a.data,getVideoActions:k},v)),(T||l)&&e.jsx(Q,{isFetching:l,fetchNext:m,nextCursor:g})]}):e.jsx(e.Fragment,{children:l?e.jsx("div",{className:"m-n2",children:e.jsx(Z,{})}):e.jsx(he,{query:r})})})]})}export{fe as TvSearchResultsView};
2
- //# sourceMappingURL=DTbWcpBu.chunk.js.map
1
+ import{j as e,ak as q,al as x,am as P,B as y,R as E,aB as S,a as N,b as B,ar as V,aq as I,aj as M,a3 as b,aU as O,l as D,ad as U,ae as W}from"./app-BPynVn5M.js";import{F,S as $}from"./B83zQU6s.chunk.js";import{u as G,I as Q,P as Z}from"./6a3imca3.chunk.js";import{h as w}from"./CnY4exCI.chunk.js";import{u as z}from"./CShgo4dC.chunk.js";import{u as J}from"./CYOWjQoo.chunk.js";import{T as K,a as X}from"./BdNTkb7P.chunk.js";import{T as f}from"./DOaducO2.chunk.js";import{u as Y}from"./CCMRIPPt.chunk.js";import{u as ee}from"./B6lOCBlR.chunk.js";import{u as te}from"./BKjwB_St.chunk.js";import{A as ae}from"./S3PkirNo.chunk.js";import{B as se,a as re}from"./BstEXc3S.chunk.js";import{B as ie}from"./B2N_hio2.chunk.js";import{B as ne}from"./C-LPkfPE.chunk.js";import{I as oe,a as le}from"./B2noU3Ys.chunk.js";import{T as me}from"./CChgvLUa.chunk.js";import{T as ce}from"./DKKFbyeH.chunk.js";import{T as de}from"./DBXJjLCV.chunk.js";import{t as A}from"./DqA_gGV1.chunk.js";import"./C3mFDLV3.chunk.js";import"./DmokEdyU.chunk.js";import"./CRucttfI.chunk.js";import"./Kj832An8.chunk.js";import"./D0ez9lcb.chunk.js";import"./BqRp5o8i.chunk.js";import"./BEGjWnPj.chunk.js";import"./An2pqf2H.chunk.js";import"./aKxmsW8B.chunk.js";import"./Dl3gfAlJ.chunk.js";import"./_sYSSSUN.chunk.js";import"./Gz6brJ7U.chunk.js";import"./Bmmwb7k_.chunk.js";import"./BlDVEZsX.chunk.js";import"./aNB3gltW.chunk.js";const pe="tv.searchResultsEmptyState";function he(i){return e.jsx(q.Provider,{value:pe,children:e.jsxs(x,{children:[e.jsx(x.Image,{src:P.EmptyStates.SEARCH}),e.jsx(x.Heading,{children:i.query?e.jsx(y,{phrase:"headingWithQuery",options:{query:i.query}}):e.jsx(y,{phrase:"headingWithoutQuery"})}),e.jsx(x.Info,{children:e.jsx(y,{phrase:"info"})})]})})}const ue="_highlight_107l1_1",ge="_badgeOverlay_107l1_8",H={highlight:ue,badgeOverlay:ge};function R(i,t){const r=new RegExp(t,"gi");return i.replace(r,c=>`<span class=${H.highlight}>${c}</span>`)}function xe(i){var l,g,p;const{program:t,query:r,region:c,getVideoActions:j}=i,[a,d]=E.useState(!1),n={application:B.TV,action:N.Tv.PREVIEW,args:[c.code,t.id]},u=A(t.startTime,t.timeZone),o=A(t.stopTime,t.timeZone),T=Math.abs(S.diffBetween(u,o,"milliseconds"));return e.jsxs("div",{className:"row gx-3 mb-3",children:[e.jsx("div",{className:"col-3 flex-column align-items-flex-start pe-2",children:e.jsx("div",{className:"rounded rounded-3 overflow-hidden",children:e.jsxs(ne,{imageType:V.Thumbnails,data:t.thumbnailUrl,appLink:n,children:[e.jsx(oe,{type:le.Video}),e.jsx("div",{className:H.badgeOverlay,children:e.jsx(se,{type:re.DurationApproximate,data:T})})]})})}),e.jsxs("div",{className:"col-9 pb-2",children:[e.jsx(ae,{actions:j(t),className:"float-end mt-n1",actionsDropdownClassName:"btn btn-link ms-1"}),e.jsx(I,{appLink:n,children:e.jsx("h5",{className:"h4 mb-1 align-middle text-dark text-truncate",title:t.title??"",children:e.jsx("span",{dangerouslySetInnerHTML:{__html:R(t.title,r)}})})}),e.jsxs(ie,{className:"mb-1",children:[t.channelLogoUrl&&e.jsx(ce,{logoUrl:t.channelLogoUrl,className:"me-1",small:!0}),e.jsx(de,{program:t,className:"me-1",showDate:!0,showEndTime:!0}),t.hasAdsFree&&e.jsx(me,{small:!0})]}),e.jsx("div",{className:"mb-1",children:e.jsx("span",{dangerouslySetInnerHTML:{__html:R(t.description,r)}})}),!!((l=t.subtitleHits)!=null&&l.length)&&e.jsxs("div",{children:[(g=t.subtitleHits)==null?void 0:g.map(((m,h)=>!a&&h>1?e.jsx(E.Fragment,{},h):e.jsxs(I,{appLink:{...n,args:[...n.args],params:{currentTime:m.hitStartTime/1e3}},className:"d-block text-dark",children:[e.jsxs("span",{className:"fw-semibold",children:["[",S.format(S.add(u,m.hitStartTime,"milliseconds"),"h:mm:ss a"),"]"]})," ",e.jsx("span",{dangerouslySetInnerHTML:{__html:R(m.srtFragment,r)}})]},h))),!a&&((p=t.subtitleHits)==null?void 0:p.length)>2&&e.jsx("div",{className:"text-info cursor-pointer",onClick:()=>d(!0),children:"Show more"})]})]})]})}fe.defaultProps={queryParams:{}};function fe(i){var L;const{queryParams:t}=i,{query:r}=t,c=M(),j=z(),a=b(f.region(i.region)),d=b(f.regions()),n=b(a.data&&f.channels(a.data.code));a.hasCompleted&&!a.data&&w(O.BadRequest);const{setRegion:u}=te();ee(a),J([d,n]),D({title:r??""});const{items:o,hasMore:T,isFetching:l,nextCursor:g}=G(a.data&&p,m,h,s=>s.results,s=>s.page*25>s.totalNumber?null:(s.page+1).toString());function p(s){return f.search(a.data.code,t,+s)}function m(s){return c(p(s))}function h(s,v){if(s===1)return w(v);j.error("Something went wrong")}const k=Y("video-list",a.data),C=a.hasCompleted&&d.hasCompleted&&n.hasCompleted,_=[F.TvChannel(n.data),F.TvDateBroadcast(),F.TvFields()];return e.jsxs(e.Fragment,{children:[e.jsx(K,{query:r,region:a.data}),e.jsxs("div",{className:"d-flex justify-content-between mb-2",children:[e.jsx($,{queryParams:t,mainFilters:_,analyticsOptions:{entity:W.SearchResults,location:U.SearchFilters},appLink:{application:B.TV,action:N.Tv.SEARCH,args:[(L=a.data)==null?void 0:L.code]},hideDivider:!0,isFetchingOptions:!C}),e.jsx(X,{currentRegion:a.data,regions:d.data,appLink:{application:B.TV,action:N.Tv.SEARCH,params:{query:r}},onClick:u})]}),C&&e.jsx(e.Fragment,{children:o!=null&&o.length?e.jsxs(e.Fragment,{children:[o.map((s,v)=>e.jsx(xe,{program:s,query:r,region:a.data,getVideoActions:k},v)),(T||l)&&e.jsx(Q,{isFetching:l,fetchNext:m,nextCursor:g})]}):e.jsx(e.Fragment,{children:l?e.jsx("div",{className:"m-n2",children:e.jsx(Z,{})}):e.jsx(he,{query:r})})})]})}export{fe as TvSearchResultsView};
2
+ //# sourceMappingURL=C1Qw3n1d.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DTbWcpBu.chunk.js","sources":["../../src/apps/tv/views/tv-search-results/empty-state/TvSearchEmptyState.tsx","../../src/apps/tv/views/tv-search-results/components/tv-search-result-item/TvSearchResultItem.tsx","../../src/apps/tv/views/tv-search-results/TvSearchResultsView.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\n\nconst namespace = 'tv.searchResultsEmptyState';\n\ninterface TvSearchResultsStateProps {\n query?: string;\n}\n\nexport function TvSearchResultsState(props: TvSearchResultsStateProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.SEARCH} />\n\n <EmptyState.Heading>\n {props.query\n ? <Text phrase='headingWithQuery' options={{ query: props.query }} />\n : <Text phrase='headingWithoutQuery' />\n }\n </EmptyState.Heading>\n\n <EmptyState.Info>\n <Text phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ActionOptions, Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageType } from 'libs/shared/enums/Images';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvAdFreeBadge } from 'apps/tv/components/tv-ad-free-badge/TvAdFreeBadge';\nimport { TvChannelBadge } from 'apps/tv/components/tv-channel-badge/TvChannelBadge';\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { TvSearchResult } from 'apps/tv/interfaces/models/TvSearchResult';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-search-result-item.module.scss';\n\nfunction highlightText(text: string, query: string): string {\n const regex = new RegExp(query, 'gi');\n return text.replace(regex, match => `<span class=${styles.highlight}>${match}</span>`);\n}\n\ninterface TvSearchResultItemProps {\n query: string;\n program: TvSearchResult;\n region: TvRegion;\n getVideoActions: (video: TvProgram) => ActionOptions[];\n}\n\nexport function TvSearchResultItem(props: TvSearchResultItemProps): JSX.Element {\n const { program, query, region, getVideoActions } = props;\n\n const [ showMore, setShowMore ] = React.useState(false);\n\n const appLink = {\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ region.code, program.id ]\n };\n\n const startTime = toLocalTime(program.startTime, program.timeZone);\n const stopTime = toLocalTime(program.stopTime, program.timeZone);\n const diff = Math.abs(DateHelper.diffBetween(startTime, stopTime, 'milliseconds'));\n\n return (\n <div className='row gx-3 mb-3'>\n <div className='col-3 flex-column align-items-flex-start pe-2'>\n <div className='rounded rounded-3 overflow-hidden'>\n <BaseImage\n imageType={ImageType.Thumbnails}\n data={program.thumbnailUrl}\n appLink={appLink}\n >\n <ImageFallback type={ImageFallbackType.Video} />\n\n <div className={styles.badgeOverlay}>\n <Badge\n type={BadgeType.DurationApproximate}\n data={diff}\n />\n </div>\n </BaseImage>\n </div>\n </div>\n <div className='col-9 pb-2'>\n <ActionsComponent\n actions={getVideoActions(program as TvProgram)}\n className='float-end mt-n1'\n actionsDropdownClassName='btn btn-link ms-1'\n />\n <AppLink appLink={appLink}>\n <h5 className='h4 mb-1 align-middle text-dark text-truncate' title={program.title ?? ''}>\n <span dangerouslySetInnerHTML={{\n __html: highlightText(program.title, query)\n }}></span>\n </h5>\n </AppLink>\n <BadgeListContainer className='mb-1'>\n {program.channelLogoUrl && <TvChannelBadge logoUrl={program.channelLogoUrl} className='me-1' small />}\n <TvProgramTimeBadge program={program as TvProgram} className='me-1' showDate showEndTime />\n {program.hasAdsFree && <TvAdFreeBadge small />}\n </BadgeListContainer>\n <div className='mb-1'>\n <span dangerouslySetInnerHTML={{\n __html: highlightText(program.description, query)\n }}></span>\n </div>\n {!!program.subtitleHits?.length &&\n <div>\n {program.subtitleHits?.map(((hit, index) => {\n if (!showMore && index > 1)\n return <React.Fragment key={index} />;\n\n return (\n <AppLink\n key={index}\n appLink={{\n ...appLink,\n args: [...appLink.args],\n params: {\n currentTime: hit.hitStartTime / 1000\n }\n }}\n className='d-block text-dark'\n >\n <span className='fw-semibold'>\n [{DateHelper.format(DateHelper.add(startTime, hit.hitStartTime, 'milliseconds'), 'h:mm:ss a')}]\n </span>\n &nbsp;\n <span dangerouslySetInnerHTML={{\n __html: highlightText(hit.srtFragment, query)\n }}></span>\n </AppLink>\n );\n }))}\n {!showMore && program.subtitleHits?.length > 2 && <div className='text-info cursor-pointer' onClick={() => setShowMore(true)}>Show more</div>}\n </div>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useGetTvActions } from 'apps/tv/hooks/useGetTvActions';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { TvSearchResult } from 'apps/tv/interfaces/models/TvSearchResult';\nimport { TvSearchResponse } from 'apps/tv/interfaces/responses/TvSearchResponse';\nimport { TvSearchResultsState } from 'apps/tv/views/tv-search-results/empty-state/TvSearchEmptyState';\n\nimport { TvSearchResultItem } from './components/tv-search-result-item/TvSearchResultItem';\n\ninterface TvSearchResultsViewProps {\n region: string;\n queryParams: HashObject;\n}\n\nTvSearchResultsView.defaultProps = {\n queryParams: {}\n};\n\nexport function TvSearchResultsView(props: TvSearchResultsViewProps): JSX.Element {\n const { queryParams } = props;\n const { query } = queryParams;\n\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(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 if (region.hasCompleted && !region.data) {\n handleHttpError(HttpStatus.BadRequest);\n }\n\n const { setRegion } = useSelectedRegion();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: query ?? '' });\n\n const {\n items: programs,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<TvSearchResult, TvSearchResponse>(\n region.data && getRequest,\n fetchNext,\n onError,\n response => response.results,\n response => {\n if (response.page * 25 > response.totalNumber)\n return null;\n\n return (response.page + 1).toString();\n }\n );\n\n function getRequest(cursor?: string): Flight.Request {\n return TvRequests.search(\n region.data.code,\n queryParams,\n +cursor\n );\n }\n\n function fetchNext(cursor?: string): void {\n return fetch(getRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error('Something went wrong');\n }\n\n const getVideoActions = useGetTvActions('video-list', region.data);\n\n const dataLoaded = region.hasCompleted && regions.hasCompleted && channels.hasCompleted;\n\n const mainFilters = [\n Filters.TvChannel(channels.data),\n Filters.TvDateBroadcast(),\n Filters.TvFields()\n ];\n\n return (\n <>\n <TvSearchBar query={query} region={region.data} />\n\n <div className='d-flex justify-content-between mb-2'>\n <SearchFilters\n queryParams={queryParams}\n mainFilters={mainFilters}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.SearchFilters\n }}\n appLink={{ application: AppChannels.TV, action: Actions.Tv.SEARCH, args: [region.data?.code]}}\n hideDivider\n isFetchingOptions={!dataLoaded}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.SEARCH,\n params: { query: query }\n }}\n onClick={setRegion}\n />\n </div>\n\n {dataLoaded && (\n <>\n {programs?.length ? (\n <>\n {programs.map((program, index) => {\n return (\n <TvSearchResultItem\n key={index}\n program={program}\n query={query}\n region={region.data}\n getVideoActions={getVideoActions}\n />\n );\n })}\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n />\n )}\n </>\n ) : (\n <>\n {isFetching ? (\n <div className='m-n2'>\n <PartialVideoList />\n </div>\n ) : <TvSearchResultsState query={query} />}\n </>\n )}\n </>\n )}\n </>\n );\n}"],"names":["namespace","TvSearchResultsState","props","LanguageNamespaceContext","EmptyState","jsx","ImageUrls","Text","highlightText","text","query","regex","match","styles","TvSearchResultItem","program","region","getVideoActions","showMore","setShowMore","React","appLink","AppChannels","Actions","startTime","toLocalTime","stopTime","diff","DateHelper","jsxs","BaseImage","ImageType","ImageFallback","ImageFallbackType","Badge","BadgeType","ActionsComponent","AppLink","BadgeListContainer","TvChannelBadge","TvProgramTimeBadge","TvAdFreeBadge","_a","_b","hit","index","_c","TvSearchResultsView","queryParams","fetch","Flight.useGetFetch","alerts","useAlerts","Flight.useBasicFetch","TvRequests","regions","channels","handleHttpError","HttpStatus","setRegion","useSelectedRegion","useHandleRegionError","useHandleObjectError","useSetPageMetadata","programs","hasMore","isFetching","nextCursor","useInfiniteList","getRequest","fetchNext","onError","response","cursor","pageNumber","httpStatus","useGetTvActions","dataLoaded","mainFilters","Filters","Fragment","TvSearchBar","SearchFilters","EntityType","LocationContext","TvRegionSelect","InfiniteScrollFooter","PartialVideoList"],"mappings":"82CAQA,MAAMA,GAAY,6BAMX,SAASC,GAAqBC,EAA+C,CAClF,aACGC,EAAyB,SAAzB,CAAkC,MAAOH,GACxC,gBAACI,EAAA,CACC,SAAA,CAAAC,EAAAA,IAACD,EAAW,MAAX,CAAiB,IAAKE,EAAU,YAAY,OAAQ,EAErDD,EAAAA,IAACD,EAAW,QAAX,CACE,WAAM,MACHC,MAACE,GAAK,OAAO,mBAAmB,QAAS,CAAE,MAAOL,EAAM,KAAA,EAAS,EACjEG,MAACE,EAAA,CAAK,OAAO,qBAAA,CAAsB,CAAA,CAEzC,EAEAF,MAACD,EAAW,KAAX,CACC,eAACG,EAAA,CAAK,OAAO,OAAO,CAAA,CACtB,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,2FCRA,SAASC,EAAcC,EAAcC,EAAuB,CAC1D,MAAMC,EAAQ,IAAI,OAAOD,EAAO,IAAI,EACpC,OAAOD,EAAK,QAAQE,EAAOC,GAAS,eAAeC,EAAO,SAAS,IAAID,CAAK,SAAS,CACvF,CASO,SAASE,GAAmBZ,EAA6C,WAC9E,KAAM,CAAE,QAAAa,EAAS,MAAAL,EAAO,OAAAM,EAAQ,gBAAAC,GAAoBf,EAE9C,CAAEgB,EAAUC,CAAY,EAAIC,EAAM,SAAS,EAAK,EAEhDC,EAAU,CACd,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,QACnB,KAAM,CAAEP,EAAO,KAAMD,EAAQ,EAAG,CAAA,EAG5BS,EAAYC,EAAYV,EAAQ,UAAWA,EAAQ,QAAQ,EAC3DW,EAAWD,EAAYV,EAAQ,SAAUA,EAAQ,QAAQ,EACzDY,EAAO,KAAK,IAAIC,EAAW,YAAYJ,EAAWE,EAAU,cAAc,CAAC,EAEjF,OACEG,EAAAA,KAAC,MAAA,CAAI,UAAU,gBACb,SAAA,CAAAxB,EAAAA,IAAC,OAAI,UAAU,gDACb,SAAAA,MAAC,MAAA,CAAI,UAAU,oCACb,SAAAwB,EAAAA,KAACC,GAAA,CACC,UAAWC,EAAU,WACrB,KAAMhB,EAAQ,aACd,QAAAM,EAEA,SAAA,CAAAhB,EAAAA,IAAC2B,GAAA,CAAc,KAAMC,GAAkB,KAAA,CAAO,EAE9C5B,EAAAA,IAAC,MAAA,CAAI,UAAWQ,EAAO,aACrB,SAAAR,EAAAA,IAAC6B,GAAA,CACC,KAAMC,GAAU,oBAChB,KAAMR,CAAA,CAAA,CACR,CACF,CAAA,CAAA,CAAA,EAEJ,CAAA,CACF,EACAE,EAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAxB,EAAAA,IAAC+B,GAAA,CACC,QAASnB,EAAgBF,CAAoB,EAC7C,UAAU,kBACV,yBAAyB,mBAAA,CAAA,EAE3BV,EAAAA,IAACgC,EAAA,CAAQ,QAAAhB,EACP,SAAAhB,MAAC,KAAA,CAAG,UAAU,+CAA+C,MAAOU,EAAQ,OAAS,GACnF,SAAAV,MAAC,QAAK,wBAAyB,CAC7B,OAAQG,EAAcO,EAAQ,MAAOL,CAAK,CAAA,CAC5C,CAAG,EACL,EACF,EACAmB,EAAAA,KAACS,GAAA,CAAmB,UAAU,OAC3B,SAAA,CAAAvB,EAAQ,sBAAmBwB,GAAA,CAAe,QAASxB,EAAQ,eAAgB,UAAU,OAAO,MAAK,EAAA,CAAC,EACnGV,MAACmC,IAAmB,QAAAzB,EAA+B,UAAU,OAAO,SAAQ,GAAC,YAAW,GAAC,EACxFA,EAAQ,YAAcV,EAAAA,IAACoC,GAAA,CAAc,MAAK,EAAA,CAAC,CAAA,EAC9C,QACC,MAAA,CAAI,UAAU,OACb,SAAApC,EAAAA,IAAC,QAAK,wBAAyB,CAC7B,OAAQG,EAAcO,EAAQ,YAAaL,CAAK,CAAA,EAC/C,CAAA,CACL,EACC,CAAC,GAACgC,EAAA3B,EAAQ,eAAR,MAAA2B,EAAsB,gBACtB,MAAA,CACE,SAAA,EAAAC,EAAA5B,EAAQ,eAAR,YAAA4B,EAAsB,KAAK,CAACC,EAAKC,IAC5B,CAAC3B,GAAY2B,EAAQ,EAChBxC,EAAAA,IAACe,EAAM,SAAN,CAAA,EAAoByB,CAAO,EAGnChB,EAAAA,KAACQ,EAAA,CAEC,QAAS,CACP,GAAGhB,EACH,KAAM,CAAC,GAAGA,EAAQ,IAAI,EACtB,OAAQ,CACN,YAAauB,EAAI,aAAe,GAAA,CAClC,EAEF,UAAU,oBAEV,SAAA,CAAAf,EAAAA,KAAC,OAAA,CAAK,UAAU,cAAc,SAAA,CAAA,IAC1BD,EAAW,OAAOA,EAAW,IAAIJ,EAAWoB,EAAI,aAAc,cAAc,EAAG,WAAW,EAAE,GAAA,EAChG,EAAO,IAEPvC,MAAC,QAAK,wBAAyB,CAC7B,OAAQG,EAAcoC,EAAI,YAAalC,CAAK,CAAA,CAC9C,CAAG,CAAA,CAAA,EAhBEmC,CAAA,IAoBV,CAAC3B,KAAY4B,EAAA/B,EAAQ,eAAR,YAAA+B,EAAsB,QAAS,GAAKzC,EAAAA,IAAC,MAAA,CAAI,UAAU,2BAA2B,QAAS,IAAMc,EAAY,EAAI,EAAG,SAAA,WAAA,CAAS,CAAA,CAAA,CACzI,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CCzFA4B,GAAoB,aAAe,CACjC,YAAa,CAAA,CACf,EAEO,SAASA,GAAoB7C,EAA8C,OAChF,KAAM,CAAE,YAAA8C,GAAgB9C,EAClB,CAAE,MAAAQ,GAAUsC,EAEZC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETpC,EAASqC,EAA+BC,EAAW,OAAOpD,EAAM,MAAM,CAAC,EACvEqD,EAAUF,EAAiCC,EAAW,SAAS,EAC/DE,EAAWH,EACfrC,EAAO,MAAQsC,EAAW,SAAStC,EAAO,KAAK,IAAI,CAAA,EAGjDA,EAAO,cAAgB,CAACA,EAAO,MACjCyC,EAAgBC,EAAW,UAAU,EAGvC,KAAM,CAAE,UAAAC,CAAA,EAAcC,GAAA,EAEtBC,GAAqB7C,CAAM,EAC3B8C,EAAqB,CAAEP,EAASC,CAAS,CAAC,EAE1CO,EAAmB,CAAE,MAAOrD,GAAS,EAAA,CAAI,EAEzC,KAAM,CACJ,MAAOsD,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EACFpD,EAAO,MAAQqD,EACfC,EACAC,KACYC,EAAS,QACrBA,GACMA,EAAS,KAAO,GAAKA,EAAS,YACzB,MAEDA,EAAS,KAAO,GAAG,SAAA,CAC7B,EAGF,SAASH,EAAWI,EAAiC,CACnD,OAAOnB,EAAW,OAChBtC,EAAO,KAAK,KACZgC,EACA,CAACyB,CAAA,CAEL,CAEA,SAASH,EAAUG,EAAuB,CACxC,OAAOxB,EAAMoB,EAAWI,CAAM,CAAC,CACjC,CAEA,SAASF,EAAQG,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOjB,EAAgBkB,CAAU,EAEnCxB,EAAO,MAAM,sBAAsB,CACrC,CAEA,MAAMlC,EAAkB2D,EAAgB,aAAc5D,EAAO,IAAI,EAE3D6D,EAAa7D,EAAO,cAAgBuC,EAAQ,cAAgBC,EAAS,aAErEsB,EAAc,CAClBC,EAAQ,UAAUvB,EAAS,IAAI,EAC/BuB,EAAQ,gBAAA,EACRA,EAAQ,SAAA,CAAS,EAGnB,OACElD,EAAAA,KAAAmD,WAAA,CACE,SAAA,CAAA3E,EAAAA,IAAC4E,EAAA,CAAY,MAAAvE,EAAc,OAAQM,EAAO,KAAM,EAEhDa,EAAAA,KAAC,MAAA,CAAI,UAAU,sCACb,SAAA,CAAAxB,EAAAA,IAAC6E,EAAA,CACC,YAAAlC,EACA,YAAA8B,EACA,iBAAkB,CAChB,OAAQK,EAAW,cACnB,SAAUC,EAAgB,aAAA,EAE5B,QAAS,CAAE,YAAa9D,EAAY,GAAI,OAAQC,EAAQ,GAAG,OAAQ,KAAM,EAACmB,EAAA1B,EAAO,OAAP,YAAA0B,EAAa,IAAI,CAAA,EAC3F,YAAW,GACX,kBAAmB,CAACmC,CAAA,CAAA,EAGtBxE,EAAAA,IAACgF,EAAA,CACC,cAAerE,EAAO,KACtB,QAASuC,EAAQ,KACjB,QAAS,CACP,YAAajC,EAAY,GACzB,OAAQC,EAAQ,GAAG,OACnB,OAAQ,CAAE,MAAAb,CAAA,CAAa,EAEzB,QAASiD,CAAA,CAAA,CACX,EACF,EAECkB,GACCxE,EAAAA,IAAA2E,EAAAA,SAAA,CACG,SAAAhB,GAAA,MAAAA,EAAU,OACTnC,EAAAA,KAAAmD,WAAA,CACG,SAAA,CAAAhB,EAAS,IAAI,CAACjD,EAAS8B,IAEpBxC,EAAAA,IAACS,GAAA,CAEC,QAAAC,EACA,MAAAL,EACA,OAAQM,EAAO,KACf,gBAAAC,CAAA,EAJK4B,CAAA,CAOV,GACCoB,GAAWC,IACX7D,EAAAA,IAACiF,EAAA,CACC,WAAApB,EACA,UAAAI,EACA,WAAAH,CAAA,CAAA,CACF,EAEJ,EAEA9D,MAAA2E,EAAAA,SAAA,CACG,SAAAd,EACC7D,MAAC,OAAI,UAAU,OACb,SAAAA,MAACkF,EAAA,CAAA,CAAiB,EACpB,EACElF,MAACJ,GAAA,CAAqB,MAAAS,EAAc,EAC1C,CAAA,CAEJ,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"C1Qw3n1d.chunk.js","sources":["../../src/apps/tv/views/tv-search-results/empty-state/TvSearchEmptyState.tsx","../../src/apps/tv/views/tv-search-results/components/tv-search-result-item/TvSearchResultItem.tsx","../../src/apps/tv/views/tv-search-results/TvSearchResultsView.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\n\nconst namespace = 'tv.searchResultsEmptyState';\n\ninterface TvSearchResultsStateProps {\n query?: string;\n}\n\nexport function TvSearchResultsState(props: TvSearchResultsStateProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.SEARCH} />\n\n <EmptyState.Heading>\n {props.query\n ? <Text phrase='headingWithQuery' options={{ query: props.query }} />\n : <Text phrase='headingWithoutQuery' />\n }\n </EmptyState.Heading>\n\n <EmptyState.Info>\n <Text phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ActionOptions, Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageType } from 'libs/shared/enums/Images';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvAdFreeBadge } from 'apps/tv/components/tv-ad-free-badge/TvAdFreeBadge';\nimport { TvChannelBadge } from 'apps/tv/components/tv-channel-badge/TvChannelBadge';\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { TvSearchResult } from 'apps/tv/interfaces/models/TvSearchResult';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-search-result-item.module.scss';\n\nfunction highlightText(text: string, query: string): string {\n const regex = new RegExp(query, 'gi');\n return text.replace(regex, match => `<span class=${styles.highlight}>${match}</span>`);\n}\n\ninterface TvSearchResultItemProps {\n query: string;\n program: TvSearchResult;\n region: TvRegion;\n getVideoActions: (video: TvProgram) => ActionOptions[];\n}\n\nexport function TvSearchResultItem(props: TvSearchResultItemProps): JSX.Element {\n const { program, query, region, getVideoActions } = props;\n\n const [ showMore, setShowMore ] = React.useState(false);\n\n const appLink = {\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ region.code, program.id ]\n };\n\n const startTime = toLocalTime(program.startTime, program.timeZone);\n const stopTime = toLocalTime(program.stopTime, program.timeZone);\n const diff = Math.abs(DateHelper.diffBetween(startTime, stopTime, 'milliseconds'));\n\n return (\n <div className='row gx-3 mb-3'>\n <div className='col-3 flex-column align-items-flex-start pe-2'>\n <div className='rounded rounded-3 overflow-hidden'>\n <BaseImage\n imageType={ImageType.Thumbnails}\n data={program.thumbnailUrl}\n appLink={appLink}\n >\n <ImageFallback type={ImageFallbackType.Video} />\n\n <div className={styles.badgeOverlay}>\n <Badge\n type={BadgeType.DurationApproximate}\n data={diff}\n />\n </div>\n </BaseImage>\n </div>\n </div>\n <div className='col-9 pb-2'>\n <ActionsComponent\n actions={getVideoActions(program as TvProgram)}\n className='float-end mt-n1'\n actionsDropdownClassName='btn btn-link ms-1'\n />\n <AppLink appLink={appLink}>\n <h5 className='h4 mb-1 align-middle text-dark text-truncate' title={program.title ?? ''}>\n <span dangerouslySetInnerHTML={{\n __html: highlightText(program.title, query)\n }}></span>\n </h5>\n </AppLink>\n <BadgeListContainer className='mb-1'>\n {program.channelLogoUrl && <TvChannelBadge logoUrl={program.channelLogoUrl} className='me-1' small />}\n <TvProgramTimeBadge program={program as TvProgram} className='me-1' showDate showEndTime />\n {program.hasAdsFree && <TvAdFreeBadge small />}\n </BadgeListContainer>\n <div className='mb-1'>\n <span dangerouslySetInnerHTML={{\n __html: highlightText(program.description, query)\n }}></span>\n </div>\n {!!program.subtitleHits?.length &&\n <div>\n {program.subtitleHits?.map(((hit, index) => {\n if (!showMore && index > 1)\n return <React.Fragment key={index} />;\n\n return (\n <AppLink\n key={index}\n appLink={{\n ...appLink,\n args: [...appLink.args],\n params: {\n currentTime: hit.hitStartTime / 1000\n }\n }}\n className='d-block text-dark'\n >\n <span className='fw-semibold'>\n [{DateHelper.format(DateHelper.add(startTime, hit.hitStartTime, 'milliseconds'), 'h:mm:ss a')}]\n </span>\n &nbsp;\n <span dangerouslySetInnerHTML={{\n __html: highlightText(hit.srtFragment, query)\n }}></span>\n </AppLink>\n );\n }))}\n {!showMore && program.subtitleHits?.length > 2 && <div className='text-info cursor-pointer' onClick={() => setShowMore(true)}>Show more</div>}\n </div>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useGetTvActions } from 'apps/tv/hooks/useGetTvActions';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { TvSearchResult } from 'apps/tv/interfaces/models/TvSearchResult';\nimport { TvSearchResponse } from 'apps/tv/interfaces/responses/TvSearchResponse';\nimport { TvSearchResultsState } from 'apps/tv/views/tv-search-results/empty-state/TvSearchEmptyState';\n\nimport { TvSearchResultItem } from './components/tv-search-result-item/TvSearchResultItem';\n\ninterface TvSearchResultsViewProps {\n region: string;\n queryParams: HashObject;\n}\n\nTvSearchResultsView.defaultProps = {\n queryParams: {}\n};\n\nexport function TvSearchResultsView(props: TvSearchResultsViewProps): JSX.Element {\n const { queryParams } = props;\n const { query } = queryParams;\n\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(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 if (region.hasCompleted && !region.data) {\n handleHttpError(HttpStatus.BadRequest);\n }\n\n const { setRegion } = useSelectedRegion();\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, channels ]);\n\n useSetPageMetadata({ title: query ?? '' });\n\n const {\n items: programs,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<TvSearchResult, TvSearchResponse>(\n region.data && getRequest,\n fetchNext,\n onError,\n response => response.results,\n response => {\n if (response.page * 25 > response.totalNumber)\n return null;\n\n return (response.page + 1).toString();\n }\n );\n\n function getRequest(cursor?: string): Flight.Request {\n return TvRequests.search(\n region.data.code,\n queryParams,\n +cursor\n );\n }\n\n function fetchNext(cursor?: string): void {\n return fetch(getRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error('Something went wrong');\n }\n\n const getVideoActions = useGetTvActions('video-list', region.data);\n\n const dataLoaded = region.hasCompleted && regions.hasCompleted && channels.hasCompleted;\n\n const mainFilters = [\n Filters.TvChannel(channels.data),\n Filters.TvDateBroadcast(),\n Filters.TvFields()\n ];\n\n return (\n <>\n <TvSearchBar query={query} region={region.data} />\n\n <div className='d-flex justify-content-between mb-2'>\n <SearchFilters\n queryParams={queryParams}\n mainFilters={mainFilters}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.SearchFilters\n }}\n appLink={{ application: AppChannels.TV, action: Actions.Tv.SEARCH, args: [region.data?.code]}}\n hideDivider\n isFetchingOptions={!dataLoaded}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.SEARCH,\n params: { query: query }\n }}\n onClick={setRegion}\n />\n </div>\n\n {dataLoaded && (\n <>\n {programs?.length ? (\n <>\n {programs.map((program, index) => {\n return (\n <TvSearchResultItem\n key={index}\n program={program}\n query={query}\n region={region.data}\n getVideoActions={getVideoActions}\n />\n );\n })}\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n />\n )}\n </>\n ) : (\n <>\n {isFetching ? (\n <div className='m-n2'>\n <PartialVideoList />\n </div>\n ) : <TvSearchResultsState query={query} />}\n </>\n )}\n </>\n )}\n </>\n );\n}"],"names":["namespace","TvSearchResultsState","props","LanguageNamespaceContext","EmptyState","jsx","ImageUrls","Text","highlightText","text","query","regex","match","styles","TvSearchResultItem","program","region","getVideoActions","showMore","setShowMore","React","appLink","AppChannels","Actions","startTime","toLocalTime","stopTime","diff","DateHelper","jsxs","BaseImage","ImageType","ImageFallback","ImageFallbackType","Badge","BadgeType","ActionsComponent","AppLink","BadgeListContainer","TvChannelBadge","TvProgramTimeBadge","TvAdFreeBadge","_a","_b","hit","index","_c","TvSearchResultsView","queryParams","fetch","Flight.useGetFetch","alerts","useAlerts","Flight.useBasicFetch","TvRequests","regions","channels","handleHttpError","HttpStatus","setRegion","useSelectedRegion","useHandleRegionError","useHandleObjectError","useSetPageMetadata","programs","hasMore","isFetching","nextCursor","useInfiniteList","getRequest","fetchNext","onError","response","cursor","pageNumber","httpStatus","useGetTvActions","dataLoaded","mainFilters","Filters","Fragment","TvSearchBar","SearchFilters","EntityType","LocationContext","TvRegionSelect","InfiniteScrollFooter","PartialVideoList"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{R as L,r as s,Z as M,F as d}from"./app-C2tLApiH.js";const g=()=>{const e=L.useRef(!0);return L.useEffect(()=>()=>{e.current=!1},[]),e},R=275,y=5,T={className:"",delay:0,style:null},Y={screenX:0,screenY:0};function H(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.add(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=t.style[u]}))}function h(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.remove(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=null}))}function b(e,t){return Math.abs(e.screenX-t.screenX)>y||Math.abs(e.screenY-t.screenY)>y}function X(e=T){const t=g(),[n,u]=s.useState(e),[l,c]=s.useState(!1),r=s.useRef(null);s.useEffect(()=>{M.isEqual(e,n)||u(e)},[e]);const i=d.throttle(()=>{H(r,n),t.current&&c(!0)},n.delay,{leading:!1}),f=()=>{d.isFunction(i.cancel)&&i.cancel(),h(r,n),t.current&&c(!1)};return s.useLayoutEffect(()=>{const o=r.current;if(o)return o.addEventListener("mouseenter",i),o.addEventListener("mouseleave",f),()=>{o.removeEventListener("mouseenter",i),o.removeEventListener("mouseleave",f)}},[r.current,n]),[r,l]}function w(e){const[t,n]=s.useState(e),u=s.useRef({...Y}),l=s.useRef(!1),c=s.useRef(0),r=s.useRef(null),[i,f]=s.useState(!1);s.useEffect(()=>{M.isEqual(e,t)||n(e)},[e]);function o(){c.current&&(window.clearTimeout(c.current),c.current=0)}function O(a,v){c.current||(c.current=window.setTimeout(a,v))}function m(){l.current=!0}function S(a){if(!l.current)return;const v={...u.current};u.current.screenX=a.screenX,u.current.screenY=a.screenY,b(v,a)&&o(),O(()=>{H(r,t),f(!0)},t.delay||R)}function E(){o(),h(r,t),l.current=!1,f(!1)}return s.useLayoutEffect(()=>{if(!r.current)return;const a=d.throttle(S,25,{leading:!1});return r.current.addEventListener("mouseenter",m),r.current.addEventListener("mousemove",a),r.current.addEventListener("mouseleave",E),()=>{r.current&&(r.current.removeEventListener("mouseenter",m),r.current.removeEventListener("mousemove",a),r.current.removeEventListener("mouseleave",E))}},[r.current,t]),[r,i]}export{w as a,X as u};
2
- //# sourceMappingURL=B1T8c6eo.chunk.js.map
1
+ import{R as L,r as s,Z as M,F as d}from"./app-BPynVn5M.js";const g=()=>{const e=L.useRef(!0);return L.useEffect(()=>()=>{e.current=!1},[]),e},R=275,y=5,T={className:"",delay:0,style:null},Y={screenX:0,screenY:0};function H(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.add(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=t.style[u]}))}function h(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.remove(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=null}))}function b(e,t){return Math.abs(e.screenX-t.screenX)>y||Math.abs(e.screenY-t.screenY)>y}function X(e=T){const t=g(),[n,u]=s.useState(e),[l,c]=s.useState(!1),r=s.useRef(null);s.useEffect(()=>{M.isEqual(e,n)||u(e)},[e]);const i=d.throttle(()=>{H(r,n),t.current&&c(!0)},n.delay,{leading:!1}),f=()=>{d.isFunction(i.cancel)&&i.cancel(),h(r,n),t.current&&c(!1)};return s.useLayoutEffect(()=>{const o=r.current;if(o)return o.addEventListener("mouseenter",i),o.addEventListener("mouseleave",f),()=>{o.removeEventListener("mouseenter",i),o.removeEventListener("mouseleave",f)}},[r.current,n]),[r,l]}function w(e){const[t,n]=s.useState(e),u=s.useRef({...Y}),l=s.useRef(!1),c=s.useRef(0),r=s.useRef(null),[i,f]=s.useState(!1);s.useEffect(()=>{M.isEqual(e,t)||n(e)},[e]);function o(){c.current&&(window.clearTimeout(c.current),c.current=0)}function O(a,v){c.current||(c.current=window.setTimeout(a,v))}function m(){l.current=!0}function S(a){if(!l.current)return;const v={...u.current};u.current.screenX=a.screenX,u.current.screenY=a.screenY,b(v,a)&&o(),O(()=>{H(r,t),f(!0)},t.delay||R)}function E(){o(),h(r,t),l.current=!1,f(!1)}return s.useLayoutEffect(()=>{if(!r.current)return;const a=d.throttle(S,25,{leading:!1});return r.current.addEventListener("mouseenter",m),r.current.addEventListener("mousemove",a),r.current.addEventListener("mouseleave",E),()=>{r.current&&(r.current.removeEventListener("mouseenter",m),r.current.removeEventListener("mousemove",a),r.current.removeEventListener("mouseleave",E))}},[r.current,t]),[r,i]}export{w as a,X as u};
2
+ //# sourceMappingURL=C3mFDLV3.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"B1T8c6eo.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
1
+ {"version":3,"file":"C3mFDLV3.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"2DAEO,MAAMA,EAAwB,IAAM,CACzC,MAAMC,EAAYC,EAAM,OAAO,EAAI,EAEnC,OAAAA,EAAM,UAAU,IACP,IAAM,CAAED,EAAU,QAAU,EAAO,EACzC,CAAA,CAAE,EAEEA,CACT,ECFME,EAAsB,IACtBC,EAAuB,EAsBvBC,EAA+B,CACnC,UAAW,GACX,MAAO,EACP,MAAO,IACT,EAOMC,EAAmC,CACvC,QAAS,EACT,QAAS,CACX,EAEA,SAASC,EACPC,EACAC,EACM,OACDD,EAAI,UAGLC,EAAQ,aACVC,EAAAF,EAAI,QAAQ,YAAZ,MAAAE,EAAuB,IAAID,EAAQ,YAEjCA,EAAQ,OACV,OAAO,KAAKA,EAAQ,KAAK,EAAE,QAASE,GAAmB,CACrDH,EAAI,QAAQ,MAAMG,CAAS,EAAIF,EAAQ,MAAME,CAAS,CACxD,CAAC,EAEL,CAEA,SAASC,EACPJ,EACAC,EACM,OACDD,EAAI,UAGLC,EAAQ,aACVC,EAAAF,EAAI,QAAQ,YAAZ,MAAAE,EAAuB,OAAOD,EAAQ,YAEpCA,EAAQ,OACV,OAAO,KAAKA,EAAQ,KAAK,EAAE,QAASE,GAAmB,CACrDH,EAAI,QAAQ,MAAMG,CAAS,EAAI,IACjC,CAAC,EAEL,CAEA,SAASE,EAAcC,EAAqBC,EAAiC,CAC3E,OAAO,KAAK,IAAID,EAAK,QAAUC,EAAQ,OAAO,EAAIX,GAChD,KAAK,IAAIU,EAAK,QAAUC,EAAQ,OAAO,EAAIX,CAC/C,CAQO,SAASY,EACdP,EAAwBJ,EACgB,CACxC,MAAMJ,EAAYD,EAAA,EACZ,CAAEiB,EAAeC,CAAiB,EAAIC,EAAAA,SAAeV,CAAO,EAC5D,CAAEW,EAAYC,CAAc,EAAIF,EAAAA,SAAe,EAAK,EAEpDX,EAAMc,EAAAA,OAAgB,IAAI,EAEhCC,EAAAA,UAAgB,IAAM,CAChBC,EAAa,QAAQf,EAASQ,CAAa,GAG/CC,EAAiBT,CAAO,CAC1B,EAAG,CAACA,CAAO,CAAC,EAEZ,MAAMgB,EAAeC,EAAe,SAAS,IAAM,CACjDnB,EAAkBC,EAAKS,CAAa,EAChChB,EAAU,SACZoB,EAAc,EAAI,CACtB,EAAGJ,EAAc,MAAO,CAAE,QAAS,GAAO,EAEpCU,EAAiB,IAAM,CACvBD,EAAe,WAAWD,EAAa,MAAM,GAC/CA,EAAa,OAAA,EAEfb,EAAoBJ,EAAKS,CAAa,EAElChB,EAAU,SACZoB,EAAc,EAAK,CACvB,EAEAO,OAAAA,EAAAA,gBAAsB,IAAM,CAC1B,MAAMC,EAAOrB,EAAI,QAEjB,GAAIqB,EACF,OAAAA,EAAK,iBAAiB,aAAcJ,CAAY,EAChDI,EAAK,iBAAiB,aAAcF,CAAc,EAE3C,IAAM,CACXE,EAAK,oBAAoB,aAAcJ,CAAY,EACnDI,EAAK,oBAAoB,aAAcF,CAAc,CACvD,CAEJ,EAAG,CAAEnB,EAAI,QAASS,CAAc,CAAC,EAE1B,CAAET,EAAKY,CAAW,CAC3B,CASO,SAASU,EAAsCrB,EAA+D,CACnH,KAAM,CAAEQ,EAAeC,CAAiB,EAAIC,EAAAA,SAAeV,CAAO,EAK5DsB,EAAgBT,EAAAA,OAA4B,CAAE,GAAGhB,EAAmB,EACpE0B,EAAWV,EAAAA,OAAsB,EAAK,EACtCW,EAAUX,EAAAA,OAAqB,CAAC,EAEhCd,EAAMc,EAAAA,OAAgB,IAAI,EAC1B,CAAEF,EAAYC,CAAc,EAAIF,EAAAA,SAAe,EAAK,EAE1DI,EAAAA,UAAgB,IAAM,CAChBC,EAAa,QAAQf,EAASQ,CAAa,GAG/CC,EAAiBT,CAAO,CAC1B,EAAG,CAACA,CAAO,CAAC,EAEZ,SAASyB,GAA0B,CAC5BD,EAAQ,UAGb,OAAO,aAAaA,EAAQ,OAAO,EACnCA,EAAQ,QAAU,EACpB,CAEA,SAASE,EAAgBC,EAAgBC,EAAqB,CACxDJ,EAAQ,UAGZA,EAAQ,QAAU,OAAO,WAAWG,EAAIC,CAAK,EAC/C,CAEA,SAASC,GAAqB,CAC5BN,EAAS,QAAU,EACrB,CAEA,SAASO,EAAYC,EAAyB,CAC5C,GAAI,CAACR,EAAS,QACZ,OAEF,MAAMlB,EAAO,CAAE,GAAGiB,EAAc,OAAA,EAChCA,EAAc,QAAQ,QAAUS,EAAM,QACtCT,EAAc,QAAQ,QAAUS,EAAM,QAElC3B,EAAcC,EAAM0B,CAAK,GAC3BN,EAAA,EAEFC,EAAgB,IAAM,CACpB5B,EAAkBC,EAAKS,CAAa,EACpCI,EAAc,EAAI,CACpB,EAAGJ,EAAc,OAASd,CAAmB,CAC/C,CAEA,SAASsC,GAAqB,CAC5BP,EAAA,EACAtB,EAAoBJ,EAAKS,CAAa,EACtCe,EAAS,QAAU,GACnBX,EAAc,EAAK,CACrB,CAEAO,OAAAA,EAAAA,gBAAsB,IAAM,CAC1B,GAAI,CAACpB,EAAI,QACP,OAEF,MAAMkC,EAAqBhB,EAAe,SAASa,EAAa,GAAI,CAAE,QAAS,GAAO,EACtF,OAAA/B,EAAI,QAAQ,iBAAiB,aAAc8B,CAAY,EACvD9B,EAAI,QAAQ,iBAAiB,YAAakC,CAAkB,EAC5DlC,EAAI,QAAQ,iBAAiB,aAAciC,CAAY,EAEhD,IAAM,CACNjC,EAAI,UAETA,EAAI,QAAQ,oBAAoB,aAAc8B,CAAY,EAC1D9B,EAAI,QAAQ,oBAAoB,YAAakC,CAAkB,EAC/DlC,EAAI,QAAQ,oBAAoB,aAAciC,CAAY,EAC5D,CACF,EAAG,CAAEjC,EAAI,QAASS,CAAc,CAAC,EAE1B,CAAET,EAAKY,CAAW,CAC3B"}
@@ -1,2 +1,2 @@
1
- import{j as g,ad as l,ae as m,af as E,A as n,L as i,a as s,b as c}from"./app-C2tLApiH.js";import{P as x}from"./CqLsOdMW.chunk.js";const r="exchange.exchangeTabs",e=i.encloseNamespace(r),a={categories:{application:c.EXCHANGE,action:s.Exchange.INDEX},mostRecent:{application:c.EXCHANGE,action:s.Exchange.MOST_RECENT}},o={actionType:E.Click,entity:m.Url,location:l.MagicTabs};function h(p){const{active:t}=p;return g.jsx(x,{tabs:[{name:e("categories"),appLink:a.categories,active:t==="categories",analyticsData:{name:e("categories"),url:n.getHref(a.categories)},analyticsOptions:o},{name:e("mostRecent"),appLink:a.mostRecent,active:t==="most-recent",analyticsData:{name:i.getPhrase(r,"mostRecent"),url:n.getHref(a.mostRecent)},analyticsOptions:o}]})}export{h as E};
2
- //# sourceMappingURL=DS5mdrnT.chunk.js.map
1
+ import{j as g,ad as l,ae as m,af as E,A as n,L as i,a as s,b as c}from"./app-BPynVn5M.js";import{P as x}from"./CmOtOw_r.chunk.js";const r="exchange.exchangeTabs",e=i.encloseNamespace(r),a={categories:{application:c.EXCHANGE,action:s.Exchange.INDEX},mostRecent:{application:c.EXCHANGE,action:s.Exchange.MOST_RECENT}},o={actionType:E.Click,entity:m.Url,location:l.MagicTabs};function h(p){const{active:t}=p;return g.jsx(x,{tabs:[{name:e("categories"),appLink:a.categories,active:t==="categories",analyticsData:{name:e("categories"),url:n.getHref(a.categories)},analyticsOptions:o},{name:e("mostRecent"),appLink:a.mostRecent,active:t==="most-recent",analyticsData:{name:i.getPhrase(r,"mostRecent"),url:n.getHref(a.mostRecent)},analyticsOptions:o}]})}export{h as E};
2
+ //# sourceMappingURL=C6fO3h1r.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DS5mdrnT.chunk.js","sources":["../../src/apps/exchange/components/exchange-tabs/ExchangeTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n categories: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n },\n mostRecent: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.MOST_RECENT\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface ExchangeTabs {\n active: 'categories' | 'most-recent' | 'featured-channels';\n}\n\nexport function ExchangeTabs(props: ExchangeTabs): JSX.Element {\n const { active } = props;\n\n return (\n <PillTabSelector\n tabs={[{\n name: getPhrase('categories'),\n appLink: APP_LINKS.categories,\n active: active === 'categories',\n analyticsData: {\n name: getPhrase('categories'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.categories)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('mostRecent'),\n appLink: APP_LINKS.mostRecent,\n active: active === 'most-recent',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'mostRecent'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.mostRecent)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }]}\n />\n );\n}"],"names":["namespace","getPhrase","LanguageService","APP_LINKS","AppChannels","Actions","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","ExchangeTabs","props","active","jsx","PillTabSelector","Core.AppLinkHelper"],"mappings":"kIAYA,MAAMA,EAAY,wBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAEtDG,EAAY,CAChB,WAAY,CACV,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,EAE3B,WAAY,CACV,YAAaD,EAAY,SACzB,OAAQC,EAAQ,SAAS,WAAA,CAE7B,EAEMC,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAMO,SAASC,EAAaC,EAAkC,CAC7D,KAAM,CAAE,OAAAC,GAAWD,EAEnB,OACEE,EAAAA,IAACC,EAAA,CACC,KAAM,CAAC,CACL,KAAMb,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,aACnB,cAAe,CACb,KAAMX,EAAU,YAAY,EAC5B,IAAKc,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,EACjB,CACD,KAAML,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,cACnB,cAAe,CACb,KAAMV,EAAgB,UAAUF,EAAW,YAAY,EACvD,IAAKe,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,CACnB,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"C6fO3h1r.chunk.js","sources":["../../src/apps/exchange/components/exchange-tabs/ExchangeTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n categories: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n },\n mostRecent: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.MOST_RECENT\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface ExchangeTabs {\n active: 'categories' | 'most-recent' | 'featured-channels';\n}\n\nexport function ExchangeTabs(props: ExchangeTabs): JSX.Element {\n const { active } = props;\n\n return (\n <PillTabSelector\n tabs={[{\n name: getPhrase('categories'),\n appLink: APP_LINKS.categories,\n active: active === 'categories',\n analyticsData: {\n name: getPhrase('categories'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.categories)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('mostRecent'),\n appLink: APP_LINKS.mostRecent,\n active: active === 'most-recent',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'mostRecent'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.mostRecent)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }]}\n />\n );\n}"],"names":["namespace","getPhrase","LanguageService","APP_LINKS","AppChannels","Actions","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","ExchangeTabs","props","active","jsx","PillTabSelector","Core.AppLinkHelper"],"mappings":"kIAYA,MAAMA,EAAY,wBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAEtDG,EAAY,CAChB,WAAY,CACV,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,EAE3B,WAAY,CACV,YAAaD,EAAY,SACzB,OAAQC,EAAQ,SAAS,WAAA,CAE7B,EAEMC,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAMO,SAASC,EAAaC,EAAkC,CAC7D,KAAM,CAAE,OAAAC,GAAWD,EAEnB,OACEE,EAAAA,IAACC,EAAA,CACC,KAAM,CAAC,CACL,KAAMb,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,aACnB,cAAe,CACb,KAAMX,EAAU,YAAY,EAC5B,IAAKc,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,EACjB,CACD,KAAML,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,cACnB,cAAe,CACb,KAAMV,EAAgB,UAAUF,EAAW,YAAY,EACvD,IAAKe,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,CACnB,CAAA,CAAA,CAGP"}
@@ -1,2 +1,2 @@
1
- import{a3 as A,aD as m,ad as d,ac as T,aI as r,ae as l,af as p,L as V,U as g,A as b,a as f,b as h,a6 as k}from"./app-C2tLApiH.js";import{A as w}from"./Da5Jh4ka.chunk.js";const C="tv.addRequests",i=V.encloseNamespace(C);function y(u,a,o){const v=A(m.config());return function(e){var c;if(!a)return[];const t=u==="preview",n={id:e.id,name:e.title},s=t?d.VideoItemPreview:d.VideoListItem;return[{label:t?i("addVideo"):"",svg:t?void 0:w,tooltip:t?"":i("addVideo"),className:t?"btn btn-dark me-2 text-nowrap":"btn",button:!0,onClick:()=>{b.trigger({application:h.TV,action:f.Tv.ADD,args:[a.code,e.id],params:{currentTime:Math.floor(+(o==null?void 0:o.currentTime()))||void 0}})},analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,descriptor:r.AddToWorkspace,location:s,workflowPhase:T.Start}},{label:i("editVideo"),href:g.urlBuilder(`${(c=v.data)==null?void 0:c.cloudEditorUrl}/tv/${e.globalId}`,{product:k.Exchange}),openInNewTab:!0,analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,location:s,descriptor:r.EditVideo}}]}}export{y as u};
2
- //# sourceMappingURL=ZQHAaDA4.chunk.js.map
1
+ import{a3 as A,aD as m,ad as d,ac as T,aI as r,ae as l,af as p,L as V,U as g,A as b,a as f,b as h,a6 as k}from"./app-BPynVn5M.js";import{A as w}from"./B2N_hio2.chunk.js";const C="tv.addRequests",i=V.encloseNamespace(C);function y(u,a,o){const v=A(m.config());return function(e){var c;if(!a)return[];const t=u==="preview",n={id:e.id,name:e.title},s=t?d.VideoItemPreview:d.VideoListItem;return[{label:t?i("addVideo"):"",svg:t?void 0:w,tooltip:t?"":i("addVideo"),className:t?"btn btn-dark me-2 text-nowrap":"btn",button:!0,onClick:()=>{b.trigger({application:h.TV,action:f.Tv.ADD,args:[a.code,e.id],params:{currentTime:Math.floor(+(o==null?void 0:o.currentTime()))||void 0}})},analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,descriptor:r.AddToWorkspace,location:s,workflowPhase:T.Start}},{label:i("editVideo"),href:g.urlBuilder(`${(c=v.data)==null?void 0:c.cloudEditorUrl}/tv/${e.globalId}`,{product:k.Exchange}),openInNewTab:!0,analyticsData:n,analyticsOptions:{actionType:p.Click,entity:l.Video,location:s,descriptor:r.EditVideo}}]}}export{y as u};
2
+ //# sourceMappingURL=CCMRIPPt.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZQHAaDA4.chunk.js","sources":["../../src/apps/tv/hooks/useGetTvActions.ts"],"sourcesContent":["import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\nimport { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.addRequests';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nexport function useGetTvActions(location: Location, region: TvRegion, playerRef?: PlayerReference) {\n const config = Flight.useBasicFetch<ExchangeConfig>(ConfigRequests.config());\n \n return function getTvActions(program: TvProgram): ActionOptions[] {\n if (!region)\n return [];\n\n const isPreview = location === 'preview';\n const analyticsData = { id: program.id, name: program.title };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n // TODO: Register analytics for all actions\n return [{\n label: isPreview ? getPhrase('addVideo') : '',\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n className: isPreview ? 'btn btn-dark me-2 text-nowrap' : 'btn',\n button: true,\n onClick: () => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ADD,\n args: [ region.code, program.id ],\n params: {\n currentTime: Math.floor(+playerRef?.currentTime()) || undefined\n }\n });\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n label: getPhrase('editVideo'),\n href: UrlHelper.urlBuilder(\n `${config.data?.cloudEditorUrl}/tv/${program.globalId}`,\n { product: ProductId.Exchange }\n ),\n openInNewTab: true,\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n location: locationContext,\n descriptor: VideoActionDescriptor.EditVideo\n }\n }];\n };\n}"],"names":["namespace","getPhrase","LanguageService","useGetTvActions","location","region","playerRef","config","Flight.useBasicFetch","ConfigRequests","program","isPreview","analyticsData","locationContext","LocationContext","AddVideoSvg","Core.AppLinkHelper","AppChannels","Actions","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","UrlHelper","_a","ProductId"],"mappings":"0KAoBA,MAAMA,EAAY,iBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAIrD,SAASG,EAAgBC,EAAoBC,EAAkBC,EAA6B,CACjG,MAAMC,EAASC,EAAqCC,EAAe,QAAQ,EAE3E,OAAO,SAAsBC,EAAqC,OAChE,GAAI,CAACL,EACH,MAAO,CAAA,EAET,MAAMM,EAAYP,IAAa,UACzBQ,EAAgB,CAAE,GAAIF,EAAQ,GAAI,KAAMA,EAAQ,KAAA,EAChDG,EAAkBF,EAAYG,EAAgB,iBAAmBA,EAAgB,cAGvF,MAAO,CAAC,CACN,MAAOH,EAAYV,EAAU,UAAU,EAAI,GAC3C,IAAMU,EAA0B,OAAdI,EAClB,QAASJ,EAAY,GAAKV,EAAU,UAAU,EAC9C,UAAWU,EAAY,gCAAkC,MACzD,OAAQ,GACR,QAAS,IAAM,CACbK,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,IACnB,KAAM,CAAEb,EAAO,KAAMK,EAAQ,EAAG,EAChC,OAAQ,CACN,YAAa,KAAK,MAAM,EAACJ,GAAA,YAAAA,EAAW,cAAa,GAAK,MAAA,CACxD,CACD,CACH,EACA,cAAAM,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,eAClC,SAAUR,EACV,cAAeS,EAAc,KAAA,CAC/B,EACC,CACD,MAAOrB,EAAU,WAAW,EAC5B,KAAMsB,EAAU,WACd,IAAGC,EAAAjB,EAAO,OAAP,YAAAiB,EAAa,cAAc,OAAOd,EAAQ,QAAQ,GACrD,CAAE,QAASe,EAAU,QAAA,CAAS,EAEhC,aAAc,GACd,cAAAb,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,SAAUP,EACV,WAAYQ,EAAsB,SAAA,CACpC,CACD,CACH,CACF"}
1
+ {"version":3,"file":"CCMRIPPt.chunk.js","sources":["../../src/apps/tv/hooks/useGetTvActions.ts"],"sourcesContent":["import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { AddVideoSvg } from 'libs/shared/images/svg/actions/AddVideoSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\nimport { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.addRequests';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'preview' | 'video-list';\n\nexport function useGetTvActions(location: Location, region: TvRegion, playerRef?: PlayerReference) {\n const config = Flight.useBasicFetch<ExchangeConfig>(ConfigRequests.config());\n \n return function getTvActions(program: TvProgram): ActionOptions[] {\n if (!region)\n return [];\n\n const isPreview = location === 'preview';\n const analyticsData = { id: program.id, name: program.title };\n const locationContext = isPreview ? LocationContext.VideoItemPreview : LocationContext.VideoListItem;\n\n // TODO: Register analytics for all actions\n return [{\n label: isPreview ? getPhrase('addVideo') : '',\n svg: !isPreview ? AddVideoSvg : undefined,\n tooltip: isPreview ? '' : getPhrase('addVideo'),\n className: isPreview ? 'btn btn-dark me-2 text-nowrap' : 'btn',\n button: true,\n onClick: () => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ADD,\n args: [ region.code, program.id ],\n params: {\n currentTime: Math.floor(+playerRef?.currentTime()) || undefined\n }\n });\n },\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.AddToWorkspace,\n location: locationContext,\n workflowPhase: WorkflowPhase.Start\n }\n }, {\n label: getPhrase('editVideo'),\n href: UrlHelper.urlBuilder(\n `${config.data?.cloudEditorUrl}/tv/${program.globalId}`,\n { product: ProductId.Exchange }\n ),\n openInNewTab: true,\n analyticsData,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Video,\n location: locationContext,\n descriptor: VideoActionDescriptor.EditVideo\n }\n }];\n };\n}"],"names":["namespace","getPhrase","LanguageService","useGetTvActions","location","region","playerRef","config","Flight.useBasicFetch","ConfigRequests","program","isPreview","analyticsData","locationContext","LocationContext","AddVideoSvg","Core.AppLinkHelper","AppChannels","Actions","UserAction","EntityType","VideoActionDescriptor","WorkflowPhase","UrlHelper","_a","ProductId"],"mappings":"0KAoBA,MAAMA,EAAY,iBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAIrD,SAASG,EAAgBC,EAAoBC,EAAkBC,EAA6B,CACjG,MAAMC,EAASC,EAAqCC,EAAe,QAAQ,EAE3E,OAAO,SAAsBC,EAAqC,OAChE,GAAI,CAACL,EACH,MAAO,CAAA,EAET,MAAMM,EAAYP,IAAa,UACzBQ,EAAgB,CAAE,GAAIF,EAAQ,GAAI,KAAMA,EAAQ,KAAA,EAChDG,EAAkBF,EAAYG,EAAgB,iBAAmBA,EAAgB,cAGvF,MAAO,CAAC,CACN,MAAOH,EAAYV,EAAU,UAAU,EAAI,GAC3C,IAAMU,EAA0B,OAAdI,EAClB,QAASJ,EAAY,GAAKV,EAAU,UAAU,EAC9C,UAAWU,EAAY,gCAAkC,MACzD,OAAQ,GACR,QAAS,IAAM,CACbK,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,IACnB,KAAM,CAAEb,EAAO,KAAMK,EAAQ,EAAG,EAChC,OAAQ,CACN,YAAa,KAAK,MAAM,EAACJ,GAAA,YAAAA,EAAW,cAAa,GAAK,MAAA,CACxD,CACD,CACH,EACA,cAAAM,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,WAAYC,EAAsB,eAClC,SAAUR,EACV,cAAeS,EAAc,KAAA,CAC/B,EACC,CACD,MAAOrB,EAAU,WAAW,EAC5B,KAAMsB,EAAU,WACd,IAAGC,EAAAjB,EAAO,OAAP,YAAAiB,EAAa,cAAc,OAAOd,EAAQ,QAAQ,GACrD,CAAE,QAASe,EAAU,QAAA,CAAS,EAEhC,aAAc,GACd,cAAAb,EACA,iBAAkB,CAChB,WAAYO,EAAW,MACvB,OAAQC,EAAW,MACnB,SAAUP,EACV,WAAYQ,EAAsB,SAAA,CACpC,CACD,CACH,CACF"}
@@ -1,2 +1,2 @@
1
- import{j as a,B as d}from"./app-C2tLApiH.js";const t="_adFreeBadge_1pwvw_1",l="_small_1pwvw_5",s={adFreeBadge:t,small:l},r="tv.adFreeBadge";function n(e){return a.jsx("div",{className:`${s.adFreeBadge} ${e.small?s.small:""} ${e.className||""} d-flex align-items-center rounded bg-red text-white fw-semibold px-1 font-size-sm`,children:a.jsx(d,{namespace:r,phrase:"adFree"})})}export{n as T};
2
- //# sourceMappingURL=BTcJz7pn.chunk.js.map
1
+ import{j as a,B as d}from"./app-BPynVn5M.js";const t="_adFreeBadge_1pwvw_1",l="_small_1pwvw_5",s={adFreeBadge:t,small:l},r="tv.adFreeBadge";function n(e){return a.jsx("div",{className:`${s.adFreeBadge} ${e.small?s.small:""} ${e.className||""} d-flex align-items-center rounded bg-red text-white fw-semibold px-1 font-size-sm`,children:a.jsx(d,{namespace:r,phrase:"adFree"})})}export{n as T};
2
+ //# sourceMappingURL=CChgvLUa.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BTcJz7pn.chunk.js","sources":["../../src/apps/tv/components/tv-ad-free-badge/TvAdFreeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport styles from './tv-ad-free-badge.module.scss';\n\nconst namespace = 'tv.adFreeBadge';\n\ninterface AdFreeBadgeProps {\n small?: boolean;\n className?: string;\n}\n\nexport function TvAdFreeBadge(props: AdFreeBadgeProps) {\n return (\n <div className={`${styles.adFreeBadge} ${props.small ? styles.small : ''} ${props.className || ''} d-flex align-items-center rounded bg-red text-white fw-semibold px-1 font-size-sm`}>\n <Text namespace={namespace} phrase='adFree' />\n </div>\n );\n}"],"names":["namespace","TvAdFreeBadge","props","jsx","styles","Text"],"mappings":"yHAMMA,EAAY,iBAOX,SAASC,EAAcC,EAAyB,CACrD,OACEC,EAAAA,IAAC,OAAI,UAAW,GAAGC,EAAO,WAAW,IAAIF,EAAM,MAAQE,EAAO,MAAQ,EAAE,IAAIF,EAAM,WAAa,EAAE,qFAC/F,eAACG,EAAA,CAAK,UAAAL,EAAsB,OAAO,QAAA,CAAS,CAAA,CAC9C,CAEJ"}
1
+ {"version":3,"file":"CChgvLUa.chunk.js","sources":["../../src/apps/tv/components/tv-ad-free-badge/TvAdFreeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport styles from './tv-ad-free-badge.module.scss';\n\nconst namespace = 'tv.adFreeBadge';\n\ninterface AdFreeBadgeProps {\n small?: boolean;\n className?: string;\n}\n\nexport function TvAdFreeBadge(props: AdFreeBadgeProps) {\n return (\n <div className={`${styles.adFreeBadge} ${props.small ? styles.small : ''} ${props.className || ''} d-flex align-items-center rounded bg-red text-white fw-semibold px-1 font-size-sm`}>\n <Text namespace={namespace} phrase='adFree' />\n </div>\n );\n}"],"names":["namespace","TvAdFreeBadge","props","jsx","styles","Text"],"mappings":"yHAMMA,EAAY,iBAOX,SAASC,EAAcC,EAAyB,CACrD,OACEC,EAAAA,IAAC,OAAI,UAAW,GAAGC,EAAO,WAAW,IAAIF,EAAM,MAAQE,EAAO,MAAQ,EAAE,IAAIF,EAAM,WAAa,EAAE,qFAC/F,eAACG,EAAA,CAAK,UAAAL,EAAsB,OAAO,QAAA,CAAS,CAAA,CAC9C,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{U as p,a3 as m,R as v,j as o,P as y,aD as U,a5 as h}from"./app-C2tLApiH.js";import{u as C}from"./0l0N-xl4.chunk.js";import{C as P,P as w,a as R}from"./CCNNRpT4.chunk.js";import{T as b}from"./4pboFAH2.chunk.js";import{u as T}from"./ZQHAaDA4.chunk.js";import{u as j}from"./DADu9kRW.chunk.js";import"./8ED1-ESq.chunk.js";import"./BI-Q7Pp8.chunk.js";import"./tDL65UQp.chunk.js";import"./nRcKatki.chunk.js";import"./BlDVEZsX.chunk.js";import"./Bdc13avs.chunk.js";import"./pkzD5BEm.chunk.js";import"./ClAFGXub.chunk.js";import"./BfXH3uXe.chunk.js";import"./jNYdSQcK.chunk.js";import"./BSl_jK0D.chunk.js";import"./B12bgIDA.chunk.js";import"./Kj832An8.chunk.js";import"./BB4BMfoF.chunk.js";import"./CL_sQPNd.chunk.js";import"./U--YIgy7.chunk.js";import"./B1T8c6eo.chunk.js";import"./BQzfQiXW.chunk.js";import"./CrO_Xwqt.chunk.js";import"./DnnefRY8.chunk.js";import"./CErthkSN.chunk.js";import"./BIjZARsn.chunk.js";import"./Da5Jh4ka.chunk.js";import"./B668bf5B.chunk.js";import"./CNPIxxmg.chunk.js";import"./BtGKm2NN.chunk.js";import"./BTcJz7pn.chunk.js";import"./B8lGJWZL.chunk.js";import"./DcF9nran.chunk.js";import"./B4yjmogh.chunk.js";import"./7kGPLcjV.chunk.js";function x(r){const{currentUser:t,region:i,config:e,program:a}=r,s=e.tvPreviewUrls[i.code],l=a.globalId.replace(/-/g,""),c=p.safeUrlConcat(s,`/thumbnail/${l}.jpg`),u=p.safeUrlConcat(s,`/144p/${l.toUpperCase()}_144p.mp4`),n=p.safeUrlConcat(s,`/subtitle/${l.toUpperCase()}.srt`),d=p.urlBuilder(p.safeUrlConcat(e.playerApiUrl,"/api/srt-to-vtt"),{url:n});return{videoId:null,episodeNumber:0,seriesName:null,mediaId:null,mediaType:null,ratingCode:null,region:t.instanceRegion,seasonNumber:null,viewerId:t.id,viewerCustomerId:t.customerId,files:{fileToken:"",progressive:[{mimeType:"video/mp4",profile:"144",url:u}]},chapters:{list:[]},instanceRegion:t.instanceRegion,localCacheAddresses:[],posterUrl:c,resources:{list:[]},settings:{showSubtitles:!1,playbackProfile:"144",playbackProfileLocalCache:"144",playbackSubtitleSizeDefault:"medium"},subtitles:{list:[{url:d,isDefault:!1,language:"en-AU",mimeType:"text/vtt",label:"English"}]},title:a.title}}function ce(r){var g;const t=m(b.region(r.region)),i=m(U.config()),e=m(b.program(r.id)),a=m(h.currentUser()),[s,l]=v.useState(),c=T("preview",t.data,s);j(t,!0),C(e.statusCode);function u(f){l(f),r.currentTime&&f.currentTime(r.currentTime)}const n=t.hasCompleted&&e.hasCompleted&&i.hasCompleted&&a.hasCompleted,d=n&&x({currentUser:a.data,region:t.data,config:i.data,program:e.data});return o.jsx(y,{title:(g=e.data)==null?void 0:g.title,closePopup:r.closePopup,showLoadingSpinner:!n,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",hideTitle:!0,children:n&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(P,{viewKey:null,offlinePlaybackObject:d,playerApi:new URL(i.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(w,{program:e.data,title:e.data.title,description:e.data.description,videoActions:c(e.data)}),o.jsx(R,{closePopup:r.closePopup})]})})}export{ce as TvPreviewView};
2
- //# sourceMappingURL=ntpj3L_6.chunk.js.map
1
+ import{U as p,a3 as m,R as v,j as o,P as y,aD as U,a5 as h}from"./app-BPynVn5M.js";import{u as C}from"./BNoOPqTl.chunk.js";import{C as P,P as w,a as R}from"./CkIeXG6b.chunk.js";import{T as b}from"./DOaducO2.chunk.js";import{u as T}from"./CCMRIPPt.chunk.js";import{u as j}from"./B6lOCBlR.chunk.js";import"./DTK-qxAt.chunk.js";import"./Gydr0_mB.chunk.js";import"./DOiD6is_.chunk.js";import"./lHEf7Dbp.chunk.js";import"./BlDVEZsX.chunk.js";import"./aNB3gltW.chunk.js";import"./pkzD5BEm.chunk.js";import"./B6XPihYg.chunk.js";import"./Dq6x6nwc.chunk.js";import"./Bmmwb7k_.chunk.js";import"./Gz6brJ7U.chunk.js";import"./CRucttfI.chunk.js";import"./Kj832An8.chunk.js";import"./BstEXc3S.chunk.js";import"./BEGjWnPj.chunk.js";import"./D0ez9lcb.chunk.js";import"./C3mFDLV3.chunk.js";import"./CShgo4dC.chunk.js";import"./EuVY33AH.chunk.js";import"./C-LPkfPE.chunk.js";import"./Dl3gfAlJ.chunk.js";import"./S3PkirNo.chunk.js";import"./B2N_hio2.chunk.js";import"./B668bf5B.chunk.js";import"./Cy7IUYF-.chunk.js";import"./RTHvayT_.chunk.js";import"./CChgvLUa.chunk.js";import"./DKKFbyeH.chunk.js";import"./DBXJjLCV.chunk.js";import"./DqA_gGV1.chunk.js";import"./CnY4exCI.chunk.js";function x(r){const{currentUser:t,region:i,config:e,program:a}=r,s=e.tvPreviewUrls[i.code],l=a.globalId.replace(/-/g,""),c=p.safeUrlConcat(s,`/thumbnail/${l}.jpg`),u=p.safeUrlConcat(s,`/144p/${l.toUpperCase()}_144p.mp4`),n=p.safeUrlConcat(s,`/subtitle/${l.toUpperCase()}.srt`),d=p.urlBuilder(p.safeUrlConcat(e.playerApiUrl,"/api/srt-to-vtt"),{url:n});return{videoId:null,episodeNumber:0,seriesName:null,mediaId:null,mediaType:null,ratingCode:null,region:t.instanceRegion,seasonNumber:null,viewerId:t.id,viewerCustomerId:t.customerId,files:{fileToken:"",progressive:[{mimeType:"video/mp4",profile:"144",url:u}]},chapters:{list:[]},instanceRegion:t.instanceRegion,localCacheAddresses:[],posterUrl:c,resources:{list:[]},settings:{showSubtitles:!1,playbackProfile:"144",playbackProfileLocalCache:"144",playbackSubtitleSizeDefault:"medium"},subtitles:{list:[{url:d,isDefault:!1,language:"en-AU",mimeType:"text/vtt",label:"English"}]},title:a.title}}function ce(r){var g;const t=m(b.region(r.region)),i=m(U.config()),e=m(b.program(r.id)),a=m(h.currentUser()),[s,l]=v.useState(),c=T("preview",t.data,s);j(t,!0),C(e.statusCode);function u(f){l(f),r.currentTime&&f.currentTime(r.currentTime)}const n=t.hasCompleted&&e.hasCompleted&&i.hasCompleted&&a.hasCompleted,d=n&&x({currentUser:a.data,region:t.data,config:i.data,program:e.data});return o.jsx(y,{title:(g=e.data)==null?void 0:g.title,closePopup:r.closePopup,showLoadingSpinner:!n,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",hideTitle:!0,children:n&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(P,{viewKey:null,offlinePlaybackObject:d,playerApi:new URL(i.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(w,{program:e.data,title:e.data.title,description:e.data.description,videoActions:c(e.data)}),o.jsx(R,{closePopup:r.closePopup})]})})}export{ce as TvPreviewView};
2
+ //# sourceMappingURL=CFW_ZII3.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ntpj3L_6.chunk.js","sources":["../../src/apps/tv/views/tv-preview/utils/getTvPlaybackObject.ts","../../src/apps/tv/views/tv-preview/TvPreviewView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { RegionName } from 'libs/analytics/enums/RegionName';\n\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { PlaybackObject } from 'projects/player/interfaces/models/PlaybackObject';\n\nimport { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\ninterface GetTvPlaybackObjectOptions {\n currentUser: CurrentUser;\n region: TvRegion;\n config: ExchangeConfig;\n program: TvProgram;\n}\n\nexport function getTvPlaybackObject(options: GetTvPlaybackObjectOptions): PlaybackObject {\n const { currentUser, region, config, program } = options;\n\n const previewUrl = config.tvPreviewUrls[region.code];\n\n const globalId = program.globalId.replace(/-/g, '');\n\n const thumbnailUrl = UrlHelper.safeUrlConcat(\n previewUrl,\n `/thumbnail/${globalId}.jpg`\n );\n const fileUrl = UrlHelper.safeUrlConcat(\n previewUrl,\n `/144p/${globalId.toUpperCase()}_144p.mp4`\n );\n const subtitleLocation = UrlHelper.safeUrlConcat(\n previewUrl,\n `/subtitle/${globalId.toUpperCase()}.srt`\n );\n const subtitleUrl = UrlHelper.urlBuilder(\n UrlHelper.safeUrlConcat(config.playerApiUrl, `/api/srt-to-vtt`),\n { url: subtitleLocation }\n );\n\n return ({\n videoId: null,\n episodeNumber: 0,\n seriesName: null,\n mediaId: null,\n mediaType: null,\n ratingCode: null,\n region: currentUser.instanceRegion,\n seasonNumber: null,\n viewerId: currentUser.id,\n viewerCustomerId: currentUser.customerId,\n files: {\n fileToken: '',\n progressive: [{\n mimeType: 'video/mp4',\n profile: '144',\n url: fileUrl\n }]\n },\n chapters: { list: []},\n instanceRegion: currentUser.instanceRegion as unknown as RegionName,\n localCacheAddresses: [],\n posterUrl: thumbnailUrl,\n resources: { list: []},\n settings: {\n showSubtitles: false,\n playbackProfile: '144',\n playbackProfileLocalCache: '144',\n playbackSubtitleSizeDefault: 'medium'\n },\n subtitles: {\n list: [{\n url: subtitleUrl,\n isDefault: false,\n language: 'en-AU',\n mimeType: 'text/vtt',\n label: 'English'\n }]\n },\n title: program.title\n });\n}","import React from 'react';\n\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 { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { CurrentUser, PopupViewProps } 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 { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useGetTvActions } from 'apps/tv/hooks/useGetTvActions';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport { getTvPlaybackObject } from './utils/getTvPlaybackObject';\n\ninterface TvPreviewViewProps extends PopupViewProps {\n id: string;\n region: string;\n currentTime: number;\n}\n\nexport function TvPreviewView(props: TvPreviewViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const config = Flight.useBasicFetch<ExchangeConfig>(ConfigRequests.config());\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(props.id));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const [ playerRef, setPlayerRef ] = React.useState<PlayerReference>();\n\n const getVideoActions = useGetTvActions('preview', region.data, playerRef);\n\n useHandleRegionError(region, true);\n useHandleDialogError(program.statusCode);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n setPlayerRef(player);\n\n if (props.currentTime)\n player.currentTime(props.currentTime);\n // setupAnalytics(player);\n }\n\n const dataLoaded = (\n region.hasCompleted &&\n program.hasCompleted &&\n config.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const playbackObject = dataLoaded && getTvPlaybackObject({\n currentUser: currentUser.data,\n region: region.data,\n config: config.data,\n program: program.data\n });\n\n return (\n <Popup\n title={program.data?.title}\n closePopup={props.closePopup}\n showLoadingSpinner={!dataLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n hideTitle\n >\n {dataLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={null}\n offlinePlaybackObject={playbackObject}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n program={program.data}\n title={program.data.title}\n description={program.data.description}\n videoActions={getVideoActions(program.data)}\n />\n <PlayerOverlayButtons closePopup={props.closePopup} />\n </>\n }\n </Popup>\n );\n}"],"names":["getTvPlaybackObject","options","currentUser","region","config","program","previewUrl","globalId","thumbnailUrl","UrlHelper","fileUrl","subtitleLocation","subtitleUrl","TvPreviewView","props","Flight.useBasicFetch","TvRequests","ConfigRequests","UserRequests","playerRef","setPlayerRef","React","getVideoActions","useGetTvActions","useHandleRegionError","useHandleDialogError","onReady","player","dataLoaded","playbackObject","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"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"}
1
+ {"version":3,"file":"CFW_ZII3.chunk.js","sources":["../../src/apps/tv/views/tv-preview/utils/getTvPlaybackObject.ts","../../src/apps/tv/views/tv-preview/TvPreviewView.tsx"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { RegionName } from 'libs/analytics/enums/RegionName';\n\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { PlaybackObject } from 'projects/player/interfaces/models/PlaybackObject';\n\nimport { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\ninterface GetTvPlaybackObjectOptions {\n currentUser: CurrentUser;\n region: TvRegion;\n config: ExchangeConfig;\n program: TvProgram;\n}\n\nexport function getTvPlaybackObject(options: GetTvPlaybackObjectOptions): PlaybackObject {\n const { currentUser, region, config, program } = options;\n\n const previewUrl = config.tvPreviewUrls[region.code];\n\n const globalId = program.globalId.replace(/-/g, '');\n\n const thumbnailUrl = UrlHelper.safeUrlConcat(\n previewUrl,\n `/thumbnail/${globalId}.jpg`\n );\n const fileUrl = UrlHelper.safeUrlConcat(\n previewUrl,\n `/144p/${globalId.toUpperCase()}_144p.mp4`\n );\n const subtitleLocation = UrlHelper.safeUrlConcat(\n previewUrl,\n `/subtitle/${globalId.toUpperCase()}.srt`\n );\n const subtitleUrl = UrlHelper.urlBuilder(\n UrlHelper.safeUrlConcat(config.playerApiUrl, `/api/srt-to-vtt`),\n { url: subtitleLocation }\n );\n\n return ({\n videoId: null,\n episodeNumber: 0,\n seriesName: null,\n mediaId: null,\n mediaType: null,\n ratingCode: null,\n region: currentUser.instanceRegion,\n seasonNumber: null,\n viewerId: currentUser.id,\n viewerCustomerId: currentUser.customerId,\n files: {\n fileToken: '',\n progressive: [{\n mimeType: 'video/mp4',\n profile: '144',\n url: fileUrl\n }]\n },\n chapters: { list: []},\n instanceRegion: currentUser.instanceRegion as unknown as RegionName,\n localCacheAddresses: [],\n posterUrl: thumbnailUrl,\n resources: { list: []},\n settings: {\n showSubtitles: false,\n playbackProfile: '144',\n playbackProfileLocalCache: '144',\n playbackSubtitleSizeDefault: 'medium'\n },\n subtitles: {\n list: [{\n url: subtitleUrl,\n isDefault: false,\n language: 'en-AU',\n mimeType: 'text/vtt',\n label: 'English'\n }]\n },\n title: program.title\n });\n}","import React from 'react';\n\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 { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { CurrentUser, PopupViewProps } 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 { ExchangeConfig } from 'shared/interfaces/ExchangeConfig';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useGetTvActions } from 'apps/tv/hooks/useGetTvActions';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport { getTvPlaybackObject } from './utils/getTvPlaybackObject';\n\ninterface TvPreviewViewProps extends PopupViewProps {\n id: string;\n region: string;\n currentTime: number;\n}\n\nexport function TvPreviewView(props: TvPreviewViewProps): JSX.Element {\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const config = Flight.useBasicFetch<ExchangeConfig>(ConfigRequests.config());\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(props.id));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const [ playerRef, setPlayerRef ] = React.useState<PlayerReference>();\n\n const getVideoActions = useGetTvActions('preview', region.data, playerRef);\n\n useHandleRegionError(region, true);\n useHandleDialogError(program.statusCode);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n setPlayerRef(player);\n\n if (props.currentTime)\n player.currentTime(props.currentTime);\n // setupAnalytics(player);\n }\n\n const dataLoaded = (\n region.hasCompleted &&\n program.hasCompleted &&\n config.hasCompleted &&\n currentUser.hasCompleted\n );\n\n const playbackObject = dataLoaded && getTvPlaybackObject({\n currentUser: currentUser.data,\n region: region.data,\n config: config.data,\n program: program.data\n });\n\n return (\n <Popup\n title={program.data?.title}\n closePopup={props.closePopup}\n showLoadingSpinner={!dataLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n hideTitle\n >\n {dataLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={null}\n offlinePlaybackObject={playbackObject}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n program={program.data}\n title={program.data.title}\n description={program.data.description}\n videoActions={getVideoActions(program.data)}\n />\n <PlayerOverlayButtons closePopup={props.closePopup} />\n </>\n }\n </Popup>\n );\n}"],"names":["getTvPlaybackObject","options","currentUser","region","config","program","previewUrl","globalId","thumbnailUrl","UrlHelper","fileUrl","subtitleLocation","subtitleUrl","TvPreviewView","props","Flight.useBasicFetch","TvRequests","ConfigRequests","UserRequests","playerRef","setPlayerRef","React","getVideoActions","useGetTvActions","useHandleRegionError","useHandleDialogError","onReady","player","dataLoaded","playbackObject","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"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"}