@clickview/exchange 0.49.0 → 0.50.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  2. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  3. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  4. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  5. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  6. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  10. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  11. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  12. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  16. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  17. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  18. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  19. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  20. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  21. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  22. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  23. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  26. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  27. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  28. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  29. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  30. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  31. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  32. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  33. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  34. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  35. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  36. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  43. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  44. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  45. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  46. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  47. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  48. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  49. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  50. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  51. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  52. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  53. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  54. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  55. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  56. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  57. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  58. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  59. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  60. package/dist/bundles.json +2 -2
  61. package/dist/css/B57G3PZD.chunk.css +1 -0
  62. package/dist/css/BBV1d-ZI.chunk.css +1 -0
  63. package/dist/css/BDOTXlob.chunk.css +1 -0
  64. package/dist/css/BIeUeS4h.chunk.css +1 -0
  65. package/dist/css/BPdg7JW4.chunk.css +1 -0
  66. package/dist/css/BiRz4h1c.chunk.css +1 -0
  67. package/dist/css/Bt3pBBLn.chunk.css +1 -0
  68. package/dist/css/Bz8F9buU.chunk.css +1 -0
  69. package/dist/css/C2R4QydJ.chunk.css +1 -0
  70. package/dist/css/C7XoyEPr.chunk.css +1 -0
  71. package/dist/css/CAdv9Saa.chunk.css +1 -0
  72. package/dist/css/CC5F5C8O.chunk.css +1 -0
  73. package/dist/css/CCsCPLDG.chunk.css +1 -0
  74. package/dist/css/CD1qrI1T.chunk.css +1 -0
  75. package/dist/css/CDiJwtuL.chunk.css +1 -0
  76. package/dist/css/CM-cscAF.chunk.css +1 -0
  77. package/dist/css/CY0yvCW4.chunk.css +1 -0
  78. package/dist/css/Ci6HCTb5.chunk.css +1 -0
  79. package/dist/css/CifDVjr-.chunk.css +1 -0
  80. package/dist/css/CphXVlxY.chunk.css +1 -0
  81. package/dist/css/CrSv-tYo.chunk.css +1 -0
  82. package/dist/css/DD13UQOa.chunk.css +1 -0
  83. package/dist/css/DGyCCqtO.chunk.css +1 -0
  84. package/dist/css/DI4l_5OJ.chunk.css +1 -0
  85. package/dist/css/DL_jCfRl.chunk.css +1 -0
  86. package/dist/css/DRlDmMhN.chunk.css +1 -0
  87. package/dist/css/Dkh6sNpi.chunk.css +1 -0
  88. package/dist/css/DlOtoSz0.chunk.css +1 -0
  89. package/dist/css/DnhNnDZN.chunk.css +1 -0
  90. package/dist/css/EnQ3abug.chunk.css +1 -0
  91. package/dist/css/O777zV0C.chunk.css +1 -0
  92. package/dist/css/fs02hBfZ.chunk.css +1 -0
  93. package/dist/css/jbMisi9r.chunk.css +1 -0
  94. package/dist/css/w4TLT4f5.chunk.css +1 -0
  95. package/dist/en.json +1 -0
  96. package/dist/scripts/-rDA7laA.chunk.js +2 -0
  97. package/dist/scripts/-rDA7laA.chunk.js.map +1 -0
  98. package/dist/scripts/1oBN4k-t.chunk.js +2 -0
  99. package/dist/scripts/1oBN4k-t.chunk.js.map +1 -0
  100. package/dist/scripts/5EeDosB6.chunk.js +15 -0
  101. package/dist/scripts/5EeDosB6.chunk.js.map +1 -0
  102. package/dist/scripts/6D5NxiDj.chunk.js +2 -0
  103. package/dist/scripts/6D5NxiDj.chunk.js.map +1 -0
  104. package/dist/scripts/7fC_wUI0.chunk.js +2 -0
  105. package/dist/scripts/7fC_wUI0.chunk.js.map +1 -0
  106. package/dist/scripts/B1QnQX6X.chunk.js +2 -0
  107. package/dist/scripts/B1QnQX6X.chunk.js.map +1 -0
  108. package/dist/scripts/B5a9j4D_.chunk.js +2 -0
  109. package/dist/scripts/B5a9j4D_.chunk.js.map +1 -0
  110. package/dist/scripts/B668bf5B.chunk.js +2 -0
  111. package/dist/scripts/B668bf5B.chunk.js.map +1 -0
  112. package/dist/scripts/B93FMGSP.chunk.js +2 -0
  113. package/dist/scripts/B93FMGSP.chunk.js.map +1 -0
  114. package/dist/scripts/BBhJOnJs.chunk.js +2 -0
  115. package/dist/scripts/BBhJOnJs.chunk.js.map +1 -0
  116. package/dist/scripts/BHy7EHYB.chunk.js +2 -0
  117. package/dist/scripts/BHy7EHYB.chunk.js.map +1 -0
  118. package/dist/scripts/BI7-pkuo.chunk.js +2 -0
  119. package/dist/scripts/BI7-pkuo.chunk.js.map +1 -0
  120. package/dist/scripts/BNoyVB0N.chunk.js +2 -0
  121. package/dist/scripts/BNoyVB0N.chunk.js.map +1 -0
  122. package/dist/scripts/BOzZT1qL.chunk.js +2 -0
  123. package/dist/scripts/BOzZT1qL.chunk.js.map +1 -0
  124. package/dist/scripts/BTq4W22K.chunk.js +2 -0
  125. package/dist/scripts/BTq4W22K.chunk.js.map +1 -0
  126. package/dist/scripts/BeyY1CwV.chunk.js +2 -0
  127. package/dist/scripts/BeyY1CwV.chunk.js.map +1 -0
  128. package/dist/scripts/Bi0GaEZE.chunk.js +2 -0
  129. package/dist/scripts/Bi0GaEZE.chunk.js.map +1 -0
  130. package/dist/scripts/Bksx5ui9.chunk.js +2 -0
  131. package/dist/scripts/Bksx5ui9.chunk.js.map +1 -0
  132. package/dist/scripts/BlDVEZsX.chunk.js +2 -0
  133. package/dist/scripts/BlDVEZsX.chunk.js.map +1 -0
  134. package/dist/scripts/BoXsW16j.chunk.js +2 -0
  135. package/dist/scripts/BoXsW16j.chunk.js.map +1 -0
  136. package/dist/scripts/BopIehJE.chunk.js +2 -0
  137. package/dist/scripts/BopIehJE.chunk.js.map +1 -0
  138. package/dist/scripts/BpkgwVDj.chunk.js +2 -0
  139. package/dist/scripts/BpkgwVDj.chunk.js.map +1 -0
  140. package/dist/scripts/Bq1eQRV_.chunk.js +2 -0
  141. package/dist/scripts/Bq1eQRV_.chunk.js.map +1 -0
  142. package/dist/scripts/Bsw4ZO9U.chunk.js +2 -0
  143. package/dist/scripts/Bsw4ZO9U.chunk.js.map +1 -0
  144. package/dist/scripts/BuawzJwd.chunk.js +2 -0
  145. package/dist/scripts/BuawzJwd.chunk.js.map +1 -0
  146. package/dist/scripts/BvnJNI_Y.chunk.js +2 -0
  147. package/dist/scripts/BvnJNI_Y.chunk.js.map +1 -0
  148. package/dist/scripts/Bz18U45-.chunk.js +2 -0
  149. package/dist/scripts/Bz18U45-.chunk.js.map +1 -0
  150. package/dist/scripts/C36BgTJV.chunk.js +2 -0
  151. package/dist/scripts/C36BgTJV.chunk.js.map +1 -0
  152. package/dist/scripts/C5r1_Fc_.chunk.js +2 -0
  153. package/dist/scripts/C5r1_Fc_.chunk.js.map +1 -0
  154. package/dist/scripts/C6bEPV55.chunk.js +2 -0
  155. package/dist/scripts/C6bEPV55.chunk.js.map +1 -0
  156. package/dist/scripts/C7lfPlyo.chunk.js +2 -0
  157. package/dist/scripts/C7lfPlyo.chunk.js.map +1 -0
  158. package/dist/scripts/C8aildLX.chunk.js +2 -0
  159. package/dist/scripts/C8aildLX.chunk.js.map +1 -0
  160. package/dist/scripts/C8geGHZf.chunk.js +2 -0
  161. package/dist/scripts/C8geGHZf.chunk.js.map +1 -0
  162. package/dist/scripts/C97fjHLE.chunk.js +2 -0
  163. package/dist/scripts/C97fjHLE.chunk.js.map +1 -0
  164. package/dist/scripts/C99JIGI3.chunk.js +2 -0
  165. package/dist/scripts/C99JIGI3.chunk.js.map +1 -0
  166. package/dist/scripts/CBTOSLnS.chunk.js +2 -0
  167. package/dist/scripts/CBTOSLnS.chunk.js.map +1 -0
  168. package/dist/scripts/CBlUYGqN.chunk.js +2 -0
  169. package/dist/scripts/CBlUYGqN.chunk.js.map +1 -0
  170. package/dist/scripts/CDVd8Gzo.chunk.js +2 -0
  171. package/dist/scripts/CDVd8Gzo.chunk.js.map +1 -0
  172. package/dist/scripts/CEZiVSXU.chunk.js +2 -0
  173. package/dist/scripts/CEZiVSXU.chunk.js.map +1 -0
  174. package/dist/scripts/CHPVU_Qn.chunk.js +362 -0
  175. package/dist/scripts/CHPVU_Qn.chunk.js.map +1 -0
  176. package/dist/scripts/CHa6bZJR.chunk.js +2 -0
  177. package/dist/scripts/CHa6bZJR.chunk.js.map +1 -0
  178. package/dist/scripts/CJ3oIQlG.chunk.js +2 -0
  179. package/dist/scripts/CJ3oIQlG.chunk.js.map +1 -0
  180. package/dist/scripts/CRomQTdh.chunk.js +50 -0
  181. package/dist/scripts/CRomQTdh.chunk.js.map +1 -0
  182. package/dist/scripts/CRuObGvW.chunk.js +2 -0
  183. package/dist/scripts/CRuObGvW.chunk.js.map +1 -0
  184. package/dist/scripts/CX6fV4JE.chunk.js +2 -0
  185. package/dist/scripts/CX6fV4JE.chunk.js.map +1 -0
  186. package/dist/scripts/CYuY28rl.chunk.js +2 -0
  187. package/dist/scripts/CYuY28rl.chunk.js.map +1 -0
  188. package/dist/scripts/C_sNZ3q9.chunk.js +2 -0
  189. package/dist/scripts/C_sNZ3q9.chunk.js.map +1 -0
  190. package/dist/scripts/CdGLJKZk.chunk.js +2 -0
  191. package/dist/scripts/CdGLJKZk.chunk.js.map +1 -0
  192. package/dist/scripts/Cdo-iAIt.chunk.js +2 -0
  193. package/dist/scripts/Cdo-iAIt.chunk.js.map +1 -0
  194. package/dist/scripts/CeVw08Ln.chunk.js +2 -0
  195. package/dist/scripts/CeVw08Ln.chunk.js.map +1 -0
  196. package/dist/scripts/CfRzFJ31.chunk.js +2 -0
  197. package/dist/scripts/CfRzFJ31.chunk.js.map +1 -0
  198. package/dist/scripts/CiRJHxmU.chunk.js +8 -0
  199. package/dist/scripts/CiRJHxmU.chunk.js.map +1 -0
  200. package/dist/scripts/CidPoXbD.chunk.js +2 -0
  201. package/dist/scripts/CidPoXbD.chunk.js.map +1 -0
  202. package/dist/scripts/CmcCT6Mq.chunk.js +2 -0
  203. package/dist/scripts/CmcCT6Mq.chunk.js.map +1 -0
  204. package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
  205. package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
  206. package/dist/scripts/CrAxON7A.chunk.js +2 -0
  207. package/dist/scripts/CrAxON7A.chunk.js.map +1 -0
  208. package/dist/scripts/Ct_04zDE.chunk.js +2 -0
  209. package/dist/scripts/Ct_04zDE.chunk.js.map +1 -0
  210. package/dist/scripts/CtciUXp4.chunk.js +2 -0
  211. package/dist/scripts/CtciUXp4.chunk.js.map +1 -0
  212. package/dist/scripts/CxB8O87g.chunk.js +2 -0
  213. package/dist/scripts/CxB8O87g.chunk.js.map +1 -0
  214. package/dist/scripts/Cyhg-nBj.chunk.js +2 -0
  215. package/dist/scripts/Cyhg-nBj.chunk.js.map +1 -0
  216. package/dist/scripts/D1fkcw30.chunk.js +2 -0
  217. package/dist/scripts/D1fkcw30.chunk.js.map +1 -0
  218. package/dist/scripts/DHjeFsuP.chunk.js +5 -0
  219. package/dist/scripts/DHjeFsuP.chunk.js.map +1 -0
  220. package/dist/scripts/DRxJfu3A.chunk.js +2 -0
  221. package/dist/scripts/DRxJfu3A.chunk.js.map +1 -0
  222. package/dist/scripts/DT1DdOeu.chunk.js +2 -0
  223. package/dist/scripts/DT1DdOeu.chunk.js.map +1 -0
  224. package/dist/scripts/DU8kVZuh.chunk.js +2 -0
  225. package/dist/scripts/DU8kVZuh.chunk.js.map +1 -0
  226. package/dist/scripts/DWmgmt8-.chunk.js +2 -0
  227. package/dist/scripts/DWmgmt8-.chunk.js.map +1 -0
  228. package/dist/scripts/DXRtwYU8.chunk.js +2 -0
  229. package/dist/scripts/DXRtwYU8.chunk.js.map +1 -0
  230. package/dist/scripts/DYjoaCnl.chunk.js +2 -0
  231. package/dist/scripts/DYjoaCnl.chunk.js.map +1 -0
  232. package/dist/scripts/DbVI3h0V.chunk.js +2 -0
  233. package/dist/scripts/DbVI3h0V.chunk.js.map +1 -0
  234. package/dist/scripts/DcA5xG6o.chunk.js +2 -0
  235. package/dist/scripts/DcA5xG6o.chunk.js.map +1 -0
  236. package/dist/scripts/DgWxzhMg.chunk.js +2 -0
  237. package/dist/scripts/DgWxzhMg.chunk.js.map +1 -0
  238. package/dist/scripts/Dh_LRqD1.chunk.js +2 -0
  239. package/dist/scripts/Dh_LRqD1.chunk.js.map +1 -0
  240. package/dist/scripts/DiR2eKm4.chunk.js +2 -0
  241. package/dist/scripts/DiR2eKm4.chunk.js.map +1 -0
  242. package/dist/scripts/Dmfr0hZx.chunk.js +2 -0
  243. package/dist/scripts/Dmfr0hZx.chunk.js.map +1 -0
  244. package/dist/scripts/DsCrIxlP.chunk.js +2 -0
  245. package/dist/scripts/DsCrIxlP.chunk.js.map +1 -0
  246. package/dist/scripts/DuHiL0j5.chunk.js +2 -0
  247. package/dist/scripts/DuHiL0j5.chunk.js.map +1 -0
  248. package/dist/scripts/DwMcJ3Ip.chunk.js +2 -0
  249. package/dist/scripts/DwMcJ3Ip.chunk.js.map +1 -0
  250. package/dist/scripts/DxkmuWkI.chunk.js +2 -0
  251. package/dist/scripts/DxkmuWkI.chunk.js.map +1 -0
  252. package/dist/scripts/DzbCvkXx.chunk.js +2 -0
  253. package/dist/scripts/DzbCvkXx.chunk.js.map +1 -0
  254. package/dist/scripts/Kj832An8.chunk.js +2 -0
  255. package/dist/scripts/Kj832An8.chunk.js.map +1 -0
  256. package/dist/scripts/OpOTepmF.chunk.js +2 -0
  257. package/dist/scripts/OpOTepmF.chunk.js.map +1 -0
  258. package/dist/scripts/OvG1eOzS.chunk.js +6 -0
  259. package/dist/scripts/OvG1eOzS.chunk.js.map +1 -0
  260. package/dist/scripts/QfCSKVqV.chunk.js +2 -0
  261. package/dist/scripts/QfCSKVqV.chunk.js.map +1 -0
  262. package/dist/scripts/U4HYh7oC.chunk.js +2 -0
  263. package/dist/scripts/U4HYh7oC.chunk.js.map +1 -0
  264. package/dist/scripts/W8wegH66.chunk.js +2 -0
  265. package/dist/scripts/W8wegH66.chunk.js.map +1 -0
  266. package/dist/scripts/WHGl124l.chunk.js +2 -0
  267. package/dist/scripts/WHGl124l.chunk.js.map +1 -0
  268. package/dist/scripts/_sYSSSUN.chunk.js +2 -0
  269. package/dist/scripts/_sYSSSUN.chunk.js.map +1 -0
  270. package/dist/scripts/aFUDBFEd.chunk.js +2 -0
  271. package/dist/scripts/aFUDBFEd.chunk.js.map +1 -0
  272. package/dist/scripts/app-Det8y4U1.js +219 -0
  273. package/dist/scripts/app-Det8y4U1.js.map +1 -0
  274. package/dist/scripts/cw1CbjiZ.chunk.js +2 -0
  275. package/dist/scripts/cw1CbjiZ.chunk.js.map +1 -0
  276. package/dist/scripts/d_OewpIc.chunk.js +2 -0
  277. package/dist/scripts/d_OewpIc.chunk.js.map +1 -0
  278. package/dist/scripts/dnQMOuPg.chunk.js +2 -0
  279. package/dist/scripts/dnQMOuPg.chunk.js.map +1 -0
  280. package/dist/scripts/h68xZO90.chunk.js +2 -0
  281. package/dist/scripts/h68xZO90.chunk.js.map +1 -0
  282. package/dist/scripts/l-2DoY9E.chunk.js +2 -0
  283. package/dist/scripts/l-2DoY9E.chunk.js.map +1 -0
  284. package/dist/scripts/mALBAvSP.chunk.js +3 -0
  285. package/dist/scripts/mALBAvSP.chunk.js.map +1 -0
  286. package/dist/scripts/pkzD5BEm.chunk.js +2 -0
  287. package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
  288. package/dist/scripts/wKPIC1H3.chunk.js +2 -0
  289. package/dist/scripts/wKPIC1H3.chunk.js.map +1 -0
  290. package/dist/scripts/x8TB7tv6.chunk.js +2 -0
  291. package/dist/scripts/x8TB7tv6.chunk.js.map +1 -0
  292. package/dist/scripts/z6Us1EdG.chunk.js +2 -0
  293. package/dist/scripts/z6Us1EdG.chunk.js.map +1 -0
  294. package/package.json +7 -4
  295. package/typings/utils/env.d.ts +3 -0
  296. package/typings/utils/imports.d.ts +1 -1
  297. package/vite.config.ts +6 -0
  298. package/dist/css/1068-exchange-b5eaf8af44.chunk.css +0 -35
  299. package/dist/css/1127-exchange-0eab318199.chunk.css +0 -40
  300. package/dist/css/1226-exchange-217b44f8b4.chunk.css +0 -57
  301. package/dist/css/1861-exchange-f3ff7e4f0d.chunk.css +0 -85
  302. package/dist/css/2494-exchange-02d7a0249c.chunk.css +0 -2
  303. package/dist/css/2538-exchange-4cbfe56ba3.chunk.css +0 -1
  304. package/dist/css/3291-exchange-3a8e198338.chunk.css +0 -11
  305. package/dist/css/3858-exchange-06944bdfa4.chunk.css +0 -1
  306. package/dist/css/4075-exchange-6d2304419c.chunk.css +0 -5
  307. package/dist/css/5027-exchange-2284222ca6.chunk.css +0 -25
  308. package/dist/css/6298-exchange-78ece5c7c5.chunk.css +0 -37
  309. package/dist/css/6332-exchange-2a22bfa655.chunk.css +0 -1
  310. package/dist/css/6356-exchange-8c5b220bf6.chunk.css +0 -1
  311. package/dist/css/7095-exchange-4cbfe56ba3.chunk.css +0 -1
  312. package/dist/css/7759-exchange-23bb5dd175.chunk.css +0 -8
  313. package/dist/css/8294-exchange-c797263ac2.chunk.css +0 -1
  314. package/dist/css/8589-exchange-71b6bc18f9.chunk.css +0 -11
  315. package/dist/css/8866-exchange-e80e6c6649.chunk.css +0 -10
  316. package/dist/css/9212-exchange-d71527fc65.chunk.css +0 -1
  317. package/dist/css/9611-exchange-cbf2bb5621.chunk.css +0 -5
  318. package/dist/css/9958-exchange-1387f35e92.chunk.css +0 -14
  319. package/dist/css/lite-exchange-306a09841f.css +0 -15
  320. package/dist/languages/en.json +0 -1
  321. package/dist/scripts/1068-0b00683666-exchange.chunk.js +0 -1
  322. package/dist/scripts/1127-356b23351e-exchange.chunk.js +0 -1
  323. package/dist/scripts/1136-4d8336cfdf-exchange.chunk.js +0 -2
  324. package/dist/scripts/1136-4d8336cfdf-exchange.chunk.js.LICENSE.txt +0 -1
  325. package/dist/scripts/1226-a4c0643661-exchange.chunk.js +0 -1
  326. package/dist/scripts/1861-5966a23e19-exchange.chunk.js +0 -2
  327. package/dist/scripts/1861-5966a23e19-exchange.chunk.js.LICENSE.txt +0 -1
  328. package/dist/scripts/2087-bbc1fd721f-exchange.chunk.js +0 -1
  329. package/dist/scripts/2117-5d867c698d-exchange.chunk.js +0 -1
  330. package/dist/scripts/2127-71bf57d74b-exchange.chunk.js +0 -1
  331. package/dist/scripts/2494-98cce57764-exchange.chunk.js +0 -2
  332. package/dist/scripts/2494-98cce57764-exchange.chunk.js.LICENSE.txt +0 -1
  333. package/dist/scripts/2507-1911a9bdb2-exchange.chunk.js +0 -1
  334. package/dist/scripts/2538-997edb9433-exchange.chunk.js +0 -2
  335. package/dist/scripts/2538-997edb9433-exchange.chunk.js.LICENSE.txt +0 -1
  336. package/dist/scripts/2648-4197959943-exchange.chunk.js +0 -1
  337. package/dist/scripts/2877-eee7fe484e-exchange.chunk.js +0 -1
  338. package/dist/scripts/3291-f9ccc2ea28-exchange.chunk.js +0 -1
  339. package/dist/scripts/3858-cd9d38c31c-exchange.chunk.js +0 -1
  340. package/dist/scripts/4075-6624f96fc6-exchange.chunk.js +0 -1
  341. package/dist/scripts/4299-36e5929cc6-exchange.chunk.js +0 -1
  342. package/dist/scripts/4312-552ca118ad-exchange.chunk.js +0 -1
  343. package/dist/scripts/442-47e3927b49-exchange.chunk.js +0 -1
  344. package/dist/scripts/455-ceeb969c54-exchange.chunk.js +0 -1
  345. package/dist/scripts/4558-057650ef22-exchange.chunk.js +0 -1
  346. package/dist/scripts/5027-357264982b-exchange.chunk.js +0 -1
  347. package/dist/scripts/5173-9cde8f68d3-exchange.chunk.js +0 -1
  348. package/dist/scripts/5267-443f3cdd59-exchange.chunk.js +0 -1
  349. package/dist/scripts/601-a3c22b0a9f-exchange.chunk.js +0 -1
  350. package/dist/scripts/6156-2bf99d5991-exchange.chunk.js +0 -1
  351. package/dist/scripts/6298-1c7a0ba516-exchange.chunk.js +0 -1
  352. package/dist/scripts/6332-9d2d42e2f9-exchange.chunk.js +0 -1
  353. package/dist/scripts/6356-dd8ff70cbb-exchange.chunk.js +0 -1
  354. package/dist/scripts/6725-25d1542dec-exchange.chunk.js +0 -1
  355. package/dist/scripts/6831-30fa3e741e-exchange.chunk.js +0 -1
  356. package/dist/scripts/7095-ee45499a0d-exchange.chunk.js +0 -2
  357. package/dist/scripts/7095-ee45499a0d-exchange.chunk.js.LICENSE.txt +0 -1
  358. package/dist/scripts/7170-cc2ea0de18-exchange.chunk.js +0 -1
  359. package/dist/scripts/7759-2740213eb8-exchange.chunk.js +0 -1
  360. package/dist/scripts/7782-36924dba92-exchange.chunk.js +0 -1
  361. package/dist/scripts/7925-978cf5d7fb-exchange.chunk.js +0 -1
  362. package/dist/scripts/851-d89fb94a66-exchange.chunk.js +0 -2
  363. package/dist/scripts/851-d89fb94a66-exchange.chunk.js.LICENSE.txt +0 -1
  364. package/dist/scripts/8536-dc903c2f54-exchange.chunk.js +0 -1
  365. package/dist/scripts/8589-912ab9f055-exchange.chunk.js +0 -1
  366. package/dist/scripts/8619-e5f595a594-exchange.chunk.js +0 -1
  367. package/dist/scripts/8866-0993e6b43a-exchange.chunk.js +0 -1
  368. package/dist/scripts/8937-727d080ed9-exchange.chunk.js +0 -1
  369. package/dist/scripts/9212-e8bde56a84-exchange.chunk.js +0 -1
  370. package/dist/scripts/9414-85c7657c8f-exchange.chunk.js +0 -2
  371. package/dist/scripts/9414-85c7657c8f-exchange.chunk.js.LICENSE.txt +0 -60
  372. package/dist/scripts/9566-0625fb0cbe-exchange.chunk.js +0 -1
  373. package/dist/scripts/9611-6fe32ccc83-exchange.chunk.js +0 -1
  374. package/dist/scripts/9866-2d10067a4e-exchange.chunk.js +0 -1
  375. package/dist/scripts/9899-2b571c961b-exchange.chunk.js +0 -1
  376. package/dist/scripts/9958-7f8f5ae2c6-exchange.chunk.js +0 -2
  377. package/dist/scripts/9958-7f8f5ae2c6-exchange.chunk.js.LICENSE.txt +0 -1
  378. package/dist/scripts/bundle-1ce30e6578.min.js +0 -2
  379. package/dist/scripts/bundle-1ce30e6578.min.js.LICENSE.txt +0 -108
@@ -0,0 +1,2 @@
1
+ import{D as h,U as g,L as u,a2 as d,a4 as m,a9 as f,aC as p,q as E,a5 as P}from"./app-Det8y4U1.js";import{u as U}from"./C36BgTJV.chunk.js";const c="shared.verifiedEmailError";class q extends h{constructor(e,r,s){super("VerifiedEmailRequiredError"),this.message=e,this.liteUrl=r,this.hasLite=s}get name(){return"VerifiedEmailRequiredError"}get dialogOptions(){const e=g.safeUrlConcat(this.liteUrl,"settings/account");return{title:u.getPhrase(c,"heading"),text:this.hasLite?`${this.message} ${u.getPhrase(c,"visitSettings",{href:e})}`:this.message,buttons:[{text:u.getPhrase(c,"close"),className:"btn btn-dark",success:!0}]}}}const R=()=>{var a;const t=d(m.currentUser()),e=d(((a=t.data)==null?void 0:a.isAuthenticated)&&f.userProducts()),r=!e.hasCompleted;return{hasProduct:i=>{var o;return r||e.hasError||!((o=e.data)!=null&&o.length)?!1:e.data.some(n=>n.id===i)},products:e,isLoadingProducts:r}};function S(){const t=U(),{hasProduct:e,isLoadingProducts:r}=R(),s=d(p.config());function a(i,o,n){var l;if(!i.responseJSON||((l=i.responseJSON)==null?void 0:l.type)!=="no-email"){t.error(o);return}E.throw(new q(n,s.data.liteUrl,e(P.Primary)))}return{handleGenerateReportError:a,loading:!s.hasCompleted||r}}export{S as u};
2
+ //# sourceMappingURL=CRuObGvW.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CRuObGvW.chunk.js","sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite\n ? `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}`\n : this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}"],"names":["namespace","VerifiedEmailRequiredError","DialogError","message","liteUrl","hasLite","href","UrlHelper","LanguageService","useProducts","currentUser","Flight.useBasicFetch","UserRequests","products","_a","ProductRequests","isLoadingProducts","productId","product","useVerifiedEmailRequiredErrorHandler","alerts","useAlerts","hasProduct","config","ConfigRequests","handleGenerateReportError","xhr","noEmailError","Core.ErrorHelper","ProductId"],"mappings":"2IAMA,MAAMA,EAAY,4BAEX,MAAMC,UAAmCC,CAAY,CAK1D,YAAYC,EAAiBC,EAAiBC,EAAkB,CAC9D,MAAM,4BAA4B,EAElC,KAAK,QAAUF,EACf,KAAK,QAAUC,EACf,KAAK,QAAUC,CACjB,CAGA,IAAW,MAAe,CACxB,MAAO,4BACT,CAGA,IAAW,eAA+B,CACxC,MAAMC,EAAOC,EAAU,cAAc,KAAK,QAAS,kBAAkB,EAErE,MAAO,CACL,MAAOC,EAAgB,UAAUR,EAAW,SAAS,EACrD,KAAM,KAAK,QACP,GAAG,KAAK,OAAO,IAAIQ,EAAgB,UAAUR,EAAW,gBAAiB,CAAE,KAAAM,CAAA,CAAM,CAAC,GAClF,KAAK,QACT,QAAS,CAAC,CACR,KAAME,EAAgB,UAAUR,EAAW,OAAO,EAClD,UAAW,eACX,QAAS,EAAA,CACV,CAAA,CAEL,CACF,CC3BO,MAAMS,EAAc,IAA2B,OACpD,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAAWF,IAAgCG,EAAAJ,EAAY,OAAZ,YAAAI,EAAkB,kBAAmBC,EAAgB,cAAc,EAC9GC,EAAoB,CAACH,EAAS,aAYpC,MAAO,CACL,WAXkBI,GAAyB,OAI3C,OAHID,GAAqBH,EAAS,UAG9B,GAACC,EAAAD,EAAS,OAAT,MAAAC,EAAe,QACX,GAEFD,EAAS,KAAK,KAAKK,GAAWA,EAAQ,KAAOD,CAAS,CAC/D,EAIE,SAAAJ,EACA,kBAAAG,CAAA,CAEJ,ECxBO,SAASG,GAAuC,CACrD,MAAMC,EAASC,EAAA,EACT,CAAE,WAAAC,EAAY,kBAAAN,CAAA,EAAsBP,EAAA,EACpCc,EAASZ,EAA6Ba,EAAe,QAAQ,EAEnE,SAASC,EAA0BC,EAAUvB,EAAiBwB,EAAsB,OAClF,GAAI,CAACD,EAAI,gBAAgBZ,EAAAY,EAAI,eAAJ,YAAAZ,EAAkB,QAAS,WAAY,CAC9DM,EAAO,MAAMjB,CAAO,EACpB,MACF,CAEAyB,EAAiB,MACf,IAAI3B,EAA2B0B,EAAcJ,EAAO,KAAK,QAASD,EAAWO,EAAU,OAAO,CAAC,CAAA,CAEnG,CAEA,MAAO,CACL,0BAAAJ,EACA,QAAS,CAACF,EAAO,cAAgBP,CAAA,CAErC"}
@@ -0,0 +1,2 @@
1
+ import{j as a}from"./app-Det8y4U1.js";function h(l){return a.jsx("svg",{...l,children:a.jsx("path",{fill:"currentColor",d:"M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z"})})}function t(l){return a.jsx("svg",{...l,children:a.jsx("path",{d:"M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1",fill:"currentColor"})})}export{h as F,t as a};
2
+ //# sourceMappingURL=CX6fV4JE.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CX6fV4JE.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/FolderSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileImgSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function FolderSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileImgSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["FolderSvg","props","jsx","FileImgSvg"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,wYAAA,CAAA,EAEN,CAEJ,CCTO,SAASC,EAAWF,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iVACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{a7 as o,aO as r}from"./app-Det8y4U1.js";const a={preventScrollTop(){o.Radio.channel(r.SHELL).trigger("prevent:scroll:top")}};export{a as S};
2
+ //# sourceMappingURL=CYuY28rl.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CYuY28rl.chunk.js","sources":["../../../../libs/common/src/backbone/utils/ScrollHelper.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};"],"names":["ScrollHelper","Radio","CommonChannels"],"mappings":"+CAIO,MAAMA,EAAe,CAE1B,kBAAyB,CACvBC,EAAAA,MAAM,QAAQC,EAAe,KAAK,EAAE,QAAQ,oBAAoB,CAClE,CACF"}
@@ -0,0 +1,2 @@
1
+ import{ac as D,ad as H,ae as U,A as I,a as v,b as T,j as e,c as W,R,aA as L,ap as $,a2 as u,aS as B,aT as V,l as G,L as Y,aC as F}from"./app-Det8y4U1.js";import{h as q}from"./BOzZT1qL.chunk.js";import{u as K}from"./CfRzFJ31.chunk.js";import{P as _,A,a as Z}from"./BHy7EHYB.chunk.js";import{T as z,a as X}from"./DRxJfu3A.chunk.js";import{T as J,a as Q}from"./BBhJOnJs.chunk.js";import{T as j}from"./BuawzJwd.chunk.js";import{u as ee}from"./D1fkcw30.chunk.js";import{u as ae}from"./DuHiL0j5.chunk.js";import{t as te}from"./DWmgmt8-.chunk.js";import{P as se}from"./5EeDosB6.chunk.js";import{L as ne}from"./C8geGHZf.chunk.js";import{T as re}from"./OpOTepmF.chunk.js";import"./BopIehJE.chunk.js";import"./C99JIGI3.chunk.js";import"./CBlUYGqN.chunk.js";import"./DwMcJ3Ip.chunk.js";import"./BlDVEZsX.chunk.js";import"./Cyhg-nBj.chunk.js";import"./CX6fV4JE.chunk.js";const oe="_pillTabSelector_1d8n6_1",ie={pillTabSelector:oe},S=["#","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],ce={actionType:U.Click,entity:H.Url,location:D.MagicTabs};function le(s){const{startsWith:r,region:n}=s;let t=r;t==="0"&&(t="#");const o=S.map(a=>{let d=a;d==="#"&&(d="0");const i={application:T.TV,action:v.Tv.PROGRAMS,args:[n==null?void 0:n.code],params:{startsWith:d}};return{name:a,appLink:i,active:t===a,analyticsData:{name:a,url:I.getHref(i)},analyticsOptions:ce}});return e.jsx("div",{className:"mb-3",children:e.jsx(se,{tabs:o,className:ie.pillTabSelector})})}const de="_dateContainer_b9acj_1",me="_hover_b9acj_4",ge="_channelLogo_b9acj_7",pe="_channelLogoContainer_b9acj_10",ue="_programsContainer_b9acj_13",he="_date_b9acj_1",fe="_thumbnail_b9acj_27",m={dateContainer:de,hover:me,channelLogo:ge,channelLogoContainer:pe,programsContainer:ue,date:he,thumbnail:fe};function je(s){function r(n){const t=W.findWhere(s.channels,{name:n});return t==null?void 0:t.logoUrl}return e.jsx("div",{className:"mb-2",children:s.groupedPrograms.map(([n,t])=>e.jsxs("div",{className:"border-top d-flex pt-3 pb-2",children:[e.jsx("div",{className:`${m.channelLogoContainer} flex-shrink-0 mb-3`,children:e.jsx("img",{src:r(n),alt:n,className:`${m.channelLogo} ms-4`})}),e.jsx("div",{className:"w-100",children:t.map(([o,a])=>e.jsx(ve,{date:o,programs:a,tvPreviewUrls:s.tvPreviewUrls},o))})]},n))})}function ve(s){const[r,n]=R.useState();function t(a){switch(a.programType){case _.Video:return{application:T.TV,action:v.Tv.PREVIEW,args:[a.regionCode,a.id]};case _.Audio:return{application:T.TV,action:v.Tv.RADIO_DOWNLOAD,args:[a.id]}}}function o(a){const d=s.tvPreviewUrls[a.regionCode],i=a.globalId.split("-").join("");return`${d}/thumbnail/${i}.jpg`}return e.jsx("div",{className:`${m.dateContainer} ${r?m.hover:""} py-2 px-3 rounded`,children:e.jsxs("div",{className:"d-flex align-items-center",children:[e.jsx("div",{className:`${m.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`,children:e.jsx(ne,{src:o(r||s.programs[0]),alt:L.format(s.date,"D MMM"),extraClasses:"w-100 rounded"})}),e.jsxs("p",{className:`${m.date} fw-semibold flex-shrink-0 mb-0`,children:[L.format(s.date,"D MMM"),":"]}),e.jsx("div",{className:`${m.programsContainer} d-flex flex-wrap`,children:s.programs.map(a=>e.jsx("div",{onMouseEnter:()=>n(a),onMouseLeave:()=>n(null),children:e.jsx($,{appLink:t(a),className:"text-decoration-none",children:e.jsx(re,{program:a,showEndTime:!0})},a.id)},a.id))})]},s.date)})}const Te="tv.programs",xe=Y.encloseNamespace(Te),be=/^[a-zA-Z]/;function Ve(s){const r=s.startsWith||"A",n=u(F.config()),t=u(j.region(s.region)),o=u(j.regions()),a=u(j.dateRange(s.region)),d=u(t.data&&j.channels(t.data.code)),i=u(t.data&&a.data&&j.programsByLetter(t.data.code,r,a.data.startDate,a.data.endDate)),{setRegion:N}=ae(),{showTvGuide:y}=B(),E=R.useMemo(()=>{var C;if(!((C=i.data)!=null&&C.length))return[];const g={};i.data.forEach(c=>{s.startsWith==="0"&&be.test(c.title)||(g[c.title]||(g[c.title]=[]),g[c.title].push(c))});let h=Object.entries(g);return h=h.sort(([c],[x])=>c<x?-1:1),h.map(([c,x])=>{const w=x.reduce((l,p)=>{const f=p.channelName;l[f]||(l[f]={});const k=te(p.startTime,p.timeZone),b=L.format(k,"YYYY-MM-DD");return l[f][b]||(l[f][b]=[]),l[f][b].push(p),l},{}),O=Object.entries(w).map((([l,p])=>[l,Object.entries(p)]));return[c,O]})},[i.data]);[...S,"0"].includes(r)||q(V.BadRequest),ee(t),K([o,i]),G({title:xe("title")});const M=t.hasCompleted&&o.hasCompleted&&a.hasCompleted&&i.hasCompleted&&n.hasCompleted;return e.jsxs(e.Fragment,{children:[e.jsx(J,{region:t.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(z,{active:"programs",currentRegion:t.data,showTvGuide:y}),e.jsx(Q,{currentRegion:t.data,regions:o.data,appLink:{application:T.TV,action:v.Tv.PROGRAMS,params:{startsWith:r}},onClick:N})]}),e.jsx(X,{dateRange:a.data,region:t.data}),e.jsx(le,{startsWith:r,region:t.data}),M?e.jsx(e.Fragment,{children:e.jsx(A,{children:E.map(([g,h],P)=>e.jsx(A.Header,{title:g,children:e.jsx(je,{groupedPrograms:h,channels:d.data,tvPreviewUrls:n.data.tvPreviewUrls})},P))})}):e.jsx(Z,{})]})}export{Ve as TvProgramsView};
2
+ //# sourceMappingURL=C_sNZ3q9.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C_sNZ3q9.chunk.js","sources":["../../src/apps/tv/views/tv-programs/components/letters-bar/LettersBar.tsx","../../src/apps/tv/views/tv-programs/components/program-selector/ProgramSelector.tsx","../../src/apps/tv/views/tv-programs/TvProgramsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\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\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './letter-bar.module.scss';\n\nexport const ALPHABET = [\n '#',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n];\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface LettersBarProps {\n startsWith: string;\n region: TvRegion;\n}\n\nexport function LettersBar(props: LettersBarProps): JSX.Element {\n const { startsWith, region } = props;\n\n let localStartsWith = startsWith;\n\n if (localStartsWith === '0')\n localStartsWith = '#';\n\n const tabs = ALPHABET.map(letter => {\n let paramLetter = letter;\n\n if (paramLetter === '#')\n paramLetter = '0';\n\n const appLink = {\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS,\n args: [region?.code],\n params: { startsWith: paramLetter }\n };\n\n return {\n name: letter,\n appLink,\n active: localStartsWith === letter,\n analyticsData: {\n name: letter,\n url: Core.AppLinkHelper.getHref(appLink)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n };\n });\n\n return (\n <div className='mb-3'>\n <PillTabSelector\n tabs={tabs}\n className={styles.pillTabSelector}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { ProgramType } from 'apps/tv/interfaces/enums/ProgramType';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\n\nimport styles from './program-selector.module.scss';\n\ninterface ProgramSelectorProps {\n groupedPrograms: [string, [string, TvProgram[]][]][];\n channels: TvChannel[];\n tvPreviewUrls: { [region: string]: string };\n}\n\nexport function ProgramSelector(props: ProgramSelectorProps) {\n function getChannelLogo(channel: string) {\n const matchingChannel = ArrayHelper.findWhere(props.channels, { name: channel });\n return matchingChannel?.logoUrl;\n }\n\n return (\n <div className='mb-2'>\n {props.groupedPrograms.map(([ channel, dates ]) => (\n <div className={`border-top d-flex pt-3 pb-2`} key={channel}>\n <div className={`${styles.channelLogoContainer} flex-shrink-0 mb-3`}>\n <img src={getChannelLogo(channel)} alt={channel} className={`${styles.channelLogo} ms-4`} />\n </div>\n\n <div className='w-100'>\n {dates.map(([ date, programs ]) => (\n <GroupedPrograms key={date} date={date} programs={programs} tvPreviewUrls={props.tvPreviewUrls} />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\ninterface GroupedProgramsProps {\n date: string;\n programs: TvProgram[];\n tvPreviewUrls: { [region: string]: string };\n}\n\nexport function GroupedPrograms(props: GroupedProgramsProps) {\n const [ hoveredProgram, setHoveredProgram ] = React.useState<TvProgram>();\n\n function getProgramAppLink(program: TvProgram) {\n switch (program.programType) {\n case ProgramType.Video:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ program.regionCode, program.id ]\n };\n case ProgramType.Audio:\n return {\n application: AppChannels.TV,\n action: Actions.Tv.RADIO_DOWNLOAD,\n args: [program.id]\n };\n }\n }\n\n function getThumbnailUrl(program: TvProgram) {\n const previewUrl = props.tvPreviewUrls[program.regionCode];\n const globalId = program.globalId.split('-').join('');\n return `${previewUrl}/thumbnail/${globalId}.jpg`;\n }\n\n return (\n <div\n className={`${styles.dateContainer} ${hoveredProgram ? styles.hover : ''} py-2 px-3 rounded`}\n >\n <div key={props.date} className={`d-flex align-items-center`}>\n <div className={`${styles.thumbnail} flex-shrink-0 me-3 partial-loading-background rounded`}>\n <LazyImage\n src={getThumbnailUrl(hoveredProgram || props.programs[0])}\n alt={DateHelper.format(props.date, 'D MMM')}\n extraClasses='w-100 rounded'\n />\n </div>\n <p className={`${styles.date} fw-semibold flex-shrink-0 mb-0`}>{DateHelper.format(props.date, 'D MMM')}:</p>\n <div className={`${styles.programsContainer} d-flex flex-wrap`}>\n {props.programs.map((program: TvProgram) => (\n <div\n key={program.id}\n onMouseEnter={() => setHoveredProgram(program)}\n onMouseLeave={() => setHoveredProgram(null)}\n >\n <AppLink appLink={getProgramAppLink(program)} key={program.id} className='text-decoration-none'>\n <TvProgramTimeBadge program={program} showEndTime />\n </AppLink>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { AccordionList } from 'shared/components/accordion-list/AccordionList';\nimport { PartialAccordionList } from 'shared/components/accordion-list/partial-loading/PartialAccordionList';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\nimport { ALPHABET, LettersBar } from 'apps/tv/views/tv-programs/components/letters-bar/LettersBar';\nimport { ProgramSelector } from 'apps/tv/views/tv-programs/components/program-selector/ProgramSelector';\n\nconst namespace = 'tv.programs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst FIRST_LETTER_REGEX = /^[a-zA-Z]/;\n\ninterface TvProgramsViewProps {\n region: string;\n startsWith: string;\n}\n\nexport function TvProgramsView(props: TvProgramsViewProps): JSX.Element {\n const startsWith = props.startsWith || 'A';\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const channels = Flight.useBasicFetch<TvChannel[]>(\n region.data && TvRequests.channels(region.data.code)\n );\n\n const programs = Flight.useBasicFetch<TvProgram[]>(\n region.data &&\n dateRange.data &&\n TvRequests.programsByLetter(\n region.data.code,\n startsWith,\n dateRange.data.startDate,\n dateRange.data.endDate\n )\n );\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n const grouped = React.useMemo(() => {\n if (!programs.data?.length)\n return [] as any[];\n\n const groups: HashObject<TvProgram[]> = {};\n\n programs.data.forEach(program => {\n if (props.startsWith === '0' && FIRST_LETTER_REGEX.test(program.title))\n return;\n\n if (!groups[program.title])\n groups[program.title] = [];\n\n groups[program.title].push(program);\n });\n\n let sorted = Object.entries(groups);\n\n sorted = sorted.sort(([keyA], [keyB]) => (keyA < keyB ? -1 : 1));\n\n const groupedPrograms = sorted.map(([ title, data ]) => {\n const groupedProgram = data.reduce((acc: { [channel: string]: { [date: string]: TvProgram[]} }, program) => {\n const channelKey = program.channelName;\n if (!acc[channelKey]) {\n acc[channelKey] = {};\n }\n \n const startTime = toLocalTime(program.startTime, program.timeZone);\n const dateKey = DateHelper.format(startTime, 'YYYY-MM-DD');\n if (!acc[channelKey][dateKey]) {\n acc[channelKey][dateKey] = [];\n }\n\n acc[channelKey][dateKey].push(program);\n return acc;\n }, {});\n\n const groupedProgramEntries =\n Object\n .entries(groupedProgram)\n .map((([ channel, programs ]) => [ channel, Object.entries(programs) ]));\n \n return [ title, groupedProgramEntries ];\n });\n\n return groupedPrograms as [string, [string, TvProgram[]]];\n }, [programs.data]);\n\n const matchesLetters = [ ...ALPHABET, '0' ].includes(startsWith);\n if (!matchesLetters) {\n handleHttpError(HttpStatus.BadRequest);\n }\n\n useHandleRegionError(region);\n useHandleObjectError([ regions, programs ]);\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const dataLoaded = (\n region.hasCompleted &&\n regions.hasCompleted &&\n dateRange.hasCompleted &&\n programs.hasCompleted &&\n config.hasCompleted\n );\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='programs'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS,\n params: { startsWith }\n }}\n onClick={setRegion}\n />\n </div>\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n <LettersBar startsWith={startsWith} region={region.data} />\n\n {dataLoaded ? (\n <>\n <AccordionList>\n {grouped.map(([ title, programs ], index) => (\n <AccordionList.Header key={index} title={title}>\n <ProgramSelector\n groupedPrograms={programs}\n channels={channels.data}\n tvPreviewUrls={config.data.tvPreviewUrls}\n />\n </AccordionList.Header>\n ))}\n </AccordionList>\n </>\n ) : (\n <PartialAccordionList />\n )}\n </>\n );\n}"],"names":["ALPHABET","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","LettersBar","props","startsWith","region","localStartsWith","tabs","letter","paramLetter","appLink","AppChannels","Actions","Core.AppLinkHelper","jsx","PillTabSelector","styles","ProgramSelector","getChannelLogo","channel","matchingChannel","ArrayHelper","dates","jsxs","date","programs","GroupedPrograms","hoveredProgram","setHoveredProgram","React","getProgramAppLink","program","ProgramType","getThumbnailUrl","previewUrl","globalId","LazyImage","DateHelper","AppLink","TvProgramTimeBadge","namespace","getPhrase","LanguageService","FIRST_LETTER_REGEX","TvProgramsView","config","Flight.useBasicFetch","ConfigRequests","TvRequests","regions","dateRange","channels","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","grouped","_a","groups","sorted","keyA","keyB","title","data","groupedProgram","acc","channelKey","startTime","toLocalTime","dateKey","groupedProgramEntries","handleHttpError","HttpStatus","useHandleRegionError","useHandleObjectError","useSetPageMetadata","dataLoaded","Fragment","TvSearchBar","TvTabs","TvRegionSelect","TvInfoAlert","AccordionList","index","PartialAccordionList"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{U as a,am as C,S as l,H as p,M as v,m as T}from"./app-Det8y4U1.js";import{C as y}from"./BlDVEZsX.chunk.js";import{P as $}from"./pkzD5BEm.chunk.js";var m=(e=>(e.Series="series",e.Playlist="playlist",e.Widget="widget",e.Folder="category",e.CategoryTree="categoryTree",e))(m||{});const d={sharedVideo:(e,i)=>a.urlBuilder(`/api/objects/${e}`,{shareId:i,query:l.VIDEO}),publicVideo:(e,i)=>a.urlBuilder(`/api/objects/${e}`,{query:"thumbnail,_canBeConsumed,series,season,_rating,libraries{typeId:[17]}",permissionFilterOption:$.StripMetadata,shareId:i}),getVideosById:e=>a.urlBuilder("{gateway}/v1/objects",{"query.video":l.VIDEO_COLLECTION,"query.clip":l.CLIP_COLLECTION,"query.interactive":l.INTERACTIVE_COLLECTION,id:e}),relatedVideos:e=>{const{videoId:i,context:t,collectionId:r,moviesAndTv:s,limit:n}=e,o={videoId:i,limit:n,query:l.VIDEO_COLLECTION};return t&&(t===m.Widget?o["context.widgetId"]=r:(o["context.collectionType"]=t,o["context.collectionId"]=r)),s&&(o["context.moviesAndTv"]=!0),a.urlBuilder("{gateway}/v1/suggestions/related-videos",o)}},f={video(e,i){return{url:a.urlBuilder(`{gateway}/v1/objects/${e}`,{query:l.VIDEO,permissionFilterOption:i}),publicUrl:a.urlBuilder(`/api/objects/${e}`,{query:T.VIDEO,permissionFilterOption:i}),key:`videos:${e}:${i}`}},publicVideo(e,i,t,r){return{url:d.publicVideo(e,i),key:`videos:${e}:public:${i}`,bootstrapName:`shared:object:${e}`,success:t,error:r}},sharedVideo(e,i,t,r){return{url:d.sharedVideo(e,i),key:`shared:video:${e}`,success:t,error:r}},myVideos(e,i){const{VIDEO_COLLECTION:t,CLIP_COLLECTION:r,INTERACTIVE:s}=l,n=`videos[${t}]{libraries.typeid:${v.WorkspaceCollection}}`,o=`clips[${r}]`,u=`interactives[${s}]{status:[${y.Published},${y.Draft}]}`,c={query:`(${n}|${o}|${u}){orderbydesc:id}`,permissionFilterOption:$.StripMetadata};return i&&(c.cursor=i),{url:a.urlBuilder(`{gateway}/v1/objects/${e}/members`,c),key:`my:videos:${i}`}},videos(e,i){return{url:d.getVideosById(e),key:`videos:by:id:${e.join(",")}`,success:i}},watchHistoryVideos(e,i){return{url:d.getVideosById(e),key:`watch:history:videos:by:id:${e.join(",")}`,success:i}},updateVideo(e,i,t,r,s){return{key:`update:video:${e}`,url:`{gateway}/v1/objects/${e}`,type:p.PUT,data:i,success:t,error:r,always:s}},videoRatings(e,i){const t=e.map(r=>`id=${r}`);if(t.length)return{url:`/api/domain/v2/objects?query=rating&${t.join("&")}`,key:`video:ratings:by:id:${e.join(",")}`,normalizeOptions:{namespace:i}}},videoMixinAssocs(e,i){if(e.map(r=>`id=${r}`).length)return{url:a.urlBuilder("{gateway}/v1/objects",{query:"interactives{limit:100},resources{limit:100},links{limit:100},_hasCurriculumLinks",id:e}),publicUrl:a.urlBuilder("/api/objects",{query:"interactives{limit:100},resources{limit:100},links{limit:100},_hasCurriculumLinks",id:e}),key:`video:mixin:assocs:${e.join(",")}`,normalizeOptions:{namespace:i}}},getRestrictions(e){const i=e.slice().sort();return{url:`/api/domain/v1/restrictedobjects?objectTypeId=${v.Video}${i.map(t=>`&objectId=${t}`).join("")}`,key:`restrictions:${i.join(",")}`,normalizeOptions:{namespace:"domain",idAttribute:"objectId"}}},delete(e,i,t){return{url:`{gateway}/v1/objects/${e}`,key:`delete:video:${e}`,type:p.DELETE,success:i,error:t,invalidationKeys:["videos","search"]}},deleteBulk(e,i,t,r,s){const n=e.map(u=>`videoIds=${u}`).join("&"),o=[`categoryId=${t}`,`${n}`].join("&");return{url:`/api/domain/v1/libraries/${i}/videos?${o}`,key:`delete:bulk:video:${e.join(":")}:${i}:${t}`,type:p.DELETE,success:r,error:s,invalidationKeys:["videos","search"]}},relatedVideos(e){const{videoId:i,context:t,collectionId:r,moviesAndTv:s}=e;return{url:d.relatedVideos(e),key:`related:videos:${i}:${t}:${r}:${s}`}},collectionVideos(e,i,t,r,s,n){const o=C.getVideoSortParam(i),{VIDEO_COLLECTION:u,CLIP_COLLECTION:c,INTERACTIVE:b}=l,g=`videos[${u}]`,j=`clips[${c}]`,I=`interactives[${b}]{status:[${y.Published},${y.Draft}]}`,O={query:`(${g}|${j}|${I})${o?`{${o}}`:""}`,permissionFilterOption:$.FilterOut,...t?{cursor:t}:{}},V=["folder","videos",e,t,i].filter(E=>!!E).join(":");return{url:a.urlBuilder(`{gateway}/v1/objects/${e}/members`,O),key:V,success:r,error:s,always:n}},pointsOfInterest(e,i,t,r,s){const n={query:"{limit:100}",cursor:i};return{url:a.urlBuilder(`{gateway}/v1/objects/${e}/pointsofinterest`,n),publicUrl:a.urlBuilder(`/api/objects/${e}/pointsofinterest`,n),key:`pointsofinterest:${e}${i?`:${i}`:""}`,success:t,error:r,always:s}},regionAlternatives(e,i,t,r){return{url:`/api/objects/videos/${e}/region-alternatives`,publicUrl:`/api/objects/videos/${e}/region-alternatives`,key:`video:regionAlternatives:${e}`,normalize:!1,success:i,error:t,always:r}}};export{f as V};
2
+ //# sourceMappingURL=CdGLJKZk.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CdGLJKZk.chunk.js","sources":["../../../../libs/shared/src/enums/RelatedVideosContext.ts","../../../../libs/shared/src/flight-requests/VideoRequests.ts"],"sourcesContent":["export enum RelatedVideosContext {\n Series = 'series',\n Playlist = 'playlist',\n Widget = 'widget',\n Folder = 'category',\n CategoryTree = 'categoryTree'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { PointOfInterestCollection, UpdateVideoRequest, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { RegionAlternative } from 'libs/shared/interfaces/models/RegionAlternative';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nconst endpoints = {\n sharedVideo: (id: string, shareId: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.VIDEO\n }),\n\n publicVideo: (id: string, shareId?: string) => UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: 'thumbnail,_canBeConsumed,series,season,_rating,libraries{typeId:[17]}',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n\n getVideosById: (ids: string[]) => {\n return UrlHelper.urlBuilder('{gateway}/v1/objects', {\n 'query.video': SharedWithStatements.VIDEO_COLLECTION,\n 'query.clip': SharedWithStatements.CLIP_COLLECTION,\n 'query.interactive': SharedWithStatements.INTERACTIVE_COLLECTION,\n 'id': ids\n });\n },\n\n relatedVideos: (options: {\n videoId: string;\n context?: RelatedVideosContext;\n collectionId?: string;\n moviesAndTv?: boolean;\n limit: number;\n }) => {\n const { videoId, context, collectionId, moviesAndTv, limit } = options;\n\n const params: HashObject = {\n videoId,\n limit,\n query: SharedWithStatements.VIDEO_COLLECTION\n };\n\n if (context) {\n if (context === RelatedVideosContext.Widget) {\n params['context.widgetId'] = collectionId;\n } else {\n params['context.collectionType'] = context;\n params['context.collectionId'] = collectionId;\n }\n }\n\n if (moviesAndTv)\n params['context.moviesAndTv'] = true;\n\n return UrlHelper.urlBuilder('{gateway}/v1/suggestions/related-videos', params);\n }\n};\n\nexport const VideoRequests = {\n video(id: string, permissionFilterOption?: PermissionFilterOption): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.VIDEO,\n permissionFilterOption\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n query: PublicWithStatement.VIDEO,\n permissionFilterOption\n }),\n key: `videos:${id}:${permissionFilterOption}`\n };\n },\n\n publicVideo(\n id: string,\n shareId?: string,\n success?: (video: Video) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: endpoints.publicVideo(id, shareId),\n key: `videos:${id}:public:${shareId}`,\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n\n sharedVideo(\n id: string,\n shareId: string,\n success?: (video: Video) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: endpoints.sharedVideo(id, shareId),\n key: `shared:video:${id}`,\n success,\n error\n };\n },\n\n myVideos(userId: string, cursor: string): Flight.Request {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const videoQuery = `videos[${VIDEO_COLLECTION}]{libraries.typeid:${MasterType.WorkspaceCollection}}`;\n const clipQuery = `clips[${CLIP_COLLECTION}]`;\n const interactiveQuery = `interactives[${INTERACTIVE}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`;\n\n const params: HashObject = {\n query: `(${videoQuery}|${clipQuery}|${interactiveQuery}){orderbydesc:id}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${userId}/members`, params),\n key: `my:videos:${cursor}`\n };\n },\n\n videos(ids: string[], success?: (videos: Video[]) => void): Flight.Request {\n return {\n url: endpoints.getVideosById(ids),\n key: `videos:by:id:${ids.join(',')}`,\n success\n };\n },\n\n watchHistoryVideos(\n ids: string[],\n success?: (videos: Video[]) => void\n ): Flight.Request {\n return {\n url: endpoints.getVideosById(ids),\n key: `watch:history:videos:by:id:${ids.join(',')}`,\n success\n };\n },\n\n updateVideo(\n id: string,\n data: UpdateVideoRequest,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: `update:video:${id}`,\n url: `{gateway}/v1/objects/${id}`,\n type: HttpVerbs.PUT,\n data,\n success,\n error,\n always\n };\n },\n\n /**\n * This is simply an example to show the prototype for useVideoMixin\n * eventually there will be endpoints in domain that let us fetch members\n * without fetching the objects properties, so we can fetch stuff like\n * hasInteractives and isFavourited as subsequent calls\n */\n videoRatings(ids: string[], namespace?: string): Flight.Request {\n const params = ids.map(i => `id=${i}`);\n\n if (!params.length)\n return;\n\n return {\n url: `/api/domain/v2/objects?query=rating&${params.join('&')}`,\n key: `video:ratings:by:id:${ids.join(',')}`,\n normalizeOptions: {\n namespace\n }\n };\n },\n\n videoMixinAssocs(ids: string[], namespace?: string): Flight.PublicRequest {\n const params = ids.map(i => `id=${i}`);\n\n if (!params.length)\n return;\n\n /**\n * IMPORTANT!\n * \n * This request is used for BOTH clips and videos. This means these requests will fail if you\n * add assocs in the future that are not supported for both object types. If you find yourself in this\n * case, what you should do is:\n * \n * 1. Consider whether clips should support the assoc that you're hydrating for videos. In most cases,\n * I think they should, as we want clips and videos to basically support the same fields and metadata.\n * 2. If the above is false or can't be done right now, you will need to create a separate request for clips\n * and update the logic in useVideoMixin to handle this.\n */\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/objects', {\n query: 'interactives{limit:100},resources{limit:100},links{limit:100},_hasCurriculumLinks',\n id: ids\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects`, {\n query: 'interactives{limit:100},resources{limit:100},links{limit:100},_hasCurriculumLinks',\n id: ids\n }),\n /**\n * We are intentionally NOT sorting the IDs here. This is because `useVideoMixin` wants to provide\n * the IDs in their original order so that the cache key here doesn't change for subsequent calls.\n * \n * Here is an example of a problem that would occur if we were sorting: say we search for something,\n * and load the first page of 25 results. The videos and clips here would have their IDs sorted in the cache\n * key, then fetched. Then, we scrolled down and fetched the next 25, leading to 50 IDs in the array. If we\n * sort the IDs in the key, the keys would change from the first request, leading to all of the videos/clips\n * from the first request being fetched a second time unnecessarily. Every time you'd fetch a new page, you'd\n * be making multiple unnecessary API calls.\n * \n * TL;DR: Don't sort the IDs here, `useVideoMixin` will handle that.\n */\n key: `video:mixin:assocs:${ids.join(',')}`,\n normalizeOptions: {\n namespace\n }\n };\n },\n\n getRestrictions(videoIds: string[]): Flight.Request {\n const sortedIds = videoIds.slice().sort();\n\n return {\n url: '/api/domain/v1/restrictedobjects'\n + `?objectTypeId=${MasterType.Video}${sortedIds.map(id => `&objectId=${id}`).join('')}`,\n key: `restrictions:${sortedIds.join(',')}`,\n normalizeOptions: {\n namespace: 'domain',\n idAttribute: 'objectId'\n }\n };\n },\n\n delete(videoId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}`,\n key: `delete:video:${videoId}`,\n type: HttpVerbs.DELETE,\n success,\n error,\n invalidationKeys: [ 'videos', 'search' ]\n };\n },\n\n deleteBulk(\n videoId: string[],\n libraryId: string,\n categoryId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n const videoIds = videoId.map(id => `videoIds=${id}`).join('&');\n const params = [\n `categoryId=${categoryId}`,\n `${videoIds}`\n ].join('&');\n\n return {\n url: `/api/domain/v1/libraries/${libraryId}/videos?${params}`,\n key: `delete:bulk:video:${videoId.join(':')}:${libraryId}:${categoryId}`,\n type: HttpVerbs.DELETE,\n success,\n error,\n invalidationKeys: [ 'videos', 'search' ]\n };\n },\n\n relatedVideos(options: {\n videoId: string;\n context?: RelatedVideosContext;\n collectionId?: string;\n moviesAndTv?: boolean;\n /**\n * This limit is intentionall not in the key. See useGetRelatedVideos for an explanation\n */\n limit: number;\n }): Flight.Request {\n const { videoId, context, collectionId, moviesAndTv } = options;\n\n return {\n url: endpoints.relatedVideos(options),\n key: `related:videos:${videoId}:${context}:${collectionId}:${moviesAndTv}`\n };\n },\n\n collectionVideos(\n collectionId: string,\n sort?: VideoSortType,\n cursor?: string,\n success?: (data: VideoCollection) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const videoQuery = `videos[${VIDEO_COLLECTION}]`;\n const clipQuery = `clips[${CLIP_COLLECTION}]`;\n const interactiveQuery = `interactives[${INTERACTIVE}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`;\n\n const params: HashObject = {\n query: `(${videoQuery}|${clipQuery}|${interactiveQuery})${sortFilter ? `{${sortFilter}}` : ''}`,\n permissionFilterOption: PermissionFilterOption.FilterOut,\n ...(cursor ? { cursor } : {})\n };\n\n const key = [ 'folder', 'videos', collectionId, cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${collectionId}/members`, params),\n key,\n success,\n error,\n always\n };\n },\n\n pointsOfInterest(\n videoId: string,\n cursor?: string,\n success?: (data: PointOfInterestCollection) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.PublicRequest {\n const queryStringObj = { query: '{limit:100}', cursor };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${videoId}/pointsofinterest`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${videoId}/pointsofinterest`, queryStringObj),\n key: `pointsofinterest:${videoId}${cursor ? `:${cursor}` : ''}`,\n success,\n error,\n always\n };\n },\n\n regionAlternatives(\n videoId: string,\n success?: (data: RegionAlternative[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.PublicRequest {\n return {\n url: `/api/objects/videos/${videoId}/region-alternatives`,\n publicUrl: `/api/objects/videos/${videoId}/region-alternatives`,\n key: `video:regionAlternatives:${videoId}`,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n"],"names":["RelatedVideosContext","endpoints","id","shareId","UrlHelper","SharedWithStatements","PermissionFilterOption","ids","options","videoId","context","collectionId","moviesAndTv","limit","params","VideoRequests","permissionFilterOption","PublicWithStatement","success","error","userId","cursor","VIDEO_COLLECTION","CLIP_COLLECTION","INTERACTIVE","videoQuery","MasterType","clipQuery","interactiveQuery","CurationStatus","data","always","HttpVerbs","namespace","i","videoIds","sortedIds","libraryId","categoryId","sort","sortFilter","VideoSortHelper","key","k","queryStringObj"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{aa as w,ab as m,ad as p,ae as c,U as i}from"./app-Det8y4U1.js";let l=null;const s={getVideoDownloadUrl(a,e){return i.safeUrlConcat(i.makeHttps(a),`/download?token=${e}`)},downloadResource(a,e,t,n){var d;let o=l;l||(o=l=document.createElement("iframe"),document.body.appendChild(o),o.style.display="none"),o.src=a.url,n||w.logUserAction({id:a==null?void 0:a.id,name:a==null?void 0:a.name,resourceType:(d=a==null?void 0:a.metadata)==null?void 0:d.resourceType,...e},{actionType:c.Download,entity:p.Resource,workflowPhase:m.Complete,...t})},async downloadBlob(a,e){const t=await fetch(a);if(!t.ok)throw new Error("Error downloading file");const n=URL.createObjectURL(await t.blob()),o=document.createElement("a");o.href=n,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.setTimeout(()=>URL.revokeObjectURL(n),100)}};export{s as D};
2
+ //# sourceMappingURL=Cdo-iAIt.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cdo-iAIt.chunk.js","sources":["../../../../libs/shared/src/utils/DownloadHelper.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Resource } from '../interfaces';\n\nlet downloadRef: HTMLIFrameElement = null;\n\nexport const DownloadHelper = {\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\n },\n\n downloadResource(\n resource: Resource,\n analyticsData: HashObject,\n analyticsOptions: AnalyticsOptions,\n skipEventLogging?: boolean\n ): void {\n let iframe = downloadRef;\n\n if (!downloadRef) {\n iframe = downloadRef = document.createElement('iframe');\n document.body.appendChild(iframe);\n\n iframe.style.display = 'none';\n }\n\n iframe.src = resource.url;\n\n if (!skipEventLogging)\n AnalyticsHelper.logUserAction({\n id: resource?.id,\n name: resource?.name,\n resourceType: resource?.metadata?.resourceType,\n ...analyticsData\n }, {\n actionType: UserAction.Download,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete,\n ...analyticsOptions\n });\n },\n\n async downloadBlob(fileUrl: string, fileName: string): Promise<void> {\n const response = await fetch(fileUrl);\n\n if (!response.ok) {\n throw new Error('Error downloading file');\n }\n\n // Mime type is inferred from the download\n const downloadUrl = URL.createObjectURL(await response.blob());\n\n const a = document.createElement('a');\n a.href = downloadUrl;\n a.download = fileName;\n\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Delay revoking the URL to ensure the download is initiated\n window.setTimeout(() => URL.revokeObjectURL(downloadUrl), 100);\n }\n};"],"names":["downloadRef","DownloadHelper","downloadProxyUrl","token","UrlHelper","resource","analyticsData","analyticsOptions","skipEventLogging","iframe","AnalyticsHelper","_a","UserAction","EntityType","WorkflowPhase","fileUrl","fileName","response","downloadUrl","a"],"mappings":"sEAQA,IAAIA,EAAiC,KAE9B,MAAMC,EAAiB,CAC5B,oBAAoBC,EAA0BC,EAAuB,CACnE,OAAOC,EAAU,cAAcA,EAAU,UAAUF,CAAgB,EAAG,mBAAmBC,CAAK,EAAE,CAClG,EAEA,iBACEE,EACAC,EACAC,EACAC,EACM,OACN,IAAIC,EAAST,EAERA,IACHS,EAAST,EAAc,SAAS,cAAc,QAAQ,EACtD,SAAS,KAAK,YAAYS,CAAM,EAEhCA,EAAO,MAAM,QAAU,QAGzBA,EAAO,IAAMJ,EAAS,IAEjBG,GACHE,EAAgB,cAAc,CAC5B,GAAIL,GAAA,YAAAA,EAAU,GACd,KAAMA,GAAA,YAAAA,EAAU,KAChB,cAAcM,EAAAN,GAAA,YAAAA,EAAU,WAAV,YAAAM,EAAoB,aAClC,GAAGL,CAAA,EACF,CACD,WAAYM,EAAW,SACvB,OAAQC,EAAW,SACnB,cAAeC,EAAc,SAC7B,GAAGP,CAAA,CACJ,CACL,EAEA,MAAM,aAAaQ,EAAiBC,EAAiC,CACnE,MAAMC,EAAW,MAAM,MAAMF,CAAO,EAEpC,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAM,wBAAwB,EAI1C,MAAMC,EAAc,IAAI,gBAAgB,MAAMD,EAAS,MAAM,EAEvDE,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,SAAWH,EAEb,SAAS,KAAK,YAAYG,CAAC,EAC3BA,EAAE,MAAA,EACF,SAAS,KAAK,YAAYA,CAAC,EAG3B,OAAO,WAAW,IAAM,IAAI,gBAAgBD,CAAW,EAAG,GAAG,CAC/D,CACF"}
@@ -0,0 +1,2 @@
1
+ import{H as c,R as s,a2 as r,aa as i,ab as l,ad as u,ac as f,ae as w,j as p,aC as k}from"./app-Det8y4U1.js";import{D as y}from"./Cdo-iAIt.chunk.js";const m={createDownloadToken(o){return{url:"/api/downloadproxy/api/tokens",key:`download:token:${o}`,data:{objectId:o},type:c.POST,normalize:!1}}};function R(o){const a=s.useRef(null),e=r(k.config()),t=r(m.createDownloadToken(o.id)),n=!!e.data&&!!t.data;return s.useEffect(()=>{if(!n||!a.current)return;const d=y.getVideoDownloadUrl(e.data.downloadProxy,t.data.token);a.current.src=d,i.logUserAction({id:o.id},{actionType:w.Download,location:f.Popup,entity:u.Video,workflowPhase:l.Complete})},[n,a.current]),p.jsx("iframe",{ref:a})}export{R as DownloadVideoView};
2
+ //# sourceMappingURL=CeVw08Ln.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CeVw08Ln.chunk.js","sources":["../../src/shared/flight-requests/DownloadRequests.ts","../../src/shared/views/download-video/DownloadVideoView.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nexport const DownloadRequests = {\n createDownloadToken(videoId: string): Flight.Request {\n return {\n url: '/api/downloadproxy/api/tokens',\n key: `download:token:${videoId}`,\n data: { objectId: videoId },\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\n\nimport { DownloadRequests } from 'shared/flight-requests/DownloadRequests';\n\ninterface DownloadVideoViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function DownloadVideoView(props: DownloadVideoViewProps): JSX.Element {\n const ref = React.useRef(null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const downloadToken = Flight.useBasicFetch<HashObject>(DownloadRequests.createDownloadToken(props.id));\n\n const dataLoaded = !!config.data && !!downloadToken.data;\n\n React.useEffect(() => {\n if (!dataLoaded || !ref.current)\n return;\n\n const url = DownloadHelper.getVideoDownloadUrl(config.data.downloadProxy, downloadToken.data.token);\n ref.current.src = url;\n\n AnalyticsHelper.logUserAction({\n id: props.id\n }, {\n actionType: UserAction.Download,\n location: LocationContext.Popup,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Complete\n });\n }, [ dataLoaded, ref.current ]);\n\n return (\n <iframe ref={ref} />\n );\n}"],"names":["DownloadRequests","videoId","HttpVerbs","DownloadVideoView","props","ref","React","config","Flight.useBasicFetch","ConfigRequests","downloadToken","dataLoaded","url","DownloadHelper","AnalyticsHelper","UserAction","LocationContext","EntityType","WorkflowPhase","jsx"],"mappings":"oJAGO,MAAMA,EAAmB,CAC9B,oBAAoBC,EAAiC,CACnD,MAAO,CACL,IAAK,gCACL,IAAK,kBAAkBA,CAAO,GAC9B,KAAM,CAAE,SAAUA,CAAA,EAClB,KAAMC,EAAU,KAChB,UAAW,EAAA,CAEf,CACF,ECMO,SAASC,EAAkBC,EAA4C,CAC5E,MAAMC,EAAMC,EAAM,OAAO,IAAI,EAEvBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAgBF,EAAiCR,EAAiB,oBAAoBI,EAAM,EAAE,CAAC,EAE/FO,EAAa,CAAC,CAACJ,EAAO,MAAQ,CAAC,CAACG,EAAc,KAEpD,OAAAJ,EAAM,UAAU,IAAM,CACpB,GAAI,CAACK,GAAc,CAACN,EAAI,QACtB,OAEF,MAAMO,EAAMC,EAAe,oBAAoBN,EAAO,KAAK,cAAeG,EAAc,KAAK,KAAK,EAClGL,EAAI,QAAQ,IAAMO,EAElBE,EAAgB,cAAc,CAC5B,GAAIV,EAAM,EAAA,EACT,CACD,WAAYW,EAAW,SACvB,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,MACnB,cAAeC,EAAc,QAAA,CAC9B,CACH,EAAG,CAAEP,EAAYN,EAAI,OAAQ,CAAC,EAG5Bc,MAAC,UAAO,IAAAd,EAAU,CAEtB"}
@@ -0,0 +1,2 @@
1
+ import{r as n}from"./app-Det8y4U1.js";import{h as s}from"./BOzZT1qL.chunk.js";function c(t){return t.map(e=>e.statusCode).join(":")}function p(t,e,r){const a=Array.isArray(t)?t:[t];n.useEffect(()=>{a.forEach(o=>{s(o.statusCode,e,r)})},[c(a),e,r])}export{p as u};
2
+ //# sourceMappingURL=CfRzFJ31.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CfRzFJ31.chunk.js","sources":["../../../../libs/shared/src/hooks/UseHandleObjectError.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}"],"names":["generateCacheKey","flightObjs","obj","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","useEffect","handleHttpError"],"mappings":"8EAMA,SAASA,EAAiBC,EAAiD,CACzE,OAAOA,EAAW,IAAIC,GAAOA,EAAI,UAAU,EAAE,KAAK,GAAG,CACvD,CAGO,SAASC,EACdC,EACAC,EACAC,EACM,CACN,MAAML,EAAa,MAAM,QAAQG,CAAW,EAAIA,EAAc,CAACA,CAAW,EAE1EG,EAAAA,UAAU,IAAM,CACdN,EAAW,QAAQC,GAAO,CACxBM,EAAgBN,EAAI,WAAYG,EAAcC,CAAY,CAC5D,CAAC,CACH,EAAG,CAAEN,EAAiBC,CAAU,EAAGI,EAAcC,CAAa,CAAC,CACjE"}