@clickview/streamable-learning 0.34.1-dev.2 → 0.35.0-rc.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/bundles.json +2 -2
- package/dist/css/103-streamable-learning-5060b6cda5.chunk.css +7 -0
- package/dist/css/1269-streamable-learning-a12c4ebc99.chunk.css +2 -0
- package/dist/css/1457-streamable-learning-c8c8b3b9b1.chunk.css +50 -0
- package/dist/css/2334-streamable-learning-de03ae073a.chunk.css +2 -0
- package/dist/css/3322-streamable-learning-510e1aa3f3.chunk.css +34 -0
- package/dist/css/3838-streamable-learning-da10685fe8.chunk.css +22 -0
- package/dist/css/4254-streamable-learning-e493f4a027.chunk.css +2 -0
- package/dist/css/4607-streamable-learning-2605302fc2.chunk.css +90 -0
- package/dist/css/4772-streamable-learning-f83b838d71.chunk.css +9 -0
- package/dist/css/5003-streamable-learning-b38d2ddbbe.chunk.css +98 -0
- package/dist/css/5565-streamable-learning-0caae3809b.chunk.css +13 -0
- package/dist/css/6017-streamable-learning-098a205d01.chunk.css +6 -0
- package/dist/css/6356-streamable-learning-8c5b220bf6.chunk.css +1 -0
- package/dist/css/6987-streamable-learning-8f682301c6.chunk.css +1 -0
- package/dist/css/7317-streamable-learning-b5d226bbb6.chunk.css +5 -0
- package/dist/css/8058-streamable-learning-539cf7be18.chunk.css +12 -0
- package/dist/css/8294-streamable-learning-c797263ac2.chunk.css +1 -0
- package/dist/css/8496-streamable-learning-ce19f6ca52.chunk.css +13 -0
- package/dist/css/8601-streamable-learning-f525210660.chunk.css +6 -0
- package/dist/css/9514-streamable-learning-251703c6d1.chunk.css +2 -0
- package/dist/css/9766-streamable-learning-31650ffe5d.chunk.css +8 -0
- package/dist/css/9842-streamable-learning-24729103f7.chunk.css +4 -0
- package/dist/css/9899-streamable-learning-0338f8d2dc.chunk.css +4 -0
- package/dist/css/streamable-learning-dd0c1095d5.css +23 -0
- package/dist/languages/en.json +1 -0
- package/dist/scripts/103-aceced8961-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js.LICENSE.txt +105 -0
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/1457-899f40d09a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1482-b1dd75897c-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js.LICENSE.txt +9 -0
- package/dist/scripts/2042-d51622d63e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2087-eba9033b1c-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2245-8cd3224e1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2334-00b028191d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js +2 -0
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/2877-5ffc9711f6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2911-2ec3a6600a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3057-731a8ca978-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3093-efbcc927ea-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3186-d1a6ccffde-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3322-33c015dec9-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3838-4a38f33dc2-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +1 -0
- package/dist/scripts/4254-ef581b8105-streamable-learning.chunk.js +1 -0
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js +2 -0
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js +2 -0
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js +2 -0
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/5088-2e09e1ba6e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5446-2cbe9f9d1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5543-205aaa36a6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5565-224d86dc1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +1 -0
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js +2 -0
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/6356-eefa3ff22e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js +2 -0
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/6987-e58de31cfe-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7317-6b7186c85d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7347-772848ba8a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js +2 -0
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/7904-96574373ca-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8058-51c4b442d6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js +2 -0
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js.LICENSE.txt +60 -0
- package/dist/scripts/8397-39ce77876d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js +2 -0
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/8599-b74e1ab6e3-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8601-37783cf18b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8819-2a50dd6a9b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8937-5103db88d8-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9390-bbaf07ad0f-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js +2 -0
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/9842-36d830ee87-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js +2 -0
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/bundle-7ea4deeaa8.min.js +2 -0
- package/dist/scripts/bundle-7ea4deeaa8.min.js.LICENSE.txt +108 -0
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js +2 -0
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js.LICENSE.txt +21 -0
- package/package.json +3 -5
- package/typings/utils/imports.d.ts +1 -2
- 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/css/B-attovs.chunk.css +0 -9
- package/dist/css/B1NucFMn.chunk.css +0 -1
- package/dist/css/BPdg7JW4.chunk.css +0 -1
- package/dist/css/BPrUSCaY.chunk.css +0 -1
- package/dist/css/BR0fUt9D.chunk.css +0 -1
- package/dist/css/BhYm6SRm.chunk.css +0 -1
- package/dist/css/BiRz4h1c.chunk.css +0 -1
- package/dist/css/Bq1ChJn4.chunk.css +0 -1
- package/dist/css/Bt85j9js.chunk.css +0 -1
- package/dist/css/BuYrqi9E.chunk.css +0 -1
- package/dist/css/BugV1Bpa.chunk.css +0 -1
- package/dist/css/BuuVPl7n.chunk.css +0 -1
- package/dist/css/C1NkrNqQ.chunk.css +0 -1
- package/dist/css/C1qv5jz5.chunk.css +0 -1
- package/dist/css/C7XoyEPr.chunk.css +0 -1
- package/dist/css/C7_MDu56.chunk.css +0 -1
- package/dist/css/CC5F5C8O.chunk.css +0 -1
- package/dist/css/CChSC6Ta.chunk.css +0 -1
- package/dist/css/CCsCPLDG.chunk.css +0 -1
- package/dist/css/CD1qrI1T.chunk.css +0 -1
- package/dist/css/CKqvCBj4.chunk.css +0 -1
- package/dist/css/CLZ0Ycds.chunk.css +0 -1
- package/dist/css/CO7M4rZW.chunk.css +0 -1
- package/dist/css/CY0yvCW4.chunk.css +0 -1
- package/dist/css/CYGsw8FT.chunk.css +0 -1
- package/dist/css/Cbi3KYBa.chunk.css +0 -1
- package/dist/css/CliS8Q8r.chunk.css +0 -1
- package/dist/css/D-kQKsZN.chunk.css +0 -1
- package/dist/css/D2NwUVrK.chunk.css +0 -1
- package/dist/css/D4g1IoUU.chunk.css +0 -1
- package/dist/css/DBgpcO3T.chunk.css +0 -1
- package/dist/css/DDnpOnVB.chunk.css +0 -1
- package/dist/css/DZJSONGP.chunk.css +0 -1
- package/dist/css/Dc0zNt2E.chunk.css +0 -1
- package/dist/css/DeAfaPiD.chunk.css +0 -1
- package/dist/css/Dj731zLm.chunk.css +0 -1
- package/dist/css/DjPPxa0A.chunk.css +0 -1
- package/dist/css/DlOtoSz0.chunk.css +0 -1
- package/dist/css/DwduQat7.chunk.css +0 -1
- package/dist/css/Dzuu2GTx.chunk.css +0 -1
- package/dist/css/JAvsJreH.chunk.css +0 -1
- package/dist/css/NKlFYVOc.chunk.css +0 -1
- package/dist/css/VZd8qGtK.chunk.css +0 -1
- package/dist/css/Y7U--2na.chunk.css +0 -1
- package/dist/css/ir3IcK_l.chunk.css +0 -1
- package/dist/css/jbMisi9r.chunk.css +0 -1
- package/dist/css/kS5aDtIJ.chunk.css +0 -1
- package/dist/css/mqCL1o7m.chunk.css +0 -1
- package/dist/css/qZzkUeZk.chunk.css +0 -1
- package/dist/css/sC_H3yXE.chunk.css +0 -1
- package/dist/css/wR_6C_NV.chunk.css +0 -1
- package/dist/en.json +0 -1
- package/dist/scripts/7tlnqdEj.chunk.js +0 -2
- package/dist/scripts/7tlnqdEj.chunk.js.map +0 -1
- package/dist/scripts/82OY25pR.chunk.js +0 -2
- package/dist/scripts/82OY25pR.chunk.js.map +0 -1
- package/dist/scripts/8JOxjlae.chunk.js +0 -15
- package/dist/scripts/8JOxjlae.chunk.js.map +0 -1
- package/dist/scripts/B-_Kgmt0.chunk.js +0 -2
- package/dist/scripts/B-_Kgmt0.chunk.js.map +0 -1
- package/dist/scripts/B0KMLOp5.chunk.js +0 -2
- package/dist/scripts/B0KMLOp5.chunk.js.map +0 -1
- package/dist/scripts/B1QWJfPw.chunk.js +0 -3
- package/dist/scripts/B1QWJfPw.chunk.js.map +0 -1
- package/dist/scripts/B26T27lj.chunk.js +0 -2
- package/dist/scripts/B26T27lj.chunk.js.map +0 -1
- package/dist/scripts/B32lL5ga.chunk.js +0 -2
- package/dist/scripts/B32lL5ga.chunk.js.map +0 -1
- package/dist/scripts/B5lCwpXp.chunk.js +0 -2
- package/dist/scripts/B5lCwpXp.chunk.js.map +0 -1
- package/dist/scripts/B8qPNVvK.chunk.js +0 -2
- package/dist/scripts/B8qPNVvK.chunk.js.map +0 -1
- package/dist/scripts/BBnDr_iy.chunk.js +0 -2
- package/dist/scripts/BBnDr_iy.chunk.js.map +0 -1
- package/dist/scripts/BCQ0kOEO.chunk.js +0 -6
- package/dist/scripts/BCQ0kOEO.chunk.js.map +0 -1
- package/dist/scripts/BCyuhFou.chunk.js +0 -2
- package/dist/scripts/BCyuhFou.chunk.js.map +0 -1
- package/dist/scripts/BF7Uu3LW.chunk.js +0 -2
- package/dist/scripts/BF7Uu3LW.chunk.js.map +0 -1
- package/dist/scripts/BG6_Ss4G.chunk.js +0 -2
- package/dist/scripts/BG6_Ss4G.chunk.js.map +0 -1
- package/dist/scripts/BMrWb7Ku.chunk.js +0 -2
- package/dist/scripts/BMrWb7Ku.chunk.js.map +0 -1
- package/dist/scripts/BQH1xd9z.chunk.js +0 -2
- package/dist/scripts/BQH1xd9z.chunk.js.map +0 -1
- package/dist/scripts/BW1iqZG2.chunk.js +0 -2
- package/dist/scripts/BW1iqZG2.chunk.js.map +0 -1
- package/dist/scripts/BdHxGaRy.chunk.js +0 -2
- package/dist/scripts/BdHxGaRy.chunk.js.map +0 -1
- package/dist/scripts/BdniDID_.chunk.js +0 -2
- package/dist/scripts/BdniDID_.chunk.js.map +0 -1
- package/dist/scripts/BeTQIGnj.chunk.js +0 -2
- package/dist/scripts/BeTQIGnj.chunk.js.map +0 -1
- package/dist/scripts/Bf3WCYXw.chunk.js +0 -8
- package/dist/scripts/Bf3WCYXw.chunk.js.map +0 -1
- package/dist/scripts/Bh4NsrSi.chunk.js +0 -2
- package/dist/scripts/Bh4NsrSi.chunk.js.map +0 -1
- package/dist/scripts/BjOv-usB.chunk.js +0 -2
- package/dist/scripts/BjOv-usB.chunk.js.map +0 -1
- package/dist/scripts/BkGt8Gr1.chunk.js +0 -2
- package/dist/scripts/BkGt8Gr1.chunk.js.map +0 -1
- package/dist/scripts/BlFiywl_.chunk.js +0 -2
- package/dist/scripts/BlFiywl_.chunk.js.map +0 -1
- package/dist/scripts/BoNyBWaZ.chunk.js +0 -2
- package/dist/scripts/BoNyBWaZ.chunk.js.map +0 -1
- package/dist/scripts/Bvum7-8x.chunk.js +0 -8
- package/dist/scripts/Bvum7-8x.chunk.js.map +0 -1
- package/dist/scripts/BwDmMfAz.chunk.js +0 -2
- package/dist/scripts/BwDmMfAz.chunk.js.map +0 -1
- package/dist/scripts/BwgQZkdi.chunk.js +0 -2
- package/dist/scripts/BwgQZkdi.chunk.js.map +0 -1
- package/dist/scripts/C-7yn3rc.chunk.js +0 -2
- package/dist/scripts/C-7yn3rc.chunk.js.map +0 -1
- package/dist/scripts/C-pJ0Wi3.chunk.js +0 -2
- package/dist/scripts/C-pJ0Wi3.chunk.js.map +0 -1
- package/dist/scripts/C35NlkUr.chunk.js +0 -2
- package/dist/scripts/C35NlkUr.chunk.js.map +0 -1
- package/dist/scripts/C36-3UWl.chunk.js +0 -2
- package/dist/scripts/C36-3UWl.chunk.js.map +0 -1
- package/dist/scripts/C3fMNXil.chunk.js +0 -2
- package/dist/scripts/C3fMNXil.chunk.js.map +0 -1
- package/dist/scripts/C8Br2CdQ.chunk.js +0 -2
- package/dist/scripts/C8Br2CdQ.chunk.js.map +0 -1
- package/dist/scripts/CEmtkty-.chunk.js +0 -2
- package/dist/scripts/CEmtkty-.chunk.js.map +0 -1
- package/dist/scripts/CFs3kdQx.chunk.js +0 -53
- package/dist/scripts/CFs3kdQx.chunk.js.map +0 -1
- package/dist/scripts/CGNCg1fO.chunk.js +0 -2
- package/dist/scripts/CGNCg1fO.chunk.js.map +0 -1
- package/dist/scripts/CPXlV0fg.chunk.js +0 -2
- package/dist/scripts/CPXlV0fg.chunk.js.map +0 -1
- package/dist/scripts/CSoZBG8v.chunk.js +0 -2
- package/dist/scripts/CSoZBG8v.chunk.js.map +0 -1
- package/dist/scripts/CW7x8M-z.chunk.js +0 -2
- package/dist/scripts/CW7x8M-z.chunk.js.map +0 -1
- package/dist/scripts/CWHjB5Ye.chunk.js +0 -2
- package/dist/scripts/CWHjB5Ye.chunk.js.map +0 -1
- package/dist/scripts/CXslDtbb.chunk.js +0 -2
- package/dist/scripts/CXslDtbb.chunk.js.map +0 -1
- package/dist/scripts/CZLZ0bbA.chunk.js +0 -2
- package/dist/scripts/CZLZ0bbA.chunk.js.map +0 -1
- package/dist/scripts/CZafJWQk.chunk.js +0 -2
- package/dist/scripts/CZafJWQk.chunk.js.map +0 -1
- package/dist/scripts/CbFIe2Y6.chunk.js +0 -2
- package/dist/scripts/CbFIe2Y6.chunk.js.map +0 -1
- package/dist/scripts/Cg8SIDnK.chunk.js +0 -8
- package/dist/scripts/Cg8SIDnK.chunk.js.map +0 -1
- package/dist/scripts/Cib9o4sK.chunk.js +0 -2
- package/dist/scripts/Cib9o4sK.chunk.js.map +0 -1
- package/dist/scripts/Ciyuu-YU.chunk.js +0 -356
- package/dist/scripts/Ciyuu-YU.chunk.js.map +0 -1
- package/dist/scripts/CkMhHhda.chunk.js +0 -2
- package/dist/scripts/CkMhHhda.chunk.js.map +0 -1
- package/dist/scripts/CmAQo6rx.chunk.js +0 -2
- package/dist/scripts/CmAQo6rx.chunk.js.map +0 -1
- package/dist/scripts/CmcmWGL0.chunk.js +0 -2
- package/dist/scripts/CmcmWGL0.chunk.js.map +0 -1
- package/dist/scripts/Cmu1J2M7.chunk.js +0 -262
- package/dist/scripts/Cmu1J2M7.chunk.js.map +0 -1
- package/dist/scripts/CrkRNOU9.chunk.js +0 -2
- package/dist/scripts/CrkRNOU9.chunk.js.map +0 -1
- package/dist/scripts/CskJerl_.chunk.js +0 -2
- package/dist/scripts/CskJerl_.chunk.js.map +0 -1
- package/dist/scripts/Ct_IIxaS.chunk.js +0 -2
- package/dist/scripts/Ct_IIxaS.chunk.js.map +0 -1
- package/dist/scripts/Cuuw0EUi.chunk.js +0 -8
- package/dist/scripts/Cuuw0EUi.chunk.js.map +0 -1
- package/dist/scripts/Cz45aonc.chunk.js +0 -2
- package/dist/scripts/Cz45aonc.chunk.js.map +0 -1
- package/dist/scripts/D-I94wdL.chunk.js +0 -7
- package/dist/scripts/D-I94wdL.chunk.js.map +0 -1
- package/dist/scripts/D0UlXsF8.chunk.js +0 -2
- package/dist/scripts/D0UlXsF8.chunk.js.map +0 -1
- package/dist/scripts/D0cZC7S-.chunk.js +0 -2
- package/dist/scripts/D0cZC7S-.chunk.js.map +0 -1
- package/dist/scripts/D1D6Gqx1.chunk.js +0 -2
- package/dist/scripts/D1D6Gqx1.chunk.js.map +0 -1
- package/dist/scripts/D3tziVkG.chunk.js +0 -2
- package/dist/scripts/D3tziVkG.chunk.js.map +0 -1
- package/dist/scripts/D4MOOnR6.chunk.js +0 -2
- package/dist/scripts/D4MOOnR6.chunk.js.map +0 -1
- package/dist/scripts/D83kc0Wf.chunk.js +0 -2
- package/dist/scripts/D83kc0Wf.chunk.js.map +0 -1
- package/dist/scripts/D8dAIhzO.chunk.js +0 -2
- package/dist/scripts/D8dAIhzO.chunk.js.map +0 -1
- package/dist/scripts/DBp0J6X9.chunk.js +0 -2
- package/dist/scripts/DBp0J6X9.chunk.js.map +0 -1
- package/dist/scripts/DCds0mCy.chunk.js +0 -2
- package/dist/scripts/DCds0mCy.chunk.js.map +0 -1
- package/dist/scripts/DEwFBSVv.chunk.js +0 -2
- package/dist/scripts/DEwFBSVv.chunk.js.map +0 -1
- package/dist/scripts/DF55CDS8.chunk.js +0 -2
- package/dist/scripts/DF55CDS8.chunk.js.map +0 -1
- package/dist/scripts/DFw_xy-Y.chunk.js +0 -2
- package/dist/scripts/DFw_xy-Y.chunk.js.map +0 -1
- package/dist/scripts/DIGYepWa.chunk.js +0 -2
- package/dist/scripts/DIGYepWa.chunk.js.map +0 -1
- package/dist/scripts/DKeFeMvi.chunk.js +0 -2
- package/dist/scripts/DKeFeMvi.chunk.js.map +0 -1
- package/dist/scripts/DKqLfL60.chunk.js +0 -5
- package/dist/scripts/DKqLfL60.chunk.js.map +0 -1
- package/dist/scripts/DLJB8vZh.chunk.js +0 -2
- package/dist/scripts/DLJB8vZh.chunk.js.map +0 -1
- package/dist/scripts/DNtSrq_L.chunk.js +0 -2
- package/dist/scripts/DNtSrq_L.chunk.js.map +0 -1
- package/dist/scripts/DOHPsm0Q.chunk.js +0 -2
- package/dist/scripts/DOHPsm0Q.chunk.js.map +0 -1
- package/dist/scripts/DP-ErTOD.chunk.js +0 -2
- package/dist/scripts/DP-ErTOD.chunk.js.map +0 -1
- package/dist/scripts/DUwkrIwb.chunk.js +0 -2
- package/dist/scripts/DUwkrIwb.chunk.js.map +0 -1
- package/dist/scripts/DUyJfVnL.chunk.js +0 -2
- package/dist/scripts/DUyJfVnL.chunk.js.map +0 -1
- package/dist/scripts/DVfbSloY.chunk.js +0 -2
- package/dist/scripts/DVfbSloY.chunk.js.map +0 -1
- package/dist/scripts/DWvpibWQ.chunk.js +0 -2
- package/dist/scripts/DWvpibWQ.chunk.js.map +0 -1
- package/dist/scripts/DYmgSjx-.chunk.js +0 -10
- package/dist/scripts/DYmgSjx-.chunk.js.map +0 -1
- package/dist/scripts/D_EfITTc.chunk.js +0 -2
- package/dist/scripts/D_EfITTc.chunk.js.map +0 -1
- package/dist/scripts/DayWKE6G.chunk.js +0 -2
- package/dist/scripts/DayWKE6G.chunk.js.map +0 -1
- package/dist/scripts/DcOpKno_.chunk.js +0 -2
- package/dist/scripts/DcOpKno_.chunk.js.map +0 -1
- package/dist/scripts/DgMPP2NS.chunk.js +0 -2
- package/dist/scripts/DgMPP2NS.chunk.js.map +0 -1
- package/dist/scripts/DhWvZ3GP.chunk.js +0 -2
- package/dist/scripts/DhWvZ3GP.chunk.js.map +0 -1
- package/dist/scripts/Digrmnl9.chunk.js +0 -2
- package/dist/scripts/Digrmnl9.chunk.js.map +0 -1
- package/dist/scripts/DjWOPQVv.chunk.js +0 -2
- package/dist/scripts/DjWOPQVv.chunk.js.map +0 -1
- package/dist/scripts/DkSHJqHu.chunk.js +0 -2
- package/dist/scripts/DkSHJqHu.chunk.js.map +0 -1
- package/dist/scripts/Dpq10cRY.chunk.js +0 -2
- package/dist/scripts/Dpq10cRY.chunk.js.map +0 -1
- package/dist/scripts/DrsDxQ8i.chunk.js +0 -2
- package/dist/scripts/DrsDxQ8i.chunk.js.map +0 -1
- package/dist/scripts/DrsVPpSl.chunk.js +0 -3
- package/dist/scripts/DrsVPpSl.chunk.js.map +0 -1
- package/dist/scripts/DvDdiDQN.chunk.js +0 -7
- package/dist/scripts/DvDdiDQN.chunk.js.map +0 -1
- package/dist/scripts/DwU9lZgg.chunk.js +0 -2
- package/dist/scripts/DwU9lZgg.chunk.js.map +0 -1
- package/dist/scripts/I8EoNmf8.chunk.js +0 -2
- package/dist/scripts/I8EoNmf8.chunk.js.map +0 -1
- package/dist/scripts/Im8afRMN.chunk.js +0 -2
- package/dist/scripts/Im8afRMN.chunk.js.map +0 -1
- package/dist/scripts/N_QgBckB.chunk.js +0 -2
- package/dist/scripts/N_QgBckB.chunk.js.map +0 -1
- package/dist/scripts/SnHtKbiQ.chunk.js +0 -2
- package/dist/scripts/SnHtKbiQ.chunk.js.map +0 -1
- package/dist/scripts/U-eF69sj.chunk.js +0 -2
- package/dist/scripts/U-eF69sj.chunk.js.map +0 -1
- package/dist/scripts/XarUQJMp.chunk.js +0 -2
- package/dist/scripts/XarUQJMp.chunk.js.map +0 -1
- package/dist/scripts/ZYx7Po5r.chunk.js +0 -2
- package/dist/scripts/ZYx7Po5r.chunk.js.map +0 -1
- package/dist/scripts/app-DfSv_-O3.js +0 -220
- package/dist/scripts/app-DfSv_-O3.js.map +0 -1
- package/dist/scripts/awsfwCdu.chunk.js +0 -2
- package/dist/scripts/awsfwCdu.chunk.js.map +0 -1
- package/dist/scripts/b1pZWz43.chunk.js +0 -2
- package/dist/scripts/b1pZWz43.chunk.js.map +0 -1
- package/dist/scripts/cvX-F_mx.chunk.js +0 -2
- package/dist/scripts/cvX-F_mx.chunk.js.map +0 -1
- package/dist/scripts/lBHPAFYv.chunk.js +0 -2
- package/dist/scripts/lBHPAFYv.chunk.js.map +0 -1
- package/dist/scripts/mP-Ymt5z.chunk.js +0 -2
- package/dist/scripts/mP-Ymt5z.chunk.js.map +0 -1
- package/dist/scripts/nay4aGaa.chunk.js +0 -2
- package/dist/scripts/nay4aGaa.chunk.js.map +0 -1
- package/dist/scripts/pkzD5BEm.chunk.js +0 -2
- package/dist/scripts/pkzD5BEm.chunk.js.map +0 -1
- package/dist/scripts/tHf2V3t0.chunk.js +0 -2
- package/dist/scripts/tHf2V3t0.chunk.js.map +0 -1
- package/vite.config.ts +0 -6
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a5 as u,a6 as c,bc as p,ao as l,D as w,a1 as d,bQ as _,c as E,i as f,P}from"./app-DfSv_-O3.js";import{a as o}from"./CEmtkty-.chunk.js";import{R as b,a as B}from"./C-pJ0Wi3.chunk.js";import{P as I}from"./pkzD5BEm.chunk.js";import{V as h}from"./I8EoNmf8.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,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{T as C,n as V};
|
|
2
|
-
//# sourceMappingURL=awsfwCdu.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"awsfwCdu.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 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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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ai as n,bu as h,bv as p,j as e,c as C,d as b,l as k,m as E}from"./app-DfSv_-O3.js";import{C as M}from"./DBp0J6X9.chunk.js";import{P}from"./CPXlV0fg.chunk.js";const y="shared.breadcrumbComponent",B=C.encloseNamespace(y),F=64,x=48,i=n.forwardRef((a,c)=>{const{breadcrumb:{name:s,appLink:o,active:m},withBackIcon:u}=a;let t=s,l=null;return t.length>x&&(t=s.slice(0,x)+"...",l=s),e.jsx("li",{className:`breadcrumb-item${m?" active":""}`,title:l,children:m?e.jsx("strong",{children:t}):e.jsxs(b,{appLink:o,ref:c,children:[u&&e.jsx(k,{svg:M,size:E.Small}),e.jsx("span",{className:u?"ms-2":"",children:t})]})})}),I=({breadcrumbs:a})=>{const c=h(p.XS),s=(a==null?void 0:a.length)||0,[o,m]=n.useState(!1),[u,t]=n.useState(!1),l=n.useRef(null);n.useEffect(()=>{const r=(a==null?void 0:a.reduce((d,L)=>d+L.name.length,0))??0;s>4&&r>F&&m(!0)},[a==null?void 0:a.length]),n.useLayoutEffect(()=>{var r;u&&((r=l.current)==null||r.focus())},[l.current,u]);function g(){m(!1),t(!0)}if(!s||c&&s<2)return e.jsx(e.Fragment,{});if(c)return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:e.jsx(i,{breadcrumb:a[s-2],withBackIcon:!0})})});const j=e.jsx(i,{breadcrumb:a[0]}),f=s>2?e.jsx(i,{breadcrumb:a[1]}):e.jsx(e.Fragment,{}),N=s>3?e.jsx(i,{breadcrumb:a[s-2]}):e.jsx(e.Fragment,{}),S=s>1?e.jsx(i,{breadcrumb:a[s-1]}):e.jsx(e.Fragment,{}),v=a.slice(2,s-2);return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsxs("ol",{className:"breadcrumb m-0 p-0",children:[j,f,o?e.jsx("li",{className:"breadcrumb-item",children:e.jsx("button",{className:"btn-link",onClick:g,"aria-label":B("expand"),children:"..."})}):v.map((r,d)=>e.jsx(i,{breadcrumb:r,ref:d===0?l:null},d)),N,S]})})},T=n.memo(function({numItems:a=3}){return h(p.XS)?e.jsx("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:P.getPartialLoadingItems({numItems:a}).map(({width:s},o)=>e.jsx("li",{className:"breadcrumb-item",children:e.jsx("span",{className:"d-inline-block partial-loading-background",style:{width:s},dangerouslySetInnerHTML:{__html:" "}})},o))})})});export{I as B,T as P};
|
|
2
|
-
//# sourceMappingURL=b1pZWz43.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"b1pZWz43.chunk.js","sources":["../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 64;\nconst MAX_SEGMENT_LENGTH = 48;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon } = props;\n\n let trimmedName = name;\n let title: string = null;\n\n if (trimmedName.length > MAX_SEGMENT_LENGTH) {\n trimmedName = name.slice(0, MAX_SEGMENT_LENGTH) + '...';\n\n // Only setting the title when we trim, because otherwise it's really not needed - Sha\n title = name;\n }\n\n return (\n <li\n className={`breadcrumb-item${active ? ' active' : ''}`}\n title={title}\n >\n {active\n ? <strong>{trimmedName}</strong>\n : <AppLink appLink={appLink} ref={ref}>\n {withBackIcon && <SvgContainer svg={ChevronLeftSvg} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{trimmedName}</span>\n </AppLink>\n }\n </li>\n );\n});\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 4 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const second = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[1]} /> : <></>;\n const secondLast = length > 3 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = length > 1 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} /> : <></>;\n const rest = breadcrumbs.slice(2, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {second}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n />\n ))\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});"],"names":["namespace","getPhrase","LanguageService","COLLAPSE_CHARACTER_COUNT","MAX_SEGMENT_LENGTH","BreadcrumbItem","React.forwardRef","props","ref","name","appLink","active","withBackIcon","trimmedName","title","jsx","jsxs","AppLink","SvgContainer","ChevronLeftSvg","SvgContainerSize","Breadcrumbs","breadcrumbs","isMobile","useMediaQuery","MediaQueryStrings","length","collapse","setCollapse","React.useState","shouldFocus","setShouldFocus","expandRef","React.useRef","React.useEffect","characterLength","prev","next","React.useLayoutEffect","_a","onClickExpand","Fragment","first","second","secondLast","last","rest","breadcrumb","idx","PartialBreadcrumbs","React.memo","numItems","PartialLoadingHelper","width"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cvX-F_mx.chunk.js","sources":["../../../../libs/shared/src/enums/ResourceFileType.ts"],"sourcesContent":["// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n"],"names":["ResourceFileType"],"mappings":"AACO,IAAKA,GAAAA,IACVA,EAAA,IAAM,MACNA,EAAA,MAAQ,QACRA,EAAA,WAAa,aACbA,EAAA,SAAW,WACXA,EAAA,MAAQ,QACRA,EAAA,IAAM,UACNA,EAAA,KAAO,OAPGA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a,b8 as b,T as $,au as L,ap as V,z as O,by as U,F as j,i as T,d as R,c as G,D as M,b7 as z,h as A,k as F,bO as B,bb as E,M as q,R as Y}from"./app-DfSv_-O3.js";import{R as P}from"./BlFiywl_.chunk.js";import{k as Z,e as J,T as K,f as Q,l as W,g as X}from"./CFs3kdQx.chunk.js";import{b as C,A as x,a as I,V as p,B as ee}from"./B1QWJfPw.chunk.js";import{B as D}from"./DLJB8vZh.chunk.js";import{I as H,a as k}from"./CbFIe2Y6.chunk.js";import{g as ae}from"./BBnDr_iy.chunk.js";import{B as u,a as v}from"./DF55CDS8.chunk.js";import{V as w}from"./awsfwCdu.chunk.js";const te="_playlistItem_euqll_1",ie="_playlistItemGradient_euqll_4",ne="_playlistMetadata_euqll_13",se="_partialHeading_euqll_20",le="_ownerAvatarContainer_euqll_24",o={playlistItem:te,playlistItemGradient:ie,playlistMetadata:ne,partialHeading:se,ownerAvatarContainer:le};re.defaultProps={numItems:8};function re(e){const t=[...Array(e.numItems)],n=e.itemClassName||"";return a.jsxs(a.Fragment,{children:[e.showHeading&&a.jsx("div",{className:`${o.partialHeading} mb-1 partial-loading-background`}),a.jsx(P,{className:"mx-n1 mb-n2",children:t.map((s,i)=>a.jsx(b,{xs:6,sm:4,lg:3,className:`${n} px-1 pb-2`,children:a.jsx("div",{className:`${o.playlistItem} partial-loading-background rounded-3`})},i))})]})}var ce=["second","minute","hour","day","week","month","year"];function oe(e,t){if(t===0)return["just now","right now"];var n=ce[Math.floor(t/2)];return e>1&&(n+="s"),[e+" "+n+" ago","in "+e+" "+n]}var de=["秒","分钟","小时","天","周","个月","年"];function me(e,t){if(t===0)return["刚刚","片刻后"];var n=de[~~(t/2)];return[e+" "+n+"前",e+" "+n+"后"]}var _={},S=function(e,t){_[e]=t},ue=function(e){return _[e]||_.en_US},f=[60,60,24,7,365/7/12,12];function ve(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function ge(e,t){var n=e<0?1:0;e=Math.abs(e);for(var s=e,i=0;e>=f[i]&&i<f.length;i++)e/=f[i];return e=Math.floor(e),i*=2,e>(i===0?9:1)&&(i+=1),t(e,i,s)[n].replace("%s",e.toString())}function ye(e,t){var n=new Date;return(+n-+ve(e))/1e3}var he=function(e,t,n){var s=ye(e);return ge(s,ue(t))};S("en_US",oe);S("zh_CN",me);const xe="playlists.playlistCount";function fe(e){var i,l,c;if(!e)return!1;const t=((i=e.videos)==null?void 0:i.count)??0,n=((l=e.interactives)==null?void 0:l.count)??0,s=((c=e.clips)==null?void 0:c.count)??0;return t+n+s}function be(e){const t=fe(e.playlist);return t===!1||Number.isNaN(t)?a.jsx(a.Fragment,{}):a.jsx("span",{className:"text-shadow font-size-sm",children:a.jsx($,{namespace:xe,phrase:"count",options:{smartCount:t}})})}const _e="_avatar_obb0e_1",je={avatar:_e};function Ce(){return a.jsx("div",{className:je.avatar,children:a.jsx(Z,{})})}function Ne(e){var i,l,c;const{_liteOwner:t}=e.playlist;if((i=e.playlist._isClickViewCurated)!=null&&i.value)return a.jsx(Ce,{});if(!(t!=null&&t.id)||!((l=e.currentUser)!=null&&l.id))return a.jsx(a.Fragment,{});if(t.id.toString()===e.currentUser.id.toString())return a.jsx(a.Fragment,{});const s=typeof t.avatar=="string"?t.avatar:(c=t.avatar)==null?void 0:c.url;return a.jsx(L,{imageUrl:s,imageCdnUrl:e.imageCdnUrl,initials:V.getInitials(t.name,t.surname)})}const we="playlists.playlistList";Te.defaultProps={itemStyle:"square"};function Te(e){var d,m;const t=O.createUrl(e.data.cover&&e.data.cover.url,{size:j.Medium,resizeType:U.Cover}),n=e.data.subjectPresentationAudiences&&e.data.subjectPresentationAudiences.data,s=C(n,e.presentationAudiences);let i=o.playlistItem;const l=!!t||!!e.showFallbackImage;l&&(i+=` ${o.playlistItemGradient}`),!l&&e.bgColourClassNames&&(i+=` ${o.playlistItem} ${ae(e.data.name,e.bgColourClassNames)}`),e.itemStyle==="round"&&(i+=" rounded-3 overflow-hidden"),e.itemStyle==="round-left"&&(i+=" rounded-start-lg overflow-hidden");const c={...e.analyticsData,id:(d=e.data)==null?void 0:d.id,name:(m=e.data)==null?void 0:m.name},g={...e.analyticsOptions,entity:T.Playlist},y=()=>{var N;return!e.data.contentModifiedDate||(N=e.data._isClickViewCurated)!=null&&N.value?"":G.getPhrase(we,"lastUpdated",{timeago:he(M.convertUTCToLocal(e.data.contentModifiedDate))})};return a.jsx(R,{appLink:e.appLink,analyticsData:c,analyticsOptions:g,title:y(),children:a.jsxs(D,{data:t,alt:e.data.name,className:i,children:[!!e.showFallbackImage&&a.jsx(H,{type:k.Playlist}),a.jsxs("div",{className:`text-white ${o.playlistMetadata}`,children:[!!e.showCount&&a.jsx(be,{playlist:e.data}),a.jsx("h5",{className:`mb-0 ${e.titleClassName||""}`,children:a.jsx("span",{className:"text-shadow clamp-2",children:e.data.name})}),!!n&&!!n.length&&!!s&&a.jsx(x,{className:`${e.audienceLabelClass?e.audienceLabelClass:""} mt-1`,audience:s,border:"white"})]}),!!e.showOwner&&!!e.imageCdnUrl&&a.jsx("div",{className:o.ownerAvatarContainer,children:a.jsx(Ne,{playlist:e.data,currentUser:e.currentUser,imageCdnUrl:e.imageCdnUrl})})]})})}F.Click,T.Playlist,A.PlaylistListItem,z.Cover;const Ae="_labelContainer_1rf8p_1",Pe="_labelContainerOverlay_1rf8p_15",Ie="_hoverActive_1rf8p_23",De="_mask_1rf8p_37",He="_largeHoverTitle_1rf8p_50",ke="_smallHoverTitle_1rf8p_69",Se="_largeHoverDescription_1rf8p_99",$e="_hasTableOfContents_1rf8p_141",Le="_smallHoverDescription_1rf8p_194",r={labelContainer:Ae,labelContainerOverlay:Pe,hoverActive:Ie,mask:De,largeHoverTitle:He,smallHoverTitle:ke,largeHoverDescription:Se,hasTableOfContents:$e,smallHoverDescription:Le};function Ve(e){return a.jsxs("div",{className:`py-3 mx-2 px-2 rounded bg-white text-center ${r.mask} d-flex flex-column align-items-center`,children:[a.jsx("h3",{className:`fw-semibold mb-0 ${r.hoverTitle} ${e.isSmall?r.smallHoverTitle:r.largeHoverTitle}`,children:a.jsx("span",{className:"clamp-3",children:e.series.name})}),!!e.series.description&&a.jsx("p",{className:`${e.hasTableOfContents?r.hasTableOfContents:""} ${r.hoverDescription} ${e.isSmall?r.smallHoverDescription:r.largeHoverDescription} mb-0`,children:e.series.description}),a.jsx("div",{className:`${r.labelContainerOverlay}`,children:e.mergedAudience?a.jsx(x,{audience:e.mergedAudience,border:"dark",className:"mt-2 w-fit"}):a.jsx(u,{type:v.Rating,data:I.getRating(e.series),className:"mt-2"})})]})}function Qe(e){const[t,n]=B({className:r.hoverActive}),s=e.series&&e.series.subjectPresentationAudiences&&e.series.subjectPresentationAudiences.data||[],i=C(s,e.presentationAudiences),l=!!(s&&s.length&&i);return a.jsx("div",{ref:t,children:a.jsxs(D,{data:e.series.tallPoster,alt:e.series.name,imageType:E.TallPosters,preload:e.preloadImage,imageOptions:{size:j.Large},imageClassName:e.imageClass?e.imageClass:"rounded-3",children:[n&&a.jsx(Ve,{isSmall:e.isSmall,series:e.series,mergedAudience:s&&s.length?i:null,hasTableOfContents:e.hasTableOfContents}),a.jsx(H,{type:k.Series}),a.jsx("div",{className:`position-absolute text-white text-shadow ${r.labelContainer}`,children:l?a.jsx(x,{audience:i,border:"white"}):a.jsx(u,{type:v.Rating,data:I.getRating(e.series)})})]})})}const Oe="_guidance_pydn0_30",Ue="_responsiveGuidance_pydn0_41",Re="_description_pydn0_56",Ge="_details_pydn0_82",h={guidance:Oe,responsiveGuidance:Ue,description:Re,details:Ge};Me.defaultProps={newDurationStyle:!0,badgePosition:"thumbnail"};function Me(e){var l,c,g,y,d,m;const t=(c=(l=e.video)==null?void 0:l.subjectPresentationAudiences)==null?void 0:c.data,n=C(t,e.presentationAudiences),s=q.mergeOptions(e.analyticsOptions,{location:A.ClassificationHero,entity:w.getAnalyticsEntity(e.video)}),i=Y.useRef(null);return e.video?a.jsxs(P,{children:[a.jsx(b,{xs:12,md:6,children:a.jsx("div",{ref:i,children:a.jsx(J,{analyticsOptions:s,video:e.video,appLink:(g=e.getVideoAppLink)==null?void 0:g.call(e,e.video,{}),imageOptions:{size:j.Medium},textPosition:K.Independent,type:"static",audience:e.badgePosition==="thumbnail"?n:null,hideRating:e.badgePosition==="thumbnail"?!!n:!0,commonVideoProps:e.commonVideoProps})})}),a.jsxs(b,{xs:12,md:6,className:`${h.details} position-relative`,children:[a.jsxs("div",{className:"d-flex justify-content-between",children:[a.jsxs("div",{className:"overflow-hidden",children:[a.jsx(p,{type:e.commonVideoProps.subTextType,appLink:(d=(y=e.commonVideoProps).getSubTextAppLink)==null?void 0:d.call(y,e.video),analyticsData:e.analyticsData,analyticsOptions:s,video:e.video,className:"text-reset clamp-1"}),a.jsx(Q,{yearGroups:e.commonVideoProps.yearGroups,video:e.video,analyticsData:e.analyticsData,analyticsOptions:s,appLink:(m=e.getVideoAppLink)==null?void 0:m.call(e,e.video,{}),titleSize:"h4",showNewVideoIndicator:e.showNewVideoIndicator,showPadlock:!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience,titleClassName:e.titleClassName,clampLevel:2})]}),a.jsx(W,{analyticsData:e.analyticsData,analyticsOptions:s,video:e.video})]}),e.badgePosition==="info-panel"&&a.jsxs(ee,{className:"pb-1",children:[!e.hideInteractiveBadge&&a.jsx(u,{type:v.Interactive,data:e.video.interactives}),a.jsx(u,{type:v.Rating,data:w.getRating(e.video)}),a.jsx(u,{type:v.ProductionYear,data:e.video.productionYear})]}),a.jsx("p",{className:"mb-1",children:a.jsx("span",{className:h.description,children:e.video.description})}),e.badgePosition==="info-panel"&&a.jsx(x,{audience:n,className:"mt-1",border:"dark"}),e.showVideoGuidance&&a.jsx(X,{video:e.video,analyticsData:e.analyticsData,analyticsOptions:s,containerClassName:`d-flex ${h.guidance}`,responsiveClassName:h.responsiveGuidance,commonVideoProps:e.commonVideoProps})]})]}):a.jsx(a.Fragment,{})}export{Me as H,Te as P,Qe as S,re as a};
|
|
2
|
-
//# sourceMappingURL=lBHPAFYv.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lBHPAFYv.chunk.js","sources":["../../../../libs/shared/src/apps/playlists/components/playlist-list/PartialPlaylistList.tsx","../../../../../node_modules/timeago.js/esm/lang/en_US.js","../../../../../node_modules/timeago.js/esm/lang/zh_CN.js","../../../../../node_modules/timeago.js/esm/register.js","../../../../../node_modules/timeago.js/esm/utils/date.js","../../../../../node_modules/timeago.js/esm/format.js","../../../../../node_modules/timeago.js/esm/index.js","../../../../libs/shared/src/apps/playlists/components/playlist-count/PlaylistCount.tsx","../../../../libs/shared/src/components/clickview-avatar/ClickViewAvatar.tsx","../../../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx","../../../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx","../../../../libs/shared/src/apps/playlists/components/playlist-list/PlaylistList.tsx","../../../../libs/shared/src/components/series-tall-poster/SeriesTallPoster.tsx","../../../../libs/shared/src/apps/subjects/components/hero-video/HeroVideo.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport styles from './playlist.module.scss';\n\ninterface PartialPlaylistListProps {\n numItems?: number;\n itemClassName?: string;\n showHeading?: boolean;\n}\n\nPartialPlaylistList.defaultProps = {\n numItems: 8\n};\n\nexport function PartialPlaylistList(props: PartialPlaylistListProps): JSX.Element {\n const PARTIAL_PLAYLISTS = [...Array(props.numItems)];\n\n const className = props.itemClassName || '';\n\n return (\n <>\n {props.showHeading && <div className={`${styles.partialHeading} mb-1 partial-loading-background`} />}\n <Row className='mx-n1 mb-n2'>\n {PARTIAL_PLAYLISTS.map((p, idx) => (\n <Col key={idx} xs={6} sm={4} lg={3} className={`${className} px-1 pb-2`}>\n <div className={`${styles.playlistItem} partial-loading-background rounded-3`} />\n </Col>\n ))}\n </Row>\n </>\n );\n}","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Playlist } from 'libs/shared/interfaces';\n\nconst namespace = 'playlists.playlistCount';\n\nfunction getCount(playlist: Playlist): number | false {\n if (!playlist)\n return false;\n\n const videos = playlist.videos?.count ?? 0;\n const interactives = playlist.interactives?.count ?? 0;\n const clips = playlist.clips?.count ?? 0;\n\n return videos + interactives + clips;\n}\n\ninterface PlaylistCountProps {\n playlist: Playlist;\n}\n\nexport function PlaylistCount(props: PlaylistCountProps): JSX.Element {\n const count = getCount(props.playlist);\n\n if (count === false || Number.isNaN(count))\n return <></>;\n\n return (\n <span className='text-shadow font-size-sm'>\n <Text namespace={namespace} phrase='count' options={{ smartCount: count }} />\n </span>\n );\n}","import * as React from 'react';\n\nimport { ClickViewPlayLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\n\nimport styles from './clickview-avatar.module.scss';\n\nexport function ClickViewAvatar(): JSX.Element {\n return (\n <div className={styles.avatar}>\n <ClickViewPlayLogo />\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { CurrentUser, Playlist } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\ninterface PlaylistOwnerAvatarProps {\n playlist: Playlist;\n imageCdnUrl: string;\n currentUser?: CurrentUser;\n}\n\nexport function PlaylistOwnerAvatar(props: PlaylistOwnerAvatarProps): JSX.Element {\n const { _liteOwner } = props.playlist;\n\n if (props.playlist._isClickViewCurated?.value)\n return (\n <ClickViewAvatar />\n );\n\n if (!_liteOwner?.id || !props.currentUser?.id)\n return <></>;\n\n const currentUserIsOwner = _liteOwner.id.toString() === props.currentUser.id.toString();\n\n if (currentUserIsOwner)\n return <></>;\n\n const url = typeof _liteOwner.avatar === 'string' ? _liteOwner.avatar : _liteOwner.avatar?.url;\n\n return (\n <Avatar\n imageUrl={url}\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(_liteOwner.name, _liteOwner.surname)}\n />\n );\n}","import * as React from 'react';\nimport { format } from 'timeago.js';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { AnalyticsOptions, EntityType, HashObject } from 'libs/analytics/interfaces';\n\nimport { PlaylistCount } from 'libs/shared/apps/playlists/components/playlist-count/PlaylistCount';\nimport { PlaylistOwnerAvatar } from 'libs/shared/apps/playlists/components/playlist-list/PlaylistOwnerAvatar';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ResizeType } from 'libs/shared/enums/Images';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { CurrentUser, Playlist, PresentationAudience } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './playlist.module.scss';\n\nconst namespace = 'playlists.playlistList';\n\nexport type PlaylistItemStyle = 'square' | 'round' | 'round-left';\n\nexport interface PlaylistItemProps {\n data: Playlist;\n appLink: Core.AppLink;\n currentUser?: CurrentUser;\n presentationAudiences?: PresentationAudience[];\n bgColourClassNames?: string[];\n titleClassName?: string;\n imageCdnUrl?: string;\n itemStyle?: PlaylistItemStyle;\n showCount?: boolean;\n showOwner?: boolean;\n showFallbackImage?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n audienceLabelClass?: string;\n}\n\nPlaylistItem.defaultProps = {\n itemStyle: 'square'\n};\n\nexport function PlaylistItem(props: PlaylistItemProps): JSX.Element {\n const imageUrl = ImageHelper.createUrl(props.data.cover && props.data.cover.url, {\n size: ImageSize.Medium,\n resizeType: ResizeType.Cover\n });\n\n const audiences = props.data.subjectPresentationAudiences &&\n props.data.subjectPresentationAudiences.data;\n\n const mergedAudience = useMergeAudiences(audiences, props.presentationAudiences);\n\n let className = styles.playlistItem;\n\n const showImage = !!imageUrl || !!props.showFallbackImage;\n\n if (showImage)\n className += ` ${styles.playlistItemGradient}`;\n\n if (!showImage && props.bgColourClassNames)\n className += ` ${styles.playlistItem} ${getBgColorClass(props.data.name, props.bgColourClassNames)}`;\n\n if (props.itemStyle === 'round')\n className += ` rounded-3 overflow-hidden`;\n\n if (props.itemStyle === 'round-left')\n className += ` rounded-start-lg overflow-hidden`;\n\n const analyticsData = { ...props.analyticsData,\n id: props.data?.id,\n name: props.data?.name\n };\n\n const analyticsOptions = {\n ...props.analyticsOptions,\n entity: EntityType.Playlist\n };\n\n const getTitle = () => {\n if (!props.data.contentModifiedDate || props.data._isClickViewCurated?.value)\n return '';\n\n return LanguageService.getPhrase(namespace, 'lastUpdated', {\n timeago: format(DateHelper.convertUTCToLocal(props.data.contentModifiedDate))\n });\n };\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n title={getTitle()}\n >\n <BaseImage data={imageUrl} alt={props.data.name} className={className}>\n {!!props.showFallbackImage && <ImageFallback type={ImageFallbackType.Playlist} />}\n <div className={`text-white ${styles.playlistMetadata}`}>\n {!!props.showCount && (\n <PlaylistCount playlist={props.data} />\n )}\n <h5 className={`mb-0 ${props.titleClassName || ''}`}><span className='text-shadow clamp-2'>{props.data.name}</span></h5>\n {!!audiences && !!audiences.length && !!mergedAudience &&\n <AudienceLabel\n className={`${props.audienceLabelClass ? props.audienceLabelClass : ''} mt-1`}\n audience={mergedAudience}\n border='white'\n />\n }\n </div>\n {!!props.showOwner && !!props.imageCdnUrl &&\n <div className={styles.ownerAvatarContainer}>\n <PlaylistOwnerAvatar\n playlist={props.data}\n currentUser={props.currentUser}\n imageCdnUrl={props.imageCdnUrl}\n />\n </div>\n }\n </BaseImage>\n </AppLink>\n );\n}","import * as React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, ClickDescriptor, EntityType, HashObject, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { CurrentUser, Playlist, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { PlaylistItem, PlaylistItemStyle } from './PlaylistItem';\n\ninterface PlaylistListProps {\n playlists: Playlist[];\n getPlaylistAppLink: (playlist: Playlist) => Core.AppLink;\n currentUser?: CurrentUser;\n presentationAudiences?: PresentationAudience[];\n itemContainerClassName?: string;\n itemTitleClassName?: string;\n bgColourClassNames?: string[];\n itemStyle?: PlaylistItemStyle;\n imageCdnUrl?: string;\n showCount?: boolean;\n showOwner?: boolean;\n showFallbackImage?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n extraPlaylistItem?: JSX.Element;\n}\n\nconst analyticsOptions: AnalyticsOptions = {\n actionType: UserAction.Click,\n entity: EntityType.Playlist,\n location: LocationContext.PlaylistListItem,\n descriptor: ClickDescriptor.Cover\n};\n\nexport function PlaylistList(props: PlaylistListProps): JSX.Element {\n return (\n <Row as='ul' className='list-unstyled mx-n1'>\n {props.extraPlaylistItem && (\n <Col as='li' key='extra-playlist-item' xs={6} sm={4} lg={3} className={`mb-2 px-1 ${props.itemContainerClassName ? props.itemContainerClassName : ''}`}>\n {props.extraPlaylistItem}\n </Col>\n )}\n\n {props.playlists.map(p => (\n <Col as='li' key={p.id} xs={6} sm={4} lg={3} className={`mb-2 px-1 ${props.itemContainerClassName ? props.itemContainerClassName : ''}`}>\n <PlaylistItem\n data={p}\n appLink={props.getPlaylistAppLink(p)}\n imageCdnUrl={props.imageCdnUrl}\n currentUser={props.currentUser}\n presentationAudiences={props.presentationAudiences}\n bgColourClassNames={props.bgColourClassNames}\n showCount={props.showCount}\n showOwner={props.showOwner}\n showFallbackImage={props.showFallbackImage}\n titleClassName={props.itemTitleClassName}\n itemStyle={props.itemStyle}\n analyticsData={props.analyticsData}\n analyticsOptions={{ ...props.analyticsOptions, ...analyticsOptions }}\n />\n </Col>\n ))}\n </Row>\n );\n}","import React from 'react';\n\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { useHoverIntent } from 'libs/shared/hooks/UseHover';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { PresentationAudience, Series } from 'libs/shared/interfaces';\nimport { SeriesHelper } from 'libs/shared/utils/SeriesHelper';\n\nimport styles from './series-tall-poster.module.scss';\n\ninterface SeriesTallPosterHoverOverlay {\n series: Series;\n mergedAudience: PresentationAudience;\n isSmall?: boolean;\n hasTableOfContents?: boolean;\n}\n\nfunction SeriesTallPosterHoverOverlay(props: SeriesTallPosterHoverOverlay): JSX.Element {\n return (\n <div className={`py-3 mx-2 px-2 rounded bg-white text-center ${styles.mask} d-flex flex-column align-items-center`}>\n <h3 className={`fw-semibold mb-0 ${styles.hoverTitle} ${props.isSmall ? styles.smallHoverTitle : styles.largeHoverTitle}`}>\n <span className='clamp-3'>\n {props.series.name}\n </span>\n </h3>\n\n {!!props.series.description && (\n <p className={`${props.hasTableOfContents ? styles.hasTableOfContents : ''} ${styles.hoverDescription} ${props.isSmall ? styles.smallHoverDescription : styles.largeHoverDescription} mb-0`}>{props.series.description}</p>\n )}\n <div className={`${styles.labelContainerOverlay}`}>\n {props.mergedAudience\n ? <AudienceLabel audience={props.mergedAudience} border='dark' className='mt-2 w-fit'/>\n : <Badge type={BadgeType.Rating} data={SeriesHelper.getRating(props.series)} className='mt-2' />\n }\n </div>\n </div>\n );\n}\n\ninterface SeriesTallPosterMaskProps {\n series: Series;\n presentationAudiences: PresentationAudience[];\n preloadImage: boolean;\n imageClass?: string;\n isSmall?: boolean;\n hasTableOfContents?: boolean;\n}\n\nexport function SeriesTallPoster(props: SeriesTallPosterMaskProps): JSX.Element {\n const [ hoverRef, isHovering ] = useHoverIntent<HTMLDivElement>({ className: styles.hoverActive });\n \n const audiences = props.series && props.series.subjectPresentationAudiences &&\n props.series.subjectPresentationAudiences.data || [];\n\n const mergedAudience = useMergeAudiences(audiences, props.presentationAudiences);\n const displayAudience = !!(audiences && audiences.length && mergedAudience);\n\n return (\n <div ref={hoverRef}>\n <BaseImage\n data={props.series.tallPoster}\n alt={props.series.name}\n imageType={ImageType.TallPosters}\n preload={props.preloadImage}\n imageOptions={{ size: ImageSize.Large }}\n imageClassName={props.imageClass ? props.imageClass : 'rounded-3'}\n >\n {isHovering && (\n <SeriesTallPosterHoverOverlay\n isSmall={props.isSmall}\n series={props.series}\n mergedAudience={audiences && audiences.length ? mergedAudience : null}\n hasTableOfContents={props.hasTableOfContents}\n />\n )}\n \n <ImageFallback type={ImageFallbackType.Series} />\n <div className={`position-absolute text-white text-shadow ${styles.labelContainer}`}>\n {displayAudience\n ? <AudienceLabel audience={mergedAudience} border='white' />\n : <Badge type={BadgeType.Rating} data={SeriesHelper.getRating(props.series)} />\n }\n </div>\n </BaseImage>\n </div>\n );\n}\n","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, LocationContext } from 'libs/analytics/interfaces';\n\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemGuidance } from 'libs/shared/components/video-list/components/video-guidance/VideoItemGuidance';\nimport { VideoItemActions } from 'libs/shared/components/video-list/components/video-item-actions/VideoItemActions';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { PresentationAudience, Video } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './hero-video.module.scss';\n\ninterface HeroVideoProps {\n video: Video;\n presentationAudiences: PresentationAudience[];\n showVideoGuidance: boolean;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n hideInteractiveBadge?: boolean;\n badgePosition?: 'thumbnail' | 'info-panel';\n titleClassName?: string;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n commonVideoProps: CommonVideoProps;\n showNewVideoIndicator?: boolean;\n}\n\nHeroVideo.defaultProps = {\n newDurationStyle: true,\n badgePosition: 'thumbnail'\n};\n\nexport function HeroVideo(props: HeroVideoProps): JSX.Element {\n const videoAudiences = props.video?.subjectPresentationAudiences?.data;\n const mergedAudience = useMergeAudiences(videoAudiences, props.presentationAudiences);\n\n const analyticsOptions = AnalyticsHelper.mergeOptions(props.analyticsOptions, {\n location: LocationContext.ClassificationHero,\n entity: VideoHelper.getAnalyticsEntity(props.video)\n });\n\n const containerRef = React.useRef(null);\n \n if (!props.video)\n return <></>;\n\n return (\n <Row>\n <Col xs={12} md={6}>\n <div ref={containerRef} >\n <VideoThumbnail\n analyticsOptions={analyticsOptions}\n video={props.video}\n appLink={props.getVideoAppLink?.(props.video, {})}\n imageOptions={{ size: ImageSize.Medium }}\n textPosition={ThumbnailTextPosition.Independent}\n type='static'\n audience={props.badgePosition === 'thumbnail' ? mergedAudience : null}\n hideRating={props.badgePosition === 'thumbnail' ? !!mergedAudience : true}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n </Col>\n <Col xs={12} md={6} className={`${styles.details} position-relative`}>\n <div className='d-flex justify-content-between'>\n <div className='overflow-hidden'>\n <VideoSubText\n type={props.commonVideoProps.subTextType}\n appLink={props.commonVideoProps.getSubTextAppLink?.(props.video)}\n analyticsData={props.analyticsData}\n analyticsOptions={analyticsOptions}\n video={props.video}\n className='text-reset clamp-1'\n />\n <VideoItemTitle\n yearGroups={props.commonVideoProps.yearGroups}\n video={props.video}\n analyticsData={props.analyticsData}\n analyticsOptions={analyticsOptions}\n appLink={props.getVideoAppLink?.(props.video, {})}\n titleSize='h4'\n showNewVideoIndicator={props.showNewVideoIndicator}\n showPadlock={!props.commonVideoProps.hasStudentExperience && !props.commonVideoProps.hasGuestExperience}\n titleClassName={props.titleClassName}\n clampLevel={2}\n />\n </div>\n <VideoItemActions\n analyticsData={props.analyticsData}\n analyticsOptions={analyticsOptions}\n video={props.video}\n />\n </div>\n\n {props.badgePosition === 'info-panel' && (\n <BadgeListContainer className='pb-1'>\n {!props.hideInteractiveBadge && <Badge type={ BadgeType.Interactive } data={props.video.interactives} />}\n <Badge type={ BadgeType.Rating } data={VideoHelper.getRating(props.video)} />\n <Badge type={ BadgeType.ProductionYear } data={props.video.productionYear} />\n </BadgeListContainer>\n )}\n\n <p className='mb-1'><span className={styles.description}>{props.video.description}</span></p>\n \n {props.badgePosition === 'info-panel' && (\n <AudienceLabel\n audience={mergedAudience}\n className='mt-1'\n border='dark'\n />\n )}\n\n {props.showVideoGuidance && (\n <VideoItemGuidance\n video={props.video}\n analyticsData={props.analyticsData}\n analyticsOptions={analyticsOptions}\n containerClassName={`d-flex ${styles.guidance}`}\n responsiveClassName={styles.responsiveGuidance}\n commonVideoProps={props.commonVideoProps}\n />\n )}\n </Col>\n </Row>\n );\n}\n\nexport function PartialHeroVideo(): JSX.Element {\n return (\n <>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='row pb-3'>\n <div className='col-6 p1'>\n <div className={`${styles.partialHeroThumbnail} partial-loading-background rounded-3`}></div>\n </div>\n <div className='col-6 p1'>\n <div className={`partial-loading-background mb-1 ${styles.partialSeriesText}`}></div>\n <div className={`partial-loading-background my-1 ${styles.partialVideoTitleText}`}></div>\n <div className='d-flex'>\n <div className={`partial-loading-background my-1 me-1 ${styles.partialBadge}`}></div>\n <div className={`partial-loading-background my-1 ms-1 ${styles.partialBadge}`}></div>\n </div>\n <div className={`partial-loading-background my-1 ${styles.partialDescription}`}></div>\n <div className={`partial-loading-background mt-2 ${styles.partialSubject}`}></div>\n </div>\n </div>\n </>\n );\n}\n"],"names":["PartialPlaylistList","props","PARTIAL_PLAYLISTS","className","jsxs","Fragment","jsx","styles","Row","p","idx","Col","EN_US","en_US","diff","unit","ZH_CN","zh_CN","Locales","register","locale","func","getLocale","SEC_ARRAY","toDate","input","formatDiff","localeFunc","agoIn","totalSec","diffSec","date","relativeDate","relDate","format","opts","sec","namespace","getCount","playlist","videos","_a","interactives","_b","clips","_c","PlaylistCount","count","Text","ClickViewAvatar","ClickViewPlayLogo","PlaylistOwnerAvatar","_liteOwner","url","Avatar","UserHelper","PlaylistItem","imageUrl","ImageHelper","ImageSize","ResizeType","audiences","mergedAudience","useMergeAudiences","showImage","getBgColorClass","analyticsData","analyticsOptions","EntityType","getTitle","LanguageService","DateHelper","AppLink","BaseImage","ImageFallback","ImageFallbackType","AudienceLabel","UserAction","LocationContext","ClickDescriptor","SeriesTallPosterHoverOverlay","Badge","BadgeType","SeriesHelper","SeriesTallPoster","hoverRef","isHovering","useHoverIntent","displayAudience","ImageType","HeroVideo","videoAudiences","AnalyticsHelper","VideoHelper","containerRef","React","VideoThumbnail","ThumbnailTextPosition","VideoSubText","_e","_d","VideoItemTitle","_f","VideoItemActions","BadgeListContainer","VideoItemGuidance"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s,c as _,as as j,p as k,q as C,_ as $,ai as y,Y as A,ae as P,T as w,n as f,O as x,l as D}from"./app-DfSv_-O3.js";import{P as S}from"./CPXlV0fg.chunk.js";import{b as T,c as I}from"./Bvum7-8x.chunk.js";import{V as L}from"./BCQ0kOEO.chunk.js";import{A as E}from"./D83kc0Wf.chunk.js";import{D as l}from"./BdHxGaRy.chunk.js";const H="_disabled_3300r_1",F="_disabledHighlighted_3300r_4",W="_badge_3300r_7",h={disabled:H,disabledHighlighted:F,badge:W},M="shared.audienceItem",O=_.encloseNamespace(M);function B(e){return e.split(" ").map(a=>a.charAt(0).toUpperCase()+a.substring(1)).join(" ")}function V(e,a){return e?a?`${h.disabledHighlighted} text-light`:"bg-gray-900 text-light":a?`${h.disabled} text-secondary`:"bg-light"}v.defaultProps={extraClasses:""};function v(e){const{audience:a,highlight:t,setAudience:n,isDisabled:r,extraClasses:g}=e,u=V(t,r),m=r?"cursor-default":"cursor-pointer",i=`${h.badge} lh-1 rounded-pill d-inline-block me-1 user-select-none ${m} ${u} ${g}`,o=()=>{r||!j.isFunction(n)||n(a,!t)};return s.jsx("button",{type:"button",className:i,onClick:o,role:"checkbox","aria-checked":t,"aria-label":`${O("ariaFilter")} ${a.name}`,disabled:r,children:B(a.name)})}const R="subjects.audienceFilter";function de(e){const{audiences:a,activeAudiences:t,appLink:n}=e,r=e.disabled||!n,[,g]=k($.AUDIENCE_FILTER,void 0,{storage:C.SessionStorage});y.useEffect(()=>{e.disablePersist||g(t)},[t]);function u(i,o){if(r)return;const b=o?[...(t==null?void 0:t.map(c=>c.name))??[],i.name]:t.map(c=>c.name).filter(c=>c!==i.name),N=()=>{const c=x.omit(n.params,["a"]);return b.length?Object.assign({},c,{a:b}):c};f.trigger({...n,params:N()},{replace:!0})}function m(){if(r)return;const i=x.omit(n.params,["a"]);f.trigger({...n,params:i},{replace:!0})}return!a||!a.length?s.jsx(s.Fragment,{}):s.jsx(A,{title:e.tooltip,spanHack:!0,children:s.jsxs("div",{className:"d-flex flex-wrap row-gap-2",children:[a.map(i=>s.jsx(v,{audience:i,highlight:!r&&!!(t!=null&&t.find(o=>o.masterId===i.masterId)),setAudience:u,isDisabled:r},i.masterId)),!r&&!!t&&!!Object.keys(t).length&&s.jsx(P,{className:"info-link d-inline-block ms-1",onClick:m,children:s.jsx(w,{namespace:R,phrase:"clear"})})]})})}const U=S.getPartialLoadingItems({numItems:6}),ge=()=>s.jsx("div",{className:"d-flex flex-wrap row-gap-2",children:U.map(({width:e},a)=>s.jsx("span",{className:"rounded-pill partial-loading-background me-1",dangerouslySetInnerHTML:{__html:" "},style:{width:e}},a))}),q={[l.Archived]:{svg:E,svgColorClassName:"text-secondary",actionName:"Archive",statusName:"Archived"},[l.Draft]:{svg:T,svgColorClassName:"",actionName:"Draft",statusName:"Draft"},[l.Published]:{svg:L,svgColorClassName:"text-success",actionName:"Publish",statusName:"Published"}},K="_badge_1fgi1_1",Y="_draftLight_1fgi1_5",z="_draftDark_1fgi1_10",G="_published_1fgi1_15",J="_archived_1fgi1_20",d={badge:K,draftLight:Y,draftDark:z,published:G,archived:J};function Q(e){let a=`rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${d.badge}`;switch(e.status){case l.Published:a+=` ${d.published}`;break;case l.Archived:a+=` ${d.archived}`;break;case l.Draft:a+=` ${e.darkMode?d.draftDark:d.draftLight}`;break}return e.wrapperClassName&&(a+=` ${e.wrapperClassName}`),a}function X(e){const{statusName:a,svg:t}=q[e.status];return s.jsxs("div",{className:Q(e),children:[s.jsx(D,{svg:t}),s.jsx("div",{children:a})]})}const Z="_stickyWrapper_r2aeo_1",ee="_badgeWrapper_r2aeo_8",ae="_badge_r2aeo_8",p={stickyWrapper:Z,badgeWrapper:ee,badge:ae},se="shared.classificationPreviewBanner",te=_.encloseNamespace(se);function ue(e){return s.jsxs("div",{className:`${p.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`,children:[s.jsx("div",{className:`position-absolute d-flex ${p.badgeWrapper}`,children:s.jsx(X,{status:e.status,wrapperClassName:`${p.badge}`,darkMode:!0})}),s.jsx("div",{className:"flex-grow-1",children:s.jsxs("h1",{className:"text-center my-3 h5",children:[s.jsx(I,{emoji:"👀"}),te(e.type==="topic"?"topicTitle":"companyTitle")]})})]})}export{de as A,ue as P,ge as a};
|
|
2
|
-
//# sourceMappingURL=mP-Ymt5z.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mP-Ymt5z.chunk.js","sources":["../../../../libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx","../../../../libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.tsx","../../../../libs/shared/src/apps/subjects/constants/DashboardStatusConfig.ts","../../../../libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge.tsx","../../../../libs/shared/src/apps/subjects/components/preview-banner/PreviewBanner.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport styles from './audience-item.module.scss';\n\nconst namespace = 'shared.audienceItem';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction lowerCaseToTitleCase(str: string): string {\n return str.split(' ').map((s: string) => s.charAt(0).toUpperCase() + s.substring(1)).join(' ');\n}\n\nfunction getColourClass(highlight: boolean, isDisabled: boolean): string {\n if (highlight) return isDisabled ? `${styles.disabledHighlighted} text-light` : 'bg-gray-900 text-light';\n if (isDisabled) return `${styles.disabled} text-secondary`;\n return 'bg-light';\n}\n\ninterface AudienceItemProps {\n audience: PresentationAudience;\n highlight: boolean;\n setAudience?: (audience: PresentationAudience, highlight: boolean) => void;\n isDisabled?: boolean;\n extraClasses?: string;\n}\n\nAudienceItem.defaultProps = {\n extraClasses: ''\n};\n\nexport function AudienceItem(props: AudienceItemProps): React.ReactElement {\n const { audience, highlight, setAudience, isDisabled, extraClasses } = props;\n\n const colourClass = getColourClass(highlight, isDisabled);\n const cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';\n const className = `${styles.badge} lh-1 rounded-pill d-inline-block me-1 user-select-none ${cursorClass} ${colourClass} ${extraClasses}`;\n\n const onClick = () => {\n if (isDisabled || !FunctionHelper.isFunction(setAudience))\n return;\n\n setAudience(audience, !highlight);\n };\n\n return (\n <button\n type='button'\n className={className}\n onClick={onClick}\n role='checkbox'\n aria-checked={highlight}\n aria-label={`${getPhrase('ariaFilter')} ${audience.name}`}\n disabled={isDisabled}\n >\n {lowerCaseToTitleCase(audience.name)}\n </button>\n );\n}","import * as React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AudienceItem } from 'libs/shared/apps/subjects/components/audience-item/AudienceItem';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PresentationAudience } from 'libs/shared/interfaces';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nconst namespace = 'subjects.audienceFilter';\n\ninterface AudienceFilterProps {\n audiences: PresentationAudience[];\n activeAudiences?: PresentationAudience[];\n disabled?: boolean;\n appLink: Core.AppLink;\n disablePersist?: boolean;\n tooltip?: string;\n}\n\nexport function AudienceFilter(props: AudienceFilterProps): React.ReactElement {\n const { audiences, activeAudiences, appLink } = props;\n\n const isDisabled = props.disabled || !appLink;\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n React.useEffect(() => {\n if (!props.disablePersist)\n setActiveAudiences(activeAudiences);\n }, [activeAudiences]);\n\n function onToggleAudience(audience: PresentationAudience, isSelected: boolean): void {\n if (isDisabled)\n return;\n\n const activeAudienceNames = isSelected\n ? [ ...(activeAudiences?.map(a => a.name) ?? []), audience.name ]\n : activeAudiences.map(a => a.name).filter(name => name !== audience.name);\n\n const getParams = () => {\n const otherParams = ObjectHelper.omit(appLink.params, ['a']);\n\n if (!activeAudienceNames.length)\n return otherParams;\n\n return Object.assign({}, otherParams, { a: activeAudienceNames });\n };\n\n Core.AppLinkHelper.trigger({\n ...appLink,\n params: getParams()\n }, { replace: true });\n }\n\n function onClickClearAudiences(): void {\n if (isDisabled)\n return;\n\n const params = ObjectHelper.omit(appLink.params, ['a']);\n\n Core.AppLinkHelper.trigger({\n ...appLink,\n params\n }, { replace: true });\n }\n\n if (!audiences || !audiences.length)\n return <></>;\n\n return (\n <Tooltip title={props.tooltip} spanHack>\n <div className='d-flex flex-wrap row-gap-2'>\n {audiences.map((a: PresentationAudience) => (\n <AudienceItem\n key={a.masterId}\n audience={a}\n highlight={!isDisabled && !!activeAudiences?.find(aa => aa.masterId === a.masterId)}\n setAudience={onToggleAudience}\n isDisabled={isDisabled}\n />\n ))}\n {(!isDisabled && !!activeAudiences && !!Object.keys(activeAudiences).length) && (\n <DivButton className='info-link d-inline-block ms-1' onClick={onClickClearAudiences}>\n <Text namespace={namespace} phrase='clear' />\n </DivButton>\n )}\n </div>\n </Tooltip>\n );\n}\n\nconst PARTIAL_AUDIENCES = PartialLoadingHelper.getPartialLoadingItems({ numItems: 6 });\n\nexport const PartialAudienceFilter = () => (\n <div className={'d-flex flex-wrap row-gap-2'}>\n {PARTIAL_AUDIENCES.map(({ width }, idx) => (\n <span\n key={idx}\n className='rounded-pill partial-loading-background me-1'\n dangerouslySetInnerHTML={{ __html: ' ' }}\n style={{ width }}\n />\n ))}\n </div>\n);","import { EditSvg } from 'libs/shared/images/svg/actions/EditSvg';\nimport { VisibleOnSvg } from 'libs/shared/images/svg/actions/VisibleOnSvg';\nimport { ArchiveSvg } from 'libs/shared/images/svg/objects/ArchiveSvg';\nimport { DashboardStatus } from 'libs/shared/interfaces/models/Dashboard';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\ninterface DashboardStatusConfigType {\n statusName: string;\n actionName: string;\n svg: SvgIcon;\n svgColorClassName: string;\n}\n\nexport const DashboardStatusConfig: Record<DashboardStatus, DashboardStatusConfigType> = {\n [DashboardStatus.Archived]: {\n svg: ArchiveSvg,\n svgColorClassName: 'text-secondary',\n actionName: 'Archive',\n statusName: 'Archived'\n },\n [DashboardStatus.Draft]: {\n svg: EditSvg,\n svgColorClassName: '',\n actionName: 'Draft',\n statusName: 'Draft'\n },\n [DashboardStatus.Published]: {\n svg: VisibleOnSvg,\n svgColorClassName: 'text-success',\n actionName: 'Publish',\n statusName: 'Published'\n }\n};","import React from 'react';\n\nimport { DashboardStatusConfig } from 'libs/shared/apps/subjects/constants/DashboardStatusConfig';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './dashboard-status-badge.module.scss';\n\nfunction getClassName(props: DashboardStatusBadgeProps): string {\n let className = `rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${styles.badge}`;\n\n switch (props.status) {\n case DashboardStatus.Published:\n className += ` ${styles.published}`;\n break;\n case DashboardStatus.Archived:\n className += ` ${styles.archived}`;\n break;\n case DashboardStatus.Draft:\n className += ` ${props.darkMode ? styles.draftDark : styles.draftLight}`;\n break;\n }\n\n if (props.wrapperClassName)\n className += ` ${props.wrapperClassName}`;\n\n return className;\n}\n\ninterface DashboardStatusBadgeProps {\n status: DashboardStatus;\n darkMode?: boolean;\n wrapperClassName?: string;\n}\n\nexport function DashboardStatusBadge(props: DashboardStatusBadgeProps): JSX.Element {\n const { statusName, svg } = DashboardStatusConfig[props.status];\n\n return (\n <div className={getClassName(props)}>\n <SvgContainer svg={svg} />\n <div>{statusName}</div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DashboardStatusBadge } from 'libs/shared/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge';\nimport { EmojiText } from 'libs/shared/components/emoji-text/EmojiText';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './preview-banner.module.scss';\n\nconst namespace = 'shared.classificationPreviewBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewBannerProps {\n status: DashboardStatus;\n type: 'company' | 'topic';\n}\n\nexport function PreviewBanner(props: PreviewBannerProps): JSX.Element {\n return (\n <div className={`${styles.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`}>\n <div className={`position-absolute d-flex ${styles.badgeWrapper}`}>\n <DashboardStatusBadge status={props.status} wrapperClassName={`${styles.badge}`} darkMode />\n </div>\n <div className='flex-grow-1'>\n <h1 className='text-center my-3 h5'>\n <EmojiText emoji='👀' />\n {getPhrase(props.type === 'topic' ? 'topicTitle' : 'companyTitle')}\n </h1>\n </div>\n </div>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","lowerCaseToTitleCase","str","s","getColourClass","highlight","isDisabled","styles","AudienceItem","props","audience","setAudience","extraClasses","colourClass","cursorClass","className","onClick","FunctionHelper","jsx","AudienceFilter","audiences","activeAudiences","appLink","setActiveAudiences","useViewModel","SharedViewModelKeys","StorageType","React.useEffect","onToggleAudience","isSelected","activeAudienceNames","a","name","getParams","otherParams","ObjectHelper","Core.AppLinkHelper","onClickClearAudiences","params","Fragment","Tooltip","jsxs","aa","DivButton","Text","PARTIAL_AUDIENCES","PartialLoadingHelper","PartialAudienceFilter","width","idx","DashboardStatusConfig","DashboardStatus","ArchiveSvg","EditSvg","VisibleOnSvg","getClassName","DashboardStatusBadge","statusName","svg","SvgContainer","PreviewBanner","EmojiText"],"mappings":"ycASMA,EAAY,sBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAE5D,SAASG,EAAqBC,EAAqB,CACjD,OAAOA,EAAI,MAAM,GAAG,EAAE,IAAKC,GAAcA,EAAE,OAAO,CAAC,EAAE,YAAA,EAAgBA,EAAE,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,CAC/F,CAEA,SAASC,EAAeC,EAAoBC,EAA6B,CACvE,OAAID,EAAkBC,EAAa,GAAGC,EAAO,mBAAmB,cAAgB,yBAC5ED,EAAmB,GAAGC,EAAO,QAAQ,kBAClC,UACT,CAUAC,EAAa,aAAe,CAC1B,aAAc,EAChB,EAEO,SAASA,EAAaC,EAA8C,CACzE,KAAM,CAAE,SAAAC,EAAU,UAAAL,EAAW,YAAAM,EAAa,WAAAL,EAAY,aAAAM,GAAiBH,EAEjEI,EAAcT,EAAeC,EAAWC,CAAU,EAClDQ,EAAcR,EAAa,iBAAmB,iBAC9CS,EAAY,GAAGR,EAAO,KAAK,2DAA2DO,CAAW,IAAID,CAAW,IAAID,CAAY,GAEhII,EAAU,IAAM,CAChBV,GAAc,CAACW,EAAe,WAAWN,CAAW,GAGxDA,EAAYD,EAAU,CAACL,CAAS,CAClC,EAEA,OACEa,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAAH,EACA,QAAAC,EACA,KAAK,WACL,eAAcX,EACd,aAAY,GAAGN,EAAU,YAAY,CAAC,IAAIW,EAAS,IAAI,GACvD,SAAUJ,EAET,SAAAL,EAAqBS,EAAS,IAAI,CAAA,CAAA,CAGzC,CC9CA,MAAMZ,EAAY,0BAWX,SAASqB,GAAeV,EAAgD,CAC7E,KAAM,CAAE,UAAAW,EAAW,gBAAAC,EAAiB,QAAAC,CAAA,EAAYb,EAE1CH,EAAaG,EAAM,UAAY,CAACa,EAEhC,CAAA,CAAIC,CAAmB,EAAIC,EAC/BC,EAAoB,gBACpB,OACA,CAAE,QAASC,EAAY,cAAA,CAAe,EAGxCC,EAAAA,UAAgB,IAAM,CACflB,EAAM,gBACTc,EAAmBF,CAAe,CACtC,EAAG,CAACA,CAAe,CAAC,EAEpB,SAASO,EAAiBlB,EAAgCmB,EAA2B,CACnF,GAAIvB,EACF,OAEF,MAAMwB,EAAsBD,EACxB,CAAE,IAAIR,GAAA,YAAAA,EAAiB,IAAIU,GAAKA,EAAE,QAAS,CAAA,EAAKrB,EAAS,IAAK,EAC9DW,EAAgB,IAAIU,GAAKA,EAAE,IAAI,EAAE,OAAOC,GAAQA,IAAStB,EAAS,IAAI,EAEpEuB,EAAY,IAAM,CACtB,MAAMC,EAAcC,EAAa,KAAKb,EAAQ,OAAQ,CAAC,GAAG,CAAC,EAE3D,OAAKQ,EAAoB,OAGlB,OAAO,OAAO,CAAA,EAAII,EAAa,CAAE,EAAGJ,EAAqB,EAFvDI,CAGX,EAEAE,EAAmB,QAAQ,CACzB,GAAGd,EACH,OAAQW,EAAA,CAAU,EACjB,CAAE,QAAS,GAAM,CACtB,CAEA,SAASI,GAA8B,CACrC,GAAI/B,EACF,OAEF,MAAMgC,EAASH,EAAa,KAAKb,EAAQ,OAAQ,CAAC,GAAG,CAAC,EAEtDc,EAAmB,QAAQ,CACzB,GAAGd,EACH,OAAAgB,CAAA,EACC,CAAE,QAAS,GAAM,CACtB,CAEA,MAAI,CAAClB,GAAa,CAACA,EAAU,OACpBF,EAAAA,IAAAqB,EAAAA,SAAA,EAAE,EAGTrB,EAAAA,IAACsB,EAAA,CAAQ,MAAO/B,EAAM,QAAS,SAAQ,GACrC,SAAAgC,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACZ,SAAA,CAAArB,EAAU,IAAKW,GACdb,EAAAA,IAACV,EAAA,CAEC,SAAUuB,EACV,UAAW,CAACzB,GAAc,CAAC,EAACe,GAAA,MAAAA,EAAiB,KAAKqB,GAAMA,EAAG,WAAaX,EAAE,WAC1E,YAAaH,EACb,WAAAtB,CAAA,EAJKyB,EAAE,QAAA,CAMV,EACC,CAACzB,GAAc,CAAC,CAACe,GAAmB,CAAC,CAAC,OAAO,KAAKA,CAAe,EAAE,QACnEH,EAAAA,IAACyB,EAAA,CAAU,UAAU,gCAAgC,QAASN,EAC5D,eAACO,EAAA,WAAK9C,EAAsB,OAAO,OAAA,CAAQ,CAAA,CAC7C,CAAA,CAAA,CAEJ,CAAA,CACF,CAEJ,CAEA,MAAM+C,EAAoBC,EAAqB,uBAAuB,CAAE,SAAU,EAAG,EAExEC,GAAwB,IACnC7B,EAAAA,IAAC,MAAA,CAAI,UAAW,6BACb,SAAA2B,EAAkB,IAAI,CAAC,CAAE,MAAAG,CAAA,EAASC,IACjC/B,EAAAA,IAAC,OAAA,CAEC,UAAU,+CACV,wBAAyB,CAAE,OAAQ,OAAA,EACnC,MAAO,CAAE,MAAA8B,CAAA,CAAM,EAHVC,CAIP,CACD,CAAA,CACH,ECrGWC,EAA4E,CACvF,CAACC,EAAgB,QAAQ,EAAG,CAC1B,IAAKC,EACL,kBAAmB,iBACnB,WAAY,UACZ,WAAY,UAAA,EAEd,CAACD,EAAgB,KAAK,EAAG,CACvB,IAAKE,EACL,kBAAmB,GACnB,WAAY,QACZ,WAAY,OAAA,EAEd,CAACF,EAAgB,SAAS,EAAG,CAC3B,IAAKG,EACL,kBAAmB,eACnB,WAAY,UACZ,WAAY,WAAA,CAEhB,gLCxBA,SAASC,EAAa9C,EAA0C,CAC9D,IAAIM,EAAY,qEAAqER,EAAO,KAAK,GAEjG,OAAQE,EAAM,OAAA,CACZ,KAAK0C,EAAgB,UACnBpC,GAAa,IAAIR,EAAO,SAAS,GACjC,MACF,KAAK4C,EAAgB,SACnBpC,GAAa,IAAIR,EAAO,QAAQ,GAChC,MACF,KAAK4C,EAAgB,MACnBpC,GAAa,IAAIN,EAAM,SAAWF,EAAO,UAAYA,EAAO,UAAU,GACtE,KAAA,CAGJ,OAAIE,EAAM,mBACRM,GAAa,IAAIN,EAAM,gBAAgB,IAElCM,CACT,CAQO,SAASyC,EAAqB/C,EAA+C,CAClF,KAAM,CAAE,WAAAgD,EAAY,IAAAC,CAAA,EAAQR,EAAsBzC,EAAM,MAAM,EAE9D,OACEgC,EAAAA,KAAC,MAAA,CAAI,UAAWc,EAAa9C,CAAK,EAChC,SAAA,CAAAS,MAACyC,GAAa,IAAAD,EAAU,EACxBxC,EAAAA,IAAC,OAAK,SAAAuC,CAAA,CAAW,CAAA,EACnB,CAEJ,8HClCM3D,GAAY,qCACZC,GAAYC,EAAgB,iBAAiBF,EAAS,EAOrD,SAAS8D,GAAcnD,EAAwC,CACpE,cACG,MAAA,CAAI,UAAW,GAAGF,EAAO,aAAa,6EACrC,SAAA,CAAAW,EAAAA,IAAC,OAAI,UAAW,6BAA6BX,EAAO,YAAY,GAC9D,eAACiD,EAAA,CAAqB,OAAQ/C,EAAM,OAAQ,iBAAkB,GAAGF,EAAO,KAAK,GAAI,SAAQ,GAAC,CAAA,CAC5F,QACC,MAAA,CAAI,UAAU,cACb,SAAAkC,EAAAA,KAAC,KAAA,CAAG,UAAU,sBACZ,SAAA,CAAAvB,EAAAA,IAAC2C,EAAA,CAAU,MAAM,IAAA,CAAK,EACrB9D,GAAUU,EAAM,OAAS,QAAU,aAAe,cAAc,CAAA,CAAA,CACnE,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nay4aGaa.chunk.js","sources":["../../../../libs/shared/src/enums/ClassificationStatus.ts"],"sourcesContent":["// Maps to enum in SubjectApi but uses the\n// key rather than the value as SubjectsApi returns the key.\nexport enum ClassificationStatus {\n Draft = 'Draft',\n ComingSoon = 'ComingSoon',\n Published = 'Published'\n}"],"names":["ClassificationStatus"],"mappings":"AAEO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,WAAa,aACbA,EAAA,UAAY,YAHFA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pkzD5BEm.chunk.js","sources":["../../../../libs/shared/src/enums/PermissionFilterOption.ts"],"sourcesContent":["export enum PermissionFilterOption {\n FilterOut,\n StripMetadata\n}"],"names":["PermissionFilterOption"],"mappings":"AAAO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,UAAA,CAAA,EAAA,YACAA,EAAAA,EAAA,cAAA,CAAA,EAAA,gBAFUA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s,d as x,c as b}from"./app-DfSv_-O3.js";import{T as n}from"./DCds0mCy.chunk.js";const T="_tagList_ihahv_1",f="_badgeBase_ihahv_5",C="_disabled_ihahv_8",p="_partialTag_ihahv_16",y="_removeBadge_ihahv_19",B="_removeBadgeText_ihahv_23",N="_close_ihahv_26",o={tagList:T,badgeBase:f,disabled:C,partialTag:p,removeBadge:y,removeBadgeText:B,close:N},w="shared.tags",L=b.encloseNamespace(w);function j(e,l){switch(e){case n.Pedagogy:case n.Skill:return"pedagogy-tag text-white";case n.Hidden:return"hidden-tag fw-normal";case n.Normal:return l?"":"bg-gray-100 fw-normal";default:return""}}function R(e){var u,_;const{tag:l,appLink:i,onClick:r,disabled:g,tagClass:v="tag"}=e,t=l.name.toLowerCase(),m=(u=l.tagType)==null?void 0:u.toLowerCase(),c=m===n.Normal&&e.themeColours&&!!((_=e.themeColours)!=null&&_.secondary);let a=`${o.badgeBase} rounded-pill py-1 px-2 my-1 me-1 ${v} ${j(m,c)}`,d="text-truncate text-nowrap";c&&(a+=" text-white"),(i||r)&&!g&&(a+=" cursor-pointer"),g&&(a+=" "+o.disabled),e.onRemove&&(a+=" "+o.removeBadge,d+=` ${o.removeBadgeText} d-inline-flex align-items-center lh-1`),i||(a+=" d-inline-block");const h=c?{backgroundColor:e.themeColours.secondary}:{};return i?s.jsx(x,{onClick:r,appLink:i,className:a,title:t,style:h,children:s.jsx("span",{className:d,children:t})}):s.jsx("button",{onClick:r,className:a,title:t,style:h,"aria-label":`${L("ariaFilter")} ${t}`,children:s.jsxs("span",{className:d,children:[t,e.onRemove&&s.jsx("button",{onClick:e.onRemove,className:`${o.close} btn-close font-size-normal`,role:"button","aria-label":"Close"})]})})}export{R as T,o as s};
|
|
2
|
-
//# sourceMappingURL=tHf2V3t0.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tHf2V3t0.chunk.js","sources":["../../../../libs/shared/src/components/tags/TagItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.module.scss';\n\nconst namespace = 'shared.tags';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType, hasThemeColour: boolean): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag fw-normal';\n\n case TagType.Normal:\n if (!hasThemeColour)\n return 'bg-gray-100 fw-normal';\n return '';\n\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n const hasThemeColour = (tagType === TagType.Normal && props.themeColours) && !!props.themeColours?.secondary;\n let classNames = `${styles.badgeBase} rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType, hasThemeColour)}`;\n let textContainerClass = `text-truncate text-nowrap`;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove) {\n classNames += ' ' + styles.removeBadge;\n textContainerClass += ' ' + `${styles.removeBadgeText} d-inline-flex align-items-center lh-1`;\n }\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className={textContainerClass}>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <button\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n aria-label={`${getPhrase('ariaFilter')} ${name}`}\n >\n <span className={textContainerClass}>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </button>\n );\n}"],"names":["namespace","getPhrase","LanguageService","getTagTypeClass","tagType","hasThemeColour","TagType","TagItem","props","tag","appLink","onClick","disabled","tagClass","name","_a","_b","classNames","styles","textContainerClass","style","jsx","AppLink","jsxs"],"mappings":"mWAWMA,EAAY,cACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAY5D,SAASG,EAAgBC,EAAkBC,EAAiC,CAC1E,OAAQD,EAAA,CACN,KAAKE,EAAQ,SACb,KAAKA,EAAQ,MACX,MAAO,0BAET,KAAKA,EAAQ,OACX,MAAO,uBAET,KAAKA,EAAQ,OACX,OAAKD,EAEE,GADE,wBAGX,QACE,MAAO,EAAA,CAEb,CAEO,SAASE,EAAQC,EAAkC,SACxD,KAAM,CAAE,IAAAC,EAAK,QAAAC,EAAS,QAAAC,EAAS,SAAAC,EAAU,SAAAC,EAAW,OAAUL,EAExDM,EAAOL,EAAI,KAAK,YAAA,EAChBL,GAAUW,EAAAN,EAAI,UAAJ,YAAAM,EAAa,cAEvBV,EAAkBD,IAAYE,EAAQ,QAAUE,EAAM,cAAiB,CAAC,GAACQ,EAAAR,EAAM,eAAN,MAAAQ,EAAoB,WACnG,IAAIC,EAAa,GAAGC,EAAO,SAAS,qCAAqCL,CAAQ,IAAIV,EAAgBC,EAASC,CAAc,CAAC,GACzHc,EAAqB,4BAErBd,IACFY,GAAc,gBAEXP,GAAWC,IAAY,CAACC,IAC3BK,GAAc,mBAEZL,IACFK,GAAc,IAAMC,EAAO,UAEzBV,EAAM,WACRS,GAAc,IAAMC,EAAO,YAC3BC,GAAsB,IAASD,EAAO,eAAe,0CAElDR,IACHO,GAAc,mBAEhB,MAAMG,EAA6Bf,EAC/B,CAAE,gBAAiBG,EAAM,aAAa,SAAA,EACtC,CAAA,EAEJ,OAAIE,EAEAW,EAAAA,IAACC,EAAA,CACC,QAAAX,EACA,QAAAD,EACA,UAAWO,EACX,MAAOH,EACP,MAAAM,EAEA,SAAAC,EAAAA,IAAC,OAAA,CAAK,UAAWF,EAAqB,SAAAL,CAAA,CAAK,CAAA,CAAA,EAM/CO,EAAAA,IAAC,SAAA,CACC,QAAAV,EACA,UAAWM,EACX,MAAOH,EACP,MAAAM,EACA,aAAY,GAAGnB,EAAU,YAAY,CAAC,IAAIa,CAAI,GAE9C,SAAAS,EAAAA,KAAC,OAAA,CAAK,UAAWJ,EACd,SAAA,CAAAL,EACAN,EAAM,UACLa,EAAAA,IAAC,SAAA,CACC,QAASb,EAAM,SACf,UAAW,GAAGU,EAAO,KAAK,8BAC1B,KAAK,SACL,aAAW,OAAA,CAAA,CACb,CAAA,CAEJ,CAAA,CAAA,CAGN"}
|