@clickview/exchange 0.48.0 → 0.49.1-dev.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.
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/bundles.json +2 -2
- package/dist/css/B57G3PZD.chunk.css +1 -0
- package/dist/css/BBV1d-ZI.chunk.css +1 -0
- package/dist/css/BDOTXlob.chunk.css +1 -0
- package/dist/css/BIeUeS4h.chunk.css +1 -0
- package/dist/css/BPdg7JW4.chunk.css +1 -0
- package/dist/css/BiRz4h1c.chunk.css +1 -0
- package/dist/css/Bt3pBBLn.chunk.css +1 -0
- package/dist/css/Bz8F9buU.chunk.css +1 -0
- package/dist/css/C2R4QydJ.chunk.css +1 -0
- package/dist/css/C7XoyEPr.chunk.css +1 -0
- package/dist/css/CAdv9Saa.chunk.css +1 -0
- package/dist/css/CC5F5C8O.chunk.css +1 -0
- package/dist/css/CCsCPLDG.chunk.css +1 -0
- package/dist/css/CD1qrI1T.chunk.css +1 -0
- package/dist/css/CDiJwtuL.chunk.css +1 -0
- package/dist/css/CM-cscAF.chunk.css +1 -0
- package/dist/css/CY0yvCW4.chunk.css +1 -0
- package/dist/css/Ci6HCTb5.chunk.css +1 -0
- package/dist/css/CifDVjr-.chunk.css +1 -0
- package/dist/css/CphXVlxY.chunk.css +1 -0
- package/dist/css/CrSv-tYo.chunk.css +1 -0
- package/dist/css/DD13UQOa.chunk.css +1 -0
- package/dist/css/DGyCCqtO.chunk.css +1 -0
- package/dist/css/DI4l_5OJ.chunk.css +1 -0
- package/dist/css/DL_jCfRl.chunk.css +1 -0
- package/dist/css/DRlDmMhN.chunk.css +1 -0
- package/dist/css/Dkh6sNpi.chunk.css +1 -0
- package/dist/css/DlOtoSz0.chunk.css +1 -0
- package/dist/css/DnhNnDZN.chunk.css +1 -0
- package/dist/css/EnQ3abug.chunk.css +1 -0
- package/dist/css/O777zV0C.chunk.css +1 -0
- package/dist/css/fs02hBfZ.chunk.css +1 -0
- package/dist/css/jbMisi9r.chunk.css +1 -0
- package/dist/css/w4TLT4f5.chunk.css +1 -0
- package/dist/en.json +1 -0
- package/dist/scripts/-OkQC3ld.chunk.js +2 -0
- package/dist/scripts/-OkQC3ld.chunk.js.map +1 -0
- package/dist/scripts/1--zOUke.chunk.js +2 -0
- package/dist/scripts/1--zOUke.chunk.js.map +1 -0
- package/dist/scripts/B1pmJy9w.chunk.js +2 -0
- package/dist/scripts/B1pmJy9w.chunk.js.map +1 -0
- package/dist/scripts/B1sQeAw1.chunk.js +2 -0
- package/dist/scripts/B1sQeAw1.chunk.js.map +1 -0
- package/dist/scripts/B2HQh_vn.chunk.js +2 -0
- package/dist/scripts/B2HQh_vn.chunk.js.map +1 -0
- package/dist/scripts/B55exgI3.chunk.js +2 -0
- package/dist/scripts/B55exgI3.chunk.js.map +1 -0
- package/dist/scripts/B668bf5B.chunk.js +2 -0
- package/dist/scripts/B668bf5B.chunk.js.map +1 -0
- package/dist/scripts/B6QdLVkd.chunk.js +2 -0
- package/dist/scripts/B6QdLVkd.chunk.js.map +1 -0
- package/dist/scripts/B9JNzh8J.chunk.js +2 -0
- package/dist/scripts/B9JNzh8J.chunk.js.map +1 -0
- package/dist/scripts/BAFefpdu.chunk.js +2 -0
- package/dist/scripts/BAFefpdu.chunk.js.map +1 -0
- package/dist/scripts/BEM-fEAF.chunk.js +2 -0
- package/dist/scripts/BEM-fEAF.chunk.js.map +1 -0
- package/dist/scripts/BGyYkDnT.chunk.js +2 -0
- package/dist/scripts/BGyYkDnT.chunk.js.map +1 -0
- package/dist/scripts/BIdpr1Qt.chunk.js +2 -0
- package/dist/scripts/BIdpr1Qt.chunk.js.map +1 -0
- package/dist/scripts/BIgz-kuD.chunk.js +5 -0
- package/dist/scripts/BIgz-kuD.chunk.js.map +1 -0
- package/dist/scripts/BKFoap_e.chunk.js +2 -0
- package/dist/scripts/BKFoap_e.chunk.js.map +1 -0
- package/dist/scripts/BPgR5vGs.chunk.js +2 -0
- package/dist/scripts/BPgR5vGs.chunk.js.map +1 -0
- package/dist/scripts/BQso9AQl.chunk.js +2 -0
- package/dist/scripts/BQso9AQl.chunk.js.map +1 -0
- package/dist/scripts/BSZIQf6b.chunk.js +2 -0
- package/dist/scripts/BSZIQf6b.chunk.js.map +1 -0
- package/dist/scripts/BVnGsVC0.chunk.js +2 -0
- package/dist/scripts/BVnGsVC0.chunk.js.map +1 -0
- package/dist/scripts/BabLz50F.chunk.js +2 -0
- package/dist/scripts/BabLz50F.chunk.js.map +1 -0
- package/dist/scripts/BeAXnr0Y.chunk.js +2 -0
- package/dist/scripts/BeAXnr0Y.chunk.js.map +1 -0
- package/dist/scripts/Bei6waJp.chunk.js +2 -0
- package/dist/scripts/Bei6waJp.chunk.js.map +1 -0
- package/dist/scripts/BesZ5ef9.chunk.js +2 -0
- package/dist/scripts/BesZ5ef9.chunk.js.map +1 -0
- package/dist/scripts/Bfzs9Sl1.chunk.js +2 -0
- package/dist/scripts/Bfzs9Sl1.chunk.js.map +1 -0
- package/dist/scripts/BlDVEZsX.chunk.js +2 -0
- package/dist/scripts/BlDVEZsX.chunk.js.map +1 -0
- package/dist/scripts/BlhmwaPM.chunk.js +3 -0
- package/dist/scripts/BlhmwaPM.chunk.js.map +1 -0
- package/dist/scripts/BnG9RTEw.chunk.js +2 -0
- package/dist/scripts/BnG9RTEw.chunk.js.map +1 -0
- package/dist/scripts/BoOaRkjh.chunk.js +2 -0
- package/dist/scripts/BoOaRkjh.chunk.js.map +1 -0
- package/dist/scripts/BtB8UFKw.chunk.js +2 -0
- package/dist/scripts/BtB8UFKw.chunk.js.map +1 -0
- package/dist/scripts/BvBjT_FP.chunk.js +2 -0
- package/dist/scripts/BvBjT_FP.chunk.js.map +1 -0
- package/dist/scripts/Bwi6Bruj.chunk.js +2 -0
- package/dist/scripts/Bwi6Bruj.chunk.js.map +1 -0
- package/dist/scripts/C-Aq4Xkl.chunk.js +2 -0
- package/dist/scripts/C-Aq4Xkl.chunk.js.map +1 -0
- package/dist/scripts/C6DEEFsr.chunk.js +2 -0
- package/dist/scripts/C6DEEFsr.chunk.js.map +1 -0
- package/dist/scripts/C7bOWWn5.chunk.js +2 -0
- package/dist/scripts/C7bOWWn5.chunk.js.map +1 -0
- package/dist/scripts/C7hyn4la.chunk.js +2 -0
- package/dist/scripts/C7hyn4la.chunk.js.map +1 -0
- package/dist/scripts/C85NI7Ud.chunk.js +2 -0
- package/dist/scripts/C85NI7Ud.chunk.js.map +1 -0
- package/dist/scripts/C956LU-_.chunk.js +2 -0
- package/dist/scripts/C956LU-_.chunk.js.map +1 -0
- package/dist/scripts/CAEqKa2O.chunk.js +2 -0
- package/dist/scripts/CAEqKa2O.chunk.js.map +1 -0
- package/dist/scripts/CDQmFQKb.chunk.js +8 -0
- package/dist/scripts/CDQmFQKb.chunk.js.map +1 -0
- package/dist/scripts/CEm6gEC5.chunk.js +2 -0
- package/dist/scripts/CEm6gEC5.chunk.js.map +1 -0
- package/dist/scripts/CG3lXZKd.chunk.js +2 -0
- package/dist/scripts/CG3lXZKd.chunk.js.map +1 -0
- package/dist/scripts/CIC9gqwS.chunk.js +2 -0
- package/dist/scripts/CIC9gqwS.chunk.js.map +1 -0
- package/dist/scripts/CJ3oIQlG.chunk.js +2 -0
- package/dist/scripts/CJ3oIQlG.chunk.js.map +1 -0
- package/dist/scripts/CJyM8Xpz.chunk.js +2 -0
- package/dist/scripts/CJyM8Xpz.chunk.js.map +1 -0
- package/dist/scripts/CKEc1C50.chunk.js +2 -0
- package/dist/scripts/CKEc1C50.chunk.js.map +1 -0
- package/dist/scripts/CNNFzIQb.chunk.js +2 -0
- package/dist/scripts/CNNFzIQb.chunk.js.map +1 -0
- package/dist/scripts/COTdau6A.chunk.js +2 -0
- package/dist/scripts/COTdau6A.chunk.js.map +1 -0
- package/dist/scripts/CRCiqh7u.chunk.js +2 -0
- package/dist/scripts/CRCiqh7u.chunk.js.map +1 -0
- package/dist/scripts/CRTvC3qC.chunk.js +2 -0
- package/dist/scripts/CRTvC3qC.chunk.js.map +1 -0
- package/dist/scripts/CSBkyxHZ.chunk.js +2 -0
- package/dist/scripts/CSBkyxHZ.chunk.js.map +1 -0
- package/dist/scripts/CUaampu9.chunk.js +2 -0
- package/dist/scripts/CUaampu9.chunk.js.map +1 -0
- package/dist/scripts/CW0X_Az5.chunk.js +2 -0
- package/dist/scripts/CW0X_Az5.chunk.js.map +1 -0
- package/dist/scripts/CbaWlt2e.chunk.js +2 -0
- package/dist/scripts/CbaWlt2e.chunk.js.map +1 -0
- package/dist/scripts/CeKBw2vH.chunk.js +2 -0
- package/dist/scripts/CeKBw2vH.chunk.js.map +1 -0
- package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
- package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
- package/dist/scripts/CnoR_GVG.chunk.js +2 -0
- package/dist/scripts/CnoR_GVG.chunk.js.map +1 -0
- package/dist/scripts/CogvVbpP.chunk.js +2 -0
- package/dist/scripts/CogvVbpP.chunk.js.map +1 -0
- package/dist/scripts/Cty2AOK7.chunk.js +2 -0
- package/dist/scripts/Cty2AOK7.chunk.js.map +1 -0
- package/dist/scripts/D-VkpSW0.chunk.js +50 -0
- package/dist/scripts/D-VkpSW0.chunk.js.map +1 -0
- package/dist/scripts/D2WOxvRg.chunk.js +2 -0
- package/dist/scripts/D2WOxvRg.chunk.js.map +1 -0
- package/dist/scripts/D7wAo_p-.chunk.js +2 -0
- package/dist/scripts/D7wAo_p-.chunk.js.map +1 -0
- package/dist/scripts/D8qEOAnP.chunk.js +2 -0
- package/dist/scripts/D8qEOAnP.chunk.js.map +1 -0
- package/dist/scripts/D97YVAoS.chunk.js +2 -0
- package/dist/scripts/D97YVAoS.chunk.js.map +1 -0
- package/dist/scripts/DBhZPu6x.chunk.js +2 -0
- package/dist/scripts/DBhZPu6x.chunk.js.map +1 -0
- package/dist/scripts/DHE-sUO-.chunk.js +2 -0
- package/dist/scripts/DHE-sUO-.chunk.js.map +1 -0
- package/dist/scripts/DInJ42HN.chunk.js +2 -0
- package/dist/scripts/DInJ42HN.chunk.js.map +1 -0
- package/dist/scripts/DLXENX3X.chunk.js +2 -0
- package/dist/scripts/DLXENX3X.chunk.js.map +1 -0
- package/dist/scripts/DLlygSGB.chunk.js +6 -0
- package/dist/scripts/DLlygSGB.chunk.js.map +1 -0
- package/dist/scripts/DMora6f7.chunk.js +2 -0
- package/dist/scripts/DMora6f7.chunk.js.map +1 -0
- package/dist/scripts/DOatLOGk.chunk.js +2 -0
- package/dist/scripts/DOatLOGk.chunk.js.map +1 -0
- package/dist/scripts/DTQRX2Z5.chunk.js +15 -0
- package/dist/scripts/DTQRX2Z5.chunk.js.map +1 -0
- package/dist/scripts/DV2PfQB1.chunk.js +2 -0
- package/dist/scripts/DV2PfQB1.chunk.js.map +1 -0
- package/dist/scripts/Di6TX7bW.chunk.js +2 -0
- package/dist/scripts/Di6TX7bW.chunk.js.map +1 -0
- package/dist/scripts/DiXTMx9M.chunk.js +2 -0
- package/dist/scripts/DiXTMx9M.chunk.js.map +1 -0
- package/dist/scripts/Do3_vYj7.chunk.js +2 -0
- package/dist/scripts/Do3_vYj7.chunk.js.map +1 -0
- package/dist/scripts/DoUAuskL.chunk.js +2 -0
- package/dist/scripts/DoUAuskL.chunk.js.map +1 -0
- package/dist/scripts/Dotf-cjL.chunk.js +2 -0
- package/dist/scripts/Dotf-cjL.chunk.js.map +1 -0
- package/dist/scripts/Dq4chRUI.chunk.js +2 -0
- package/dist/scripts/Dq4chRUI.chunk.js.map +1 -0
- package/dist/scripts/Dr_uQct3.chunk.js +2 -0
- package/dist/scripts/Dr_uQct3.chunk.js.map +1 -0
- package/dist/scripts/DwC7tXo7.chunk.js +2 -0
- package/dist/scripts/DwC7tXo7.chunk.js.map +1 -0
- package/dist/scripts/DzLRlab-.chunk.js +2 -0
- package/dist/scripts/DzLRlab-.chunk.js.map +1 -0
- package/dist/scripts/I2TdsaDo.chunk.js +2 -0
- package/dist/scripts/I2TdsaDo.chunk.js.map +1 -0
- package/dist/scripts/Kj832An8.chunk.js +2 -0
- package/dist/scripts/Kj832An8.chunk.js.map +1 -0
- package/dist/scripts/NFCjXwMo.chunk.js +2 -0
- package/dist/scripts/NFCjXwMo.chunk.js.map +1 -0
- package/dist/scripts/QfCSKVqV.chunk.js +2 -0
- package/dist/scripts/QfCSKVqV.chunk.js.map +1 -0
- package/dist/scripts/UTlJo9et.chunk.js +2 -0
- package/dist/scripts/UTlJo9et.chunk.js.map +1 -0
- package/dist/scripts/Va6df4HV.chunk.js +2 -0
- package/dist/scripts/Va6df4HV.chunk.js.map +1 -0
- package/dist/scripts/VjKgglJA.chunk.js +2 -0
- package/dist/scripts/VjKgglJA.chunk.js.map +1 -0
- package/dist/scripts/ZX9cci3Q.chunk.js +2 -0
- package/dist/scripts/ZX9cci3Q.chunk.js.map +1 -0
- package/dist/scripts/_sYSSSUN.chunk.js +2 -0
- package/dist/scripts/_sYSSSUN.chunk.js.map +1 -0
- package/dist/scripts/app-C44h5z5p.js +219 -0
- package/dist/scripts/app-C44h5z5p.js.map +1 -0
- package/dist/scripts/hiCMZ4pZ.chunk.js +2 -0
- package/dist/scripts/hiCMZ4pZ.chunk.js.map +1 -0
- package/dist/scripts/kpWgY6h_.chunk.js +2 -0
- package/dist/scripts/kpWgY6h_.chunk.js.map +1 -0
- package/dist/scripts/nWPqxcEa.chunk.js +2 -0
- package/dist/scripts/nWPqxcEa.chunk.js.map +1 -0
- package/dist/scripts/oaUqawuU.chunk.js +2 -0
- package/dist/scripts/oaUqawuU.chunk.js.map +1 -0
- package/dist/scripts/onGT4kCC.chunk.js +2 -0
- package/dist/scripts/onGT4kCC.chunk.js.map +1 -0
- package/dist/scripts/pkzD5BEm.chunk.js +2 -0
- package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
- package/dist/scripts/w9Re11Oi.chunk.js +362 -0
- package/dist/scripts/w9Re11Oi.chunk.js.map +1 -0
- package/dist/scripts/z-Nrq5UI.chunk.js +2 -0
- package/dist/scripts/z-Nrq5UI.chunk.js.map +1 -0
- package/package.json +7 -4
- package/typings/utils/imports.d.ts +1 -1
- package/vite.config.ts +6 -0
- package/dist/css/1068-exchange-b5eaf8af44.chunk.css +0 -35
- package/dist/css/1127-exchange-0eab318199.chunk.css +0 -40
- package/dist/css/1226-exchange-217b44f8b4.chunk.css +0 -57
- package/dist/css/1861-exchange-f3ff7e4f0d.chunk.css +0 -85
- package/dist/css/2494-exchange-02d7a0249c.chunk.css +0 -2
- package/dist/css/2538-exchange-4cbfe56ba3.chunk.css +0 -1
- package/dist/css/3291-exchange-3a8e198338.chunk.css +0 -11
- package/dist/css/3858-exchange-06944bdfa4.chunk.css +0 -1
- package/dist/css/4075-exchange-6d2304419c.chunk.css +0 -5
- package/dist/css/5027-exchange-2284222ca6.chunk.css +0 -25
- package/dist/css/6298-exchange-78ece5c7c5.chunk.css +0 -37
- package/dist/css/6332-exchange-2a22bfa655.chunk.css +0 -1
- package/dist/css/6356-exchange-8c5b220bf6.chunk.css +0 -1
- package/dist/css/7095-exchange-4cbfe56ba3.chunk.css +0 -1
- package/dist/css/7759-exchange-23bb5dd175.chunk.css +0 -8
- package/dist/css/8294-exchange-c797263ac2.chunk.css +0 -1
- package/dist/css/8589-exchange-71b6bc18f9.chunk.css +0 -11
- package/dist/css/8866-exchange-e80e6c6649.chunk.css +0 -10
- package/dist/css/9212-exchange-d71527fc65.chunk.css +0 -1
- package/dist/css/9611-exchange-cbf2bb5621.chunk.css +0 -5
- package/dist/css/9958-exchange-1387f35e92.chunk.css +0 -14
- package/dist/css/lite-exchange-306a09841f.css +0 -15
- package/dist/languages/en.json +0 -1
- package/dist/scripts/1068-0b00683666-exchange.chunk.js +0 -1
- package/dist/scripts/1127-356b23351e-exchange.chunk.js +0 -1
- package/dist/scripts/1136-4d8336cfdf-exchange.chunk.js +0 -2
- package/dist/scripts/1136-4d8336cfdf-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/1226-a4c0643661-exchange.chunk.js +0 -1
- package/dist/scripts/1861-dbceb13d3f-exchange.chunk.js +0 -2
- package/dist/scripts/1861-dbceb13d3f-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/2087-bbc1fd721f-exchange.chunk.js +0 -1
- package/dist/scripts/2117-5d867c698d-exchange.chunk.js +0 -1
- package/dist/scripts/2127-71bf57d74b-exchange.chunk.js +0 -1
- package/dist/scripts/2494-98cce57764-exchange.chunk.js +0 -2
- package/dist/scripts/2494-98cce57764-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/2507-1911a9bdb2-exchange.chunk.js +0 -1
- package/dist/scripts/2538-997edb9433-exchange.chunk.js +0 -2
- package/dist/scripts/2538-997edb9433-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/2648-4197959943-exchange.chunk.js +0 -1
- package/dist/scripts/2877-eee7fe484e-exchange.chunk.js +0 -1
- package/dist/scripts/3291-f9ccc2ea28-exchange.chunk.js +0 -1
- package/dist/scripts/3858-cd9d38c31c-exchange.chunk.js +0 -1
- package/dist/scripts/4075-6624f96fc6-exchange.chunk.js +0 -1
- package/dist/scripts/4299-36e5929cc6-exchange.chunk.js +0 -1
- package/dist/scripts/4312-552ca118ad-exchange.chunk.js +0 -1
- package/dist/scripts/442-47e3927b49-exchange.chunk.js +0 -1
- package/dist/scripts/455-ceeb969c54-exchange.chunk.js +0 -1
- package/dist/scripts/4558-057650ef22-exchange.chunk.js +0 -1
- package/dist/scripts/5027-357264982b-exchange.chunk.js +0 -1
- package/dist/scripts/5173-9cde8f68d3-exchange.chunk.js +0 -1
- package/dist/scripts/5267-443f3cdd59-exchange.chunk.js +0 -1
- package/dist/scripts/601-a3c22b0a9f-exchange.chunk.js +0 -1
- package/dist/scripts/6156-2bf99d5991-exchange.chunk.js +0 -1
- package/dist/scripts/6298-1c7a0ba516-exchange.chunk.js +0 -1
- package/dist/scripts/6332-9d2d42e2f9-exchange.chunk.js +0 -1
- package/dist/scripts/6356-dd8ff70cbb-exchange.chunk.js +0 -1
- package/dist/scripts/6725-25d1542dec-exchange.chunk.js +0 -1
- package/dist/scripts/6831-30fa3e741e-exchange.chunk.js +0 -1
- package/dist/scripts/7095-bbe1bfbe2f-exchange.chunk.js +0 -2
- package/dist/scripts/7095-bbe1bfbe2f-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/7170-cc2ea0de18-exchange.chunk.js +0 -1
- package/dist/scripts/7759-2740213eb8-exchange.chunk.js +0 -1
- package/dist/scripts/7782-36924dba92-exchange.chunk.js +0 -1
- package/dist/scripts/7925-978cf5d7fb-exchange.chunk.js +0 -1
- package/dist/scripts/851-d89fb94a66-exchange.chunk.js +0 -2
- package/dist/scripts/851-d89fb94a66-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/8536-dc903c2f54-exchange.chunk.js +0 -1
- package/dist/scripts/8589-912ab9f055-exchange.chunk.js +0 -1
- package/dist/scripts/8619-e5f595a594-exchange.chunk.js +0 -1
- package/dist/scripts/8866-0993e6b43a-exchange.chunk.js +0 -1
- package/dist/scripts/8937-727d080ed9-exchange.chunk.js +0 -1
- package/dist/scripts/9212-e8bde56a84-exchange.chunk.js +0 -1
- package/dist/scripts/9414-85c7657c8f-exchange.chunk.js +0 -2
- package/dist/scripts/9414-85c7657c8f-exchange.chunk.js.LICENSE.txt +0 -60
- package/dist/scripts/9566-0625fb0cbe-exchange.chunk.js +0 -1
- package/dist/scripts/9611-6fe32ccc83-exchange.chunk.js +0 -1
- package/dist/scripts/9866-2d10067a4e-exchange.chunk.js +0 -1
- package/dist/scripts/9899-2b571c961b-exchange.chunk.js +0 -1
- package/dist/scripts/9958-7f8f5ae2c6-exchange.chunk.js +0 -2
- package/dist/scripts/9958-7f8f5ae2c6-exchange.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/bundle-8466638d7c.min.js +0 -2
- package/dist/scripts/bundle-8466638d7c.min.js.LICENSE.txt +0 -108
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{R as o,j as e,G as c,A as i,a as h,b as p}from"./app-C44h5z5p.js";import{S as l}from"./BKFoap_e.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=CEm6gEC5.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CEm6gEC5.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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a2 as r,aS as l,l as m,L as h,j as e,a as x,b as u,B as s,bz as j,aJ as v,aC as T}from"./app-C44h5z5p.js";import{a as f,T as R}from"./UTlJo9et.chunk.js";import{T as N,a as S}from"./oaUqawuU.chunk.js";import{T as i}from"./C7bOWWn5.chunk.js";import{u as b}from"./onGT4kCC.chunk.js";import"./-OkQC3ld.chunk.js";import"./DTQRX2Z5.chunk.js";import"./1--zOUke.chunk.js";import"./BlDVEZsX.chunk.js";import"./BGyYkDnT.chunk.js";import"./CbaWlt2e.chunk.js";import"./D2WOxvRg.chunk.js";import"./BKFoap_e.chunk.js";import"./B1sQeAw1.chunk.js";import"./DLXENX3X.chunk.js";const a="tv.tvGuide",w=h.encloseNamespace(a);function H(n){const o=r(T.config()),t=r(i.region(n.region)),c=r(i.dateRange(n.region)),p=r(i.regions()),{setRegion:d}=b(),{showTvGuide:g}=l();return m({title:w("title")}),e.jsxs(e.Fragment,{children:[e.jsx(N,{region:t.data}),e.jsx(f,{dateRange:c.data,region:t.data}),e.jsxs("div",{className:"d-flex justify-content-between",children:[e.jsx(R,{active:"tv-guide",currentRegion:t.data,showTvGuide:g}),e.jsx(S,{currentRegion:t.data,regions:p.data,appLink:{application:u.TV,action:x.Tv.CHANNELS},onClick:d})]}),e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-6",children:[e.jsx("h1",{className:"h4",children:e.jsx(s,{namespace:a,phrase:"title"})}),e.jsx("p",{children:e.jsx(s,{namespace:a,phrase:"paragraph1"})}),e.jsx("p",{children:e.jsx(s,{namespace:a,phrase:"paragraph2"})}),e.jsx("p",{children:e.jsx(s,{namespace:a,phrase:"paragraph3"})}),o.data&&e.jsx(j,{href:`${o.data.onlineUrl}/login?returnUrl=/tv/guide`,openInNewTab:!0,svg:v,className:"btn btn-dark",children:e.jsx(s,{namespace:a,phrase:"cta"})})]})})]})}export{H as TvGuideView};
|
|
2
|
+
//# sourceMappingURL=CG3lXZKd.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CG3lXZKd.chunk.js","sources":["../../src/apps/tv/views/tv-guide/TvGuideView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { NewWindowSvg } from 'libs/shared/images/svg/actions/NewWindowSvg';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvInfoAlert } from 'apps/tv/components/tv-info-alert/TvInfoAlert';\nimport { TvRegionSelect } from 'apps/tv/components/tv-region-select/TvRegionSelect';\nimport { TvSearchBar } from 'apps/tv/components/tv-search-bar/TvSearchBar';\nimport { TvTabs } from 'apps/tv/components/tv-tabs/TvTabs';\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useSelectedRegion } from 'apps/tv/hooks/useSelectedRegion';\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.tvGuide';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvGuideViewProps {\n region: string;\n}\n\nexport function TvGuideView(props: TvGuideViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const dateRange = Flight.useBasicFetch<TvDateRange>(TvRequests.dateRange(props.region));\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n\n const { setRegion } = useSelectedRegion();\n const { showTvGuide } = useLiteUpgrade();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n return (\n <>\n <TvSearchBar region={region.data} />\n\n <TvInfoAlert dateRange={dateRange.data} region={region.data} />\n\n <div className='d-flex justify-content-between'>\n <TvTabs\n active='tv-guide'\n currentRegion={region.data}\n showTvGuide={showTvGuide}\n />\n\n <TvRegionSelect\n currentRegion={region.data}\n regions={regions.data}\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n }}\n onClick={setRegion}\n />\n </div>\n\n <div className='row'>\n <div className='col-6'>\n <h1 className='h4'>\n <Text namespace={namespace} phrase='title' />\n </h1>\n <p>\n <Text namespace={namespace} phrase='paragraph1' />\n </p>\n <p>\n <Text namespace={namespace} phrase='paragraph2' />\n </p>\n <p>\n <Text namespace={namespace} phrase='paragraph3' />\n </p>\n {config.data &&\n <IconButton\n href={`${config.data.onlineUrl}/login?returnUrl=/tv/guide`}\n openInNewTab\n svg={NewWindowSvg}\n className='btn btn-dark'\n >\n <Text namespace={namespace} phrase='cta' />\n </IconButton>\n }\n </div>\n </div>\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","TvGuideView","props","config","Flight.useBasicFetch","ConfigRequests","region","TvRequests","dateRange","regions","setRegion","useSelectedRegion","showTvGuide","useLiteUpgrade","useSetPageMetadata","jsxs","Fragment","jsx","TvSearchBar","TvInfoAlert","TvTabs","TvRegionSelect","AppChannels","Actions","Text","IconButton","NewWindowSvg"],"mappings":"ujBAwBA,MAAMA,EAAY,aACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAMrD,SAASG,EAAYC,EAAsC,CAChE,MAAMC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAASF,EAA+BG,EAAW,OAAOL,EAAM,MAAM,CAAC,EACvEM,EAAYJ,EAAkCG,EAAW,UAAUL,EAAM,MAAM,CAAC,EAChFO,EAAUL,EAAiCG,EAAW,SAAS,EAE/D,CAAE,UAAAG,CAAA,EAAcC,EAAA,EAChB,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAExB,OAAAC,EAAmB,CAAE,MAAOf,EAAU,OAAO,EAAG,EAG9CgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,EAAAA,IAACC,EAAA,CAAY,OAAQZ,EAAO,IAAA,CAAM,QAEjCa,EAAA,CAAY,UAAWX,EAAU,KAAM,OAAQF,EAAO,KAAM,EAE7DS,EAAAA,KAAC,MAAA,CAAI,UAAU,iCACb,SAAA,CAAAE,EAAAA,IAACG,EAAA,CACC,OAAO,WACP,cAAed,EAAO,KACtB,YAAAM,CAAA,CAAA,EAGFK,EAAAA,IAACI,EAAA,CACC,cAAef,EAAO,KACtB,QAASG,EAAQ,KACjB,QAAS,CACP,YAAaa,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,EAErB,QAASb,CAAA,CAAA,CACX,EACF,QAEC,MAAA,CAAI,UAAU,MACb,SAAAK,EAAAA,KAAC,MAAA,CAAI,UAAU,QACb,SAAA,CAAAE,EAAAA,IAAC,KAAA,CAAG,UAAU,KACZ,SAAAA,EAAAA,IAACO,GAAK,UAAA1B,EAAsB,OAAO,QAAQ,CAAA,CAC7C,QACC,IAAA,CACC,SAAAmB,MAACO,GAAK,UAAA1B,EAAsB,OAAO,aAAa,EAClD,QACC,IAAA,CACC,SAAAmB,MAACO,GAAK,UAAA1B,EAAsB,OAAO,aAAa,EAClD,QACC,IAAA,CACC,SAAAmB,MAACO,GAAK,UAAA1B,EAAsB,OAAO,aAAa,EAClD,EACCK,EAAO,MACNc,EAAAA,IAACQ,EAAA,CACC,KAAM,GAAGtB,EAAO,KAAK,SAAS,6BAC9B,aAAY,GACZ,IAAKuB,EACL,UAAU,eAEV,SAAAT,EAAAA,IAACO,EAAA,CAAK,UAAA1B,EAAsB,OAAO,KAAA,CAAM,CAAA,CAAA,CAC3C,CAAA,CAEJ,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a2 as o,j as e,P as x,L as h,al as g,B as d,x as m,a4 as j}from"./app-C44h5z5p.js";import{u as b}from"./DzLRlab-.chunk.js";import{T as n}from"./C7bOWWn5.chunk.js";import{u as C}from"./CSBkyxHZ.chunk.js";import"./DLXENX3X.chunk.js";const a="tv.adFreeRequest",u=h.encloseNamespace(a);function f(t){const r=o(j.currentUser()),i=o(n.region(t.region)),l=o(n.program(t.id)),s=o(r.data&&i.data&&n.adFreeCredits(r.data.id,r.data.customerId,i.data.code));C(i,!0),b(l.statusCode);const c=r.hasCompleted&&i.hasCompleted&&l.hasCompleted&&s.hasCompleted,p=s.data.maxAvailableCredit-s.data.userRequests;return e.jsxs(x,{title:u("title"),closePopup:t.closePopup,showLoadingSpinner:!c,children:[c&&e.jsxs("div",{className:"text-center",children:[e.jsx("img",{src:g.General.PAPER_PLANE,className:"img-fluid w-50 mb-3",draggable:!1}),e.jsx("h2",{className:"h4 mb-2",children:e.jsx(d,{namespace:a,phrase:"requestSent"})}),e.jsx("div",{className:"bg-dark rounded-pill text-white d-inline-block fw-semibold border border-dark py-0 px-2 mb-2",children:e.jsx(d,{namespace:a,phrase:"remaining",options:{smartCount:p}})}),e.jsxs("div",{className:"pb-1",children:[e.jsx("p",{className:"mb-2",children:e.jsx(d,{namespace:a,phrase:"requestDaily",options:{dailyLimit:s.data.maxAvailableCredit}})}),e.jsx("p",{className:"mb-3",children:e.jsx(d,{namespace:a,phrase:"requestHours",options:{dailyLimit:s.data.maxAvailableCredit}})})]})]}),e.jsx(m,{children:e.jsx(m.Cancel,{text:u("close"),onClick:t.closePopup,variant:"link"})})]})}export{f as TvAdFreeRequestView};
|
|
2
|
+
//# sourceMappingURL=CIC9gqwS.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CIC9gqwS.chunk.js","sources":["../../src/apps/tv/views/tv-ad-free-request/TvAdFreeRequestView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useHandleRegionError } from 'apps/tv/hooks/useHandleRegionError';\nimport { AdFreeCredits } from 'apps/tv/interfaces/models/AdFreeCredits';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.adFreeRequest';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TvAdFreeRequestViewProps extends PopupViewProps {\n id: string;\n region: string;\n}\n\nexport function TvAdFreeRequestView(props: TvAdFreeRequestViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(props.region));\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(props.id));\n const adFreeCredits = Flight.useBasicFetch<AdFreeCredits>(\n currentUser.data &&\n region.data &&\n TvRequests.adFreeCredits(\n currentUser.data.id,\n currentUser.data.customerId,\n region.data.code\n )\n );\n\n useHandleRegionError(region, true);\n useHandleDialogError(program.statusCode);\n\n const hasLoaded = (\n currentUser.hasCompleted &&\n region.hasCompleted &&\n program.hasCompleted &&\n adFreeCredits.hasCompleted\n );\n\n const remainingRequests = adFreeCredits.data.maxAvailableCredit - adFreeCredits.data.userRequests;\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded}\n >\n {hasLoaded &&\n <div className='text-center'>\n <img src={ImageUrls.General.PAPER_PLANE} className='img-fluid w-50 mb-3' draggable={false} />\n <h2 className='h4 mb-2'><Text namespace={namespace} phrase='requestSent' /></h2>\n <div className='bg-dark rounded-pill text-white d-inline-block fw-semibold border border-dark py-0 px-2 mb-2'>\n <Text namespace={namespace} phrase='remaining' options={{ smartCount: remainingRequests }} />\n </div>\n <div className='pb-1'>\n <p className='mb-2'>\n <Text namespace={namespace} phrase='requestDaily' options={{ dailyLimit: adFreeCredits.data.maxAvailableCredit }} />\n </p>\n <p className='mb-3'>\n <Text namespace={namespace} phrase='requestHours' options={{ dailyLimit: adFreeCredits.data.maxAvailableCredit }} />\n </p>\n </div>\n </div>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('close')}\n onClick={props.closePopup}\n variant='link'\n />\n </PopupButtons>\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","TvAdFreeRequestView","props","currentUser","Flight.useBasicFetch","UserRequests","region","TvRequests","program","adFreeCredits","useHandleRegionError","useHandleDialogError","hasLoaded","remainingRequests","jsxs","Popup","jsx","ImageUrls","Text","PopupButtons"],"mappings":"8OAoBA,MAAMA,EAAY,mBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAOrD,SAASG,EAAoBC,EAA8C,CAChF,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAASF,EAA+BG,EAAW,OAAOL,EAAM,MAAM,CAAC,EACvEM,EAAUJ,EAAgCG,EAAW,QAAQL,EAAM,EAAE,CAAC,EACtEO,EAAgBL,EACpBD,EAAY,MACZG,EAAO,MACPC,EAAW,cACTJ,EAAY,KAAK,GACjBA,EAAY,KAAK,WACjBG,EAAO,KAAK,IAAA,CACd,EAGFI,EAAqBJ,EAAQ,EAAI,EACjCK,EAAqBH,EAAQ,UAAU,EAEvC,MAAMI,EACJT,EAAY,cACZG,EAAO,cACPE,EAAQ,cACRC,EAAc,aAGVI,EAAoBJ,EAAc,KAAK,mBAAqBA,EAAc,KAAK,aAErF,OACEK,EAAAA,KAACC,EAAA,CACC,MAAOhB,EAAU,OAAO,EACxB,WAAYG,EAAM,WAClB,mBAAoB,CAACU,EAEpB,SAAA,CAAAA,GACCE,EAAAA,KAAC,MAAA,CAAI,UAAU,cACb,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,IAAKC,EAAU,QAAQ,YAAa,UAAU,sBAAsB,UAAW,EAAA,CAAO,EAC3FD,EAAAA,IAAC,MAAG,UAAU,UAAU,eAACE,EAAA,CAAK,UAAApB,EAAsB,OAAO,aAAA,CAAc,CAAA,CAAE,EAC3EkB,EAAAA,IAAC,MAAA,CAAI,UAAU,+FACb,eAACE,EAAA,CAAK,UAAApB,EAAsB,OAAO,YAAY,QAAS,CAAE,WAAYe,CAAA,EAAqB,EAC7F,EACAC,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,MAAC,IAAA,CAAE,UAAU,OACX,SAAAA,EAAAA,IAACE,GAAK,UAAApB,EAAsB,OAAO,eAAe,QAAS,CAAE,WAAYW,EAAc,KAAK,kBAAA,EAAsB,EACpH,QACC,IAAA,CAAE,UAAU,OACX,SAAAO,EAAAA,IAACE,GAAK,UAAApB,EAAsB,OAAO,eAAe,QAAS,CAAE,WAAYW,EAAc,KAAK,kBAAA,EAAsB,CAAA,CACpH,CAAA,CAAA,CACF,CAAA,EACF,QAGDU,EAAA,CACC,SAAAH,EAAAA,IAACG,EAAa,OAAb,CACC,KAAMpB,EAAU,OAAO,EACvB,QAASG,EAAM,WACf,QAAQ,MAAA,CAAA,CACV,CACF,CAAA,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CJ3oIQlG.chunk.js","sources":["../../../../libs/shared/src/enums/InstanceRegion.ts"],"sourcesContent":["export enum InstanceRegion {\n AU = 'cv-ap-southeast-1',\n NZ = 'cv-ap-southeast-2',\n UK = 'cv-eu-west-1',\n US = 'cv-na-west-1'\n}"],"names":["InstanceRegion"],"mappings":"AAAO,IAAKA,GAAAA,IACVA,EAAA,GAAK,oBACLA,EAAA,GAAK,oBACLA,EAAA,GAAK,eACLA,EAAA,GAAK,eAJKA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,d,j as e,e as D,f as c,g as L,h as R,i as p,k as $,C as b,l as S}from"./app-C44h5z5p.js";const g=D("h4");g.displayName="DivStyledAsH4";const N=o.forwardRef(({className:s,bsPrefix:a,as:r=g,...n},t)=>(a=d(a,"alert-heading"),e.jsx(r,{ref:t,className:c(s,a),...n})));N.displayName="AlertHeading";const A=o.forwardRef(({className:s,bsPrefix:a,as:r=L,...n},t)=>(a=d(a,"alert-link"),e.jsx(r,{ref:t,className:c(s,a),...n})));A.displayName="AlertLink";const C=o.forwardRef((s,a)=>{const{bsPrefix:r,show:n=!0,closeLabel:t="Close alert",closeVariant:k,className:w,children:y,variant:h="primary",onClose:m,dismissible:u,transition:f=p,...x}=R(s,{show:"onClose"}),l=d(r,"alert"),E=$(H=>{m&&m(!1,H)}),i=f===!0?p:f,j=e.jsxs("div",{role:"alert",...i?void 0:x,ref:a,className:c(w,l,h&&`${l}-${h}`,u&&`${l}-dismissible`),children:[u&&e.jsx(b,{onClick:E,"aria-label":t,variant:k}),y]});return i?e.jsx(i,{unmountOnExit:!0,...x,ref:void 0,in:n,children:j}):n?j:null});C.displayName="Alert";const v=Object.assign(C,{Link:A,Heading:N});function F({error:s}){return S({title:"Dev Error"}),s?e.jsxs("div",{className:"px-3",children:[e.jsx("h1",{children:s.name}),e.jsx(v,{variant:"danger",children:e.jsx("h2",{children:s.message})}),e.jsxs(v,{variant:"warning",children:[e.jsx("h3",{children:"Call stack"}),e.jsx("code",{children:s.stack})]})]}):e.jsx(e.Fragment,{})}export{F as DevErrorView};
|
|
2
|
+
//# sourceMappingURL=CJyM8Xpz.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CJyM8Xpz.chunk.js","sources":["../../../../../node_modules/react-bootstrap/esm/AlertHeading.js","../../../../../node_modules/react-bootstrap/esm/AlertLink.js","../../../../../node_modules/react-bootstrap/esm/Alert.js","../../../../libs/shared/src/views/dev-error/DevErrorView.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\nconst AlertHeading = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH4,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-heading');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nAlertHeading.displayName = 'AlertHeading';\nexport default AlertHeading;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AlertLink = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = Anchor,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'alert-link');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nAlertLink.displayName = 'AlertLink';\nexport default AlertLink;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AlertHeading from './AlertHeading';\nimport AlertLink from './AlertLink';\nimport Fade from './Fade';\nimport CloseButton from './CloseButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Alert = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n bsPrefix,\n show = true,\n closeLabel = 'Close alert',\n closeVariant,\n className,\n children,\n variant = 'primary',\n onClose,\n dismissible,\n transition = Fade,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n show: 'onClose'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'alert');\n const handleClose = useEventCallback(e => {\n if (onClose) {\n onClose(false, e);\n }\n });\n const Transition = transition === true ? Fade : transition;\n const alert = /*#__PURE__*/_jsxs(\"div\", {\n role: \"alert\",\n ...(!Transition ? props : undefined),\n ref: ref,\n className: classNames(className, prefix, variant && `${prefix}-${variant}`, dismissible && `${prefix}-dismissible`),\n children: [dismissible && /*#__PURE__*/_jsx(CloseButton, {\n onClick: handleClose,\n \"aria-label\": closeLabel,\n variant: closeVariant\n }), children]\n });\n if (!Transition) return show ? alert : null;\n return /*#__PURE__*/_jsx(Transition, {\n unmountOnExit: true,\n ...props,\n ref: undefined,\n in: show,\n children: alert\n });\n});\nAlert.displayName = 'Alert';\nexport default Object.assign(Alert, {\n Link: AlertLink,\n Heading: AlertHeading\n});","import * as React from 'react';\nimport { Alert } from 'react-bootstrap';\n\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\ninterface DevErrorViewProps {\n error: Error;\n}\n\nexport function DevErrorView({ error }: DevErrorViewProps): React.ReactElement {\n useSetPageMetadata({ title: 'Dev Error' });\n\n if (!error)\n return <></>;\n\n return (\n <div className='px-3'>\n <h1>{error.name}</h1>\n <Alert variant='danger'>\n <h2>{error.message}</h2>\n </Alert>\n <Alert variant='warning'>\n <h3>Call stack</h3>\n <code>{error.stack}</code>\n </Alert>\n </div>\n );\n}"],"names":["DivStyledAsH4","divWithClassName","AlertHeading","React.forwardRef","className","bsPrefix","Component","props","ref","useBootstrapPrefix","_jsx","classNames","AlertLink","Anchor","Alert","uncontrolledProps","show","closeLabel","closeVariant","children","variant","onClose","dismissible","transition","Fade","useUncontrolled","prefix","handleClose","useEventCallback","e","Transition","alert","_jsxs","CloseButton","Alert$1","DevErrorView","error","useSetPageMetadata","jsxs","jsx","Fragment"],"mappings":"uGAOA,MAAMA,EAAgBC,EAAiB,IAAI,EAC3CD,EAAc,YAAc,gBAC5B,MAAME,EAA4BC,EAAAA,WAAiB,CAAC,CAClD,UAAAC,EACA,SAAAC,EACA,GAAIC,EAAYN,EAChB,GAAGO,CACL,EAAGC,KACDH,EAAWI,EAAmBJ,EAAU,eAAe,EACnCK,EAAAA,IAAKJ,EAAW,CAClC,IAAKE,EACL,UAAWG,EAAWP,EAAWC,CAAQ,EACzC,GAAGE,CACP,CAAG,EACF,EACDL,EAAa,YAAc,eCf3B,MAAMU,EAAyBT,EAAAA,WAAiB,CAAC,CAC/C,UAAAC,EACA,SAAAC,EACA,GAAIC,EAAYO,EAChB,GAAGN,CACL,EAAGC,KACDH,EAAWI,EAAmBJ,EAAU,YAAY,EAChCK,EAAAA,IAAKJ,EAAW,CAClC,IAAKE,EACL,UAAWG,EAAWP,EAAWC,CAAQ,EACzC,GAAGE,CACP,CAAG,EACF,EACDK,EAAU,YAAc,YCPxB,MAAME,EAAqBX,EAAAA,WAAiB,CAACY,EAAmBP,IAAQ,CACtE,KAAM,CACJ,SAAAH,EACA,KAAAW,EAAO,GACP,WAAAC,EAAa,cACb,aAAAC,EACA,UAAAd,EACA,SAAAe,EACA,QAAAC,EAAU,UACV,QAAAC,EACA,YAAAC,EACA,WAAAC,EAAaC,EACb,GAAGjB,CACP,EAAMkB,EAAgBV,EAAmB,CACrC,KAAM,SACV,CAAG,EACKW,EAASjB,EAAmBJ,EAAU,OAAO,EAC7CsB,EAAcC,EAAiBC,GAAK,CACpCR,GACFA,EAAQ,GAAOQ,CAAC,CAEpB,CAAC,EACKC,EAAaP,IAAe,GAAOC,EAAOD,EAC1CQ,EAAqBC,EAAAA,KAAM,MAAO,CACtC,KAAM,QACN,GAAKF,EAAqB,OAARvB,EAClB,IAAKC,EACL,UAAWG,EAAWP,EAAWsB,EAAQN,GAAW,GAAGM,CAAM,IAAIN,CAAO,GAAIE,GAAe,GAAGI,CAAM,cAAc,EAClH,SAAU,CAACJ,GAA4BZ,EAAAA,IAAKuB,EAAa,CACvD,QAASN,EACT,aAAcV,EACd,QAASC,CACf,CAAK,EAAGC,CAAQ,CAChB,CAAG,EACD,OAAKW,EACepB,EAAAA,IAAKoB,EAAY,CACnC,cAAe,GACf,GAAGvB,EACH,IAAK,OACL,GAAIS,EACJ,SAAUe,CACd,CAAG,EAPuBf,EAAOe,EAAQ,IAQzC,CAAC,EACDjB,EAAM,YAAc,QACpB,MAAAoB,EAAe,OAAO,OAAOpB,EAAO,CAClC,KAAMF,EACN,QAASV,CACX,CAAC,ECnDM,SAASiC,EAAa,CAAE,MAAAC,GAAgD,CAG7E,OAFAC,EAAmB,CAAE,MAAO,YAAa,EAEpCD,EAIHE,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAI,WAAM,IAAA,CAAK,EAChBA,EAAAA,IAACzB,GAAM,QAAQ,SACb,eAAC,KAAA,CAAI,SAAAsB,EAAM,QAAQ,CAAA,CACrB,EACAE,EAAAA,KAACxB,EAAA,CAAM,QAAQ,UACb,SAAA,CAAAyB,EAAAA,IAAC,MAAG,SAAA,YAAA,CAAU,EACdA,EAAAA,IAAC,OAAA,CAAM,SAAAH,EAAM,KAAA,CAAM,CAAA,CAAA,CACrB,CAAA,EACF,EAZOG,EAAAA,IAAAC,EAAAA,SAAA,EAAE,CAcb","x_google_ignoreList":[0,1,2]}
|
|
@@ -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-C44h5z5p.js";import{A as w}from"./C6DEEFsr.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=CKEc1C50.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CKEc1C50.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{j as e,w as O,a1 as G,a2 as g,a4 as L,A as b,a as j,b as F,aQ as v,L as B,bI as R,aa as V,ab as U,ac as _,aR as I,ad as w,ae as C,R as H,al as M,P as Y,B as u,x as k}from"./app-C44h5z5p.js";import{u as Q}from"./DzLRlab-.chunk.js";import{T as m,a as J}from"./C7bOWWn5.chunk.js";import{u as W}from"./Va6df4HV.chunk.js";const z="_selected_ii58d_1",K="_disabled_ii58d_4",$={selected:z,disabled:K};function P(a){var i,d,A,t;function n(){var s;(s=a.option)!=null&&s.disabled||a.onSelect(a.option)}let r="text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50";return a.selected&&(r+=` border-info ${$.selected}`),(i=a.option)!=null&&i.disabled&&(r+=` ${$.disabled}`),e.jsxs(O,{onClick:n,className:r,children:[((d=a.option)==null?void 0:d.imageUrl)&&e.jsx("img",{src:a.option.imageUrl,className:`img-fluid my-3 ${a.option.imageClassName??""}`,draggable:!1}),((A=a.option)==null?void 0:A.title)&&e.jsx("h2",{className:"h3",children:a.option.title}),((t=a.option)==null?void 0:t.description)&&e.jsx("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:a.option.description}}),a.children]})}const X="tv.addRequests",p=B.encloseNamespace(X);function Z(a,n){const r=G(),i=W(),d=g(L.currentUser()),A=g(L.workspace()),t=g(m.program(a)),s=g(m.region(n)),l=g(t.data&&d.data&&m.workspaceVideo(t.data.id,d.data.id,d.data.customerId));async function N(){var c;try{await r(m.createAdFreeRequest({programId:t.data.id,regionCode:s.data.code,userId:d.data.id,customerId:d.data.customerId})),i.success({heading:R.Success,message:p("requestAdFreeSuccess",{video:t.data.title}),type:v.Success}),b.trigger({application:F.TV,action:j.Tv.AD_FREE_REQUEST,args:[s.data.code,t.data.id]}),V.logUserAction({id:t.data.id,name:t.data.title},{actionType:C.Submit,entity:w.Video,descriptor:I.AdFreeRequest,location:_.Popup,workflowPhase:U.Complete})}catch(D){const T=(c=D.responseJSON)==null?void 0:c.message;if(T){const S=JSON.parse(T);i.error(p(S.Type,{video:t.data.title}))}else i.error(p("error"))}}async function y(){if(l.data.exists&&l.data.hasAdFree){b.trigger({application:F.TV,action:j.Tv.ALREADY_ADDED,params:{alreadyAdded:!0}});return}try{const c={id:t.data.id,userId:d.data.id,customerId:d.data.customerId};await r(m.addAdFreeVideo(c,t.data.id)),i.success({heading:R.Success,message:p("addAdFreeSuccess",{video:t.data.title}),type:v.Success}),b.trigger({application:F.TV,action:j.Tv.ALREADY_ADDED,args:[s.data.code,t.data.id]}),V.logUserAction({id:t.data.id,name:t.data.title},{actionType:C.Submit,entity:w.Video,descriptor:I.AddAdFreeVideo,location:_.Popup,workflowPhase:U.Complete})}catch{i.error(p("error"))}}async function E(){if(l.data.exists){b.trigger({application:F.TV,action:j.Tv.ALREADY_ADDED,params:{alreadyAdded:!0}});return}try{const c={userId:d.data.id,customerId:d.data.customerId,globalId:t.data.globalId,libraryId:A.data.id};await r(m.addFullVideo(c,t.data.id)),i.success({heading:R.Success,message:p("addFullSuccess",{video:t.data.title}),type:v.Success}),b.trigger({application:F.TV,action:j.Tv.ALREADY_ADDED,args:[s.data.code,t.data.id]}),V.logUserAction({id:t.data.id,name:t.data.title},{actionType:C.Submit,entity:w.Video,descriptor:I.AddFullVideo,location:_.Popup,workflowPhase:U.Complete})}catch{i.error(p("error"))}}return{requestAdFreeVideo:N,addAdFreeVideo:y,addFullVideo:E}}const ee="_circle_1yxtg_1",ae={circle:ee},o="tv.add",q=B.encloseNamespace(o),x={id:"ad-free",title:"adFreeTitle",description:"adFreeDescription",imageUrl:M.General.MOUNTAINS_FRAMED},f={id:"request-ad-free",title:"adFreeTitle",imageUrl:M.General.MOUNTAINS_FRAMED},h={id:"full-video",title:"fullVideoTitle",description:"fullVideoDescription",imageUrl:M.General.ANNOUNCEMENT_FRAMED};function re(a){const n=g(L.currentUser()),r=g(m.program(a.id)),i=g(n.data&&m.adFreeCredits(n.data.id,n.data.customerId,a.region)),{requestAdFreeVideo:d,addAdFreeVideo:A,addFullVideo:t}=Z(a.id,a.region);Q(r.statusCode);const[s,l]=H.useState(null),N=!Number.isNaN(a.currentTime);function y(){s&&(s.id===h.id&&t(),s.id===x.id&&A(),s.id===f.id&&d())}function E(){if(!N){a.closePopup();return}b.trigger({application:F.TV,action:j.Tv.PREVIEW,args:[a.region,r.data.id],params:{currentTime:a.currentTime}})}const c=i.data&&i.data.userRequests<i.data.maxAvailableCredit,D=i.data&&i.data.maxAvailableCredit-i.data.userRequests;H.useEffect(()=>{i.hasCompleted&&(c||l(h))},[i,c]);const T=n.hasCompleted&&r.hasCompleted&&i.hasCompleted,S=(s==null?void 0:s.id)===f.id&&J.isHolidayPeriod();return e.jsxs(Y,{size:"lg",title:q("title"),showLoadingSpinner:!T,closePopup:a.closePopup,children:[T&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"d-flex mb-3 mx-n2",children:[r.data.hasAdsFree&&e.jsxs(P,{option:{id:x.id},onSelect:l,selected:(s==null?void 0:s.id)===x.id,children:[e.jsx("img",{src:x.imageUrl,className:"img-fluid",draggable:!1}),e.jsx("h2",{className:"h4 mb-1",children:e.jsx(u,{namespace:o,phrase:x.title})}),e.jsx("p",{className:"mb-2",children:e.jsx(u,{namespace:o,phrase:x.description})})]}),!r.data.hasAdsFree&&e.jsxs(P,{option:{id:f.id,disabled:!c},onSelect:l,selected:(s==null?void 0:s.id)===f.id,children:[e.jsx("img",{src:f.imageUrl,className:"img-fluid",draggable:!1}),e.jsxs("div",{className:"d-flex justify-content-center align-items-center mb-1",children:[e.jsx("h2",{className:"h4 mb-1",children:e.jsx(u,{namespace:o,phrase:f.title})}),e.jsx("span",{className:`badge bg-dark rounded-circle ms-2 ${ae.circle}`,children:D})]}),e.jsx("p",{className:"mb-2",children:e.jsx(u,{namespace:o,phrase:c?"requestAdFreeDescription":"noRequestsDescription"})})]}),e.jsxs(P,{option:{id:h.id},onSelect:l,selected:(s==null?void 0:s.id)===h.id,children:[e.jsx("img",{src:h.imageUrl,className:"img-fluid",draggable:!1}),e.jsx("h2",{className:"h4 mb-1",children:e.jsx(u,{namespace:o,phrase:h.title})}),e.jsx("p",{className:"mb-2",children:e.jsx(u,{namespace:o,phrase:h.description})})]})]}),S&&e.jsxs("div",{className:"alert alert-warning",role:"alert",children:[e.jsx("h3",{className:"h5",children:e.jsx(u,{namespace:o,phrase:"adFreeAlertHeading"})}),e.jsx("p",{className:"m-0",children:e.jsx(u,{namespace:o,phrase:"adFreeAlertBody"})})]})]}),e.jsxs(k,{children:[e.jsx(k.Cancel,{text:q(N?"back":"close"),onClick:E,variant:"link"}),e.jsx(k.Submit,{text:q("continue"),onClick:y,variant:"dark",disabled:!s})]})]})}export{re as TvAddView};
|
|
2
|
+
//# sourceMappingURL=CNNFzIQb.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CNNFzIQb.chunk.js","sources":["../../../../libs/shared/src/components/choices-popup/components/choices/Choices.tsx","../../src/apps/tv/hooks/useTvAddRequests.ts","../../src/apps/tv/views/tv-add/TvAddView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport styles from './choices.module.scss';\n\nexport interface ChoicePopupOption {\n id: string;\n title?: string;\n description?: string;\n imageUrl?: string;\n disabled?: boolean;\n imageClassName?: string;\n}\n\n\ninterface ChoiceProps {\n option?: ChoicePopupOption;\n selected: boolean | ((selectedChoice: boolean) => boolean);\n onSelect: (option: ChoicePopupOption) => void;\n}\n\nexport function Choice(props: React.PropsWithChildren<ChoiceProps>): React.ReactElement {\n function onSelect(): void {\n if (props.option?.disabled)\n return;\n\n props.onSelect(props.option);\n }\n\n let className = 'text-center cursor-pointer p-3 border rounded-3 mx-2 user-select-none w-50';\n\n if (props.selected)\n className += ` border-info ${styles.selected}`;\n\n if (props.option?.disabled)\n className += ` ${styles.disabled}`;\n\n return (\n <DivButton onClick={onSelect} className={className}>\n {props.option?.imageUrl && <img src={props.option.imageUrl} className={`img-fluid my-3 ${props.option.imageClassName ?? ''}`} draggable={false} />}\n {props.option?.title && <h2 className='h3'>{props.option.title}</h2>}\n {props.option?.description && <p className='mb-0' dangerouslySetInnerHTML={{ __html: props.option.description }}></p>}\n {props.children}\n </DivButton>\n );\n}\n\ninterface ChoicesProps {\n options: [ChoicePopupOption, ChoicePopupOption];\n selection: ChoicePopupOption | null;\n selectOption: (option: ChoicePopupOption) => void;\n}\n\nexport function Choices(props: ChoicesProps): React.ReactElement {\n return (\n <div className='d-flex mb-3 mx-n2'>\n {props.options.map(o => (\n <Choice\n key={o.id}\n option={o}\n selected={props.selection?.id === o.id}\n onSelect={props.selectOption}\n />\n ))}\n </div>\n );\n}","import { Core } from 'libs/common/backbone/index';\nimport { AlertType } from 'libs/common/backbone/services/BaseAlertService';\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 { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CurrentUser, Library } from 'libs/shared/interfaces';\n\nimport { DefaultAlertHeading } from 'shared/constants/DefaultAlertHeading';\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { TvWorkspaceVideoResponse } from 'apps/tv/interfaces/responses/TvWorkspaceVideoResponse';\n\nconst namespace = 'tv.addRequests';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useTvAddRequests(programId: string, regionCode: string) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const workspace = Flight.useBasicFetch<Library>(UserRequests.workspace());\n\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(programId));\n const region = Flight.useBasicFetch<TvRegion>(TvRequests.region(regionCode));\n const workspaceVideo = Flight.useBasicFetch<TvWorkspaceVideoResponse>(\n program.data && currentUser.data &&\n TvRequests.workspaceVideo(\n program.data.id,\n currentUser.data.id,\n currentUser.data.customerId\n )\n );\n \n async function requestAdFreeVideo(): Promise<void> {\n try {\n await fetchAsync(TvRequests.createAdFreeRequest({\n programId: program.data.id,\n regionCode: region.data.code,\n userId: currentUser.data.id,\n customerId: currentUser.data.customerId\n }));\n\n alerts.success({\n heading: DefaultAlertHeading.Success,\n message: getPhrase('requestAdFreeSuccess', { video: program.data.title }),\n type: AlertType.Success\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.AD_FREE_REQUEST,\n args: [ region.data.code, program.data.id ]\n });\n\n AnalyticsHelper.logUserAction(\n { id: program.data.id, name: program.data.title },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: TvDescriptor.AdFreeRequest,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (error) {\n const errorMessage = error.responseJSON?.message;\n if (errorMessage) {\n const parsedErrorMessage = JSON.parse(errorMessage);\n alerts.error(getPhrase(parsedErrorMessage.Type, { video: program.data.title }));\n } else {\n alerts.error(getPhrase('error'));\n }\n }\n }\n\n async function addAdFreeVideo() {\n if (workspaceVideo.data.exists && workspaceVideo.data.hasAdFree) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ALREADY_ADDED,\n params: { alreadyAdded: true }\n });\n return;\n }\n\n try {\n const data = {\n id: program.data.id,\n userId: currentUser.data.id,\n customerId: currentUser.data.customerId\n };\n await fetchAsync(TvRequests.addAdFreeVideo(data, program.data.id));\n\n alerts.success({\n heading: DefaultAlertHeading.Success,\n message: getPhrase('addAdFreeSuccess', { video: program.data.title }),\n type: AlertType.Success\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ALREADY_ADDED,\n args: [ region.data.code, program.data.id ]\n });\n\n AnalyticsHelper.logUserAction(\n { id: program.data.id, name: program.data.title },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: TvDescriptor.AddAdFreeVideo,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n }\n }\n\n async function addFullVideo() {\n if (workspaceVideo.data.exists) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ALREADY_ADDED,\n params: { alreadyAdded: true }\n });\n return;\n }\n\n try {\n const data = {\n userId: currentUser.data.id,\n customerId: currentUser.data.customerId,\n globalId: program.data.globalId,\n libraryId: workspace.data.id\n };\n await fetchAsync(TvRequests.addFullVideo(data, program.data.id));\n\n alerts.success({\n heading: DefaultAlertHeading.Success,\n message: getPhrase('addFullSuccess', { video: program.data.title }),\n type: AlertType.Success\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.ALREADY_ADDED,\n args: [ region.data.code, program.data.id ]\n });\n\n AnalyticsHelper.logUserAction(\n { id: program.data.id, name: program.data.title },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: TvDescriptor.AddFullVideo,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch {\n alerts.error(getPhrase('error'));\n }\n }\n\n return { requestAdFreeVideo, addAdFreeVideo, addFullVideo };\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Choice, ChoicePopupOption } from 'libs/shared/components/choices-popup/components/choices/Choices';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useHandleDialogError } from 'libs/shared/hooks/UseHandleDialogError';\nimport { CurrentUser, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { useTvAddRequests } from 'apps/tv/hooks/useTvAddRequests';\nimport { AdFreeCredits } from 'apps/tv/interfaces/models/AdFreeCredits';\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\n\nimport styles from './tv-add.module.scss';\n\nconst namespace = 'tv.add';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst AD_FREE = {\n id: 'ad-free',\n title: 'adFreeTitle',\n description: 'adFreeDescription',\n imageUrl: ImageUrls.General.MOUNTAINS_FRAMED\n};\n\nconst REQUEST_AD_FREE = {\n id: 'request-ad-free',\n title: 'adFreeTitle',\n imageUrl: ImageUrls.General.MOUNTAINS_FRAMED\n};\n\nconst FULL_VIDEO = {\n id: 'full-video',\n title: 'fullVideoTitle',\n description: 'fullVideoDescription',\n imageUrl: ImageUrls.General.ANNOUNCEMENT_FRAMED\n};\n\ninterface TvAddViewProps extends PopupViewProps {\n id: string;\n region: string;\n currentTime: number;\n}\n\nexport function TvAddView(props: TvAddViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const program = Flight.useBasicFetch<TvProgram>(TvRequests.program(props.id));\n const adFreeCredits = Flight.useBasicFetch<AdFreeCredits>(\n currentUser.data &&\n TvRequests.adFreeCredits(\n currentUser.data.id,\n currentUser.data.customerId,\n props.region\n )\n );\n\n const { requestAdFreeVideo, addAdFreeVideo, addFullVideo } = useTvAddRequests(props.id, props.region);\n\n useHandleDialogError(program.statusCode);\n\n const [ selectedChoice, setSelectedChoice ] = React.useState<ChoicePopupOption>(null);\n\n const isFromPreview = !Number.isNaN(props.currentTime);\n\n function onClickContinue(): void {\n if (!selectedChoice)\n return;\n\n if (selectedChoice.id === FULL_VIDEO.id) {\n addFullVideo();\n }\n \n if (selectedChoice.id === AD_FREE.id) {\n addAdFreeVideo();\n }\n\n if (selectedChoice.id === REQUEST_AD_FREE.id) {\n requestAdFreeVideo();\n }\n }\n\n function onClickBack(): void {\n if (!isFromPreview) {\n props.closePopup();\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.PREVIEW,\n args: [ props.region, program.data.id ],\n params: {\n currentTime: props.currentTime\n }\n });\n }\n\n const hasEnoughCredits = adFreeCredits.data &&\n (adFreeCredits.data.userRequests < adFreeCredits.data.maxAvailableCredit);\n const requestsRemaining = adFreeCredits.data &&\n (adFreeCredits.data.maxAvailableCredit - adFreeCredits.data.userRequests);\n\n React.useEffect(() => {\n if (!adFreeCredits.hasCompleted)\n return;\n \n if (hasEnoughCredits)\n return;\n\n setSelectedChoice(FULL_VIDEO);\n }, [ adFreeCredits, hasEnoughCredits ]);\n\n const hasLoaded = (\n currentUser.hasCompleted &&\n program.hasCompleted &&\n adFreeCredits.hasCompleted\n );\n\n const showAdFreeAlert = selectedChoice?.id === REQUEST_AD_FREE.id && TvUtils.isHolidayPeriod();\n\n return (\n <Popup\n size='lg'\n title={getPhrase('title')}\n showLoadingSpinner={!hasLoaded}\n closePopup={props.closePopup}\n >\n {hasLoaded &&\n <>\n <div className='d-flex mb-3 mx-n2'>\n {program.data.hasAdsFree &&\n <Choice\n option={{ id: AD_FREE.id }}\n onSelect={setSelectedChoice}\n selected={selectedChoice?.id === AD_FREE.id}\n >\n <img src={AD_FREE.imageUrl} className='img-fluid' draggable={false} />\n <h2 className='h4 mb-1'><Text namespace={namespace} phrase={AD_FREE.title} /></h2>\n <p className='mb-2'><Text namespace={namespace} phrase={AD_FREE.description} /></p>\n </Choice>\n }\n \n {!program.data.hasAdsFree &&\n <Choice\n option={{ id: REQUEST_AD_FREE.id, disabled: !hasEnoughCredits }}\n onSelect={setSelectedChoice}\n selected={selectedChoice?.id === REQUEST_AD_FREE.id}\n >\n <img src={REQUEST_AD_FREE.imageUrl} className='img-fluid' draggable={false} />\n <div className='d-flex justify-content-center align-items-center mb-1'>\n <h2 className='h4 mb-1'><Text namespace={namespace} phrase={REQUEST_AD_FREE.title} /></h2>\n <span className={`badge bg-dark rounded-circle ms-2 ${styles.circle}`}>{requestsRemaining}</span>\n </div>\n <p className='mb-2'><Text namespace={namespace} phrase={hasEnoughCredits ? 'requestAdFreeDescription' : 'noRequestsDescription'} /></p>\n </Choice>\n }\n\n <Choice\n option={{ id: FULL_VIDEO.id }}\n onSelect={setSelectedChoice}\n selected={selectedChoice?.id === FULL_VIDEO.id}\n >\n <img src={FULL_VIDEO.imageUrl} className='img-fluid' draggable={false} />\n <h2 className='h4 mb-1'><Text namespace={namespace} phrase={FULL_VIDEO.title} /></h2>\n <p className='mb-2'><Text namespace={namespace} phrase={FULL_VIDEO.description} /></p>\n </Choice>\n </div>\n\n {showAdFreeAlert &&\n <div className='alert alert-warning' role='alert'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='adFreeAlertHeading' />\n </h3>\n <p className='m-0'>\n <Text namespace={namespace} phrase='adFreeAlertBody' />\n </p>\n </div>\n }\n </>\n }\n \n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase(isFromPreview ? 'back' : 'close')}\n onClick={onClickBack}\n variant='link'\n />\n <PopupButtons.Submit\n text={getPhrase('continue')}\n onClick={onClickContinue}\n variant='dark'\n disabled={!selectedChoice}\n />\n </PopupButtons>\n </Popup>\n );\n}"],"names":["Choice","props","onSelect","_a","className","styles","jsxs","DivButton","_b","jsx","_c","_d","namespace","getPhrase","LanguageService","useTvAddRequests","programId","regionCode","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","currentUser","Flight.useBasicFetch","UserRequests","workspace","program","TvRequests","region","workspaceVideo","requestAdFreeVideo","DefaultAlertHeading","AlertType","Core.AppLinkHelper","AppChannels","Actions","AnalyticsHelper","UserAction","EntityType","TvDescriptor","LocationContext","WorkflowPhase","error","errorMessage","parsedErrorMessage","addAdFreeVideo","data","addFullVideo","AD_FREE","ImageUrls","REQUEST_AD_FREE","FULL_VIDEO","TvAddView","adFreeCredits","useHandleDialogError","selectedChoice","setSelectedChoice","React","isFromPreview","onClickContinue","onClickBack","hasEnoughCredits","requestsRemaining","hasLoaded","showAdFreeAlert","TvUtils","Popup","Fragment","Text","PopupButtons"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{H as u,U as c,S as p,M as l,aA as w,q as d,aF as _,L as E,ad as f,o as P}from"./app-C44h5z5p.js";import{C as o}from"./BlDVEZsX.chunk.js";import{R as b,a as B}from"./BGyYkDnT.chunk.js";import{P as I}from"./pkzD5BEm.chunk.js";import{V as h}from"./BVnGsVC0.chunk.js";var $=(e=>(e.Screenrights="screenrights",e.Era="era",e.ClickView="clickview",e))($||{});const T={clip(e,t){return{key:`clip:${e}:${t}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.CLIP,permissionFilterOption:t})}},videoClips(e,t,r){return{key:`video:${e}:clips:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/clips`,{query:p.CLIP_COLLECTION,permissionFilterOption:t,cursor:r})}},clipWithAllInteractives(e,t){return{key:`clip:${e}:${t}:interactives`,url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:`${p.CLIP},interactives{status:[0,1]}`,permissionFilterOption:t}),normalize:!1}},publicClip(e,t,r,a){return{key:`clip:${e}:public:${t}`,url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo,_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),bootstrapName:`shared:object:${e}`,success:r,error:a}},sharedClip(e,t,r,a){return{key:`shared:clip:${e}`,url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.CLIP}),success:r,error:a}},createClip(e,t,r,a,s){return{key:"create:clip",url:`{gateway}/v1/objects/${e}/clips`,data:t,type:u.POST,invalidationKeys:[`videos:${e}`,"my:videos"],success:r,error:a,always:s}},updateClip(e,t,r,a,s){return{key:"update:clip",url:`{gateway}/v1/objects/${e}`,data:t,type:u.PUT,invalidationKeys:[`clip:${e}`],success:r,error:a,always:s}},deleteClip(e,t,r,a,s){return{key:"delete:clip",url:`{gateway}/v1/objects/${e}`,type:u.DELETE,invalidationKeys:[`videos:${t}`,"my:videos","videos"],success:r,error:a,always:s}}},k={interactiveMetadata(e,t){return{url:c.urlBuilder(`{gateway}/v1/objects/${e}`,{query:p.INTERACTIVE,permissionFilterOption:t}),key:`interactive:metadata:${e}:${t}`}},videoInteractives(e,t,r){return{key:`video:${e}:interactives:${t}:${r}`,url:c.urlBuilder(`{gateway}/v1/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r}),publicUrl:c.urlBuilder(`/api/objects/${e}/interactives`,{query:p.INTERACTIVE_COLLECTION,cursor:r})}},sharedInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{shareId:t,query:p.INTERACTIVE}),key:`shared:interactive:metadata:${e}`,success:r,error:a}},publicInteractiveMetadata(e,t,r,a){return{url:c.urlBuilder(`/api/objects/${e}`,{query:"_parentVideo[_rating],_canBeConsumed,_thumbnail",permissionFilterOption:I.StripMetadata,shareId:t}),key:`interactive:metadata:${e}:public:${t}`,bootstrapName:`shared:object:${e}`,success:r,error:a}},interactive(e){return{url:`/api/domain/v1/interactives/${e}`,key:`interactive:${e}`,normalize:!1}},createInteractive(e,t,r){return{url:"/api/domain/v1/interactives",key:"create:interactive",type:u.POST,invalidationKeys:["my:videos"],data:e,success:t,error:r}},createInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}/interactives`,key:"create:interactive:metadata",type:u.POST,data:t,success:r,error:a}},updateInteractive(e,t,r,a){return{url:`/api/domain/v1/interactives/${e}`,key:"update:interactive",type:u.PUT,data:t,success:r,error:a,formatData:()=>t,invalidationKeys:[`interactive:${e}`]}},updateInteractiveMetadata(e,t,r,a){return{url:`{gateway}/v1/objects/${e}`,key:"update:interactive:metadata",type:u.PUT,data:t,success:r,error:a}},interactiveResultSet(e,t){return{url:`/api/domain/v1/analytics/interactives/${e}/metadata/${t}`,key:`interactive:result:set:${e}:${t}`}},copyInteractive(e,t,r){return{url:`/api/domain/v1/interactives/${e}/copy`,key:"copy:interactive",type:u.POST,invalidationKeys:[`interactive:${e}`,"my:videos"],success:t,error:r}},deleteInteractiveMetadata(e,t,r){return{url:`{gateway}/v1/objects/${e}`,key:"delete:interactive",type:u.DELETE,invalidationKeys:[`interactive:${e}`,"my:videos","videos"],success:t,error:r}},removeInteractiveMetadata({libraryId:e,categoryId:t,interactiveMetadataId:r}){return{url:c.urlBuilder(`/api/domain/v1/libraries/${e}/videos`,{categoryId:t,videoIds:r}),key:`remove:interactive:metadata:${r}`,type:u.DELETE,invalidationKeys:[`interactive:${r}`,"my:videos","videos"]}},contributeToCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.POST}},revokefromCommunity(e){return{url:`/api/domain/v2/interactives/${e}/contribute`,key:"contribute:interactive",type:u.DELETE}},isContributed(e){return{url:`/api/domain/v2/interactives/${e}/contributed`,key:`iscontributed:${e}`,normalize:!1}},updateInteraction(e){return{url:`/api/domain/v1/interactions/bulk/${e.id}`,key:"contribute:interactive",data:e,type:u.PUT,invalidationKeys:[`interactive:${e.interactiveId}`]}}},R="shared.shared-utils",i=E.encloseNamespace(R),n={isVideo(e){return(e==null?void 0:e.typeId)===l.Video},isClip(e){return(e==null?void 0:e.typeId)===l.Clip},isInteractive(e){return(e==null?void 0:e.typeId)===l.Interactive},isVideoTypeArchived(e){return(e==null?void 0:e.status)===o.Archived},isVideoType(e){return n.isVideo(e)||n.isInteractive(e)||n.isClip(e)},hasSeries(e){var t;return!!((t=e==null?void 0:e.series)!=null&&t.id)},showVideoGuidance(e){return!e(P.StudentExperience)},showInteractivesGuidance(e){var r,a;return!e||n.isInteractive(e)?!1:!!(((a=(r=e.interactives)==null?void 0:r.data)==null?void 0:a.length)||0)},showResourcesGuidance(e){var r,a,s,m;return!e||n.isInteractive(e)?!1:!!((((a=(r=e.resources)==null?void 0:r.data)==null?void 0:a.length)||0)+(((m=(s=e.links)==null?void 0:s.data)==null?void 0:m.length)||0))},getVideoProgress(e){var t,r;return e!=null&&e.lastProgressPoint?e==null?void 0:e.lastProgressPoint:(t=e==null?void 0:e._videoProgress)!=null&&t.progress?(r=e==null?void 0:e._videoProgress)==null?void 0:r.progress:0},getThumbnail(e){var t,r,a;if(!e)return null;if(n.isVideo(e))return e.thumbnail;if(e!=null&&e._thumbnail)return e._thumbnail;if(n.isClip(e))return e.thumbnail||((t=e._parentVideo)==null?void 0:t.thumbnail);if(n.isInteractive(e))return((r=e._parentVideo)==null?void 0:r.thumbnail)||((a=e._parentClip)==null?void 0:a.thumbnail)},getDuration(e){var t,r;if(e){if(n.isVideo(e))return e.duration;if(n.isInteractive(e)){if((t=e._parentClip)!=null&&t.id)return(e._parentClip.endTime-e._parentClip.startTime)*1e3;if((r=e._parentVideo)!=null&&r.duration)return e._parentVideo.duration}if(n.isClip(e))return(e.endTime-e.startTime)*1e3}},getAnalyticsEntity(e){if(n.isVideo(e))return f.Video;if(n.isInteractive(e))return f.Interactive;if(n.isClip(e))return f.Clip},getAnalyticsData(e,t={}){var a,s,m,C,g,y;if(n.isVideo(e))return{...t||{},id:e.id,name:e.name};if(n.isClip(e)){const V={...t||{},id:e.id,name:e.name};return(a=e._parentVideo)!=null&&a.id&&(V.video={id:(s=e._parentVideo)==null?void 0:s.id,name:e._parentVideo.name}),V}const r={...t,id:e.id,interactiveId:e.interactiveId,name:e.name,status:e.status,originType:e.originType};return(m=e==null?void 0:e._parentClip)!=null&&m.id&&(r.clip={id:(C=e==null?void 0:e._parentClip)==null?void 0:C.id,name:e==null?void 0:e._parentClip.name}),(g=e==null?void 0:e._parentVideo)!=null&&g.id&&(r.video={id:(y=e==null?void 0:e._parentVideo)==null?void 0:y.id,name:e==null?void 0:e._parentVideo.name}),r},getCanBeConsumed(e){var t,r;return!e||!n.isVideoType(e)?{canNavigate:!1,canConsume:!1}:e._canBeConsumed?{canNavigate:((t=e._canBeConsumed)==null?void 0:t.reason)==="login-required"&&n.isVideo(e)||e._canBeConsumed.value===!0,canConsume:e._canBeConsumed.value,reason:(r=e._canBeConsumed)==null?void 0:r.reason}:{canNavigate:!0,canConsume:!0}},getPrivacyReasoning(e,t=!1){var g;const{canConsume:r,canNavigate:a,reason:s}=n.getCanBeConsumed(e),m=()=>n.isClip(e)?i("clipParentDeleted"):n.isInteractive(e)?i("interactiveParentDeleted"):i("videoDeleted"),C=()=>n.isClip(e)?i("clipLoginRequired"):n.isInteractive(e)?i("interactiveLoginRequired"):i("videoLoginRequired");if(!r&&!a){if(t)return C();switch(s){case"rating-not-allowed":return i("ratingNotAllowed");case"video-deleted":return m();case"clickview-private":return i("clickViewPrivate");case"private":return i("genericCannotAccess");case"login-required":return C();case"restricted-access":{const y=b.getWeightedRestriction((g=e._restrictions)==null?void 0:g.value);return(y==null?void 0:y.type)===B.Custom?i("awaitingApproval"):i("restrictedAccess")}default:return i("genericCannotAccess")}}return n.isInteractive(e)&&e.status===o.Draft?i("draftInteractive"):""},getTitle(e){if(e.name)return n.isInteractive(e)&&e.status===o.Draft?i("draftInteractiveTitle",{name:e.name}):e.name;const{canConsume:t,reason:r}=n.getCanBeConsumed(e);return i(!t&&r==="private"?"privateVideo":!t&&r==="video-deleted"?"videoUnavailable":"privateVideo")},getParentVideo(e){if(n.isVideo(e))return e;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo},getRating(e){var t,r,a;return n.isVideo(e)?((t=e._rating)==null?void 0:t.value)||e.rating:(a=(r=e==null?void 0:e._parentVideo)==null?void 0:r._rating)==null?void 0:a.value},getVideoRequest(e,t,r){if(r){switch(t){case l.Video:return h.sharedVideo(e,r);case l.Clip:return T.sharedClip(e,r);case l.Interactive:return k.sharedInteractiveMetadata(e,r)}d.throw(new _("Unsupported master type"))}switch(t){case l.Video:return h.video(e);case l.Clip:return T.clip(e);case l.Interactive:return k.interactiveMetadata(e)}d.throw(new _("Unsupported master type"))},isBroadcast(e){var t,r;return!!((r=(t=e==null?void 0:e.contentLicences)==null?void 0:t.data)!=null&&r.some(a=>a.systemName===$.Era||a.systemName===$.Screenrights))},getReleaseDate(e){return e&&e.dateReleased&&n.isBroadcast(e)?w.format(e.dateReleased,"DD/MM/YYYY"):""},canViewOriginalVideo(e){var t,r;return!!((r=(t=e==null?void 0:e._parentVideo)==null?void 0:t._canBeConsumed)!=null&&r.value)},getTrackingCode(e){if(n.isVideo(e))return e.trackingCode;if(n.isClip(e)||n.isInteractive(e))return e._parentVideo.trackingCode},isInExchange(e){var t,r;return!!((r=(t=e==null?void 0:e.libraries)==null?void 0:t.data)!=null&&r.some(a=>a.typeId===l.ExchangeCollection))},canViewUploadDate(e){return!(!e||!e.dateCreated||!e._isClickViewCurated||e._isClickViewCurated.value)}};export{n as V};
|
|
2
|
+
//# sourceMappingURL=COTdau6A.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"COTdau6A.chunk.js","sources":["../../../../libs/shared/src/enums/ContentLicenceType.ts","../../../../libs/shared/src/flight-requests/ClipRequests.ts","../../../../libs/shared/src/flight-requests/InteractiveRequests.ts","../../../../libs/shared/src/utils/VideoHelper.ts"],"sourcesContent":["export enum ContentLicenseType {\n Screenrights = 'screenrights',\n Era = 'era',\n ClickView = 'clickview'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { Clip, CreateOrUpdateClipRequest } from 'libs/shared/interfaces';\n\nexport const ClipRequests = {\n clip(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.CLIP,\n permissionFilterOption\n })\n };\n },\n\n videoClips(parentId: string, permissionFilterOption?: PermissionFilterOption, cursor?: string) {\n return {\n key: `video:${parentId}:clips:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/clips`, {\n query: SharedWithStatements.CLIP_COLLECTION,\n permissionFilterOption,\n cursor\n })\n };\n },\n\n clipWithAllInteractives(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n key: `clip:${id}:${permissionFilterOption}:interactives`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: `${SharedWithStatements.CLIP},interactives{status:[0,1]}`,\n permissionFilterOption\n }),\n normalize: false\n };\n },\n\n publicClip(\n id: string,\n shareId?: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `clip:${id}:public:${shareId}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo,_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n\n sharedClip(\n id: string,\n shareId: string,\n success?: (clip: Clip) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n key: `shared:clip:${id}`,\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.CLIP\n }),\n success,\n error\n };\n },\n\n createClip(\n videoId: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'create:clip',\n url: `{gateway}/v1/objects/${videoId}/clips`,\n data,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos' ],\n success,\n error,\n always\n };\n },\n\n updateClip(\n id: string,\n data: CreateOrUpdateClipRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: 'update:clip',\n url: `{gateway}/v1/objects/${id}`,\n data,\n type: HttpVerbs.PUT,\n invalidationKeys: [`clip:${id}`],\n success,\n error,\n always\n };\n },\n\n deleteClip(\n id: string,\n videoId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n key: `delete:clip`,\n url: `{gateway}/v1/objects/${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}`, 'my:videos', 'videos' ],\n success,\n error,\n always\n };\n }\n};","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { CreateInteractiveMetadataRequest, CreateInteractiveRequest, EditInteractiveMetadataOriginRequest, EditInteractiveMetadataRequest, EditInteractiveRequest, Interaction, InteractiveMetadata } from 'libs/shared/interfaces';\n\nexport const InteractiveRequests = {\n interactiveMetadata(id: string, permissionFilterOption?: PermissionFilterOption): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.INTERACTIVE,\n permissionFilterOption\n }),\n key: `interactive:metadata:${id}:${permissionFilterOption}`\n };\n },\n\n videoInteractives(\n parentId: string,\n permissionFilterOption?: PermissionFilterOption,\n cursor?: string\n ): Flight.PublicRequest {\n return {\n key: `video:${parentId}:interactives:${permissionFilterOption}:${cursor}`,\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${parentId}/interactives`, {\n query: SharedWithStatements.INTERACTIVE_COLLECTION,\n cursor\n })\n };\n },\n\n sharedInteractiveMetadata(\n id: string,\n shareId: string,\n success?: (interactiveMetadata: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n shareId,\n query: SharedWithStatements.INTERACTIVE\n }),\n key: `shared:interactive:metadata:${id}`,\n success,\n error\n };\n },\n publicInteractiveMetadata(\n id: string,\n shareId?: string,\n success?: (interactive: InteractiveMetadata) => void,\n error?: (xhr: Xhr) => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/objects/${id}`, {\n // Query statement here is coupled with ClickView.Lite.Common\\Services\\OpenGraph\\OpenGraphService.cs\n // in lite. If you update this, please update both.\n query: '_parentVideo[_rating],_canBeConsumed,_thumbnail',\n permissionFilterOption: PermissionFilterOption.StripMetadata,\n shareId\n }),\n key: `interactive:metadata:${id}:public:${shareId}`,\n bootstrapName: `shared:object:${id}`,\n success,\n error\n };\n },\n interactive(id: string): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: `interactive:${id}`,\n normalize: false\n };\n },\n createInteractive(\n data: CreateInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: '/api/domain/v1/interactives',\n key: 'create:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: ['my:videos'],\n data,\n success,\n error\n };\n },\n createInteractiveMetadata(\n videoId: string,\n data: CreateInteractiveMetadataRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/interactives`,\n key: 'create:interactive:metadata',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n updateInteractive(\n id: string,\n data: EditInteractiveRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${id}`,\n key: 'update:interactive',\n type: HttpVerbs.PUT,\n data,\n success,\n error,\n /* Update state because domain doesn't return the updated object */\n formatData: () => data,\n invalidationKeys: [`interactive:${id}`]\n };\n },\n updateInteractiveMetadata(\n id: string,\n data: EditInteractiveMetadataRequest | EditInteractiveMetadataOriginRequest,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'update:interactive:metadata',\n type: HttpVerbs.PUT,\n data,\n success,\n error\n };\n },\n interactiveResultSet(interactiveId: string, interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`\n };\n },\n copyInteractive(\n interactiveId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/interactives/${interactiveId}/copy`,\n key: 'copy:interactive',\n type: HttpVerbs.POST,\n invalidationKeys: [ `interactive:${interactiveId}`, 'my:videos' ],\n success,\n error\n };\n },\n deleteInteractiveMetadata(\n interactiveMetadataId: string,\n success?: (data: any) => void,\n error?: (data: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${interactiveMetadataId}`,\n key: 'delete:interactive',\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ],\n success,\n error\n };\n },\n removeInteractiveMetadata({\n libraryId,\n categoryId,\n interactiveMetadataId\n }: {\n libraryId: string;\n categoryId: string;\n interactiveMetadataId: string;\n }): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/domain/v1/libraries/${libraryId}/videos`, { categoryId, videoIds: interactiveMetadataId }),\n key: `remove:interactive:metadata:${interactiveMetadataId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `interactive:${interactiveMetadataId}`, 'my:videos', 'videos' ]\n };\n },\n contributeToCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.POST\n };\n },\n revokefromCommunity(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contribute`,\n key: 'contribute:interactive',\n type: HttpVerbs.DELETE\n };\n },\n isContributed(interactiveMetadataId: string): Flight.Request {\n return {\n url: `/api/domain/v2/interactives/${interactiveMetadataId}/contributed`,\n key: `iscontributed:${interactiveMetadataId}`,\n normalize: false\n };\n },\n updateInteraction(interaction: Interaction) {\n return {\n url: `/api/domain/v1/interactions/bulk/${interaction.id}`,\n key: 'contribute:interactive',\n data: interaction,\n type: HttpVerbs.PUT,\n invalidationKeys: [`interactive:${interaction.interactiveId}`]\n };\n }\n};\n","import { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { EntityType } from 'libs/analytics/interfaces';\n\nimport { ContentLicenseType } from 'libs/shared/enums/ContentLicenceType';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { BaseObject, CanBeConsumedReason, Clip, InteractiveMetadata, Rating, Thumbnail, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\n\nimport { PermissionName } from '../enums/PermissionName';\nimport { HasPermissionsFunc } from '../hooks/usePermissions';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const VideoHelper = {\n isVideo(obj: BaseObject): obj is Video {\n return obj?.typeId === MasterType.Video;\n },\n\n isClip(obj: BaseObject): obj is Clip {\n return obj?.typeId === MasterType.Clip;\n },\n\n isInteractive(obj: BaseObject): obj is InteractiveMetadata {\n return obj?.typeId === MasterType.Interactive;\n },\n\n isVideoTypeArchived(obj: VideoTypes): boolean {\n return obj?.status === CurationStatus.Archived;\n },\n\n /**\n * Returns true of the object is a video, clip or interactive\n */\n isVideoType(object: BaseObject): object is Video | Clip | InteractiveMetadata {\n return VideoHelper.isVideo(object) || VideoHelper.isInteractive(object) || VideoHelper.isClip(object);\n },\n\n hasSeries(video: Video): boolean {\n return !!video?.series?.id;\n },\n\n showVideoGuidance(hasPermissions: HasPermissionsFunc): boolean {\n return !hasPermissions(PermissionName.StudentExperience);\n },\n\n showInteractivesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const interactiveCount = video.interactives?.data?.length || 0;\n\n return !!interactiveCount;\n },\n\n showResourcesGuidance(video: VideoTypes): boolean {\n if (!video || VideoHelper.isInteractive(video))\n return false;\n\n const resourceCount = (\n (video.resources?.data?.length || 0) +\n (video.links?.data?.length || 0)\n );\n\n return !!resourceCount;\n },\n\n getVideoProgress(video: Video): number {\n if (video?.lastProgressPoint)\n return video?.lastProgressPoint;\n\n // Use virtual assoc\n if (video?._videoProgress?.progress)\n return video?._videoProgress?.progress;\n\n return 0;\n },\n\n getThumbnail(video: VideoTypes): Thumbnail {\n if (!video)\n return null;\n\n if (VideoHelper.isVideo(video))\n return video.thumbnail;\n\n if (video?._thumbnail)\n return video._thumbnail;\n\n // Fallbacks for virtual assoc if needed\n if (VideoHelper.isClip(video))\n return video.thumbnail || video._parentVideo?.thumbnail;\n\n if (VideoHelper.isInteractive(video))\n return video._parentVideo?.thumbnail || video._parentClip?.thumbnail;\n },\n\n getDuration(video: VideoTypes): number {\n if (!video)\n return;\n\n if (VideoHelper.isVideo(video))\n return video.duration;\n\n if (VideoHelper.isInteractive(video)) {\n if (video._parentClip?.id)\n return (video._parentClip.endTime - video._parentClip.startTime) * 1000;\n\n if (video._parentVideo?.duration)\n return video._parentVideo.duration;\n }\n\n if (VideoHelper.isClip(video))\n return (video.endTime - video.startTime) * 1000;\n },\n\n getAnalyticsEntity(video: VideoTypes): EntityType {\n if (VideoHelper.isVideo(video))\n return EntityType.Video;\n\n if (VideoHelper.isInteractive(video))\n return EntityType.Interactive;\n\n if (VideoHelper.isClip(video))\n return EntityType.Clip;\n },\n\n getAnalyticsData(\n video: VideoTypes,\n extraAnalyticsData: HashObject = {}\n ): HashObject {\n if (VideoHelper.isVideo(video)) {\n return {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n }\n\n if (VideoHelper.isClip(video)) {\n const data: HashObject = {\n ...(extraAnalyticsData || {}),\n id: video.id,\n name: video.name\n };\n\n if (video._parentVideo?.id)\n data.video = { id: video._parentVideo?.id, name: video._parentVideo.name };\n\n return data;\n }\n\n const data: HashObject = {\n ...extraAnalyticsData,\n id: video.id,\n interactiveId: video.interactiveId,\n name: video.name,\n status: video.status,\n originType: video.originType\n };\n\n if (video?._parentClip?.id)\n data.clip = { id: video?._parentClip?.id, name: video?._parentClip.name };\n\n if (video?._parentVideo?.id)\n data.video = { id: video?._parentVideo?.id, name: video?._parentVideo.name };\n \n return data;\n },\n\n getCanBeConsumed(video: BaseObject): {\n canNavigate: boolean,\n canConsume: boolean,\n reason?: CanBeConsumedReason\n } {\n if (!video || !VideoHelper.isVideoType(video)) {\n return {\n canNavigate: false,\n canConsume: false\n };\n }\n\n if (video._canBeConsumed) {\n return {\n /**\n * Product navigation is enabled for \"login-required\" reason to support public access. \n * The video itself cannot be consumed, however, clients can allow users to browse the platform.\n * \n * Note: canNavigate is initially available for just videos. Interactives and Clips will be supported in Y2.\n */\n canNavigate: (video._canBeConsumed?.reason === 'login-required' && VideoHelper.isVideo(video)) || video._canBeConsumed.value === true,\n canConsume: video._canBeConsumed.value,\n reason: video._canBeConsumed?.reason\n };\n }\n\n /**\n * Many of the components shared between online and lite read this value.\n * Online doesn't fetch or care about this value, which means by this point it should\n * still be null. In this case, we just set it to true so that the components can render\n * as normal.\n */\n return {\n canNavigate: true,\n canConsume: true\n };\n },\n\n getPrivacyReasoning(video: VideoTypes, showSignIn: boolean = false): string {\n const { canConsume, canNavigate, reason } = VideoHelper.getCanBeConsumed(video);\n\n const getNoLongerAvailableText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipParentDeleted');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveParentDeleted');\n\n return getPhrase('videoDeleted');\n };\n\n const getLoginRequiredText = () => {\n if (VideoHelper.isClip(video))\n return getPhrase('clipLoginRequired');\n\n if (VideoHelper.isInteractive(video))\n return getPhrase('interactiveLoginRequired');\n\n return getPhrase('videoLoginRequired');\n };\n\n if (!canConsume && !canNavigate) {\n if (showSignIn)\n return getLoginRequiredText();\n\n switch (reason) {\n case 'rating-not-allowed': {\n return getPhrase('ratingNotAllowed');\n }\n\n case 'video-deleted': {\n return getNoLongerAvailableText();\n }\n\n case 'clickview-private': {\n return getPhrase('clickViewPrivate');\n }\n\n case 'private': {\n return getPhrase('genericCannotAccess');\n }\n\n case 'login-required': {\n return getLoginRequiredText();\n }\n\n case 'restricted-access': {\n const restriction = RestrictionHelper.getWeightedRestriction(video._restrictions?.value);\n\n if (restriction?.type === RestrictionType.Custom)\n return getPhrase('awaitingApproval');\n\n return getPhrase('restrictedAccess');\n }\n\n default: {\n return getPhrase('genericCannotAccess');\n }\n }\n }\n\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft)\n return getPhrase('draftInteractive');\n\n return '';\n },\n\n getTitle(video: VideoTypes): string {\n if (video.name) {\n if (VideoHelper.isInteractive(video) && video.status === CurationStatus.Draft) {\n return getPhrase('draftInteractiveTitle', { name: video.name });\n }\n\n return video.name;\n }\n\n const { canConsume, reason } = VideoHelper.getCanBeConsumed(video);\n\n if (!canConsume && reason === 'private')\n return getPhrase('privateVideo');\n\n if (!canConsume && reason === 'video-deleted')\n return getPhrase('videoUnavailable');\n\n return getPhrase('privateVideo');\n },\n\n getParentVideo(video: VideoTypes): Video | null {\n if (VideoHelper.isVideo(video))\n return video;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo;\n },\n\n getRating(video: VideoTypes): Rating {\n if (VideoHelper.isVideo(video))\n return video._rating?.value || video.rating;\n\n return video?._parentVideo?._rating?.value;\n },\n\n getVideoRequest(\n objectId: string,\n objectTypeId: MasterType,\n shareId?: string\n ): Flight.Request {\n if (shareId) {\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.sharedVideo(objectId, shareId);\n case MasterType.Clip:\n return ClipRequests.sharedClip(objectId, shareId);\n case MasterType.Interactive:\n return InteractiveRequests.sharedInteractiveMetadata(objectId, shareId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n }\n\n switch (objectTypeId) {\n case MasterType.Video:\n return VideoRequests.video(objectId);\n case MasterType.Clip:\n return ClipRequests.clip(objectId);\n case MasterType.Interactive:\n return InteractiveRequests.interactiveMetadata(objectId);\n }\n\n Core.ErrorHelper.throw(new DevError('Unsupported master type'));\n },\n\n isBroadcast(video: Video): boolean {\n return !!video?.contentLicences?.data?.some(l =>\n l.systemName === ContentLicenseType.Era ||\n l.systemName === ContentLicenseType.Screenrights);\n },\n\n getReleaseDate(video: Video): string {\n if (!video)\n return '';\n\n if (video.dateReleased && VideoHelper.isBroadcast(video))\n return DateHelper.format(video.dateReleased, 'DD/MM/YYYY');\n\n return '';\n },\n\n canViewOriginalVideo(video: Clip | InteractiveMetadata): boolean {\n return !!video?._parentVideo?._canBeConsumed?.value;\n },\n\n getTrackingCode(video: VideoTypes): string | undefined {\n if (VideoHelper.isVideo(video))\n return video.trackingCode;\n\n if (VideoHelper.isClip(video) || VideoHelper.isInteractive(video))\n return video._parentVideo.trackingCode;\n },\n\n isInExchange(video: Video): boolean {\n return !!video?.libraries?.data?.some(l => l.typeId === MasterType.ExchangeCollection);\n },\n\n canViewUploadDate(video: Video): boolean {\n if (!video || !video.dateCreated)\n return false;\n\n if (!video._isClickViewCurated || video._isClickViewCurated.value)\n return false;\n\n return true;\n }\n};\n"],"names":["ContentLicenseType","ClipRequests","id","permissionFilterOption","UrlHelper","SharedWithStatements","parentId","cursor","shareId","success","error","PermissionFilterOption","videoId","data","always","HttpVerbs","InteractiveRequests","interactiveId","interactiveMetadataId","libraryId","categoryId","interaction","namespace","getPhrase","LanguageService","VideoHelper","obj","MasterType","CurationStatus","object","video","_a","hasPermissions","PermissionName","_b","_d","_c","EntityType","extraAnalyticsData","_e","_f","showSignIn","canConsume","canNavigate","reason","getNoLongerAvailableText","getLoginRequiredText","restriction","RestrictionHelper","RestrictionType","objectId","objectTypeId","VideoRequests","Core.ErrorHelper","DevError","l","DateHelper"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{aa as w,ab as m,ad as p,ae as c,U as i}from"./app-C44h5z5p.js";let l=null;const s={getVideoDownloadUrl(a,e){return i.safeUrlConcat(i.makeHttps(a),`/download?token=${e}`)},downloadResource(a,e,t,n){var d;let o=l;l||(o=l=document.createElement("iframe"),document.body.appendChild(o),o.style.display="none"),o.src=a.url,n||w.logUserAction({id:a==null?void 0:a.id,name:a==null?void 0:a.name,resourceType:(d=a==null?void 0:a.metadata)==null?void 0:d.resourceType,...e},{actionType:c.Download,entity:p.Resource,workflowPhase:m.Complete,...t})},async downloadBlob(a,e){const t=await fetch(a);if(!t.ok)throw new Error("Error downloading file");const n=URL.createObjectURL(await t.blob()),o=document.createElement("a");o.href=n,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),window.setTimeout(()=>URL.revokeObjectURL(n),100)}};export{s as D};
|
|
2
|
+
//# sourceMappingURL=CRCiqh7u.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRCiqh7u.chunk.js","sources":["../../../../libs/shared/src/utils/DownloadHelper.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Resource } from '../interfaces';\n\nlet downloadRef: HTMLIFrameElement = null;\n\nexport const DownloadHelper = {\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\n },\n\n downloadResource(\n resource: Resource,\n analyticsData: HashObject,\n analyticsOptions: AnalyticsOptions,\n skipEventLogging?: boolean\n ): void {\n let iframe = downloadRef;\n\n if (!downloadRef) {\n iframe = downloadRef = document.createElement('iframe');\n document.body.appendChild(iframe);\n\n iframe.style.display = 'none';\n }\n\n iframe.src = resource.url;\n\n if (!skipEventLogging)\n AnalyticsHelper.logUserAction({\n id: resource?.id,\n name: resource?.name,\n resourceType: resource?.metadata?.resourceType,\n ...analyticsData\n }, {\n actionType: UserAction.Download,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete,\n ...analyticsOptions\n });\n },\n\n async downloadBlob(fileUrl: string, fileName: string): Promise<void> {\n const response = await fetch(fileUrl);\n\n if (!response.ok) {\n throw new Error('Error downloading file');\n }\n\n // Mime type is inferred from the download\n const downloadUrl = URL.createObjectURL(await response.blob());\n\n const a = document.createElement('a');\n a.href = downloadUrl;\n a.download = fileName;\n\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Delay revoking the URL to ensure the download is initiated\n window.setTimeout(() => URL.revokeObjectURL(downloadUrl), 100);\n }\n};"],"names":["downloadRef","DownloadHelper","downloadProxyUrl","token","UrlHelper","resource","analyticsData","analyticsOptions","skipEventLogging","iframe","AnalyticsHelper","_a","UserAction","EntityType","WorkflowPhase","fileUrl","fileName","response","downloadUrl","a"],"mappings":"sEAQA,IAAIA,EAAiC,KAE9B,MAAMC,EAAiB,CAC5B,oBAAoBC,EAA0BC,EAAuB,CACnE,OAAOC,EAAU,cAAcA,EAAU,UAAUF,CAAgB,EAAG,mBAAmBC,CAAK,EAAE,CAClG,EAEA,iBACEE,EACAC,EACAC,EACAC,EACM,OACN,IAAIC,EAAST,EAERA,IACHS,EAAST,EAAc,SAAS,cAAc,QAAQ,EACtD,SAAS,KAAK,YAAYS,CAAM,EAEhCA,EAAO,MAAM,QAAU,QAGzBA,EAAO,IAAMJ,EAAS,IAEjBG,GACHE,EAAgB,cAAc,CAC5B,GAAIL,GAAA,YAAAA,EAAU,GACd,KAAMA,GAAA,YAAAA,EAAU,KAChB,cAAcM,EAAAN,GAAA,YAAAA,EAAU,WAAV,YAAAM,EAAoB,aAClC,GAAGL,CAAA,EACF,CACD,WAAYM,EAAW,SACvB,OAAQC,EAAW,SACnB,cAAeC,EAAc,SAC7B,GAAGP,CAAA,CACJ,CACL,EAEA,MAAM,aAAaQ,EAAiBC,EAAiC,CACnE,MAAMC,EAAW,MAAM,MAAMF,CAAO,EAEpC,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAM,wBAAwB,EAI1C,MAAMC,EAAc,IAAI,gBAAgB,MAAMD,EAAS,MAAM,EAEvDE,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,SAAWH,EAEb,SAAS,KAAK,YAAYG,CAAC,EAC3BA,EAAE,MAAA,EACF,SAAS,KAAK,YAAYA,CAAC,EAG3B,OAAO,WAAW,IAAM,IAAI,gBAAgBD,CAAW,EAAG,GAAG,CAC/D,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{R as L,r as s,Y as M,F as d}from"./app-C44h5z5p.js";const g=()=>{const e=L.useRef(!0);return L.useEffect(()=>()=>{e.current=!1},[]),e},R=275,y=5,Y={className:"",delay:0,style:null},T={screenX:0,screenY:0};function H(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.add(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=t.style[u]}))}function h(e,t){var n;e.current&&(t.className&&((n=e.current.classList)==null||n.remove(t.className)),t.style&&Object.keys(t.style).forEach(u=>{e.current.style[u]=null}))}function b(e,t){return Math.abs(e.screenX-t.screenX)>y||Math.abs(e.screenY-t.screenY)>y}function X(e=Y){const t=g(),[n,u]=s.useState(e),[l,c]=s.useState(!1),r=s.useRef(null);s.useEffect(()=>{M.isEqual(e,n)||u(e)},[e]);const i=d.throttle(()=>{H(r,n),t.current&&c(!0)},n.delay,{leading:!1}),f=()=>{d.isFunction(i.cancel)&&i.cancel(),h(r,n),t.current&&c(!1)};return s.useLayoutEffect(()=>{const o=r.current;if(o)return o.addEventListener("mouseenter",i),o.addEventListener("mouseleave",f),()=>{o.removeEventListener("mouseenter",i),o.removeEventListener("mouseleave",f)}},[r.current,n]),[r,l]}function w(e){const[t,n]=s.useState(e),u=s.useRef({...T}),l=s.useRef(!1),c=s.useRef(0),r=s.useRef(null),[i,f]=s.useState(!1);s.useEffect(()=>{M.isEqual(e,t)||n(e)},[e]);function o(){c.current&&(window.clearTimeout(c.current),c.current=0)}function O(a,v){c.current||(c.current=window.setTimeout(a,v))}function m(){l.current=!0}function S(a){if(!l.current)return;const v={...u.current};u.current.screenX=a.screenX,u.current.screenY=a.screenY,b(v,a)&&o(),O(()=>{H(r,t),f(!0)},t.delay||R)}function E(){o(),h(r,t),l.current=!1,f(!1)}return s.useLayoutEffect(()=>{if(!r.current)return;const a=d.throttle(S,25,{leading:!1});return r.current.addEventListener("mouseenter",m),r.current.addEventListener("mousemove",a),r.current.addEventListener("mouseleave",E),()=>{r.current&&(r.current.removeEventListener("mouseenter",m),r.current.removeEventListener("mousemove",a),r.current.removeEventListener("mouseleave",E))}},[r.current,t]),[r,i]}export{w as a,X as u};
|
|
2
|
+
//# sourceMappingURL=CRTvC3qC.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CRTvC3qC.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{R as e,q as o,bJ as i,aT as f}from"./app-C44h5z5p.js";import{h as a}from"./DLXENX3X.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=CSBkyxHZ.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSBkyxHZ.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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ai as g,a2 as V,l as E,L as j,j as e}from"./app-C44h5z5p.js";import{u as v,P,I as A}from"./Dotf-cjL.chunk.js";import{u as L,a as R,V as N}from"./D-VkpSW0.chunk.js";import{h as F}from"./DLXENX3X.chunk.js";import{u as S}from"./Va6df4HV.chunk.js";import{E as C}from"./CEm6gEC5.chunk.js";import{E as G}from"./B1pmJy9w.chunk.js";import{E as n}from"./BesZ5ef9.chunk.js";import{a as I}from"./B55exgI3.chunk.js";import{a as M}from"./CeKBw2vH.chunk.js";import"./DoUAuskL.chunk.js";import"./CbaWlt2e.chunk.js";import"./DiXTMx9M.chunk.js";import"./D2WOxvRg.chunk.js";import"./_sYSSSUN.chunk.js";import"./BoOaRkjh.chunk.js";import"./D7wAo_p-.chunk.js";import"./COTdau6A.chunk.js";import"./BlDVEZsX.chunk.js";import"./BGyYkDnT.chunk.js";import"./pkzD5BEm.chunk.js";import"./BVnGsVC0.chunk.js";import"./1--zOUke.chunk.js";import"./C6DEEFsr.chunk.js";import"./B6QdLVkd.chunk.js";import"./BIgz-kuD.chunk.js";import"./CRTvC3qC.chunk.js";import"./Bwi6Bruj.chunk.js";import"./C85NI7Ud.chunk.js";import"./Kj832An8.chunk.js";import"./BKFoap_e.chunk.js";import"./DTQRX2Z5.chunk.js";import"./D97YVAoS.chunk.js";import"./Di6TX7bW.chunk.js";const b="exchange.mostRecent",m=j.encloseNamespace(b);function xe(){const c=g(),p=S(),o=V(n.exchange()),u=I("video-list"),{commonVideoProps:d}=L();E({title:m("title")});const{items:i,hasMore:h,isFetching:r,nextCursor:x}=v(o.data&&s,a,l);function s(t){return n.mostRecentVideos(o.data.id,t)}function a(t){return c(s(t))}function l(t,f){if(t===1)return F(f);p.error(m("error"))}return e.jsxs(R.Provider,{value:u,children:[e.jsxs("div",{className:"mb-2",children:[e.jsx(C,{}),e.jsx(G,{active:"most-recent"})]}),i?e.jsx(N,{videos:i,getVideoAppLink:M,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:d}):e.jsx("div",{className:"mx-n2",children:e.jsx(P,{})}),(h||r)&&e.jsx(A,{isFetching:r,fetchNext:a,nextCursor:x})]})}export{xe as ExchangeMostRecentView};
|
|
2
|
+
//# sourceMappingURL=CUaampu9.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CUaampu9.chunk.js","sources":["../../src/apps/exchange/views/exchange-most-recent/ExchangeMostRecentView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.mostRecent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeMostRecentView() {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n \n const videoActions = useGetExchangeActions('video-list');\n\n const { commonVideoProps } = useCommonVideoProps();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(exchange.data && getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.mostRecentVideos(exchange.data.id, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-2'>\n <ExchangeSearchBar />\n <ExchangeTabs active='most-recent' />\n </div>\n\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","ExchangeMostRecentView","fetch","Flight.useGetFetch","alerts","useAlerts","exchange","Flight.useBasicFetch","ExchangeRequests","videoActions","useGetExchangeActions","commonVideoProps","useCommonVideoProps","useSetPageMetadata","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","cursor","pageNumber","httpStatus","handleHttpError","jsxs","VideoActionsContext","jsx","ExchangeSearchBar","ExchangeTabs","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter"],"mappings":"mmCAuBA,MAAMA,EAAY,sBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,IAAyB,CACvC,MAAMC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETC,EAAWC,EAA8BC,EAAiB,UAAU,EAEpEC,EAAeC,EAAsB,YAAY,EAEjD,CAAE,iBAAAC,CAAA,EAAqBC,EAAA,EAE7BC,EAAmB,CAAE,MAAOd,EAAU,OAAO,EAAG,EAEhD,KAAM,CACJ,MAAOe,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EAAuBZ,EAAS,MAAQa,EAAkBC,EAAiBC,CAAO,EAEtF,SAASF,EAAiBG,EAAiC,CACzD,OAAOd,EAAiB,iBAAiBF,EAAS,KAAK,GAAIgB,CAAM,CACnE,CAEA,SAASF,EAAgBE,EAAuB,CAC9C,OAAOpB,EAAMiB,EAAiBG,CAAM,CAAC,CACvC,CAEA,SAASD,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,EAAgBD,CAAU,EAEnCpB,EAAO,MAAML,EAAU,OAAO,CAAC,CACjC,CAEA,OACE2B,EAAAA,KAACC,EAAoB,SAApB,CAA6B,MAAOlB,EACnC,SAAA,CAAAiB,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,aAAA,CAAc,CAAA,EACrC,EAEChB,EACCc,EAAAA,IAACG,EAAA,CACC,OAAAjB,EACA,gBAAAkB,EACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAArB,CAAA,CAAA,EAGFiB,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACK,IAAiB,EACpB,GAGAlB,GAAWC,IACXY,EAAAA,IAACM,EAAA,CACC,WAAAlB,EACA,UAAWI,EACX,WAAAH,CAAA,CAAA,CACF,EAEJ,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,R as s}from"./app-C44h5z5p.js";import{C as g}from"./hiCMZ4pZ.chunk.js";const p="_accordionHeader_1eoao_1",j={accordionHeader:p};function H(i){return e.jsx("ul",{className:"striped-list list-unstyled no-full-width",children:i.children})}function y(i){const[t,r]=s.useState(!1),[a,n]=s.useState({}),[o,c]=s.useState(0),l=s.useRef(null),d=s.useRef(null),u=s.useRef(null),m=s.useRef(null);function x(){t?(n({maxHeight:0,opacity:1}),c(0),d.current=window.setTimeout(()=>r(!1),400)):(r(!0),u.current=window.setTimeout(()=>{n({maxHeight:"max-content",opacity:0,position:"absolute"})}))}return s.useEffect(()=>{var f;if(!t)return;const w=Math.ceil((f=l.current)==null?void 0:f.getBoundingClientRect().height),h=a.opacity===0;h&&c(w),h&&o&&(n({position:"relative"}),m.current=window.requestAnimationFrame(()=>n({maxHeight:o,opacity:1})))},[t,o,a.maxHeight]),s.useEffect(()=>()=>{window.clearTimeout(d.current),window.clearTimeout(u.current),window.cancelAnimationFrame(m.current)},[]),e.jsxs("li",{className:"position-relative",children:[e.jsxs("div",{className:"cursor-pointer d-flex align-items-center py-2 px-3",onClick:x,children:[e.jsx("div",{className:"ms-1",children:e.jsx(g,{direction:t?"down":"right"})}),e.jsx("span",{className:`${t?"fw-semibold":""} user-select-none ms-2`,children:i.title})]}),t&&e.jsx("div",{className:"bg-white",children:e.jsx("div",{ref:l,className:`${j.accordionHeader}`,style:a,children:i.children})})]})}H.Header=y;function A(){return e.jsx(e.Fragment,{children:e.jsx("ul",{className:"list-unstyled",children:[...Array(20)].map((i,t)=>e.jsxs("li",{className:`${t%2===0?"partial-loading-background":""} d-flex w-100 p-2`,children:[e.jsx("div",{className:"svg-container"}),e.jsx("span",{children:" "})]},t))})})}var R=(i=>(i[i.Video=0]="Video",i[i.Audio=1]="Audio",i))(R||{});export{H as A,R as P,A as a};
|
|
2
|
+
//# sourceMappingURL=CW0X_Az5.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CW0X_Az5.chunk.js","sources":["../../src/shared/components/accordion-list/AccordionList.tsx","../../src/shared/components/accordion-list/partial-loading/PartialAccordionList.tsx","../../src/apps/tv/interfaces/enums/ProgramType.ts"],"sourcesContent":["import React from 'react';\n\nimport { Caret } from 'libs/shared/components/caret/Caret';\n\nimport styles from './accordion-list.module.scss';\n\nexport function AccordionList(props: React.PropsWithChildren) {\n return (\n <ul className='striped-list list-unstyled no-full-width'>\n {props.children}\n </ul>\n );\n}\n\ninterface AccordionListProps {\n title?: string;\n}\n\nfunction AccordionListHeader(props: React.PropsWithChildren<AccordionListProps>) {\n const [ show, setShow ] = React.useState(false);\n const [ programsStyle, setProgramsStyle ] = React.useState<React.CSSProperties>({});\n const [ dynamicHeight, setDynamicHeight ] = React.useState(0);\n\n const accordionBodyRef = React.useRef<HTMLDivElement>(null);\n const hideProgramsTimeRef = React.useRef<number>(null);\n const showProgramsTimeRef = React.useRef<number>(null);\n const animationFrameRef = React.useRef<number>(null);\n\n function handleSetShow() {\n if (show) {\n setProgramsStyle({ maxHeight: 0, opacity: 1 });\n setDynamicHeight(0);\n hideProgramsTimeRef.current = window.setTimeout(() => setShow(false), 400);\n } else {\n setShow(true);\n showProgramsTimeRef.current = window.setTimeout(() => {\n setProgramsStyle({ maxHeight: 'max-content', opacity: 0, position: 'absolute' });\n });\n }\n }\n\n React.useEffect(() => {\n if (!show) return;\n\n const accordionContentHeight = Math.ceil(accordionBodyRef.current?.getBoundingClientRect().height);\n const isHidden = programsStyle.opacity === 0;\n\n if (isHidden) {\n setDynamicHeight(accordionContentHeight);\n }\n\n if (isHidden && dynamicHeight) {\n setProgramsStyle({ position: 'relative' });\n animationFrameRef.current = window.requestAnimationFrame(\n () => setProgramsStyle({ maxHeight: dynamicHeight, opacity: 1 })\n );\n }\n }, [ show, dynamicHeight, programsStyle.maxHeight ]);\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(hideProgramsTimeRef.current);\n window.clearTimeout(showProgramsTimeRef.current);\n window.cancelAnimationFrame(animationFrameRef.current);\n };\n }, []);\n \n return (\n <li className='position-relative'>\n <div\n className={'cursor-pointer d-flex align-items-center py-2 px-3'}\n onClick={handleSetShow}\n >\n <div className='ms-1'>\n <Caret direction={show ? 'down' : 'right'} />\n </div>\n <span className={`${show ? 'fw-semibold' : ''} user-select-none ms-2`}>{props.title}</span>\n </div>\n {show && (\n <div className='bg-white'>\n <div\n ref={accordionBodyRef}\n className={`${styles.accordionHeader}`}\n style={programsStyle}\n >\n {props.children}\n </div>\n </div>\n )}\n </li>\n );\n}\n\nAccordionList.Header = AccordionListHeader;","import React from 'react';\n\nexport function PartialAccordionList() {\n return (\n <>\n <ul className='list-unstyled'>\n {[...Array(20)].map((_, index) => (\n <li key={index} className={`${index % 2 === 0 ? 'partial-loading-background' : ''} d-flex w-100 p-2`}>\n <div className='svg-container'></div>\n <span> </span>\n </li>\n ))}\n </ul>\n </>\n );\n}\n","export enum ProgramType {\n Video = 0,\n Audio = 1\n}"],"names":["AccordionList","props","jsx","AccordionListHeader","show","setShow","React","programsStyle","setProgramsStyle","dynamicHeight","setDynamicHeight","accordionBodyRef","hideProgramsTimeRef","showProgramsTimeRef","animationFrameRef","handleSetShow","accordionContentHeight","_a","isHidden","jsxs","Caret","styles","PartialAccordionList","Fragment","_","index","ProgramType"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as a}from"./app-C44h5z5p.js";function h(l){return a.jsx("svg",{...l,children:a.jsx("path",{fill:"currentColor",d:"M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z"})})}function t(l){return a.jsx("svg",{...l,children:a.jsx("path",{d:"M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1",fill:"currentColor"})})}export{h as F,t as a};
|
|
2
|
+
//# sourceMappingURL=CbaWlt2e.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CbaWlt2e.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/FolderSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileImgSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function FolderSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M4.007 5.007A1.73 1.73 0 0 1 5.23 4.5h3.077a1.73 1.73 0 0 1 1.384.692l1.327 1.77h7.75a1.73 1.73 0 0 1 1.731 1.73v8.616a1.73 1.73 0 0 1-1.73 1.73H5.23a1.73 1.73 0 0 1-1.73-1.73V6.23c0-.46.182-.9.507-1.224M5.23 5.5a.73.73 0 0 0-.731.73V9.5h15v-.808a.73.73 0 0 0-.73-.73h-8a.5.5 0 0 1-.4-.2l-1.478-1.97a.73.73 0 0 0-.584-.292zm14.269 5h-15v6.808a.73.73 0 0 0 .73.73h13.54a.73.73 0 0 0 .73-.73z'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileImgSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["FolderSvg","props","jsx","FileImgSvg"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,wYAAA,CAAA,EAEN,CAEJ,CCTO,SAASC,EAAWF,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iVACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a2 as f,T as o,a as p,b as c,L as E,an as A}from"./app-C44h5z5p.js";import{L}from"./Di6TX7bW.chunk.js";function x(a){var g,h;const{folderId:e,firstItem:r,lastItem:u,getAppLink:m}=a,l=f(e&&L.folderParentTree(e));if(!((h=(g=l.data)==null?void 0:g.children)!=null&&h.length))return[];const s=l.data.children.map(t=>({node:t,path:[t]}));let n=[];for(;s.length;){const{node:t,path:d}=s.pop();t.data.id.toString()===e.toString()&&(n=d.map(i=>({name:i.data.name,appLink:m(i)}))),t.children&&s.push(...t.children.map(i=>({node:i,path:[...d,i]})))}return r&&n.unshift(r),u&&n.push(u),a.setLastActive!==!1&&(n[n.length-1].active=!0),n}const S="exchange.exchangeUtils",k=E.encloseNamespace(S);function y(a){return{application:c.EXCHANGE,action:p.Exchange.PREVIEW,args:[a.id,o.slugify(a.name)]}}function C(a,e){return a!=null&&a.id?{application:c.EXCHANGE,action:p.Exchange.SERIES,args:[a.id,o.slugify(a.name)],params:{sort:e??A.Series}}:null}function I(a,e){return a?{application:c.EXCHANGE,action:p.Exchange.FOLDER,args:[a.id,o.slugify(a.name)],params:{sort:e}}:null}function G(a,e){return x({folderId:a,getAppLink:r=>I(r.data,e),firstItem:{name:k("exchangeArchive"),appLink:{application:c.EXCHANGE,action:p.Exchange.INDEX}}})}export{y as a,C as b,I as g,G as u};
|
|
2
|
+
//# sourceMappingURL=CeKBw2vH.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CeKBw2vH.chunk.js","sources":["../../../../libs/shared/src/hooks/useBuildBreadcrumbs.ts","../../src/apps/exchange/utils/ExchangeUtils.ts"],"sourcesContent":["import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n setLastActive?: boolean;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(\n folderId && LibraryRequests.folderParentTree(folderId)\n );\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n if (options.setLastActive !== false)\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library, Series, Video } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getVideoAppLink(video: Video): Core.AppLink {\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.PREVIEW,\n args: [ video.id, TextHelper.slugify(video.name) ]\n };\n}\n\nexport function getSeriesAppLink(series: Series, sort?: string): Core.AppLink {\n if (!series?.id)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SERIES,\n args: [ series.id, TextHelper.slugify(series.name) ],\n params: {\n sort: sort ?? VideoSortType.Series\n }\n };\n}\n\nexport function getFolderAppLink(folder: Folder, sort?: string): Core.AppLink {\n if (!folder)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.FOLDER,\n args: [ folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < (folder.name?.length ?? 0); i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => getFolderAppLink(object.data, sort),\n firstItem: {\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }\n });\n}"],"names":["useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","Flight.useBasicFetch","LibraryRequests","_b","_a","searchStack","c","breadcrumbs","node","path","object","namespace","getPhrase","LanguageService","getVideoAppLink","video","AppChannels","Actions","TextHelper","getSeriesAppLink","series","sort","VideoSortType","getFolderAppLink","folder","useGetFolderBreadcrumbs"],"mappings":"8GAeO,SAASA,EAAoBC,EAAqC,SACvE,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,SAAAC,EAAU,WAAAC,GAAeJ,EAEhDK,EAAaC,EACjBL,GAAYM,EAAgB,iBAAiBN,CAAQ,CAAA,EAGvD,GAAI,GAACO,GAAAC,EAAAJ,EAAW,OAAX,YAAAI,EAAiB,WAAjB,MAAAD,EAA2B,QAC9B,MAAO,CAAA,EAET,MAAME,EAGAL,EAAW,KAAK,SAAS,IAAIM,IAAM,CAAE,KAAMA,EAAG,KAAM,CAACA,CAAC,GAAG,EAE/D,IAAIC,EAA4B,CAAA,EAEhC,KAAOF,EAAY,QAAQ,CACzB,KAAM,CAAE,KAAAG,EAAM,KAAAC,GAASJ,EAAY,IAAA,EAE/BG,EAAK,KAAK,GAAG,SAAA,IAAeZ,EAAS,SAAA,IACvCW,EAAcE,EAAK,IAAIC,IAAW,CAChC,KAAMA,EAAO,KAAK,KAClB,QAASX,EAAWW,CAAM,CAAA,EAC1B,GAEAF,EAAK,UACPH,EAAY,KAAK,GAAGG,EAAK,SAAS,QAAU,CAAE,KAAMF,EAAG,KAAM,CAAE,GAAGG,EAAMH,CAAE,CAAA,EAAG,CAAC,CAClF,CAEA,OAAIT,GAAWU,EAAY,QAAQV,CAAS,EACxCC,GAAUS,EAAY,KAAKT,CAAQ,EAEnCH,EAAQ,gBAAkB,KAC5BY,EAAYA,EAAY,OAAS,CAAC,EAAE,OAAS,IAExCA,CACT,CCvCA,MAAMI,EAAY,yBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,EAAgBC,EAA4B,CAC1D,MAAO,CACL,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,QACzB,KAAM,CAAEF,EAAM,GAAIG,EAAW,QAAQH,EAAM,IAAI,CAAE,CAAA,CAErD,CAEO,SAASI,EAAiBC,EAAgBC,EAA6B,CAC5E,OAAKD,GAAA,MAAAA,EAAQ,GAGN,CACL,YAAaJ,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEG,EAAO,GAAIF,EAAW,QAAQE,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAMC,GAAQC,EAAc,MAAA,CAC9B,EARO,IAUX,CAEO,SAASC,EAAiBC,EAAgBH,EAA6B,CAC5E,OAAKG,EAGE,CACL,YAAaR,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEO,EAAO,GAAIN,EAAW,QAAQM,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAAH,CAAA,CACF,EARO,IAUX,CAYO,SAASI,EAAwB7B,EAAkByB,EAAmC,CAC3F,OAAO3B,EAAoB,CACzB,SAAAE,EACA,WAAYc,GAAUa,EAAiBb,EAAO,KAAMW,CAAI,EACxD,UAAW,CACT,KAAMT,EAAU,iBAAiB,EACjC,QAAS,CACP,YAAaI,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC3B,CACF,CACD,CACH"}
|