@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 o,a6 as s}from"./app-DfSv_-O3.js";const p={company(e,a){return{url:s.urlBuilder(`{gateway}/v1/objects/${e}`,a),publicUrl:s.urlBuilder(`/api/objects/${e}`,a),key:`company:${e}`}},companies(e={},a,r){const t=`search:v4:streamable:company:${a}:${r}`,c={query:"",searchType:"content",indices:[{index:"company",filters:e}],allowSubstitute:!1,cursor:a??void 0,limit:r,sorts:{name:"asc"}};return{url:"{gateway}/v4/search",publicUrl:"/api/search/v4",type:o.POST,data:c,key:t}}};export{p as C};
|
|
2
|
-
//# sourceMappingURL=CrkRNOU9.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrkRNOU9.chunk.js","sources":["../../src/shared/flight-requests/CompanyRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nexport const CompanyRequests = {\n company(id: string, params?: HashObject): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, params),\n key: `company:${id}`\n };\n },\n \n companies(\n filters: HashObject = {},\n cursor?: string,\n limit?: number\n ): Flight.PublicRequest {\n const key = `search:v4:streamable:company:${cursor}:${limit}`;\n\n const indices = [{ index: 'company', filters }];\n\n const data = {\n query: '',\n searchType: 'content',\n indices,\n allowSubstitute: false,\n cursor: cursor ?? undefined,\n limit,\n sorts: {\n name: 'asc'\n }\n };\n\n return {\n url: '{gateway}/v4/search',\n publicUrl: '/api/search/v4',\n type: HttpVerbs.POST,\n data,\n key\n };\n }\n};"],"names":["CompanyRequests","id","params","UrlHelper","filters","cursor","limit","key","data","HttpVerbs"],"mappings":"+CAKO,MAAMA,EAAkB,CAC7B,QAAQC,EAAYC,EAA2C,CAC7D,MAAO,CACL,IAAKC,EAAU,WAAW,wBAAwBF,CAAE,GAAIC,CAAM,EAC9D,UAAWC,EAAU,WAAW,gBAAgBF,CAAE,GAAIC,CAAM,EAC5D,IAAK,WAAWD,CAAE,EAAA,CAEtB,EAEA,UACEG,EAAsB,GACtBC,EACAC,EACsB,CACtB,MAAMC,EAAM,gCAAgCF,CAAM,IAAIC,CAAK,GAIrDE,EAAO,CACX,MAAO,GACP,WAAY,UACZ,QALc,CAAC,CAAE,MAAO,UAAW,QAAAJ,EAAS,EAM5C,gBAAiB,GACjB,OAAQC,GAAU,OAClB,MAAAC,EACA,MAAO,CACL,KAAM,KAAA,CACR,EAGF,MAAO,CACL,IAAK,sBACL,UAAW,iBACX,KAAMG,EAAU,KAChB,KAAAD,EACA,IAAAD,CAAA,CAEJ,CACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a}from"./app-DfSv_-O3.js";function m(l){return a.jsx("svg",{...l,children:a.jsx("path",{d:"M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1",fill:"currentColor"})})}export{m as F};
|
|
2
|
-
//# sourceMappingURL=CskJerl_.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CskJerl_.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/FileImgSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function FileImgSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M5 6v12h14V6zm0-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1m2.4 10.3a.5.5 0 0 1-.8-.6l3-4a.5.5 0 0 1 .754-.054l.579.58 1.765-2.513a.5.5 0 0 1 .83.015l3.891 6a.5.5 0 0 1-.838.544l-3.49-5.379-1.682 2.394a.5.5 0 0 1-.763.067l-.592-.593zm.6-4.8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["FileImgSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAWC,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iVACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b7 as j,i as k,k as v,h as b,j as s,b8 as P,n as ce,b9 as re,ba as oe,d as f,T as x,u as N,bb as le,R as H,a6 as A,o as L,bc as E,bd as O,a5 as _,be as de,bf as B,bg as I,O as me,aE as ue,$ as he,s as pe,bh as ye,t as ge,a3 as xe,a4 as fe,bi as Le,c as J,p as je,_ as ke,L as be,E as R,V as Se,W as Z,X as ee,v as Ae,w as Pe,x as ve,a0 as W}from"./app-DfSv_-O3.js";import{V as $}from"./awsfwCdu.chunk.js";import{C as Ce,M as Ve}from"./DrsVPpSl.chunk.js";import{b as D,c as M,M as Ie,d as se,C as Ne,I as Oe,V as _e}from"./CFs3kdQx.chunk.js";import{H as Re,P as Te,S as Fe}from"./lBHPAFYv.chunk.js";import{B as $e}from"./BBnDr_iy.chunk.js";import{R as G}from"./BlFiywl_.chunk.js";import{I as De,a as te}from"./CbFIe2Y6.chunk.js";import{S as qe,B as we,a as Ee,u as Me}from"./B1QWJfPw.chunk.js";import{A as Ue}from"./CZLZ0bbA.chunk.js";import{B as Q,a as z}from"./DF55CDS8.chunk.js";import{B as Be}from"./DLJB8vZh.chunk.js";import{S as He}from"./SnHtKbiQ.chunk.js";import{I as Ge}from"./U-eF69sj.chunk.js";import{u as We}from"./BMrWb7Ku.chunk.js";import{A as Qe}from"./CWHjB5Ye.chunk.js";import{C as ze}from"./B0KMLOp5.chunk.js";import{T as Xe,a as Ye}from"./DCds0mCy.chunk.js";import{C as Ke}from"./nay4aGaa.chunk.js";import{h as Je}from"./CXslDtbb.chunk.js";import{u as Ze}from"./DWvpibWQ.chunk.js";import"./CEmtkty-.chunk.js";import"./C-pJ0Wi3.chunk.js";import"./CZafJWQk.chunk.js";import"./pkzD5BEm.chunk.js";import"./I8EoNmf8.chunk.js";import"./XarUQJMp.chunk.js";import"./B32lL5ga.chunk.js";import"./Cib9o4sK.chunk.js";import"./Dpq10cRY.chunk.js";import"./C8Br2CdQ.chunk.js";import"./DKqLfL60.chunk.js";import"./DOHPsm0Q.chunk.js";import"./CskJerl_.chunk.js";import"./BwDmMfAz.chunk.js";import"./BdHxGaRy.chunk.js";import"./C3fMNXil.chunk.js";import"./cvX-F_mx.chunk.js";import"./C-7yn3rc.chunk.js";import"./C36-3UWl.chunk.js";import"./DhWvZ3GP.chunk.js";import"./tHf2V3t0.chunk.js";import"./D3tziVkG.chunk.js";import"./BCyuhFou.chunk.js";import"./DNtSrq_L.chunk.js";import"./DBp0J6X9.chunk.js";import"./CPXlV0fg.chunk.js";import"./DUwkrIwb.chunk.js";import"./BF7Uu3LW.chunk.js";function es(e){var a,n,c,l;const t={...e.analyticsData,id:(a=e.data)==null?void 0:a.id,name:(n=e.data)==null?void 0:n.name},i={location:b.ClassificationListItem,...e.analyticsOptions,actionType:v.Click,entity:k.Company,descriptor:j.Cover};return s.jsx(Ce,{...e,analyticsData:t,analyticsOptions:i,coverUrl:(c=e.data.logo)==null?void 0:c.url,coverBgColor:(l=e.data.metadata)==null?void 0:l.colour})}function ss(e){return s.jsx(P,{as:"li",sm:6,md:e.useLargeStyle?6:4,lg:e.useLargeStyle?4:3,children:s.jsx("div",{className:"position-relative px-1 mb-2",children:s.jsx(es,{data:e.item,getChildAppLink:e.appLinks.getCompanyAppLink,getChildAppLinkOptions:()=>{var t,i;return(i=(t=e.appLinks).getCompanyAppLinkOptions)==null?void 0:i.call(t,e.item)},analyticsData:{itemIndex:e.itemIndex,search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:0},isLarge:e.useLargeStyle})})})}const ts="_videoList_14pgo_1",q={videoList:ts},T="search.exchangeVideoGroup",X=3;function is(e){const t=e.item.showCount>=X?X:e.item.showCount;function i(){return e.pagePositionIndex===0?"border-bottom pb-1 mb-3":"border-top border-bottom pt-3 mt-2 pb-1 mb-3"}const a=ce.getCurrentAppLink(),n=a.params??{};let c=(n==null?void 0:n.source)??[];c&&!Array.isArray(c)&&(c=[c]);const l={...a,params:{...n,source:[...c,re.ExchangeArchive]}},r={query:e.queryParams.query,itemIndex:e.itemIndex,pagePositionIndex:e.pagePositionIndex},u={entity:k.SearchResults,location:b.ExchangeSearchGroupItem,actionType:v.Click,descriptor:oe.ExchangeArchive};return s.jsxs("div",{className:i(),children:[s.jsx(f,{appLink:l,analyticsData:r,analyticsOptions:u,children:s.jsx("h2",{className:"h4",children:s.jsx(x,{namespace:T,phrase:"heading"})})}),s.jsxs("p",{children:[s.jsx(x,{namespace:T,phrase:"message"})," ",s.jsx(f,{appLink:e.appLinks.searchSettings,className:"text-info",analyticsData:r,analyticsOptions:{...u,descriptor:j.Settings},children:s.jsx(x,{namespace:T,phrase:"searchSettings"})}),"."]}),s.jsx("div",{className:`position-relative ${q.videoList}`,children:e.item.videos.slice(0,t).map((h,m)=>s.jsx(D,{video:h,getVideoAppLink:e.appLinks.getVideoAppLink,presentationAudiences:e.audiences,analyticsData:{search:{query:e.queryParams.query,score:h._score,maxScore:h._maxScore,featured:h._featured},pagePositionIndex:e.pagePositionIndex},hasPermissions:e.hasPermissions,commonVideoProps:e.commonVideoProps},m))}),s.jsx("div",{className:"text-center py-2",children:s.jsx(f,{className:"text-secondary",appLink:l,analyticsData:r,analyticsOptions:u,children:s.jsx(x,{namespace:T,phrase:"seeMore"})})})]})}function as(e){return s.jsx("div",{className:"pb-3",children:s.jsx(Re,{video:e.item,presentationAudiences:e.audiences,getVideoAppLink:(t,i)=>e.appLinks.getVideoAppLink(t,i),analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},hideInteractiveBadge:!0,showVideoGuidance:$.showVideoGuidance(e.hasPermissions),commonVideoProps:e.commonVideoProps})})}const ns="_videoList_182nk_1",cs={videoList:ns},rs="search.playlistWithVideos";function os(){const e=N();return e.xl||e.xxl?3:2}function ls(e){const t=os(),i=e.playlist.videos.data.slice(0,t),a={actionType:v.Click,entity:k.Playlist,location:b.PlaylistWithVideos},n={...e.analyticsData,id:e.playlist.id,name:e.playlist.name};return s.jsx("div",{className:"ps-2 py-2",children:s.jsxs(G,{className:"g-0 border rounded-3",children:[s.jsx(P,{xs:4,lg:3,className:"pe-3",children:s.jsx(Te,{appLink:e.playlistAppLink,analyticsData:e.analyticsData,analyticsOptions:{...a,descriptor:j.Cover},data:e.playlist,presentationAudiences:e.presentationAudiences,bgColourClassNames:$e,itemStyle:"round-left",imageCdnUrl:e.commonVideoProps.imageCdnUrl,currentUser:e.currentUser,showCount:!1,showOwner:!0})}),s.jsx(P,{xs:8,lg:9,children:s.jsxs("div",{className:"d-flex justify-content-between",children:[s.jsx("div",{className:`pt-3 mb-n2 ${cs.videoList}`,children:i==null?void 0:i.map(c=>{const l={...n,videoId:c.id,videoName:c.name};return s.jsx("div",{className:"mb-2",children:s.jsx(D,{video:c,getVideoAppLink:e.getVideoAppLink,analyticsData:l,analyticsOptions:{entity:k.Video,location:b.PlaylistWithVideos},size:"sm",hasPermissions:e.hasPermissions,hideVideoGuidance:!0,commonVideoProps:e.commonVideoProps})},c.id)})}),s.jsx("div",{className:"text-end pt-3 pe-3",children:s.jsx(f,{className:"info-link fw-semibold",appLink:e.playlistAppLink,analyticsData:n,analyticsOptions:{...a,descriptor:j.Link},children:s.jsx(x,{namespace:rs,phrase:"seeAllVideos"})})})]})})]})})}function ds(e){return s.jsx("div",{className:"mx-n2",children:s.jsx(ls,{playlist:e.item,playlistAppLink:e.appLinks.getPlaylistAppLink(e.item),presentationAudiences:e.audiences,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},currentUser:e.currentUser,preloadImage:!0,getVideoAppLink:e.appLinks.getVideoAppLink,hasPermissions:e.hasPermissions,commonVideoProps:e.commonVideoProps})})}const ms="_videoList_182nk_1",us={videoList:ms},hs="search.seriesWithVideos";function ps(){const e=N();return e.xl||e.xxl?5:e.lg||e.md?4:3}function ys(e){const t=ps(),i=e.series.videos.data.slice(0,t),a={actionType:v.Click,entity:k.Series,location:b.SeriesWithVideos},n={...e.analyticsData,id:e.series.id,name:e.series.name};return s.jsx("div",{className:"ps-2 py-2",children:s.jsxs(G,{className:"g-0 border rounded-3",children:[s.jsx(P,{xs:4,lg:3,className:"pe-3",children:s.jsx(f,{appLink:e.seriesAppLink,className:"position-relative",analyticsData:n,analyticsOptions:{...a,descriptor:j.TallPoster},children:s.jsx(Fe,{series:e.series,presentationAudiences:e.presentationAudiences,preloadImage:e.preloadImage,imageClass:"rounded-start-lg"})})}),s.jsx(P,{xs:8,lg:9,children:s.jsxs("div",{className:"d-flex justify-content-between",children:[s.jsx("div",{className:`pt-3 mb-n2 ${us.videoList}`,children:i==null?void 0:i.map(c=>{const l={...n,videoId:c.id,videoName:c.name};return c={...c,series:e.series},s.jsx("div",{className:"mb-2",children:s.jsx(D,{video:c,getVideoAppLink:e.getVideoAppLink,analyticsData:l,analyticsOptions:{entity:k.Video,location:b.SeriesWithVideos},size:"sm",hasPermissions:e.hasPermissions,hideVideoGuidance:!0,commonVideoProps:e.commonVideoProps})},c.id)})}),s.jsx("div",{className:"text-end pt-3 pe-3",children:s.jsx(f,{className:"info-link fw-semibold",appLink:e.seriesAppLink,analyticsData:n,analyticsOptions:{...a,descriptor:j.Link},children:s.jsx(x,{namespace:hs,phrase:"seeAllVideos"})})})]})})]})})}function gs(e){return s.jsx("div",{className:"mx-n2",children:s.jsx(ys,{presentationAudiences:e.audiences,series:e.item,seriesAppLink:e.appLinks.getSeriesAppLink(e.item),getVideoAppLink:e.appLinks.getVideoAppLink,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},preloadImage:!0,hasPermissions:e.hasPermissions,commonVideoProps:e.commonVideoProps})})}const xs="search.collectionVideoList";function fs(){const e=N();return e.xs?2:e.sm?1:3}function Ls(e){const t=fs(),i={analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions};return s.jsxs(s.Fragment,{children:[s.jsx("ul",{className:"list-unstyled my-1",children:e.videos.slice(0,t).map(a=>{var c;const n=!!a.episodeNumber&&!!((c=a.season)!=null&&c.id);return s.jsx("li",{className:"d-flex align-items-center",children:s.jsxs(f,{...i,className:"clamp-1",appLink:e.getVideoAppLink(a),children:[n&&s.jsxs(s.Fragment,{children:[s.jsx(qe,{video:a})," "]}),a.name]})},`${e.collectionId}:${a.id}`)})}),s.jsx(f,{...i,className:"info-link",appLink:e.appLink,children:s.jsx(x,{namespace:xs,phrase:"seeAll"})})]})}const js="_overlay_1tsto_1",ks={overlay:js},bs="search.collectionThumbnail";function ie(e){var h,m,d;const t=N(),a=M.getSize(t,"md")==="sm",n=!!((m=(h=e.collection.videos)==null?void 0:h.data)!=null&&m.length),c=n&&e.collection.videos.data.find(o=>{var y;return!!((y=o.thumbnail)!=null&&y.url)});function l(){const o={...e.analyticsData,id:e.collection.id,name:e.collection.name};return c&&(o.videoId=c.id,o.videoName=c.name),o}const r=l(),u=e.collectionType==="series";return s.jsxs("div",{className:`row g-0 ${a?"":"py-2"}`,children:[s.jsx(P,{...M.getThumbnailColumns(),className:`flex-column align-items-flex-start ${a?"pb-2 pe-2":"mb-1 px-2"}`,children:s.jsx("div",{className:`position-relative overflow-hidden ${a?"rounded":"rounded-3"}`,children:s.jsxs(Be,{data:c==null?void 0:c.thumbnail,appLink:e.appLink,imageType:le.Thumbnails,analyticsData:r,analyticsOptions:{...e.analyticsOptions,descriptor:j.Thumbnail},children:[s.jsx(Ie,{type:e.maskType}),s.jsx(De,{type:e.imageFallbackType}),s.jsx("div",{className:`d-flex flex-column align-items-center justify-content-center text-white h-100 ${ks.overlay}`,children:s.jsx(x,{namespace:bs,phrase:"seeAll"})})]})})}),s.jsxs(P,{...M.getDetailsColumns(),className:a?"pb-2":"px-2",children:[!e.isPlugin&&s.jsx(Ue,{actions:e.getCollectionActions(e.collection,e.showActions,e.collectionType,e.analyticsOptions),className:"float-end mt-n1",actionsDropdownClassName:"btn btn-link ms-1"}),s.jsx(f,{appLink:e.appLink,analyticsData:r,analyticsOptions:{...e.analyticsOptions,descriptor:j.Title},children:s.jsx("h5",{className:"m-0 mb-1",children:s.jsx("span",{className:"clamp-1",children:e.collection.name})})}),u&&!e.hideBadges&&s.jsxs(we,{children:[s.jsx(Q,{type:z.Rating,data:Ee.getRating(e.collection)}),s.jsx(Q,{type:z.ProductionYear,data:(d=e.collection.metadata)==null?void 0:d.year})]}),n&&s.jsx(Ls,{collectionId:e.collection.id,videos:e.collection.videos.data,appLink:e.appLink,analyticsData:r,analyticsOptions:{...e.analyticsOptions,descriptor:j.Link},getVideoAppLink:e.getVideoAppLink})]})]})}function Ss(e){return s.jsx("div",{className:`position-relative ${q.videoList}`,children:s.jsx(ie,{analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},analyticsOptions:{entity:k.Playlist,actionType:v.Click,location:b.PlaylistListItem},appLink:e.appLinks.getPlaylistAppLink(e.item),showActions:e.showActions,collection:e.item,collectionType:"playlist",maskType:se.Playlist,imageFallbackType:te.PlaylistThumbnail,isPlugin:e.commonVideoProps.isPlugin,getVideoAppLink:e.appLinks.getVideoAppLink,getCollectionActions:e.appLinks.getCollectionActions})})}function As(e){return s.jsx("div",{className:`position-relative ${q.videoList}`,children:s.jsx(ie,{analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},analyticsOptions:{entity:k.Series,actionType:v.Click,location:b.SeriesListItem},appLink:e.appLinks.getSeriesAppLink(e.item),collectionType:"series",collection:e.item,showActions:e.showActions,maskType:se.Series,imageFallbackType:te.SeriesThumbnail,hideBadges:!0,isPlugin:e.commonVideoProps.isPlugin,getVideoAppLink:e.appLinks.getVideoAppLink,getCollectionActions:e.appLinks.getCollectionActions})})}function Ps(e){return s.jsx(P,{as:"li",sm:6,md:e.useLargeStyle?6:4,lg:e.useLargeStyle?4:3,children:s.jsx("div",{className:"position-relative px-1 mb-2",children:s.jsx(Ve,{data:e.item,getChildAppLink:e.appLinks.getClassificationAppLink,getChildAppLinkOptions:()=>{var t,i;return(i=(t=e.appLinks).getClassificationAppLinkOptions)==null?void 0:i.call(t,e.item)},availablePresentations:e.availablePresentations,analyticsData:{itemIndex:e.itemIndex,search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:0},isLarge:e.useLargeStyle,highlightOnHover:e.commonVideoProps.showNewVideoIndicator})})})}function vs(e){function t(a){return $.isClip(a)?Ne:$.isInteractive(a)?Oe:D}const i=t(e.item);return s.jsx("div",{className:`position-relative ${q.videoList}`,children:s.jsx(i,{video:e.item,getVideoAppLink:e.appLinks.getVideoAppLink,getPreviewQuestionsAppLink:e.appLinks.getPreviewQuestionsAppLink,presentationAudiences:e.audiences,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},hasPermissions:e.hasPermissions,commonVideoProps:e.commonVideoProps})})}const Cs="shared.mixedSearchResults",Vs=8,Is=H.memo(function(e){var c,l,r,u,h,m;const t=N(),i=t.xs||t.sm;if(!((c=e.results)!=null&&c.length)&&!((l=e.topics)!=null&&l.totalResults)&&!((r=e.companies)!=null&&r.totalResults))return s.jsx(s.Fragment,{});const a=[...((u=e.companies)==null?void 0:u.results)??[],...((h=e.topics)==null?void 0:h.results)??[]],n={useLargeStyle:a.length<4,...e};return s.jsxs("div",{className:"position-relative",children:[s.jsx("p",{role:"status",className:"visually-hidden",children:s.jsx(x,{namespace:Cs,phrase:"ariaSearch"})}),!!a.length&&s.jsx(G,{as:"ul",className:"list-unstyled g-0 pb-3 mx-n1",children:a.slice(0,Vs).map((d,o)=>{switch(d.type.toLowerCase()){case"company":return s.jsx(ss,{item:d,itemIndex:o,...n},o);case"subject":return s.jsx(Ps,{item:d,itemIndex:o,...n},o)}})}),(m=e.results)==null?void 0:m.map((d,o)=>{var p,g;const y=a.length?o+1:o;if("isExchangeVideoGroup"in d&&d.isExchangeVideoGroup)return s.jsx(is,{item:d,pagePositionIndex:y,...n},o);switch((p=d.type)==null?void 0:p.toLowerCase()){case"interactive":case"clip":case"video":return o===0&&d._featured&&$.isVideo(d)?s.jsx(as,{item:d,pagePositionIndex:y,...n},o):s.jsx(vs,{item:d,pagePositionIndex:y,...n},o);case"playlist":return i?s.jsx(Ss,{item:d,pagePositionIndex:y,...n},o):s.jsx(ds,{item:d,pagePositionIndex:y,...n},o);case"series":return i||!((g=d.tallPoster)!=null&&g.id)?s.jsx(As,{item:d,pagePositionIndex:y,...n},o):s.jsx(gs,{item:d,pagePositionIndex:y,...n},o)}})]})}),U="search.searchSubstitute";function Ns(e){return e.substitute?s.jsxs("div",{className:"pb-3",children:[s.jsxs("p",{className:"mb-1 h6",children:[s.jsx(x,{namespace:U,phrase:"showingFor"})," ",s.jsx(f,{className:"info-link",appLink:e.getAppLink(e.substitute,e.queryParams),appLinkOptions:{replace:!0},children:e.substitute})]}),s.jsxs("p",{className:"mb-0 h6 fw-normal",children:[s.jsx(x,{namespace:U,phrase:"searchInsteadFor"}),s.jsx(f,{className:"info-link",appLink:e.getAppLink(e.queryParams.query,{...e.queryParams,allowSubstitute:"false"}),children:e.queryParams.query}),s.jsx(x,{namespace:U,phrase:"endOriginal"})]})]}):s.jsx(s.Fragment,{})}const Os="search.searchSuggestions";ae.defaultProps={suggestions:[],queryParams:{}};function ae(e){var t;return(t=e.suggestions)!=null&&t.length?s.jsxs("div",{className:"d-flex align-items-center mb-3",children:[s.jsx(x,{namespace:Os,phrase:"didYouMean"})," ",e.suggestions.map((i,a)=>s.jsxs(H.Fragment,{children:[a!==0&&s.jsx("span",{className:"mx-1",children:"•"}),s.jsx(f,{className:"info-link",appLink:e.getAppLink(i,e.queryParams),appLinkOptions:{replace:!0},children:i})]},`${i}:${a}`))]}):s.jsx(s.Fragment,{})}const _s={search(e,t,i={},a,n,c){let l=`search:${e}:${t}:${a}`;l+=Object.keys(i).map(u=>i[u]).join(";");const r=Object.assign({},{index:t,cursor:a??void 0,query:e,...i});return{url:A.urlBuilder("{gateway}/v1/search",r),publicUrl:A.urlBuilder("/api/search",r),key:l,success:n,error:c}},schoolLevels(e){const t={filterType:"schoolLevels",presentationId:e};return{url:A.urlBuilder("{gateway}/v1/search/filters",t),publicUrl:A.urlBuilder("/api/search/filters",t),key:"school-levels"}}};function Rs(e){return L(e&&_s.schoolLevels([e]))}const Y={video:E.VIDEO_COLLECTION,series:"rating,tallPoster",playlist:"videos[count(),thumbnail]{limit:1},interactives[count(),_thumbnail]{limit:1},clips[count(),_thumbnail]{limit:1}",classification:`cover,thumbnail,tags{tagtype:${Xe.Curation}}`,clip:E.CLIP_COLLECTION,interactive:E.INTERACTIVE_COLLECTION,company:"logo",category:"libraries[_logo],thumbnail"};function K(e){var n,c;let t=e.totalResults;const i=((n=e==null?void 0:e.results)==null?void 0:n.filter(l=>{var r,u,h,m,d,o,y,p;if(l._index!=="series"&&l._index!=="playlist")return!0;if(l._index==="playlist"){const g=l;return(u=(r=g.clips)==null?void 0:r.data)!=null&&u.length||(m=(h=g.interactives)==null?void 0:h.data)!=null&&m.length||(o=(d=g.videos)==null?void 0:d.data)!=null&&o.length?!0:(t--,!1)}return((p=(y=l.videos)==null?void 0:y.data)==null?void 0:p.length)===0?(t--,!1):!0}))??[];e.results=i,e.totalResults=t;const a=(c=i[0])==null?void 0:c._score;return{...e,results:de.mapMaxScoreToSearchResults(i,a)}}function F(e){return Object.entries(e).reduce((t,[,i])=>{let a=i;return typeof i=="object"?a=F(i):["number","boolean","string"].includes(typeof i)&&(a=i.toString()),t.length?`${t},${a}`:a},"")}const w={searchDashboard(e,t,i=[]){const a=i.sort((m,d)=>m.id.localeCompare(d.id)).map(m=>[m.id,m==null?void 0:m.cursor]),n=F(t),c=`search:v5:dashboard:${e}:${a}:${n}`,{[`${O.FILTER_PARAM_PREFIX}indicesFilters`]:l,isLearner:r,...u}=t,h={widgets:i,indices:l,filters:Object.entries(u).reduce((m,[d,o])=>({...m,[d.replace("filters.","")]:o}),{}),query:e,includeAllIndices:!1,isLearner:!!r};return{url:"{gateway}/v5/search/widgets",publicUrl:"/api/search/v5/widgets",type:_.POST,data:h,key:c}},searchDashboardWidget(e,t,i,a=[]){const n=a.sort((o,y)=>o.id.localeCompare(y.id)).map(o=>[o.id,o==null?void 0:o.cursor]),c=F(i),l=`search:v5:dashboard:${e}:widget:${t}:${n}:${c}`,{[`${O.FILTER_PARAM_PREFIX}indicesFilters`]:r,isLearner:u,excludeVideoIds:h,...m}=i,d={widgets:a,indices:r,filters:Object.entries(m).reduce((o,[y,p])=>({...o,[y.replace("filters.","")]:p}),{}),query:t,includeAllIndices:!1,isLearner:!!u,ogql:Y,excludeVideoIds:h};return{url:`{gateway}/v5/search/widgets/${e}`,publicUrl:`/api/search/v5/widgets/${e}`,type:_.POST,data:d,key:l}},searchV5(e,t,i=[]){const a=i.sort((m,d)=>m.id.localeCompare(d.id)).map(m=>[m.id,m==null?void 0:m.cursor]),n=F(t),c=`search:v5:${e}:${a}:${n}`,{[`${O.FILTER_PARAM_PREFIX}indicesFilters`]:l,isLearner:r,...u}=t,h={widgets:i,indices:l,filters:Object.entries(u).reduce((m,[d,o])=>({...m,[d.replace("filters.","")]:o}),{}),query:e,includeAllIndices:!1,isLearner:!!r,ogql:Y};return{url:"{gateway}/v5/search",publicUrl:"/api/search/v5",type:_.POST,data:h,key:c}},searchV4(e){const{query:t,indices:i,filters:a={},sorts:n={},allowSubstitute:c=!0,cursor:l,limit:r}=e;let u=`search:v4:${t}:${c}:${i}:${l}`;u+=Object.keys(a).map(p=>{const g=a[p];return Array.isArray(g)?g.join(";"):g}).join(";");const{[`${O.FILTER_PARAM_PREFIX}excludeLibraryExclusive`]:h,isLearner:m,...d}=a,y={searchType:"content",indices:i.map(p=>p!=="video"||!h?{index:p}:{index:p,filters:{excludeLibraryExclusive:h}}),filters:Object.entries(d).reduce((p,[g,S])=>({...p,[g.replace("filters.","")]:S}),{}),sorts:n,query:t,allowSubstitute:c,cursor:l??void 0,isLearner:!!m,limit:r};return{url:"{gateway}/v4/search",publicUrl:"/api/search/v4",type:_.POST,data:y,key:u,formatData:K}},search(e){const{query:t,indices:i,filters:a,allowSubstitute:n,cursor:c,limit:l,success:r,error:u}=e;let h=`search:${t}:${n}:${i}:${c}`;h+=Object.keys(a).map(d=>{const o=a[d];return Array.isArray(o)?o.join(";"):o}).join(";");const m=Object.assign({},{index:i,cursor:c??void 0,query:t,allowSubstitute:n,limit:l,...a});return{url:A.urlBuilder("{gateway}/v3/search",m),publicUrl:A.urlBuilder("/api/search",m),key:h,formatData:K,success:r,error:u}},tagsAndClassifications(e,t,i={},a,n,c){const l={index:t,cursor:a,query:e,...i};let r=`filter:options:${e}:${t.join(":")}:${a}`;return r+=Object.keys(i).map(u=>{const h=i[u];return Array.isArray(h)?h.join(";"):h}).join(";"),{url:A.urlBuilder("{gateway}/v3/search/tags-and-classifications",l),publicUrl:A.urlBuilder("/api/search/tags-and-classifications",l),key:r,success:n,error:c,normalize:!1}}};function Ts(e,t){const a=B.buildBackendFilterParams(e,null,[t],!1,[])||{};a["filters.presentation"]=t;const n=w.search({query:I.getQuery(e),indices:["company"],filters:a,allowSubstitute:e.allowSubstitute!=="false"});return L(n)}function Fs(e,t){const i=B.buildBackendFilterParams(e,null,[t],!1,[]),a=me.pick(i,["filters.classification","filters.presentation"]);a["filters.classificationType"]=Ye.Subject,a["filters.status"]=Ke.Published,a["filters.presentation"]=t;const c=!B.getAppliedIndices(e).includes("classification"),l=w.search({query:I.getQuery(e),indices:["classification"],filters:a,allowSubstitute:e.allowSubstitute!=="false"}),r=!c,u=L(r&&l);return r?u:null}function $s(e){var g,S,C,V;const t=L(ue.currentUser()),i=L(he.config()),a=L(pe.streamablePresentation()),n=a.data,l=(g=L(ye.streamableLearning()).data)==null?void 0:g.objectId,r=n==null?void 0:n.id,u=L(a.data&&Qe.presentationAudiences(a.data.id,ge.StreamableLearning)),h=Rs((S=a.data)==null?void 0:S.id),m=(V=(C=h.data)==null?void 0:C.schoolLevels)==null?void 0:V.map(ne=>ne.id),d=L(h.data&&ze.topicsFromAllAvailablePresentations(m)),o=Fs(e,r),y=Ts(e,r),p=u.hasCompleted&&t.hasCompleted&&i.hasCompleted;return{queryParams:e,currentUser:t,config:i,audiences:u,schoolLevels:h,availableTopics:d,topics:o,companies:y,currentPresentationId:r,streamableLibraryId:l,hasDataLoaded:p}}const Ds="search.utils";function qs(e){var d,o,y;const{queryParams:t,appliedIndices:i,backendFilters:a}=e,n=xe(),c=fe(),l=Le((d=r())==null?void 0:d.key);function r(p){return e.hasDataLoaded&&!!(i!=null&&i.length)&&w.searchV4({query:t.query,indices:i,filters:a,sorts:{dateReleased:"desc"},allowSubstitute:t.allowSubstitute!=="false",cursor:p})}function u(p){c(r(p))}function h(p,g){if(p===1)return Je(g);n.error(J.getPhrase(Ds,"error"))}const m=Ze(r,u,h,p=>p.results);return{...m,hasFirstPageCompleted:m.hasFirstPageCompleted||!e.hasDataLoaded||!(i!=null&&i.length),fetchNext:u,substituteQuery:(o=l.data)==null?void 0:o.substituteQuery,suggestions:(y=l.data)==null?void 0:y.suggestions}}function ws(e){return L(e&&w.tagsAndClassifications(e.queryParams.query,e.appliedIndices,e.backendFilters))}function Es(e){const[t,i]=je(ke.SHOW_SEARCH_MASK,!0);H.useEffect(()=>{t&&e&&i(!1)},[e])}const Ms="search.searchResultsEmptyState";function Us(e){const t=Se.EmptyStates.SEARCH;return s.jsx(be.Provider,{value:Ms,children:s.jsxs(R,{children:[s.jsx(R.Image,{src:t}),s.jsx(R.Heading,{children:e.query?s.jsx(x,{phrase:"headingWithQuery",options:{query:e.query}}):s.jsx(x,{phrase:"headingWithoutQuery"})}),s.jsxs(R.Info,{children:[s.jsx(x,{phrase:"info"}),s.jsx(f,{className:"info-link",appLink:{application:ee.SUBJECTS,action:Z.Subjects.CLASSIFICATION_ALL},children:s.jsx(x,{phrase:"topicsAppLink"})})]})]})})}const Bs="search.searchResults",Hs=J.encloseNamespace(Bs);function Et(e){var o,y,p,g,S,C,V;const{queryParams:t={}}=e,{commonVideoProps:i}=Me(),a=We(),n=$s(t),c=I.getBackendFilters(n),l=ws(c),r=qs({...c,...n}),u=I.getFilters(n,l);Ae(Pe.getDefaultMetadata({title:t.query??"",phraseContext:{phraseHandler:Hs,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},allowIndexing:!1,product:ve.PRODUCT_NAME}));const h=n.hasDataLoaded&&u,m=r.hasFirstPageCompleted&&(!n.topics||n.topics.hasCompleted)&&(!n.companies||n.companies.hasCompleted)&&l.hasCompleted&&!!u,d=((o=r.items)==null?void 0:o.length)||((p=(y=n.topics)==null?void 0:y.data)==null?void 0:p.totalResults)||((S=(g=n.companies)==null?void 0:g.data)==null?void 0:S.totalResults);return Es(m),h?s.jsxs("div",{className:"px-4",children:[s.jsx(Ns,{substitute:r.substituteQuery,queryParams:t,getAppLink:W.search}),!r.substituteQuery&&s.jsx(ae,{suggestions:r.suggestions,queryParams:t,getAppLink:W.search}),!!n.audiences.data&&!!n.availableTopics.data&&s.jsx(He,{queryParams:t,mainFilters:u==null?void 0:u.mainFilters,analyticsOptions:{entity:k.SearchResults,location:b.SearchFilters},appLink:{application:ee.SEARCH,action:Z.Search.HOME},isFetchingOptions:l.isFetching}),m&&s.jsxs("section",{children:[d?s.jsx(_e.Provider,{value:{getVideoActions:a},children:s.jsx(Is,{queryParams:t,results:r.items,topics:(C=n.topics)==null?void 0:C.data,companies:(V=n.companies)==null?void 0:V.data,audiences:!t.moviesAndTv&&n.audiences.data,currentUser:n.currentUser.data,availablePresentations:null,showActions:!0,appLinks:I.getAppLinks(),hasPermissions:()=>!1,commonVideoProps:i})}):s.jsx(Us,{query:t.query}),(r.hasMore||r.isFetching)&&s.jsx(Ge,{isFetching:r.isFetching,fetchNext:r.fetchNext,nextCursor:r.nextCursor,fetchOnScroll:!0})]})]}):s.jsx(s.Fragment,{})}export{Et as SearchResultsView,Bs as namespace};
|
|
2
|
-
//# sourceMappingURL=Ct_IIxaS.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Ct_IIxaS.chunk.js","sources":["../../../../libs/shared/src/components/widgets/items/subject-widget-item/CompanyWidgetItem.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/CompanyResult.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/exchange-video-group/ExchangeVideoGroup.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/FeaturedVideoResult.tsx","../../../../libs/shared/src/apps/search/components/playlist-with-videos/PlaylistWithVideos.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/LargePlaylistResults.tsx","../../../../libs/shared/src/apps/search/components/series-with-videos/SeriesWithVideos.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/LargeSeriesResult.tsx","../../../../libs/shared/src/apps/search/components/collection-video-list/CollectionVideoList.tsx","../../../../libs/shared/src/apps/search/components/collection-thumbnail/CollectionThumbnail.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/SmallPlaylistResult.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/SmallSeriesResults.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/SubjectResult.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/components/VideoResult.tsx","../../../../libs/shared/src/apps/search/components/mixed-search-results/MixedSearchResults.tsx","../../../../libs/shared/src/apps/search/components/search-substitute/SearchSubstitute.tsx","../../../../libs/shared/src/apps/search/components/search-suggestions/SearchSuggestions.tsx","../../src/apps/search/flight-requests/SearchRequests.ts","../../src/apps/search/hooks/useFetchSchoolLevels.ts","../../../../libs/shared/src/apps/search/constants/SearchOGQL.ts","../../../../libs/shared/src/apps/search/flight-requests/SharedSearchRequests.ts","../../src/apps/search/hooks/useSearchCompanies.ts","../../src/apps/search/hooks/useSearchTopics.ts","../../src/apps/search/hooks/useFetchSearchData.tsx","../../src/apps/search/hooks/useGetSearchResults.tsx","../../src/apps/search/hooks/useGetTagsAndClassifications.tsx","../../src/apps/search/hooks/useSearchMask.tsx","../../src/apps/search/views/search-results/empty-state/SearchResultsEmptyState.tsx","../../src/apps/search/views/search-results/SearchResultsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { CoverPillWidgetContentWrapper, CoverPillWidgetItemProps } from 'libs/shared/components/widgets/items/subject-widget-item/CoverPill';\nimport { Company } from 'libs/shared/interfaces';\n\nexport function CompanyWidgetItem(props: CoverPillWidgetItemProps<Company>): JSX.Element {\n const analyticsData = {\n ...props.analyticsData,\n id: props.data?.id,\n name: props.data?.name\n };\n\n const analyticsOptions = {\n location: LocationContext.ClassificationListItem,\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: EntityType.Company,\n descriptor: ClickDescriptor.Cover\n };\n\n return (\n <CoverPillWidgetContentWrapper\n {...props}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n coverUrl={props.data.logo?.url}\n coverBgColor={props.data.metadata?.colour}\n />\n );\n}","import React from 'react';\nimport { Col } from 'react-bootstrap';\n\nimport { CompanyWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item/CompanyWidgetItem';\nimport { Company } from 'libs/shared/interfaces';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nexport function CompanyResult(props: MixedSearchResultItemProps<Company>): JSX.Element {\n return (\n <Col as='li' sm={6} md={props.useLargeStyle ? 6 : 4} lg={props.useLargeStyle ? 4 : 3}>\n <div className={`position-relative px-1 mb-2`}>\n <CompanyWidgetItem\n data={props.item}\n getChildAppLink={props.appLinks.getCompanyAppLink}\n getChildAppLinkOptions={() => props.appLinks.getCompanyAppLinkOptions?.(props.item)}\n analyticsData={{\n itemIndex: props.itemIndex,\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: 0\n }}\n isLarge={props.useLargeStyle}\n />\n </div>\n </Col>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { ClickDescriptor, EntityType, HashObject, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { ExchangeVideoGroup } from 'libs/shared/apps/search/interfaces/SearchResults';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoItem } from 'libs/shared/components/video-list/video-item/VideoItem';\n\nimport { MixedSearchResultItemProps } from './../MixedSearchResultItemProps';\n\nimport styles from '../../mixed-search-results.module.scss';\n\nconst namespace = 'search.exchangeVideoGroup';\n\nconst EXCHANGE_RESULT_DISPLAY_LIMIT = 3;\n\nexport function ExchangeVideoGroup(props: MixedSearchResultItemProps<ExchangeVideoGroup>): JSX.Element {\n const limit = props.item.showCount >= EXCHANGE_RESULT_DISPLAY_LIMIT\n ? EXCHANGE_RESULT_DISPLAY_LIMIT\n : props.item.showCount;\n\n function getContainerClassName(): string {\n if (props.pagePositionIndex === 0)\n return 'border-bottom pb-1 mb-3';\n\n return 'border-top border-bottom pt-3 mt-2 pb-1 mb-3';\n }\n\n const currentAppLink = Core.AppLinkHelper.getCurrentAppLink();\n const currentParams = (currentAppLink.params as HashObject) ?? {};\n let currentSource = currentParams?.source ?? [];\n\n if (currentSource && !Array.isArray(currentSource))\n currentSource = [currentSource];\n\n const searchAppLink = {\n ...currentAppLink,\n params: {\n ...currentParams,\n source: [ ...(currentSource), SourceFilterOptions.ExchangeArchive ]\n }\n };\n\n const analyticsData = {\n query: props.queryParams.query,\n itemIndex: props.itemIndex,\n pagePositionIndex: props.pagePositionIndex\n };\n const analyticsOptions = {\n entity: EntityType.SearchResults,\n location: LocationContext.ExchangeSearchGroupItem,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.ExchangeArchive\n };\n\n return (\n <div className={getContainerClassName()}>\n <AppLink\n appLink={searchAppLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <h2 className='h4'>\n <Text namespace={namespace} phrase='heading' />\n </h2>\n </AppLink>\n <p>\n <Text namespace={namespace} phrase='message' />\n \n <AppLink\n appLink={props.appLinks.searchSettings}\n className='text-info'\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Settings\n }}\n >\n <Text namespace={namespace} phrase='searchSettings' />\n </AppLink>\n .\n </p>\n\n <div className={`position-relative ${styles.videoList}`}>\n {props.item.videos.slice(0, limit).map((v, i) => {\n return (\n <VideoItem\n key={i}\n video={v}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n presentationAudiences={props.audiences}\n analyticsData= {{\n search: {\n query: props.queryParams.query,\n score: v._score,\n maxScore: v._maxScore,\n featured: v._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n />\n );\n })}\n </div>\n <div className='text-center py-2'>\n <AppLink\n className='text-secondary'\n appLink={searchAppLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </AppLink>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HeroVideo } from 'libs/shared/apps/subjects/components/hero-video/HeroVideo';\nimport { Video } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nexport function FeaturedVideoResult(props: MixedSearchResultItemProps<Video>): JSX.Element {\n return (\n <div className='pb-3'>\n <HeroVideo\n video={props.item}\n presentationAudiences={props.audiences}\n getVideoAppLink={(v, opts) => props.appLinks.getVideoAppLink(v, opts)}\n analyticsData={{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n hideInteractiveBadge\n showVideoGuidance={VideoHelper.showVideoGuidance(props.hasPermissions)}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\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 { AnalyticsOptions, ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PlaylistItem } from 'libs/shared/apps/playlists/components/playlist-list';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoItem } from 'libs/shared/components/video-list/video-item/VideoItem';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CurrentUser, Playlist, PresentationAudience, Video } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\n\nimport styles from './playlist-with-videos.module.scss';\n\nconst namespace = 'search.playlistWithVideos';\n\nfunction useGetMaxVideos(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xl || breakpoints.xxl)\n return 3;\n \n return 2;\n}\n\ninterface PlaylistWithVideoProps {\n playlist: Playlist;\n playlistAppLink: Core.AppLink;\n presentationAudiences: PresentationAudience[];\n preloadImage: boolean;\n analyticsData: HashObject;\n currentUser: CurrentUser;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n hasPermissions: HasPermissionsFunc;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function PlaylistWithVideos(props: PlaylistWithVideoProps): JSX.Element {\n const maxVideos = useGetMaxVideos();\n\n const videos = props.playlist.videos.data.slice(0, maxVideos);\n\n const playlistAnalyticsOption: AnalyticsOptions = {\n actionType: UserAction.Click,\n entity: EntityType.Playlist,\n location: LocationContext.PlaylistWithVideos\n };\n\n const playlistAnalyticsData: HashObject = {\n ...props.analyticsData,\n id: props.playlist.id,\n name: props.playlist.name\n };\n\n return (\n <div className='ps-2 py-2'>\n <Row className='g-0 border rounded-3'>\n <Col xs={4} lg={3} className='pe-3'>\n <PlaylistItem\n appLink={props.playlistAppLink}\n analyticsData={props.analyticsData}\n analyticsOptions={{\n ...playlistAnalyticsOption,\n descriptor: ClickDescriptor.Cover\n }}\n data={props.playlist}\n presentationAudiences={props.presentationAudiences}\n bgColourClassNames={BG_COLOUR_CLASS_NAMES}\n itemStyle='round-left'\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n currentUser={props.currentUser}\n showCount={false}\n showOwner\n />\n </Col>\n <Col xs={8} lg={9}>\n <div className='d-flex justify-content-between'>\n <div className={`pt-3 mb-n2 ${styles.videoList}`}>\n {videos?.map(video => {\n const videoAnalyticsData: HashObject = {\n ...playlistAnalyticsData,\n videoId: video.id,\n videoName: video.name\n };\n\n return (\n <div key={video.id} className='mb-2'>\n <VideoItem\n video={video}\n getVideoAppLink={props.getVideoAppLink}\n analyticsData={videoAnalyticsData}\n analyticsOptions={{\n entity: EntityType.Video,\n location: LocationContext.PlaylistWithVideos\n }}\n size='sm'\n hasPermissions={props.hasPermissions}\n hideVideoGuidance\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n );\n })}\n </div>\n <div className='text-end pt-3 pe-3'>\n <AppLink\n className='info-link fw-semibold'\n appLink={props.playlistAppLink}\n analyticsData={playlistAnalyticsData}\n analyticsOptions={{\n ...playlistAnalyticsOption,\n descriptor: ClickDescriptor.Link\n }}\n >\n <Text namespace={namespace} phrase='seeAllVideos' />\n </AppLink>\n </div>\n </div>\n </Col>\n </Row>\n </div>\n );\n}","import React from 'react';\n\nimport { Playlist } from 'libs/shared/interfaces';\n\nimport { PlaylistWithVideos } from '../../playlist-with-videos/PlaylistWithVideos';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nexport function LargePlaylistResult(props: MixedSearchResultItemProps<Playlist>): JSX.Element {\n return (\n <div className='mx-n2'>\n <PlaylistWithVideos\n playlist={props.item}\n playlistAppLink={props.appLinks.getPlaylistAppLink(props.item)}\n presentationAudiences={props.audiences}\n analyticsData={{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n currentUser={props.currentUser}\n preloadImage\n getVideoAppLink={props.appLinks.getVideoAppLink}\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\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 { AnalyticsOptions, ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SeriesTallPoster } from 'libs/shared/components/series-tall-poster/SeriesTallPoster';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoItem } from 'libs/shared/components/video-list/video-item/VideoItem';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { PresentationAudience, Series, Video } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\n\nimport styles from './series-with-videos.module.scss';\n\nconst namespace = 'search.seriesWithVideos';\n\nfunction useGetMaxVideos(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xl || breakpoints.xxl)\n return 5;\n \n if (breakpoints.lg || breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface SeriesWithVideoProps {\n series: Series;\n seriesAppLink: Core.AppLink;\n presentationAudiences: PresentationAudience[];\n preloadImage: boolean;\n analyticsData: HashObject;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n hasPermissions: HasPermissionsFunc;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function SeriesWithVideos(props: SeriesWithVideoProps): JSX.Element {\n const maxVideos = useGetMaxVideos();\n\n const videos = props.series.videos.data.slice(0, maxVideos);\n\n const seriesAnalyticsOption: AnalyticsOptions = {\n actionType: UserAction.Click,\n entity: EntityType.Series,\n location: LocationContext.SeriesWithVideos\n };\n\n const seriesAnalyticsData: HashObject = {\n ...props.analyticsData,\n id: props.series.id,\n name: props.series.name\n };\n\n return (\n <div className='ps-2 py-2'>\n <Row className='g-0 border rounded-3'>\n <Col xs={4} lg={3} className='pe-3'>\n <AppLink\n appLink={props.seriesAppLink}\n className='position-relative'\n analyticsData={seriesAnalyticsData}\n analyticsOptions={{\n ...seriesAnalyticsOption,\n descriptor: ClickDescriptor.TallPoster\n }}\n >\n <SeriesTallPoster\n series={props.series}\n presentationAudiences={props.presentationAudiences}\n preloadImage={props.preloadImage}\n imageClass='rounded-start-lg'\n />\n </AppLink>\n </Col>\n <Col xs={8} lg={9}>\n <div className='d-flex justify-content-between'>\n <div className={`pt-3 mb-n2 ${styles.videoList}`}>\n {videos?.map(video => {\n const videoAnalyticsData: HashObject = {\n ...seriesAnalyticsData,\n videoId: video.id,\n videoName: video.name\n };\n\n // insert parent series into video object\n video = {\n ...video,\n series: props.series\n };\n\n return (\n <div key={video.id} className='mb-2'>\n <VideoItem\n video={video}\n getVideoAppLink={props.getVideoAppLink}\n analyticsData={videoAnalyticsData}\n analyticsOptions={{\n entity: EntityType.Video,\n location: LocationContext.SeriesWithVideos\n }}\n size='sm'\n hasPermissions={props.hasPermissions}\n hideVideoGuidance\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n );\n })}\n </div>\n <div className='text-end pt-3 pe-3'>\n <AppLink\n className='info-link fw-semibold'\n appLink={props.seriesAppLink}\n analyticsData={seriesAnalyticsData}\n analyticsOptions={{\n ...seriesAnalyticsOption,\n descriptor: ClickDescriptor.Link\n }}\n >\n <Text namespace={namespace} phrase='seeAllVideos' />\n </AppLink>\n </div>\n </div>\n </Col>\n </Row>\n </div>\n );\n}","import React from 'react';\n\nimport { Series } from 'libs/shared/interfaces';\n\nimport { SeriesWithVideos } from '../../series-with-videos/SeriesWithVideos';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nexport function LargeSeriesResult(props: MixedSearchResultItemProps<Series>): JSX.Element {\n return (\n <div className='mx-n2'>\n <SeriesWithVideos\n presentationAudiences={props.audiences}\n series={props.item}\n seriesAppLink={props.appLinks.getSeriesAppLink(props.item)}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n analyticsData={{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n preloadImage\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SeasonEpisode } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Video } from 'libs/shared/interfaces';\n\nconst namespace = 'search.collectionVideoList';\n\ninterface CollectionVideoListProps {\n videos: Video[];\n collectionId: string;\n appLink: Core.AppLink;\n analyticsOptions: AnalyticsOptions;\n analyticsData?: HashObject;\n getVideoAppLink: (video: Video) => Core.AppLink;\n}\n\nfunction useGetMaxVideos(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xs)\n return 2;\n\n if (breakpoints.sm)\n return 1;\n\n return 3;\n}\n\nexport function CollectionVideoList(props: CollectionVideoListProps): JSX.Element {\n const maxVideos = useGetMaxVideos();\n\n const analyticsProps = {\n analyticsData: props.analyticsData,\n analyticsOptions: props.analyticsOptions\n };\n\n return (\n <>\n <ul className='list-unstyled my-1'>\n {props.videos.slice(0, maxVideos).map(v => {\n const hasSeasonEpisode = !!v.episodeNumber && !!v.season?.id;\n\n return (\n <li key={`${props.collectionId}:${v.id}`} className='d-flex align-items-center'>\n <AppLink\n {...analyticsProps}\n className='clamp-1'\n appLink={props.getVideoAppLink(v)}\n >\n {hasSeasonEpisode && <><SeasonEpisode video={v} /> </>}\n {v.name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n\n <AppLink\n {...analyticsProps}\n className='info-link'\n appLink={props.appLink}\n >\n <Text namespace={namespace} phrase='seeAll' />\n </AppLink>\n </>\n );\n}","import React from 'react';\nimport { Col } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions, ClickDescriptor } from 'libs/analytics/interfaces';\n\nimport { CollectionVideoList } from 'libs/shared/apps/search/components/collection-video-list/CollectionVideoList';\nimport { ActionOptions, Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Mask, MaskType } from 'libs/shared/components/mask/Mask';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { ImageType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Playlist, Series, Video } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { SeriesHelper } from 'libs/shared/utils/SeriesHelper';\n\nimport styles from './collection-thumbnail.module.scss';\n\nconst namespace = 'search.collectionThumbnail';\n\n\nexport type GetCollectionActions = (\n collection: Collection,\n showActions: boolean,\n collectionType: CollectionType,\n baseAnalyticsOptions: AnalyticsOptions\n) => ActionOptions[]\n\ntype Collection = Series | Playlist;\ntype CollectionType = 'series' | 'playlist';\n\ninterface CollectionThumbnailProps {\n collection: Collection;\n collectionType: CollectionType;\n appLink: Core.AppLink;\n showActions: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n maskType?: MaskType;\n imageFallbackType?: ImageFallbackType;\n hideBadges?: boolean;\n isPlugin: boolean;\n getCollectionActions: GetCollectionActions;\n getVideoAppLink: (video: Video, opts?: GetVideoAppLinkOptions) => Core.AppLink;\n}\n\nexport function CollectionThumbnail(props: CollectionThumbnailProps): JSX.Element {\n const breakpoints = useBreakpoints();\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const hasVideos = !!props.collection.videos?.data?.length;\n\n const firstVideoWithThumbnail = hasVideos && props.collection.videos.data.find(v => !!v.thumbnail?.url);\n\n function getAnalyticsData(): HashObject {\n const data: HashObject = {\n ...props.analyticsData,\n id: props.collection.id,\n name: props.collection.name\n };\n\n if (firstVideoWithThumbnail) {\n data.videoId = firstVideoWithThumbnail.id;\n data.videoName = firstVideoWithThumbnail.name;\n }\n\n return data;\n }\n\n const analyticsData = getAnalyticsData();\n const isSeries = props.collectionType === 'series';\n\n return (\n <div className={`row g-0 ${isSmall ? '' : 'py-2'}`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-2` : 'mb-1 px-2'}`}>\n <div className={`position-relative overflow-hidden ${isSmall ? 'rounded' : 'rounded-3'}`}>\n <BaseImage\n data={firstVideoWithThumbnail?.thumbnail}\n appLink={props.appLink}\n imageType={ImageType.Thumbnails}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...props.analyticsOptions,\n descriptor: ClickDescriptor.Thumbnail\n }}\n >\n <Mask type={props.maskType} />\n <ImageFallback type={props.imageFallbackType} />\n \n <div className={`d-flex flex-column align-items-center justify-content-center text-white h-100 ${styles.overlay}`}>\n <Text namespace={namespace} phrase='seeAll' />\n </div>\n </BaseImage>\n </div>\n </Col>\n\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n {!props.isPlugin &&\n <ActionsComponent\n actions={props.getCollectionActions(\n props.collection,\n props.showActions,\n props.collectionType,\n props.analyticsOptions\n )}\n className='float-end mt-n1'\n actionsDropdownClassName='btn btn-link ms-1'\n />\n }\n\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...props.analyticsOptions,\n descriptor: ClickDescriptor.Title\n }}\n >\n <h5 className='m-0 mb-1'><span className='clamp-1'>{props.collection.name}</span></h5>\n </AppLink>\n\n {isSeries && !props.hideBadges && (\n <BadgeListContainer>\n <Badge type={BadgeType.Rating} data={SeriesHelper.getRating((props.collection as Series))} />\n <Badge type={BadgeType.ProductionYear} data={(props.collection as Series).metadata?.year} />\n </BadgeListContainer>\n )}\n \n {hasVideos && (\n <CollectionVideoList\n collectionId={props.collection.id}\n videos={props.collection.videos.data}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...props.analyticsOptions,\n descriptor: ClickDescriptor.Link\n }}\n getVideoAppLink={props.getVideoAppLink}\n />\n )}\n </Col>\n </div>\n );\n}","import React from 'react';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { MaskType } from 'libs/shared/components/mask/Mask';\nimport { Playlist } from 'libs/shared/interfaces';\n\nimport { CollectionThumbnail } from '../../collection-thumbnail/CollectionThumbnail';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nimport styles from '../mixed-search-results.module.scss';\n\nexport function SmallPlaylistResult(props: MixedSearchResultItemProps<Playlist>): JSX.Element {\n return (\n <div className={`position-relative ${styles.videoList}`}>\n <CollectionThumbnail\n analyticsData={{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n analyticsOptions={{\n entity: EntityType.Playlist,\n actionType: UserAction.Click,\n location: LocationContext.PlaylistListItem\n }}\n appLink={props.appLinks.getPlaylistAppLink(props.item)}\n showActions={props.showActions}\n collection={props.item}\n collectionType='playlist'\n maskType={MaskType.Playlist}\n imageFallbackType={ImageFallbackType.PlaylistThumbnail}\n isPlugin={props.commonVideoProps.isPlugin}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n getCollectionActions={props.appLinks.getCollectionActions}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { MaskType } from 'libs/shared/components/mask/Mask';\nimport { Series } from 'libs/shared/interfaces';\n\nimport { CollectionThumbnail } from '../../collection-thumbnail/CollectionThumbnail';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nimport styles from '../mixed-search-results.module.scss';\n\nexport function SmallSeriesResult(props: MixedSearchResultItemProps<Series>): JSX.Element {\n return (\n <div className={`position-relative ${styles.videoList}`}>\n <CollectionThumbnail\n analyticsData={{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n analyticsOptions={{\n entity: EntityType.Series,\n actionType: UserAction.Click,\n location: LocationContext.SeriesListItem\n }}\n appLink={props.appLinks.getSeriesAppLink(props.item)}\n collectionType='series'\n collection={props.item}\n showActions={props.showActions}\n maskType={MaskType.Series}\n imageFallbackType={ImageFallbackType.SeriesThumbnail}\n hideBadges\n isPlugin={props.commonVideoProps.isPlugin}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n getCollectionActions={props.appLinks.getCollectionActions}\n />\n </div>\n );\n}","import React from 'react';\nimport { Col } from 'react-bootstrap';\n\nimport { SubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nexport function SubjectResult(props: MixedSearchResultItemProps<Classification>): JSX.Element {\n return (\n <Col as='li' sm={6} md={props.useLargeStyle ? 6 : 4} lg={props.useLargeStyle ? 4 : 3}>\n <div className={`position-relative px-1 mb-2`}>\n <SubjectWidgetItem\n data={props.item}\n getChildAppLink={props.appLinks.getClassificationAppLink}\n getChildAppLinkOptions={\n () => props.appLinks.getClassificationAppLinkOptions?.(props.item)\n }\n availablePresentations={props.availablePresentations}\n analyticsData={{\n itemIndex: props.itemIndex,\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: 0\n }}\n isLarge={props.useLargeStyle}\n highlightOnHover={props.commonVideoProps.showNewVideoIndicator}\n />\n </div>\n </Col>\n );\n}","import React from 'react';\n\nimport { ClipItem, ClipItemProps } from 'libs/shared/components/video-list/clip-item/ClipItem';\nimport { InteractiveItem, InteractiveItemProps } from 'libs/shared/components/video-list/interactive-item/InteractiveItem';\nimport { VideoItem, VideoItemProps } from 'libs/shared/components/video-list/video-item/VideoItem';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { MixedSearchResultItemProps } from './MixedSearchResultItemProps';\n\nimport styles from '../mixed-search-results.module.scss';\n\nexport function VideoResult(props: MixedSearchResultItemProps<VideoTypes>): JSX.Element {\n function getItemComponent(\n video: VideoTypes\n ): (props: ClipItemProps | InteractiveItemProps | VideoItemProps) => JSX.Element {\n if (VideoHelper.isClip(video))\n return ClipItem;\n \n if (VideoHelper.isInteractive(video))\n return InteractiveItem;\n \n return VideoItem;\n }\n\n const Component = getItemComponent(props.item);\n\n return (\n <div className={`position-relative ${styles.videoList}`}>\n <Component\n video={props.item}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n getPreviewQuestionsAppLink={props.appLinks.getPreviewQuestionsAppLink}\n presentationAudiences={props.audiences}\n analyticsData= {{\n search: {\n query: props.queryParams.query,\n score: props.item._score,\n maxScore: props.item._maxScore,\n featured: props.item._featured\n },\n pagePositionIndex: props.pagePositionIndex\n }}\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n );\n}","import React from 'react';\nimport { Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { Classification, Company, CurrentUser, InteractiveMetadata, Playlist, Presentation, PresentationAudience, Series, 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 { SearchResultObjectTypes, SearchResults, SearchResultsObject } from '../../interfaces';\nimport { GetCollectionActions } from '../collection-thumbnail/CollectionThumbnail';\n\nimport { CompanyResult } from './components/CompanyResult';\nimport { ExchangeVideoGroup } from './components/exchange-video-group/ExchangeVideoGroup';\nimport { FeaturedVideoResult } from './components/FeaturedVideoResult';\nimport { LargePlaylistResult } from './components/LargePlaylistResults';\nimport { LargeSeriesResult } from './components/LargeSeriesResult';\nimport { BaseMixedSearchResultItemProps } from './components/MixedSearchResultItemProps';\nimport { SmallPlaylistResult } from './components/SmallPlaylistResult';\nimport { SmallSeriesResult } from './components/SmallSeriesResults';\nimport { SubjectResult } from './components/SubjectResult';\nimport { VideoResult } from './components/VideoResult';\n\nconst namespace = 'shared.mixedSearchResults';\n\nconst TOPIC_DISPLAY_LIMIT = 8;\n\nexport interface MixedSearchResultAppLinks {\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n getSeriesAppLink: (series: Series) => Core.AppLink;\n getCompanyAppLink: (company: Company) => Core.AppLink;\n getCompanyAppLinkOptions?: (company: Company) => Core.AppLinkOptions;\n getClassificationAppLink: (classification: Classification) => Core.AppLink;\n getClassificationAppLinkOptions?: (classification: Classification) => Core.AppLinkOptions;\n getPlaylistAppLink: (playlist: Playlist) => Core.AppLink;\n getPreviewQuestionsAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getCollectionActions: GetCollectionActions;\n searchSettings?: Core.AppLink;\n}\n\ninterface MixedSearchResultsProps {\n queryParams: HashObject;\n results: SearchResultObjectTypes[];\n topics?: SearchResults;\n companies?: SearchResults;\n audiences: PresentationAudience[];\n currentUser: CurrentUser;\n availablePresentations: Presentation[]\n showActions: boolean;\n hasPermissions: HasPermissionsFunc;\n appLinks: MixedSearchResultAppLinks;\n commonVideoProps: CommonVideoProps;\n}\n\nexport const MixedSearchResults = React.memo(function(props: MixedSearchResultsProps): JSX.Element {\n const breakpoints = useBreakpoints();\n const useSmallComponent = breakpoints.xs || breakpoints.sm;\n\n if (!props.results?.length && !props.topics?.totalResults && !props.companies?.totalResults)\n return <></>;\n\n const companiesAndTopics = [\n ...props.companies?.results ?? [],\n ...props.topics?.results ?? []\n ];\n\n const childProps: BaseMixedSearchResultItemProps = {\n useLargeStyle: companiesAndTopics.length < 4,\n ...props\n };\n\n return (\n <div className='position-relative'>\n <p role='status' className='visually-hidden'><Text namespace={namespace} phrase='ariaSearch' /></p>\n\n {!!companiesAndTopics.length && (\n <Row as='ul' className='list-unstyled g-0 pb-3 mx-n1'>\n {companiesAndTopics.slice(0, TOPIC_DISPLAY_LIMIT).map((c, itemIndex) => {\n switch (c.type.toLowerCase()) {\n case 'company':\n return (\n <CompanyResult\n key={itemIndex}\n item={c as SearchResultsObject<Company>}\n itemIndex={itemIndex}\n {...childProps}\n />\n );\n case 'subject': {\n return (\n <SubjectResult\n key={itemIndex}\n item={c as SearchResultsObject<Classification>}\n itemIndex={itemIndex}\n {...childProps}\n />\n );\n }\n }\n })}\n </Row>\n )}\n\n {props.results?.map((result, index) => {\n const pagePositionIndex = companiesAndTopics.length ? index + 1 : index;\n\n if ('isExchangeVideoGroup' in result && result.isExchangeVideoGroup) {\n return (\n <ExchangeVideoGroup\n key={index}\n item={result}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n \n\n switch (result.type?.toLowerCase()) {\n case 'interactive':\n case 'clip':\n case 'video': {\n if (index === 0 && result._featured && VideoHelper.isVideo(result)) {\n return (\n <FeaturedVideoResult\n key={index}\n item={result as SearchResultsObject<Video>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n\n return (\n <VideoResult\n key={index}\n item={result as SearchResultsObject<Video>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n\n case 'playlist': {\n if (useSmallComponent) {\n return (\n <SmallPlaylistResult\n key={index}\n item={result as SearchResultsObject<Playlist>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n\n return (\n <LargePlaylistResult\n key={index}\n item={result as SearchResultsObject<Playlist>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n\n case 'series': {\n const series = result as Series;\n\n if (useSmallComponent || !series.tallPoster?.id) {\n return (\n <SmallSeriesResult\n key={index}\n item={result as SearchResultsObject<Series>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n\n return (\n <LargeSeriesResult\n key={index}\n item={result as SearchResultsObject<Series>}\n pagePositionIndex={pagePositionIndex}\n {...childProps}\n />\n );\n }\n }\n })}\n </div>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'search.searchSubstitute';\n\ninterface SearchSubstituteProps {\n substitute: string;\n queryParams: HashObject;\n getAppLink: (query: string, queryParams: HashObject) => Core.AppLink\n}\n\nexport function SearchSubstitute(props: SearchSubstituteProps): JSX.Element {\n if (!props.substitute)\n return <></>;\n\n return (\n <div className='pb-3'>\n <p className='mb-1 h6'>\n <Text namespace={namespace} phrase='showingFor' /> \n <AppLink\n className='info-link'\n appLink={props.getAppLink(props.substitute, props.queryParams)}\n appLinkOptions={{ replace: true }}\n >\n {props.substitute}\n </AppLink>\n </p>\n <p className='mb-0 h6 fw-normal'>\n <Text namespace={namespace} phrase='searchInsteadFor' />\n <AppLink\n className='info-link'\n appLink={props.getAppLink(props.queryParams.query, { ...props.queryParams, allowSubstitute: 'false' })}\n >\n {props.queryParams.query}\n </AppLink>\n <Text namespace={namespace} phrase='endOriginal' />\n </p>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'search.searchSuggestions';\n\ninterface SearchSuggestionsProps {\n suggestions: string[];\n queryParams: HashObject;\n getAppLink: (query: string, queryParams: HashObject) => Core.AppLink\n}\n\nSearchSuggestions.defaultProps = {\n suggestions: [],\n queryParams: {}\n};\n\nexport function SearchSuggestions(props: SearchSuggestionsProps): JSX.Element {\n if (!props.suggestions?.length)\n return <></>;\n\n return (\n <div className='d-flex align-items-center mb-3'>\n <Text namespace={namespace} phrase='didYouMean' />\n \n\n {props.suggestions.map((suggestion, index) => (\n <React.Fragment key={`${suggestion}:${index}`}>\n {index !== 0 && <span className='mx-1'>•</span>}\n\n <AppLink\n className='info-link'\n appLink={props.getAppLink(suggestion, props.queryParams)}\n appLinkOptions={{ replace: true }}\n >\n {suggestion}\n </AppLink>\n </React.Fragment>\n ))}\n </div>\n );\n}","import { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { SearchIndices, SearchResults } from 'libs/shared/apps/search/interfaces';\n\nexport const SearchRequests = {\n search(\n query: string,\n indices: SearchIndices[],\n filters: HashObject = {},\n cursor?: string,\n success?: (results: SearchResults) => void,\n error?: (xhr: Xhr) => void\n ): Flight.PublicRequest {\n let key = `search:${query}:${indices}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => filters[filterName]).join(';');\n\n const params = Object.assign({}, {\n index: indices,\n cursor: cursor ?? undefined,\n query,\n ...filters\n });\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/search', params),\n publicUrl: UrlHelper.urlBuilder('/api/search', params),\n key,\n success,\n error\n };\n },\n\n schoolLevels(presentationIds: string[]): Flight.PublicRequest {\n const params = {\n filterType: 'schoolLevels',\n presentationId: presentationIds\n };\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/search/filters', params),\n publicUrl: UrlHelper.urlBuilder('/api/search/filters', params),\n key: 'school-levels'\n };\n }\n};\n","import { Flight } from 'libs/common/flight';\n\nimport { SchoolLevels } from 'libs/shared/interfaces';\n\nimport { SearchRequests } from 'apps/search/flight-requests/SearchRequests';\n\nexport function useFetchSchoolLevels(presentationId: string) {\n return Flight.useBasicFetch<SchoolLevels>(\n presentationId && SearchRequests.schoolLevels([presentationId])\n );\n}","import { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { TagType } from 'libs/shared/enums/TagType';\n\n/**\n * OGQL used for search V5 endpoint\n */\nexport const SearchOGQL = {\n video: SharedWithStatements.VIDEO_COLLECTION,\n series: 'rating,tallPoster',\n playlist:\n 'videos[count(),thumbnail]{limit:1},interactives[count(),_thumbnail]{limit:1},' +\n 'clips[count(),_thumbnail]{limit:1}',\n classification: `cover,thumbnail,tags{tagtype:${TagType.Curation}}`,\n clip: SharedWithStatements.CLIP_COLLECTION,\n interactive: SharedWithStatements.INTERACTIVE_COLLECTION,\n company: 'logo',\n category: 'libraries[_logo],thumbnail'\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';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FilterConstants } from 'libs/shared/apps/search/constants/FilterConstants';\nimport { SearchOGQL } from 'libs/shared/apps/search/constants/SearchOGQL';\nimport { SearchIndices, SearchResultObjectTypes, SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport type { WidgetFilter } from 'libs/shared/apps/search/interfaces/WidgetSearchResults';\nimport { SharedSearchHelper } from 'libs/shared/apps/search/utils/SharedSearchHelper';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport type { Playlist, Series } from 'libs/shared/interfaces';\n\nfunction formatSearchResponse(response: SearchResults<SearchResultObjectTypes>) {\n /**\n * Until playlists and series are regionalised, search will always return every series/playlist that exists\n * even if the current user doesn't have access to the content inside (which will happen for example when playlists/series)\n * contain all UK library content but is being searched for by an AU user.\n *\n * For some search queries, this may result in search showing a bunch of \"empty\" playlists/series, which sucks.\n * This will filter all empty collections out and decrement the `totalResults` to avoid this and make search a better\n * experience.\n *\n * Ideally this will be removed one day when this regionalisation is no longer an issue.\n */\n let totalResults = response.totalResults;\n\n const results = response?.results?.filter(result => {\n if (result._index !== 'series' && result._index !== 'playlist')\n return true;\n\n if (result._index === 'playlist') {\n const playlist = result as SearchResultsObject<Playlist>;\n\n if (playlist.clips?.data?.length ||\n playlist.interactives?.data?.length ||\n playlist.videos?.data?.length)\n return true;\n\n totalResults--;\n return false;\n }\n\n if ((result as SearchResultsObject<Series>).videos?.data?.length === 0) {\n totalResults--;\n return false;\n }\n\n return true;\n }) ?? [];\n\n response.results = results;\n response.totalResults = totalResults;\n\n // The first search result will always have the highest score value.\n // We store it so that we can access it for subsequent results pages\n const resultMaxScore = results[0]?._score;\n\n return {\n ...response,\n results: SharedSearchHelper.mapMaxScoreToSearchResults(results, resultMaxScore)\n };\n}\n\nfunction stringifyObject(obj: HashObject): string {\n return Object.entries(obj).reduce((prev, [ , value ]) => {\n let stringifiedValue = value;\n\n if (typeof value === 'object') {\n stringifiedValue = stringifyObject(value);\n } else if ([ 'number', 'boolean', 'string' ].includes(typeof value)) {\n stringifiedValue = value.toString();\n }\n\n if (!prev.length)\n return stringifiedValue;\n\n return `${prev},${stringifiedValue}`;\n }, '');\n}\n\n\nexport const SharedSearchRequests = {\n searchDashboard(\n query: string,\n filters: HashObject,\n widgets: WidgetFilter[] = []\n ): Flight.PublicRequest {\n const widgetData = widgets.sort((a, b) => a.id.localeCompare(b.id)).map(w => [ w.id, w?.cursor ]);\n const filterData = stringifyObject(filters);\n \n const key = `search:v5:dashboard:${query}:${widgetData}:${filterData}`;\n \n const {\n [`${FilterConstants.FILTER_PARAM_PREFIX}indicesFilters`]: indicesFilter,\n isLearner,\n ...genericFilters\n } = filters;\n\n const data = {\n widgets,\n indices: indicesFilter,\n filters: Object.entries(genericFilters)\n .reduce((prev, [ key, value ]) =>\n ({ ...prev, [key.replace('filters.', '')]: value }), {}),\n query,\n includeAllIndices: false,\n isLearner: !!isLearner\n };\n\n return {\n url: '{gateway}/v5/search/widgets',\n publicUrl: '/api/search/v5/widgets',\n type: HttpVerbs.POST,\n data,\n key\n };\n },\n\n searchDashboardWidget(\n widgetTypeId: WidgetTypeId,\n query: string,\n filters: HashObject,\n widgets: WidgetFilter[] = []\n ): Flight.PublicRequest {\n const widgetData = widgets.sort((a, b) => a.id.localeCompare(b.id)).map(w => [ w.id, w?.cursor ]);\n const filterData = stringifyObject(filters);\n \n const key = `search:v5:dashboard:${widgetTypeId}:widget:${query}:${widgetData}:${filterData}`;\n \n const {\n [`${FilterConstants.FILTER_PARAM_PREFIX}indicesFilters`]: indicesFilter,\n isLearner,\n excludeVideoIds,\n ...genericFilters\n } = filters;\n\n const data = {\n widgets,\n indices: indicesFilter,\n filters: Object.entries(genericFilters)\n .reduce((prev, [ key, value ]) =>\n ({ ...prev, [key.replace('filters.', '')]: value }), {}),\n query,\n includeAllIndices: false,\n isLearner: !!isLearner,\n ogql: SearchOGQL,\n excludeVideoIds\n };\n\n return {\n url: `{gateway}/v5/search/widgets/${widgetTypeId}`,\n publicUrl: `/api/search/v5/widgets/${widgetTypeId}`,\n type: HttpVerbs.POST,\n data,\n key\n };\n },\n \n searchV5(\n query: string,\n filters: HashObject,\n widgets: WidgetFilter[] = []\n ): Flight.PublicRequest {\n const widgetData = widgets.sort((a, b) => a.id.localeCompare(b.id)).map(w => [ w.id, w?.cursor ]);\n const filterData = stringifyObject(filters);\n \n const key = `search:v5:${query}:${widgetData}:${filterData}`;\n \n const {\n [`${FilterConstants.FILTER_PARAM_PREFIX}indicesFilters`]: indicesFilter,\n isLearner,\n ...genericFilters\n } = filters;\n\n const data = {\n widgets,\n indices: indicesFilter,\n filters: Object.entries(genericFilters)\n .reduce((prev, [ key, value ]) =>\n ({ ...prev, [key.replace('filters.', '')]: value }), {}),\n query,\n includeAllIndices: false,\n isLearner: !!isLearner,\n ogql: SearchOGQL\n };\n\n return {\n url: '{gateway}/v5/search',\n publicUrl: '/api/search/v5',\n type: HttpVerbs.POST,\n data,\n key\n };\n },\n \n searchV4(options: {\n query: string;\n indices: SearchIndices[];\n filters: HashObject;\n sorts?: HashObject;\n allowSubstitute: boolean;\n cursor?: string;\n limit?: number;\n }): Flight.PublicRequest {\n const { query, indices, filters = {}, sorts = {}, allowSubstitute = true, cursor, limit } = options;\n\n let key = `search:v4:${query}:${allowSubstitute}:${indices}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => {\n const filter = filters[filterName];\n return Array.isArray(filter) ? filter.join(';') : filter;\n }).join(';');\n\n const {\n [`${FilterConstants.FILTER_PARAM_PREFIX}excludeLibraryExclusive`]: excludeLibraryExclusive,\n isLearner,\n ...genericFilters\n } = filters;\n\n const indexObjects = indices.map(index => {\n if (index !== 'video' || !excludeLibraryExclusive)\n return { index };\n\n return { index, filters: { excludeLibraryExclusive } };\n });\n\n const data = {\n searchType: 'content',\n indices: indexObjects,\n filters: Object.entries(genericFilters)\n .reduce((prev, [ key, value ]) =>\n ({ ...prev, [key.replace('filters.', '')]: value }), {}),\n sorts,\n query,\n allowSubstitute,\n cursor: cursor ?? undefined,\n isLearner: !!isLearner,\n limit\n };\n\n return {\n url: '{gateway}/v4/search',\n publicUrl: '/api/search/v4',\n type: HttpVerbs.POST,\n data,\n key,\n formatData: formatSearchResponse\n };\n },\n\n search(options: {\n query: string;\n indices: SearchIndices[];\n filters?: HashObject;\n allowSubstitute?: boolean;\n cursor?: string;\n limit?: number;\n success?: (results: SearchResults) => void;\n error?: (xhr: Xhr) => void;\n }): Flight.PublicRequest {\n const { query, indices, filters, allowSubstitute, cursor, limit, success, error } = options;\n\n let key = `search:${query}:${allowSubstitute}:${indices}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => {\n const filter = filters[filterName];\n return Array.isArray(filter) ? filter.join(';') : filter;\n }).join(';');\n\n const params = Object.assign({}, {\n index: indices,\n cursor: cursor ?? undefined,\n query,\n allowSubstitute,\n limit,\n ...filters\n });\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v3/search', params),\n publicUrl: UrlHelper.urlBuilder('/api/search', params),\n key,\n formatData: formatSearchResponse,\n success,\n error\n };\n },\n\n tagsAndClassifications(\n query: string,\n indices: SearchIndices[],\n filters: HashObject = {},\n cursor?: string,\n success?: (results: string[]) => void,\n error?: () => void\n ): Flight.PublicRequest {\n const params = {\n index: indices,\n cursor,\n query,\n ...filters\n };\n\n let key = `filter:options:${query}:${indices.join(':')}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => {\n const filter = filters[filterName];\n return Array.isArray(filter) ? filter.join(';') : filter;\n }).join(';');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v3/search/tags-and-classifications', params),\n publicUrl: UrlHelper.urlBuilder('/api/search/tags-and-classifications', params),\n key,\n success,\n error,\n normalize: false\n };\n }\n};","import { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { SharedSearchRequests } from 'libs/shared/apps/search/flight-requests/SharedSearchRequests';\nimport { SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { Company } from 'libs/shared/interfaces';\n\nimport { SearchHelper } from 'apps/search/utils/SearchHelper';\n\ntype CompanySearchResults = SearchResults<SearchResultsObject<Company>>;\n\nexport function useSearchCompanies(\n queryParams: HashObject,\n presentationId: string\n): Flight.Response<SearchResults> {\n const rawFilters = FilterHelper.buildBackendFilterParams(\n queryParams,\n null,\n [presentationId],\n false,\n []\n );\n \n const filters = rawFilters || {};\n filters[`filters.presentation`] = presentationId;\n\n const request = SharedSearchRequests.search({\n query: SearchHelper.getQuery(queryParams),\n indices: ['company'],\n filters,\n allowSubstitute: queryParams.allowSubstitute !== 'false'\n });\n\n return Flight.useBasicFetch<CompanySearchResults>(request);\n}\n","import { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { SharedSearchRequests } from 'libs/shared/apps/search/flight-requests/SharedSearchRequests';\nimport { SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { ClassificationStatus } from 'libs/shared/enums/ClassificationStatus';\nimport { ClassificationType } from 'libs/shared/enums/ClassificationType';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { SearchHelper } from 'apps/search/utils/SearchHelper';\n\ntype TopicSearchResults = SearchResults<SearchResultsObject<Classification>>;\n\nexport function useSearchTopics(\n queryParams: HashObject,\n presentationId: string\n): Flight.Response<SearchResults> {\n const rawFilters = FilterHelper.buildBackendFilterParams(\n queryParams,\n null,\n [presentationId],\n false,\n []\n );\n\n const filters = ObjectHelper.pick<HashObject>(rawFilters, [ 'filters.classification', 'filters.presentation' ]);\n filters[`filters.classificationType`] = ClassificationType.Subject;\n filters[`filters.status`] = ClassificationStatus.Published;\n filters['filters.presentation'] = presentationId;\n\n const indices = FilterHelper.getAppliedIndices(queryParams);\n\n const hasFilteredOutTopics = !indices.includes('classification');\n\n const request = SharedSearchRequests.search({\n query: SearchHelper.getQuery(queryParams),\n indices: ['classification'],\n filters,\n allowSubstitute: queryParams.allowSubstitute !== 'false'\n });\n\n const shouldFetch = !hasFilteredOutTopics;\n\n const response = Flight.useBasicFetch<TopicSearchResults>(shouldFetch && request);\n\n if (!shouldFetch)\n return null;\n\n return response;\n}\n","import { Flight } from 'libs/common/flight';\n\nimport { HashObject } from 'libs/analytics/interfaces';\n\nimport { TopicResults } from 'libs/shared/apps/search/interfaces';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CurrentUser, Presentation, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { PresentationRequests } from 'shared/flight-requests/PresentationRequests';\n\nimport { useFetchSchoolLevels } from 'apps/search/hooks/useFetchSchoolLevels';\nimport { useSearchCompanies } from 'apps/search/hooks/useSearchCompanies';\nimport { useSearchTopics } from 'apps/search/hooks/useSearchTopics';\n\n/**\n * This hook contains all the simple data fetching that normally sits in the view.\n * I've done this to help promote readability of of the SearchResultsView - Sha\n */\nexport function useFetchSearchData(queryParams: HashObject) {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const presentation = Flight.useBasicFetch<Presentation>(\n PresentationRequests.streamablePresentation()\n );\n\n const currentPresentation = presentation.data;\n\n const streamableLibrary = Flight.useBasicFetch<HashObject>(LibraryRequests.streamableLearning());\n const streamableLibraryId = streamableLibrary.data?.objectId;\n\n const currentPresentationId = currentPresentation?.id;\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(presentation.data &&\n AudienceRequests.presentationAudiences(presentation.data.id, PresentationType.StreamableLearning));\n\n const schoolLevels = useFetchSchoolLevels(presentation.data?.id);\n const schoolLevelIds = schoolLevels.data?.schoolLevels?.map(o => o.id);\n const availableTopics = Flight.useBasicFetch<TopicResults>(schoolLevels.data &&\n ClassificationRequests.topicsFromAllAvailablePresentations(schoolLevelIds));\n\n const topics = useSearchTopics(\n queryParams,\n currentPresentationId\n );\n\n const companies = useSearchCompanies(\n queryParams,\n currentPresentationId\n );\n\n const hasDataLoaded = (\n audiences.hasCompleted &&\n currentUser.hasCompleted &&\n config.hasCompleted\n );\n\n return {\n queryParams,\n currentUser,\n config,\n audiences,\n schoolLevels,\n availableTopics,\n topics,\n companies,\n currentPresentationId,\n streamableLibraryId,\n hasDataLoaded\n };\n}\n","import { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { HashObject } from 'libs/analytics/interfaces';\n\nimport { SharedSearchRequests } from 'libs/shared/apps/search/flight-requests/SharedSearchRequests';\nimport { SearchIndices, SearchResultObjectTypes, SearchResults } from 'libs/shared/apps/search/interfaces';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\n\nexport const namespace = 'search.utils';\n\ninterface UseGetSearchResultsOptions {\n queryParams: HashObject;\n appliedIndices: SearchIndices[];\n backendFilters: HashObject;\n hasDataLoaded: boolean;\n}\nexport function useGetSearchResults(options: UseGetSearchResultsOptions) {\n const { queryParams, appliedIndices, backendFilters } = options;\n\n const alerts = useAlerts();\n const fetch = Flight.useGetFetch();\n\n const searchResultsResponse = Flight.useGetResponse<SearchResults>(getSearchRequest()?.key);\n\n function getSearchRequest(cursor?: string) {\n return options.hasDataLoaded && !!appliedIndices?.length &&\n SharedSearchRequests.searchV4({\n query: queryParams.query,\n indices: appliedIndices,\n filters: backendFilters,\n sorts: { dateReleased: 'desc' },\n allowSubstitute: queryParams.allowSubstitute !== 'false',\n cursor\n });\n }\n\n function fetchNext(cursor?: string) {\n fetch(getSearchRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n }\n\n const searchResults = useInfiniteList<SearchResultObjectTypes, SearchResults>(\n getSearchRequest,\n fetchNext,\n onError,\n data => data.results\n );\n\n return {\n ...searchResults,\n hasFirstPageCompleted: searchResults.hasFirstPageCompleted || !options.hasDataLoaded || !appliedIndices?.length,\n fetchNext,\n substituteQuery: searchResultsResponse.data?.substituteQuery,\n suggestions: searchResultsResponse.data?.suggestions\n };\n}\n","import { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { SharedSearchRequests } from 'libs/shared/apps/search/flight-requests/SharedSearchRequests';\nimport { SearchIndices } from 'libs/shared/apps/search/interfaces';\n\nexport interface UseGetTagsAndClassificationsOptions {\n queryParams: HashObject;\n appliedIndices: SearchIndices[];\n backendFilters: HashObject;\n}\n\nexport function useGetTagsAndClassifications(options: UseGetTagsAndClassificationsOptions) {\n return Flight.useBasicFetch<string[]>(options && SharedSearchRequests.tagsAndClassifications(\n options.queryParams.query,\n options.appliedIndices,\n options.backendFilters\n ));\n}\n","import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\n\nexport function useSearchMask(hasCompleted: boolean): void {\n const [ showMask, setShowMask ] = useViewModel(SharedViewModelKeys.SHOW_SEARCH_MASK, true);\n\n React.useEffect(() => {\n showMask && hasCompleted && setShowMask(false);\n }, [hasCompleted]);\n}\n","import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\nconst namespace = 'search.searchResultsEmptyState';\n\ninterface SearchResultsEmptyStateProps {\n query?: string;\n scotland?: boolean;\n}\n\nexport function SearchResultsEmptyState(props: SearchResultsEmptyStateProps): JSX.Element {\n const imageUrl = ImageUrls.EmptyStates.SEARCH;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={imageUrl} />\n\n <EmptyState.Heading>\n {props.query\n ? <Text phrase='headingWithQuery' options={{ query: props.query }} />\n : <Text phrase='headingWithoutQuery' />\n }\n </EmptyState.Heading>\n\n <EmptyState.Info>\n <Text phrase='info' />\n <AppLink\n className='info-link'\n appLink={{ application: AppChannels.SUBJECTS, action: Actions.Subjects.CLASSIFICATION_ALL }}\n >\n <Text phrase='topicsAppLink' />\n </AppLink>\n </EmptyState.Info>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, HashObject, LocationContext } from 'libs/analytics/interfaces';\n\nimport { MixedSearchResults } from 'libs/shared/apps/search/components/mixed-search-results/MixedSearchResults';\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { SearchSubstitute } from 'libs/shared/apps/search/components/search-substitute/SearchSubstitute';\nimport { SearchSuggestions } from 'libs/shared/apps/search/components/search-suggestions/SearchSuggestions';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { StreamableConstants } from 'shared/constants/StreamableConstants';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useStreamableVideoActions } from 'shared/hooks/useStreamableVideoActions';\nimport { StreamableAppLinks } from 'shared/utils/StreamableAppLinks';\n\nimport { useFetchSearchData } from 'apps/search/hooks/useFetchSearchData';\nimport { useGetSearchResults } from 'apps/search/hooks/useGetSearchResults';\nimport { useGetTagsAndClassifications } from 'apps/search/hooks/useGetTagsAndClassifications';\nimport { useSearchMask } from 'apps/search/hooks/useSearchMask';\nimport { SearchHelper } from 'apps/search/utils/SearchHelper';\n\nimport { SearchResultsEmptyState } from './empty-state/SearchResultsEmptyState';\n\nexport const namespace = 'search.searchResults';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SearchResultsViewProps {\n queryParams: HashObject\n}\n\nexport function SearchResultsView(props: SearchResultsViewProps): JSX.Element {\n const { queryParams = {} } = props;\n \n const { commonVideoProps } = useCommonVideoProps();\n\n const getVideoActions = useStreamableVideoActions('video-list');\n\n const searchData = useFetchSearchData(queryParams);\n\n const searchFilters = SearchHelper.getBackendFilters(searchData);\n\n const tagsAndClassifications = useGetTagsAndClassifications(searchFilters);\n const searchResults = useGetSearchResults({ ...searchFilters, ...searchData });\n\n const filters = SearchHelper.getFilters(searchData, tagsAndClassifications);\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: queryParams.query ?? '',\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n allowIndexing: false,\n product: StreamableConstants.PRODUCT_NAME\n }));\n\n /**\n * Do we have the data we need for the entire view to render\n */\n const hasLoaded = (\n searchData.hasDataLoaded && filters\n );\n\n /**\n * Do we have the data we need to render our results\n */\n const hasSearchCompleted = (\n searchResults.hasFirstPageCompleted &&\n // Topic and Company requests won't exist if they aren't being fetched\n (!searchData.topics || searchData.topics.hasCompleted) &&\n (!searchData.companies || searchData.companies.hasCompleted) &&\n tagsAndClassifications.hasCompleted &&\n !!filters\n );\n\n /**\n * Do we actually have results\n */\n const hasResults = (\n searchResults.items?.length ||\n searchData.topics?.data?.totalResults ||\n searchData.companies?.data?.totalResults\n );\n\n useSearchMask(hasSearchCompleted);\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <div className='px-4'>\n <SearchSubstitute\n substitute={searchResults.substituteQuery}\n queryParams={queryParams}\n getAppLink={StreamableAppLinks.search}\n />\n\n {!searchResults.substituteQuery && (\n <SearchSuggestions\n suggestions={searchResults.suggestions}\n queryParams={queryParams}\n getAppLink={StreamableAppLinks.search}\n />\n )}\n\n {(!!searchData.audiences.data && !!searchData.availableTopics.data) && (\n <SearchFilters\n queryParams={queryParams}\n mainFilters={filters?.mainFilters}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.SearchFilters\n }}\n appLink={{ application: AppChannels.SEARCH, action: Actions.Search.HOME }}\n isFetchingOptions={tagsAndClassifications.isFetching}\n />\n )}\n\n {hasSearchCompleted &&\n <section>\n {hasResults\n ? (\n <VideoActionsContext.Provider value={{ getVideoActions }}>\n <MixedSearchResults\n queryParams={queryParams}\n results={searchResults.items}\n topics={searchData.topics?.data}\n companies={searchData.companies?.data}\n audiences={!queryParams.moviesAndTv && searchData.audiences.data}\n currentUser={searchData.currentUser.data}\n availablePresentations={null}\n showActions\n appLinks={SearchHelper.getAppLinks()}\n hasPermissions={() => false}\n commonVideoProps={commonVideoProps}\n />\n </VideoActionsContext.Provider>\n ) : (\n <SearchResultsEmptyState query={queryParams.query} />\n )\n }\n {(searchResults.hasMore || searchResults.isFetching) && (\n <InfiniteScrollFooter\n isFetching={searchResults.isFetching}\n fetchNext={searchResults.fetchNext}\n nextCursor={searchResults.nextCursor}\n fetchOnScroll\n />\n )}\n </section>\n }\n </div>\n );\n}"],"names":["CompanyWidgetItem","props","analyticsData","_a","_b","analyticsOptions","LocationContext","UserAction","EntityType","ClickDescriptor","jsx","CoverPillWidgetContentWrapper","_c","_d","CompanyResult","Col","namespace","EXCHANGE_RESULT_DISPLAY_LIMIT","ExchangeVideoGroup","limit","getContainerClassName","currentAppLink","Core.AppLinkHelper","currentParams","currentSource","searchAppLink","SourceFilterOptions","SearchSourceDescriptor","jsxs","AppLink","Text","styles","v","i","VideoItem","FeaturedVideoResult","HeroVideo","opts","VideoHelper","useGetMaxVideos","breakpoints","useBreakpoints","PlaylistWithVideos","maxVideos","videos","playlistAnalyticsOption","playlistAnalyticsData","Row","PlaylistItem","BG_COLOUR_CLASS_NAMES","video","videoAnalyticsData","LargePlaylistResult","SeriesWithVideos","seriesAnalyticsOption","seriesAnalyticsData","SeriesTallPoster","LargeSeriesResult","CollectionVideoList","analyticsProps","Fragment","hasSeasonEpisode","SeasonEpisode","CollectionThumbnail","isSmall","VideoListHelper","hasVideos","firstVideoWithThumbnail","getAnalyticsData","data","isSeries","BaseImage","ImageType","Mask","ImageFallback","ActionsComponent","BadgeListContainer","Badge","BadgeType","SeriesHelper","SmallPlaylistResult","MaskType","ImageFallbackType","SmallSeriesResult","SubjectResult","SubjectWidgetItem","VideoResult","getItemComponent","ClipItem","InteractiveItem","Component","TOPIC_DISPLAY_LIMIT","MixedSearchResults","React","useSmallComponent","companiesAndTopics","_e","childProps","c","itemIndex","_f","result","index","pagePositionIndex","SearchSubstitute","SearchSuggestions","suggestion","SearchRequests","query","indices","filters","cursor","success","error","key","filterName","params","UrlHelper","presentationIds","useFetchSchoolLevels","presentationId","Flight.useBasicFetch","SearchOGQL","SharedWithStatements","TagType","formatSearchResponse","response","totalResults","results","playlist","_h","_g","resultMaxScore","SharedSearchHelper","stringifyObject","obj","prev","value","stringifiedValue","SharedSearchRequests","widgets","widgetData","a","b","w","filterData","FilterConstants","indicesFilter","isLearner","genericFilters","HttpVerbs","widgetTypeId","excludeVideoIds","options","sorts","allowSubstitute","filter","excludeLibraryExclusive","useSearchCompanies","queryParams","FilterHelper","request","SearchHelper","useSearchTopics","rawFilters","ObjectHelper","ClassificationType","ClassificationStatus","hasFilteredOutTopics","shouldFetch","useFetchSearchData","currentUser","UserRequests","config","ConfigRequests","presentation","PresentationRequests","currentPresentation","streamableLibraryId","LibraryRequests","currentPresentationId","audiences","AudienceRequests","PresentationType","schoolLevels","schoolLevelIds","o","availableTopics","ClassificationRequests","topics","companies","hasDataLoaded","useGetSearchResults","appliedIndices","backendFilters","alerts","useAlerts","fetch","Flight.useGetFetch","searchResultsResponse","Flight.useGetResponse","getSearchRequest","fetchNext","onError","pageNumber","httpStatus","handleHttpError","LanguageService","searchResults","useInfiniteList","useGetTagsAndClassifications","useSearchMask","hasCompleted","showMask","setShowMask","useViewModel","SharedViewModelKeys","SearchResultsEmptyState","imageUrl","ImageUrls","LanguageNamespaceContext","EmptyState","AppChannels","Actions","getPhrase","SearchResultsView","commonVideoProps","useCommonVideoProps","getVideoActions","useStreamableVideoActions","searchData","searchFilters","tagsAndClassifications","useSetPageMetadata","PageMetadataHelper","StreamableConstants","hasLoaded","hasSearchCompleted","hasResults","StreamableAppLinks","SearchFilters","VideoActionsContext","InfiniteScrollFooter"],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{ao as m,j as a,Y as E,ae as D,l as O,u as F,R as $,i as g,k as y,dg as M,n as R,d as A,M as C,b7 as T,by as G,G as H,c as f,db as q,h as j,af as _,o as v,W as P,X as L,V as z,dr as U,e as W,$ as X,aE as Y}from"./app-DfSv_-O3.js";import{I as J}from"./U-eF69sj.chunk.js";import{a as K,T as N}from"./C8Br2CdQ.chunk.js";import{M as h}from"./B32lL5ga.chunk.js";import{R as Q,a as B}from"./D8dAIhzO.chunk.js";import{R as w}from"./cvX-F_mx.chunk.js";import{D as Z}from"./Bh4NsrSi.chunk.js";import{V as p}from"./I8EoNmf8.chunk.js";import"./C36-3UWl.chunk.js";import"./DUwkrIwb.chunk.js";import"./CEmtkty-.chunk.js";import"./DLJB8vZh.chunk.js";import"./C-7yn3rc.chunk.js";import"./pkzD5BEm.chunk.js";const ee="_imageStyle_12n2u_1",ae="_item_12n2u_6",te="_dashboard_12n2u_10",ie="_playPage_12n2u_24",ne="_aspectRatio_12n2u_32",oe="_outerContainer_12n2u_37",ce="_innerContainer_12n2u_45",re="_actions_12n2u_45",se="_titleBelow_12n2u_55",le="_heading_12n2u_58",de="_thumbnailContainer_12n2u_61",ue="_titleAbove_12n2u_64",me="_teacherPack_12n2u_67",he="_text_12n2u_70",ge="_hoverState_12n2u_73",xe="_atomGuide_12n2u_76",ye="_studentActivity_12n2u_85",Ce="_additionalMaterials_12n2u_94",fe="_userUploaded_12n2u_103",_e="_download_12n2u_118",i={imageStyle:ee,item:ae,dashboard:te,playPage:ie,aspectRatio:ne,outerContainer:oe,innerContainer:ce,actions:re,titleBelow:se,heading:le,thumbnailContainer:de,titleAbove:ue,teacherPack:me,text:he,hoverState:ge,atomGuide:xe,studentActivity:ye,additionalMaterials:Ce,userUploaded:fe,download:_e};function ve(e){switch(e){case"atom-guide":return i.atomGuide;case"student-activity":return i.studentActivity;case"teacher-pack":return i.teacherPack;case"additional-materials":return i.additionalMaterials;default:return i.userUploaded}}function S(e,t){var o;const n=F();return t==="public"?!0:n.xs||n.sm||e.type!=="resource"||!("metadata"in e)?!1:e.metadata.type===w.Image?!0:e.metadata.type===w.Pdf?!!e.url:!!((o=e.pdf)!=null&&o.url)}u.defaultProps={preloadImage:!0,actionBehaviour:"normal"};function u(e){var l,r,c;let t=null;"metadata"in e.data&&(t=e.data.metadata);const n=h.isType(e.data,m.Resource);function o(d){var b;let x=`
|
|
2
|
-
d-flex flex-column align-items-center justify-content-end rounded-3 h-100
|
|
3
|
-
position-relative ${ve(d)} ${i.innerContainer}`;return(b=e.theme)!=null&&b.containerClass?x+=` ${e.theme.containerClass}`:x+=" pt-3 px-3",e.applyHoverState&&(x+=` ${i.hoverState}`),x}function s(){h.isResource(e.data)&&typeof e.onClickDownload=="function"&&e.onClickDownload(e.data)}return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:i.aspectRatio,children:a.jsx("div",{className:i.outerContainer,children:a.jsxs("div",{className:o(t==null?void 0:t.resourceType),children:[e.titlePosition==="above"&&a.jsx(E,{title:e.data.name,children:a.jsx("h3",{className:`text-center text-break h5 mb-3 ${i.text}`,children:a.jsx("span",{className:"clamp-1",children:e.data.name})})}),a.jsx("div",{className:`
|
|
4
|
-
${((l=e.theme)==null?void 0:l.thumbnailContainerClass)??""} w-75 overflow-hidden
|
|
5
|
-
${i.thumbnailContainer} ${e.titlePosition==="above"?i.titleAbove:""}
|
|
6
|
-
${i.imageStyle}
|
|
7
|
-
`,children:a.jsx(Q,{resource:e.data,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,dynamicRatioImageOptions:e.dynamicRatioImageOptions})}),n&&e.onClickDownload&&e.actionBehaviour==="normal"&&a.jsx("div",{className:i.actions,children:a.jsx(D,{onClick:d=>{d.preventDefault(),d.stopPropagation(),s()},className:`${i.download} d-flex align-items-center justify-content-center`,children:a.jsx(O,{svg:Z})})}),!e.hideTypeBadge&&n&&a.jsx(K,{typeId:m.Resource})]})})}),e.titlePosition==="below"&&a.jsxs("div",{className:`mt-2 ${i.titleBelow}`,children:[h.isType(e.data,m.Resource)&&!!((c=(r=e.data)==null?void 0:r.metadata)!=null&&c.resourceType)&&a.jsx(N,{children:B.getResourceTypeName(e.data.metadata.resourceType)}),a.jsx("h3",{className:`h6 clamp-2 ${i.heading}`,children:e.data.name})]})]})}$.memo(function(e){const t=S(e.data,e.actionBehaviour);function n(){return e.location==="play-page"?i.playPage:i.dashboard}const o={...e.analyticsData,id:e.data.id,name:e.data.name},s={...e.analyticsOptions,actionType:y.Click,entity:e.data.typeId===m.Resource?g.Resource:g.Link};function l(){C.logUserAction(o,s)}const r={...e,applyHoverState:t||!!e.data.url};return a.jsx("div",{className:`px-1 flex-shrink-0 ${i.item} ${n()} ${M.RESOURCE_ITEM_SELECTOR}`,children:(()=>{const c="d-block no-decoration";return e.data.type==="link"?a.jsx("a",{href:e.data.url,target:"_blank",className:c,onClick:l,children:a.jsx(u,{...r})}):t?e.actionBehaviour==="public"?a.jsx("div",{className:`${c} cursor-pointer d-inline`,onClick:()=>{l(),R.trigger(e.getAppLink(e.data))},children:a.jsx(u,{...r})}):a.jsx(A,{appLink:e.getAppLink(e.data),className:c,analyticsData:o,analyticsOptions:s,children:a.jsx(u,{...r})}):e.data.url?a.jsx("a",{href:e.data.url,className:c,onClick:l,children:a.jsx(u,{...r})}):a.jsx("div",{className:c,children:a.jsx(u,{...r})})})()})});function V(e){const t=S(e.resource,e.actionBehaviour);function n(){C.logUserAction(e.analyticsData,e.analyticsOptions)}return h.isType(e.resource,m.Link)?a.jsx("a",{href:e.resource.url,target:"_blank",onClick:n,children:e.children}):t?e.actionBehaviour==="public"?a.jsx("div",{className:"cursor-pointer d-inline",onClick:()=>{n(),R.trigger(e.appLink)},children:e.children}):a.jsx(A,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,children:e.children}):a.jsx("div",{children:e.children})}function ke(e){var o,s;const t={id:e.resource.id,name:e.resource.name,parentVideoId:e.parentVideo.id,parentVideoName:e.parentVideo.name,parentVideoType:e.parentVideo.type},n={...e.analyticsOptions,actionType:y.Click,entity:h.isResource(e.resource)?g.Resource:g.Link};return a.jsxs("div",{className:"row gx-0",children:[a.jsx("div",{className:"col-4",children:a.jsx(V,{resource:e.resource,appLink:e.appLink,analyticsData:t,analyticsOptions:{...n,descriptor:T.Thumbnail},actionBehaviour:e.actionBehaviour,children:a.jsx(u,{data:e.resource,titlePosition:"none",imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,dynamicRatioImageOptions:{width:400,resizeType:G.Cover},theme:{thumbnailContainerClass:"w-100",containerClass:"px-3"}})})}),a.jsx("div",{className:"col-8 ps-2",children:a.jsxs(V,{resource:e.resource,appLink:e.appLink,analyticsData:t,analyticsOptions:{...n,descriptor:T.Title},actionBehaviour:e.actionBehaviour,children:[h.isType(e.resource,m.Resource)&&!!((s=(o=e.resource)==null?void 0:o.metadata)!=null&&s.resourceType)&&a.jsx(N,{children:B.getResourceTypeName(e.resource.metadata.resourceType)}),a.jsx("h3",{className:"h6 clamp-2",children:e.resource.name})]})})]})}const k="shared.videoGuidanceResourcesPopup",I=350;function je(e){var o,s,l,r;const t=[...((s=(o=e.video)==null?void 0:o.resources)==null?void 0:s.data)||[],...((r=(l=e.video)==null?void 0:l.links)==null?void 0:r.data)||[]],n=e.isLoading?[]:e.resources||t;return a.jsx(H,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:e.isLoading?"":f.getPhrase(k,"resources"),size:"lg",children:!e.isLoading&&a.jsxs(a.Fragment,{children:[a.jsxs(q,{autoHeightMax:I,autoHeightMin:I,autoHeight:!0,children:[a.jsx("ul",{className:"list-unstyled",children:n.map(c=>{var d;return a.jsx("li",{className:"mb-3",children:a.jsx(ke,{resource:c,parentVideo:e.video,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.resourceImageErrorFallbackUrl,preloadImage:!0,appLink:(d=e.getResourceAppLink)==null?void 0:d.call(e,c.id),actionBehaviour:e.actionBehaviour,analyticsOptions:{location:j.ResourcesGuidancePopup}})},c.id)})}),(e.hasMore||e.isFetching)&&a.jsx(J,{isFetching:e.isFetching,fetchNext:e.fetchNext,nextCursor:e.nextCursor})]}),a.jsxs(_,{children:[a.jsx(_.Cancel,{onClick:e.onClickClose,text:f.getPhrase(k,"close")}),a.jsx(_.Submit,{text:f.getPhrase(k,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo})]})]})})}function De(e){var r,c;const t=v(p.video(e.id)),n=v(X.config()),o=v(Y.currentUser());function s(){C.logUserAction({id:t.data.id,name:t.data.name},{entity:g.Video,actionType:y.Click,location:j.CurriculumGuidancePopup,descriptor:U.Close}),e.closePopup()}function l(){C.logUserAction({id:t.data.id,name:t.data.name},{entity:g.Video,location:j.CurriculumGuidancePopup,actionType:y.Click,descriptor:U.ViewVideo}),R.trigger({application:L.VIDEOS,action:P.Videos.PLAY_VIDEO,args:[t.data.id,W.slugify(t.data.name)]}),e.closePopup()}return a.jsx(je,{isLoading:!t.hasCompleted||!n.hasCompleted,video:t.data,imageCdnUrl:(r=n.data)==null?void 0:r.imageCdnUrl,resourceImageErrorFallbackUrl:z.Fallbacks.RESOURCE_THUMBNAIL,getResourceAppLink:d=>({application:L.VIDEOS,action:P.Videos.PREVIEW_PDF,args:[d],params:{videoId:t.data.id,showBackButton:!0}}),actionBehaviour:(c=o.data)!=null&&c.isAuthenticated?"normal":"public",onClickClose:s,onClickViewVideo:l,hasMore:!1,isFetching:!1,fetchNext:()=>{},nextCursor:null})}export{De as VideoGuidanceResourcesView};
|
|
8
|
-
//# sourceMappingURL=Cuuw0EUi.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cuuw0EUi.chunk.js","sources":["../../../../libs/shared/src/components/play-page/resources-widget/ResourceWidgetItemV2.tsx","../../../../libs/shared/src/components/resource-list-item/ResourceListItem.tsx","../../../../libs/shared/src/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup.tsx","../../src/apps/videos/views/video-guidance-resources/VideoGuidanceResourcesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ResourceThumbnail } from 'libs/shared/components/resource-thumbnail/ResourceThumbnail';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { TypeBadge } from 'libs/shared/components/type-badge/TypeBadge';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { DownloadSvg } from 'libs/shared/images/svg/actions/DownloadSvg';\nimport { Link, Resource, ResourceType } from 'libs/shared/interfaces';\nimport { ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\n\nimport styles from './resource-widget-item.module.scss';\n\nfunction getColour(resourceType?: ResourceType): string {\n switch (resourceType) {\n case 'atom-guide':\n return styles.atomGuide;\n case 'student-activity':\n return styles.studentActivity;\n case 'teacher-pack':\n return styles.teacherPack;\n case 'additional-materials':\n return styles.additionalMaterials;\n default:\n return styles.userUploaded;\n }\n}\n\nexport function useCanPreviewResource(data: Resource | Link, actionBehaviour: 'normal' | 'public'): boolean {\n const breakpoints = useBreakpoints();\n\n /**\n * When viewing publicly, the resource applink will\n * prompt the user to sign-up (not preview the underlying resource)\n */\n if (actionBehaviour === 'public')\n return true;\n\n if (breakpoints.xs || breakpoints.sm)\n return false;\n\n if (data.type !== 'resource')\n return false;\n \n // Require metadata\n if (!('metadata' in data))\n return false;\n\n // We can preview images\n if (data.metadata.type === ResourceFileType.Image)\n return true;\n\n // If we are a pdf and have a url\n if (data.metadata.type === ResourceFileType.Pdf)\n return !!data.url;\n\n // If we have a pdf assoc\n return !!data.pdf?.url;\n}\n\ninterface ResourceTheme {\n containerClass?: string;\n thumbnailContainerClass?: string;\n}\n\nexport interface ResourceTileProps {\n data: Resource | Link;\n imageCdnUrl: string;\n imageErrorFallbackUrl?: string;\n theme?: ResourceTheme;\n\n titlePosition: 'above' | 'below' | 'none';\n hideTypeBadge?: boolean;\n onClickDownload?: (resource: Resource) => void;\n applyHoverState?: boolean;\n preloadImage: boolean;\n actionBehaviour?: 'normal' | 'public';\n dynamicRatioImageOptions?: ImageOptions;\n}\n\nResourceTileV2.defaultProps = {\n preloadImage: true,\n actionBehaviour: 'normal'\n};\n\n/**\n * This component intentionally doesn't contain an appLink/download link\n * so that the resource download behaviour can be handled differently depending\n * on where this is rendered (e.g. primary play page vs embedded player)\n */\nexport function ResourceTileV2(props: ResourceTileProps): JSX.Element {\n let metadata = null;\n\n if ('metadata' in props.data) {\n metadata = props.data.metadata;\n }\n\n const isResource = MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource);\n\n function getInnerContainerClass(resourceType: ResourceType): string {\n let baseClass = `\n d-flex flex-column align-items-center justify-content-end rounded-3 h-100\n position-relative ${getColour(resourceType)} ${styles.innerContainer}`;\n\n if (props.theme?.containerClass) {\n baseClass += ` ${props.theme.containerClass}`;\n } else {\n baseClass += ` pt-3 px-3`;\n }\n\n if (props.applyHoverState) {\n baseClass += ` ${styles.hoverState}`;\n }\n\n return baseClass;\n }\n\n function onDownload() {\n if (!MasterTypeHelper.isResource(props.data))\n return;\n\n if (typeof props.onClickDownload === 'function') {\n props.onClickDownload(props.data);\n }\n }\n\n return (\n <>\n <div className={styles.aspectRatio}>\n <div className={styles.outerContainer}>\n <div className={getInnerContainerClass(metadata?.resourceType)}>\n {props.titlePosition === 'above' && (\n <Tooltip title={props.data.name}>\n <h3 className={`text-center text-break h5 mb-3 ${styles.text}`}>\n <span className='clamp-1'>{props.data.name}</span>\n </h3>\n </Tooltip>\n )}\n\n <div className={`\n ${props.theme?.thumbnailContainerClass ?? ''} w-75 overflow-hidden \n ${styles.thumbnailContainer} ${props.titlePosition === 'above' ? styles.titleAbove : ''} \n ${styles.imageStyle}\n `}>\n <ResourceThumbnail\n resource={props.data}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n dynamicRatioImageOptions={props.dynamicRatioImageOptions}\n />\n </div>\n\n {isResource && props.onClickDownload && props.actionBehaviour === 'normal' && (\n <div className={styles.actions}>\n <DivButton\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n onDownload();\n }}\n className={`${styles.download} d-flex align-items-center justify-content-center`}\n >\n <SvgContainer svg={DownloadSvg} />\n </DivButton>\n </div>\n )}\n\n {!props.hideTypeBadge && isResource && (\n <TypeBadge typeId={MasterType.Resource} />\n )}\n </div>\n </div>\n </div>\n {props.titlePosition === 'below' && (\n <div className={`mt-2 ${styles.titleBelow}`}>\n {(\n MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource) &&\n !!props.data?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.data.metadata.resourceType)}\n </TitleSubText>\n )}\n\n <h3 className={`h6 clamp-2 ${styles.heading}`}>\n {props.data.name}\n </h3>\n </div>\n )}\n </>\n );\n}\n\nexport interface ResourceWidgetItemV2Props extends ResourceTileProps, FixedWidgetItemProps<Resource | Link> {\n location: 'play-page' | 'dashboard';\n}\n\nexport const ResourceWidgetItemV2 = React.memo(function(props: ResourceWidgetItemV2Props): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreviewResource(props.data, props.actionBehaviour);\n\n function getLocationClass(): string {\n if (props.location === 'play-page')\n return styles.playPage;\n\n return styles.dashboard;\n }\n\n const analyticsData = { ...props.analyticsData, id: props.data.id, name: props.data.name };\n\n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: props.data.typeId === MasterType.Resource ? EntityType.Resource : EntityType.Link\n };\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n }\n\n const tileProps: ResourceTileProps = {\n ...props,\n // Apply the hover state if we have a url or the resource can be previewed\n applyHoverState: canPreview || !!props.data.url\n };\n\n return (\n <div className={`px-1 flex-shrink-0 ${styles.item} ${getLocationClass()} ${SeoConstants.RESOURCE_ITEM_SELECTOR}`}>\n {(() => {\n const className = `d-block no-decoration`;\n\n // Handle resource links\n if (props.data.type === 'link') {\n return (\n <a href={props.data.url} target='_blank' className={className} onClick={logAction}>\n <ResourceTileV2 {...tileProps} />\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a span over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div className={`${className} cursor-pointer d-inline`} onClick={() => {\n logAction();\n AppLinkHelper.trigger(props.getAppLink(props.data));\n }}>\n <ResourceTileV2 {...tileProps} />\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.getAppLink(props.data)}\n className={className}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <ResourceTileV2 {...tileProps} />\n </AppLink>\n );\n }\n\n // URLs cannot be previewed\n if (props.data.url) {\n return (\n <a href={props.data.url} className={className} onClick={logAction}>\n <ResourceTileV2 {...tileProps} />\n </a>\n );\n }\n\n // Theres no url, so don't render an <a>\n return (\n <div className={className}>\n <ResourceTileV2 {...tileProps} />\n </div>\n );\n })()}\n </div>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, ClickDescriptor, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { ResizeType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Clip, Link, Resource, Video } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\n\nimport { ResourceTileV2, useCanPreviewResource } from '../play-page/resources-widget/ResourceWidgetItemV2';\n\ninterface ResourceWrapperProps{\n resource: Resource | Link;\n appLink: Core.AppLink;\n analyticsData: HashObject;\n analyticsOptions: AnalyticsOptions;\n actionBehaviour: 'normal' | 'public';\n}\n\nfunction ResourceWrapper(props: React.PropsWithChildren<ResourceWrapperProps>): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreviewResource(props.resource, props.actionBehaviour);\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(props.analyticsData, props.analyticsOptions);\n }\n\n // Handle resource links\n if (MasterTypeHelper.isType<Link>(props.resource, MasterType.Link)) {\n return (\n <a href={props.resource.url} target='_blank' onClick={logAction}>\n {props.children}\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a div over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div\n className={`cursor-pointer d-inline`}\n onClick={() => {\n logAction();\n Core.AppLinkHelper.trigger(props.appLink);\n }}\n >\n {props.children}\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n {props.children}\n </AppLink>\n );\n }\n\n return (\n <div>\n {props.children}\n </div>\n );\n}\n\ninterface ResourceListItemProps {\n resource: Resource | Link;\n parentVideo: Clip | Video;\n imageCdnUrl: string;\n imageErrorFallbackUrl: string;\n preloadImage: boolean;\n appLink: Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n analyticsOptions: AnalyticsOptions;\n}\n\nexport function ResourceListItem(props: ResourceListItemProps): JSX.Element {\n const analyticsData = {\n id: props.resource.id,\n name: props.resource.name,\n parentVideoId: props.parentVideo.id,\n parentVideoName: props.parentVideo.name,\n parentVideoType: props.parentVideo.type\n };\n \n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: MasterTypeHelper.isResource(props.resource) ? EntityType.Resource : EntityType.Link\n };\n\n return (\n <div className='row gx-0'>\n <div className='col-4'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Thumbnail\n }}\n actionBehaviour={props.actionBehaviour}\n >\n <ResourceTileV2\n data={props.resource}\n titlePosition='none'\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n dynamicRatioImageOptions={{\n width: 400,\n resizeType: ResizeType.Cover\n }}\n theme={{\n thumbnailContainerClass: 'w-100',\n containerClass: 'px-3'\n }}\n />\n </ResourceWrapper>\n </div>\n <div className='col-8 ps-2'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Title\n }}\n actionBehaviour={props.actionBehaviour}\n >\n {(\n MasterTypeHelper.isType<Resource>(props.resource, MasterType.Resource) &&\n !!props.resource?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.resource.metadata.resourceType)}\n </TitleSubText>\n )}\n\n <h3 className='h6 clamp-2'>\n {props.resource.name}\n </h3>\n </ResourceWrapper>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { ResourceListItem } from 'libs/shared/components/resource-list-item/ResourceListItem';\nimport { Link, Resource, Video } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.videoGuidanceResourcesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceResourcesPopupProps {\n isLoading: boolean;\n video: Video;\n resources?: (Link | Resource)[];\n hasMore: boolean;\n isFetching: boolean;\n fetchNext: (cursor?: string) => void;\n nextCursor?: string;\n onClickClose: () => void;\n onClickViewVideo: () => void;\n imageCdnUrl: string;\n resourceImageErrorFallbackUrl: string;\n getResourceAppLink?: (id: string) => Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n}\n\nexport function VideoGuidanceResourcesPopup(props: VideoGuidanceResourcesPopupProps): JSX.Element {\n const videoResources = [ ...(props.video?.resources?.data || []), ...(props.video?.links?.data || []) ];\n const resources = props.isLoading\n ? []\n : props.resources || videoResources;\n\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'resources')\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT} autoHeight>\n <ul className='list-unstyled'>\n {resources.map(resource => {\n return (\n <li key={resource.id} className='mb-3'>\n <ResourceListItem\n resource={resource}\n parentVideo={props.video}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.resourceImageErrorFallbackUrl}\n preloadImage\n appLink={props.getResourceAppLink?.(resource.id)}\n actionBehaviour={props.actionBehaviour}\n analyticsOptions={{\n location: LocationContext.ResourcesGuidancePopup\n }}\n />\n </li>\n );\n })}\n </ul>\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces';\n\nimport { VideoGuidanceResourcesPopup } from 'libs/shared/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Config, CurrentUser, PopupViewProps, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\ninterface VideoGuidanceResourcesViewProps extends PopupViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoGuidanceResourcesView(props: VideoGuidanceResourcesViewProps): JSX.Element {\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: EntityType.Video,\n actionType: UserAction.Click,\n location: LocationContext.CurriculumGuidancePopup,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: EntityType.Video,\n location: LocationContext.CurriculumGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n return (\n <VideoGuidanceResourcesPopup\n isLoading={!video.hasCompleted || !config.hasCompleted}\n video={video.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n resourceImageErrorFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n getResourceAppLink={id => ({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [id],\n params: { videoId: video.data.id, showBackButton: true }\n })}\n actionBehaviour={currentUser.data?.isAuthenticated ? 'normal' : 'public'}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n hasMore={false}\n isFetching={false}\n fetchNext={() => {}}\n nextCursor={null}\n />\n );\n}"],"names":["getColour","resourceType","styles","useCanPreviewResource","data","actionBehaviour","breakpoints","useBreakpoints","ResourceFileType","_a","ResourceTileV2","props","metadata","isResource","MasterTypeHelper","MasterType","getInnerContainerClass","baseClass","onDownload","jsxs","Fragment","jsx","Tooltip","ResourceThumbnail","DivButton","e","SvgContainer","DownloadSvg","TypeBadge","_c","_b","TitleSubText","ResourceHelper","React","canPreview","getLocationClass","analyticsData","analyticsOptions","UserAction","EntityType","logAction","AnalyticsHelper","tileProps","SeoConstants","className","AppLinkHelper","AppLink","ResourceWrapper","Core.AppLinkHelper","ResourceListItem","ClickDescriptor","ResizeType","namespace","MIN_MAX_HEIGHT","VideoGuidanceResourcesPopup","videoResources","_d","resources","Popup","LanguageService","Scrollbars","resource","LocationContext","InfiniteScrollFooter","PopupButtons","VideoGuidanceResourcesView","video","Flight.useBasicFetch","VideoRequests","config","ConfigRequests","currentUser","UserRequests","onClickClose","VideoGuidanceDescriptor","onClickViewVideo","AppChannels","Actions","TextHelper","ImageUrls","id"],"mappings":"w/CA2BA,SAASA,GAAUC,EAAqC,CACtD,OAAQA,EAAA,CACN,IAAK,aACH,OAAOC,EAAO,UAChB,IAAK,mBACH,OAAOA,EAAO,gBAChB,IAAK,eACH,OAAOA,EAAO,YAChB,IAAK,uBACH,OAAOA,EAAO,oBAChB,QACE,OAAOA,EAAO,YAAA,CAEpB,CAEO,SAASC,EAAsBC,EAAuBC,EAA+C,OAC1G,MAAMC,EAAcC,EAAA,EAMpB,OAAIF,IAAoB,SACf,GAELC,EAAY,IAAMA,EAAY,IAG9BF,EAAK,OAAS,YAId,EAAE,aAAcA,GACX,GAGLA,EAAK,SAAS,OAASI,EAAiB,MACnC,GAGLJ,EAAK,SAAS,OAASI,EAAiB,IACnC,CAAC,CAACJ,EAAK,IAGT,CAAC,GAACK,EAAAL,EAAK,MAAL,MAAAK,EAAU,IACrB,CAsBAC,EAAe,aAAe,CAC5B,aAAc,GACd,gBAAiB,QACnB,EAOO,SAASA,EAAeC,EAAuC,WACpE,IAAIC,EAAW,KAEX,aAAcD,EAAM,OACtBC,EAAWD,EAAM,KAAK,UAGxB,MAAME,EAAaC,EAAiB,OAAiBH,EAAM,KAAMI,EAAW,QAAQ,EAEpF,SAASC,EAAuBf,EAAoC,OAClE,IAAIgB,EAAY;AAAA;AAAA,0BAEMjB,GAAUC,CAAY,CAAC,IAAIC,EAAO,cAAc,GAEtE,OAAIO,EAAAE,EAAM,QAAN,MAAAF,EAAa,eACfQ,GAAa,IAAIN,EAAM,MAAM,cAAc,GAE3CM,GAAa,aAGXN,EAAM,kBACRM,GAAa,IAAIf,EAAO,UAAU,IAG7Be,CACT,CAEA,SAASC,GAAa,CACfJ,EAAiB,WAAWH,EAAM,IAAI,GAGvC,OAAOA,EAAM,iBAAoB,YACnCA,EAAM,gBAAgBA,EAAM,IAAI,CAEpC,CAEA,OACEQ,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,MAAC,MAAA,CAAI,UAAWnB,EAAO,YACrB,eAAC,MAAA,CAAI,UAAWA,EAAO,eACrB,gBAAC,MAAA,CAAI,UAAWc,EAAuBJ,GAAA,YAAAA,EAAU,YAAY,EAC1D,SAAA,CAAAD,EAAM,gBAAkB,SACvBU,EAAAA,IAACC,EAAA,CAAQ,MAAOX,EAAM,KAAK,KACzB,SAAAU,EAAAA,IAAC,KAAA,CAAG,UAAW,kCAAkCnB,EAAO,IAAI,GAC1D,SAAAmB,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAW,SAAAV,EAAM,KAAK,IAAA,CAAK,CAAA,CAC7C,CAAA,CACF,EAGFU,MAAC,OAAI,UAAW;AAAA,kBACZZ,EAAAE,EAAM,QAAN,YAAAF,EAAa,0BAA2B,EAAE;AAAA,gBAC1CP,EAAO,kBAAkB,IAAIS,EAAM,gBAAkB,QAAUT,EAAO,WAAa,EAAE;AAAA,gBACrFA,EAAO,UAAU;AAAA,cAEnB,SAAAmB,EAAAA,IAACE,EAAA,CACC,SAAUZ,EAAM,KAChB,YAAaA,EAAM,YACnB,sBAAuBA,EAAM,sBAC7B,aAAcA,EAAM,aACpB,yBAA0BA,EAAM,wBAAA,CAAA,EAEpC,EAECE,GAAcF,EAAM,iBAAmBA,EAAM,kBAAoB,UAChEU,MAAC,MAAA,CAAI,UAAWnB,EAAO,QACrB,SAAAmB,EAAAA,IAACG,EAAA,CACC,QAASC,GAAK,CACZA,EAAE,eAAA,EACFA,EAAE,gBAAA,EACFP,EAAA,CACF,EACA,UAAW,GAAGhB,EAAO,QAAQ,oDAE7B,SAAAmB,EAAAA,IAACK,EAAA,CAAa,IAAKC,CAAA,CAAa,CAAA,CAAA,EAEpC,EAGD,CAAChB,EAAM,eAAiBE,SACtBe,EAAA,CAAU,OAAQb,EAAW,QAAA,CAAU,CAAA,CAAA,CAE5C,EACF,EACF,EACCJ,EAAM,gBAAkB,SACvBQ,EAAAA,KAAC,OAAI,UAAW,QAAQjB,EAAO,UAAU,GAErC,SAAA,CAAAY,EAAiB,OAAiBH,EAAM,KAAMI,EAAW,QAAQ,GACjE,CAAC,GAACc,GAAAC,EAAAnB,EAAM,OAAN,YAAAmB,EAAY,WAAZ,MAAAD,EAAsB,eAExBR,EAAAA,IAACU,GACE,SAAAC,EAAe,oBAAoBrB,EAAM,KAAK,SAAS,YAAY,EACtE,EAGFU,EAAAA,IAAC,MAAG,UAAW,cAAcnB,EAAO,OAAO,GACxC,SAAAS,EAAM,KAAK,IAAA,CACd,CAAA,CAAA,CACF,CAAA,EAEJ,CAEJ,CAMoCsB,EAAM,KAAK,SAAStB,EAA+C,CAErG,MAAMuB,EAAa/B,EAAsBQ,EAAM,KAAMA,EAAM,eAAe,EAE1E,SAASwB,GAA2B,CAClC,OAAIxB,EAAM,WAAa,YACdT,EAAO,SAETA,EAAO,SAChB,CAEA,MAAMkC,EAAgB,CAAE,GAAGzB,EAAM,cAAe,GAAIA,EAAM,KAAK,GAAI,KAAMA,EAAM,KAAK,IAAA,EAE9E0B,EAAqC,CACzC,GAAG1B,EAAM,iBACT,WAAY2B,EAAW,MACvB,OAAQ3B,EAAM,KAAK,SAAWI,EAAW,SAAWwB,EAAW,SAAWA,EAAW,IAAA,EAGvF,SAASC,GAAkB,CACzBC,EAAgB,cAAcL,EAAeC,CAAgB,CAC/D,CAEA,MAAMK,EAA+B,CACnC,GAAG/B,EAEH,gBAAiBuB,GAAc,CAAC,CAACvB,EAAM,KAAK,GAAA,EAG9C,OACEU,EAAAA,IAAC,MAAA,CAAI,UAAW,sBAAsBnB,EAAO,IAAI,IAAIiC,EAAA,CAAkB,IAAIQ,EAAa,sBAAsB,GAC1G,UAAA,IAAM,CACN,MAAMC,EAAY,wBAGlB,OAAIjC,EAAM,KAAK,OAAS,OAEpBU,EAAAA,IAAC,IAAA,CAAE,KAAMV,EAAM,KAAK,IAAK,OAAO,SAAS,UAAAiC,EAAsB,QAASJ,EACtE,SAAAnB,EAAAA,IAACX,EAAA,CAAgB,GAAGgC,EAAW,EACjC,EAIAR,EAMEvB,EAAM,kBAAoB,eAEzB,MAAA,CAAI,UAAW,GAAGiC,CAAS,2BAA4B,QAAS,IAAM,CACrEJ,EAAA,EACAK,EAAc,QAAQlC,EAAM,WAAWA,EAAM,IAAI,CAAC,CACpD,EACE,SAAAU,MAACX,EAAA,CAAgB,GAAGgC,EAAW,EACjC,EAKFrB,EAAAA,IAACyB,EAAA,CACC,QAASnC,EAAM,WAAWA,EAAM,IAAI,EACpC,UAAAiC,EACA,cAAAR,EACA,iBAAAC,EAEA,SAAAhB,EAAAA,IAACX,EAAA,CAAgB,GAAGgC,CAAA,CAAW,CAAA,CAAA,EAMjC/B,EAAM,KAAK,IAEXU,EAAAA,IAAC,IAAA,CAAE,KAAMV,EAAM,KAAK,IAAK,UAAAiC,EAAsB,QAASJ,EACtD,SAAAnB,MAACX,EAAA,CAAgB,GAAGgC,EAAW,EACjC,QAMD,MAAA,CAAI,UAAAE,EACH,eAAClC,EAAA,CAAgB,GAAGgC,EAAW,EACjC,CAEJ,IAAG,CACL,CAEJ,CAAC,ECpRD,SAASK,EAAgBpC,EAAmE,CAE1F,MAAMuB,EAAa/B,EAAsBQ,EAAM,SAAUA,EAAM,eAAe,EAE9E,SAAS6B,GAAkB,CACzBC,EAAgB,cAAc9B,EAAM,cAAeA,EAAM,gBAAgB,CAC3E,CAGA,OAAIG,EAAiB,OAAaH,EAAM,SAAUI,EAAW,IAAI,EAE7DM,EAAAA,IAAC,IAAA,CAAE,KAAMV,EAAM,SAAS,IAAK,OAAO,SAAS,QAAS6B,EACnD,SAAA7B,EAAM,QAAA,CACT,EAIAuB,EAMEvB,EAAM,kBAAoB,SAE1BU,EAAAA,IAAC,MAAA,CACC,UAAW,0BACX,QAAS,IAAM,CACbmB,EAAA,EACAQ,EAAmB,QAAQrC,EAAM,OAAO,CAC1C,EAEC,SAAAA,EAAM,QAAA,CAAA,EAMXU,EAAAA,IAACyB,EAAA,CACC,QAASnC,EAAM,QACf,cAAeA,EAAM,cACrB,iBAAkBA,EAAM,iBAEvB,SAAAA,EAAM,QAAA,CAAA,EAMXU,EAAAA,IAAC,MAAA,CACE,SAAAV,EAAM,QAAA,CACT,CAEJ,CAaO,SAASsC,GAAiBtC,EAA2C,SAC1E,MAAMyB,EAAgB,CACpB,GAAIzB,EAAM,SAAS,GACnB,KAAMA,EAAM,SAAS,KACrB,cAAeA,EAAM,YAAY,GACjC,gBAAiBA,EAAM,YAAY,KACnC,gBAAiBA,EAAM,YAAY,IAAA,EAG/B0B,EAAqC,CACzC,GAAG1B,EAAM,iBACT,WAAY2B,EAAW,MACvB,OAAQxB,EAAiB,WAAWH,EAAM,QAAQ,EAAI4B,EAAW,SAAWA,EAAW,IAAA,EAGzF,OACEpB,EAAAA,KAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAE,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAAC0B,EAAA,CACC,SAAUpC,EAAM,SAChB,QAASA,EAAM,QACf,cAAAyB,EACA,iBAAkB,CAChB,GAAGC,EACH,WAAYa,EAAgB,SAAA,EAE9B,gBAAiBvC,EAAM,gBAEvB,SAAAU,EAAAA,IAACX,EAAA,CACC,KAAMC,EAAM,SACZ,cAAc,OACd,YAAaA,EAAM,YACnB,sBAAuBA,EAAM,sBAC7B,aAAcA,EAAM,aACpB,yBAA0B,CACxB,MAAO,IACP,WAAYwC,EAAW,KAAA,EAEzB,MAAO,CACL,wBAAyB,QACzB,eAAgB,MAAA,CAClB,CAAA,CACF,CAAA,EAEJ,EACA9B,EAAAA,IAAC,MAAA,CAAI,UAAU,aACb,SAAAF,EAAAA,KAAC4B,EAAA,CACC,SAAUpC,EAAM,SAChB,QAASA,EAAM,QACf,cAAAyB,EACA,iBAAkB,CAChB,GAAGC,EACH,WAAYa,EAAgB,KAAA,EAE9B,gBAAiBvC,EAAM,gBAGrB,SAAA,CAAAG,EAAiB,OAAiBH,EAAM,SAAUI,EAAW,QAAQ,GACnE,CAAC,GAACe,GAAArB,EAAAE,EAAM,WAAN,YAAAF,EAAgB,WAAhB,MAAAqB,EAA0B,eAE9BT,EAAAA,IAACU,GACE,SAAAC,EAAe,oBAAoBrB,EAAM,SAAS,SAAS,YAAY,EAC1E,QAGD,KAAA,CAAG,UAAU,aACX,SAAAA,EAAM,SAAS,IAAA,CAClB,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EACF,CAEJ,CCtJA,MAAMyC,EAAY,qCAEZC,EAAiB,IAkBhB,SAASC,GAA4B3C,EAAsD,aAChG,MAAM4C,EAAiB,CAAE,KAAIzB,GAAArB,EAAAE,EAAM,QAAN,YAAAF,EAAa,YAAb,YAAAqB,EAAwB,OAAQ,CAAA,EAAK,KAAI0B,GAAA3B,EAAAlB,EAAM,QAAN,YAAAkB,EAAa,QAAb,YAAA2B,EAAoB,OAAQ,CAAA,CAAI,EAChGC,EAAY9C,EAAM,UACpB,CAAA,EACAA,EAAM,WAAa4C,EAEvB,OACElC,EAAAA,IAACqC,EAAA,CACC,WAAY/C,EAAM,aAClB,mBAAoBA,EAAM,UAC1B,MAAOA,EAAM,UACT,GACAgD,EAAgB,UAAUP,EAAW,WAAW,EAEpD,KAAK,KAEJ,SAAA,CAACzC,EAAM,WACNQ,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAD,OAACyC,GAAW,cAAeP,EAAgB,cAAeA,EAAgB,WAAU,GAClF,SAAA,CAAAhC,MAAC,KAAA,CAAG,UAAU,gBACX,SAAAoC,EAAU,IAAII,GAAY,OACzB,OACExC,EAAAA,IAAC,KAAA,CAAqB,UAAU,OAC9B,SAAAA,EAAAA,IAAC4B,GAAA,CACC,SAAAY,EACA,YAAalD,EAAM,MACnB,YAAaA,EAAM,YACnB,sBAAuBA,EAAM,8BAC7B,aAAY,GACZ,SAASF,EAAAE,EAAM,qBAAN,YAAAF,EAAA,KAAAE,EAA2BkD,EAAS,IAC7C,gBAAiBlD,EAAM,gBACvB,iBAAkB,CAChB,SAAUmD,EAAgB,sBAAA,CAC5B,CAAA,CACF,EAZOD,EAAS,EAalB,CAEJ,CAAC,CAAA,CACH,GACElD,EAAM,SAAWA,EAAM,aACvBU,EAAAA,IAAC0C,EAAA,CACC,WAAYpD,EAAM,WAClB,UAAWA,EAAM,UACjB,WAAYA,EAAM,UAAA,CAAA,CACpB,EAEJ,SAECqD,EAAA,CACC,SAAA,CAAA3C,EAAAA,IAAC2C,EAAa,OAAb,CACC,QAASrD,EAAM,aACf,KAAMgD,EAAgB,UAAUP,EAAW,OAAO,CAAA,CAAA,EAEpD/B,EAAAA,IAAC2C,EAAa,OAAb,CACC,KAAML,EAAgB,UAAUP,EAAW,WAAW,EACtD,QAAQ,OACR,QAASzC,EAAM,gBAAA,CAAA,CACjB,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAIR,CCzEO,SAASsD,GAA2BtD,EAAqD,SAC9F,MAAMuD,EAAQC,EAA4BC,EAAc,MAAMzD,EAAM,EAAE,CAAC,EACjE0D,EAASF,EAA6BG,EAAe,QAAQ,EAC7DC,EAAcJ,EAAkCK,EAAa,aAAa,EAEhF,SAASC,GAAqB,CAC5BhC,EAAgB,cAAc,CAC5B,GAAIyB,EAAM,KAAK,GACf,KAAMA,EAAM,KAAK,IAAA,EAChB,CACD,OAAQ3B,EAAW,MACnB,WAAYD,EAAW,MACvB,SAAUwB,EAAgB,wBAC1B,WAAYY,EAAwB,KAAA,CACrC,EAED/D,EAAM,WAAA,CACR,CAEA,SAASgE,GAAyB,CAChClC,EAAgB,cAAc,CAC5B,GAAIyB,EAAM,KAAK,GACf,KAAMA,EAAM,KAAK,IAAA,EAChB,CACD,OAAQ3B,EAAW,MACnB,SAAUuB,EAAgB,wBAC1B,WAAYxB,EAAW,MACvB,WAAYoC,EAAwB,SAAA,CACrC,EAED1B,EAAmB,QAAQ,CACzB,YAAa4B,EAAY,OACzB,OAAQC,EAAQ,OAAO,WACvB,KAAM,CAAEX,EAAM,KAAK,GAAIY,EAAW,QAAQZ,EAAM,KAAK,IAAI,CAAE,CAAA,CAC5D,EAEDvD,EAAM,WAAA,CACR,CAEA,OACEU,EAAAA,IAACiC,GAAA,CACC,UAAW,CAACY,EAAM,cAAgB,CAACG,EAAO,aAC1C,MAAOH,EAAM,KACb,aAAazD,EAAA4D,EAAO,OAAP,YAAA5D,EAAa,YAC1B,8BAA+BsE,EAAU,UAAU,mBACnD,mBAAoBC,IAAO,CACzB,YAAaJ,EAAY,OACzB,OAAQC,EAAQ,OAAO,YACvB,KAAM,CAACG,CAAE,EACT,OAAQ,CAAE,QAASd,EAAM,KAAK,GAAI,eAAgB,EAAA,CAAK,GAEzD,iBAAiBpC,EAAAyC,EAAY,OAAZ,MAAAzC,EAAkB,gBAAkB,SAAW,SAChE,aAAA2C,EACA,iBAAAE,EACA,QAAS,GACT,WAAY,GACZ,UAAW,IAAM,CAAC,EAClB,WAAY,IAAA,CAAA,CAGlB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,d as r,v as d,c as m,a1 as u,a2 as h,T as g}from"./app-DfSv_-O3.js";import{u as p}from"./B5lCwpXp.chunk.js";const x="_myAccount_1fl6w_1",j="_group_1fl6w_4",c={myAccount:x,group:j};function N(s){var i;const t=(i=s.modules)==null?void 0:i.filter(n=>!n.hide),a=!!(t!=null&&t.length);function o(){switch(s.id){case"my-account":return`img-fluid ${c.myAccount}`;default:return"img-fluid"}}return e.jsx(r,{appLink:s.appLink,children:e.jsxs("div",{className:`row p-3 border border-dark m-0 w-100 h-100 ${c.group}`,children:[e.jsx("div",{className:"col-3",children:e.jsx("div",{className:"d-flex justify-content-center align-items-center h-100",children:e.jsx("img",{src:s.imageUrl,alt:"",role:"presentation",className:o()})})}),e.jsxs("div",{className:`col-9 h-100 ${a?"":"d-flex align-items-center"}`,children:[e.jsx("h2",{className:"h4",children:s.name}),a&&e.jsx("ul",{className:"list-unstyled mb-0",children:t.map(n=>e.jsx("li",{className:"mb-1",children:"appLink"in n?e.jsx(r,{className:"btn btn-link p-0",appLink:n.appLink,children:n.name}):e.jsx("button",{className:"btn btn-link p-0 text-start",onClick:n.onClick,children:n.name})},n.name))})]})]})})}const f="_groupContainer_fw505_4",k={groupContainer:f},l="settings.settings";function v(){d({title:m.getPhrase(l,"pageTitle")});const s=p();if(!s.length){u.throw(new h);return}return e.jsxs("div",{className:"px-3",children:[e.jsx("h1",{className:"h2",children:e.jsx(g,{namespace:l,phrase:"heading"})}),e.jsx("main",{className:"row",children:s.map(t=>e.jsx("div",{className:"col-md-6 p-0",children:e.jsx("div",{className:`h-100 ${k.groupContainer}`,children:e.jsx(N,{...t})})},t.id))})]})}export{v as SettingsView};
|
|
2
|
-
//# sourceMappingURL=Cz45aonc.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cz45aonc.chunk.js","sources":["../../src/apps/settings/components/settings-group/SettingsGroup.tsx","../../src/apps/settings/views/settings/SettingsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { SettingsGroup as SettingsGroupProps } from 'apps/settings/interfaces/SettingsGroup';\n\nimport styles from './settings-group.module.scss';\n\nexport function SettingsGroup(props: SettingsGroupProps): JSX.Element {\n const modulesToDisplay = props.modules?.filter(m => !m.hide);\n\n const hasModules = !!modulesToDisplay?.length;\n\n function getImageClassName(): string {\n switch (props.id) {\n case 'my-account':\n return `img-fluid ${styles.myAccount}`;\n\n default:\n return 'img-fluid';\n }\n }\n\n return (\n <AppLink appLink={props.appLink}>\n <div className={`row p-3 border border-dark m-0 w-100 h-100 ${styles.group}`}>\n <div className='col-3'>\n <div className='d-flex justify-content-center align-items-center h-100'>\n <img\n src={props.imageUrl}\n alt=''\n role='presentation'\n className={getImageClassName()}\n />\n </div>\n </div>\n\n <div className={`col-9 h-100 ${!hasModules ? 'd-flex align-items-center' : ''}`}>\n <h2 className='h4'>{props.name}</h2>\n\n {hasModules && (\n <ul className='list-unstyled mb-0'>\n {modulesToDisplay.map(m => (\n <li key={m.name} className='mb-1'>\n {'appLink' in m ?\n <AppLink className='btn btn-link p-0' appLink={m.appLink}>\n {m.name}\n </AppLink> :\n <button className='btn btn-link p-0 text-start' onClick={m.onClick}>\n {m.name}\n </button>\n }\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n </AppLink>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { SettingsGroup as SettingsGroupComponent } from 'apps/settings/components/settings-group/SettingsGroup';\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nimport styles from './settings.module.scss';\n\nconst namespace = 'settings.settings';\n\nexport function SettingsView(): JSX.Element {\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const groups = useGetSettingsGroups();\n\n if (!groups.length) {\n Core.ErrorHelper.throw(new NotFoundError());\n return;\n }\n\n return (\n <div className='px-3'>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n\n <main className='row'>\n {groups.map(group => (\n <div key={group.id} className='col-md-6 p-0'>\n <div className={`h-100 ${styles.groupContainer}`}>\n <SettingsGroupComponent {...group} />\n </div>\n </div>\n ))}\n </main>\n </div>\n );\n}"],"names":["SettingsGroup","props","modulesToDisplay","_a","m","hasModules","getImageClassName","styles","jsx","AppLink","jsxs","namespace","SettingsView","useSetPageMetadata","LanguageService","groups","useGetSettingsGroups","Core.ErrorHelper","NotFoundError","Text","group","SettingsGroupComponent"],"mappings":"kMAQO,SAASA,EAAcC,EAAwC,OACpE,MAAMC,GAAmBC,EAAAF,EAAM,UAAN,YAAAE,EAAe,OAAOC,GAAK,CAACA,EAAE,MAEjDC,EAAa,CAAC,EAACH,GAAA,MAAAA,EAAkB,QAEvC,SAASI,GAA4B,CACnC,OAAQL,EAAM,GAAA,CACZ,IAAK,aACH,MAAO,aAAaM,EAAO,SAAS,GAEtC,QACE,MAAO,WAAA,CAEb,CAEA,OACEC,EAAAA,IAACC,EAAA,CAAQ,QAASR,EAAM,QACtB,SAAAS,EAAAA,KAAC,MAAA,CAAI,UAAW,8CAA8CH,EAAO,KAAK,GACxE,SAAA,CAAAC,EAAAA,IAAC,OAAI,UAAU,QACb,SAAAA,MAAC,MAAA,CAAI,UAAU,yDACb,SAAAA,EAAAA,IAAC,MAAA,CACC,IAAKP,EAAM,SACX,IAAI,GACJ,KAAK,eACL,UAAWK,EAAA,CAAkB,CAAA,EAEjC,CAAA,CACF,EAEAI,EAAAA,KAAC,OAAI,UAAW,eAAgBL,EAA2C,GAA9B,2BAAgC,GAC3E,SAAA,CAAAG,EAAAA,IAAC,KAAA,CAAG,UAAU,KAAM,SAAAP,EAAM,KAAK,EAE9BI,GACCG,EAAAA,IAAC,KAAA,CAAG,UAAU,qBACX,WAAiB,IAAIJ,GACpBI,EAAAA,IAAC,KAAA,CAAgB,UAAU,OACxB,SAAA,YAAaJ,EACZI,EAAAA,IAACC,GAAQ,UAAU,mBAAmB,QAASL,EAAE,QAC9C,SAAAA,EAAE,IAAA,CACL,EACAI,EAAAA,IAAC,UAAO,UAAU,8BAA8B,QAASJ,EAAE,QACxD,SAAAA,EAAE,IAAA,CACL,GAPKA,EAAE,IASX,CACD,CAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,wDC9CMO,EAAY,oBAEX,SAASC,GAA4B,CAC1CC,EAAmB,CAAE,MAAOC,EAAgB,UAAUH,EAAW,WAAW,EAAG,EAE/E,MAAMI,EAASC,EAAA,EAEf,GAAI,CAACD,EAAO,OAAQ,CAClBE,EAAiB,MAAM,IAAIC,CAAe,EAC1C,MACF,CAEA,OACER,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAF,EAAAA,IAAC,KAAA,CAAG,UAAU,KAAK,SAAAA,EAAAA,IAACW,GAAK,UAAAR,EAAsB,OAAO,UAAU,CAAA,CAAE,EAElEH,EAAAA,IAAC,OAAA,CAAK,UAAU,MACb,SAAAO,EAAO,IAAIK,GACVZ,EAAAA,IAAC,MAAA,CAAmB,UAAU,eAC5B,SAAAA,MAAC,MAAA,CAAI,UAAW,SAASD,EAAO,cAAc,GAC5C,SAAAC,EAAAA,IAACa,EAAA,CAAwB,GAAGD,CAAA,CAAO,CAAA,CACrC,CAAA,EAHQA,EAAM,EAIhB,CACD,CAAA,CACH,CAAA,EACF,CAEJ"}
|