@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 @@
1
+ {"version":3,"file":"DYjoaCnl.chunk.js","sources":["../../../../libs/shared/src/apps/search/utils/SharedSearchHelper.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { SearchResultObjectTypes, SearchResults, TabulatedSearchResults } from 'libs/shared/apps/search/interfaces';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Series } from 'libs/shared/interfaces';\n\nconst namespace = 'sharedSearch.utils';\n\nconst ObjectTypeCapacities = {\n 'featured-result': 1,\n 'topic-list': 8,\n 'company': 8,\n 'playlist-with-videos': 1,\n 'series-with-videos': 1,\n 'series-thumbnail': 1,\n 'playlist-thumbnail': 1,\n 'video-item': 1,\n 'companies-and-topics': 16\n};\n\nexport const SEARCH_CURRICULUM_CODE_PARAM = 'curriculumCode';\n\nexport type SearchComponentTypes = 'featured-result' | 'topic-list' | 'playlist-with-videos' | 'playlist-thumbnail' | 'series-with-videos' | 'series-thumbnail' | 'video-item' | 'companies-and-topics';\n\nexport interface ResultGrouping {\n heading?: string;\n type: SearchComponentTypes;\n items: SearchResultObjectTypes[];\n}\n\ntype ResultGroupings = ResultGrouping[];\n\nexport const SharedSearchHelper = {\n flattenResults(tabulatedResults: TabulatedSearchResults): SearchResults {\n if (!tabulatedResults)\n return null;\n\n if (!tabulatedResults.results)\n return {\n ...tabulatedResults,\n results: []\n };\n\n return {\n ...tabulatedResults,\n results: ArrayHelper.flatten(tabulatedResults.results)\n };\n },\n getContextualSearchQueryParams(context: Core.Model): HashObject {\n if (!context || !context.get('filterParam'))\n return {};\n\n const param = context.get('filterParam');\n const value = context.get('filterValue');\n\n return {\n [param]: value\n };\n },\n\n /**\n * In order to better analyse which search results our users are selecting, we'll track both the\n * video's individual search score relative to the result which had the highest score or was considered to be\n * the \"best\" match.\n */\n mapMaxScoreToSearchResults<T extends SearchResultObjectTypes>(results: T[], resultsMaxScore: number): T[] {\n return results.map(r => {\n if (resultsMaxScore)\n return { ...r, _maxScore: resultsMaxScore };\n return r;\n });\n },\n\n groupResults(\n results: TabulatedSearchResults['results'],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n breakpoints: Breakpoints\n ): ResultGroupings {\n if (!results?.length && !topicResults?.results?.length && !companyResults?.results?.length)\n return [];\n\n const [ firstPageResults, ...otherPagesResults ] = results;\n const useSmallComponent = breakpoints.xs || breakpoints.sm;\n\n // The first page of results has a very specific structure\n const firstPage = structureFirstPage(\n firstPageResults,\n topicResults,\n companyResults,\n featuredResult,\n useSmallComponent\n );\n\n if (!otherPagesResults?.length)\n return firstPage;\n\n // All pages other than the first page have a less-defined structure\n return structureOtherPages(otherPagesResults, firstPage, useSmallComponent);\n }\n};\n\nfunction getObjectGrouping(\n obj: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): SearchComponentTypes {\n if (obj._index === 'video' || obj._index === 'interactive' || obj._index === 'clip') {\n return 'video-item';\n }\n\n if (obj._index === 'series') {\n // Use series item when getting small\n if ((obj as Series).tallPoster?.id && !isUsingSmallComponent) {\n return 'series-with-videos';\n }\n\n return 'series-thumbnail';\n }\n\n if (obj._index === 'classification') {\n return 'topic-list';\n }\n\n if (obj._index === 'playlist') {\n if (isUsingSmallComponent) {\n return 'playlist-thumbnail';\n }\n \n return 'playlist-with-videos';\n }\n}\n\nfunction structureFirstPage(\n firstPage: SearchResultObjectTypes[],\n topicResults: SearchResults,\n companyResults: SearchResults,\n featuredResult: SearchResultObjectTypes,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n /**\n * The very top of our search results has a defined structure of:\n * - 8 topics\n * - 1 featured video result (if there is one)\n * - 3 videos\n * - 1 playlist\n * - 1 series\n * - 8 topics\n * \n * We do our best from the first page of results to build this out. From then on, the results\n * render in order of relevancy.\n */\n const playlistType: SearchComponentTypes = isUsingSmallComponent ? 'playlist-thumbnail' : 'playlist-with-videos';\n const seriesType: SearchComponentTypes = isUsingSmallComponent ? 'series-thumbnail' : 'series-with-videos';\n const groupings: ResultGroupings = [\n {\n type: 'companies-and-topics',\n items: [\n ...(companyResults?.results?.slice(0, ObjectTypeCapacities['company']) ?? []),\n ...(topicResults?.results?.slice(0, ObjectTypeCapacities['topic-list']) ?? [])\n ]\n },\n {\n type: 'featured-result',\n items: !ObjectHelper.isEmpty(featuredResult) ? [featuredResult] : []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: 'video-item',\n items: []\n },\n {\n type: playlistType,\n items: []\n },\n {\n type: seriesType,\n items: []\n },\n {\n heading: LanguageService.getPhrase(namespace, 'relatedTopics'),\n type: 'topic-list',\n items: topicResults?.results?.slice(ObjectTypeCapacities['topic-list'], ObjectTypeCapacities['topic-list'] * 2) ?? []\n }\n ];\n\n let featuredResultFound = false;\n\n firstPage?.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n // Identify the featured result, and leave it out of the main groupings\n if (obj._featured && !featuredResultFound && (obj._index === 'video')) {\n featuredResultFound = true;\n return;\n }\n\n if (groupings[2].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[2].items.push(obj);\n return;\n }\n\n if (groupings[3].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[3].items.push(obj);\n return;\n }\n\n if (groupings[4].items.length < ObjectTypeCapacities['video-item'] && currentObjectType === 'video-item') {\n groupings[4].items.push(obj);\n return;\n }\n\n if (groupings[5].items.length < ObjectTypeCapacities[playlistType] && currentObjectType === playlistType) {\n groupings[5].items.push(obj);\n return;\n }\n\n if (groupings[6].items.length < ObjectTypeCapacities[seriesType] && currentObjectType === seriesType) {\n groupings[6].items.push(obj);\n return;\n }\n\n const latestGrouping = groupings[groupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n const capacity = ObjectTypeCapacities[currentObjectType];\n\n if (latestGrouping.items.length >= capacity) {\n groupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n groupings.push({ type: currentObjectType, items: [obj]});\n }\n });\n\n return groupings.filter(grouping => grouping.items?.length);\n}\n\nfunction structureOtherPages(\n otherPages: SearchResultObjectTypes[][],\n existingGroupings: ResultGroupings,\n isUsingSmallComponent: boolean\n): ResultGroupings {\n if (!otherPages)\n return existingGroupings;\n\n otherPages.forEach(page => {\n const lastGroupingFromPreviousPage = existingGroupings[existingGroupings.length - 1];\n\n let shouldAppendToPreviousGrouping = true;\n\n page.forEach(obj => {\n const currentObjectType = getObjectGrouping(obj, isUsingSmallComponent);\n\n if (shouldAppendToPreviousGrouping && lastGroupingFromPreviousPage.type === currentObjectType) {\n if (lastGroupingFromPreviousPage.items.length >= ObjectTypeCapacities[currentObjectType]) {\n shouldAppendToPreviousGrouping = false;\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n lastGroupingFromPreviousPage.items.push(obj);\n }\n } else {\n const latestGrouping = existingGroupings[existingGroupings.length - 1];\n\n if (latestGrouping?.type === currentObjectType) {\n if (latestGrouping.items.length >= ObjectTypeCapacities[currentObjectType]) {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n } else {\n latestGrouping.items.push(obj);\n }\n } else {\n existingGroupings.push({ type: currentObjectType, items: [obj]});\n }\n }\n });\n });\n\n return existingGroupings;\n}"],"names":["namespace","ObjectTypeCapacities","SEARCH_CURRICULUM_CODE_PARAM","SharedSearchHelper","tabulatedResults","ArrayHelper","context","param","value","results","resultsMaxScore","topicResults","companyResults","featuredResult","breakpoints","_a","_b","firstPageResults","otherPagesResults","useSmallComponent","firstPage","structureFirstPage","structureOtherPages","getObjectGrouping","obj","isUsingSmallComponent","playlistType","seriesType","groupings","ObjectHelper","LanguageService","_c","featuredResultFound","currentObjectType","latestGrouping","capacity","grouping","otherPages","existingGroupings","page","lastGroupingFromPreviousPage","shouldAppendToPreviousGrouping"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{a2 as A,aC as m,ac as d,ab as T,aH as r,ad as l,ae as p,L as V,U as b,A as g,a as f,b as h,a5 as k}from"./app-Det8y4U1.js";import{A as w}from"./DgWxzhMg.chunk.js";const C="tv.addRequests",i=V.encloseNamespace(C);function I(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:()=>{g.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:b.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{I as u};
2
+ //# sourceMappingURL=DbVI3h0V.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DbVI3h0V.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"}
@@ -0,0 +1,2 @@
1
+ import{H as v,a2 as p,j as o,P as y,aC as h,A as w,a as f,b as g}from"./app-Det8y4U1.js";import{S as P}from"./CYuY28rl.chunk.js";import{V as x}from"./CdGLJKZk.chunk.js";import{u as C}from"./DsCrIxlP.chunk.js";import{C as j,P as A,a as E}from"./CHPVU_Qn.chunk.js";import{a as V}from"./Bq1eQRV_.chunk.js";import{u as S}from"./z6Us1EdG.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./Bi0GaEZE.chunk.js";import"./C6bEPV55.chunk.js";import"./DHjeFsuP.chunk.js";import"./d_OewpIc.chunk.js";import"./Cyhg-nBj.chunk.js";import"./cw1CbjiZ.chunk.js";import"./CBlUYGqN.chunk.js";import"./C99JIGI3.chunk.js";import"./W8wegH66.chunk.js";import"./Kj832An8.chunk.js";import"./CJ3oIQlG.chunk.js";import"./DwMcJ3Ip.chunk.js";import"./CX6fV4JE.chunk.js";import"./BeyY1CwV.chunk.js";import"./CHa6bZJR.chunk.js";import"./C36BgTJV.chunk.js";import"./Cdo-iAIt.chunk.js";import"./DzbCvkXx.chunk.js";import"./C8geGHZf.chunk.js";import"./B93FMGSP.chunk.js";import"./DgWxzhMg.chunk.js";import"./B668bf5B.chunk.js";import"./DXRtwYU8.chunk.js";import"./h68xZO90.chunk.js";import"./Bz18U45-.chunk.js";import"./Dmfr0hZx.chunk.js";import"./OpOTepmF.chunk.js";import"./DWmgmt8-.chunk.js";var c=(e=>(e.Share="share",e.MasterObject="masterobject",e))(c||{});const b={createViewKey(e,t,r,a,s){const i={mediaId:e.toString(),mediaIdType:t};return r&&(i.shareContextId=r),{url:"/api/player/create-view-key",key:`view:key:${e}:${t}`,type:v.POST,data:i,cacheDuration:28800,success:a,error:s}}};function ue(e){var l;const t=p(x.video(e.videoId)),r=p(h.config()),a=p(b.createViewKey(e.videoId,c.MasterObject)),s=V("preview");C(t.statusCode);const{previewContext:i,clearPreviewContext:d}=S(e.videoId,!0);function u(k){}function n(){e.closePopup(),P.preventScrollTop(),w.trigger((i==null?void 0:i.appLink)??{application:g.EXCHANGE,action:f.Exchange.INDEX}),d()}const m=t.data&&r.hasCompleted&&a.hasCompleted;return o.jsx(y,{title:(l=t.data)==null?void 0:l.name,hideTitle:!0,closePopup:n,showLoadingSpinner:!m,size:"lg",bodyClassName:"p-0 rounded-3 position-relative",children:m&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"overflow-hidden rounded-top-lg",children:o.jsx(j,{viewKey:a.data.viewKey,playerApi:new URL(r.data.playerApiUrl),autoplay:!0,hotkeyElQuerySelector:"body",onReady:u,allowFullscreen:!1})}),o.jsx(A,{video:t.data,title:t.data.name,description:t.data.description,videoActions:s.getVideoActions(t.data)}),o.jsx(E,{closePopup:n})]})})}export{ue as ExchangePreviewView};
2
+ //# sourceMappingURL=DcA5xG6o.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DcA5xG6o.chunk.js","sources":["../../../../libs/shared/src/enums/MediaIdType.ts","../../../../libs/shared/src/flight-requests/PlayerRequests.ts","../../src/apps/exchange/views/exchange-preview/ExchangePreviewView.tsx"],"sourcesContent":["export enum MediaIdType {\n Share = 'share',\n MasterObject = 'masterobject'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerViewKey } from 'libs/shared/interfaces';\n\nexport const PlayerRequests = {\n createViewKey(\n mediaId: string,\n mediaIdType: MediaIdType,\n shareContextId?: string,\n success?: (viewKey: PlayerViewKey) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n const data: HashObject = {\n mediaId: mediaId.toString(),\n mediaIdType\n };\n\n if (shareContextId)\n data.shareContextId = shareContextId;\n\n return {\n url: `/api/player/create-view-key`,\n key: `view:key:${mediaId}:${mediaIdType}`,\n type: HttpVerbs.POST,\n data,\n /**\n * A view key is valid for 8 hours, at that point we need refetch the view key\n */\n cacheDuration: 28800,\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayerReference } from 'libs/shared/context/player-context/interfaces/PlayerReference';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { Config, PlayerViewKey, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport { PlayerOverlayButtons } from 'shared/components/player-overlay-buttons/PlayerOverlayButtons';\nimport { PreviewVideoDetails } from 'shared/components/preview-video-details/PreviewVideoDetails';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\n\ninterface ExchangePreviewViewProps extends PopupViewProps {\n videoId: string;\n currentTime: number;\n}\n\nexport function ExchangePreviewView(props: ExchangePreviewViewProps): JSX.Element {\n // const analyticsTracker = React.useRef<PlayerAnalyticsTracker>(null);\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n PlayerRequests.createViewKey(props.videoId, MediaIdType.MasterObject)\n );\n\n const videoActions = useGetExchangeActions('preview');\n useHandleDialogError(video.statusCode);\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, true);\n\n // TODO: Solve analytics collection\n function onReady(player: PlayerReference): void {\n player;\n // setupAnalytics(player);\n }\n\n // function setupAnalytics(player: PlayerReference): void {\n // analyticsTracker.current = new PlayerAnalyticsTracker({\n // player,\n // video: props.video,\n // analyticsLocation: props.embed ?\n // LocationContext.EmbeddedPlayer :\n // LocationContext.PlayPage,\n // shareId: props.shareLink?.id\n // });\n // }\n\n function onClose(): void {\n props.closePopup();\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext?.appLink ?? {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n });\n clearPreviewContext();\n }\n\n const hasLoaded = (\n video.data &&\n config.hasCompleted &&\n viewKey.hasCompleted\n );\n\n return (\n <Popup\n title={video.data?.name}\n hideTitle\n closePopup={onClose}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n bodyClassName='p-0 rounded-3 position-relative'\n >\n {hasLoaded &&\n <>\n <div className='overflow-hidden rounded-top-lg'>\n <ClickViewPlayer\n viewKey={viewKey.data.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n autoplay\n hotkeyElQuerySelector='body'\n onReady={onReady}\n allowFullscreen={false}\n />\n </div>\n <PreviewVideoDetails\n video={video.data}\n title={video.data.name}\n description={video.data.description}\n videoActions={videoActions.getVideoActions(video.data)}\n />\n <PlayerOverlayButtons closePopup={onClose} />\n </>\n }\n </Popup>\n );\n}"],"names":["MediaIdType","PlayerRequests","mediaId","mediaIdType","shareContextId","success","error","data","HttpVerbs","ExchangePreviewView","props","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","viewKey","videoActions","useGetExchangeActions","useHandleDialogError","previewContext","clearPreviewContext","usePreviewContext","onReady","player","onClose","ScrollHelper","Core.AppLinkHelper","AppChannels","Actions","hasLoaded","jsx","Popup","_a","jsxs","Fragment","ClickViewPlayer","PreviewVideoDetails","PlayerOverlayButtons"],"mappings":"+pCAAO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,aAAe,eAFLA,IAAAA,GAAA,CAAA,CAAA,ECQL,MAAMC,EAAiB,CAC5B,cACEC,EACAC,EACAC,EACAC,EACAC,EACgB,CAChB,MAAMC,EAAmB,CACvB,QAASL,EAAQ,SAAA,EACjB,YAAAC,CAAA,EAGF,OAAIC,IACFG,EAAK,eAAiBH,GAEjB,CACL,IAAK,8BACL,IAAK,YAAYF,CAAO,IAAIC,CAAW,GACvC,KAAMK,EAAU,KAChB,KAAAD,EAIA,cAAe,MACf,QAAAF,EACA,MAAAC,CAAA,CAEJ,CACF,ECPO,SAASG,GAAoBC,EAA8C,OAEhF,MAAMC,EAAQC,EAA4BC,EAAc,MAAMH,EAAM,OAAO,CAAC,EACtEI,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAUJ,EACdX,EAAe,cAAcS,EAAM,QAASV,EAAY,YAAY,CAAA,EAGhEiB,EAAeC,EAAsB,SAAS,EACpDC,EAAqBR,EAAM,UAAU,EAErC,KAAM,CAAE,eAAAS,EAAgB,oBAAAC,CAAA,EAAwBC,EAAkBZ,EAAM,QAAS,EAAI,EAGrF,SAASa,EAAQC,EAA+B,CAGhD,CAaA,SAASC,GAAgB,CACvBf,EAAM,WAAA,EAENgB,EAAa,iBAAA,EACbC,EAAmB,SAAQP,GAAA,YAAAA,EAAgB,UAAW,CACpD,YAAaQ,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC1B,EACDR,EAAA,CACF,CAEA,MAAMS,EACJnB,EAAM,MACNG,EAAO,cACPE,EAAQ,aAGV,OACEe,EAAAA,IAACC,EAAA,CACC,OAAOC,EAAAtB,EAAM,OAAN,YAAAsB,EAAY,KACnB,UAAS,GACT,WAAYR,EACZ,mBAAoB,CAACK,EACrB,KAAK,KACL,cAAc,kCAEb,YACCI,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAJ,EAAAA,IAAC,MAAA,CAAI,UAAU,iCACb,SAAAA,EAAAA,IAACK,EAAA,CACC,QAASpB,EAAQ,KAAK,QACtB,UAAW,IAAI,IAAIF,EAAO,KAAK,YAAY,EAC3C,SAAQ,GACR,sBAAsB,OACtB,QAAAS,EACA,gBAAiB,EAAA,CAAA,EAErB,EACAQ,EAAAA,IAACM,EAAA,CACC,MAAO1B,EAAM,KACb,MAAOA,EAAM,KAAK,KAClB,YAAaA,EAAM,KAAK,YACxB,aAAcM,EAAa,gBAAgBN,EAAM,IAAI,CAAA,CAAA,EAEvDoB,EAAAA,IAACO,EAAA,CAAqB,WAAYb,CAAA,CAAS,CAAA,CAAA,CAC7C,CAAA,CAAA,CAIR"}
@@ -0,0 +1,2 @@
1
+ import{j as e}from"./app-Det8y4U1.js";import{s}from"./Cyhg-nBj.chunk.js";function n(a){return e.jsx("svg",{...a,children:e.jsx("path",{d:"M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z",fill:"currentColor"})})}function r(a){let l=`d-flex align-items-center badge-list ${s.minHeight}`;return a.className&&(l+=` ${a.className}`),e.jsx("div",{className:l,children:a.children})}export{n as A,r as B};
2
+ //# sourceMappingURL=DgWxzhMg.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DgWxzhMg.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/AddVideoSvg.tsx","../../../../libs/shared/src/components/badges/BadgeListContainer.tsx"],"sourcesContent":["import React from 'react';\n\nexport function AddVideoSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}"],"names":["AddVideoSvg","props","jsx","BadgeListContainer","className","styles"],"mappings":"yEAEO,SAASA,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+nBACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCHO,SAASC,EAAmBF,EAAsE,CACvG,IAAIG,EAAY,wCAAwCC,EAAO,SAAS,GAExE,OAAIJ,EAAM,YACRG,GAAa,IAAIH,EAAM,SAAS,IAGhCC,EAAAA,IAAC,MAAA,CAAI,UAAAE,EACF,SAAAH,EAAM,SACT,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as g,ac as l,ad as m,ae as E,A as n,L as i,a as s,b as c}from"./app-Det8y4U1.js";import{P as x}from"./5EeDosB6.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=Dh_LRqD1.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dh_LRqD1.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"}
@@ -0,0 +1,2 @@
1
+ import{aK as F,j as e,B as h,aL as k,L as j,R as y,w as T,aM as B,aA as $,a0 as D,x as V,a1 as I,a2 as x,P as M,aC as H,a4 as U,A as Y,aa as O,ab as G,ac as W,aH as z,ad as K,ae as Q}from"./app-Det8y4U1.js";import{S as _}from"./CYuY28rl.chunk.js";import{F as J}from"./wKPIC1H3.chunk.js";import{l as m,a as X,F as f}from"./OvG1eOzS.chunk.js";import{F as Z}from"./1oBN4k-t.chunk.js";import{B as ee}from"./x8TB7tv6.chunk.js";import{R as ae}from"./QfCSKVqV.chunk.js";import{V as te}from"./CdGLJKZk.chunk.js";import{u as se}from"./C36BgTJV.chunk.js";import{u as re}from"./CRuObGvW.chunk.js";import{E as ne}from"./CxB8O87g.chunk.js";import{u as oe}from"./z6Us1EdG.chunk.js";import"./Bi0GaEZE.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./DYjoaCnl.chunk.js";const L="shared.flagRemovalRadio",p=j.encloseNamespace(L);function ie(){const t=F();function l(o){t.setFieldValue("suggestion",o)}function a(){return[p("nonEducational"),p("poorQuality"),p("offensive"),p("copyright"),p("ageAppropriate"),p("audio"),p("other")]}return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"form-label",children:[e.jsx(h,{namespace:L,phrase:"flagRemovalReasonLabel"}),e.jsx("span",{className:"text-danger",children:"*"})]}),a().map((o,d)=>e.jsx(k.Check,{type:"radio",label:o,name:o,id:`flag-${d}`,onChange:()=>l(o),checked:t.values.suggestion===o,className:"mb-2"},d))]})}const C="shared.suggestEditForm";function le(t){const l=F(),[a,o]=y.useState(),[d,n]=y.useState(!1);function g(r){const u=(l==null?void 0:l.values.property)&&t.metadataValue===r.name;l.setFieldValue("suggestion",u?"":r.name),o(r),n(u)}return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{className:"form-label",children:e.jsx(h,{namespace:C,phrase:"suggestLabel"})}),e.jsx("div",{"aria-describedby":"suggestEditRatingError",children:e.jsx(ee,{children:t.ratings.map(r=>e.jsx(T,{onClick:()=>g(r),className:`btn ${r.id===(a==null?void 0:a.id)?"btn-dark":"btn-outline-dark"}`,children:r.code},r.id))})}),d&&e.jsx(Z,{name:"suggestEditRating",children:e.jsx(h,{namespace:C,phrase:"ratingError"})})]})}const ce="shared.suggestEditValidation",S=j.encloseNamespace(ce);function de(){return m.object().shape({property:m.string().required(S("metadata")),reason:m.string().when("property",{is:t=>t==="FlagRemoval",then:m.string().notRequired(),otherwise:m.string().required(S("reason"))}),suggestion:m.string().required(S("suggestion")),currentValue:m.string()})}const b={VideoTitle:{name:"video title",property:"name"},Description:{name:"description",property:"description"},Rating:{name:"rating",property:"rating.name"},SeriesTitle:{name:"series title",property:"series.name"},Season:{name:"season number",property:"season.number"},EpisodeNumber:{name:"episode number",property:"episodeNumber"},BroadcastDate:{name:"broadcast date",property:"dateBroadcast"},Channel:{name:"channel",property:"channel.name"},ProductionYear:{name:"production year",property:"productionYear"},Distributors:{name:"distributors",property:"distributors",collection:!0},ProductionCompanies:{name:"production companies",property:"productionCompanies",collection:!0},Directors:{name:"directors",property:"directors",collection:!0},Producers:{name:"producers",property:"producers",collection:!0},FlagRemoval:{name:"flag for removal"},Other:{name:"other"}},N="shared.suggestEditForm",i=j.encloseNamespace(N),ue={property:"",suggestion:"",reason:"",currentValue:""};function me(t){var r,u;const l=(r=t.ratings)==null?void 0:r.filter(s=>s.code),a=F(),[o,d]=y.useState(),n=a==null?void 0:a.values.property;y.useEffect(()=>{const s=g();a.setValues({property:n,reason:"",suggestion:"",currentValue:s||""}),a.setTouched({}),d(s)},[n]);function g(){const s=b[n];if(!s||!s.property)return null;let c=B(t.video,s.property);if(!c||s.collection&&!c.data.length)return i("none");switch(s.collection&&(c=c.data.map(R=>R.name).join(", ")),n){case"BroadcastDate":return $.format(c,"D MMMM YYYY");default:return c}}return e.jsxs(D,{children:[e.jsxs(f,{as:"select",label:i("metadataLabel"),id:"property",name:"property",value:n,className:"text-capitalize",showRequiredStar:!0,children:[e.jsx("option",{value:"",children:i("metadataPlaceholder")}),Object.keys(b).map((s,c)=>e.jsx("option",{value:s,children:b[s].name},c))]}),n&&e.jsxs(e.Fragment,{children:[o&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"fw-semibold mb-0",children:[e.jsx(h,{namespace:N,phrase:"currentValueLabel"})," ",e.jsx("span",{children:(u=b[n])==null?void 0:u.name})]}),e.jsx("p",{children:o})]}),n==="Rating"&&e.jsx(le,{ratings:l,metadataValue:o}),n==="FlagRemoval"&&e.jsx(ie,{}),n!=="Rating"&&n!=="FlagRemoval"&&e.jsx(f,{label:i("suggestLabel"),placeholder:i("suggestPlaceholder"),type:"text",id:"suggestion",name:"suggestion",value:a==null?void 0:a.values.suggestion,showRequiredStar:!0}),n==="FlagRemoval"?e.jsx(f,{label:i("flagRemovalCommentsLabel"),placeholder:i("flagRemovalCommentsPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason}):e.jsx(f,{label:i("reasonLabel"),placeholder:i("reasonPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason,showRequiredStar:!0})]}),e.jsxs(V,{children:[e.jsx(V.Cancel,{text:i("cancel"),onClick:t.closePopup,variant:"link"}),e.jsx(J,{variant:"dark",submitText:i("submit")})]})]})}function pe(t){return e.jsx(X,{initialValues:ue,validationSchema:de(),onSubmit:t.onClickSubmit,children:e.jsx(me,{...t})})}const w="exchange.suggestEdit",v=j.encloseNamespace(w);function Pe(t){const l=I(),a=se(),{loading:o,handleGenerateReportError:d}=re(),n=x(H.config()),g=x(U.currentUser()),r=x(te.video(t.videoId)),u=x(ae.ratings()),{previewContext:s,clearPreviewContext:c}=oe(t.videoId,!1);async function R(P,q){try{await l(ne.suggestEdit(r.data.id,P)),a.success(v("success")),E(),O.logUserAction({id:r.data.id,name:r.data.name},{actionType:Q.Submit,entity:K.Video,descriptor:z.SuggestEdit,location:W.Popup,workflowPhase:G.Complete})}catch(A){d(A,v("error"),v("noEmailError"))}finally{q()}}function E(){t.closePopup(),s!=null&&s.appLink&&(_.preventScrollTop(),Y.trigger(s.appLink),c())}return n.hasCompleted&&g.hasCompleted&&r.hasCompleted&&u.hasCompleted?e.jsxs(M,{title:v("title"),closePopup:E,showLoadingSpinner:o,children:[e.jsx("p",{children:e.jsx(h,{namespace:w,phrase:"description"})}),e.jsx(pe,{video:r.data,ratings:u.data,closePopup:E,onClickSubmit:R})]}):e.jsx(e.Fragment,{})}export{Pe as ExchangeSuggestEditView};
2
+ //# sourceMappingURL=DiR2eKm4.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiR2eKm4.chunk.js","sources":["../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval.tsx","../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector.tsx","../../../../libs/shared/src/components/suggest-edit-form/validation/SuggestEditValidation.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditMetadataTypes.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditForm.tsx","../../src/apps/exchange/views/exchange-suggest-edit/ExchangeSuggestEditView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.flagRemovalRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditFlagRemoval() {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n function onSelectOption(option: string) {\n formikProps.setFieldValue('suggestion', option);\n }\n\n function flagRemovalRadioOptions() {\n return [\n getPhrase('nonEducational'),\n getPhrase('poorQuality'),\n getPhrase('offensive'),\n getPhrase('copyright'),\n getPhrase('ageAppropriate'),\n getPhrase('audio'),\n getPhrase('other')\n ];\n }\n\n return (\n <div className='mb-3'>\n <label className='form-label'>\n <Text namespace={namespace} phrase='flagRemovalReasonLabel' />\n <span className='text-danger'>*</span>\n </label>\n {flagRemovalRadioOptions().map((option, index) => (\n <Form.Check\n type='radio'\n key={index}\n label={option}\n name={option}\n id={`flag-${index}`}\n onChange={() => onSelectOption(option)}\n checked={formikProps.values.suggestion === option}\n className='mb-2'\n />\n ))}\n </div>\n );\n}","import React from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { Rating } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.suggestEditForm';\n\ninterface SuggestEditRatingSelectorProps {\n ratings: Rating[];\n metadataValue: string\n}\n\nexport function SuggestEditRatingSelector(props: SuggestEditRatingSelectorProps) {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ selectedRating, setSelectedRating ] = React.useState<Rating>();\n const [ isRatingInvalid, setIsRatingInvalid ] = React.useState<boolean>(false);\n \n function onRatingSelect(rating: Rating) {\n const isRatingInvalid = formikProps?.values.property && props.metadataValue === rating.name;\n formikProps.setFieldValue('suggestion', !isRatingInvalid ? rating.name : '');\n setSelectedRating(rating);\n setIsRatingInvalid(isRatingInvalid);\n }\n\n return (\n <div className='form-group'>\n <label className='form-label'><Text namespace={namespace} phrase='suggestLabel' /></label>\n <div aria-describedby='suggestEditRatingError'>\n <ButtonGroup>\n {props.ratings.map(rating => (\n <DivButton key={rating.id} onClick={() => onRatingSelect(rating)} className={`btn ${rating.id === selectedRating?.id ? 'btn-dark' : 'btn-outline-dark'}`}>\n {rating.code}\n </DivButton>\n ))}\n </ButtonGroup>\n </div>\n {isRatingInvalid && <FormFeedback name='suggestEditRating'><Text namespace={namespace} phrase='ratingError' /></FormFeedback>}\n </div>\n );\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'shared.suggestEditValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditValidation() {\n return object().shape({\n property: string().required((getPhrase('metadata'))),\n reason: string().when('property', {\n is: propertyValue => propertyValue === 'FlagRemoval',\n then: string().notRequired(),\n otherwise: string().required(getPhrase('reason'))\n }),\n suggestion: string().required(getPhrase('suggestion')),\n currentValue: string()\n });\n}","export enum MetadataType {\n VideoTitle = 'video title',\n Description = 'description',\n Rating = 'rating',\n SeriesTitle = 'series title',\n Season = 'season number',\n EpisodeNumber = 'episode number',\n BroadcastDate = 'broadcast date',\n Channel = 'channel',\n ProductionYear = 'production year',\n Distributors = 'distributors',\n ProductionCompanies = 'production companies',\n Directors = 'directors',\n Producers = 'producers',\n FlagRemoval = 'flag for removal',\n Other = 'other'\n}\n\nexport type MetadataTypeKey = keyof typeof MetadataType;\n\nexport type MetadataTypeMap = {\n [K in MetadataTypeKey]: {\n name: MetadataType;\n property?: string;\n collection?: boolean;\n };\n};\n\nexport const MetadataTypes: MetadataTypeMap = {\n VideoTitle: {\n name: MetadataType.VideoTitle,\n property: 'name'\n },\n Description: {\n name: MetadataType.Description,\n property: 'description'\n },\n Rating: {\n name: MetadataType.Rating,\n property: 'rating.name'\n },\n SeriesTitle: {\n name: MetadataType.SeriesTitle,\n property: 'series.name'\n },\n Season: {\n name: MetadataType.Season,\n property: 'season.number'\n },\n EpisodeNumber: {\n name: MetadataType.EpisodeNumber,\n property: 'episodeNumber'\n },\n BroadcastDate: {\n name: MetadataType.BroadcastDate,\n property: 'dateBroadcast'\n },\n Channel: {\n name: MetadataType.Channel,\n property: 'channel.name'\n },\n ProductionYear: {\n name: MetadataType.ProductionYear,\n property: 'productionYear'\n },\n Distributors: {\n name: MetadataType.Distributors,\n property: 'distributors',\n collection: true\n },\n ProductionCompanies: {\n name: MetadataType.ProductionCompanies,\n property: 'productionCompanies',\n collection: true\n },\n Directors: {\n name: MetadataType.Directors,\n property: 'directors',\n collection: true\n },\n Producers: {\n name: MetadataType.Producers,\n property: 'producers',\n collection: true\n },\n FlagRemoval: {\n name: MetadataType.FlagRemoval\n },\n Other: {\n name: MetadataType.Other\n }\n};","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SuggestEditFlagRemoval } from 'libs/shared/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval';\nimport { SuggestEditRatingSelector } from 'libs/shared/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { SuggestEditValidation } from './validation/SuggestEditValidation';\nimport { MetadataTypeKey, MetadataTypes } from './SuggestEditMetadataTypes';\n\nconst namespace = 'shared.suggestEditForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst INITIAL_VALUES = {\n property: '',\n suggestion: '',\n reason: '',\n currentValue: ''\n};\n\ninterface SuggestEditFormProps {\n video: Video;\n ratings: Rating[];\n onClickSubmit: (\n data: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) => void;\n closePopup: () => void\n}\n\nfunction SuggestEditForm(props: SuggestEditFormProps) {\n const ratings = props.ratings?.filter(rating => rating.code);\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ metadataValue, setMetadataValue ] = React.useState<string>();\n\n const metadata = formikProps?.values.property as MetadataTypeKey;\n\n React.useEffect(() => {\n const metadataValue = getMetadataValue();\n formikProps.setValues({\n property: metadata,\n reason: '',\n suggestion: '',\n currentValue: metadataValue || ''\n });\n formikProps.setTouched({});\n setMetadataValue(metadataValue);\n }, [metadata]);\n\n function getMetadataValue(): string {\n const metadataType = MetadataTypes[metadata];\n\n if (!metadataType || !metadataType.property)\n return null;\n\n let currentValue = get(props.video, metadataType.property);\n\n if (!currentValue || (metadataType.collection && !currentValue.data.length))\n return getPhrase('none');\n\n if (metadataType.collection) {\n currentValue = (currentValue.data as BaseObject[]).map(obj => obj.name).join(', ');\n }\n\n switch (metadata) {\n case 'BroadcastDate':\n return DateHelper.format(currentValue, 'D MMMM YYYY');\n default:\n return currentValue;\n }\n }\n\n return (\n <Form>\n <FormField\n as='select'\n label={getPhrase('metadataLabel')}\n id='property'\n name='property'\n value={metadata}\n className='text-capitalize'\n showRequiredStar\n >\n <option value=''>{getPhrase('metadataPlaceholder')}</option>\n {Object.keys(MetadataTypes).map((metadata, index) => (\n <option key={index} value={metadata}>\n {MetadataTypes[metadata as keyof typeof MetadataTypes].name}\n </option>\n ))}\n </FormField>\n\n {metadata &&\n <>\n {metadataValue && (\n <>\n <p className='fw-semibold mb-0'>\n <Text namespace={namespace} phrase='currentValueLabel' /> <span>{MetadataTypes[metadata as MetadataTypeKey]?.name}</span>\n </p>\n <p>{metadataValue}</p>\n </>\n )}\n\n {metadata === 'Rating' && <SuggestEditRatingSelector ratings={ratings} metadataValue={metadataValue} />}\n {metadata === 'FlagRemoval' && <SuggestEditFlagRemoval />}\n {metadata !== 'Rating' && metadata !== 'FlagRemoval' &&\n <FormField\n label={getPhrase('suggestLabel')}\n placeholder={getPhrase('suggestPlaceholder')}\n type='text'\n id='suggestion'\n name='suggestion'\n value={formikProps?.values.suggestion}\n showRequiredStar\n />\n }\n\n {\n metadata === 'FlagRemoval' ? (\n <FormField\n label={getPhrase('flagRemovalCommentsLabel')}\n placeholder={getPhrase('flagRemovalCommentsPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n />\n ) : (\n <FormField\n label={getPhrase('reasonLabel')}\n placeholder={getPhrase('reasonPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n showRequiredStar\n />\n )\n }\n </>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <FormButtons variant='dark' submitText={getPhrase('submit')} />\n </PopupButtons>\n </Form>\n );\n}\n\nexport function SuggestEditFormWrapper(props: SuggestEditFormProps) {\n return (\n <FormWrapper<SuggestEditModel>\n initialValues={INITIAL_VALUES}\n validationSchema={SuggestEditValidation()}\n onSubmit={props.onClickSubmit}\n >\n <SuggestEditForm {...props} />\n </FormWrapper>\n );\n}","\nimport React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SuggestEditFormWrapper } from 'libs/shared/components/suggest-edit-form/SuggestEditForm';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RatingRequests } from 'libs/shared/flight-requests/RatingRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { Config, CurrentUser, PopupViewProps, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\nconst namespace = 'exchange.suggestEdit';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSuggestEditProps extends PopupViewProps {\n videoId: string;\n}\n\nexport function ExchangeSuggestEditView(props: ExchangeSuggestEditProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const ratings = Flight.useBasicFetch<Rating[]>(RatingRequests.ratings());\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, false);\n\n async function onClickSubmit(\n values: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) {\n try {\n await fetchAsync(ExchangeRequests.suggestEdit(video.data.id, values));\n alerts.success(getPhrase('success'));\n closePopup();\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n } finally {\n onDone();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n const hasLoaded = (\n config.hasCompleted &&\n currentUser.hasCompleted &&\n video.hasCompleted &&\n ratings.hasCompleted\n );\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={loading}\n >\n <p><Text namespace={namespace} phrase='description' /></p>\n\n <SuggestEditFormWrapper\n video={video.data}\n ratings={ratings.data}\n closePopup={closePopup}\n onClickSubmit={onClickSubmit}\n />\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SuggestEditFlagRemoval","formikProps","useFormikContext","onSelectOption","option","flagRemovalRadioOptions","jsxs","jsx","Text","index","Form","SuggestEditRatingSelector","props","selectedRating","setSelectedRating","React","isRatingInvalid","setIsRatingInvalid","onRatingSelect","rating","ButtonGroup","DivButton","FormFeedback","SuggestEditValidation","object","string","propertyValue","MetadataTypes","INITIAL_VALUES","SuggestEditForm","ratings","_a","metadataValue","setMetadataValue","metadata","getMetadataValue","metadataType","currentValue","get","obj","DateHelper","FormField","Fragment","_b","PopupButtons","FormButtons","SuggestEditFormWrapper","FormWrapper","ExchangeSuggestEditView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","Flight.useBasicFetch","ConfigRequests","currentUser","UserRequests","video","VideoRequests","RatingRequests","previewContext","clearPreviewContext","usePreviewContext","onClickSubmit","values","onDone","ExchangeRequests","closePopup","AnalyticsHelper","UserAction","EntityType","VideoActionDescriptor","LocationContext","WorkflowPhase","xhr","ScrollHelper","Core.AppLinkHelper","Popup"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as l}from"./app-Det8y4U1.js";const s="_channelBadge_1riea_1",n="_small_1riea_4",e={channelBadge:s,small:n};function m(a){return l.jsx("div",{className:`${e.channelBadge} ${a.small?e.small:""} ${a.className||""}`,children:l.jsx("img",{className:"h-100 align-baseline",src:a.logoUrl})})}export{m as T};
2
+ //# sourceMappingURL=Dmfr0hZx.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dmfr0hZx.chunk.js","sources":["../../src/apps/tv/components/tv-channel-badge/TvChannelBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from './tv-channel-badge.module.scss';\n\ninterface TvChannelBadgeProps {\n logoUrl: string;\n small?: boolean;\n className?: string;\n}\n\nexport function TvChannelBadge(props: TvChannelBadgeProps) {\n return (\n <div className={`${styles.channelBadge} ${props.small ? styles.small : ''} ${props.className || ''}`}>\n <img className='h-100 align-baseline' src={props.logoUrl} />\n </div>\n );\n}"],"names":["TvChannelBadge","props","jsx","styles"],"mappings":"oHAUO,SAASA,EAAeC,EAA4B,CACzD,OACEC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,YAAY,IAAIF,EAAM,MAAQE,EAAO,MAAQ,EAAE,IAAIF,EAAM,WAAa,EAAE,GAChG,SAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,uBAAuB,IAAKD,EAAM,OAAA,CAAS,CAAA,CAC5D,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{R as o,q as e,bJ as a}from"./app-Det8y4U1.js";function t(...r){o.useEffect(()=>{!r.length||!r.some(e.isStatusCodeError)||e.throw(new a)},r)}export{t as u};
2
+ //# sourceMappingURL=DsCrIxlP.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DsCrIxlP.chunk.js","sources":["../../../../libs/shared/src/hooks/UseHandleDialogError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\n\nexport function useHandleDialogError(...statusCodes: HttpStatus[]): void {\n React.useEffect(() => {\n if (!statusCodes.length)\n return;\n\n const hasErrorCode = statusCodes.some(Core.ErrorHelper.isStatusCodeError);\n\n if (!hasErrorCode)\n return;\n\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n }, statusCodes);\n}"],"names":["useHandleDialogError","statusCodes","React","Core.ErrorHelper","UnspecifiedDialogError"],"mappings":"qDAOO,SAASA,KAAwBC,EAAiC,CACvEC,EAAM,UAAU,IAAM,CAChB,CAACD,EAAY,QAKb,CAFiBA,EAAY,KAAKE,EAAiB,iBAAiB,GAKxEA,EAAiB,MAAM,IAAIC,CAAwB,CACrD,EAAGH,CAAW,CAChB"}
@@ -0,0 +1,2 @@
1
+ import{a2 as g,u as d,Z as u,cl as l}from"./app-Det8y4U1.js";import{u as c}from"./CfRzFJ31.chunk.js";import{T as f}from"./BuawzJwd.chunk.js";function w(){var t;const e=g(f.regions());c(e);const{tvRegion:n,isLoadingSettings:s}=d(null),[r,a]=u("tv:region",{region:null},{storage:l.LocalStorage});function i(o){a({region:o.code})}return!((t=e.data)!=null&&t.length)||s?{isLoading:!0,region:null,setRegion:i}:r.region&&e.data.find(o=>o.code.toLowerCase()===r.region.toLowerCase())?{isLoading:!1,region:r.region.toUpperCase(),setRegion:i}:n&&e.data.find(o=>o.code.toLowerCase()===n.toLowerCase())?{isLoading:!1,region:n.toUpperCase(),setRegion:i}:{isLoading:!1,region:e.data[0].code,setRegion:i}}export{w as u};
2
+ //# sourceMappingURL=DuHiL0j5.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DuHiL0j5.chunk.js","sources":["../../src/apps/tv/hooks/useSelectedRegion.ts"],"sourcesContent":["import { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useSelectedRegion() {\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n\n useHandleObjectError(regions);\n\n const { tvRegion: customerRegion, isLoadingSettings } = useSettings(null);\n\n const [ regionViewModel, setRegionViewModel ] = useViewModel('tv:region', { region: null }, { storage: StorageType.LocalStorage });\n\n function setRegion(newRegion: TvRegion): void {\n setRegionViewModel({ region: newRegion.code });\n }\n\n if (!regions.data?.length || isLoadingSettings)\n return { isLoading: true, region: null, setRegion };\n\n if (regionViewModel.region && regions.data.find(r => r.code.toLowerCase() === regionViewModel.region.toLowerCase()))\n return { isLoading: false, region: regionViewModel.region.toUpperCase(), setRegion };\n \n if (customerRegion && regions.data.find(r => r.code.toLowerCase() === customerRegion.toLowerCase()))\n return { isLoading: false, region: customerRegion.toUpperCase(), setRegion };\n\n return { isLoading: false, region: regions.data[0].code, setRegion };\n}"],"names":["useSelectedRegion","regions","Flight.useBasicFetch","TvRequests","useHandleObjectError","customerRegion","isLoadingSettings","useSettings","regionViewModel","setRegionViewModel","useViewModel","StorageType","setRegion","newRegion","_a","r"],"mappings":"6IAUO,SAASA,GAAoB,OAClC,MAAMC,EAAUC,EAAiCC,EAAW,SAAS,EAErEC,EAAqBH,CAAO,EAE5B,KAAM,CAAE,SAAUI,EAAgB,kBAAAC,CAAA,EAAsBC,EAAY,IAAI,EAElE,CAAEC,EAAiBC,CAAmB,EAAIC,EAAa,YAAa,CAAE,OAAQ,IAAA,EAAQ,CAAE,QAASC,EAAY,aAAc,EAEjI,SAASC,EAAUC,EAA2B,CAC5CJ,EAAmB,CAAE,OAAQI,EAAU,IAAA,CAAM,CAC/C,CAEA,MAAI,GAACC,EAAAb,EAAQ,OAAR,MAAAa,EAAc,SAAUR,EACpB,CAAE,UAAW,GAAM,OAAQ,KAAM,UAAAM,CAAA,EAEtCJ,EAAgB,QAAUP,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBP,EAAgB,OAAO,aAAa,EACzG,CAAE,UAAW,GAAO,OAAQA,EAAgB,OAAO,YAAA,EAAe,UAAAI,CAAA,EAEvEP,GAAkBJ,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBV,EAAe,YAAA,CAAa,EACzF,CAAE,UAAW,GAAO,OAAQA,EAAe,YAAA,EAAe,UAAAO,CAAA,EAE5D,CAAE,UAAW,GAAO,OAAQX,EAAQ,KAAK,CAAC,EAAE,KAAM,UAAAW,CAAA,CAC3D"}
@@ -0,0 +1,2 @@
1
+ import{j as t,cm as p,L as o,J as S,V as C,G as v,Q as f}from"./app-Det8y4U1.js";import{C as m}from"./BlDVEZsX.chunk.js";import{R as x,s as P}from"./Cyhg-nBj.chunk.js";import{a as $,F as j}from"./CX6fV4JE.chunk.js";var d=(e=>(e.Draft="Draft",e.Published="Published",e.Archived="Archived",e))(d||{}),H=(e=>(e.Discover="discover",e.Classification="classification",e.ClassificationDirectory="classification-directory",e.ClassificationCurriculum="classification-curriculum",e.MoviesAndTv="movies-and-tv",e.Company="company",e.Search="search",e))(H||{}),g=(e=>(e.Exchange="exchange",e.Streamable="streamable",e.MoviesAndTv="movies_and_tv",e.Twig="twig",e))(g||{});function A(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z",clipRule:"evenodd"})})}function D(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z",fill:"currentColor"})})}const b=(e,r,n)=>{e=e.toString();const i=r-e.length;return i<=0?e:new Array(i+1).join(n)+e},w={ToDisplayDuration(e,r){if(!p(e))return"";const n=new Date(e),i=n.getUTCHours(),c=b(n.getUTCMinutes(),2,"0"),a=b(n.getUTCSeconds(),2,"0");return r||i>0?`${i}:${c}:${a}`:`${c}:${a}`},ToDisplayDurationNewStyle(e,r){if(!p(e))return"";const n=new Date(e),i=n.getUTCHours();let c=n.getUTCMinutes();const a=n.getUTCSeconds();if((i>0||c>0)&&a>=30&&(c=c+1),i>0){const h=i>1?"hrs":"hr";return c>0?r&&a>0?`${i}${h} ${c}m ${a}s`:`${i}${h} ${c}m `:`${i} ${h}`}return c>0?r&&a>0?`${c}m ${a}s`:`${c}m`:`${a}s`}};var l=(e=>(e.Folder="category",e.CategoryTree="category_tree",e.CustomLibrary="custom_library",e.HostedLibrary="hosted_library",e.Exchange="exchange",e.Workspace="workspace",e.Video="video",e.Clip="clip",e.Interactive="interactive",e))(l||{}),s=(e=>(e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text",e))(s||{});function N(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z",fill:"currentColor"})})}function E(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39",fill:"currentColor"})})}function L(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z",fill:"currentColor"})})}function V(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z",fill:"currentColor"})})}function q(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z",fill:"currentColor"})})}function M(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z",fill:"currentColor"})})}const u="shared.shared-utils",k={mapRatingToClass(e){return e?(n=>{switch(!0){case n<32:return"bg-purple";case n<48:return"bg-green";case n<80:return"bg-blue";case n<96:return"bg-red";case n<128:return"bg-pink";case n>=128:return"bg-yellow";default:return""}})(e):""},mapSourceToDisplayName(e,r){switch(e.type){case l.HostedLibrary:case l.CustomLibrary:return e.name;case l.Exchange:return o.getPhrase(u,"exchange");case l.Workspace:return o.getPhrase(u,r?"myVideos":"workspace");default:return""}},mapSourceToClass(e){switch(e){case l.HostedLibrary:case l.CustomLibrary:return"bg-blue";case l.Exchange:return"bg-green";case l.Workspace:default:return"bg-red"}},isInteractive(e){var r,n;return!!((n=(r=e==null?void 0:e.interactives)==null?void 0:r.data)!=null&&n.length)},mapTypeToSvg(e){let n={[s.Pdf]:E,[s.Image]:$,[s.PowerPoint]:L,[s.Document]:q,[s.Excel]:N,[s.Zip]:M,[s.File]:V}[e];return n||(n=j),n},mapTypeToClass(e){switch(e){case s.Pdf:return"icon-red";case s.Image:return"icon-purple";case s.Document:return"icon-blue";case s.Excel:return"icon-green";case s.PowerPoint:return"icon-orange";case s.Zip:return"icon-teal";case s.File:return"icon-gray";default:return""}},mapTypeToExtension(e){return e?{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]:""},mapTypeToName(e){if(!e)return"";switch(e){case s.Pdf:return o.getPhrase(u,"pdf");case s.Image:return o.getPhrase(u,"image");case s.Document:return o.getPhrase(u,"document");case s.Excel:return o.getPhrase(u,"spreadsheet");case s.PowerPoint:return o.getPhrase(u,"presentation");case s.Zip:return o.getPhrase(u,"zipArchive");case s.File:return o.getPhrase(u,"file");default:return""}}},F="shared.badges",I=o.encloseNamespace(F);var R=(e=>(e.DurationExact="duration-exact",e.DurationApproximate="duration-approximate",e.Interactive="interactive",e.Rating="rating",e.ProductionYear="production-year",e.Captions="captions",e.Status="status",e.Trending="trending",e.Count="count",e.Restriction="restriction",e.Source="source",e))(R||{});const U={xs:f.ExtraSmall,sm:f.Small,std:f.Standard,lg:f.Large},Z={xs:"badge-xs",sm:"badge-sm",std:"badge-std",lg:"badge-lg"};function _(e){switch(e){case m.Published:case d.Published:return"bg-success";case m.Archived:case m.Rejected:case d.Archived:return"bg-danger";case m.Draft:case d.Draft:return"draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center";case m.Pending:case m.Processing:return"bg-warning"}}function W(e){return e.includes(g.Streamable)?`px-1 text-nowrap d-flex align-items-center ${P.streamable}`:e.includes(g.MoviesAndTv)?"bg-indigo text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Exchange)?"bg-orange text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Twig)?"bg-pink text-white px-1 text-nowrap d-flex align-items-center":""}function T(e,r,n){const i="badge",c=Z[n];let a="";if(e==="duration-approximate"&&(a="duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center"),e==="duration-exact"&&(a="duration-badge"),e==="interactive"&&(a="interactive-badge"),e==="rating"&&(a=`rating-badge text-shadow ${k.mapRatingToClass(r.value)}`),e==="production-year"&&(a="production-year-badge text-shadow"),e==="captions")return"p-0";if(e==="status")return`badge ${_(r)}`;if(e==="trending")return`trending-badge px-1 d-flex align-items-center ${c}`;if(e==="count"&&(a="count-badge px-1 rounded"),e==="restriction"){const h=x.mapRestrictionToClass(r.restrictions);return C("restriction-badge rounded-pill px-2 d-flex align-items-center",h)}return e==="source"&&(a=W(r)),C(i,a)}function G(e,r,n){if(e==="interactive")return I("interactive");if(e==="duration-approximate")return w.ToDisplayDurationNewStyle(r);if(e==="duration-exact")return w.ToDisplayDuration(r);if(e==="rating")return r.code;if(e==="production-year")return r;if(e==="captions")return t.jsx(v,{svg:D});if(e==="status")return typeof r=="number"?m[r]:r;if(e==="trending")return t.jsxs(t.Fragment,{children:[t.jsx(v,{svg:A,size:U[n]}),t.jsx("span",{className:"ps-1",children:r})]});if(e==="count")return r;if(e==="restriction")return t.jsxs(t.Fragment,{children:[t.jsx(v,{svg:x.mapRestrictionToSvg(r.restrictions)}),t.jsx("span",{children:x.mapRestrictionToText(r.restrictions,r.yearGroups)})]});if(e==="source"){const i=r;return i.includes(g.Streamable)?"streamable":i.includes(g.MoviesAndTv)?"movies + tv":i.includes(g.Exchange)?"exchange":i.includes(g.Twig)?"twig":"-"}}function J(e,r){return e==="rating"?{title:r.name,placement:"top"}:null}function Q(e,r){var n,i;return typeof r=="boolean"?!!r:e==="rating"?r&&!!r.value:e==="interactive"?!!(r!=null&&r.length)||!!((n=r==null?void 0:r.data)!=null&&n.length):e==="captions"?!!(r!=null&&r.length)||!!((i=r==null?void 0:r.data)!=null&&i.length):e==="status"?typeof r=="number"||typeof r=="string":!!r}function O(e){const{type:r,data:n,size:i="std"}=e;if(!Q(r,n))return t.jsx(t.Fragment,{});let c=T(r,n,i);c=`${c} ${e.inline?"d-inline-block":"d-flex justify-content-center"} ${e.className||""}`;const a=G(r,n,i),h=J(r,n),z=e.inline&&"d-inline-block";return h?t.jsx("div",{className:"badge-wrapper d-inline",children:t.jsx(S,{...h,spanHack:!0,spanHackClassName:z,children:t.jsx("span",{className:c,children:a})})}):t.jsx("span",{className:`${c} badge-wrapper`,children:a})}export{O as B,D as C,w as D,l as M,s as R,R as a,H as b};
2
+ //# sourceMappingURL=DwMcJ3Ip.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DwMcJ3Ip.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/Dashboard.ts","../../../../libs/shared/src/enums/VideoSource.ts","../../../../libs/shared/src/images/svg/objects/TrendingSvg.tsx","../../../../libs/shared/src/images/svg/status/CloseCaptionBadgeSvg.tsx","../../../../libs/shared/src/utils/DurationHelper.ts","../../../../libs/shared/src/enums/MasterObjectTypes.ts","../../../../libs/shared/src/enums/ResourceFileType.ts","../../../../libs/shared/src/images/svg/objects/FileExcelSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePdfSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePptSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileWordSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileZipSvg.tsx","../../../../libs/shared/src/utils/VideoDetailsHelper.ts","../../../../libs/shared/src/components/badges/Badge.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\n\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\nimport { BaseObject, BasePaginatedCollection, CuratedWidget, CuratedWidgetContent, CuratedWidgetData } from 'libs/shared/interfaces';\n\nexport enum DashboardLearningLevel {\n Any = 'Any',\n Level_1 = 'Level_1',\n Level_2 = 'Level_2',\n Level_3 = 'Level_3',\n Level_4 = 'Level_4',\n}\n\nexport enum DashboardUserType {\n Any = 'Any',\n Staff = 'Staff',\n Learner = 'Learner',\n}\n\nexport enum DashboardStatus {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived',\n}\n\nexport interface Dashboard extends BaseObject {\n libraryType: LibraryType;\n customerType: CustomerType;\n userRole: number;\n}\n\nexport interface CuratedDashboard<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseObject {\n contentRegion: ContentRegion;\n description: string;\n learningLevel: DashboardLearningLevel;\n userType: DashboardUserType;\n status: DashboardStatus;\n target: string;\n widgets: CuratedWidget<TWidgetData, TWidgetContent>[];\n metadata: HashObject;\n datePublished: string;\n}\n\nexport interface CuratedDashboardCollection<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BasePaginatedCollection<CuratedDashboard<TWidgetData, TWidgetContent>>{}\n\n/**\n * Dashboard identification below\n */\nexport enum DashboardTargetType {\n Discover = 'discover',\n Classification = 'classification',\n ClassificationDirectory = 'classification-directory',\n ClassificationCurriculum = 'classification-curriculum',\n MoviesAndTv = 'movies-and-tv',\n Company = 'company',\n Search = 'search'\n}\n\ninterface DiscoverDashboardInfo {\n targetType: DashboardTargetType.Discover;\n presentationId: string;\n}\n\nexport interface ClassificationDashboardInfo {\n targetType: DashboardTargetType.Classification;\n classificationId: string;\n}\n\nexport interface ClassificationDirectoryInfo {\n targetType: DashboardTargetType.ClassificationDirectory;\n classificationId: string;\n}\n\nexport interface ClassificationCurriculumInfo {\n targetType: DashboardTargetType.ClassificationCurriculum;\n classificationId: string;\n}\n\ninterface MoviesAndTvDashboardInfo {\n targetType: DashboardTargetType.MoviesAndTv;\n presentationId: string;\n}\n\nexport interface CompanyDashboardInfo {\n targetType: DashboardTargetType.Company;\n companyId: string;\n presentationId: string;\n}\n\nexport type DashboardTargetInfo = DiscoverDashboardInfo |\n ClassificationDashboardInfo |\n ClassificationDirectoryInfo |\n ClassificationCurriculumInfo |\n MoviesAndTvDashboardInfo |\n CompanyDashboardInfo;\n\nexport interface UnknownDashboardTargetInfo {\n targetType: DashboardTargetType;\n presentationId: string;\n classificationId: string;\n companyId: string;\n}","export enum VideoSource {\n Exchange = 'exchange',\n Streamable = 'streamable',\n MoviesAndTv = 'movies_and_tv',\n Twig = 'twig'\n}","import React from 'react';\n\nexport function TrendingSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function CloseCaptionBadgeSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n const h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n }\n};\n\nexport { DurationHelper };","export enum MasterObjectTypes {\n Folder = 'category',\n CategoryTree = 'category_tree',\n CustomLibrary = 'custom_library',\n HostedLibrary = 'hosted_library',\n Exchange = 'exchange',\n Workspace = 'workspace',\n Video = 'video',\n Clip = 'clip',\n Interactive = 'interactive'\n}","// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n","import React from 'react';\n\nexport function FileExcelSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePdfSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePptSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileWordSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileZipSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { FileExcelSvg } from '../images/svg/objects/FileExcelSvg';\nimport { FileImgSvg } from '../images/svg/objects/FileImgSvg';\nimport { FilePdfSvg } from '../images/svg/objects/FilePdfSvg';\nimport { FilePptSvg } from '../images/svg/objects/FilePptSvg';\nimport { FileSvg } from '../images/svg/objects/FileSvg';\nimport { FileWordSvg } from '../images/svg/objects/FileWordSvg';\nimport { FileZipSvg } from '../images/svg/objects/FileZipSvg';\nimport { FolderSvg } from '../images/svg/objects/FolderSvg';\n\n\nconst lang = 'shared.shared-utils';\n\nexport const VideoDetailsHelper = {\n mapRatingToClass(ratingValue: number): string {\n if (!ratingValue) return '';\n\n const ratings = (rating: number): string => {\n switch (true) {\n case (rating < 32):\n return 'bg-purple';\n case (rating < 48):\n return 'bg-green';\n case (rating < 80):\n return 'bg-blue';\n case (rating < 96):\n return 'bg-red';\n case (rating < 128):\n return 'bg-pink';\n case (rating >= 128):\n return 'bg-yellow';\n default:\n return ''; // Handles unrated\n }\n };\n\n return ratings(ratingValue);\n },\n\n mapSourceToDisplayName(library: Library, hasLite?: boolean): string {\n switch (library.type) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return library.name;\n case MasterObjectTypes.Exchange:\n return LanguageService.getPhrase(lang, 'exchange');\n case MasterObjectTypes.Workspace:\n return LanguageService.getPhrase(lang, hasLite ? 'myVideos' : 'workspace');\n default:\n return '';\n }\n },\n\n mapSourceToClass(sourceType: MasterObjectTypes | 'online_supplementary_library'): string {\n switch (sourceType) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return 'bg-blue';\n case MasterObjectTypes.Exchange:\n return 'bg-green';\n case MasterObjectTypes.Workspace:\n default:\n return 'bg-red';\n }\n },\n\n isInteractive(video: Video): boolean {\n return !!video?.interactives?.data?.length;\n },\n\n mapTypeToSvg(type: string): any {\n const types: HashObject = {\n [ResourceFileType.Pdf]: FilePdfSvg,\n [ResourceFileType.Image]: FileImgSvg,\n [ResourceFileType.PowerPoint]: FilePptSvg,\n [ResourceFileType.Document]: FileWordSvg,\n [ResourceFileType.Excel]: FileExcelSvg,\n [ResourceFileType.Zip]: FileZipSvg,\n [ResourceFileType.File]: FileSvg\n };\n\n let mappedType = types[type];\n\n if (!mappedType)\n mappedType = FolderSvg;\n\n return mappedType;\n },\n\n mapTypeToClass(type: string): any {\n switch (type) {\n case ResourceFileType.Pdf:\n return 'icon-red';\n\n case ResourceFileType.Image:\n return 'icon-purple';\n\n case ResourceFileType.Document:\n return 'icon-blue';\n\n case ResourceFileType.Excel:\n return 'icon-green';\n\n case ResourceFileType.PowerPoint:\n return 'icon-orange';\n\n case ResourceFileType.Zip:\n return 'icon-teal';\n\n case ResourceFileType.File:\n return 'icon-gray';\n\n default:\n return '';\n }\n },\n\n mapTypeToExtension(type: string): string {\n if (!type) return '';\n\n const extensions: HashObject = {\n pdf: 'pdf',\n image: 'png',\n powerpoint: 'pptx'\n };\n\n return extensions[type.toLowerCase()];\n },\n\n mapTypeToName(type: string): string {\n if (!type) return '';\n\n switch (type) {\n case ResourceFileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\n case ResourceFileType.Image: return LanguageService.getPhrase(lang, 'image');\n case ResourceFileType.Document: return LanguageService.getPhrase(lang, 'document');\n case ResourceFileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\n case ResourceFileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\n case ResourceFileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\n case ResourceFileType.File: return LanguageService.getPhrase(lang, 'file');\n\n default:\n return '';\n }\n }\n};\n","import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { VideoSource } from 'libs/shared/enums/VideoSource';\nimport { TrendingSvg } from 'libs/shared/images/svg/objects/TrendingSvg';\nimport { CloseCaptionBadgeSvg } from 'libs/shared/images/svg/status/CloseCaptionBadgeSvg';\nimport { DashboardStatus, Rating } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\n\nimport styles from './badge.module.scss';\n\nconst namespace = 'shared.badges';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum BadgeType {\n DurationExact = 'duration-exact',\n DurationApproximate = 'duration-approximate',\n Interactive = 'interactive',\n Rating = 'rating',\n ProductionYear = 'production-year',\n Captions = 'captions',\n Status = 'status',\n Trending = 'trending',\n Count = 'count',\n Restriction = 'restriction',\n Source = 'source'\n}\n\ntype BadgeSize = 'xs' | 'sm' | 'std' | 'lg';\n\ninterface BadgeProps {\n type: BadgeType;\n data: any;\n inline?: boolean;\n className?: string;\n /**\n * Only Trending badge supports this attribute atm\n */\n size?: BadgeSize;\n}\n\ninterface TooltipOptions {\n placement: Placement;\n title: string;\n}\n\nconst badgeSvgContainerSizeMap: {[key in BadgeSize]: SvgContainerSize} = {\n xs: SvgContainerSize.ExtraSmall,\n sm: SvgContainerSize.Small,\n std: SvgContainerSize.Standard,\n lg: SvgContainerSize.Large\n};\n\nconst badgeSizeClassNameMap: {[key in BadgeSize]: string} = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n std: 'badge-std',\n lg: 'badge-lg'\n};\n\nfunction getStatusClassName(status: CurationStatus | DashboardStatus): string {\n switch (status) {\n case CurationStatus.Published:\n case DashboardStatus.Published:\n return 'bg-success';\n\n case CurationStatus.Archived:\n case CurationStatus.Rejected:\n case DashboardStatus.Archived:\n return 'bg-danger';\n\n case CurationStatus.Draft:\n case DashboardStatus.Draft:\n return 'draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n case CurationStatus.Pending:\n case CurationStatus.Processing:\n return 'bg-warning';\n }\n}\n\nfunction getSourceClassName(sources: VideoSource[]): string {\n if (sources.includes(VideoSource.Streamable))\n return `px-1 text-nowrap d-flex align-items-center ${styles.streamable}`;\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'bg-indigo text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Exchange))\n return 'bg-orange text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Twig))\n return `bg-pink text-white px-1 text-nowrap d-flex align-items-center`;\n\n return '';\n}\n\nfunction getClassName(type: BadgeType, data: any, size: BadgeSize): string {\n const baseClass = 'badge';\n const sizeClass = badgeSizeClassNameMap[size];\n\n let typeClass = '';\n\n if (type === BadgeType.DurationApproximate)\n typeClass = 'duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n if (type === BadgeType.DurationExact)\n typeClass = 'duration-badge';\n\n if (type === BadgeType.Interactive)\n typeClass = 'interactive-badge';\n\n if (type === BadgeType.Rating)\n typeClass = `rating-badge text-shadow ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\n\n if (type === BadgeType.ProductionYear)\n typeClass = 'production-year-badge text-shadow';\n\n if (type === BadgeType.Captions)\n return 'p-0';\n\n if (type === BadgeType.Status)\n return `badge ${getStatusClassName(data)}`;\n\n if (type === BadgeType.Trending)\n return `trending-badge px-1 d-flex align-items-center ${sizeClass}`;\n\n if (type === BadgeType.Count)\n typeClass = 'count-badge px-1 rounded';\n\n if (type === BadgeType.Restriction) {\n const restrictionBgClass = RestrictionHelper.mapRestrictionToClass(data.restrictions);\n return classNames('restriction-badge rounded-pill px-2 d-flex align-items-center', restrictionBgClass);\n }\n \n if (type === BadgeType.Source)\n typeClass = getSourceClassName(data);\n\n return classNames(baseClass, typeClass);\n}\n\nfunction getBadgeContent(type: BadgeType, data: any, size: BadgeSize): string | JSX.Element {\n if (type === BadgeType.Interactive)\n return getPhrase('interactive');\n\n if (type === BadgeType.DurationApproximate)\n return DurationHelper.ToDisplayDurationNewStyle(data);\n\n if (type === BadgeType.DurationExact)\n return DurationHelper.ToDisplayDuration(data);\n\n if (type === BadgeType.Rating)\n return (data as Rating).code; // data expected to be a rating object\n\n if (type === BadgeType.ProductionYear)\n return data; // data should be the production year\n\n if (type === BadgeType.Captions)\n return <SvgContainer svg={CloseCaptionBadgeSvg} />;\n\n if (type === BadgeType.Status) {\n if (typeof(data) === 'number') {\n return CurationStatus[data];\n }\n return data;\n }\n\n if (type === BadgeType.Trending)\n return (\n <>\n <SvgContainer svg={TrendingSvg} size={badgeSvgContainerSizeMap[size]} />\n <span className='ps-1'>{data}</span>\n </>\n );\n\n if (type === BadgeType.Count)\n return data;\n\n if (type === BadgeType.Restriction)\n return (\n <>\n <SvgContainer\n svg={RestrictionHelper.mapRestrictionToSvg(data.restrictions)}\n />\n <span>\n {RestrictionHelper.mapRestrictionToText(data.restrictions, data.yearGroups)}\n </span>\n </>\n );\n\n if (type === BadgeType.Source) {\n const sources = data as VideoSource[];\n\n if (sources.includes(VideoSource.Streamable))\n return 'streamable';\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'movies + tv';\n\n if (sources.includes(VideoSource.Exchange))\n return 'exchange';\n\n if (sources.includes(VideoSource.Twig))\n return 'twig';\n\n return '-';\n }\n}\n\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\n if (type === BadgeType.Rating)\n return {\n title: (data as Rating).name,\n placement: 'top'\n };\n\n return null;\n}\n\nfunction hasData(type: BadgeType, data: any): boolean {\n if (typeof(data) === 'boolean')\n return !!data;\n\n if (type === BadgeType.Rating)\n return data && !!(data as Rating).value;\n\n if (type === BadgeType.Interactive)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Captions)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Status)\n return typeof(data) === 'number' || typeof(data) === 'string';\n\n return !!data;\n}\n\nexport function Badge(props: BadgeProps): JSX.Element {\n const { type, data, size = 'std' } = props;\n \n if (!hasData(type, data))\n return <></>;\n\n let className = getClassName(type, data, size);\n className = `${className} ${props.inline ? 'd-inline-block' : 'd-flex justify-content-center'} ${props.className || ''}`;\n const content = getBadgeContent(type, data, size);\n const tooltip = getTooltip(type, data);\n const spanHackClassName = props.inline && 'd-inline-block';\n\n if (tooltip) {\n return (\n <div className='badge-wrapper d-inline'>\n <Tooltip {...tooltip} spanHack spanHackClassName={spanHackClassName}>\n <span className={className}>{content}</span>\n </Tooltip>\n </div>\n );\n }\n\n return <span className={`${className} badge-wrapper`}>{content}</span>;\n}"],"names":["DashboardStatus","DashboardTargetType","VideoSource","TrendingSvg","props","jsx","CloseCaptionBadgeSvg","padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit","MasterObjectTypes","ResourceFileType","FileExcelSvg","FilePdfSvg","FilePptSvg","FileSvg","FileWordSvg","FileZipSvg","lang","VideoDetailsHelper","ratingValue","rating","library","hasLite","LanguageService","sourceType","video","_b","_a","type","mappedType","FileImgSvg","FolderSvg","namespace","getPhrase","BadgeType","badgeSvgContainerSizeMap","SvgContainerSize","badgeSizeClassNameMap","getStatusClassName","status","CurationStatus","getSourceClassName","sources","styles","getClassName","data","size","baseClass","sizeClass","typeClass","restrictionBgClass","RestrictionHelper","classNames","getBadgeContent","SvgContainer","jsxs","Fragment","getTooltip","hasData","Badge","className","content","tooltip","spanHackClassName","Tooltip"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{a2 as s,j as a,P as g,L as h,x as i,B as u,aC as x}from"./app-Det8y4U1.js";import{T as j}from"./OpOTepmF.chunk.js";import{T as r}from"./BuawzJwd.chunk.js";import"./DWmgmt8-.chunk.js";const l="tv.radioDownload",d=h.encloseNamespace(l);function T(o){const t=s(x.config()),e=s(r.program(o.id)),c=s(r.region(o.region));function m(){var n;const p=(n=e.data)==null?void 0:n.globalId.split("-").join("");return`${t.data.tvPreviewUrls[c.data.code]}/audio/${p}.mp3`}return t.hasCompleted&&e.hasCompleted?a.jsxs(g,{title:d("title"),closePopup:o.closePopup,showLoadingSpinner:!e.hasCompleted,children:[e.data&&a.jsxs(a.Fragment,{children:[a.jsx("p",{className:"fw-semibold mb-2",children:e.data.title}),a.jsx("div",{className:"d-flex mb-2",children:a.jsx(j,{program:e.data,showDate:!0,showEndTime:!0})}),a.jsx("p",{children:e.data.description})]}),a.jsxs(i,{children:[a.jsx(i.Cancel,{text:d("cancel"),onClick:o.closePopup,variant:"link"}),a.jsx("a",{target:"_blank",href:m(),className:"btn btn-dark",children:a.jsx(u,{namespace:l,phrase:"download"})})]})]}):a.jsx(a.Fragment,{})}export{T as TvRadioDownloadView};
2
+ //# sourceMappingURL=DxkmuWkI.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DxkmuWkI.chunk.js","sources":["../../src/apps/tv/views/tv-radio-download/TvRadioDownloadView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { Popup, PopupProps } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { TvProgramTimeBadge } from 'apps/tv/components/tv-program-time-badge/TvProgramTimeBadge';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.radioDownload';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRadioDownloadProps extends PopupProps {\n id: string;\n region: string;\n}\n\nexport function TvRadioDownloadView(props: TvRadioDownloadProps) {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(props.id));\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n\n function getDownloadLink() {\n const globalId = program.data?.globalId.split('-').join('');\n return `${config.data.tvPreviewUrls[region.data.code]}/audio/${globalId}.mp3`;\n }\n\n const hasLoaded = (config.hasCompleted && program.hasCompleted);\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!program.hasCompleted}\n >\n {program.data &&\n <>\n <p className='fw-semibold mb-2'>{program.data.title}</p>\n <div className='d-flex mb-2'>\n <TvProgramTimeBadge program={program.data} showDate showEndTime />\n </div>\n <p>{program.data.description}</p>\n </>\n }\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <a target='_blank' href={getDownloadLink()} className='btn btn-dark'>\n <Text namespace={namespace} phrase='download' />\n </a>\n </PopupButtons>\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","TvRadioDownloadView","props","config","Flight.useBasicFetch","ConfigRequests","program","TvRequests","region","getDownloadLink","globalId","_a","jsxs","Popup","Fragment","jsx","TvProgramTimeBadge","PopupButtons","Text"],"mappings":"8LAgBA,MAAMA,EAAY,mBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAOrD,SAASG,EAAoBC,EAA6B,CAC/D,MAAMC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAUF,EAAgCG,EAAW,QAAQL,EAAM,EAAE,CAAC,EACtEM,EAASJ,EAA+BG,EAAW,OAAOL,EAAM,MAAM,CAAC,EAE7E,SAASO,GAAkB,OACzB,MAAMC,GAAWC,EAAAL,EAAQ,OAAR,YAAAK,EAAc,SAAS,MAAM,KAAK,KAAK,IACxD,MAAO,GAAGR,EAAO,KAAK,cAAcK,EAAO,KAAK,IAAI,CAAC,UAAUE,CAAQ,MACzE,CAIA,OAFmBP,EAAO,cAAgBG,EAAQ,aAOhDM,EAAAA,KAACC,EAAA,CACC,MAAOd,EAAU,OAAO,EACxB,WAAYG,EAAM,WAClB,mBAAoB,CAACI,EAAQ,aAE5B,SAAA,CAAAA,EAAQ,MACPM,EAAAA,KAAAE,EAAAA,SAAA,CACE,SAAA,CAAAC,MAAC,IAAA,CAAE,UAAU,mBAAoB,SAAAT,EAAQ,KAAK,MAAM,QACnD,MAAA,CAAI,UAAU,cACb,eAACU,EAAA,CAAmB,QAASV,EAAQ,KAAM,SAAQ,GAAC,YAAW,EAAA,CAAC,EAClE,QACC,IAAA,CAAG,SAAAA,EAAQ,KAAK,YAAY,CAAA,EAC/B,SAEDW,EAAA,CACC,SAAA,CAAAF,EAAAA,IAACE,EAAa,OAAb,CACC,KAAMlB,EAAU,QAAQ,EACxB,QAASG,EAAM,WACf,QAAQ,MAAA,CAAA,QAET,IAAA,CAAE,OAAO,SAAS,KAAMO,IAAmB,UAAU,eACpD,SAAAM,EAAAA,IAACG,EAAA,CAAK,UAAApB,EAAsB,OAAO,UAAA,CAAW,EAChD,CAAA,EACF,CAAA,CAAA,CAAA,EA3BKiB,EAAAA,IAAAD,EAAAA,SAAA,EAAE,CA8Bb"}
@@ -0,0 +1,2 @@
1
+ import{Y as b,at as y,j as s,ap as d,aq as t}from"./app-Det8y4U1.js";import{L as u}from"./C8geGHZf.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===t.Thumbnails&&(a=`thumbnail ${m.thumbnail}`),e.imageType===t.TallPosters&&(a=m.tallPoster),e.imageType===t.Covers&&(a=m.cover),e.imageType===t.Banners&&(a=m.banner),e.imageType===t.Posters&&(a=m.poster),e.imageType===t.Pdf&&(a=m.pdf),e.imageType===t.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 l="";typeof i=="string"?l=i:b.isObject(i)&&(l=i.url);const n=l&&a?y.createUrl(l,a):l;return s.jsx("div",{className:x(e),style:e.imageStyle,children:s.jsxs(d,{appLink:r,analyticsData:_,analyticsOptions:g,onClick:e.onClick,preventFocus:e.preventFocus,className:e.appLinkClassName,children:[e.children,n&&s.jsx(u,{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=DzbCvkXx.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DzbCvkXx.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"}
@@ -0,0 +1,2 @@
1
+ const E={PresentationIds:{DEFAULT:1,AU_PRIMARY:18,AU_SECONDARY:9,AU_TERTIARY:81,US_ELEMENTARY:13,CA_ELEMENTARY:100,CA_MIDDLE:101,CA_HIGH:102,STREAMABLE_LEARNING:68,ENG_PRIMARY:16,ENG_SECONDARY:47,SCT_PRIMARY:12,SCT_SECONDARY:24,UK_TERTIARY:82,INT_PRIMARY:19,INT_SECONDARY:21,NZ_PRIMARY:96,NZ_SECONDARY:97},Libraries:{TWIG:"88117784",TIGTAG:"80333935"},Images:{Level_1:{TOPIC_BANNER:"https://img.clickviewapp.com/v2/banners/dlM73E",TOPIC_COVER:"https://img.clickviewapp.com/v2/covers/WAe8MP",TOPIC_TALL_POSTER:"https://img.clickviewapp.com/v2/tallposters/raRm7E",NEW_RELEASES_BANNER:"https://img.clickviewapp.com/v2/banners/3kzeZ2"},Level_2:{TOPIC_BANNER:"https://img.clickviewapp.com/v2/banners/WAeKvP",TOPIC_COVER:"https://img.clickviewapp.com/v2/covers/9DAZJv",TOPIC_TALL_POSTER:"https://img.clickviewapp.com/v2/tallposters/eKG2bq",NEW_RELEASES_BANNER:"https://img.clickviewapp.com/v2/banners/xyn5eP"},Level_3:{TOPIC_BANNER:"https://img.clickviewapp.com/v2/banners/dl1d0g",TOPIC_COVER:"https://img.clickviewapp.com/v2/covers/R0Pz7A",TOPIC_TALL_POSTER:"https://img.clickviewapp.com/v2/tallposters/8LYZ9R",NEW_RELEASES_BANNER:"https://img.clickviewapp.com/v2/banners/nKDyRj"},Level_4:{TOPIC_BANNER:"https://img.clickviewapp.com/v2/banners/vYJPP5",TOPIC_COVER:"https://img.clickviewapp.com/v2/covers/PGPLLP"}}};export{E as H};
2
+ //# sourceMappingURL=Kj832An8.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kj832An8.chunk.js","sources":["../../../../libs/shared/src/constants/HardCoded.ts"],"sourcesContent":["export const HardCoded = {\n OlympicsTopics: {\n // AU_PRIMARY\n ['18']: {\n id: 'Oq9WnjA',\n name: '2026 Milano Cortina Winter Olympic Games'\n },\n // AU_SECONDARY\n ['9']: {\n id: 'EoAYjoR',\n name: '2026 Milano Cortina Winter Olympic Games'\n }\n },\n PublicTranscriptVideoIds: [\n '78902422',\n '8139055',\n '32102562',\n '36875667',\n '3713657',\n '9900524',\n '48278572',\n '39424302',\n '3712691',\n '54504550',\n '23852726',\n '3713563',\n '3714027',\n '51281358',\n '58785149',\n '7322586',\n '3716774',\n '36554689',\n '54192890',\n '6689791',\n '10749459',\n '3712691',\n '81764158',\n '43772092',\n '43974358',\n '48091365',\n '6430651',\n '3713735',\n '54096131',\n '57977558',\n '78840166',\n '57738254',\n '51666370',\n '49858722'\n ],\n SpecialEvents: {\n dlL00b3: {\n id: 'dlL00b3',\n iconUrl: 'https://img.clickviewapp.com/v2/covers/PGbNp0'\n }\n },\n Classifications: {\n Twig: {\n EnglandSecondary: {\n HUB: 'yrg5vYN'\n },\n ScotlandSecondary: {\n HUB: 'Y69j14M'\n },\n InternationalSecondary: {\n HUB: 'MYM6GGM'\n },\n NewZealandSecondary: {\n HUB: 'agNmRd9'\n },\n CanadaMiddle: {\n HUB: 'RbEbJ4g'\n },\n CanadaHigh: {\n HUB: 'xAzA6DP'\n }\n },\n Tigtag: {\n EnglandPrimary: {\n HUB: 'D1218zx',\n TIGTAG_HUB: 'odldxPJ',\n TIGTAG_JUNIOR_HUB: 'nENExnL'\n },\n ScotlandPrimary: {\n HUB: 'JjAONbj',\n TIGTAG_HUB: '3bNAGl1',\n TIGTAG_JUNIOR_HUB: 'K6GKp43'\n },\n InternationalPrimary: {\n HUB: 'W1xqbk2',\n TIGTAG_HUB: 'ek3dJr8',\n TIGTAG_JUNIOR_HUB: 'PGyKzpn'\n },\n NewZealandPrimary: {\n HUB: 'odnkREE',\n TIGTAG_HUB: 'kZJ4RPa',\n TIGTAG_JUNIOR_HUB: 'zMg80DR'\n },\n CanadaElementary: {\n HUB: '2mgmJA6',\n TIGTAG_HUB: '69z9D1A',\n TIGTAG_JUNIOR_HUB: 'ZJvJ1Lg'\n },\n CanadaMiddle: {\n HUB: 'Jjajxyd',\n TIGTAG_HUB: 'dq9qbe3',\n TIGTAG_JUNIOR_HUB: 'K6a6qdL'\n }\n }\n },\n // Production values. For testing in development, change these to staging preso values\n PresentationIds: {\n DEFAULT: 1,\n DEFAULT_CURRICULUM: 10,\n\n AU_PRIMARY: 18,\n AU_SECONDARY: 9,\n AU_TERTIARY: 81,\n US_ELEMENTARY: 13,\n US_MIDDLE: 14,\n US_HIGH: 15,\n CA_ELEMENTARY: 100,\n CA_MIDDLE: 101,\n CA_HIGH: 102,\n STREAMABLE_LEARNING: 68,\n ENG_PRIMARY: 16,\n ENG_SECONDARY: 47,\n SCT_PRIMARY: 12,\n SCT_SECONDARY: 24,\n UK_TERTIARY: 82,\n INT_PRIMARY: 19,\n INT_SECONDARY: 21,\n NZ_PRIMARY: 96,\n NZ_SECONDARY: 97\n },\n Libraries: {\n LICENCED_CONTENT_COLLECTION: '3700633',\n\n AU_PRIMARY: '10066675',\n AU_SECONDARY: '59401330',\n AU_TERTIARY: '5836680',\n US_ELEMENTARY: '38693445',\n US_MIDDLE: '39642303',\n US_HIGH: '38693435',\n CA_ELEMENTARY: '92862332',\n CA_MIDDLE: '92862334',\n CA_HIGH: '92862344',\n STREAMABLE_LEARNING: '78688869',\n ENG_PRIMARY: '35340580',\n ENG_SECONDARY: '59889793',\n SCT_PRIMARY: '33386791',\n SCT_SECONDARY: '59856733',\n UK_TERTIARY: '5815036',\n INT_PRIMARY: '3706428',\n INT_SECONDARY: '3706459',\n NZ_PRIMARY: '3705693',\n NZ_SECONDARY: '3705710',\n NZ_MTV: '26989676',\n\n TWIG: '88117784',\n TIGTAG: '80333935'\n },\n Rostering: {\n sources: {\n 0: { name: 'Unknown', iconUrl: '' },\n 1: { name: 'Clever', iconUrl: 'https://img.clickviewapp.com/v2/logos/LqlKgd' },\n 2: { name: 'ClassLink', iconUrl: 'https://img.clickviewapp.com/v2/logos/ZA2ew5' },\n 3: { name: 'Google', iconUrl: 'https://img.clickviewapp.com/v2/logos/l5x0jL' },\n 4: { name: 'Microsoft', iconUrl: 'https://img.clickviewapp.com/v2/logos/xAxGPP' },\n 5: { name: 'Schoology', iconUrl: 'https://img.clickviewapp.com/v2/logos/kZNEyz' },\n 6: { name: 'PowerSchool', iconUrl: 'https://img.clickviewapp.com/v2/logos/m6aDmR' }\n }\n },\n Images: {\n Level_1: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dlM73E',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/WAe8MP',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/raRm7E',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/3kzeZ2'\n },\n Level_2: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/WAeKvP',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/9DAZJv',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/eKG2bq',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/xyn5eP'\n },\n Level_3: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/dl1d0g',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/R0Pz7A',\n TOPIC_TALL_POSTER: 'https://img.clickviewapp.com/v2/tallposters/8LYZ9R',\n NEW_RELEASES_BANNER: 'https://img.clickviewapp.com/v2/banners/nKDyRj'\n },\n Level_4: {\n TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/vYJPP5',\n TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/PGPLLP'\n },\n TOPIC_DEFAULT_BANNER: 'https://img.clickviewapp.com/v2/banners/yKvoG0',\n STREAMABLE_TOPIC_BANNER: 'https://img.clickviewapp.com/v2/banners/q6gnOn',\n STREAMABLE_TOPIC_COVER: 'https://img.clickviewapp.com/v2/covers/age95g'\n },\n Onboarding: {\n Playlist: {\n COVER_FILE_ID: 'G149g3',\n BANNER_FILE_ID: 'bmPLkn'\n },\n LOADING_THUMBNAILS: [\n 'https://img.clickviewapp.com/v2/thumbnails/7m34ne',\n 'https://img.clickviewapp.com/v2/thumbnails/W1bjqJ',\n 'https://img.clickviewapp.com/v2/thumbnails/G14M1e',\n 'https://img.clickviewapp.com/v2/thumbnails/2mnv5x',\n 'https://img.clickviewapp.com/v2/thumbnails/xAEG91',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbyg',\n 'https://img.clickviewapp.com/v2/thumbnails/W13emP',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6j2vy',\n 'https://img.clickviewapp.com/v2/thumbnails/W1MJGE',\n 'https://img.clickviewapp.com/v2/thumbnails/OqDJqG',\n 'https://img.clickviewapp.com/v2/thumbnails/1My9Wn',\n 'https://img.clickviewapp.com/v2/thumbnails/G14MRe',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgKpl',\n 'https://img.clickviewapp.com/v2/thumbnails/agnbp9',\n 'https://img.clickviewapp.com/v2/thumbnails/G147R1',\n 'https://img.clickviewapp.com/v2/thumbnails/5bgMz5',\n 'https://img.clickviewapp.com/v2/thumbnails/G14Me5',\n 'https://img.clickviewapp.com/v2/thumbnails/5bEovE',\n 'https://img.clickviewapp.com/v2/thumbnails/odY4oZ',\n 'https://img.clickviewapp.com/v2/thumbnails/yrqwqD',\n 'https://img.clickviewapp.com/v2/thumbnails/K6pOmR',\n 'https://img.clickviewapp.com/v2/thumbnails/vYK3w4',\n 'https://img.clickviewapp.com/v2/thumbnails/agnD88',\n 'https://img.clickviewapp.com/v2/thumbnails/4rKmp7',\n 'https://img.clickviewapp.com/v2/thumbnails/0wM4r3',\n 'https://img.clickviewapp.com/v2/thumbnails/69A2jO',\n 'https://img.clickviewapp.com/v2/thumbnails/7m3Z3e',\n 'https://img.clickviewapp.com/v2/thumbnails/3bGL94',\n 'https://img.clickviewapp.com/v2/thumbnails/Y6jwLo',\n 'https://img.clickviewapp.com/v2/thumbnails/1MyPby'\n ]\n }\n};"],"names":["HardCoded"],"mappings":"AAAO,MAAMA,EAAY,CA8GvB,gBAAiB,CACf,QAAS,EAGT,WAAY,GACZ,aAAc,EACd,YAAa,GACb,cAAe,GAGf,cAAe,IACf,UAAW,IACX,QAAS,IACT,oBAAqB,GACrB,YAAa,GACb,cAAe,GACf,YAAa,GACb,cAAe,GACf,YAAa,GACb,YAAa,GACb,cAAe,GACf,WAAY,GACZ,aAAc,EAAA,EAEhB,UAAW,CAwBT,KAAM,WACN,OAAQ,UAAA,EAaV,OAAQ,CACN,QAAS,CACP,aAAc,iDACd,YAAa,gDACb,kBAAmB,qDACnB,oBAAqB,gDAAA,EAEvB,QAAS,CACP,aAAc,iDACd,YAAa,gDACb,kBAAmB,qDACnB,oBAAqB,gDAAA,EAEvB,QAAS,CACP,aAAc,iDACd,YAAa,gDACb,kBAAmB,qDACnB,oBAAqB,gDAAA,EAEvB,QAAS,CACP,aAAc,iDACd,YAAa,+CAAA,CAKjB,CAuCF"}
@@ -0,0 +1,2 @@
1
+ import{j as t,aA as m}from"./app-Det8y4U1.js";import{t as i}from"./DWmgmt8-.chunk.js";const n="_programTimeBadge_2h19o_1",l="_small_2h19o_5",g="_hover_2h19o_8",a={programTimeBadge:n,small:l,hover:g};function c(e){const o=e.program.timeZone||e.program.region.timeZone,r=i(e.program.startTime,o),s=i(e.program.stopTime,o);return t.jsx("div",{className:`${a.programTimeBadge} ${e.small?`${a.small} align-items-end`:"align-items-center"} ${e.hover?a.hover:""} ${e.className||""} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`,children:t.jsxs("span",{children:[e.showDate&&`${m.format(r,"D MMM")} @ `,m.format(r,"hh:mma"),e.showEndTime&&` - ${m.format(s,"hh:mma")}`]})})}export{c as T};
2
+ //# sourceMappingURL=OpOTepmF.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpOTepmF.chunk.js","sources":["../../src/apps/tv/components/tv-program-time-badge/TvProgramTimeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-program-time-badge.module.scss';\n\ninterface TvProgramTimeBadgeProps {\n program: TvProgram;\n small?: boolean;\n showEndTime?: boolean;\n showDate?: boolean;\n hover?: boolean;\n className?: string;\n}\n\nexport function TvProgramTimeBadge(props: TvProgramTimeBadgeProps) {\n const timeZone = props.program.timeZone || props.program.region.timeZone;\n const startTime = toLocalTime(props.program.startTime, timeZone);\n const stopTime = toLocalTime(props.program.stopTime, timeZone);\n\n return (\n <div className={`${styles.programTimeBadge} ${props.small ? `${styles.small} align-items-end` : 'align-items-center'} ${props.hover ? styles.hover : ''} ${props.className || ''} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`}>\n <span>\n {props.showDate && `${DateHelper.format(startTime, 'D MMM')} @ `}\n {DateHelper.format(startTime, 'hh:mma')}\n {props.showEndTime && ` - ${DateHelper.format(stopTime, 'hh:mma')}`}\n </span>\n </div>\n );\n}"],"names":["TvProgramTimeBadge","props","timeZone","startTime","toLocalTime","stopTime","jsx","styles","jsxs","DateHelper"],"mappings":"uMAkBO,SAASA,EAAmBC,EAAgC,CACjE,MAAMC,EAAWD,EAAM,QAAQ,UAAYA,EAAM,QAAQ,OAAO,SAC1DE,EAAYC,EAAYH,EAAM,QAAQ,UAAWC,CAAQ,EACzDG,EAAWD,EAAYH,EAAM,QAAQ,SAAUC,CAAQ,EAE7D,OACEI,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,gBAAgB,IAAIN,EAAM,MAAQ,GAAGM,EAAO,KAAK,mBAAqB,oBAAoB,IAAIN,EAAM,MAAQM,EAAO,MAAQ,EAAE,IAAIN,EAAM,WAAa,EAAE,oEAC9K,SAAAO,EAAAA,KAAC,OAAA,CACE,SAAA,CAAAP,EAAM,UAAY,GAAGQ,EAAW,OAAON,EAAW,OAAO,CAAC,MAC1DM,EAAW,OAAON,EAAW,QAAQ,EACrCF,EAAM,aAAe,MAAMQ,EAAW,OAAOJ,EAAU,QAAQ,CAAC,EAAA,CAAA,CACnE,CAAA,CACF,CAEJ"}