@clickview/lite 0.104.0-rc.7 → 0.104.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/.vite/manifest.json +575 -575
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{Dnz8CbEu.chunk.js → -QIG2ZHc.chunk.js} +3 -3
- package/dist/scripts/{Dnz8CbEu.chunk.js.map → -QIG2ZHc.chunk.js.map} +1 -1
- package/dist/scripts/{CX6c7KRp2.chunk.js → 0mx04bmJ2.chunk.js} +2 -2
- package/dist/scripts/{CX6c7KRp2.chunk.js.map → 0mx04bmJ2.chunk.js.map} +1 -1
- package/dist/scripts/{CMHxOVI7.chunk.js → 41LJfkjO.chunk.js} +2 -2
- package/dist/scripts/{CMHxOVI7.chunk.js.map → 41LJfkjO.chunk.js.map} +1 -1
- package/dist/scripts/{BBWnpWNB2.chunk.js → 7uvJMXC12.chunk.js} +2 -2
- package/dist/scripts/{BBWnpWNB2.chunk.js.map → 7uvJMXC12.chunk.js.map} +1 -1
- package/dist/scripts/{CaCm4N_d2.chunk.js → B-HfRX562.chunk.js} +2 -2
- package/dist/scripts/{CaCm4N_d2.chunk.js.map → B-HfRX562.chunk.js.map} +1 -1
- package/dist/scripts/{DSPMbDdF.chunk.js → B3_lC6bW.chunk.js} +2 -2
- package/dist/scripts/{DSPMbDdF.chunk.js.map → B3_lC6bW.chunk.js.map} +1 -1
- package/dist/scripts/{0Fek4oFk.chunk.js → BLE8DLAY.chunk.js} +2 -2
- package/dist/scripts/{0Fek4oFk.chunk.js.map → BLE8DLAY.chunk.js.map} +1 -1
- package/dist/scripts/{B338pwKt2.chunk.js → BRt-Kdnn2.chunk.js} +2 -2
- package/dist/scripts/{B338pwKt2.chunk.js.map → BRt-Kdnn2.chunk.js.map} +1 -1
- package/dist/scripts/{D3ncynN72.chunk.js → BVBpDZoT2.chunk.js} +3 -3
- package/dist/scripts/{D3ncynN72.chunk.js.map → BVBpDZoT2.chunk.js.map} +1 -1
- package/dist/scripts/{5PKjjI4Y.chunk.js → BapoiGsj.chunk.js} +2 -2
- package/dist/scripts/{5PKjjI4Y.chunk.js.map → BapoiGsj.chunk.js.map} +1 -1
- package/dist/scripts/{CNfmLVE82.chunk.js → Bc1JT5Y-2.chunk.js} +2 -2
- package/dist/scripts/{CNfmLVE82.chunk.js.map → Bc1JT5Y-2.chunk.js.map} +1 -1
- package/dist/scripts/{cDv6zuhh.chunk.js → BhE5KhcC.chunk.js} +2 -2
- package/dist/scripts/{cDv6zuhh.chunk.js.map → BhE5KhcC.chunk.js.map} +1 -1
- package/dist/scripts/{Bzk4AwVx2.chunk.js → BncgzKKQ2.chunk.js} +2 -2
- package/dist/scripts/{Bzk4AwVx2.chunk.js.map → BncgzKKQ2.chunk.js.map} +1 -1
- package/dist/scripts/BwBWuxjr2.chunk.js +2 -0
- package/dist/scripts/{B1hsuVfV2.chunk.js.map → BwBWuxjr2.chunk.js.map} +1 -1
- package/dist/scripts/{B1TqilLB.chunk.js → C6z8ii6C.chunk.js} +2 -2
- package/dist/scripts/{B1TqilLB.chunk.js.map → C6z8ii6C.chunk.js.map} +1 -1
- package/dist/scripts/{fMgBORUX.chunk.js → C8x-QH43.chunk.js} +2 -2
- package/dist/scripts/{fMgBORUX.chunk.js.map → C8x-QH43.chunk.js.map} +1 -1
- package/dist/scripts/{BiWUSyJr.chunk.js → CAkqvKfy.chunk.js} +2 -2
- package/dist/scripts/{BiWUSyJr.chunk.js.map → CAkqvKfy.chunk.js.map} +1 -1
- package/dist/scripts/{D-iyHqNw2.chunk.js → CLvImDXv2.chunk.js} +3 -3
- package/dist/scripts/{D-iyHqNw2.chunk.js.map → CLvImDXv2.chunk.js.map} +1 -1
- package/dist/scripts/{Cqq1N9xw.chunk.js → CM8248d7.chunk.js} +2 -2
- package/dist/scripts/{Cqq1N9xw.chunk.js.map → CM8248d7.chunk.js.map} +1 -1
- package/dist/scripts/{B_TE5XUR2.chunk.js → CvilnM0u2.chunk.js} +2 -2
- package/dist/scripts/{B_TE5XUR2.chunk.js.map → CvilnM0u2.chunk.js.map} +1 -1
- package/dist/scripts/{AEOAlemi.chunk.js → Cwocc8uV.chunk.js} +2 -2
- package/dist/scripts/{AEOAlemi.chunk.js.map → Cwocc8uV.chunk.js.map} +1 -1
- package/dist/scripts/{Bld7iWR52.chunk.js → D-pn0sNx2.chunk.js} +2 -2
- package/dist/scripts/{Bld7iWR52.chunk.js.map → D-pn0sNx2.chunk.js.map} +1 -1
- package/dist/scripts/{Cyit3dMk.chunk.js → D78QEASE.chunk.js} +2 -2
- package/dist/scripts/{Cyit3dMk.chunk.js.map → D78QEASE.chunk.js.map} +1 -1
- package/dist/scripts/{Dtag-27K.chunk.js → DER8311r.chunk.js} +2 -2
- package/dist/scripts/{Dtag-27K.chunk.js.map → DER8311r.chunk.js.map} +1 -1
- package/dist/scripts/{CmnbQiBA.chunk.js → DSZaceCq.chunk.js} +2 -2
- package/dist/scripts/{CmnbQiBA.chunk.js.map → DSZaceCq.chunk.js.map} +1 -1
- package/dist/scripts/{CfNYFxJl2.chunk.js → D_1m0b_a2.chunk.js} +2 -2
- package/dist/scripts/{CfNYFxJl2.chunk.js.map → D_1m0b_a2.chunk.js.map} +1 -1
- package/dist/scripts/{-KvTbeQV.chunk.js → DhcRnxkp.chunk.js} +2 -2
- package/dist/scripts/{-KvTbeQV.chunk.js.map → DhcRnxkp.chunk.js.map} +1 -1
- package/dist/scripts/{qRLSbnEr.chunk.js → DhdM2yGm.chunk.js} +2 -2
- package/dist/scripts/{qRLSbnEr.chunk.js.map → DhdM2yGm.chunk.js.map} +1 -1
- package/dist/scripts/{DKDWcWxk.chunk.js → Dqn0sInF.chunk.js} +2 -2
- package/dist/scripts/{DKDWcWxk.chunk.js.map → Dqn0sInF.chunk.js.map} +1 -1
- package/dist/scripts/{CAs2Sere2.chunk.js → MW7W80HY2.chunk.js} +2 -2
- package/dist/scripts/{CAs2Sere2.chunk.js.map → MW7W80HY2.chunk.js.map} +1 -1
- package/dist/scripts/{CwFYdvvA.chunk.js → Okf3Hn0s.chunk.js} +2 -2
- package/dist/scripts/{CwFYdvvA.chunk.js.map → Okf3Hn0s.chunk.js.map} +1 -1
- package/dist/scripts/{Dt5731Ay.chunk.js → _lqYS5Jx.chunk.js} +2 -2
- package/dist/scripts/{Dt5731Ay.chunk.js.map → _lqYS5Jx.chunk.js.map} +1 -1
- package/dist/scripts/{app-CyGIKC-k.js → app-H3wSQ-PR.js} +4 -4
- package/dist/scripts/{app-CyGIKC-k.js.map → app-H3wSQ-PR.js.map} +1 -1
- package/dist/scripts/{B3AhKFfz.chunk.js → ftYw2FVB.chunk.js} +2 -2
- package/dist/scripts/{B3AhKFfz.chunk.js.map → ftYw2FVB.chunk.js.map} +1 -1
- package/dist/scripts/{DyE6EUDb.chunk.js → kjRiUKIL.chunk.js} +2 -2
- package/dist/scripts/{DyE6EUDb.chunk.js.map → kjRiUKIL.chunk.js.map} +1 -1
- package/dist/scripts/{B3y60nT5.chunk.js → pDWQ8Uj5.chunk.js} +2 -2
- package/dist/scripts/{B3y60nT5.chunk.js.map → pDWQ8Uj5.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B1hsuVfV2.chunk.js +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["scripts/
|
|
2
|
-
import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{t as i}from"./CZgWQFsJ.chunk.js";import{t as a}from"./D_gWf2lC.chunk.js";var o=e(t()),s={embeddedPlayer:`_embeddedPlayer_1cqbo_1`,placeholder:`_placeholder_1cqbo_8`},c=n();function l(e){let t=r(a.config()),n=t.hasCompleted,l=o.useMemo(()=>o.lazy(()=>i(()=>import(`./
|
|
3
|
-
//# sourceMappingURL
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["scripts/CAkqvKfy.chunk.js","scripts/DAXXjFlN.chunk.js","scripts/BftnFbcr.chunk.js","scripts/CMDJWWg3.chunk.js","scripts/DPtsihFR.chunk.js","scripts/DMnm3Ewv.chunk.js","scripts/C2w0pmFW.chunk.js","scripts/wrLrTezN.chunk.js","scripts/NlCAcBdo.chunk.js","scripts/Dyy-PWHO.chunk.js","scripts/snXCXfT6.chunk.js","scripts/e57H3T-k.chunk.js","scripts/BVnMI-dl.chunk.js","scripts/Dr3Lux2e.chunk.js","scripts/wdQVW3s5.chunk.js","scripts/BGGL8m_U.chunk.js","scripts/B_N30_Kb.chunk.js","scripts/rPN1bfU12.chunk.js","scripts/BIzu5ufQ.chunk.js","scripts/CVHQXNzi2.chunk.js","scripts/_GCZ-60i.chunk.js","scripts/DFZS3Ffo.chunk.js","scripts/Bbp2U9GK.chunk.js","scripts/CduNFx13.chunk.js","css/9awfngRG.chunk.css","scripts/B2INd6bh.chunk.js","scripts/5ONJSThP.chunk.js","scripts/C7HU4huj.chunk.js","scripts/BRrNQXpU2.chunk.js","css/DVhPtkT7.chunk.css","scripts/WvK58Ge12.chunk.js","scripts/D3-wtcxf2.chunk.js","scripts/B3fF5gkg.chunk.js","scripts/DEZqrbCm.chunk.js","scripts/CQyJ7YGa.chunk.js","scripts/BDwjs8qz2.chunk.js","scripts/C0exjRXJ.chunk.js","scripts/Chgge8yX2.chunk.js","scripts/BteVhTv7.chunk.js","scripts/De16zmhB.chunk.js","scripts/BBEIIgZ6.chunk.js","css/BgzV9aK4.chunk.css","scripts/BicQH0Al.chunk.js","scripts/YjWbDb2Y.chunk.js","scripts/BRcHS92O2.chunk.js","scripts/Bs2PKr1I2.chunk.js","scripts/DZX1tZ-D2.chunk.js","scripts/BiqmNDlz2.chunk.js","scripts/BlGyXBAH2.chunk.js","scripts/Dc1hYuQ12.chunk.js","css/CuSUr3Gp.chunk.css","css/D5JKYURg.chunk.css","scripts/B1r_1ubU.chunk.js","scripts/C5f0lBCw2.chunk.js","css/DBshtiPC.chunk.css","scripts/Dqn0sInF.chunk.js","scripts/c7DC36s9.chunk.js","scripts/BVm7hIyo.chunk.js","scripts/BYSskNbK.chunk.js","scripts/FAs_d-DP.chunk.js","scripts/Bzihudtn.chunk.js","scripts/BFXddaSP.chunk.js","scripts/B3TDTJSl.chunk.js","scripts/CYSDN6kj.chunk.js","scripts/CVqxBe99.chunk.js","scripts/CNxJMwxC.chunk.js","scripts/CQRza4Ga.chunk.js","scripts/ByIC_M_8.chunk.js","scripts/Epqx0J1v.chunk.js","scripts/BUnh3rN0.chunk.js","css/zFl67mql.chunk.css","scripts/CXnhm0VS2.chunk.js","scripts/iZ7EqNA72.chunk.js","scripts/OL3Z6Yp62.chunk.js","scripts/TTO6HcNP.chunk.js","scripts/BJUbYu222.chunk.js","scripts/BBDxSGT52.chunk.js","scripts/jAbfamoi.chunk.js","scripts/DUXPuDp72.chunk.js","scripts/CdYjo8_g2.chunk.js","scripts/CbOJtYeK.chunk.js","scripts/CvHvrB-t.chunk.js","scripts/B6bB9two.chunk.js","scripts/BbgQJe-T.chunk.js","scripts/C1SLt-ar.chunk.js","scripts/CpFtf-tI2.chunk.js","scripts/CKOWgMyj2.chunk.js","scripts/D5yUWL7p2.chunk.js","scripts/xa4cS6Fq.chunk.js","scripts/DGmmTRu72.chunk.js","scripts/B_BV48Fy.chunk.js","scripts/BX0wDJmp.chunk.js","scripts/BruX4yYB.chunk.js","scripts/CqrjHjAN.chunk.js","scripts/Ky1--4w3.chunk.js","scripts/CZgWQFsJ.chunk.js","scripts/BGswYbRT.chunk.js","scripts/B9VCwo3g2.chunk.js","scripts/DsBWAM3I2.chunk.js","scripts/_42F7SIA2.chunk.js","scripts/Cr6TXzQQ2.chunk.js","scripts/CjA4Q5pm.chunk.js","scripts/CmcCVXi32.chunk.js","scripts/BcibGFe42.chunk.js","scripts/Cy6lZVxk.chunk.js","scripts/DYKH_3un.chunk.js","scripts/CunDpHqX2.chunk.js","css/0ZqRj7up.chunk.css","scripts/B5XaBzZh.chunk.js","scripts/DIENjKhZ.chunk.js","css/D2t3ESms.chunk.css","scripts/B_9JhhOa.chunk.js","scripts/BPavmm8c.chunk.js","css/DnhOr8Y7.chunk.css","scripts/CnnDkGmK.chunk.js","scripts/C3Wa868y.chunk.js","css/DvO5Hl4o.chunk.css","scripts/BhE5KhcC.chunk.js","scripts/CM8248d7.chunk.js","scripts/lhZ5v-iN2.chunk.js","css/BU5l8u5C.chunk.css","scripts/BiKac8UT2.chunk.js","scripts/Bc1JT5Y-2.chunk.js","scripts/CcI-EKxs.chunk.js","scripts/CsF4wDV1.chunk.js","scripts/6ZXIO06e.chunk.js","scripts/DlEtkSBj2.chunk.js","scripts/CnsLb4V9.chunk.js","scripts/Dhx_Wqdc.chunk.js","scripts/DaT2nTfp.chunk.js","scripts/CDeqAwMc.chunk.js","scripts/ss6ZpC3s.chunk.js","scripts/GvIHspQt.chunk.js","scripts/FFbkHQcg.chunk.js","scripts/ClpxGEGl.chunk.js","scripts/CvNHBl0q.chunk.js","scripts/C-k6FY-f.chunk.js","scripts/BLm6PYXX.chunk.js","scripts/BM2EJL9g.chunk.js","scripts/DqXpeRGy.chunk.js","scripts/CCrnRkGN2.chunk.js","scripts/CXVBjdpb.chunk.js","scripts/gl4k7dtw.chunk.js","scripts/CQ0MgG2c.chunk.js","scripts/_jJAx6fU.chunk.js","scripts/CLjADRa42.chunk.js","css/DVdh6HWj.chunk.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{t as i}from"./CZgWQFsJ.chunk.js";import{t as a}from"./D_gWf2lC.chunk.js";var o=e(t()),s={embeddedPlayer:`_embeddedPlayer_1cqbo_1`,placeholder:`_placeholder_1cqbo_8`},c=n();function l(e){let t=r(a.config()),n=t.hasCompleted,l=o.useMemo(()=>o.lazy(()=>i(()=>import(`./CAkqvKfy.chunk.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146]))),[]);if(!n)return(0,c.jsx)(c.Fragment,{});let u=l;return(0,c.jsx)(o.Suspense,{fallback:(0,c.jsx)(`div`,{className:s.placeholder}),children:(0,c.jsx)(u,{viewKey:e.viewKey,playerApi:new URL(t.data.playerApiUrl),imageCdnUrl:t.data.imageCdnUrl,autoplay:!0,embed:!0,hotkeyElQuerySelector:`body`,className:s.embeddedPlayer})})}export{l as SmartEmbedView};
|
|
3
|
+
//# sourceMappingURL=-QIG2ZHc.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":";8UAgBA,SAAgB,EAAe,EAAyC,CACtE,IAAM,EAAS,EAA6B,EAAe,OAAO,CAAC,EAE7D,EACJ,EAAO,aAGH,IAAmB,cAAoB,eAAW,OAAO,wgBAA+B,EAAG,CAAC,CAAC,EAEnG,GAAI,CAAC,EACH,OAAO,qBAAI,GAEb,IAAM,EAAS,EACf,OACE,WAAO,SAAP,CAAgB,UAAU,SAAC,MAAD,CAAK,UAAW,EAAO,WAAc,aAC7D,SAAC,EAAD,CAEE,QAAS,EAAM,QACf,UAAW,IAAI,IAAI,EAAO,KAAK,YAAY,EAC3C,YAAa,EAAO,KAAK,YAGzB,YACA,SAGA,sBAAsB,OACtB,UAAW,EAAO,cACnB,EACa,EAEpB","names":[],"ignoreList":[],"sources":["../../src/apps/embed/views/smart-embed/SmartEmbedView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\n\nimport type { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport styles from './smart-embed.module.scss';\n\ninterface SmartEmbedViewProps {\n viewKey: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function SmartEmbedView(props: SmartEmbedViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const hasLoaded = (\n config.hasCompleted\n );\n\n const LazyPlayer = React.useMemo(() => React.lazy(() => import('projects/player/react/Player')), []);\n\n if (!hasLoaded)\n return <></>;\n\n const Player = LazyPlayer as typeof ClickViewPlayer;\n return (\n <React.Suspense fallback={<div className={styles.placeholder} />}>\n <Player\n // Fetched\n viewKey={props.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n imageCdnUrl={config.data.imageCdnUrl}\n\n // Options\n autoplay\n embed\n\n // Static\n hotkeyElQuerySelector='body'\n className={styles.embeddedPlayer}\n />\n </React.Suspense>\n );\n}\n"],"file":"
|
|
1
|
+
{"version":3,"mappings":";8UAgBA,SAAgB,EAAe,EAAyC,CACtE,IAAM,EAAS,EAA6B,EAAe,OAAO,CAAC,EAE7D,EACJ,EAAO,aAGH,IAAmB,cAAoB,eAAW,OAAO,wgBAA+B,EAAG,CAAC,CAAC,EAEnG,GAAI,CAAC,EACH,OAAO,qBAAI,GAEb,IAAM,EAAS,EACf,OACE,WAAO,SAAP,CAAgB,UAAU,SAAC,MAAD,CAAK,UAAW,EAAO,WAAc,aAC7D,SAAC,EAAD,CAEE,QAAS,EAAM,QACf,UAAW,IAAI,IAAI,EAAO,KAAK,YAAY,EAC3C,YAAa,EAAO,KAAK,YAGzB,YACA,SAGA,sBAAsB,OACtB,UAAW,EAAO,cACnB,EACa,EAEpB","names":[],"ignoreList":[],"sources":["../../src/apps/embed/views/smart-embed/SmartEmbedView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\n\nimport type { ClickViewPlayer } from 'projects/player/react/Player';\n\nimport styles from './smart-embed.module.scss';\n\ninterface SmartEmbedViewProps {\n viewKey: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function SmartEmbedView(props: SmartEmbedViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const hasLoaded = (\n config.hasCompleted\n );\n\n const LazyPlayer = React.useMemo(() => React.lazy(() => import('projects/player/react/Player')), []);\n\n if (!hasLoaded)\n return <></>;\n\n const Player = LazyPlayer as typeof ClickViewPlayer;\n return (\n <React.Suspense fallback={<div className={styles.placeholder} />}>\n <Player\n // Fetched\n viewKey={props.viewKey}\n playerApi={new URL(config.data.playerApiUrl)}\n imageCdnUrl={config.data.imageCdnUrl}\n\n // Options\n autoplay\n embed\n\n // Static\n hotkeyElQuerySelector='body'\n className={styles.embeddedPlayer}\n />\n </React.Suspense>\n );\n}\n"],"file":"-QIG2ZHc.chunk.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./DAXXjFlN.chunk.js";import{n as t,r as n,t as r}from"./snXCXfT6.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./e57H3T-k.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{u}from"./BX0wDJmp.chunk.js";import{i as d,t as f}from"./BMKh-xhT2.chunk.js";import{t as p}from"./BDwjs8qz2.chunk.js";import{t as m}from"./CVHQXNzi2.chunk.js";import{t as h}from"./BrbeV-Gn2.chunk.js";import{t as g}from"./CqrjHjAN.chunk.js";import{t as _}from"./eoAypzU3.chunk.js";import{t as v}from"./QCFxJYkI2.chunk.js";import{t as y}from"./CduNFx13.chunk.js";import{t as b}from"./B3gsVN-_.chunk.js";import{t as x}from"./
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{o as e}from"./DAXXjFlN.chunk.js";import{n as t,r as n,t as r}from"./snXCXfT6.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./e57H3T-k.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{u}from"./BX0wDJmp.chunk.js";import{i as d,t as f}from"./BMKh-xhT2.chunk.js";import{t as p}from"./BDwjs8qz2.chunk.js";import{t as m}from"./CVHQXNzi2.chunk.js";import{t as h}from"./BrbeV-Gn2.chunk.js";import{t as g}from"./CqrjHjAN.chunk.js";import{t as _}from"./eoAypzU3.chunk.js";import{t as v}from"./QCFxJYkI2.chunk.js";import{t as y}from"./CduNFx13.chunk.js";import{t as b}from"./B3gsVN-_.chunk.js";import{t as x}from"./CLvImDXv2.chunk.js";import{t as S}from"./Dfw0sxVt2.chunk.js";import{n as C,t as w}from"./CpFtf-tI2.chunk.js";import{t as T}from"./DBkEQkKm2.chunk.js";import{t as E}from"./CCrnRkGN2.chunk.js";import{n as D,r as O}from"./BGswYbRT.chunk.js";import{n as k}from"./xa4cS6Fq.chunk.js";import{t as A}from"./Z4RlHaVG.chunk.js";import{l as j,o as M}from"./BOJK8LI1.chunk.js";import{t as N}from"./DzgAvoez.chunk.js";import{n as P,t as F}from"./CvtZ8ZFA2.chunk.js";import{t as I}from"./pP_cpHCu2.chunk.js";import{a as L,i as R,n as z,r as B,t as V}from"./Bf9r1ZoF2.chunk.js";import{t as H}from"./7I0L5W4N2.chunk.js";function U(e){let{hasPermissions:t}=b(),{hasProduct:n}=S(),r=u(g.currentUser());return!t(i.StudentExperience)&&n(v.Primary)&&r.data.isAuthenticated&&(!e||e.version===`v1`)}var W=e(s(),1),G=c(),K=`interactives.interactiveTitleAndActions`;function q(e){let t,n;return e._parentClip?(t=e._parentClip.name,n={application:l.CLIPS,action:_.Clips.PLAY_CLIP,args:[e._parentClip.id,o.slugify(e._parentClip.name)]}):(t=e._parentVideo.name,n={application:l.VIDEOS,action:_.Videos.PLAY_VIDEO,args:[null,e._parentVideo.id,o.slugify(e._parentVideo.name)]}),[t,n]}function J(e){let{hasPermissions:t}=b(),n=P({location:e.location,shareId:e.shareId,presentationSlug:null}),r=t(i.StudentExperience),a=e.interactive.status===p.Draft,[o,s]=q(e.interactive);return(0,G.jsx)(w.Provider,{value:K,children:(0,G.jsx)(`div`,{className:`d-flex justify-content-between align-items-center`,children:(0,G.jsxs)(`div`,{className:`inline-block w-100`,children:[(0,G.jsx)(`div`,{className:`ms-2 float-end`,children:!r&&(0,G.jsx)(A,{actions:n.getVideoActions(e.interactive),actionsDropdownClassName:`btn btn-outline-dark`,fetchMore:()=>n.fetchMoreActions(e.interactive)})}),(0,G.jsxs)(`h1`,{className:`h3 mb-2`,children:[a&&(0,G.jsx)(`div`,{className:`badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base`,children:(0,G.jsx)(C,{phrase:`draft`})}),e.interactive.name,!r&&(0,G.jsx)(M,{tooltipPlacement:`right`,className:`ps-1 d-inline-block`,video:e.interactive,yearGroups:e.commonVideoProps.yearGroups})]}),h.canViewOriginalVideo(e.interactive)&&(0,G.jsxs)(`div`,{className:`mb-1 me-3 clamp-1`,children:[(0,G.jsx)(C,{phrase:`viewOriginal`}),`\xA0`,(0,G.jsx)(y,{appLink:s,className:`text-info`,children:o})]})]})})})}function Y(e){let[t,n]=W.useState(!0),r=h.isVideoTypeArchived(e.interactive),a=W.useMemo(()=>O(),[]),{hasPermissions:o}=b();function s(e){n(!e)}return(0,G.jsxs)(`div`,{className:`px-3`,children:[r&&(0,G.jsx)(L,{typeId:e.interactive.typeId,hasStudentExperience:!0}),(0,G.jsx)(`div`,{className:`mb-3`,children:(0,G.jsx)(x,{config:e.config,video:e.interactive,currentUser:e.currentUser,shareLink:e.shareLink,viewKey:e.viewKey,startTime:e.startTime,presentationSlug:null,context:e.queryParams?.context,contextId:e.queryParams?.contextId,playNext:e.queryParams?.playNext,mode:`default`,relatedVideos:e.relatedVideos?.videos,onShowSummary:s,summaryPortalNode:a,token:e.token,collectAnonResults:e.collectAnonResults})}),(0,G.jsx)(`div`,{children:t&&(0,G.jsx)(J,{interactive:e.interactive,location:F.PlayPage,commonVideoProps:e.commonVideoProps,shareId:e.shareLink?.id})}),(0,G.jsx)(D,{node:a}),!o(i.StudentExperience)&&(0,G.jsx)(R,{presentationSlug:null,currentVideo:e.interactive,currentUser:e.currentUser,relatedVideos:e.relatedVideos,audiences:e.audiences,getVideoAppLink:(t,n)=>T.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareLink?.id,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),moviesAndTv:e.queryParams.mtv,commonVideoProps:e.commonVideoProps})]})}var X=a.encloseNamespace(`interactives.previewInteractive`);function Z(e){return(0,G.jsxs)(`div`,{className:`alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center`,role:`alert`,children:[e.isArchived?(0,G.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,G.jsx)(r,{svg:I,size:t.Standard,className:`me-2 svg-container`}),(0,G.jsxs)(`div`,{className:`w-100`,children:[(0,G.jsx)(`p`,{className:`fw-semibold mb-0`,children:X(`archivedInfoTitle`)}),(0,G.jsx)(`p`,{className:`mb-1`,children:X(`archivedInfo`)})]})]}):(0,G.jsx)(C,{phrase:`alert`}),e.isPreviewPreventScrubbingEnabled&&(0,G.jsx)(n,{title:X(`previewPreventScrubbingExplain`),trigger:[`hover`,`focus`],spanHack:!0,children:(0,G.jsxs)(`div`,{className:`d-flex mt-1 mt-lg-0`,children:[(0,G.jsx)(`div`,{className:`me-2`,children:(0,G.jsx)(C,{phrase:`previewPreventScrubbing`})}),(0,G.jsx)(E,{on:e.isPreviewingPreventScrubbing,onClick:e.toggleStudentMode})]})})]})}function Q(e,t){W.useEffect(()=>{t()},[e])}var $=`interactives.previewInteractive`,ee=a.encloseNamespace($);function te(e){let t=k(),[n,r]=W.useState(!1),{canConsume:i}=h.getCanBeConsumed(e.interactive);Q(n,a);function a(){t.playerRef?.current?.togglePreviewPreventScrubbing?.()}function s(){r(!n)}let c=e.interactives?.filter(t=>t.id.toString()!==e.interactive.id.toString());return(0,G.jsx)(w.Provider,{value:$,children:(0,G.jsxs)(`div`,{className:`px-4`,children:[!!e.breadcrumbs?.length&&(0,G.jsx)(`div`,{className:`mb-2`,children:(0,G.jsx)(N,{breadcrumbs:e.breadcrumbs})}),(0,G.jsx)(V,{restrictions:e.interactive._restrictions,yearGroups:e.commonVideoProps.yearGroups,objectId:e.interactive.id,objectTypeId:m.Interactive,canManageVideoAccess:e.canManageVideoAccess}),(0,G.jsx)(Z,{isPreviewPreventScrubbingEnabled:e.isPreviewPreventScrubbingEnabled,isPreviewingPreventScrubbing:n,toggleStudentMode:s,isArchived:h.isVideoTypeArchived(e.interactive)}),(0,G.jsx)(`div`,{className:`mb-3`,children:i&&(0,G.jsx)(j,{objectId:e.interactive.id,objectTypeId:e.interactive.typeId,shareId:e.shareId,startTime:e.queryParams.t??e.queryParams.startTime,context:e.queryParams?.context,contextId:e.queryParams?.contextId,playNext:e.queryParams?.playNext,mode:`default`,location:`play-page`,token:e.token},e.interactive.id)}),(0,G.jsx)(J,{interactive:e.interactive,location:F.PlayPage,shareId:e.shareId,commonVideoProps:e.commonVideoProps}),e.interactive.description&&(0,G.jsx)(H,{lines:5,children:()=>(0,G.jsx)(`p`,{className:`mb-0 d-inline`,children:e.interactive.description})}),(0,G.jsx)(`div`,{className:`mb-3`,children:(0,G.jsx)(D,{node:t.questionListPortalNode})}),!!c?.length&&(0,G.jsx)(`div`,{className:`pb-3`,children:(0,G.jsx)(f,{name:ee(`otherInteractives`,{count:c.length}),contents:d.Interactives,collection:c,prefetched:!0,getChildAppLink:e=>({application:l.INTERACTIVES,action:_.Interactives.VIEW_INTERACTIVE,args:[e.id,o.slugify(e.name)]}),childComponent:B,extraChildComponentProps:{questionsAppLink:{application:l.INTERACTIVES,action:_.Interactives.PREVIEW_QUESTIONS},commonVideoProps:e.commonVideoProps},analyticsData:{widgetId:`interactives`}})}),!h.isUgc(e.interactive)&&(0,G.jsx)(z,{media:e.interactive,parentVideo:e.interactive._parentClip||e.interactive._parentVideo,contentRegion:e.currentUser.contentRegion,shareId:e.shareId,presentationSlug:null}),(0,G.jsx)(R,{presentationSlug:null,currentVideo:e.interactive,currentUser:e.currentUser,audiences:e.audiences,relatedVideos:e.relatedVideos,getVideoAppLink:(t,n)=>T.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),moviesAndTv:e.queryParams.mtv,commonVideoProps:e.commonVideoProps})]})})}export{Y as n,U as r,te as t};
|
|
2
|
+
//# sourceMappingURL=0mx04bmJ2.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CX6c7KRp2.chunk.js","names":[],"sources":["../../src/shared/hooks/useShouldPreviewInteractive.ts","../../src/apps/interactives/components/interactive-title-and-actions/InteractiveTitleAndActions.tsx","../../src/apps/interactives/components/play-interactive/PlayInteractive.tsx","../../src/apps/interactives/components/preview-interactive/InteractiveAlertBanner.tsx","../../src/apps/interactives/hooks/interactiveHooks.tsx","../../src/apps/interactives/components/preview-interactive/PreviewInteractive.tsx"],"sourcesContent":["import { Flight } from 'libs/common/flight';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { CurrentUser, UnionShareObject } from 'libs/shared/interfaces';\n\nexport function useShouldPreviewInteractive(shareLink?: UnionShareObject) {\n const { hasPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n return !hasPermissions(PermissionName.StudentExperience) &&\n hasProduct(ProductId.Primary) &&\n currentUser.data.isAuthenticated &&\n (!shareLink || shareLink.version === 'v1'); // Previewing shares is not supported for Share 2.0 links\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { RestrictionPadlock } from 'libs/shared/components/video-list/components/restriction-padlock/RestrictionPadlock';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\n\nconst namespace = 'interactives.interactiveTitleAndActions';\n\nfunction getBackToData(interactive: InteractiveMetadata): [name: string, appLink: Core.AppLink] {\n let name: string;\n let appLink: Core.AppLink;\n \n if (interactive._parentClip) {\n name = interactive._parentClip.name;\n appLink = {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ interactive._parentClip.id, TextHelper.slugify(interactive._parentClip.name) ]\n };\n } else {\n name = interactive._parentVideo.name;\n appLink = {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [\n null,\n interactive._parentVideo.id,\n TextHelper.slugify(interactive._parentVideo.name)\n ]\n };\n }\n\n return [ name, appLink ];\n}\n\ninterface InteractiveTitleAndActionsProps {\n interactive: InteractiveMetadata;\n location: VideoActionsLocation;\n shareId?: string;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function InteractiveTitleAndActions(props: InteractiveTitleAndActionsProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n const videoActions = useVideoActions({\n location: props.location,\n shareId: props.shareId,\n presentationSlug: null\n });\n\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n\n const isDraft = props.interactive.status === CurationStatus.Draft;\n const [ backToName, backToAppLink ] = getBackToData(props.interactive);\n \n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='d-flex justify-content-between align-items-center'>\n <div className='inline-block w-100'>\n <div className='ms-2 float-end'>\n {!hasStudentExperience &&\n <ActionsComponent\n actions={videoActions.getVideoActions(props.interactive)}\n actionsDropdownClassName='btn btn-outline-dark'\n fetchMore={() => videoActions.fetchMoreActions(props.interactive)}\n />\n }\n </div>\n\n <h1 className='h3 mb-2'>\n {isDraft && (\n <div className='badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base'>\n <Text phrase='draft' />\n </div>\n )}\n {props.interactive.name}\n {!hasStudentExperience && (\n <RestrictionPadlock\n tooltipPlacement='right'\n className='ps-1 d-inline-block'\n video={props.interactive}\n yearGroups={props.commonVideoProps.yearGroups}\n />\n )}\n </h1>\n {VideoHelper.canViewOriginalVideo(props.interactive) &&\n <div className='mb-1 me-3 clamp-1'>\n <Text phrase='viewOriginal' /> <AppLink appLink={backToAppLink} className='text-info'>{backToName}</AppLink>\n </div>\n }\n </div>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { CheckMarkStatus } from 'libs/shared/components/check-mark-button/CheckMarkButton';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, CurrentUser, InteractiveMetadata, PlayerViewKey, PresentationAudience, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\nimport { InteractiveTitleAndActions } from '../interactive-title-and-actions/InteractiveTitleAndActions';\n\ninterface PlayInteractiveProps {\n interactive: InteractiveMetadata;\n yearGroups: YearGroup[];\n currentUser: CurrentUser;\n token: AuthToken;\n config: Config;\n audiences: PresentationAudience[];\n queryParams: PlayViewQueryParams;\n viewKey: PlayerViewKey;\n startTime?: string;\n endTime?: string;\n relatedVideos: RelatedVideosHash;\n commonVideoProps: CommonVideoProps;\n\n // Share view only\n shareLink?: UnionShareObject;\n sharerInstanceRegion?: string;\n checkMarkStatus?: CheckMarkStatus;\n collectAnonResults?: boolean;\n\n publicName?: string;\n profileId?: string;\n}\n\nexport function PlayInteractive(props: PlayInteractiveProps): JSX.Element {\n const [ showHeading, setShowHeading ] = React.useState(true);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.interactive);\n\n const summaryPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n const { hasPermissions } = usePermissions();\n\n function onShowSummary(showing: boolean): void {\n setShowHeading(!showing);\n }\n\n return (\n <div className='px-3'>\n {isArchived && <ArchivedBanner typeId={props.interactive.typeId} hasStudentExperience />}\n\n <div className='mb-3'>\n <LitePlayerView\n config={props.config}\n video={props.interactive}\n currentUser={props.currentUser}\n shareLink={props.shareLink}\n viewKey={props.viewKey}\n startTime={props.startTime}\n presentationSlug={null}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n playNext={props.queryParams?.playNext}\n mode='default'\n relatedVideos={props.relatedVideos?.videos}\n onShowSummary={onShowSummary}\n summaryPortalNode={summaryPortalNode}\n token={props.token}\n collectAnonResults={props.collectAnonResults}\n />\n </div>\n\n {/* This wrapping div is here because react seems to not want to play nice\n with adding or removing a node just ahead of an OutPortal */}\n <div>\n {showHeading && (\n <InteractiveTitleAndActions\n interactive={props.interactive}\n location={VideoActionsLocation.PlayPage}\n commonVideoProps={props.commonVideoProps}\n shareId={props.shareLink?.id}\n />\n )}\n </div>\n \n <OutPortal node={summaryPortalNode}></OutPortal>\n\n {!hasPermissions(PermissionName.StudentExperience) && (\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.interactive}\n currentUser={props.currentUser}\n relatedVideos={props.relatedVideos}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareLink?.id,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ArchiveSvg } from 'libs/shared/images/svg/objects/ArchiveSvg';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveAlertBannerProps {\n isPreviewPreventScrubbingEnabled: boolean;\n isPreviewingPreventScrubbing: boolean;\n toggleStudentMode: () => void;\n isArchived: boolean;\n}\n\nexport function InteractiveAlertBanner(props: InteractiveAlertBannerProps): JSX.Element {\n return (\n <div className='alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center' role='alert'>\n {!props.isArchived ? <Text phrase='alert' /> : (\n <div className='d-flex align-items-center'>\n <SvgContainer\n svg={ArchiveSvg}\n size={SvgContainerSize.Standard}\n className='me-2 svg-container'\n />\n \n <div className='w-100'>\n <p className='fw-semibold mb-0'>{getPhrase('archivedInfoTitle')}</p>\n <p className='mb-1'>{getPhrase('archivedInfo')}</p>\n </div>\n </div>\n )}\n {props.isPreviewPreventScrubbingEnabled && (\n <Tooltip\n title={getPhrase('previewPreventScrubbingExplain')}\n trigger={[ 'hover', 'focus' ]}\n spanHack\n >\n <div className='d-flex mt-1 mt-lg-0'>\n <div className='me-2'><Text phrase='previewPreventScrubbing'/></div>\n <ToggleSwitch on={props.isPreviewingPreventScrubbing} onClick={props.toggleStudentMode} />\n </div>\n </Tooltip>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport function usePreviewPreventInteractive(\n previewPreventInteractive: boolean,\n togglePreviewPreventInteractive: () => void\n): void {\n React.useEffect(() => {\n togglePreviewPreventInteractive();\n }, [previewPreventInteractive]);\n}\n","import * as React from 'react';\nimport { OutPortal } from 'react-reverse-portal';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableText } from 'libs/shared/components/expandable-text/ExpandableText';\nimport { InteractiveWidgetItem } from 'libs/shared/components/play-page/interactives-widget/InteractiveWidgetItem';\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { CurrentUser, Interactive, InteractiveMetadata, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { CitationWidget } from 'shared/components/citations/CitationWidget';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { InteractiveAlertBanner } from 'apps/interactives/components/preview-interactive/InteractiveAlertBanner';\nimport { usePreviewPreventInteractive } from 'apps/interactives/hooks/interactiveHooks';\n\nimport { InteractiveTitleAndActions } from '../interactive-title-and-actions/InteractiveTitleAndActions';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewInteractiveProps {\n interactive: InteractiveMetadata;\n interactives: InteractiveMetadata[];\n token?: AuthToken;\n currentUser: CurrentUser;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n isPreviewPreventScrubbingEnabled: boolean;\n relatedVideos: RelatedVideosHash;\n canManageVideoAccess: boolean;\n breadcrumbs?: Breadcrumb[];\n commonVideoProps: CommonVideoProps;\n\n // Share view only\n shareId?: string;\n}\n\nexport function PreviewInteractive(props: PreviewInteractiveProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const [ isPreviewingPreventScrubbing, setIsPreviewingPreventScrubbing ] = React.useState(false);\n\n const { canConsume } = VideoHelper.getCanBeConsumed(props.interactive);\n\n usePreviewPreventInteractive(isPreviewingPreventScrubbing, togglePreviewPreventScrubbing);\n\n function togglePreviewPreventScrubbing() {\n playerContext.playerRef?.current?.togglePreviewPreventScrubbing?.();\n }\n\n function toggleStudentMode() {\n setIsPreviewingPreventScrubbing(!isPreviewingPreventScrubbing);\n }\n \n const otherInteractives: InteractiveMetadata[] = props.interactives?.filter(i => {\n return i.id.toString() !== props.interactive.id.toString();\n });\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='px-4'>\n {!!props.breadcrumbs?.length &&\n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n }\n\n <RestrictionBanner\n restrictions={props.interactive._restrictions}\n yearGroups={props.commonVideoProps.yearGroups}\n objectId={props.interactive.id}\n objectTypeId={MasterType.Interactive}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n <InteractiveAlertBanner\n isPreviewPreventScrubbingEnabled={props.isPreviewPreventScrubbingEnabled}\n isPreviewingPreventScrubbing={isPreviewingPreventScrubbing}\n toggleStudentMode={toggleStudentMode}\n isArchived={VideoHelper.isVideoTypeArchived(props.interactive)}\n />\n\n <div className='mb-3'>\n {canConsume && (\n <GlobalPlayerConsumer\n key={props.interactive.id}\n objectId={props.interactive.id}\n objectTypeId={props.interactive.typeId}\n shareId={props.shareId}\n startTime={props.queryParams.t ?? props.queryParams.startTime}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n playNext={props.queryParams?.playNext}\n mode='default'\n location='play-page'\n token={props.token}\n />\n )}\n </div>\n \n <InteractiveTitleAndActions\n interactive={props.interactive}\n location={VideoActionsLocation.PlayPage}\n shareId={props.shareId}\n commonVideoProps={props.commonVideoProps}\n />\n\n {props.interactive.description && (\n <ExpandableText lines={5}>\n {() => <p className='mb-0 d-inline'>{props.interactive.description}</p>}\n </ExpandableText>\n )}\n\n <div className='mb-3'>\n <OutPortal node={playerContext.questionListPortalNode}></OutPortal>\n </div>\n\n {!!otherInteractives?.length && (\n <div className='pb-3'>\n \n <FixedWidget\n name={getPhrase('otherInteractives', { count: otherInteractives.length })}\n contents={WidgetContents.Interactives}\n collection={otherInteractives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n commonVideoProps: props.commonVideoProps\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!VideoHelper.isUgc(props.interactive) && (\n <CitationWidget\n media={props.interactive}\n parentVideo={props.interactive._parentClip || props.interactive._parentVideo}\n contentRegion={props.currentUser.contentRegion}\n shareId={props.shareId}\n presentationSlug={null}\n />\n )}\n\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.interactive}\n currentUser={props.currentUser}\n audiences={props.audiences}\n relatedVideos={props.relatedVideos}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"0mx04bmJ2.chunk.js","names":[],"sources":["../../src/shared/hooks/useShouldPreviewInteractive.ts","../../src/apps/interactives/components/interactive-title-and-actions/InteractiveTitleAndActions.tsx","../../src/apps/interactives/components/play-interactive/PlayInteractive.tsx","../../src/apps/interactives/components/preview-interactive/InteractiveAlertBanner.tsx","../../src/apps/interactives/hooks/interactiveHooks.tsx","../../src/apps/interactives/components/preview-interactive/PreviewInteractive.tsx"],"sourcesContent":["import { Flight } from 'libs/common/flight';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { CurrentUser, UnionShareObject } from 'libs/shared/interfaces';\n\nexport function useShouldPreviewInteractive(shareLink?: UnionShareObject) {\n const { hasPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n return !hasPermissions(PermissionName.StudentExperience) &&\n hasProduct(ProductId.Primary) &&\n currentUser.data.isAuthenticated &&\n (!shareLink || shareLink.version === 'v1'); // Previewing shares is not supported for Share 2.0 links\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { RestrictionPadlock } from 'libs/shared/components/video-list/components/restriction-padlock/RestrictionPadlock';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\n\nconst namespace = 'interactives.interactiveTitleAndActions';\n\nfunction getBackToData(interactive: InteractiveMetadata): [name: string, appLink: Core.AppLink] {\n let name: string;\n let appLink: Core.AppLink;\n \n if (interactive._parentClip) {\n name = interactive._parentClip.name;\n appLink = {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ interactive._parentClip.id, TextHelper.slugify(interactive._parentClip.name) ]\n };\n } else {\n name = interactive._parentVideo.name;\n appLink = {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [\n null,\n interactive._parentVideo.id,\n TextHelper.slugify(interactive._parentVideo.name)\n ]\n };\n }\n\n return [ name, appLink ];\n}\n\ninterface InteractiveTitleAndActionsProps {\n interactive: InteractiveMetadata;\n location: VideoActionsLocation;\n shareId?: string;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function InteractiveTitleAndActions(props: InteractiveTitleAndActionsProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n const videoActions = useVideoActions({\n location: props.location,\n shareId: props.shareId,\n presentationSlug: null\n });\n\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n\n const isDraft = props.interactive.status === CurationStatus.Draft;\n const [ backToName, backToAppLink ] = getBackToData(props.interactive);\n \n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='d-flex justify-content-between align-items-center'>\n <div className='inline-block w-100'>\n <div className='ms-2 float-end'>\n {!hasStudentExperience &&\n <ActionsComponent\n actions={videoActions.getVideoActions(props.interactive)}\n actionsDropdownClassName='btn btn-outline-dark'\n fetchMore={() => videoActions.fetchMoreActions(props.interactive)}\n />\n }\n </div>\n\n <h1 className='h3 mb-2'>\n {isDraft && (\n <div className='badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base'>\n <Text phrase='draft' />\n </div>\n )}\n {props.interactive.name}\n {!hasStudentExperience && (\n <RestrictionPadlock\n tooltipPlacement='right'\n className='ps-1 d-inline-block'\n video={props.interactive}\n yearGroups={props.commonVideoProps.yearGroups}\n />\n )}\n </h1>\n {VideoHelper.canViewOriginalVideo(props.interactive) &&\n <div className='mb-1 me-3 clamp-1'>\n <Text phrase='viewOriginal' /> <AppLink appLink={backToAppLink} className='text-info'>{backToName}</AppLink>\n </div>\n }\n </div>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { CheckMarkStatus } from 'libs/shared/components/check-mark-button/CheckMarkButton';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, CurrentUser, InteractiveMetadata, PlayerViewKey, PresentationAudience, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\nimport { InteractiveTitleAndActions } from '../interactive-title-and-actions/InteractiveTitleAndActions';\n\ninterface PlayInteractiveProps {\n interactive: InteractiveMetadata;\n yearGroups: YearGroup[];\n currentUser: CurrentUser;\n token: AuthToken;\n config: Config;\n audiences: PresentationAudience[];\n queryParams: PlayViewQueryParams;\n viewKey: PlayerViewKey;\n startTime?: string;\n endTime?: string;\n relatedVideos: RelatedVideosHash;\n commonVideoProps: CommonVideoProps;\n\n // Share view only\n shareLink?: UnionShareObject;\n sharerInstanceRegion?: string;\n checkMarkStatus?: CheckMarkStatus;\n collectAnonResults?: boolean;\n\n publicName?: string;\n profileId?: string;\n}\n\nexport function PlayInteractive(props: PlayInteractiveProps): JSX.Element {\n const [ showHeading, setShowHeading ] = React.useState(true);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.interactive);\n\n const summaryPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n const { hasPermissions } = usePermissions();\n\n function onShowSummary(showing: boolean): void {\n setShowHeading(!showing);\n }\n\n return (\n <div className='px-3'>\n {isArchived && <ArchivedBanner typeId={props.interactive.typeId} hasStudentExperience />}\n\n <div className='mb-3'>\n <LitePlayerView\n config={props.config}\n video={props.interactive}\n currentUser={props.currentUser}\n shareLink={props.shareLink}\n viewKey={props.viewKey}\n startTime={props.startTime}\n presentationSlug={null}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n playNext={props.queryParams?.playNext}\n mode='default'\n relatedVideos={props.relatedVideos?.videos}\n onShowSummary={onShowSummary}\n summaryPortalNode={summaryPortalNode}\n token={props.token}\n collectAnonResults={props.collectAnonResults}\n />\n </div>\n\n {/* This wrapping div is here because react seems to not want to play nice\n with adding or removing a node just ahead of an OutPortal */}\n <div>\n {showHeading && (\n <InteractiveTitleAndActions\n interactive={props.interactive}\n location={VideoActionsLocation.PlayPage}\n commonVideoProps={props.commonVideoProps}\n shareId={props.shareLink?.id}\n />\n )}\n </div>\n \n <OutPortal node={summaryPortalNode}></OutPortal>\n\n {!hasPermissions(PermissionName.StudentExperience) && (\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.interactive}\n currentUser={props.currentUser}\n relatedVideos={props.relatedVideos}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareLink?.id,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ArchiveSvg } from 'libs/shared/images/svg/objects/ArchiveSvg';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveAlertBannerProps {\n isPreviewPreventScrubbingEnabled: boolean;\n isPreviewingPreventScrubbing: boolean;\n toggleStudentMode: () => void;\n isArchived: boolean;\n}\n\nexport function InteractiveAlertBanner(props: InteractiveAlertBannerProps): JSX.Element {\n return (\n <div className='alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center' role='alert'>\n {!props.isArchived ? <Text phrase='alert' /> : (\n <div className='d-flex align-items-center'>\n <SvgContainer\n svg={ArchiveSvg}\n size={SvgContainerSize.Standard}\n className='me-2 svg-container'\n />\n \n <div className='w-100'>\n <p className='fw-semibold mb-0'>{getPhrase('archivedInfoTitle')}</p>\n <p className='mb-1'>{getPhrase('archivedInfo')}</p>\n </div>\n </div>\n )}\n {props.isPreviewPreventScrubbingEnabled && (\n <Tooltip\n title={getPhrase('previewPreventScrubbingExplain')}\n trigger={[ 'hover', 'focus' ]}\n spanHack\n >\n <div className='d-flex mt-1 mt-lg-0'>\n <div className='me-2'><Text phrase='previewPreventScrubbing'/></div>\n <ToggleSwitch on={props.isPreviewingPreventScrubbing} onClick={props.toggleStudentMode} />\n </div>\n </Tooltip>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nexport function usePreviewPreventInteractive(\n previewPreventInteractive: boolean,\n togglePreviewPreventInteractive: () => void\n): void {\n React.useEffect(() => {\n togglePreviewPreventInteractive();\n }, [previewPreventInteractive]);\n}\n","import * as React from 'react';\nimport { OutPortal } from 'react-reverse-portal';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableText } from 'libs/shared/components/expandable-text/ExpandableText';\nimport { InteractiveWidgetItem } from 'libs/shared/components/play-page/interactives-widget/InteractiveWidgetItem';\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { CurrentUser, Interactive, InteractiveMetadata, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { CitationWidget } from 'shared/components/citations/CitationWidget';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { InteractiveAlertBanner } from 'apps/interactives/components/preview-interactive/InteractiveAlertBanner';\nimport { usePreviewPreventInteractive } from 'apps/interactives/hooks/interactiveHooks';\n\nimport { InteractiveTitleAndActions } from '../interactive-title-and-actions/InteractiveTitleAndActions';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewInteractiveProps {\n interactive: InteractiveMetadata;\n interactives: InteractiveMetadata[];\n token?: AuthToken;\n currentUser: CurrentUser;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n isPreviewPreventScrubbingEnabled: boolean;\n relatedVideos: RelatedVideosHash;\n canManageVideoAccess: boolean;\n breadcrumbs?: Breadcrumb[];\n commonVideoProps: CommonVideoProps;\n\n // Share view only\n shareId?: string;\n}\n\nexport function PreviewInteractive(props: PreviewInteractiveProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const [ isPreviewingPreventScrubbing, setIsPreviewingPreventScrubbing ] = React.useState(false);\n\n const { canConsume } = VideoHelper.getCanBeConsumed(props.interactive);\n\n usePreviewPreventInteractive(isPreviewingPreventScrubbing, togglePreviewPreventScrubbing);\n\n function togglePreviewPreventScrubbing() {\n playerContext.playerRef?.current?.togglePreviewPreventScrubbing?.();\n }\n\n function toggleStudentMode() {\n setIsPreviewingPreventScrubbing(!isPreviewingPreventScrubbing);\n }\n \n const otherInteractives: InteractiveMetadata[] = props.interactives?.filter(i => {\n return i.id.toString() !== props.interactive.id.toString();\n });\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='px-4'>\n {!!props.breadcrumbs?.length &&\n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n }\n\n <RestrictionBanner\n restrictions={props.interactive._restrictions}\n yearGroups={props.commonVideoProps.yearGroups}\n objectId={props.interactive.id}\n objectTypeId={MasterType.Interactive}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n <InteractiveAlertBanner\n isPreviewPreventScrubbingEnabled={props.isPreviewPreventScrubbingEnabled}\n isPreviewingPreventScrubbing={isPreviewingPreventScrubbing}\n toggleStudentMode={toggleStudentMode}\n isArchived={VideoHelper.isVideoTypeArchived(props.interactive)}\n />\n\n <div className='mb-3'>\n {canConsume && (\n <GlobalPlayerConsumer\n key={props.interactive.id}\n objectId={props.interactive.id}\n objectTypeId={props.interactive.typeId}\n shareId={props.shareId}\n startTime={props.queryParams.t ?? props.queryParams.startTime}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n playNext={props.queryParams?.playNext}\n mode='default'\n location='play-page'\n token={props.token}\n />\n )}\n </div>\n \n <InteractiveTitleAndActions\n interactive={props.interactive}\n location={VideoActionsLocation.PlayPage}\n shareId={props.shareId}\n commonVideoProps={props.commonVideoProps}\n />\n\n {props.interactive.description && (\n <ExpandableText lines={5}>\n {() => <p className='mb-0 d-inline'>{props.interactive.description}</p>}\n </ExpandableText>\n )}\n\n <div className='mb-3'>\n <OutPortal node={playerContext.questionListPortalNode}></OutPortal>\n </div>\n\n {!!otherInteractives?.length && (\n <div className='pb-3'>\n \n <FixedWidget\n name={getPhrase('otherInteractives', { count: otherInteractives.length })}\n contents={WidgetContents.Interactives}\n collection={otherInteractives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n commonVideoProps: props.commonVideoProps\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!VideoHelper.isUgc(props.interactive) && (\n <CitationWidget\n media={props.interactive}\n parentVideo={props.interactive._parentClip || props.interactive._parentVideo}\n contentRegion={props.currentUser.contentRegion}\n shareId={props.shareId}\n presentationSlug={null}\n />\n )}\n\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.interactive}\n currentUser={props.currentUser}\n audiences={props.audiences}\n relatedVideos={props.relatedVideos}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
|