@clickview/exchange 0.50.0-rc.2 → 0.50.0

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 (194) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/en.json +1 -1
  3. package/dist/scripts/{DiR2eKm4.chunk.js → 00ZZVkz8.chunk.js} +2 -2
  4. package/dist/scripts/{DiR2eKm4.chunk.js.map → 00ZZVkz8.chunk.js.map} +1 -1
  5. package/dist/scripts/{C36BgTJV.chunk.js → 5Bk7WUgq.chunk.js} +2 -2
  6. package/dist/scripts/{C36BgTJV.chunk.js.map → 5Bk7WUgq.chunk.js.map} +1 -1
  7. package/dist/scripts/{C97fjHLE.chunk.js → 8KUv63J7.chunk.js} +2 -2
  8. package/dist/scripts/{C97fjHLE.chunk.js.map → 8KUv63J7.chunk.js.map} +1 -1
  9. package/dist/scripts/9z6_p6X0.chunk.js +2 -0
  10. package/dist/scripts/{C7lfPlyo.chunk.js.map → 9z6_p6X0.chunk.js.map} +1 -1
  11. package/dist/scripts/{CidPoXbD.chunk.js → B0940TpS.chunk.js} +2 -2
  12. package/dist/scripts/{CidPoXbD.chunk.js.map → B0940TpS.chunk.js.map} +1 -1
  13. package/dist/scripts/{Cyhg-nBj.chunk.js → B3i6vWFI.chunk.js} +2 -2
  14. package/dist/scripts/{Cyhg-nBj.chunk.js.map → B3i6vWFI.chunk.js.map} +1 -1
  15. package/dist/scripts/{DcA5xG6o.chunk.js → B67thHHx.chunk.js} +2 -2
  16. package/dist/scripts/{DcA5xG6o.chunk.js.map → B67thHHx.chunk.js.map} +1 -1
  17. package/dist/scripts/{x8TB7tv6.chunk.js → B6WUgONl.chunk.js} +2 -2
  18. package/dist/scripts/{x8TB7tv6.chunk.js.map → B6WUgONl.chunk.js.map} +1 -1
  19. package/dist/scripts/{1oBN4k-t.chunk.js → BDMJzZJS.chunk.js} +2 -2
  20. package/dist/scripts/{1oBN4k-t.chunk.js.map → BDMJzZJS.chunk.js.map} +1 -1
  21. package/dist/scripts/{CHPVU_Qn.chunk.js → BIqqvbli.chunk.js} +2 -2
  22. package/dist/scripts/{CHPVU_Qn.chunk.js.map → BIqqvbli.chunk.js.map} +1 -1
  23. package/dist/scripts/{CRomQTdh.chunk.js → BKRUQoRy.chunk.js} +2 -2
  24. package/dist/scripts/{CRomQTdh.chunk.js.map → BKRUQoRy.chunk.js.map} +1 -1
  25. package/dist/scripts/{C5r1_Fc_.chunk.js → BKyPrPT1.chunk.js} +2 -2
  26. package/dist/scripts/{C5r1_Fc_.chunk.js.map → BKyPrPT1.chunk.js.map} +1 -1
  27. package/dist/scripts/{CiRJHxmU.chunk.js → BLCv9gK3.chunk.js} +2 -2
  28. package/dist/scripts/{CiRJHxmU.chunk.js.map → BLCv9gK3.chunk.js.map} +1 -1
  29. package/dist/scripts/{BoXsW16j.chunk.js → BOqS0oAv.chunk.js} +2 -2
  30. package/dist/scripts/{BoXsW16j.chunk.js.map → BOqS0oAv.chunk.js.map} +1 -1
  31. package/dist/scripts/{dnQMOuPg.chunk.js → BP9xX_4y.chunk.js} +2 -2
  32. package/dist/scripts/{dnQMOuPg.chunk.js.map → BP9xX_4y.chunk.js.map} +1 -1
  33. package/dist/scripts/{BHy7EHYB.chunk.js → BSSwzvSU.chunk.js} +2 -2
  34. package/dist/scripts/{BHy7EHYB.chunk.js.map → BSSwzvSU.chunk.js.map} +1 -1
  35. package/dist/scripts/{B93FMGSP.chunk.js → BX6q5kK6.chunk.js} +2 -2
  36. package/dist/scripts/{B93FMGSP.chunk.js.map → BX6q5kK6.chunk.js.map} +1 -1
  37. package/dist/scripts/{C8geGHZf.chunk.js → B_Fzcc5G.chunk.js} +2 -2
  38. package/dist/scripts/{C8geGHZf.chunk.js.map → B_Fzcc5G.chunk.js.map} +1 -1
  39. package/dist/scripts/{Bq1eQRV_.chunk.js → BbKbh5tw.chunk.js} +2 -2
  40. package/dist/scripts/{Bq1eQRV_.chunk.js.map → BbKbh5tw.chunk.js.map} +1 -1
  41. package/dist/scripts/{BvnJNI_Y.chunk.js → BelnzR7T.chunk.js} +2 -2
  42. package/dist/scripts/{BvnJNI_Y.chunk.js.map → BelnzR7T.chunk.js.map} +1 -1
  43. package/dist/scripts/{DbVI3h0V.chunk.js → Bh_H4xlD.chunk.js} +2 -2
  44. package/dist/scripts/{DbVI3h0V.chunk.js.map → Bh_H4xlD.chunk.js.map} +1 -1
  45. package/dist/scripts/{C99JIGI3.chunk.js → Blfyr1LY.chunk.js} +2 -2
  46. package/dist/scripts/{C99JIGI3.chunk.js.map → Blfyr1LY.chunk.js.map} +1 -1
  47. package/dist/scripts/{B1QnQX6X.chunk.js → BnvEXqRe.chunk.js} +2 -2
  48. package/dist/scripts/{B1QnQX6X.chunk.js.map → BnvEXqRe.chunk.js.map} +1 -1
  49. package/dist/scripts/{DYjoaCnl.chunk.js → BoHka3Ec.chunk.js} +2 -2
  50. package/dist/scripts/{DYjoaCnl.chunk.js.map → BoHka3Ec.chunk.js.map} +1 -1
  51. package/dist/scripts/{OvG1eOzS.chunk.js → Bq4Y5pwG.chunk.js} +2 -2
  52. package/dist/scripts/{OvG1eOzS.chunk.js.map → Bq4Y5pwG.chunk.js.map} +1 -1
  53. package/dist/scripts/{CX6fV4JE.chunk.js → BrRctFvx.chunk.js} +2 -2
  54. package/dist/scripts/{CX6fV4JE.chunk.js.map → BrRctFvx.chunk.js.map} +1 -1
  55. package/dist/scripts/{BNoyVB0N.chunk.js → C9hXChxH.chunk.js} +2 -2
  56. package/dist/scripts/{BNoyVB0N.chunk.js.map → C9hXChxH.chunk.js.map} +1 -1
  57. package/dist/scripts/CAk0J_8c.chunk.js +2 -0
  58. package/dist/scripts/{DU8kVZuh.chunk.js.map → CAk0J_8c.chunk.js.map} +1 -1
  59. package/dist/scripts/{DuHiL0j5.chunk.js → CB8-mvyD.chunk.js} +2 -2
  60. package/dist/scripts/{DuHiL0j5.chunk.js.map → CB8-mvyD.chunk.js.map} +1 -1
  61. package/dist/scripts/{z6Us1EdG.chunk.js → CGsO0liR.chunk.js} +2 -2
  62. package/dist/scripts/{z6Us1EdG.chunk.js.map → CGsO0liR.chunk.js.map} +1 -1
  63. package/dist/scripts/{CxB8O87g.chunk.js → CGuGkRe6.chunk.js} +2 -2
  64. package/dist/scripts/{CxB8O87g.chunk.js.map → CGuGkRe6.chunk.js.map} +1 -1
  65. package/dist/scripts/{Cdo-iAIt.chunk.js → CLEMYZCv.chunk.js} +2 -2
  66. package/dist/scripts/{Cdo-iAIt.chunk.js.map → CLEMYZCv.chunk.js.map} +1 -1
  67. package/dist/scripts/{BopIehJE.chunk.js → CLn62x3p.chunk.js} +2 -2
  68. package/dist/scripts/{BopIehJE.chunk.js.map → CLn62x3p.chunk.js.map} +1 -1
  69. package/dist/scripts/{WHGl124l.chunk.js → CSpsN9Sf.chunk.js} +2 -2
  70. package/dist/scripts/{WHGl124l.chunk.js.map → CSpsN9Sf.chunk.js.map} +1 -1
  71. package/dist/scripts/{l-2DoY9E.chunk.js → CYnTOjxg.chunk.js} +2 -2
  72. package/dist/scripts/{l-2DoY9E.chunk.js.map → CYnTOjxg.chunk.js.map} +1 -1
  73. package/dist/scripts/{CDVd8Gzo.chunk.js → CbbLJMD7.chunk.js} +2 -2
  74. package/dist/scripts/{CDVd8Gzo.chunk.js.map → CbbLJMD7.chunk.js.map} +1 -1
  75. package/dist/scripts/{CmcCT6Mq.chunk.js → Ch4JUcCU.chunk.js} +2 -2
  76. package/dist/scripts/{CmcCT6Mq.chunk.js.map → Ch4JUcCU.chunk.js.map} +1 -1
  77. package/dist/scripts/{CrAxON7A.chunk.js → Co1fFZfW.chunk.js} +2 -2
  78. package/dist/scripts/{CrAxON7A.chunk.js.map → Co1fFZfW.chunk.js.map} +1 -1
  79. package/dist/scripts/{-rDA7laA.chunk.js → Cr24Qwk-.chunk.js} +2 -2
  80. package/dist/scripts/{-rDA7laA.chunk.js.map → Cr24Qwk-.chunk.js.map} +1 -1
  81. package/dist/scripts/{mALBAvSP.chunk.js → CtWcMjF1.chunk.js} +2 -2
  82. package/dist/scripts/{mALBAvSP.chunk.js.map → CtWcMjF1.chunk.js.map} +1 -1
  83. package/dist/scripts/{BOzZT1qL.chunk.js → Cz5ywK2M.chunk.js} +2 -2
  84. package/dist/scripts/{BOzZT1qL.chunk.js.map → Cz5ywK2M.chunk.js.map} +1 -1
  85. package/dist/scripts/{BpkgwVDj.chunk.js → CzvwQ7VE.chunk.js} +2 -2
  86. package/dist/scripts/{BpkgwVDj.chunk.js.map → CzvwQ7VE.chunk.js.map} +1 -1
  87. package/dist/scripts/{CtciUXp4.chunk.js → D2GbHqkj.chunk.js} +2 -2
  88. package/dist/scripts/{CtciUXp4.chunk.js.map → D2GbHqkj.chunk.js.map} +1 -1
  89. package/dist/scripts/D4szUN7u.chunk.js +2 -0
  90. package/dist/scripts/{CfRzFJ31.chunk.js.map → D4szUN7u.chunk.js.map} +1 -1
  91. package/dist/scripts/{C_sNZ3q9.chunk.js → DC9G8zGt.chunk.js} +2 -2
  92. package/dist/scripts/{C_sNZ3q9.chunk.js.map → DC9G8zGt.chunk.js.map} +1 -1
  93. package/dist/scripts/{DxkmuWkI.chunk.js → DDH7BcMI.chunk.js} +2 -2
  94. package/dist/scripts/{DxkmuWkI.chunk.js.map → DDH7BcMI.chunk.js.map} +1 -1
  95. package/dist/scripts/{DHjeFsuP.chunk.js → DDceUbL5.chunk.js} +2 -2
  96. package/dist/scripts/{DHjeFsuP.chunk.js.map → DDceUbL5.chunk.js.map} +1 -1
  97. package/dist/scripts/{CHa6bZJR.chunk.js → DE4Juqeg.chunk.js} +2 -2
  98. package/dist/scripts/{CHa6bZJR.chunk.js.map → DE4Juqeg.chunk.js.map} +1 -1
  99. package/dist/scripts/{Ct_04zDE.chunk.js → DHDAcKGM.chunk.js} +2 -2
  100. package/dist/scripts/{Ct_04zDE.chunk.js.map → DHDAcKGM.chunk.js.map} +1 -1
  101. package/dist/scripts/DIiIA5hY.chunk.js +2 -0
  102. package/dist/scripts/{DsCrIxlP.chunk.js.map → DIiIA5hY.chunk.js.map} +1 -1
  103. package/dist/scripts/DLCJG-Fm.chunk.js +2 -0
  104. package/dist/scripts/{CYuY28rl.chunk.js.map → DLCJG-Fm.chunk.js.map} +1 -1
  105. package/dist/scripts/{cw1CbjiZ.chunk.js → DORu23Pq.chunk.js} +2 -2
  106. package/dist/scripts/{cw1CbjiZ.chunk.js.map → DORu23Pq.chunk.js.map} +1 -1
  107. package/dist/scripts/{Dmfr0hZx.chunk.js → DOqvCLjE.chunk.js} +2 -2
  108. package/dist/scripts/{Dmfr0hZx.chunk.js.map → DOqvCLjE.chunk.js.map} +1 -1
  109. package/dist/scripts/{DWmgmt8-.chunk.js → DQNTWWrq.chunk.js} +2 -2
  110. package/dist/scripts/{DWmgmt8-.chunk.js.map → DQNTWWrq.chunk.js.map} +1 -1
  111. package/dist/scripts/{h68xZO90.chunk.js → DWDiqXD7.chunk.js} +2 -2
  112. package/dist/scripts/{h68xZO90.chunk.js.map → DWDiqXD7.chunk.js.map} +1 -1
  113. package/dist/scripts/{Bi0GaEZE.chunk.js → DZ4UeBKW.chunk.js} +2 -2
  114. package/dist/scripts/{Bi0GaEZE.chunk.js.map → DZ4UeBKW.chunk.js.map} +1 -1
  115. package/dist/scripts/{6D5NxiDj.chunk.js → D_JsKNZh.chunk.js} +2 -2
  116. package/dist/scripts/{6D5NxiDj.chunk.js.map → D_JsKNZh.chunk.js.map} +1 -1
  117. package/dist/scripts/DaW5IrMJ.chunk.js +2 -0
  118. package/dist/scripts/{BTq4W22K.chunk.js.map → DaW5IrMJ.chunk.js.map} +1 -1
  119. package/dist/scripts/{DwMcJ3Ip.chunk.js → DdcBDgpq.chunk.js} +2 -2
  120. package/dist/scripts/{DwMcJ3Ip.chunk.js.map → DdcBDgpq.chunk.js.map} +1 -1
  121. package/dist/scripts/{BeyY1CwV.chunk.js → Dgk7nYlV.chunk.js} +2 -2
  122. package/dist/scripts/{BeyY1CwV.chunk.js.map → Dgk7nYlV.chunk.js.map} +1 -1
  123. package/dist/scripts/{CEZiVSXU.chunk.js → DihXm5mz.chunk.js} +2 -2
  124. package/dist/scripts/{CEZiVSXU.chunk.js.map → DihXm5mz.chunk.js.map} +1 -1
  125. package/dist/scripts/{DXRtwYU8.chunk.js → DlvwqUyz.chunk.js} +2 -2
  126. package/dist/scripts/{DXRtwYU8.chunk.js.map → DlvwqUyz.chunk.js.map} +1 -1
  127. package/dist/scripts/{C8aildLX.chunk.js → Dp7JDODj.chunk.js} +2 -2
  128. package/dist/scripts/{C8aildLX.chunk.js.map → Dp7JDODj.chunk.js.map} +1 -1
  129. package/dist/scripts/{wKPIC1H3.chunk.js → Dq-OnBBE.chunk.js} +2 -2
  130. package/dist/scripts/{wKPIC1H3.chunk.js.map → Dq-OnBBE.chunk.js.map} +1 -1
  131. package/dist/scripts/{DRxJfu3A.chunk.js → DrTbksPR.chunk.js} +2 -2
  132. package/dist/scripts/{DRxJfu3A.chunk.js.map → DrTbksPR.chunk.js.map} +1 -1
  133. package/dist/scripts/{aFUDBFEd.chunk.js → Dw4FOx_G.chunk.js} +2 -2
  134. package/dist/scripts/{aFUDBFEd.chunk.js.map → Dw4FOx_G.chunk.js.map} +1 -1
  135. package/dist/scripts/DwDASoj9.chunk.js +2 -0
  136. package/dist/scripts/{D1fkcw30.chunk.js.map → DwDASoj9.chunk.js.map} +1 -1
  137. package/dist/scripts/{U4HYh7oC.chunk.js → DwIQTRkx.chunk.js} +2 -2
  138. package/dist/scripts/{U4HYh7oC.chunk.js.map → DwIQTRkx.chunk.js.map} +1 -1
  139. package/dist/scripts/{BBhJOnJs.chunk.js → DxF4GLPa.chunk.js} +2 -2
  140. package/dist/scripts/{BBhJOnJs.chunk.js.map → DxF4GLPa.chunk.js.map} +1 -1
  141. package/dist/scripts/{Dh_LRqD1.chunk.js → DxQXGtZm.chunk.js} +2 -2
  142. package/dist/scripts/{Dh_LRqD1.chunk.js.map → DxQXGtZm.chunk.js.map} +1 -1
  143. package/dist/scripts/{CRuObGvW.chunk.js → PbxMeR6l.chunk.js} +2 -2
  144. package/dist/scripts/{CRuObGvW.chunk.js.map → PbxMeR6l.chunk.js.map} +1 -1
  145. package/dist/scripts/{W8wegH66.chunk.js → QpdkfjyT.chunk.js} +2 -2
  146. package/dist/scripts/{W8wegH66.chunk.js.map → QpdkfjyT.chunk.js.map} +1 -1
  147. package/dist/scripts/{d_OewpIc.chunk.js → UXYD7sDO.chunk.js} +2 -2
  148. package/dist/scripts/{d_OewpIc.chunk.js.map → UXYD7sDO.chunk.js.map} +1 -1
  149. package/dist/scripts/{DgWxzhMg.chunk.js → _mZm6AP_.chunk.js} +2 -2
  150. package/dist/scripts/{DgWxzhMg.chunk.js.map → _mZm6AP_.chunk.js.map} +1 -1
  151. package/dist/scripts/{app-Det8y4U1.js → app-C2md4v6O.js} +4 -4
  152. package/dist/scripts/{app-Det8y4U1.js.map → app-C2md4v6O.js.map} +1 -1
  153. package/dist/scripts/{DzbCvkXx.chunk.js → ccYLdwq0.chunk.js} +2 -2
  154. package/dist/scripts/{DzbCvkXx.chunk.js.map → ccYLdwq0.chunk.js.map} +1 -1
  155. package/dist/scripts/{CeVw08Ln.chunk.js → dDxecIoU.chunk.js} +2 -2
  156. package/dist/scripts/{CeVw08Ln.chunk.js.map → dDxecIoU.chunk.js.map} +1 -1
  157. package/dist/scripts/{Bsw4ZO9U.chunk.js → e36s_itU.chunk.js} +2 -2
  158. package/dist/scripts/{Bsw4ZO9U.chunk.js.map → e36s_itU.chunk.js.map} +1 -1
  159. package/dist/scripts/{CdGLJKZk.chunk.js → jCscKGvY.chunk.js} +2 -2
  160. package/dist/scripts/{CdGLJKZk.chunk.js.map → jCscKGvY.chunk.js.map} +1 -1
  161. package/dist/scripts/{7fC_wUI0.chunk.js → k1zcITmm.chunk.js} +2 -2
  162. package/dist/scripts/{7fC_wUI0.chunk.js.map → k1zcITmm.chunk.js.map} +1 -1
  163. package/dist/scripts/{DT1DdOeu.chunk.js → kCVTwqsj.chunk.js} +2 -2
  164. package/dist/scripts/{DT1DdOeu.chunk.js.map → kCVTwqsj.chunk.js.map} +1 -1
  165. package/dist/scripts/{CBlUYGqN.chunk.js → lqnuKFoF.chunk.js} +2 -2
  166. package/dist/scripts/{CBlUYGqN.chunk.js.map → lqnuKFoF.chunk.js.map} +1 -1
  167. package/dist/scripts/{BuawzJwd.chunk.js → msdkwRcQ.chunk.js} +2 -2
  168. package/dist/scripts/msdkwRcQ.chunk.js.map +1 -0
  169. package/dist/scripts/{OpOTepmF.chunk.js → nXVR9Bqt.chunk.js} +2 -2
  170. package/dist/scripts/{OpOTepmF.chunk.js.map → nXVR9Bqt.chunk.js.map} +1 -1
  171. package/dist/scripts/o_RrBIf7.chunk.js +2 -0
  172. package/dist/scripts/{Bksx5ui9.chunk.js.map → o_RrBIf7.chunk.js.map} +1 -1
  173. package/dist/scripts/{C6bEPV55.chunk.js → pMgyVPKQ.chunk.js} +2 -2
  174. package/dist/scripts/{C6bEPV55.chunk.js.map → pMgyVPKQ.chunk.js.map} +1 -1
  175. package/dist/scripts/{CBTOSLnS.chunk.js → qk22xon7.chunk.js} +2 -2
  176. package/dist/scripts/{CBTOSLnS.chunk.js.map → qk22xon7.chunk.js.map} +1 -1
  177. package/dist/scripts/{5EeDosB6.chunk.js → sw2_FVPM.chunk.js} +2 -2
  178. package/dist/scripts/{5EeDosB6.chunk.js.map → sw2_FVPM.chunk.js.map} +1 -1
  179. package/dist/scripts/{B5a9j4D_.chunk.js → tK-xYIyK.chunk.js} +2 -2
  180. package/dist/scripts/{B5a9j4D_.chunk.js.map → tK-xYIyK.chunk.js.map} +1 -1
  181. package/dist/scripts/{Bz18U45-.chunk.js → uev2agHh.chunk.js} +2 -2
  182. package/dist/scripts/{Bz18U45-.chunk.js.map → uev2agHh.chunk.js.map} +1 -1
  183. package/dist/scripts/{BI7-pkuo.chunk.js → wScha29a.chunk.js} +2 -2
  184. package/dist/scripts/{BI7-pkuo.chunk.js.map → wScha29a.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/BTq4W22K.chunk.js +0 -2
  187. package/dist/scripts/Bksx5ui9.chunk.js +0 -2
  188. package/dist/scripts/BuawzJwd.chunk.js.map +0 -1
  189. package/dist/scripts/C7lfPlyo.chunk.js +0 -2
  190. package/dist/scripts/CYuY28rl.chunk.js +0 -2
  191. package/dist/scripts/CfRzFJ31.chunk.js +0 -2
  192. package/dist/scripts/D1fkcw30.chunk.js +0 -2
  193. package/dist/scripts/DU8kVZuh.chunk.js +0 -2
  194. package/dist/scripts/DsCrIxlP.chunk.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"aFUDBFEd.chunk.js","sources":["../../../../libs/shared/src/enums/SupportArticle.ts","../../src/apps/tv/interfaces/requests/RequestProgramRequest.ts","../../src/apps/tv/utils/validation/RequestProgramValidation.ts","../../src/apps/tv/views/tv-request-program/components/TvRequestProgramForm.tsx","../../src/apps/tv/views/tv-request-program/TvRequestProgramView.tsx"],"sourcesContent":["// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '42463303326489',\n AddFromLite = '42450541662233',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '27927466562201',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097',\n ManageGroupPermissions = '35407217335705',\n MarcFormatDifferences = '48276917260441',\n ExportLibraries = '17684275853465',\n StudentSharingGuide = '50326395499417',\n Sharing = '49512742828953'\n}\n","export enum FulfillmentStatus {\n Unfulfilled = 0,\n CurrentlyBeingProcessed = 1,\n Fulfilled = 2\n}\n\nexport interface RequestProgramRequest {\n title: string;\n comments: string;\n regionCode: string;\n userId: string;\n customerId: string;\n channelId?: string;\n programDateTime?: string;\n closedCaptions?: boolean;\n}\n\nexport enum ProgramRequestType {\n BbcRes\n}\n\nexport interface RequestProgramUkRequest {\n title: string;\n comments: string;\n customerName: string;\n email: string;\n crmId: string;\n type: 0;\n username: string;\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'tv.requestProgramValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestProgramValidation(hasChannels: boolean) {\n return hasChannels\n ? object().shape({\n channelId: string().required(getPhrase('channelRequired')),\n title: string().required(getPhrase('programRequired')),\n broadcastDate: string().required(getPhrase('dateRequired')),\n broadcastTime: string().required(getPhrase('timeRequired')),\n closedCaptions: string(),\n comments: string()\n })\n : object().shape({\n title: string().required(getPhrase('programRequired')),\n comments: string()\n });\n}\n","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\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 { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { RequestProgramRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\n\nconst namespace = 'tv.requestProgramForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramFormProps {\n channels?: PayTvChannel[];\n instanceRegion: InstanceRegion;\n onClickCancel: () => void;\n}\n\nexport function TvRequestProgramForm(props: TvRequestProgramFormProps) {\n const formikProps = useFormikContext<RequestProgramModel>();\n\n const minDate = DateHelper.format(DateHelper.add(new Date(), 4, 'days'), 'YYYY-MM-DD');\n const maxDate = DateHelper.format(DateHelper.add(minDate, 11, 'days'), 'YYYY-MM-DD');\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n return (\n <Form>\n {props.channels && (\n <FormField\n as='select'\n label={getPhrase('channelLabel')}\n name='channelId'\n value={formikProps.values.channelId}\n showRequiredStar\n >\n <option key={0} value=''>{LanguageService.getPhrase(namespace, 'channelPlaceholder')}</option>\n {props.channels.map(channel => (\n <option key={channel.id} value={channel.id}>{`${channel.name} - (${channel.number})`}</option>\n ))}\n </FormField>)\n }\n\n <FormField\n label={getPhrase('programLabel')}\n placeholder={getPhrase('programPlaceholder')}\n type='text'\n name='title'\n value={formikProps.values.title}\n showRequiredStar\n />\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n label={getPhrase('broadcastDateLabel')}\n type='date'\n name='broadcastDate'\n value={formikProps.values.broadcastDate}\n min={minDate}\n max={maxDate}\n showRequiredStar\n />\n </div>\n <div className='w-50'>\n <FormField\n label={getPhrase('broadcastTimeLabel')}\n type='time'\n name='broadcastTime'\n value={formikProps.values.broadcastTime}\n className='mb-0'\n showRequiredStar\n />\n </div>\n </div>\n )}\n\n <p className='mt-n1'>\n <small><Text namespace={namespace} phrase={regionInfo.programGuidePhraseKey} /></small>\n </p>\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n as='select'\n label={getPhrase('ccLabel')}\n name='closedCaptions'\n value={formikProps.values.closedCaptions}\n >\n <option value=''>{LanguageService.getPhrase(namespace, 'ccNo')}</option>\n <option value='yes'>{LanguageService.getPhrase(namespace, 'ccYes')}</option>\n </FormField>\n </div>\n <div className='w-50'></div>\n </div>\n )}\n \n <FormField\n label={getPhrase(props.channels ? 'commentsLabel' : 'additionalInfoLabel')}\n placeholder={getPhrase(props.channels ? 'commentsPlaceholder' : 'additionalInfoPlaceholder')}\n type='text'\n name='comments'\n value={formikProps.values.comments}\n />\n\n <p><Text namespace={namespace} phrase='note' options={{ tv: regionInfo.tv }} /></p>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.onClickCancel}\n variant='link'\n />\n <FormButtons<RequestProgramRequest> variant='dark' submitText={getPhrase('request')}/>\n </PopupButtons>\n </Form>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, TvDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { CurrentUser, Customer, PopupViewProps } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { ProgramRequestType, RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\nimport { RequestProgramValidation } from 'apps/tv/utils/validation/RequestProgramValidation';\nimport { TvRequestProgramForm } from 'apps/tv/views/tv-request-program/components/TvRequestProgramForm';\n\nconst INITIAL_VALUES = {\n channelId: '',\n title: '',\n broadcastDate: '',\n broadcastTime: '',\n closedCaptions: '',\n comments: ''\n};\n\nconst namespace = 'tv.requestProgram';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramProps extends PopupViewProps {\n region: string;\n instanceRegion: InstanceRegion;\n}\n\nexport function TvRequestProgramView(props: TvRequestProgramProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const hasPayTvChannels = props.instanceRegion === InstanceRegion.AU;\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const isUK = props.instanceRegion === InstanceRegion.UK;\n const customer = Flight.useBasicFetch<Customer>(isUK && CustomerRequests.customer(currentUser.data.customerId));\n\n const channels = Flight.useBasicFetch<PayTvChannel[]>(\n hasPayTvChannels && TvRequests.payTvChannels()\n );\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n function onClickCancel() {\n props.closePopup();\n }\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n function alertAndLogging(requestData: RequestProgramModel) {\n if (hasPayTvChannels) {\n const channel = channels.data?.find(channel => String(channel.id) === requestData.channelId);\n alerts.success(\n getPhrase(\n 'successChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title,\n channel: channel?.name\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { channel: channel.id, name: channel.name, program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n } else {\n alerts.success(\n getPhrase(\n 'successNoChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n }\n }\n\n function getRequestData(values: RequestProgramModel): RequestProgramRequest | RequestProgramUkRequest {\n const { broadcastDate, broadcastTime, closedCaptions, ...requestData } = values;\n\n if (isUK) {\n return {\n title: requestData.title,\n comments: requestData.comments,\n crmId: customer.data.crmId,\n customerName: customer.data.name,\n email: currentUser.data.email,\n type: ProgramRequestType.BbcRes,\n username: currentUser.data.username\n };\n }\n\n if (hasPayTvChannels) {\n return {\n ...requestData,\n closedCaptions: Boolean(closedCaptions),\n regionCode: props.region,\n programDateTime: `${broadcastDate}T${broadcastTime}`,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n return {\n ...requestData,\n regionCode: props.region,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n async function onClickRequest(\n values: RequestProgramModel,\n onDone: () => void\n ) {\n const requestData = getRequestData(values);\n const request = isUK\n ? TvRequests.requestProgramUk(requestData as RequestProgramUkRequest)\n : TvRequests.requestProgram(requestData as RequestProgramRequest);\n\n try {\n await fetchAsync(request);\n onDone();\n alertAndLogging(values);\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n }\n\n props.closePopup();\n }\n\n const hasLoaded = (currentUser.hasCompleted && ((hasPayTvChannels && channels.hasCompleted) || !hasPayTvChannels));\n\n return (\n <Popup\n title={getPhrase('title', { tv: regionInfo.tv })}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded || loading}\n >\n {TvUtils.isHolidayPeriod() &&\n <div className='alert alert-warning' role='alert'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='requestAlertHeading'/>\n </h3>\n <p className='m-0'>\n <Text namespace={namespace} phrase='requestAlertBody' options={{\n tv: regionInfo.tv\n }} />\n </p>\n </div>\n }\n <p>\n <Text\n namespace={namespace}\n phrase='description'\n options={{ tv: regionInfo.tv }}\n />\n </p>\n <p>\n <Text\n namespace={namespace}\n phrase='moreInfo'\n options={{\n tv: regionInfo.tv,\n faqUrl: ArticleHelper.getLiteArticle(LiteSupportArticle.FoxtelFaq)\n }}\n />\n </p>\n {channels &&\n <FormWrapper<RequestProgramModel>\n initialValues={INITIAL_VALUES}\n validationSchema={RequestProgramValidation(hasPayTvChannels)}\n onSubmit={onClickRequest}\n >\n <TvRequestProgramForm\n onClickCancel={onClickCancel}\n channels={hasPayTvChannels && channels.data}\n instanceRegion={props.instanceRegion}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}\n"],"names":["LiteSupportArticle","ProgramRequestType","namespace","getPhrase","LanguageService","RequestProgramValidation","hasChannels","object","string","TvRequestProgramForm","props","formikProps","useFormikContext","minDate","DateHelper","maxDate","regionInfo","getRegionInfo","Form","jsxs","FormField","jsx","channel","Text","PopupButtons","FormButtons","INITIAL_VALUES","TvRequestProgramView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","hasPayTvChannels","InstanceRegion","currentUser","Flight.useBasicFetch","UserRequests","isUK","customer","CustomerRequests","channels","TvRequests","onClickCancel","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","alertAndLogging","requestData","_a","AnalyticsHelper","UserAction","EntityType","LocationContext","WorkflowPhase","TvDescriptor","getRequestData","values","broadcastDate","broadcastTime","closedCaptions","_b","_c","_d","onClickRequest","onDone","request","xhr","hasLoaded","Popup","TvUtils","ArticleHelper","FormWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"Dw4FOx_G.chunk.js","sources":["../../../../libs/shared/src/enums/SupportArticle.ts","../../src/apps/tv/interfaces/requests/RequestProgramRequest.ts","../../src/apps/tv/utils/validation/RequestProgramValidation.ts","../../src/apps/tv/views/tv-request-program/components/TvRequestProgramForm.tsx","../../src/apps/tv/views/tv-request-program/TvRequestProgramView.tsx"],"sourcesContent":["// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '42463303326489',\n AddFromLite = '42450541662233',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '27927466562201',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097',\n ManageGroupPermissions = '35407217335705',\n MarcFormatDifferences = '48276917260441',\n ExportLibraries = '17684275853465',\n StudentSharingGuide = '50326395499417',\n Sharing = '49512742828953'\n}\n","export enum FulfillmentStatus {\n Unfulfilled = 0,\n CurrentlyBeingProcessed = 1,\n Fulfilled = 2\n}\n\nexport interface RequestProgramRequest {\n title: string;\n comments: string;\n regionCode: string;\n userId: string;\n customerId: string;\n channelId?: string;\n programDateTime?: string;\n closedCaptions?: boolean;\n}\n\nexport enum ProgramRequestType {\n BbcRes\n}\n\nexport interface RequestProgramUkRequest {\n title: string;\n comments: string;\n customerName: string;\n email: string;\n crmId: string;\n type: 0;\n username: string;\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'tv.requestProgramValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestProgramValidation(hasChannels: boolean) {\n return hasChannels\n ? object().shape({\n channelId: string().required(getPhrase('channelRequired')),\n title: string().required(getPhrase('programRequired')),\n broadcastDate: string().required(getPhrase('dateRequired')),\n broadcastTime: string().required(getPhrase('timeRequired')),\n closedCaptions: string(),\n comments: string()\n })\n : object().shape({\n title: string().required(getPhrase('programRequired')),\n comments: string()\n });\n}\n","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\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 { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\n\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { RequestProgramRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\n\nconst namespace = 'tv.requestProgramForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramFormProps {\n channels?: PayTvChannel[];\n instanceRegion: InstanceRegion;\n onClickCancel: () => void;\n}\n\nexport function TvRequestProgramForm(props: TvRequestProgramFormProps) {\n const formikProps = useFormikContext<RequestProgramModel>();\n\n const minDate = DateHelper.format(DateHelper.add(new Date(), 4, 'days'), 'YYYY-MM-DD');\n const maxDate = DateHelper.format(DateHelper.add(minDate, 11, 'days'), 'YYYY-MM-DD');\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n return (\n <Form>\n {props.channels && (\n <FormField\n as='select'\n label={getPhrase('channelLabel')}\n name='channelId'\n value={formikProps.values.channelId}\n showRequiredStar\n >\n <option key={0} value=''>{LanguageService.getPhrase(namespace, 'channelPlaceholder')}</option>\n {props.channels.map(channel => (\n <option key={channel.id} value={channel.id}>{`${channel.name} - (${channel.number})`}</option>\n ))}\n </FormField>)\n }\n\n <FormField\n label={getPhrase('programLabel')}\n placeholder={getPhrase('programPlaceholder')}\n type='text'\n name='title'\n value={formikProps.values.title}\n showRequiredStar\n />\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n label={getPhrase('broadcastDateLabel')}\n type='date'\n name='broadcastDate'\n value={formikProps.values.broadcastDate}\n min={minDate}\n max={maxDate}\n showRequiredStar\n />\n </div>\n <div className='w-50'>\n <FormField\n label={getPhrase('broadcastTimeLabel')}\n type='time'\n name='broadcastTime'\n value={formikProps.values.broadcastTime}\n className='mb-0'\n showRequiredStar\n />\n </div>\n </div>\n )}\n\n <p className='mt-n1'>\n <small><Text namespace={namespace} phrase={regionInfo.programGuidePhraseKey} /></small>\n </p>\n\n {props.channels && (\n <div className='d-flex'>\n <div className='w-50 me-2'>\n <FormField\n as='select'\n label={getPhrase('ccLabel')}\n name='closedCaptions'\n value={formikProps.values.closedCaptions}\n >\n <option value=''>{LanguageService.getPhrase(namespace, 'ccNo')}</option>\n <option value='yes'>{LanguageService.getPhrase(namespace, 'ccYes')}</option>\n </FormField>\n </div>\n <div className='w-50'></div>\n </div>\n )}\n \n <FormField\n label={getPhrase(props.channels ? 'commentsLabel' : 'additionalInfoLabel')}\n placeholder={getPhrase(props.channels ? 'commentsPlaceholder' : 'additionalInfoPlaceholder')}\n type='text'\n name='comments'\n value={formikProps.values.comments}\n />\n\n <p><Text namespace={namespace} phrase='note' options={{ tv: regionInfo.tv }} /></p>\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.onClickCancel}\n variant='link'\n />\n <FormButtons<RequestProgramRequest> variant='dark' submitText={getPhrase('request')}/>\n </PopupButtons>\n </Form>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, TvDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { CurrentUser, Customer, PopupViewProps } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { RequestProgramModel } from 'apps/tv/interfaces/models/RequestProgram';\nimport { PayTvChannel } from 'apps/tv/interfaces/models/TvChannel';\nimport { ProgramRequestType, RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { getRegionInfo } from 'apps/tv/utils/getRegionInfo/getRegionInfo';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\nimport { RequestProgramValidation } from 'apps/tv/utils/validation/RequestProgramValidation';\nimport { TvRequestProgramForm } from 'apps/tv/views/tv-request-program/components/TvRequestProgramForm';\n\nconst INITIAL_VALUES = {\n channelId: '',\n title: '',\n broadcastDate: '',\n broadcastTime: '',\n closedCaptions: '',\n comments: ''\n};\n\nconst namespace = 'tv.requestProgram';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvRequestProgramProps extends PopupViewProps {\n region: string;\n instanceRegion: InstanceRegion;\n}\n\nexport function TvRequestProgramView(props: TvRequestProgramProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const hasPayTvChannels = props.instanceRegion === InstanceRegion.AU;\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const isUK = props.instanceRegion === InstanceRegion.UK;\n const customer = Flight.useBasicFetch<Customer>(isUK && CustomerRequests.customer(currentUser.data.customerId));\n\n const channels = Flight.useBasicFetch<PayTvChannel[]>(\n hasPayTvChannels && TvRequests.payTvChannels()\n );\n\n const regionInfo = getRegionInfo(props.instanceRegion);\n\n function onClickCancel() {\n props.closePopup();\n }\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n function alertAndLogging(requestData: RequestProgramModel) {\n if (hasPayTvChannels) {\n const channel = channels.data?.find(channel => String(channel.id) === requestData.channelId);\n alerts.success(\n getPhrase(\n 'successChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title,\n channel: channel?.name\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { channel: channel.id, name: channel.name, program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n } else {\n alerts.success(\n getPhrase(\n 'successNoChannel',\n {\n tv: regionInfo.tv,\n program: requestData.title\n }\n )\n );\n AnalyticsHelper.logUserAction(\n { program: requestData.title, region: props.region },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: TvDescriptor.RequestProgram\n }\n );\n }\n }\n\n function getRequestData(values: RequestProgramModel): RequestProgramRequest | RequestProgramUkRequest {\n const { broadcastDate, broadcastTime, closedCaptions, ...requestData } = values;\n\n if (isUK) {\n return {\n title: requestData.title,\n comments: requestData.comments,\n crmId: customer.data.crmId,\n customerName: customer.data.name,\n email: currentUser.data.email,\n type: ProgramRequestType.BbcRes,\n username: currentUser.data.username\n };\n }\n\n if (hasPayTvChannels) {\n return {\n ...requestData,\n closedCaptions: Boolean(closedCaptions),\n regionCode: props.region,\n programDateTime: `${broadcastDate}T${broadcastTime}`,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n return {\n ...requestData,\n regionCode: props.region,\n userId: currentUser.data?.id,\n customerId: currentUser.data?.customerId\n };\n }\n\n async function onClickRequest(\n values: RequestProgramModel,\n onDone: () => void\n ) {\n const requestData = getRequestData(values);\n const request = isUK\n ? TvRequests.requestProgramUk(requestData as RequestProgramUkRequest)\n : TvRequests.requestProgram(requestData as RequestProgramRequest);\n\n try {\n await fetchAsync(request);\n onDone();\n alertAndLogging(values);\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n }\n\n props.closePopup();\n }\n\n const hasLoaded = (currentUser.hasCompleted && ((hasPayTvChannels && channels.hasCompleted) || !hasPayTvChannels));\n\n return (\n <Popup\n title={getPhrase('title', { tv: regionInfo.tv })}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded || loading}\n >\n {TvUtils.isHolidayPeriod() &&\n <div className='alert alert-warning' role='alert'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='requestAlertHeading'/>\n </h3>\n <p className='m-0'>\n <Text namespace={namespace} phrase='requestAlertBody' options={{\n tv: regionInfo.tv\n }} />\n </p>\n </div>\n }\n <p>\n <Text\n namespace={namespace}\n phrase='description'\n options={{ tv: regionInfo.tv }}\n />\n </p>\n <p>\n <Text\n namespace={namespace}\n phrase='moreInfo'\n options={{\n tv: regionInfo.tv,\n faqUrl: ArticleHelper.getLiteArticle(LiteSupportArticle.FoxtelFaq)\n }}\n />\n </p>\n {channels &&\n <FormWrapper<RequestProgramModel>\n initialValues={INITIAL_VALUES}\n validationSchema={RequestProgramValidation(hasPayTvChannels)}\n onSubmit={onClickRequest}\n >\n <TvRequestProgramForm\n onClickCancel={onClickCancel}\n channels={hasPayTvChannels && channels.data}\n instanceRegion={props.instanceRegion}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}\n"],"names":["LiteSupportArticle","ProgramRequestType","namespace","getPhrase","LanguageService","RequestProgramValidation","hasChannels","object","string","TvRequestProgramForm","props","formikProps","useFormikContext","minDate","DateHelper","maxDate","regionInfo","getRegionInfo","Form","jsxs","FormField","jsx","channel","Text","PopupButtons","FormButtons","INITIAL_VALUES","TvRequestProgramView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","hasPayTvChannels","InstanceRegion","currentUser","Flight.useBasicFetch","UserRequests","isUK","customer","CustomerRequests","channels","TvRequests","onClickCancel","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","alertAndLogging","requestData","_a","AnalyticsHelper","UserAction","EntityType","LocationContext","WorkflowPhase","TvDescriptor","getRequestData","values","broadcastDate","broadcastTime","closedCaptions","_b","_c","_d","onClickRequest","onDone","request","xhr","hasLoaded","Popup","TvUtils","ArticleHelper","FormWrapper"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{R as e,q as o,bJ as i,aT as f}from"./app-C2md4v6O.js";import{h as a}from"./Cz5ywK2M.chunk.js";function l(t,r){e.useEffect(()=>{t.hasCompleted&&(t.data||(t.hasError&&a(t.statusCode),r?o.throw(new i):a(f.BadRequest)))},[t.hasCompleted,t.data])}export{l as u};
2
+ //# sourceMappingURL=DwDASoj9.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1fkcw30.chunk.js","sources":["../../src/apps/tv/hooks/useHandleRegionError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useHandleRegionError(response: Flight.Response<TvRegion>, popup?: boolean): void {\n React.useEffect(() => {\n if (!response.hasCompleted)\n return;\n\n if (response.data)\n return;\n\n if (response.hasError) {\n handleHttpError(response.statusCode);\n }\n\n if (popup)\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n else {\n handleHttpError(HttpStatus.BadRequest);\n }\n }, [ response.hasCompleted, response.data ]);\n}"],"names":["useHandleRegionError","response","popup","React","handleHttpError","Core.ErrorHelper","UnspecifiedDialogError","HttpStatus"],"mappings":"qGAWO,SAASA,EAAqBC,EAAqCC,EAAuB,CAC/FC,EAAM,UAAU,IAAM,CACfF,EAAS,eAGVA,EAAS,OAGTA,EAAS,UACXG,EAAgBH,EAAS,UAAU,EAGjCC,EACFG,EAAiB,MAAM,IAAIC,CAAwB,EAEnDF,EAAgBG,EAAW,UAAU,GAEzC,EAAG,CAAEN,EAAS,aAAcA,EAAS,IAAK,CAAC,CAC7C"}
1
+ {"version":3,"file":"DwDASoj9.chunk.js","sources":["../../src/apps/tv/hooks/useHandleRegionError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useHandleRegionError(response: Flight.Response<TvRegion>, popup?: boolean): void {\n React.useEffect(() => {\n if (!response.hasCompleted)\n return;\n\n if (response.data)\n return;\n\n if (response.hasError) {\n handleHttpError(response.statusCode);\n }\n\n if (popup)\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n else {\n handleHttpError(HttpStatus.BadRequest);\n }\n }, [ response.hasCompleted, response.data ]);\n}"],"names":["useHandleRegionError","response","popup","React","handleHttpError","Core.ErrorHelper","UnspecifiedDialogError","HttpStatus"],"mappings":"qGAWO,SAASA,EAAqBC,EAAqCC,EAAuB,CAC/FC,EAAM,UAAU,IAAM,CACfF,EAAS,eAGVA,EAAS,OAGTA,EAAS,UACXG,EAAgBH,EAAS,UAAU,EAGjCC,EACFG,EAAiB,MAAM,IAAIC,CAAwB,EAEnDF,EAAgBG,EAAW,UAAU,GAEzC,EAAG,CAAEN,EAAS,aAAcA,EAAS,IAAK,CAAC,CAC7C"}
@@ -1,2 +1,2 @@
1
- import{R as o,j as e,G as c,A as i,a as h,b as p}from"./app-Det8y4U1.js";import{S as l}from"./CBlUYGqN.chunk.js";const u="_searchBar_w17nz_1",m={searchBar:u};function x(s){const[r,t]=o.useState(s.query??"");function n(a){a.preventDefault(),r&&i.trigger({application:p.EXCHANGE,action:h.Exchange.SEARCH,params:{query:r}})}return e.jsx("form",{onSubmit:n,children:e.jsxs("div",{className:`${m.searchBar} d-flex border border-dark rounded align-items-center mb-3`,children:[e.jsx(c,{svg:l}),e.jsx("input",{type:"text",className:"form-control h-100 w-100 py-0 border-0 shadow-none",placeholder:"Search for resources in the Exchange Archive",value:r,onChange:a=>t(a.target.value),autoComplete:"off"})]})})}export{x as E};
2
- //# sourceMappingURL=U4HYh7oC.chunk.js.map
1
+ import{R as o,j as e,G as c,A as i,a as h,b as p}from"./app-C2md4v6O.js";import{S as l}from"./lqnuKFoF.chunk.js";const u="_searchBar_w17nz_1",m={searchBar:u};function x(s){const[r,t]=o.useState(s.query??"");function n(a){a.preventDefault(),r&&i.trigger({application:p.EXCHANGE,action:h.Exchange.SEARCH,params:{query:r}})}return e.jsx("form",{onSubmit:n,children:e.jsxs("div",{className:`${m.searchBar} d-flex border border-dark rounded align-items-center mb-3`,children:[e.jsx(c,{svg:l}),e.jsx("input",{type:"text",className:"form-control h-100 w-100 py-0 border-0 shadow-none",placeholder:"Search for resources in the Exchange Archive",value:r,onChange:a=>t(a.target.value),autoComplete:"off"})]})})}export{x as E};
2
+ //# sourceMappingURL=DwIQTRkx.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"U4HYh7oC.chunk.js","sources":["../../src/apps/exchange/components/exchange-search-bar/ExchangeSearchBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SearchSvg } from 'libs/shared/images/svg/actions/SearchSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport styles from './exchange-search-bar.module.scss';\n\ninterface ExchangeSearchBarProps {\n query?: string;\n}\n\nexport function ExchangeSearchBar(props: ExchangeSearchBarProps): JSX.Element {\n const [ query, setQuery ] = React.useState(props.query ?? '');\n\n function onSubmit(event: React.FormEvent): void {\n event.preventDefault();\n\n if (!query)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SEARCH,\n params: { query }\n });\n }\n\n return (\n <form onSubmit={onSubmit}>\n <div className={`${styles.searchBar} d-flex border border-dark rounded align-items-center mb-3`}>\n <SvgContainer svg={SearchSvg} />\n <input\n type='text'\n className='form-control h-100 w-100 py-0 border-0 shadow-none'\n placeholder='Search for resources in the Exchange Archive'\n value={query}\n onChange={e => setQuery(e.target.value)}\n autoComplete='off'\n />\n </div>\n </form>\n );\n}"],"names":["ExchangeSearchBar","props","query","setQuery","React","onSubmit","event","Core.AppLinkHelper","AppChannels","Actions","jsx","jsxs","styles","SvgContainer","SearchSvg","e"],"mappings":"8JAgBO,SAASA,EAAkBC,EAA4C,CAC5E,KAAM,CAAEC,EAAOC,CAAS,EAAIC,EAAM,SAASH,EAAM,OAAS,EAAE,EAE5D,SAASI,EAASC,EAA8B,CAC9CA,EAAM,eAAA,EAEDJ,GAGLK,EAAmB,QAAQ,CACzB,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,OAAQ,CAAE,MAAAP,CAAA,CAAM,CACjB,CACH,CAEA,OACEQ,EAAAA,IAAC,QAAK,SAAAL,EACJ,SAAAM,EAAAA,KAAC,OAAI,UAAW,GAAGC,EAAO,SAAS,6DACjC,SAAA,CAAAF,EAAAA,IAACG,EAAA,CAAa,IAAKC,CAAA,CAAW,EAC9BJ,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,UAAU,qDACV,YAAY,+CACZ,MAAOR,EACP,SAAUa,GAAKZ,EAASY,EAAE,OAAO,KAAK,EACtC,aAAa,KAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"DwIQTRkx.chunk.js","sources":["../../src/apps/exchange/components/exchange-search-bar/ExchangeSearchBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SearchSvg } from 'libs/shared/images/svg/actions/SearchSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport styles from './exchange-search-bar.module.scss';\n\ninterface ExchangeSearchBarProps {\n query?: string;\n}\n\nexport function ExchangeSearchBar(props: ExchangeSearchBarProps): JSX.Element {\n const [ query, setQuery ] = React.useState(props.query ?? '');\n\n function onSubmit(event: React.FormEvent): void {\n event.preventDefault();\n\n if (!query)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SEARCH,\n params: { query }\n });\n }\n\n return (\n <form onSubmit={onSubmit}>\n <div className={`${styles.searchBar} d-flex border border-dark rounded align-items-center mb-3`}>\n <SvgContainer svg={SearchSvg} />\n <input\n type='text'\n className='form-control h-100 w-100 py-0 border-0 shadow-none'\n placeholder='Search for resources in the Exchange Archive'\n value={query}\n onChange={e => setQuery(e.target.value)}\n autoComplete='off'\n />\n </div>\n </form>\n );\n}"],"names":["ExchangeSearchBar","props","query","setQuery","React","onSubmit","event","Core.AppLinkHelper","AppChannels","Actions","jsx","jsxs","styles","SvgContainer","SearchSvg","e"],"mappings":"8JAgBO,SAASA,EAAkBC,EAA4C,CAC5E,KAAM,CAAEC,EAAOC,CAAS,EAAIC,EAAM,SAASH,EAAM,OAAS,EAAE,EAE5D,SAASI,EAASC,EAA8B,CAC9CA,EAAM,eAAA,EAEDJ,GAGLK,EAAmB,QAAQ,CACzB,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,OAAQ,CAAE,MAAAP,CAAA,CAAM,CACjB,CACH,CAEA,OACEQ,EAAAA,IAAC,QAAK,SAAAL,EACJ,SAAAM,EAAAA,KAAC,OAAI,UAAW,GAAGC,EAAO,SAAS,6DACjC,SAAA,CAAAF,EAAAA,IAACG,EAAA,CAAa,IAAKC,CAAA,CAAW,EAC9BJ,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,UAAU,qDACV,YAAY,+CACZ,MAAOR,EACP,SAAUa,GAAKZ,EAASY,EAAE,OAAO,KAAK,EACtC,aAAa,KAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{j as e,G as i,R as c,ap as l,aR as d,ac as p,ad as m,ae as g,A as u,a as x,b as h}from"./app-Det8y4U1.js";import{C as f}from"./C99JIGI3.chunk.js";import{S as v}from"./CBlUYGqN.chunk.js";const j="_regionSelect_9qtm0_1",S={regionSelect:j};function y(){return e.jsx("div",{className:`${S.regionSelect} partial-loading-background d-flex rounded mb-3`,children:e.jsx("div",{className:"svg-container std"})})}const b="_select_dlilk_1",k={select:b};function _(s){const{currentRegion:a,regions:t,appLink:o}=s;return!a||!t?e.jsx(y,{}):t.length<=1?e.jsx(e.Fragment,{}):e.jsxs("div",{className:"d-flex align-items-center mb-3",children:[e.jsx("span",{children:"Region: "}),e.jsxs("div",{className:"dropdown",children:[e.jsxs("a",{className:`${k.select} d-flex align-items-center btn btn-outline-dark ms-3`,id:"region-select",type:"button","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:[e.jsx("span",{children:a.stateFull}),e.jsx(i,{svg:f})]}),e.jsx("div",{className:"dropdown-menu dropdown-menu-end","aria-labelledby":"region-select",children:t.map((n,r)=>n.id===a.id?e.jsx(c.Fragment,{},r):e.jsx(l,{className:"dropdown-item",appLink:{...o,args:[n.code]},analyticsData:{region:a.code},analyticsOptions:{actionType:g.Select,entity:m.Region,location:p.Dropdown,descriptor:d.RegionSelect},onClick:()=>s.onClick(n),children:n.stateFull},r))})]})]})}const w="_searchBar_w17nz_1",C={searchBar:w};function A(s){const[a,t]=c.useState(s.query??"");function o(n){var r;n.preventDefault(),a&&u.trigger({application:h.TV,action:x.Tv.SEARCH,args:[(r=s.region)==null?void 0:r.code],params:{query:a}})}return e.jsx("form",{onSubmit:o,children:e.jsxs("div",{className:`${C.searchBar} d-flex border border-dark rounded align-items-center mb-3`,children:[e.jsx(i,{svg:v}),e.jsx("input",{type:"text",className:"form-control h-100 w-100 py-0 border-0 shadow-none",placeholder:"Search for programs on ClickView TV",value:a,onChange:n=>t(n.target.value),autoComplete:"off"})]})})}export{A as T,_ as a};
2
- //# sourceMappingURL=BBhJOnJs.chunk.js.map
1
+ import{j as e,G as i,R as c,ap as l,aR as d,ac as p,ad as m,ae as g,A as u,a as x,b as h}from"./app-C2md4v6O.js";import{C as f}from"./Blfyr1LY.chunk.js";import{S as v}from"./lqnuKFoF.chunk.js";const j="_regionSelect_9qtm0_1",S={regionSelect:j};function y(){return e.jsx("div",{className:`${S.regionSelect} partial-loading-background d-flex rounded mb-3`,children:e.jsx("div",{className:"svg-container std"})})}const b="_select_dlilk_1",k={select:b};function _(s){const{currentRegion:a,regions:t,appLink:o}=s;return!a||!t?e.jsx(y,{}):t.length<=1?e.jsx(e.Fragment,{}):e.jsxs("div",{className:"d-flex align-items-center mb-3",children:[e.jsx("span",{children:"Region: "}),e.jsxs("div",{className:"dropdown",children:[e.jsxs("a",{className:`${k.select} d-flex align-items-center btn btn-outline-dark ms-3`,id:"region-select",type:"button","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:[e.jsx("span",{children:a.stateFull}),e.jsx(i,{svg:f})]}),e.jsx("div",{className:"dropdown-menu dropdown-menu-end","aria-labelledby":"region-select",children:t.map((n,r)=>n.id===a.id?e.jsx(c.Fragment,{},r):e.jsx(l,{className:"dropdown-item",appLink:{...o,args:[n.code]},analyticsData:{region:a.code},analyticsOptions:{actionType:g.Select,entity:m.Region,location:p.Dropdown,descriptor:d.RegionSelect},onClick:()=>s.onClick(n),children:n.stateFull},r))})]})]})}const w="_searchBar_w17nz_1",C={searchBar:w};function A(s){const[a,t]=c.useState(s.query??"");function o(n){var r;n.preventDefault(),a&&u.trigger({application:h.TV,action:x.Tv.SEARCH,args:[(r=s.region)==null?void 0:r.code],params:{query:a}})}return e.jsx("form",{onSubmit:o,children:e.jsxs("div",{className:`${C.searchBar} d-flex border border-dark rounded align-items-center mb-3`,children:[e.jsx(i,{svg:v}),e.jsx("input",{type:"text",className:"form-control h-100 w-100 py-0 border-0 shadow-none",placeholder:"Search for programs on ClickView TV",value:a,onChange:n=>t(n.target.value),autoComplete:"off"})]})})}export{A as T,_ as a};
2
+ //# sourceMappingURL=DxF4GLPa.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBhJOnJs.chunk.js","sources":["../../src/apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect.tsx","../../src/apps/tv/components/tv-region-select/TvRegionSelect.tsx","../../src/apps/tv/components/tv-search-bar/TvSearchBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from './partial-tv-region-select.module.scss';\n\nexport function PartialTvRegionSelect() {\n return (\n <div className={`${styles.regionSelect} partial-loading-background d-flex rounded mb-3`}>\n <div className='svg-container std'></div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ChevronDownSvg } from 'libs/shared/images/svg/arrows/ChevronDownSvg';\n\nimport { PartialTvRegionSelect } from 'apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-region-select.module.scss';\n\ninterface TvRegionSelectProps {\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nexport function TvRegionSelect(props: TvRegionSelectProps): JSX.Element {\n const { currentRegion, regions, appLink } = props;\n\n if (!currentRegion || !regions)\n return <PartialTvRegionSelect />;\n\n if (regions.length <= 1)\n return <></>;\n\n return (\n <div className='d-flex align-items-center mb-3'>\n <span>Region: </span>\n <div className='dropdown'>\n <a\n className={`${styles.select} d-flex align-items-center btn btn-outline-dark ms-3`}\n id='region-select'\n type='button'\n data-bs-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n >\n <span>{currentRegion.stateFull}</span>\n <SvgContainer svg={ChevronDownSvg} />\n </a>\n <div\n className='dropdown-menu dropdown-menu-end'\n aria-labelledby='region-select'\n >\n {regions.map((region, index) => {\n if (region.id === currentRegion.id)\n return <React.Fragment key={index} />;\n\n return (\n <AppLink\n key={index}\n className='dropdown-item'\n appLink={{\n ...appLink,\n args: [region.code]\n }}\n analyticsData={{ region: currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Select,\n entity: EntityType.Region,\n location: LocationContext.Dropdown,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n {region.stateFull}\n </AppLink>\n );\n })}\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SearchSvg } from 'libs/shared/images/svg/actions/SearchSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-search-bar.module.scss';\n\ninterface TvSearchBarProps {\n region: TvRegion;\n query?: string;\n}\n\nexport function TvSearchBar(props: TvSearchBarProps): JSX.Element {\n const [ query, setQuery ] = React.useState(props.query ?? '');\n\n function onSubmit(event: React.FormEvent): void {\n event.preventDefault();\n\n if (!query)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.SEARCH,\n args: [props.region?.code],\n params: { query }\n });\n }\n\n return (\n <form onSubmit={onSubmit}>\n <div className={`${styles.searchBar} d-flex border border-dark rounded align-items-center mb-3`}>\n <SvgContainer svg={SearchSvg} />\n <input\n type='text'\n className='form-control h-100 w-100 py-0 border-0 shadow-none'\n placeholder='Search for programs on ClickView TV'\n value={query}\n onChange={e => setQuery(e.target.value)}\n autoComplete='off'\n />\n </div>\n </form>\n );\n}"],"names":["PartialTvRegionSelect","jsx","styles","TvRegionSelect","props","currentRegion","regions","appLink","Fragment","jsxs","SvgContainer","ChevronDownSvg","region","index","React","AppLink","UserAction","EntityType","LocationContext","TvDescriptor","TvSearchBar","query","setQuery","onSubmit","event","Core.AppLinkHelper","AppChannels","Actions","_a","SearchSvg","e"],"mappings":"oPAIO,SAASA,GAAwB,CACtC,OACEC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,YAAY,kDACpC,SAAAD,EAAAA,IAAC,MAAA,CAAI,UAAU,mBAAA,CAAoB,EACrC,CAEJ,wCCYO,SAASE,EAAeC,EAAyC,CACtE,KAAM,CAAE,cAAAC,EAAe,QAAAC,EAAS,QAAAC,CAAA,EAAYH,EAE5C,MAAI,CAACC,GAAiB,CAACC,QACbN,EAAA,EAAsB,EAE5BM,EAAQ,QAAU,EACbL,EAAAA,IAAAO,EAAAA,SAAA,EAAE,EAGTC,EAAAA,KAAC,MAAA,CAAI,UAAU,iCACb,SAAA,CAAAR,EAAAA,IAAC,QAAK,SAAA,UAAA,CAAQ,EACdQ,EAAAA,KAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAA,EAAAA,KAAC,IAAA,CACC,UAAW,GAAGP,EAAO,MAAM,uDAC3B,GAAG,gBACH,KAAK,SACL,iBAAe,WACf,gBAAc,OACd,gBAAc,QAEd,SAAA,CAAAD,EAAAA,IAAC,OAAA,CAAM,WAAc,SAAA,CAAU,EAC/BA,EAAAA,IAACS,EAAA,CAAa,IAAKC,CAAA,CAAgB,CAAA,CAAA,CAAA,EAErCV,EAAAA,IAAC,MAAA,CACC,UAAU,kCACV,kBAAgB,gBAEf,SAAAK,EAAQ,IAAI,CAACM,EAAQC,IAChBD,EAAO,KAAOP,EAAc,GACvBJ,EAAAA,IAACa,EAAM,SAAN,CAAA,EAAoBD,CAAO,EAGnCZ,EAAAA,IAACc,EAAA,CAEC,UAAU,gBACV,QAAS,CACP,GAAGR,EACH,KAAM,CAACK,EAAO,IAAI,CAAA,EAEpB,cAAe,CAAE,OAAQP,EAAc,IAAA,EACvC,iBAAkB,CAChB,WAAYW,EAAW,OACvB,OAAQC,EAAW,OACnB,SAAUC,EAAgB,SAC1B,WAAYC,EAAa,YAAA,EAE3B,QAAS,IAAMf,EAAM,QAAQQ,CAAM,EAElC,SAAAA,EAAO,SAAA,EAfHC,CAAA,CAkBV,CAAA,CAAA,CACH,CAAA,CACF,CAAA,EACF,CAEJ,8CC5DO,SAASO,EAAYhB,EAAsC,CAChE,KAAM,CAAEiB,EAAOC,CAAS,EAAIR,EAAM,SAASV,EAAM,OAAS,EAAE,EAE5D,SAASmB,EAASC,EAA8B,OAC9CA,EAAM,eAAA,EAEDH,GAGLI,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,OACnB,KAAM,EAACC,EAAAxB,EAAM,SAAN,YAAAwB,EAAc,IAAI,EACzB,OAAQ,CAAE,MAAAP,CAAA,CAAM,CACjB,CACH,CAEA,OACEpB,EAAAA,IAAC,QAAK,SAAAsB,EACJ,SAAAd,EAAAA,KAAC,OAAI,UAAW,GAAGP,EAAO,SAAS,6DACjC,SAAA,CAAAD,EAAAA,IAACS,EAAA,CAAa,IAAKmB,CAAA,CAAW,EAC9B5B,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,UAAU,qDACV,YAAY,sCACZ,MAAOoB,EACP,SAAUS,GAAKR,EAASQ,EAAE,OAAO,KAAK,EACtC,aAAa,KAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"DxF4GLPa.chunk.js","sources":["../../src/apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect.tsx","../../src/apps/tv/components/tv-region-select/TvRegionSelect.tsx","../../src/apps/tv/components/tv-search-bar/TvSearchBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from './partial-tv-region-select.module.scss';\n\nexport function PartialTvRegionSelect() {\n return (\n <div className={`${styles.regionSelect} partial-loading-background d-flex rounded mb-3`}>\n <div className='svg-container std'></div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ChevronDownSvg } from 'libs/shared/images/svg/arrows/ChevronDownSvg';\n\nimport { PartialTvRegionSelect } from 'apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-region-select.module.scss';\n\ninterface TvRegionSelectProps {\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nexport function TvRegionSelect(props: TvRegionSelectProps): JSX.Element {\n const { currentRegion, regions, appLink } = props;\n\n if (!currentRegion || !regions)\n return <PartialTvRegionSelect />;\n\n if (regions.length <= 1)\n return <></>;\n\n return (\n <div className='d-flex align-items-center mb-3'>\n <span>Region: </span>\n <div className='dropdown'>\n <a\n className={`${styles.select} d-flex align-items-center btn btn-outline-dark ms-3`}\n id='region-select'\n type='button'\n data-bs-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n >\n <span>{currentRegion.stateFull}</span>\n <SvgContainer svg={ChevronDownSvg} />\n </a>\n <div\n className='dropdown-menu dropdown-menu-end'\n aria-labelledby='region-select'\n >\n {regions.map((region, index) => {\n if (region.id === currentRegion.id)\n return <React.Fragment key={index} />;\n\n return (\n <AppLink\n key={index}\n className='dropdown-item'\n appLink={{\n ...appLink,\n args: [region.code]\n }}\n analyticsData={{ region: currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Select,\n entity: EntityType.Region,\n location: LocationContext.Dropdown,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n {region.stateFull}\n </AppLink>\n );\n })}\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SearchSvg } from 'libs/shared/images/svg/actions/SearchSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-search-bar.module.scss';\n\ninterface TvSearchBarProps {\n region: TvRegion;\n query?: string;\n}\n\nexport function TvSearchBar(props: TvSearchBarProps): JSX.Element {\n const [ query, setQuery ] = React.useState(props.query ?? '');\n\n function onSubmit(event: React.FormEvent): void {\n event.preventDefault();\n\n if (!query)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.SEARCH,\n args: [props.region?.code],\n params: { query }\n });\n }\n\n return (\n <form onSubmit={onSubmit}>\n <div className={`${styles.searchBar} d-flex border border-dark rounded align-items-center mb-3`}>\n <SvgContainer svg={SearchSvg} />\n <input\n type='text'\n className='form-control h-100 w-100 py-0 border-0 shadow-none'\n placeholder='Search for programs on ClickView TV'\n value={query}\n onChange={e => setQuery(e.target.value)}\n autoComplete='off'\n />\n </div>\n </form>\n );\n}"],"names":["PartialTvRegionSelect","jsx","styles","TvRegionSelect","props","currentRegion","regions","appLink","Fragment","jsxs","SvgContainer","ChevronDownSvg","region","index","React","AppLink","UserAction","EntityType","LocationContext","TvDescriptor","TvSearchBar","query","setQuery","onSubmit","event","Core.AppLinkHelper","AppChannels","Actions","_a","SearchSvg","e"],"mappings":"oPAIO,SAASA,GAAwB,CACtC,OACEC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,YAAY,kDACpC,SAAAD,EAAAA,IAAC,MAAA,CAAI,UAAU,mBAAA,CAAoB,EACrC,CAEJ,wCCYO,SAASE,EAAeC,EAAyC,CACtE,KAAM,CAAE,cAAAC,EAAe,QAAAC,EAAS,QAAAC,CAAA,EAAYH,EAE5C,MAAI,CAACC,GAAiB,CAACC,QACbN,EAAA,EAAsB,EAE5BM,EAAQ,QAAU,EACbL,EAAAA,IAAAO,EAAAA,SAAA,EAAE,EAGTC,EAAAA,KAAC,MAAA,CAAI,UAAU,iCACb,SAAA,CAAAR,EAAAA,IAAC,QAAK,SAAA,UAAA,CAAQ,EACdQ,EAAAA,KAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAA,EAAAA,KAAC,IAAA,CACC,UAAW,GAAGP,EAAO,MAAM,uDAC3B,GAAG,gBACH,KAAK,SACL,iBAAe,WACf,gBAAc,OACd,gBAAc,QAEd,SAAA,CAAAD,EAAAA,IAAC,OAAA,CAAM,WAAc,SAAA,CAAU,EAC/BA,EAAAA,IAACS,EAAA,CAAa,IAAKC,CAAA,CAAgB,CAAA,CAAA,CAAA,EAErCV,EAAAA,IAAC,MAAA,CACC,UAAU,kCACV,kBAAgB,gBAEf,SAAAK,EAAQ,IAAI,CAACM,EAAQC,IAChBD,EAAO,KAAOP,EAAc,GACvBJ,EAAAA,IAACa,EAAM,SAAN,CAAA,EAAoBD,CAAO,EAGnCZ,EAAAA,IAACc,EAAA,CAEC,UAAU,gBACV,QAAS,CACP,GAAGR,EACH,KAAM,CAACK,EAAO,IAAI,CAAA,EAEpB,cAAe,CAAE,OAAQP,EAAc,IAAA,EACvC,iBAAkB,CAChB,WAAYW,EAAW,OACvB,OAAQC,EAAW,OACnB,SAAUC,EAAgB,SAC1B,WAAYC,EAAa,YAAA,EAE3B,QAAS,IAAMf,EAAM,QAAQQ,CAAM,EAElC,SAAAA,EAAO,SAAA,EAfHC,CAAA,CAkBV,CAAA,CAAA,CACH,CAAA,CACF,CAAA,EACF,CAEJ,8CC5DO,SAASO,EAAYhB,EAAsC,CAChE,KAAM,CAAEiB,EAAOC,CAAS,EAAIR,EAAM,SAASV,EAAM,OAAS,EAAE,EAE5D,SAASmB,EAASC,EAA8B,OAC9CA,EAAM,eAAA,EAEDH,GAGLI,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,OACnB,KAAM,EAACC,EAAAxB,EAAM,SAAN,YAAAwB,EAAc,IAAI,EACzB,OAAQ,CAAE,MAAAP,CAAA,CAAM,CACjB,CACH,CAEA,OACEpB,EAAAA,IAAC,QAAK,SAAAsB,EACJ,SAAAd,EAAAA,KAAC,OAAI,UAAW,GAAGP,EAAO,SAAS,6DACjC,SAAA,CAAAD,EAAAA,IAACS,EAAA,CAAa,IAAKmB,CAAA,CAAW,EAC9B5B,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,UAAU,qDACV,YAAY,sCACZ,MAAOoB,EACP,SAAUS,GAAKR,EAASQ,EAAE,OAAO,KAAK,EACtC,aAAa,KAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAEJ"}
@@ -1,2 +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
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-C2md4v6O.js";import{P as x}from"./sw2_FVPM.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=DxQXGtZm.chunk.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"DxQXGtZm.chunk.js","sources":["../../src/apps/exchange/components/exchange-tabs/ExchangeTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n categories: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n },\n mostRecent: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.MOST_RECENT\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface ExchangeTabs {\n active: 'categories' | 'most-recent' | 'featured-channels';\n}\n\nexport function ExchangeTabs(props: ExchangeTabs): JSX.Element {\n const { active } = props;\n\n return (\n <PillTabSelector\n tabs={[{\n name: getPhrase('categories'),\n appLink: APP_LINKS.categories,\n active: active === 'categories',\n analyticsData: {\n name: getPhrase('categories'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.categories)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('mostRecent'),\n appLink: APP_LINKS.mostRecent,\n active: active === 'most-recent',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'mostRecent'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.mostRecent)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }]}\n />\n );\n}"],"names":["namespace","getPhrase","LanguageService","APP_LINKS","AppChannels","Actions","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","ExchangeTabs","props","active","jsx","PillTabSelector","Core.AppLinkHelper"],"mappings":"kIAYA,MAAMA,EAAY,wBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAEtDG,EAAY,CAChB,WAAY,CACV,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,EAE3B,WAAY,CACV,YAAaD,EAAY,SACzB,OAAQC,EAAQ,SAAS,WAAA,CAE7B,EAEMC,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAMO,SAASC,EAAaC,EAAkC,CAC7D,KAAM,CAAE,OAAAC,GAAWD,EAEnB,OACEE,EAAAA,IAACC,EAAA,CACC,KAAM,CAAC,CACL,KAAMb,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,aACnB,cAAe,CACb,KAAMX,EAAU,YAAY,EAC5B,IAAKc,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,EACjB,CACD,KAAML,EAAU,YAAY,EAC5B,QAASE,EAAU,WACnB,OAAQS,IAAW,cACnB,cAAe,CACb,KAAMV,EAAgB,UAAUF,EAAW,YAAY,EACvD,IAAKe,EAAmB,QAAQZ,EAAU,UAAU,CAAA,EAEtD,iBAAkBG,CAAA,CACnB,CAAA,CAAA,CAGP"}
@@ -1,2 +1,2 @@
1
- import{D as h,U as g,L as u,a2 as d,a4 as m,a9 as f,aC as p,q as E,a5 as P}from"./app-Det8y4U1.js";import{u as U}from"./C36BgTJV.chunk.js";const c="shared.verifiedEmailError";class q extends h{constructor(e,r,s){super("VerifiedEmailRequiredError"),this.message=e,this.liteUrl=r,this.hasLite=s}get name(){return"VerifiedEmailRequiredError"}get dialogOptions(){const e=g.safeUrlConcat(this.liteUrl,"settings/account");return{title:u.getPhrase(c,"heading"),text:this.hasLite?`${this.message} ${u.getPhrase(c,"visitSettings",{href:e})}`:this.message,buttons:[{text:u.getPhrase(c,"close"),className:"btn btn-dark",success:!0}]}}}const R=()=>{var a;const t=d(m.currentUser()),e=d(((a=t.data)==null?void 0:a.isAuthenticated)&&f.userProducts()),r=!e.hasCompleted;return{hasProduct:i=>{var o;return r||e.hasError||!((o=e.data)!=null&&o.length)?!1:e.data.some(n=>n.id===i)},products:e,isLoadingProducts:r}};function S(){const t=U(),{hasProduct:e,isLoadingProducts:r}=R(),s=d(p.config());function a(i,o,n){var l;if(!i.responseJSON||((l=i.responseJSON)==null?void 0:l.type)!=="no-email"){t.error(o);return}E.throw(new q(n,s.data.liteUrl,e(P.Primary)))}return{handleGenerateReportError:a,loading:!s.hasCompleted||r}}export{S as u};
2
- //# sourceMappingURL=CRuObGvW.chunk.js.map
1
+ import{D as h,U as g,L as u,a2 as d,a4 as m,a9 as f,aC as p,q as E,a5 as P}from"./app-C2md4v6O.js";import{u as U}from"./5Bk7WUgq.chunk.js";const c="shared.verifiedEmailError";class q extends h{constructor(e,r,s){super("VerifiedEmailRequiredError"),this.message=e,this.liteUrl=r,this.hasLite=s}get name(){return"VerifiedEmailRequiredError"}get dialogOptions(){const e=g.safeUrlConcat(this.liteUrl,"settings/account");return{title:u.getPhrase(c,"heading"),text:this.hasLite?`${this.message} ${u.getPhrase(c,"visitSettings",{href:e})}`:this.message,buttons:[{text:u.getPhrase(c,"close"),className:"btn btn-dark",success:!0}]}}}const R=()=>{var a;const t=d(m.currentUser()),e=d(((a=t.data)==null?void 0:a.isAuthenticated)&&f.userProducts()),r=!e.hasCompleted;return{hasProduct:i=>{var o;return r||e.hasError||!((o=e.data)!=null&&o.length)?!1:e.data.some(n=>n.id===i)},products:e,isLoadingProducts:r}};function S(){const t=U(),{hasProduct:e,isLoadingProducts:r}=R(),s=d(p.config());function a(i,o,n){var l;if(!i.responseJSON||((l=i.responseJSON)==null?void 0:l.type)!=="no-email"){t.error(o);return}E.throw(new q(n,s.data.liteUrl,e(P.Primary)))}return{handleGenerateReportError:a,loading:!s.hasCompleted||r}}export{S as u};
2
+ //# sourceMappingURL=PbxMeR6l.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CRuObGvW.chunk.js","sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite\n ? `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}`\n : this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}"],"names":["namespace","VerifiedEmailRequiredError","DialogError","message","liteUrl","hasLite","href","UrlHelper","LanguageService","useProducts","currentUser","Flight.useBasicFetch","UserRequests","products","_a","ProductRequests","isLoadingProducts","productId","product","useVerifiedEmailRequiredErrorHandler","alerts","useAlerts","hasProduct","config","ConfigRequests","handleGenerateReportError","xhr","noEmailError","Core.ErrorHelper","ProductId"],"mappings":"2IAMA,MAAMA,EAAY,4BAEX,MAAMC,UAAmCC,CAAY,CAK1D,YAAYC,EAAiBC,EAAiBC,EAAkB,CAC9D,MAAM,4BAA4B,EAElC,KAAK,QAAUF,EACf,KAAK,QAAUC,EACf,KAAK,QAAUC,CACjB,CAGA,IAAW,MAAe,CACxB,MAAO,4BACT,CAGA,IAAW,eAA+B,CACxC,MAAMC,EAAOC,EAAU,cAAc,KAAK,QAAS,kBAAkB,EAErE,MAAO,CACL,MAAOC,EAAgB,UAAUR,EAAW,SAAS,EACrD,KAAM,KAAK,QACP,GAAG,KAAK,OAAO,IAAIQ,EAAgB,UAAUR,EAAW,gBAAiB,CAAE,KAAAM,CAAA,CAAM,CAAC,GAClF,KAAK,QACT,QAAS,CAAC,CACR,KAAME,EAAgB,UAAUR,EAAW,OAAO,EAClD,UAAW,eACX,QAAS,EAAA,CACV,CAAA,CAEL,CACF,CC3BO,MAAMS,EAAc,IAA2B,OACpD,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAAWF,IAAgCG,EAAAJ,EAAY,OAAZ,YAAAI,EAAkB,kBAAmBC,EAAgB,cAAc,EAC9GC,EAAoB,CAACH,EAAS,aAYpC,MAAO,CACL,WAXkBI,GAAyB,OAI3C,OAHID,GAAqBH,EAAS,UAG9B,GAACC,EAAAD,EAAS,OAAT,MAAAC,EAAe,QACX,GAEFD,EAAS,KAAK,KAAKK,GAAWA,EAAQ,KAAOD,CAAS,CAC/D,EAIE,SAAAJ,EACA,kBAAAG,CAAA,CAEJ,ECxBO,SAASG,GAAuC,CACrD,MAAMC,EAASC,EAAA,EACT,CAAE,WAAAC,EAAY,kBAAAN,CAAA,EAAsBP,EAAA,EACpCc,EAASZ,EAA6Ba,EAAe,QAAQ,EAEnE,SAASC,EAA0BC,EAAUvB,EAAiBwB,EAAsB,OAClF,GAAI,CAACD,EAAI,gBAAgBZ,EAAAY,EAAI,eAAJ,YAAAZ,EAAkB,QAAS,WAAY,CAC9DM,EAAO,MAAMjB,CAAO,EACpB,MACF,CAEAyB,EAAiB,MACf,IAAI3B,EAA2B0B,EAAcJ,EAAO,KAAK,QAASD,EAAWO,EAAU,OAAO,CAAC,CAAA,CAEnG,CAEA,MAAO,CACL,0BAAAJ,EACA,QAAS,CAACF,EAAO,cAAgBP,CAAA,CAErC"}
1
+ {"version":3,"file":"PbxMeR6l.chunk.js","sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite\n ? `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}`\n : this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}"],"names":["namespace","VerifiedEmailRequiredError","DialogError","message","liteUrl","hasLite","href","UrlHelper","LanguageService","useProducts","currentUser","Flight.useBasicFetch","UserRequests","products","_a","ProductRequests","isLoadingProducts","productId","product","useVerifiedEmailRequiredErrorHandler","alerts","useAlerts","hasProduct","config","ConfigRequests","handleGenerateReportError","xhr","noEmailError","Core.ErrorHelper","ProductId"],"mappings":"2IAMA,MAAMA,EAAY,4BAEX,MAAMC,UAAmCC,CAAY,CAK1D,YAAYC,EAAiBC,EAAiBC,EAAkB,CAC9D,MAAM,4BAA4B,EAElC,KAAK,QAAUF,EACf,KAAK,QAAUC,EACf,KAAK,QAAUC,CACjB,CAGA,IAAW,MAAe,CACxB,MAAO,4BACT,CAGA,IAAW,eAA+B,CACxC,MAAMC,EAAOC,EAAU,cAAc,KAAK,QAAS,kBAAkB,EAErE,MAAO,CACL,MAAOC,EAAgB,UAAUR,EAAW,SAAS,EACrD,KAAM,KAAK,QACP,GAAG,KAAK,OAAO,IAAIQ,EAAgB,UAAUR,EAAW,gBAAiB,CAAE,KAAAM,CAAA,CAAM,CAAC,GAClF,KAAK,QACT,QAAS,CAAC,CACR,KAAME,EAAgB,UAAUR,EAAW,OAAO,EAClD,UAAW,eACX,QAAS,EAAA,CACV,CAAA,CAEL,CACF,CC3BO,MAAMS,EAAc,IAA2B,OACpD,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAAWF,IAAgCG,EAAAJ,EAAY,OAAZ,YAAAI,EAAkB,kBAAmBC,EAAgB,cAAc,EAC9GC,EAAoB,CAACH,EAAS,aAYpC,MAAO,CACL,WAXkBI,GAAyB,OAI3C,OAHID,GAAqBH,EAAS,UAG9B,GAACC,EAAAD,EAAS,OAAT,MAAAC,EAAe,QACX,GAEFD,EAAS,KAAK,KAAKK,GAAWA,EAAQ,KAAOD,CAAS,CAC/D,EAIE,SAAAJ,EACA,kBAAAG,CAAA,CAEJ,ECxBO,SAASG,GAAuC,CACrD,MAAMC,EAASC,EAAA,EACT,CAAE,WAAAC,EAAY,kBAAAN,CAAA,EAAsBP,EAAA,EACpCc,EAASZ,EAA6Ba,EAAe,QAAQ,EAEnE,SAASC,EAA0BC,EAAUvB,EAAiBwB,EAAsB,OAClF,GAAI,CAACD,EAAI,gBAAgBZ,EAAAY,EAAI,eAAJ,YAAAZ,EAAkB,QAAS,WAAY,CAC9DM,EAAO,MAAMjB,CAAO,EACpB,MACF,CAEAyB,EAAiB,MACf,IAAI3B,EAA2B0B,EAAcJ,EAAO,KAAK,QAASD,EAAWO,EAAU,OAAO,CAAC,CAAA,CAEnG,CAEA,MAAO,CACL,0BAAAJ,EACA,QAAS,CAACF,EAAO,cAAgBP,CAAA,CAErC"}