@clickview/exchange 0.53.0 → 0.54.0-rc.1
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 +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{C5MXXDzO.chunk.js → 3p7H0gvQ.chunk.js} +2 -2
- package/dist/scripts/{C5MXXDzO.chunk.js.map → 3p7H0gvQ.chunk.js.map} +1 -1
- package/dist/scripts/{DHlQlWkE.chunk.js → 5ByQDT1-.chunk.js} +2 -2
- package/dist/scripts/{DHlQlWkE.chunk.js.map → 5ByQDT1-.chunk.js.map} +1 -1
- package/dist/scripts/{CmIyH6d9.chunk.js → 6l9cOw3t.chunk.js} +2 -2
- package/dist/scripts/{CmIyH6d9.chunk.js.map → 6l9cOw3t.chunk.js.map} +1 -1
- package/dist/scripts/{Io7g60l1.chunk.js → 7lkv4JAy.chunk.js} +2 -2
- package/dist/scripts/{Io7g60l1.chunk.js.map → 7lkv4JAy.chunk.js.map} +1 -1
- package/dist/scripts/{B_ipiOyh.chunk.js → 93J3-8mL.chunk.js} +2 -2
- package/dist/scripts/{B_ipiOyh.chunk.js.map → 93J3-8mL.chunk.js.map} +1 -1
- package/dist/scripts/B-G9zwnF.chunk.js +2 -0
- package/dist/scripts/{Br8_3pQR.chunk.js.map → B-G9zwnF.chunk.js.map} +1 -1
- package/dist/scripts/{Bxof9qR3.chunk.js → B4FX3xP5.chunk.js} +2 -2
- package/dist/scripts/{Bxof9qR3.chunk.js.map → B4FX3xP5.chunk.js.map} +1 -1
- package/dist/scripts/{L5XMY5e5.chunk.js → BHWn8YVt.chunk.js} +2 -2
- package/dist/scripts/{L5XMY5e5.chunk.js.map → BHWn8YVt.chunk.js.map} +1 -1
- package/dist/scripts/{D62fgP9E.chunk.js → BK9ulFu0.chunk.js} +2 -2
- package/dist/scripts/{D62fgP9E.chunk.js.map → BK9ulFu0.chunk.js.map} +1 -1
- package/dist/scripts/{N0_8Eite.chunk.js → BKH_tbrl.chunk.js} +2 -2
- package/dist/scripts/{N0_8Eite.chunk.js.map → BKH_tbrl.chunk.js.map} +1 -1
- package/dist/scripts/{BpAshDEq.chunk.js → BKW_er5d.chunk.js} +2 -2
- package/dist/scripts/{BpAshDEq.chunk.js.map → BKW_er5d.chunk.js.map} +1 -1
- package/dist/scripts/{DJrX_udN.chunk.js → BTmuEvA1.chunk.js} +2 -2
- package/dist/scripts/{DJrX_udN.chunk.js.map → BTmuEvA1.chunk.js.map} +1 -1
- package/dist/scripts/{CRi1yEnr.chunk.js → B_bHiwz7.chunk.js} +2 -2
- package/dist/scripts/{CRi1yEnr.chunk.js.map → B_bHiwz7.chunk.js.map} +1 -1
- package/dist/scripts/{Bi7c3pdT.chunk.js → BbaZrg_N.chunk.js} +2 -2
- package/dist/scripts/{Bi7c3pdT.chunk.js.map → BbaZrg_N.chunk.js.map} +1 -1
- package/dist/scripts/{DuUYsdgx.chunk.js → BbohTQPm.chunk.js} +2 -2
- package/dist/scripts/{DuUYsdgx.chunk.js.map → BbohTQPm.chunk.js.map} +1 -1
- package/dist/scripts/{BYbvldmA.chunk.js → BdL19u9I.chunk.js} +2 -2
- package/dist/scripts/{BYbvldmA.chunk.js.map → BdL19u9I.chunk.js.map} +1 -1
- package/dist/scripts/{BJeXgaQK.chunk.js → BfCjbmaf.chunk.js} +2 -2
- package/dist/scripts/{BJeXgaQK.chunk.js.map → BfCjbmaf.chunk.js.map} +1 -1
- package/dist/scripts/{sqBAxDOa.chunk.js → BleBgM7I.chunk.js} +2 -2
- package/dist/scripts/{sqBAxDOa.chunk.js.map → BleBgM7I.chunk.js.map} +1 -1
- package/dist/scripts/{DTQrc2Wc.chunk.js → BmyE3_K4.chunk.js} +2 -2
- package/dist/scripts/{DTQrc2Wc.chunk.js.map → BmyE3_K4.chunk.js.map} +1 -1
- package/dist/scripts/{DsEwMbUK.chunk.js → BnvcPzwH.chunk.js} +2 -2
- package/dist/scripts/{DsEwMbUK.chunk.js.map → BnvcPzwH.chunk.js.map} +1 -1
- package/dist/scripts/{teFtDXco.chunk.js → BoQXuoHX.chunk.js} +2 -2
- package/dist/scripts/{teFtDXco.chunk.js.map → BoQXuoHX.chunk.js.map} +1 -1
- package/dist/scripts/{Bl-wWq3F.chunk.js → BqoMOt8Y.chunk.js} +3 -3
- package/dist/scripts/{Bl-wWq3F.chunk.js.map → BqoMOt8Y.chunk.js.map} +1 -1
- package/dist/scripts/{B60atIyl.chunk.js → BrP4vSsu.chunk.js} +2 -2
- package/dist/scripts/{B60atIyl.chunk.js.map → BrP4vSsu.chunk.js.map} +1 -1
- package/dist/scripts/{v_B4I3Qe.chunk.js → Bt9y2zOZ.chunk.js} +2 -2
- package/dist/scripts/{v_B4I3Qe.chunk.js.map → Bt9y2zOZ.chunk.js.map} +1 -1
- package/dist/scripts/{DezZNCrr.chunk.js → BxdL5iWy.chunk.js} +2 -2
- package/dist/scripts/{DezZNCrr.chunk.js.map → BxdL5iWy.chunk.js.map} +1 -1
- package/dist/scripts/{BhjoIeom.chunk.js → C0NZHivG.chunk.js} +2 -2
- package/dist/scripts/{BhjoIeom.chunk.js.map → C0NZHivG.chunk.js.map} +1 -1
- package/dist/scripts/{D4IS2gly.chunk.js → C1kgPMMN.chunk.js} +2 -2
- package/dist/scripts/{D4IS2gly.chunk.js.map → C1kgPMMN.chunk.js.map} +1 -1
- package/dist/scripts/C91K9PPq.chunk.js +2 -0
- package/dist/scripts/{Bho9orFk.chunk.js.map → C91K9PPq.chunk.js.map} +1 -1
- package/dist/scripts/{CqXGUZGd.chunk.js → CAyi887v.chunk.js} +2 -2
- package/dist/scripts/{CqXGUZGd.chunk.js.map → CAyi887v.chunk.js.map} +1 -1
- package/dist/scripts/{DGcpkvpe.chunk.js → CGX6eFbY.chunk.js} +2 -2
- package/dist/scripts/{DGcpkvpe.chunk.js.map → CGX6eFbY.chunk.js.map} +1 -1
- package/dist/scripts/{DwEB5UWK.chunk.js → CHpXkcxQ.chunk.js} +2 -2
- package/dist/scripts/{DwEB5UWK.chunk.js.map → CHpXkcxQ.chunk.js.map} +1 -1
- package/dist/scripts/{DSUbR6Ld.chunk.js → CMj2Dmby.chunk.js} +2 -2
- package/dist/scripts/{DSUbR6Ld.chunk.js.map → CMj2Dmby.chunk.js.map} +1 -1
- package/dist/scripts/{BwCUdl81.chunk.js → CT3nXP53.chunk.js} +2 -2
- package/dist/scripts/{BwCUdl81.chunk.js.map → CT3nXP53.chunk.js.map} +1 -1
- package/dist/scripts/CTzmwEsw.chunk.js +2 -0
- package/dist/scripts/{DKP8OSLt.chunk.js.map → CTzmwEsw.chunk.js.map} +1 -1
- package/dist/scripts/{CJD2tQAP.chunk.js → CULZfUaZ.chunk.js} +2 -2
- package/dist/scripts/{CJD2tQAP.chunk.js.map → CULZfUaZ.chunk.js.map} +1 -1
- package/dist/scripts/{gnYc5RVO.chunk.js → CV6CnfYv.chunk.js} +2 -2
- package/dist/scripts/{gnYc5RVO.chunk.js.map → CV6CnfYv.chunk.js.map} +1 -1
- package/dist/scripts/{CvlJsC2N.chunk.js → CYfvsHXQ.chunk.js} +2 -2
- package/dist/scripts/{CvlJsC2N.chunk.js.map → CYfvsHXQ.chunk.js.map} +1 -1
- package/dist/scripts/{DPihVRin.chunk.js → C_fk1RUS.chunk.js} +2 -2
- package/dist/scripts/{DPihVRin.chunk.js.map → C_fk1RUS.chunk.js.map} +1 -1
- package/dist/scripts/{sBvSQI9I.chunk.js → CaIgKHOr.chunk.js} +2 -2
- package/dist/scripts/{sBvSQI9I.chunk.js.map → CaIgKHOr.chunk.js.map} +1 -1
- package/dist/scripts/CbCMFfCI.chunk.js +2 -0
- package/dist/scripts/{CdmZcJJE.chunk.js.map → CbCMFfCI.chunk.js.map} +1 -1
- package/dist/scripts/{D32zb_D4.chunk.js → CcSB7UTP.chunk.js} +2 -2
- package/dist/scripts/{D32zb_D4.chunk.js.map → CcSB7UTP.chunk.js.map} +1 -1
- package/dist/scripts/{B0xEoBKV.chunk.js → CchQJ0bB.chunk.js} +2 -2
- package/dist/scripts/{B0xEoBKV.chunk.js.map → CchQJ0bB.chunk.js.map} +1 -1
- package/dist/scripts/{CtBCUmkx.chunk.js → Cgwp6X1t.chunk.js} +2 -2
- package/dist/scripts/{CtBCUmkx.chunk.js.map → Cgwp6X1t.chunk.js.map} +1 -1
- package/dist/scripts/{B-mi70jm.chunk.js → ClAaEXHP.chunk.js} +2 -2
- package/dist/scripts/{B-mi70jm.chunk.js.map → ClAaEXHP.chunk.js.map} +1 -1
- package/dist/scripts/{Rwi7StPz.chunk.js → CnzDEHv2.chunk.js} +2 -2
- package/dist/scripts/{Rwi7StPz.chunk.js.map → CnzDEHv2.chunk.js.map} +1 -1
- package/dist/scripts/{CY2gzjHY.chunk.js → CscOcin4.chunk.js} +2 -2
- package/dist/scripts/{CY2gzjHY.chunk.js.map → CscOcin4.chunk.js.map} +1 -1
- package/dist/scripts/Cwzb4spR.chunk.js +2 -0
- package/dist/scripts/{B4WSuL_R.chunk.js.map → Cwzb4spR.chunk.js.map} +1 -1
- package/dist/scripts/CxLYcmgR.chunk.js +2 -0
- package/dist/scripts/{DHkkcZFt.chunk.js.map → CxLYcmgR.chunk.js.map} +1 -1
- package/dist/scripts/{D6KwovjJ.chunk.js → Cy92D8Lb.chunk.js} +2 -2
- package/dist/scripts/{D6KwovjJ.chunk.js.map → Cy92D8Lb.chunk.js.map} +1 -1
- package/dist/scripts/{CakiFvV4.chunk.js → CzNn-mUf.chunk.js} +2 -2
- package/dist/scripts/{CakiFvV4.chunk.js.map → CzNn-mUf.chunk.js.map} +1 -1
- package/dist/scripts/{PK8MTnH4.chunk.js → Czl7iRHm.chunk.js} +2 -2
- package/dist/scripts/{PK8MTnH4.chunk.js.map → Czl7iRHm.chunk.js.map} +1 -1
- package/dist/scripts/{BtCxZZ5N.chunk.js → CzqPSItp.chunk.js} +2 -2
- package/dist/scripts/{BtCxZZ5N.chunk.js.map → CzqPSItp.chunk.js.map} +1 -1
- package/dist/scripts/{BZiMjWc1.chunk.js → D2jBhAzv.chunk.js} +2 -2
- package/dist/scripts/{BZiMjWc1.chunk.js.map → D2jBhAzv.chunk.js.map} +1 -1
- package/dist/scripts/D8jAI_Ek.chunk.js +2 -0
- package/dist/scripts/{C_AwqPr_.chunk.js.map → D8jAI_Ek.chunk.js.map} +1 -1
- package/dist/scripts/{CdVUBGIW.chunk.js → D95xJRk5.chunk.js} +2 -2
- package/dist/scripts/{CdVUBGIW.chunk.js.map → D95xJRk5.chunk.js.map} +1 -1
- package/dist/scripts/{C4nvmLjJ.chunk.js → DAW5h9CH.chunk.js} +2 -2
- package/dist/scripts/{C4nvmLjJ.chunk.js.map → DAW5h9CH.chunk.js.map} +1 -1
- package/dist/scripts/{CUOLims3.chunk.js → DBWX5oZo.chunk.js} +2 -2
- package/dist/scripts/{CUOLims3.chunk.js.map → DBWX5oZo.chunk.js.map} +1 -1
- package/dist/scripts/{B-tbSNDR.chunk.js → DCOk8mmz.chunk.js} +2 -2
- package/dist/scripts/{B-tbSNDR.chunk.js.map → DCOk8mmz.chunk.js.map} +1 -1
- package/dist/scripts/{WTzdZQUn.chunk.js → DEZ5JWtx.chunk.js} +2 -2
- package/dist/scripts/{WTzdZQUn.chunk.js.map → DEZ5JWtx.chunk.js.map} +1 -1
- package/dist/scripts/{BCqWrOur.chunk.js → DFFkmwaG.chunk.js} +2 -2
- package/dist/scripts/{BCqWrOur.chunk.js.map → DFFkmwaG.chunk.js.map} +1 -1
- package/dist/scripts/{Cpe75H8y.chunk.js → DIJA3mI8.chunk.js} +2 -2
- package/dist/scripts/{Cpe75H8y.chunk.js.map → DIJA3mI8.chunk.js.map} +1 -1
- package/dist/scripts/{CSKX6jCV.chunk.js → DIhqiSK4.chunk.js} +2 -2
- package/dist/scripts/{CSKX6jCV.chunk.js.map → DIhqiSK4.chunk.js.map} +1 -1
- package/dist/scripts/{BdbdAFu1.chunk.js → DJ39Hzbn.chunk.js} +2 -2
- package/dist/scripts/{BdbdAFu1.chunk.js.map → DJ39Hzbn.chunk.js.map} +1 -1
- package/dist/scripts/{dSRpz5ai.chunk.js → DOQJE0cg.chunk.js} +2 -2
- package/dist/scripts/{dSRpz5ai.chunk.js.map → DOQJE0cg.chunk.js.map} +1 -1
- package/dist/scripts/{BrVFMC8Z.chunk.js → DQg1Dj8E.chunk.js} +2 -2
- package/dist/scripts/{BrVFMC8Z.chunk.js.map → DQg1Dj8E.chunk.js.map} +1 -1
- package/dist/scripts/{CwrB0rxp.chunk.js → DRc8A97v.chunk.js} +2 -2
- package/dist/scripts/{CwrB0rxp.chunk.js.map → DRc8A97v.chunk.js.map} +1 -1
- package/dist/scripts/{CI-iVFxS.chunk.js → DUBSwsOf.chunk.js} +2 -2
- package/dist/scripts/{CI-iVFxS.chunk.js.map → DUBSwsOf.chunk.js.map} +1 -1
- package/dist/scripts/{C8mmLu5P.chunk.js → DUFybd9u.chunk.js} +2 -2
- package/dist/scripts/{C8mmLu5P.chunk.js.map → DUFybd9u.chunk.js.map} +1 -1
- package/dist/scripts/{wfZZ1M4z.chunk.js → D_9SXbnM.chunk.js} +2 -2
- package/dist/scripts/{wfZZ1M4z.chunk.js.map → D_9SXbnM.chunk.js.map} +1 -1
- package/dist/scripts/{Cse_a4SB.chunk.js → D_kvjdKl.chunk.js} +2 -2
- package/dist/scripts/{Cse_a4SB.chunk.js.map → D_kvjdKl.chunk.js.map} +1 -1
- package/dist/scripts/{CBjqJQeP.chunk.js → DbgvA5KJ.chunk.js} +2 -2
- package/dist/scripts/{CBjqJQeP.chunk.js.map → DbgvA5KJ.chunk.js.map} +1 -1
- package/dist/scripts/{Kl0OBl_7.chunk.js → DdUlFOnn.chunk.js} +2 -2
- package/dist/scripts/{Kl0OBl_7.chunk.js.map → DdUlFOnn.chunk.js.map} +1 -1
- package/dist/scripts/{DdGmmqcK.chunk.js → DeVpvwTX.chunk.js} +2 -2
- package/dist/scripts/{DdGmmqcK.chunk.js.map → DeVpvwTX.chunk.js.map} +1 -1
- package/dist/scripts/{CR6eQFf-.chunk.js → DkQhz2hz.chunk.js} +2 -2
- package/dist/scripts/{CR6eQFf-.chunk.js.map → DkQhz2hz.chunk.js.map} +1 -1
- package/dist/scripts/{RBxC7AKW.chunk.js → DoZ68JIg.chunk.js} +2 -2
- package/dist/scripts/{RBxC7AKW.chunk.js.map → DoZ68JIg.chunk.js.map} +1 -1
- package/dist/scripts/{a1BWyh3I.chunk.js → DrI5M20i.chunk.js} +2 -2
- package/dist/scripts/{a1BWyh3I.chunk.js.map → DrI5M20i.chunk.js.map} +1 -1
- package/dist/scripts/{C8wzS3f9.chunk.js → H2CWtcR2.chunk.js} +2 -2
- package/dist/scripts/{C8wzS3f9.chunk.js.map → H2CWtcR2.chunk.js.map} +1 -1
- package/dist/scripts/{BtXeOaIU.chunk.js → KyeUwNqe.chunk.js} +2 -2
- package/dist/scripts/{BtXeOaIU.chunk.js.map → KyeUwNqe.chunk.js.map} +1 -1
- package/dist/scripts/{Cb27J2-B.chunk.js → NW9aioPN.chunk.js} +2 -2
- package/dist/scripts/{Cb27J2-B.chunk.js.map → NW9aioPN.chunk.js.map} +1 -1
- package/dist/scripts/{BkHazlQk.chunk.js → RHgtNm7d.chunk.js} +2 -2
- package/dist/scripts/{BkHazlQk.chunk.js.map → RHgtNm7d.chunk.js.map} +1 -1
- package/dist/scripts/{DBukvchw.chunk.js → ScSsUu0E.chunk.js} +2 -2
- package/dist/scripts/{DBukvchw.chunk.js.map → ScSsUu0E.chunk.js.map} +1 -1
- package/dist/scripts/{fkoL2rxf.chunk.js → _fLBII8b.chunk.js} +2 -2
- package/dist/scripts/{fkoL2rxf.chunk.js.map → _fLBII8b.chunk.js.map} +1 -1
- package/dist/scripts/{mrKudPlz.chunk.js → acyjqpWT.chunk.js} +2 -2
- package/dist/scripts/{mrKudPlz.chunk.js.map → acyjqpWT.chunk.js.map} +1 -1
- package/dist/scripts/{app-YVcc0mcr.js → app-Bul9pf1E.js} +3 -3
- package/dist/scripts/{app-YVcc0mcr.js.map → app-Bul9pf1E.js.map} +1 -1
- package/dist/scripts/bZClEVFZ.chunk.js +2 -0
- package/dist/scripts/{CJuVEV64.chunk.js.map → bZClEVFZ.chunk.js.map} +1 -1
- package/dist/scripts/{D80MqhUE.chunk.js → eEKJN8PV.chunk.js} +2 -2
- package/dist/scripts/{D80MqhUE.chunk.js.map → eEKJN8PV.chunk.js.map} +1 -1
- package/dist/scripts/{BttaqS1Q.chunk.js → eyydBP-d.chunk.js} +2 -2
- package/dist/scripts/{BttaqS1Q.chunk.js.map → eyydBP-d.chunk.js.map} +1 -1
- package/dist/scripts/{Bb6yXi56.chunk.js → jjFFDHVU.chunk.js} +2 -2
- package/dist/scripts/{Bb6yXi56.chunk.js.map → jjFFDHVU.chunk.js.map} +1 -1
- package/dist/scripts/{CIYnyMM7.chunk.js → lOUlfXTx.chunk.js} +2 -2
- package/dist/scripts/{CIYnyMM7.chunk.js.map → lOUlfXTx.chunk.js.map} +1 -1
- package/dist/scripts/{Cpbdo5JA.chunk.js → pkFWVIR-.chunk.js} +2 -2
- package/dist/scripts/{Cpbdo5JA.chunk.js.map → pkFWVIR-.chunk.js.map} +1 -1
- package/dist/scripts/{DCKHN9x6.chunk.js → xlg4tfc3.chunk.js} +2 -2
- package/dist/scripts/{DCKHN9x6.chunk.js.map → xlg4tfc3.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B4WSuL_R.chunk.js +0 -2
- package/dist/scripts/Bho9orFk.chunk.js +0 -2
- package/dist/scripts/Br8_3pQR.chunk.js +0 -2
- package/dist/scripts/CJuVEV64.chunk.js +0 -2
- package/dist/scripts/C_AwqPr_.chunk.js +0 -2
- package/dist/scripts/CdmZcJJE.chunk.js +0 -2
- package/dist/scripts/DHkkcZFt.chunk.js +0 -2
- package/dist/scripts/DKP8OSLt.chunk.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as t,aB as m}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as t,aB as m}from"./app-Bul9pf1E.js";import{t as i}from"./D95xJRk5.chunk.js";const n="_programTimeBadge_2h19o_1",l="_small_2h19o_5",g="_hover_2h19o_8",a={programTimeBadge:n,small:l,hover:g};function c(e){const o=e.program.timeZone||e.program.region.timeZone,r=i(e.program.startTime,o),s=i(e.program.stopTime,o);return t.jsx("div",{className:`${a.programTimeBadge} ${e.small?`${a.small} align-items-end`:"align-items-center"} ${e.hover?a.hover:""} ${e.className||""} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`,children:t.jsxs("span",{children:[e.showDate&&`${m.format(r,"D MMM")} @ `,m.format(r,"hh:mma"),e.showEndTime&&` - ${m.format(s,"hh:mma")}`]})})}export{c as T};
|
|
2
|
+
//# sourceMappingURL=DeVpvwTX.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DeVpvwTX.chunk.js","sources":["../../src/apps/tv/components/tv-program-time-badge/TvProgramTimeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-program-time-badge.module.scss';\n\ninterface TvProgramTimeBadgeProps {\n program: TvProgram;\n small?: boolean;\n showEndTime?: boolean;\n showDate?: boolean;\n hover?: boolean;\n className?: string;\n}\n\nexport function TvProgramTimeBadge(props: TvProgramTimeBadgeProps) {\n const timeZone = props.program.timeZone || props.program.region.timeZone;\n const startTime = toLocalTime(props.program.startTime, timeZone);\n const stopTime = toLocalTime(props.program.stopTime, timeZone);\n\n return (\n <div className={`${styles.programTimeBadge} ${props.small ? `${styles.small} align-items-end` : 'align-items-center'} ${props.hover ? styles.hover : ''} ${props.className || ''} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`}>\n <span>\n {props.showDate && `${DateHelper.format(startTime, 'D MMM')} @ `}\n {DateHelper.format(startTime, 'hh:mma')}\n {props.showEndTime && ` - ${DateHelper.format(stopTime, 'hh:mma')}`}\n </span>\n </div>\n );\n}"],"names":["TvProgramTimeBadge","props","timeZone","startTime","toLocalTime","stopTime","jsx","styles","jsxs","DateHelper"],"mappings":"uMAkBO,SAASA,EAAmBC,EAAgC,CACjE,MAAMC,EAAWD,EAAM,QAAQ,UAAYA,EAAM,QAAQ,OAAO,SAC1DE,EAAYC,EAAYH,EAAM,QAAQ,UAAWC,CAAQ,EACzDG,EAAWD,EAAYH,EAAM,QAAQ,SAAUC,CAAQ,EAE7D,OACEI,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,gBAAgB,IAAIN,EAAM,MAAQ,GAAGM,EAAO,KAAK,mBAAqB,oBAAoB,IAAIN,EAAM,MAAQM,EAAO,MAAQ,EAAE,IAAIN,EAAM,WAAa,EAAE,oEAC9K,SAAAO,EAAAA,KAAC,OAAA,CACE,SAAA,CAAAP,EAAM,UAAY,GAAGQ,EAAW,OAAON,EAAW,OAAO,CAAC,MAC1DM,EAAW,OAAON,EAAW,QAAQ,EACrCF,EAAM,aAAe,MAAMQ,EAAW,OAAOJ,EAAU,QAAQ,CAAC,EAAA,CAAA,CACnE,CAAA,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as h,U as g,L as u,a3 as d,a5 as m,aa as f,aD as p,q as E,a6 as P}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{D as h,U as g,L as u,a3 as d,a5 as m,aa as f,aD as p,q as E,a6 as P}from"./app-Bul9pf1E.js";import{u as U}from"./BrP4vSsu.chunk.js";const c="shared.verifiedEmailError";class q extends h{constructor(e,r,s){super("VerifiedEmailRequiredError"),this.message=e,this.liteUrl=r,this.hasLite=s}get name(){return"VerifiedEmailRequiredError"}get dialogOptions(){const e=g.safeUrlConcat(this.liteUrl,"settings/account");return{title:u.getPhrase(c,"heading"),text:this.hasLite?`${this.message} ${u.getPhrase(c,"visitSettings",{href:e})}`:this.message,buttons:[{text:u.getPhrase(c,"close"),className:"btn btn-dark",success:!0}]}}}const R=()=>{var a;const t=d(m.currentUser()),e=d(((a=t.data)==null?void 0:a.isAuthenticated)&&f.userProducts()),r=!e.hasCompleted;return{hasProduct:i=>{var o;return r||e.hasError||!((o=e.data)!=null&&o.length)?!1:e.data.some(n=>n.id===i)},products:e,isLoadingProducts:r}};function S(){const t=U(),{hasProduct:e,isLoadingProducts:r}=R(),s=d(p.config());function a(i,o,n){var l;if(!i.responseJSON||((l=i.responseJSON)==null?void 0:l.type)!=="no-email"){t.error(o);return}E.throw(new q(n,s.data.liteUrl,e(P.Primary)))}return{handleGenerateReportError:a,loading:!s.hasCompleted||r}}export{S as u};
|
|
2
|
+
//# sourceMappingURL=DkQhz2hz.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DkQhz2hz.chunk.js","sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite\n ? `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}`\n : this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}"],"names":["namespace","VerifiedEmailRequiredError","DialogError","message","liteUrl","hasLite","href","UrlHelper","LanguageService","useProducts","currentUser","Flight.useBasicFetch","UserRequests","products","_a","ProductRequests","isLoadingProducts","productId","product","useVerifiedEmailRequiredErrorHandler","alerts","useAlerts","hasProduct","config","ConfigRequests","handleGenerateReportError","xhr","noEmailError","Core.ErrorHelper","ProductId"],"mappings":"2IAMA,MAAMA,EAAY,4BAEX,MAAMC,UAAmCC,CAAY,CAK1D,YAAYC,EAAiBC,EAAiBC,EAAkB,CAC9D,MAAM,4BAA4B,EAElC,KAAK,QAAUF,EACf,KAAK,QAAUC,EACf,KAAK,QAAUC,CACjB,CAGA,IAAW,MAAe,CACxB,MAAO,4BACT,CAGA,IAAW,eAA+B,CACxC,MAAMC,EAAOC,EAAU,cAAc,KAAK,QAAS,kBAAkB,EAErE,MAAO,CACL,MAAOC,EAAgB,UAAUR,EAAW,SAAS,EACrD,KAAM,KAAK,QACP,GAAG,KAAK,OAAO,IAAIQ,EAAgB,UAAUR,EAAW,gBAAiB,CAAE,KAAAM,CAAA,CAAM,CAAC,GAClF,KAAK,QACT,QAAS,CAAC,CACR,KAAME,EAAgB,UAAUR,EAAW,OAAO,EAClD,UAAW,eACX,QAAS,EAAA,CACV,CAAA,CAEL,CACF,CC3BO,MAAMS,EAAc,IAA2B,OACpD,MAAMC,EAAcC,EAAkCC,EAAa,aAAa,EAC1EC,EAAWF,IAAgCG,EAAAJ,EAAY,OAAZ,YAAAI,EAAkB,kBAAmBC,EAAgB,cAAc,EAC9GC,EAAoB,CAACH,EAAS,aAYpC,MAAO,CACL,WAXkBI,GAAyB,OAI3C,OAHID,GAAqBH,EAAS,UAG9B,GAACC,EAAAD,EAAS,OAAT,MAAAC,EAAe,QACX,GAEFD,EAAS,KAAK,KAAKK,GAAWA,EAAQ,KAAOD,CAAS,CAC/D,EAIE,SAAAJ,EACA,kBAAAG,CAAA,CAEJ,ECxBO,SAASG,GAAuC,CACrD,MAAMC,EAASC,EAAA,EACT,CAAE,WAAAC,EAAY,kBAAAN,CAAA,EAAsBP,EAAA,EACpCc,EAASZ,EAA6Ba,EAAe,QAAQ,EAEnE,SAASC,EAA0BC,EAAUvB,EAAiBwB,EAAsB,OAClF,GAAI,CAACD,EAAI,gBAAgBZ,EAAAY,EAAI,eAAJ,YAAAZ,EAAkB,QAAS,WAAY,CAC9DM,EAAO,MAAMjB,CAAO,EACpB,MACF,CAEAyB,EAAiB,MACf,IAAI3B,EAA2B0B,EAAcJ,EAAO,KAAK,QAASD,EAAWO,EAAU,OAAO,CAAC,CAAA,CAEnG,CAEA,MAAO,CACL,0BAAAJ,EACA,QAAS,CAACF,EAAO,cAAgBP,CAAA,CAErC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as r}from"./app-Bul9pf1E.js";function s(l){return r.jsx("svg",{...l,children:r.jsx("path",{d:"m11.959 10.641 4.402-4.296a.964.964 0 0 1 1.358 0 .95.95 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.95.95 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .95.95 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.95.95 0 0 1 0-1.35.964.964 0 0 1 1.358 0z",fill:"currentColor"})})}export{s as C};
|
|
2
|
+
//# sourceMappingURL=DoZ68JIg.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DoZ68JIg.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/CloseSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CloseSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='m11.959 10.641 4.402-4.296a.964.964 0 0 1 1.358 0 .95.95 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.95.95 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .95.95 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.95.95 0 0 1 0-1.35.964.964 0 0 1 1.358 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["CloseSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+QACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e}from"./app-Bul9pf1E.js";var x={exports:{}},o;function u(){return o||(o=1,(function(r){function s(){return r.exports=s=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(i[a]=n[a])}return i},r.exports.__esModule=!0,r.exports.default=r.exports,s.apply(null,arguments)}r.exports=s,r.exports.__esModule=!0,r.exports.default=r.exports})(x)),x.exports}function f(r){return e.jsxs("svg",{...r,children:[e.jsx("defs",{children:e.jsx("path",{id:"a",d:"M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6",fill:"currentColor"})}),e.jsx("use",{xlinkHref:"#a",fill:"#333"})]})}export{f as V,u as r};
|
|
2
|
+
//# sourceMappingURL=DrI5M20i.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DrI5M20i.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../libs/shared/src/images/svg/actions/VisibleOnSvg.tsx"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\n\nexport function VisibleOnSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='a'\n d='M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'\n fill='currentColor'\n />\n </defs>\n <use xlinkHref='#a' fill='#333' />\n </svg>\n );\n}\n"],"names":["_extends","module","n","e","t","r","VisibleOnSvg","props","jsxs","jsx"],"mappings":"oGAAA,SAASA,GAAW,CAClB,OAAOC,EAAA,QAAiBD,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUE,EAAG,CACrF,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAASE,KAAKD,GAAI,CAAA,GAAI,eAAe,KAAKA,EAAGC,CAAC,IAAMH,EAAEG,CAAC,EAAID,EAAEC,CAAC,EACpE,CACI,OAAOH,CACX,EAAKD,qBAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASD,EAAS,MAAM,KAAM,SAAS,CACjH,CACAC,EAAA,QAAiBD,EAAUC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,wBCPzF,SAASK,EAAaC,EAAsC,CACjE,OACEC,EAAAA,KAAC,MAAA,CAAK,GAAGD,EACP,SAAA,CAAAE,MAAC,OAAA,CACC,SAAAA,EAAAA,IAAC,OAAA,CACC,GAAG,IACH,EAAE,qQACF,KAAK,cAAA,CAAA,EAET,EACAA,EAAAA,IAAC,MAAA,CAAI,UAAU,KAAK,KAAK,MAAA,CAAO,CAAA,EAClC,CAEJ","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-Bul9pf1E.js";import{L}from"./CT3nXP53.chunk.js";function x(a){var g,h;const{folderId:e,firstItem:r,lastItem:u,getAppLink:m}=a,l=f(e&&L.folderParentTree(e));if(!((h=(g=l.data)==null?void 0:g.children)!=null&&h.length))return[];const s=l.data.children.map(t=>({node:t,path:[t]}));let n=[];for(;s.length;){const{node:t,path:d}=s.pop();t.data.id.toString()===e.toString()&&(n=d.map(i=>({name:i.data.name,appLink:m(i)}))),t.children&&s.push(...t.children.map(i=>({node:i,path:[...d,i]})))}return r&&n.unshift(r),u&&n.push(u),a.setLastActive!==!1&&(n[n.length-1].active=!0),n}const S="exchange.exchangeUtils",k=E.encloseNamespace(S);function y(a){return{application:c.EXCHANGE,action:p.Exchange.PREVIEW,args:[a.id,o.slugify(a.name)]}}function C(a,e){return a!=null&&a.id?{application:c.EXCHANGE,action:p.Exchange.SERIES,args:[a.id,o.slugify(a.name)],params:{sort:e??A.Series}}:null}function I(a,e){return a?{application:c.EXCHANGE,action:p.Exchange.FOLDER,args:[a.id,o.slugify(a.name)],params:{sort:e}}:null}function G(a,e){return x({folderId:a,getAppLink:r=>I(r.data,e),firstItem:{name:k("exchangeArchive"),appLink:{application:c.EXCHANGE,action:p.Exchange.INDEX}}})}export{y as a,C as b,I as g,G as u};
|
|
2
|
+
//# sourceMappingURL=H2CWtcR2.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"H2CWtcR2.chunk.js","sources":["../../../../libs/shared/src/hooks/useBuildBreadcrumbs.ts","../../src/apps/exchange/utils/ExchangeUtils.ts"],"sourcesContent":["import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n setLastActive?: boolean;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(\n folderId && LibraryRequests.folderParentTree(folderId)\n );\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n if (options.setLastActive !== false)\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library, Series, Video } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getVideoAppLink(video: Video): Core.AppLink {\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.PREVIEW,\n args: [ video.id, TextHelper.slugify(video.name) ]\n };\n}\n\nexport function getSeriesAppLink(series: Series, sort?: string): Core.AppLink {\n if (!series?.id)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SERIES,\n args: [ series.id, TextHelper.slugify(series.name) ],\n params: {\n sort: sort ?? VideoSortType.Series\n }\n };\n}\n\nexport function getFolderAppLink(folder: Folder, sort?: string): Core.AppLink {\n if (!folder)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.FOLDER,\n args: [ folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < (folder.name?.length ?? 0); i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => getFolderAppLink(object.data, sort),\n firstItem: {\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }\n });\n}"],"names":["useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","Flight.useBasicFetch","LibraryRequests","_b","_a","searchStack","c","breadcrumbs","node","path","object","namespace","getPhrase","LanguageService","getVideoAppLink","video","AppChannels","Actions","TextHelper","getSeriesAppLink","series","sort","VideoSortType","getFolderAppLink","folder","useGetFolderBreadcrumbs"],"mappings":"8GAeO,SAASA,EAAoBC,EAAqC,SACvE,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,SAAAC,EAAU,WAAAC,GAAeJ,EAEhDK,EAAaC,EACjBL,GAAYM,EAAgB,iBAAiBN,CAAQ,CAAA,EAGvD,GAAI,GAACO,GAAAC,EAAAJ,EAAW,OAAX,YAAAI,EAAiB,WAAjB,MAAAD,EAA2B,QAC9B,MAAO,CAAA,EAET,MAAME,EAGAL,EAAW,KAAK,SAAS,IAAIM,IAAM,CAAE,KAAMA,EAAG,KAAM,CAACA,CAAC,GAAG,EAE/D,IAAIC,EAA4B,CAAA,EAEhC,KAAOF,EAAY,QAAQ,CACzB,KAAM,CAAE,KAAAG,EAAM,KAAAC,GAASJ,EAAY,IAAA,EAE/BG,EAAK,KAAK,GAAG,SAAA,IAAeZ,EAAS,SAAA,IACvCW,EAAcE,EAAK,IAAIC,IAAW,CAChC,KAAMA,EAAO,KAAK,KAClB,QAASX,EAAWW,CAAM,CAAA,EAC1B,GAEAF,EAAK,UACPH,EAAY,KAAK,GAAGG,EAAK,SAAS,QAAU,CAAE,KAAMF,EAAG,KAAM,CAAE,GAAGG,EAAMH,CAAE,CAAA,EAAG,CAAC,CAClF,CAEA,OAAIT,GAAWU,EAAY,QAAQV,CAAS,EACxCC,GAAUS,EAAY,KAAKT,CAAQ,EAEnCH,EAAQ,gBAAkB,KAC5BY,EAAYA,EAAY,OAAS,CAAC,EAAE,OAAS,IAExCA,CACT,CCvCA,MAAMI,EAAY,yBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,EAAgBC,EAA4B,CAC1D,MAAO,CACL,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,QACzB,KAAM,CAAEF,EAAM,GAAIG,EAAW,QAAQH,EAAM,IAAI,CAAE,CAAA,CAErD,CAEO,SAASI,EAAiBC,EAAgBC,EAA6B,CAC5E,OAAKD,GAAA,MAAAA,EAAQ,GAGN,CACL,YAAaJ,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEG,EAAO,GAAIF,EAAW,QAAQE,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAMC,GAAQC,EAAc,MAAA,CAC9B,EARO,IAUX,CAEO,SAASC,EAAiBC,EAAgBH,EAA6B,CAC5E,OAAKG,EAGE,CACL,YAAaR,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEO,EAAO,GAAIN,EAAW,QAAQM,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAAH,CAAA,CACF,EARO,IAUX,CAYO,SAASI,EAAwB7B,EAAkByB,EAAmC,CAC3F,OAAO3B,EAAoB,CACzB,SAAAE,EACA,WAAYc,GAAUa,EAAiBb,EAAO,KAAMW,CAAI,EACxD,UAAW,CACT,KAAMT,EAAU,iBAAiB,EACjC,QAAS,CACP,YAAaI,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC3B,CACF,CACD,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s,G as z,V as h,b3 as A,r as L,F as v,b4 as S,aU as M}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as s,G as z,V as h,b3 as A,r as L,F as v,b4 as S,aU as M}from"./app-Bul9pf1E.js";import{a as N}from"./DCOk8mmz.chunk.js";const P=["bg-green","bg-cyan","bg-teal","bg-blue","bg-indigo","bg-purple"],G=["bg-pink","bg-orange",...P];function H(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z",clipRule:"evenodd"})})}function I(t){return s.jsx("svg",{...t,viewBox:"0 0 24 21",children:s.jsx("path",{d:"M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5",fill:"currentColor"})})}function B(t){return s.jsx("svg",{...t,children:s.jsx("path",{fill:"currentColor",d:"M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17"})})}function E(t,e){return e[t.charCodeAt(0)%e.length]}const O="_baseFallbackContainer_14tjv_1",R="_svgFallbackContainer_14tjv_1",V="_subjectFallbackContainer_14tjv_9",w="_subjectFallbackContainerSmall_14tjv_18",U="_subjectFallbackContainerLarge_14tjv_21",q="_seriesItemFallback_14tjv_24",J="_playlistItemFallback_14tjv_24",Q="_playlistFallback_14tjv_28",W="_posterFallback_14tjv_29",X="_subjectFallback_14tjv_9",Y="_fallbackThumbnailImage_14tjv_47",Z="_videoFallback_14tjv_55",K="_folderFallback_14tjv_56",n={baseFallbackContainer:O,svgFallbackContainer:R,subjectFallbackContainer:V,subjectFallbackContainerSmall:w,subjectFallbackContainerLarge:U,seriesItemFallback:q,playlistItemFallback:J,playlistFallback:Q,posterFallback:W,subjectFallback:X,fallbackThumbnailImage:Y,videoFallback:Z,folderFallback:K};var T=(t=>(t[t.Playlist=0]="Playlist",t[t.PlaylistThumbnail=1]="PlaylistThumbnail",t[t.Series=2]="Series",t[t.SeriesThumbnail=3]="SeriesThumbnail",t[t.Subject=4]="Subject",t[t.TallSubject=5]="TallSubject",t[t.Video=6]="Video",t[t.Folder=7]="Folder",t))(T||{});function p(t,e,i){if(e===4){const o=i===0?n.subjectFallbackContainerLarge:n.subjectFallbackContainerSmall;return`${n.subjectFallbackContainer} ${o}`}return t===0?e===3||e===1?`${n.svgFallbackContainer} rounded-3`:n.svgFallbackContainer:n.baseFallbackContainer}function y(t){return t===3?n.seriesItemFallback:t===1?n.playlistItemFallback:t===0?n.playlistFallback:t===2||t===5?n.posterFallback:t===4?`${n.subjectFallback} svg-container d-inline-block`:""}function D(t){return t===3||t===1?H:t===0?I:t===2?B:t===4||t===5?N:null}function tt(t){return t===4?h.ExtraLarge:h.Standard}at.defaultProps={mediaType:0,containerClassSize:0};function at(t){const{type:e,mediaType:i,extraClasses:o,containerClassSize:b}=t;if(e===6)return s.jsx("div",{className:`${n.videoFallback} ${t.extraClasses} bg-light-blue`});if(e===7)return s.jsx("div",{className:`${n.folderFallback} ${t.extraClasses} ${E(t.name,G)}`});const d=y(e),l=D(e),c=tt(e);let r=`${p(i,e,b)}`;return o&&(r+=` ${t.extraClasses}`),s.jsx("div",{className:r,children:i===0?s.jsx(z,{svg:l,className:`${d} ${t.svgContainerClassName??""}`,tagName:"div",size:c}):s.jsx("div",{className:n.fallbackThumbnailImage,style:{backgroundImage:`url('${l}')`}})})}M.Ok;function nt(t,e,i){function o(l){if(l)return v.isFunction(e)?[...e(l)]:[...l.data]}function b(l){var c,r;if(l)return i?i(l):(r=(c=l.pagination)==null?void 0:c.cursors)==null?void 0:r.next}function d(l){if(l)return l==null?void 0:l.count}return A(L.useMemo(()=>l=>{if(!v.isFunction(t))return;const c=t,r=v.isFunction(t)&&c();let a=r&&S(l,r),f=a&&a.isFetching,F=a&&a.statusCode,C=a&&a.hasCompleted;const x=C,$=a&&a.shouldFetch,_=o(a&&a.data);let u=b(a&&a.data);const k=d(a&&a.data);for(;u&&(a=S(l,c(u)),f=f||a.isFetching,F=a.statusCode,C=a.hasCompleted,!a.shouldFetch);){const m=o(a.data);m&&_.push(...m);const g=b(a.data);g===u?u=null:u=g}const j={shouldInitialFetch:$,items:_,nextCursor:u,isFetching:f,statusCode:F,hasCompleted:C,hasFirstPageCompleted:x};return typeof k=="number"&&(j.totalItems=k),j},[t]))}export{G as B,at as I,T as a,E as g,nt as u};
|
|
2
|
+
//# sourceMappingURL=KyeUwNqe.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BtXeOaIU.chunk.js","sources":["../../../../libs/shared/src/constants/ColourClassNames.ts","../../../../libs/shared/src/images/svg/actions/PlaySvg.tsx","../../../../libs/shared/src/images/svg/objects/ImageSvg.tsx","../../../../libs/shared/src/images/svg/objects/SeriesSvg.tsx","../../../../libs/shared/src/utils/getBgColorClass.ts","../../../../libs/shared/src/components/image/ImageFallback.tsx","../../../../libs/shared/src/hooks/UseSelectAllPages.ts"],"sourcesContent":["/**\n * Use this instead of the list below if you need to render the clickview logo\n * on the background you're rendering.\n */\nexport const LOGO_SAFE_BG_CLASS_NAMES = [\n 'bg-green',\n 'bg-cyan',\n 'bg-teal',\n 'bg-blue',\n 'bg-indigo',\n 'bg-purple'\n];\n\nexport const BG_COLOUR_CLASS_NAMES = [\n 'bg-pink',\n 'bg-orange',\n ...LOGO_SAFE_BG_CLASS_NAMES\n];","import React from 'react';\n\nexport function PlaySvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function ImageSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props} viewBox='0 0 24 21'>\n <path\n d='M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function SeriesSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17'\n />\n </svg>\n );\n}\n","export function getBgColorClass(name: string, classNames: string[]): string {\n return classNames[name.charCodeAt(0) % classNames.length];\n}\n\nexport function getDeterministicBgColorClass(name: string, classNames: string[]): string {\n const sum = name\n .split('')\n .reduce(\n (acc, char) => acc + char.charCodeAt(0),\n 0\n );\n \n return classNames[sum % classNames.length];\n}","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { PlaySvg } from 'libs/shared/images/svg/actions/PlaySvg';\nimport { FileImgSvg } from 'libs/shared/images/svg/objects/FileImgSvg';\nimport { ImageSvg } from 'libs/shared/images/svg/objects/ImageSvg';\nimport { SeriesSvg } from 'libs/shared/images/svg/objects/SeriesSvg';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nimport styles from './image-fallback.module.scss';\n\nexport enum ImageFallbackType {\n Playlist,\n PlaylistThumbnail,\n Series,\n SeriesThumbnail,\n Subject,\n TallSubject,\n Video,\n Folder\n}\n\nexport enum ImageFallbackMediaType {\n Svg,\n Image\n}\n\nexport enum ContainerClassSize {\n Large,\n Small\n}\n\nfunction getContainerClass(\n type: ImageFallbackMediaType,\n objectType: ImageFallbackType,\n containerClassSize: ContainerClassSize\n): string {\n if (objectType === ImageFallbackType.Subject) {\n const containerSizeClass = containerClassSize === ContainerClassSize.Large\n ? styles.subjectFallbackContainerLarge\n : styles.subjectFallbackContainerSmall;\n\n return `${styles.subjectFallbackContainer} ${containerSizeClass}`;\n }\n\n if (type === ImageFallbackMediaType.Svg) {\n if (objectType === ImageFallbackType.SeriesThumbnail || objectType === ImageFallbackType.PlaylistThumbnail)\n return `${styles.svgFallbackContainer} rounded-3`;\n \n return styles.svgFallbackContainer;\n }\n\n return styles.baseFallbackContainer;\n}\n\nfunction getClassByType(type: ImageFallbackType): string {\n if (type === ImageFallbackType.SeriesThumbnail)\n return styles.seriesItemFallback;\n\n if (type === ImageFallbackType.PlaylistThumbnail)\n return styles.playlistItemFallback;\n\n if (type === ImageFallbackType.Playlist)\n return styles.playlistFallback;\n\n if (type === ImageFallbackType.Series || type === ImageFallbackType.TallSubject)\n return styles.posterFallback;\n\n if (type === ImageFallbackType.Subject)\n return `${styles.subjectFallback} svg-container d-inline-block`;\n\n return '';\n}\n\nfunction getMedia(type: ImageFallbackType) {\n if (type === ImageFallbackType.SeriesThumbnail || type === ImageFallbackType.PlaylistThumbnail)\n return PlaySvg;\n\n if (type === ImageFallbackType.Playlist)\n return ImageSvg;\n\n if (type === ImageFallbackType.Series)\n return SeriesSvg;\n\n if (type === ImageFallbackType.Subject || type === ImageFallbackType.TallSubject)\n return FileImgSvg;\n\n return null;\n}\n\nfunction getSize(type: ImageFallbackType): SvgContainerSize {\n if (type === ImageFallbackType.Subject)\n return SvgContainerSize.ExtraLarge;\n\n return SvgContainerSize.Standard;\n}\n\ninterface ImageFallbackProps {\n type: ImageFallbackType;\n mediaType?: ImageFallbackMediaType;\n extraClasses?: string;\n svgContainerClassName?: string;\n name?: string;\n containerClassSize?: ContainerClassSize\n}\n\nImageFallback.defaultProps = {\n mediaType: ImageFallbackMediaType.Svg,\n containerClassSize: ContainerClassSize.Large\n};\n\nexport function ImageFallback(props: ImageFallbackProps): JSX.Element {\n const { type, mediaType, extraClasses, containerClassSize } = props;\n\n if (type === ImageFallbackType.Video)\n return <div className={`${styles.videoFallback} ${props.extraClasses} bg-light-blue`} />;\n\n if (type === ImageFallbackType.Folder)\n return <div className={`${styles.folderFallback} ${props.extraClasses} ${getBgColorClass(props.name, BG_COLOUR_CLASS_NAMES)}`} />;\n\n const typeClass = getClassByType(type);\n const media = getMedia(type);\n const size = getSize(type);\n\n let className = `${getContainerClass(mediaType, type, containerClassSize)}`;\n\n if (extraClasses)\n className += ` ${props.extraClasses}`;\n\n return (\n <div className={className}>\n {mediaType === ImageFallbackMediaType.Svg\n ? (\n <SvgContainer\n svg={media}\n className={`${typeClass} ${props.svgContainerClassName ?? ''}`}\n tagName='div'\n size={size}\n />\n ) : (\n <div className={styles.fallbackThumbnailImage} style={{ backgroundImage: `url('${media}')` }} />\n )\n }\n </div>\n );\n}","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\nimport { ApplicationState } from 'libs/common/react/interfaces';\n\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nexport interface SelectAllPagesResult<T> {\n items: T[];\n shouldInitialFetch: boolean;\n nextCursor: string;\n isFetching: boolean;\n statusCode: HttpStatus;\n hasCompleted: boolean;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\nexport const EmptySelectAllPagesResult: SelectAllPagesResult<any> = {\n items: [],\n shouldInitialFetch: false,\n nextCursor: null,\n isFetching: false,\n statusCode: HttpStatus.Ok,\n hasCompleted: true,\n totalItems: 0,\n hasFirstPageCompleted: true\n};\n\n/**\n * Hook to select all pages of a collection from the store and flatten them.\n * It will not trigger any fetches.\n * \n * @param getKey - callback function to get the key for each page.\n * Can be false if the key requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useSelectAllPages<TObject, TResponse = BasePaginatedCollection<TObject>>(\n getKey: ((cursor?: string) => string) | false,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string\n): SelectAllPagesResult<TObject> {\n function safeGetItems(responseData: TResponse): TObject[] {\n if (!responseData)\n return undefined;\n\n if (FunctionHelper.isFunction(getItems))\n return [...getItems(responseData)];\n\n return [...(responseData as unknown as BasePaginatedCollection<TObject>).data];\n }\n\n function safeGetCursor(responseData: TResponse): string {\n if (!responseData)\n return undefined;\n\n if (getCursor)\n return getCursor(responseData);\n\n return (responseData as unknown as BasePaginatedCollection<TObject>).pagination?.cursors?.next;\n }\n\n function safeGetTotalItems(responseData: TResponse): number {\n if (!responseData)\n return undefined;\n\n return (responseData as unknown as BasePaginatedCollection<TObject>)?.count;\n }\n\n return useSelector(useMemo(() => (state: ApplicationState) => {\n if (!FunctionHelper.isFunction(getKey))\n return;\n\n const getKeyFn = getKey as (cursor?: string) => string;\n const key = FunctionHelper.isFunction(getKey) && getKeyFn();\n\n let request = key && Flight.getResponse<TResponse>(state, key);\n\n let isFetching = request && request.isFetching;\n let statusCode = request && request.statusCode;\n let hasCompleted = request && request.hasCompleted;\n const hasFirstPageCompleted = hasCompleted;\n\n const shouldInitialFetch = request && request.shouldFetch;\n\n const items = safeGetItems(request && request.data);\n let nextCursor = safeGetCursor(request && request.data);\n const totalItems = safeGetTotalItems(request && request.data);\n\n // Retrieve all pages that are currently in the store.\n while (nextCursor) {\n request = Flight.getResponse<TResponse>(state, getKeyFn(nextCursor));\n\n isFetching = isFetching || request.isFetching;\n statusCode = request.statusCode;\n hasCompleted = request.hasCompleted;\n\n // If next page hasn't been fetched, break.\n if (request.shouldFetch)\n break;\n\n const newItems = safeGetItems(request.data);\n newItems && items.push(...newItems);\n\n const nextNextCursor = safeGetCursor(request.data);\n\n /**\n * This is a check to basically see if the backend has messed up the cursors it's sent back.\n * For some things (e.g. user manager in Lite), the cursors are generated for a paginated collection,\n * but the collection is then filtered afterwards (making the cursors not entirely accurate).\n * This can lead to problems where a request with a cursor might return that same cursor as the `next`\n * cursor. Confusing, but basically when that happens we want this while loop to end, otherwise it'll\n * run infinitely - Josh\n */\n if (nextNextCursor === nextCursor) {\n nextCursor = null;\n } else {\n nextCursor = nextNextCursor;\n }\n }\n\n const response: SelectAllPagesResult<TObject> = {\n shouldInitialFetch,\n items,\n nextCursor,\n isFetching,\n statusCode,\n hasCompleted,\n hasFirstPageCompleted\n };\n\n if (typeof (totalItems) === 'number')\n response.totalItems = totalItems;\n\n return response;\n }, [getKey]));\n}"],"names":["LOGO_SAFE_BG_CLASS_NAMES","BG_COLOUR_CLASS_NAMES","PlaySvg","props","jsx","ImageSvg","SeriesSvg","getBgColorClass","name","classNames","ImageFallbackType","getContainerClass","type","objectType","containerClassSize","containerSizeClass","styles","getClassByType","getMedia","FileImgSvg","getSize","SvgContainerSize","ImageFallback","mediaType","extraClasses","typeClass","media","size","className","SvgContainer","HttpStatus","useSelectAllPages","getKey","getItems","getCursor","safeGetItems","responseData","FunctionHelper","safeGetCursor","_b","_a","safeGetTotalItems","useSelector","useMemo","state","getKeyFn","key","request","Flight.getResponse","isFetching","statusCode","hasCompleted","hasFirstPageCompleted","shouldInitialFetch","items","nextCursor","totalItems","newItems","nextNextCursor","response"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KyeUwNqe.chunk.js","sources":["../../../../libs/shared/src/constants/ColourClassNames.ts","../../../../libs/shared/src/images/svg/actions/PlaySvg.tsx","../../../../libs/shared/src/images/svg/objects/ImageSvg.tsx","../../../../libs/shared/src/images/svg/objects/SeriesSvg.tsx","../../../../libs/shared/src/utils/getBgColorClass.ts","../../../../libs/shared/src/components/image/ImageFallback.tsx","../../../../libs/shared/src/hooks/UseSelectAllPages.ts"],"sourcesContent":["/**\n * Use this instead of the list below if you need to render the clickview logo\n * on the background you're rendering.\n */\nexport const LOGO_SAFE_BG_CLASS_NAMES = [\n 'bg-green',\n 'bg-cyan',\n 'bg-teal',\n 'bg-blue',\n 'bg-indigo',\n 'bg-purple'\n];\n\nexport const BG_COLOUR_CLASS_NAMES = [\n 'bg-pink',\n 'bg-orange',\n ...LOGO_SAFE_BG_CLASS_NAMES\n];","import React from 'react';\n\nexport function PlaySvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M7.76 6.078a.5.5 0 0 0-.76.427v11a.5.5 0 0 0 .76.426l9.003-5.5a.5.5 0 0 0 0-.853z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function ImageSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props} viewBox='0 0 24 21'>\n <path\n d='M22.5 1A1.5 1.5 0 0 1 24 2.5v18a1.5 1.5 0 0 1-1.5 1.5h-21A1.5 1.5 0 0 1 0 20.5v-18A1.5 1.5 0 0 1 1.5 1zm0 1.5h-21v18h21zm-8.21 4.092 5.84 9a.75.75 0 0 1-1.26.816L13.638 8.34l-2.523 3.591a.75.75 0 0 1-1.144.1l-.889-.89L5.1 16.45a.75.75 0 0 1-1.2-.9l4.5-6a.75.75 0 0 1 1.13-.08l.87.869 2.648-3.77a.75.75 0 0 1 1.243.023M6 4.75a2.25 2.25 0 1 1 0 4.5 2.25 2.25 0 0 1 0-4.5m0 1.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function SeriesSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M20.283 4C21.229 4 22 4.745 22 5.66v8.74c0 .726-.478 1.338-1.151 1.565l.088-10.22a.657.657 0 0 0-.664-.66H6.351A1.71 1.71 0 0 1 7.951 4zm-2.059 1.933c.947 0 1.718.745 1.718 1.65v8.74c.01.726-.479 1.339-1.142 1.565l.088-10.24a.647.647 0 0 0-.664-.64H4.293a1.7 1.7 0 0 1 1.6-1.075zM16.05 7.95c.946 0 1.707.744 1.707 1.659v8.74c0 .915-.77 1.65-1.707 1.65H3.707C2.761 20 2 19.255 2 18.35V9.61c0-.915.77-1.66 1.707-1.66zm-.01 1.084H3.717a.647.647 0 0 0-.663.64v8.609c0 .358.292.641.663.641H16.03c.371 0 .664-.283.664-.641V9.676c.01-.358-.283-.641-.654-.641M8.546 12.39v3.178c0 .17.205.264.342.17l2.254-1.594c.117-.085.117-.255 0-.33l-2.264-1.593c-.137-.095-.332 0-.332.17'\n />\n </svg>\n );\n}\n","export function getBgColorClass(name: string, classNames: string[]): string {\n return classNames[name.charCodeAt(0) % classNames.length];\n}\n\nexport function getDeterministicBgColorClass(name: string, classNames: string[]): string {\n const sum = name\n .split('')\n .reduce(\n (acc, char) => acc + char.charCodeAt(0),\n 0\n );\n \n return classNames[sum % classNames.length];\n}","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { PlaySvg } from 'libs/shared/images/svg/actions/PlaySvg';\nimport { FileImgSvg } from 'libs/shared/images/svg/objects/FileImgSvg';\nimport { ImageSvg } from 'libs/shared/images/svg/objects/ImageSvg';\nimport { SeriesSvg } from 'libs/shared/images/svg/objects/SeriesSvg';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\nimport styles from './image-fallback.module.scss';\n\nexport enum ImageFallbackType {\n Playlist,\n PlaylistThumbnail,\n Series,\n SeriesThumbnail,\n Subject,\n TallSubject,\n Video,\n Folder\n}\n\nexport enum ImageFallbackMediaType {\n Svg,\n Image\n}\n\nexport enum ContainerClassSize {\n Large,\n Small\n}\n\nfunction getContainerClass(\n type: ImageFallbackMediaType,\n objectType: ImageFallbackType,\n containerClassSize: ContainerClassSize\n): string {\n if (objectType === ImageFallbackType.Subject) {\n const containerSizeClass = containerClassSize === ContainerClassSize.Large\n ? styles.subjectFallbackContainerLarge\n : styles.subjectFallbackContainerSmall;\n\n return `${styles.subjectFallbackContainer} ${containerSizeClass}`;\n }\n\n if (type === ImageFallbackMediaType.Svg) {\n if (objectType === ImageFallbackType.SeriesThumbnail || objectType === ImageFallbackType.PlaylistThumbnail)\n return `${styles.svgFallbackContainer} rounded-3`;\n \n return styles.svgFallbackContainer;\n }\n\n return styles.baseFallbackContainer;\n}\n\nfunction getClassByType(type: ImageFallbackType): string {\n if (type === ImageFallbackType.SeriesThumbnail)\n return styles.seriesItemFallback;\n\n if (type === ImageFallbackType.PlaylistThumbnail)\n return styles.playlistItemFallback;\n\n if (type === ImageFallbackType.Playlist)\n return styles.playlistFallback;\n\n if (type === ImageFallbackType.Series || type === ImageFallbackType.TallSubject)\n return styles.posterFallback;\n\n if (type === ImageFallbackType.Subject)\n return `${styles.subjectFallback} svg-container d-inline-block`;\n\n return '';\n}\n\nfunction getMedia(type: ImageFallbackType) {\n if (type === ImageFallbackType.SeriesThumbnail || type === ImageFallbackType.PlaylistThumbnail)\n return PlaySvg;\n\n if (type === ImageFallbackType.Playlist)\n return ImageSvg;\n\n if (type === ImageFallbackType.Series)\n return SeriesSvg;\n\n if (type === ImageFallbackType.Subject || type === ImageFallbackType.TallSubject)\n return FileImgSvg;\n\n return null;\n}\n\nfunction getSize(type: ImageFallbackType): SvgContainerSize {\n if (type === ImageFallbackType.Subject)\n return SvgContainerSize.ExtraLarge;\n\n return SvgContainerSize.Standard;\n}\n\ninterface ImageFallbackProps {\n type: ImageFallbackType;\n mediaType?: ImageFallbackMediaType;\n extraClasses?: string;\n svgContainerClassName?: string;\n name?: string;\n containerClassSize?: ContainerClassSize\n}\n\nImageFallback.defaultProps = {\n mediaType: ImageFallbackMediaType.Svg,\n containerClassSize: ContainerClassSize.Large\n};\n\nexport function ImageFallback(props: ImageFallbackProps): JSX.Element {\n const { type, mediaType, extraClasses, containerClassSize } = props;\n\n if (type === ImageFallbackType.Video)\n return <div className={`${styles.videoFallback} ${props.extraClasses} bg-light-blue`} />;\n\n if (type === ImageFallbackType.Folder)\n return <div className={`${styles.folderFallback} ${props.extraClasses} ${getBgColorClass(props.name, BG_COLOUR_CLASS_NAMES)}`} />;\n\n const typeClass = getClassByType(type);\n const media = getMedia(type);\n const size = getSize(type);\n\n let className = `${getContainerClass(mediaType, type, containerClassSize)}`;\n\n if (extraClasses)\n className += ` ${props.extraClasses}`;\n\n return (\n <div className={className}>\n {mediaType === ImageFallbackMediaType.Svg\n ? (\n <SvgContainer\n svg={media}\n className={`${typeClass} ${props.svgContainerClassName ?? ''}`}\n tagName='div'\n size={size}\n />\n ) : (\n <div className={styles.fallbackThumbnailImage} style={{ backgroundImage: `url('${media}')` }} />\n )\n }\n </div>\n );\n}","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\nimport { ApplicationState } from 'libs/common/react/interfaces';\n\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nexport interface SelectAllPagesResult<T> {\n items: T[];\n shouldInitialFetch: boolean;\n nextCursor: string;\n isFetching: boolean;\n statusCode: HttpStatus;\n hasCompleted: boolean;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\nexport const EmptySelectAllPagesResult: SelectAllPagesResult<any> = {\n items: [],\n shouldInitialFetch: false,\n nextCursor: null,\n isFetching: false,\n statusCode: HttpStatus.Ok,\n hasCompleted: true,\n totalItems: 0,\n hasFirstPageCompleted: true\n};\n\n/**\n * Hook to select all pages of a collection from the store and flatten them.\n * It will not trigger any fetches.\n * \n * @param getKey - callback function to get the key for each page.\n * Can be false if the key requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useSelectAllPages<TObject, TResponse = BasePaginatedCollection<TObject>>(\n getKey: ((cursor?: string) => string) | false,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string\n): SelectAllPagesResult<TObject> {\n function safeGetItems(responseData: TResponse): TObject[] {\n if (!responseData)\n return undefined;\n\n if (FunctionHelper.isFunction(getItems))\n return [...getItems(responseData)];\n\n return [...(responseData as unknown as BasePaginatedCollection<TObject>).data];\n }\n\n function safeGetCursor(responseData: TResponse): string {\n if (!responseData)\n return undefined;\n\n if (getCursor)\n return getCursor(responseData);\n\n return (responseData as unknown as BasePaginatedCollection<TObject>).pagination?.cursors?.next;\n }\n\n function safeGetTotalItems(responseData: TResponse): number {\n if (!responseData)\n return undefined;\n\n return (responseData as unknown as BasePaginatedCollection<TObject>)?.count;\n }\n\n return useSelector(useMemo(() => (state: ApplicationState) => {\n if (!FunctionHelper.isFunction(getKey))\n return;\n\n const getKeyFn = getKey as (cursor?: string) => string;\n const key = FunctionHelper.isFunction(getKey) && getKeyFn();\n\n let request = key && Flight.getResponse<TResponse>(state, key);\n\n let isFetching = request && request.isFetching;\n let statusCode = request && request.statusCode;\n let hasCompleted = request && request.hasCompleted;\n const hasFirstPageCompleted = hasCompleted;\n\n const shouldInitialFetch = request && request.shouldFetch;\n\n const items = safeGetItems(request && request.data);\n let nextCursor = safeGetCursor(request && request.data);\n const totalItems = safeGetTotalItems(request && request.data);\n\n // Retrieve all pages that are currently in the store.\n while (nextCursor) {\n request = Flight.getResponse<TResponse>(state, getKeyFn(nextCursor));\n\n isFetching = isFetching || request.isFetching;\n statusCode = request.statusCode;\n hasCompleted = request.hasCompleted;\n\n // If next page hasn't been fetched, break.\n if (request.shouldFetch)\n break;\n\n const newItems = safeGetItems(request.data);\n newItems && items.push(...newItems);\n\n const nextNextCursor = safeGetCursor(request.data);\n\n /**\n * This is a check to basically see if the backend has messed up the cursors it's sent back.\n * For some things (e.g. user manager in Lite), the cursors are generated for a paginated collection,\n * but the collection is then filtered afterwards (making the cursors not entirely accurate).\n * This can lead to problems where a request with a cursor might return that same cursor as the `next`\n * cursor. Confusing, but basically when that happens we want this while loop to end, otherwise it'll\n * run infinitely - Josh\n */\n if (nextNextCursor === nextCursor) {\n nextCursor = null;\n } else {\n nextCursor = nextNextCursor;\n }\n }\n\n const response: SelectAllPagesResult<TObject> = {\n shouldInitialFetch,\n items,\n nextCursor,\n isFetching,\n statusCode,\n hasCompleted,\n hasFirstPageCompleted\n };\n\n if (typeof (totalItems) === 'number')\n response.totalItems = totalItems;\n\n return response;\n }, [getKey]));\n}"],"names":["LOGO_SAFE_BG_CLASS_NAMES","BG_COLOUR_CLASS_NAMES","PlaySvg","props","jsx","ImageSvg","SeriesSvg","getBgColorClass","name","classNames","ImageFallbackType","getContainerClass","type","objectType","containerClassSize","containerSizeClass","styles","getClassByType","getMedia","FileImgSvg","getSize","SvgContainerSize","ImageFallback","mediaType","extraClasses","typeClass","media","size","className","SvgContainer","HttpStatus","useSelectAllPages","getKey","getItems","getCursor","safeGetItems","responseData","FunctionHelper","safeGetCursor","_b","_a","safeGetTotalItems","useSelector","useMemo","state","getKeyFn","key","request","Flight.getResponse","isFetching","statusCode","hasCompleted","hasFirstPageCompleted","shouldInitialFetch","items","nextCursor","totalItems","newItems","nextNextCursor","response"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as i,a0 as j,j as e,L as r,aq as S,G as A,V as E,F as M,ao as o}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{r as i,a0 as j,j as e,L as r,aq as S,G as A,V as E,F as M,ao as o}from"./app-Bul9pf1E.js";import{M as y}from"./_sYSSSUN.chunk.js";import{P as C,C as F}from"./B4FX3xP5.chunk.js";const R="shared.breadcrumbComponent",B=r.encloseNamespace(R),O=64,f=48,u=i.forwardRef((t,a)=>{const{breadcrumb:{name:s,appLink:n,active:h},withBackIcon:p,linkClassName:g}=t;let c=s,d=null;return c.length>f&&(c=s.slice(0,f)+"...",d=s),e.jsx("li",{className:`breadcrumb-item${h?" active":""}`,title:d,children:h?e.jsx("strong",{children:c}):e.jsxs(S,{appLink:n,ref:a,className:n?g:"",children:[p&&e.jsx(A,{svg:F,size:E.Small}),e.jsx("span",{className:p?"ms-2":"",children:c})]})})}),G=({breadcrumbs:t,linkClassName:a})=>{const s=j(y.XS),n=(t==null?void 0:t.length)||0,[h,p]=i.useState(!1),[g,c]=i.useState(!1),d=i.useRef(null);i.useEffect(()=>{const m=(t==null?void 0:t.reduce((x,T)=>x+T.name.length,0))??0;n>4&&m>O&&p(!0)},[t==null?void 0:t.length]),i.useLayoutEffect(()=>{var m;g&&((m=d.current)==null||m.focus())},[d.current,g]);function v(){p(!1),c(!0)}if(!n||s&&n<2)return e.jsx(e.Fragment,{});if(s)return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:e.jsx(u,{breadcrumb:t[n-2],withBackIcon:!0,linkClassName:a})})});const N=e.jsx(u,{breadcrumb:t[0],linkClassName:a}),P=n>2?e.jsx(u,{breadcrumb:t[1],linkClassName:a}):e.jsx(e.Fragment,{}),b=n>3?e.jsx(u,{breadcrumb:t[n-2],linkClassName:a}):e.jsx(e.Fragment,{}),L=n>1?e.jsx(u,{breadcrumb:t[n-1],linkClassName:a}):e.jsx(e.Fragment,{}),w=t.slice(2,n-2);return e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsxs("ol",{className:"breadcrumb m-0 p-0",children:[N,P,h?e.jsx("li",{className:"breadcrumb-item",children:e.jsx("button",{className:"btn-link",onClick:v,"aria-label":B("expand"),children:"..."})}):w.map((m,x)=>e.jsx(u,{breadcrumb:m,ref:x===0?d:null,linkClassName:a},x)),b,L]})})},X=i.memo(function({numItems:t=3}){return j(y.XS)?e.jsx("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):e.jsx("nav",{"aria-label":"breadcrumb",children:e.jsx("ol",{className:"breadcrumb m-0 p-0",children:C.getPartialLoadingItems({numItems:t}).map(({width:s},n)=>e.jsx("li",{className:"breadcrumb-item",children:e.jsx("span",{className:"d-inline-block partial-loading-background",style:{width:s},dangerouslySetInnerHTML:{__html:" "}})},n))})})}),l="shared.videoSortSelect",_=M.memoize(()=>({[o.RecentlyAdded]:{name:r.getPhrase(l,"recentlyAdded")},[o.AtoZ]:{name:r.getPhrase(l,"atoz")},[o.ZtoA]:{name:r.getPhrase(l,"ztoa")},[o.Newest]:{name:r.getPhrase(l,"newest")},[o.Oldest]:{name:r.getPhrase(l,"oldest")},[o.Series]:{name:r.getPhrase(l,"series")}}));function k(t){let a=_();return t&&(a={[o.ProductionYear]:{name:r.getPhrase(l,"productionYear")},...a}),a}z.defaultProps={variant:"light"};function z(t){const a=t.sortTypes||k(t.includeProductionYear);return e.jsxs("div",{className:"dropdown",children:[e.jsx("button",{className:`btn btn-${t.variant} ms-2 dropdown-toggle`,type:"button",id:"sort-select","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:a[t.type].name}),e.jsx("ul",{className:"dropdown-menu dropdown-menu-end","aria-labelledby":"sort-select",children:Object.keys(a).map(s=>{let n="dropdown-item";return s===t.type&&(n+=" active"),e.jsx("li",{children:e.jsx(S,{className:n,appLink:t.getSortAppLink(s),analyticsData:{sort:a[s].name},analyticsOptions:t.analyticsOptions,children:a[s].name})},s)})})]})}export{G as B,X as P,z as V};
|
|
2
|
+
//# sourceMappingURL=NW9aioPN.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cb27J2-B.chunk.js","sources":["../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","../../../../libs/shared/src/components/video-sort-select/VideoSortSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 64;\nconst MAX_SEGMENT_LENGTH = 48;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n linkClassName?: string;\n}\n\nexport const BreadcrumbItem = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon, linkClassName } = props;\n\n let trimmedName = name;\n let title: string = null;\n\n if (trimmedName.length > MAX_SEGMENT_LENGTH) {\n trimmedName = name.slice(0, MAX_SEGMENT_LENGTH) + '...';\n\n // Only setting the title when we trim, because otherwise it's really not needed - Sha\n title = name;\n }\n\n return (\n <li\n className={`breadcrumb-item${active ? ' active' : ''}`}\n title={title}\n >\n {active\n ? <strong>{trimmedName}</strong>\n : <AppLink appLink={appLink} ref={ref} className={appLink ? linkClassName : ''}>\n {withBackIcon && <SvgContainer svg={ChevronLeftSvg} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{trimmedName}</span>\n </AppLink>\n }\n </li>\n );\n});\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n linkClassName?: string;\n}\n\nexport const Breadcrumbs = ({ breadcrumbs, linkClassName }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 4 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon linkClassName={linkClassName} />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} linkClassName={linkClassName} />;\n const second = length > 2\n ? <BreadcrumbItem breadcrumb={breadcrumbs[1]} linkClassName={linkClassName} />\n : <></>;\n const secondLast = length > 3\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} linkClassName={linkClassName} />\n : <></>;\n const last = length > 1\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} linkClassName={linkClassName} />\n : <></>;\n const rest = breadcrumbs.slice(2, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {second}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n linkClassName={linkClassName}\n />\n ))\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\n\nconst namespace = 'shared.videoSortSelect';\n\ntype SortTypes = {[sort: string]: { name: string }};\n\nconst getDefaultSortTypes: () => SortTypes = FunctionHelper.memoize(() => {\n return {\n [VideoSortType.RecentlyAdded]: {\n name: LanguageService.getPhrase(namespace, 'recentlyAdded')\n },\n [VideoSortType.AtoZ]: {\n name: LanguageService.getPhrase(namespace, 'atoz')\n },\n [VideoSortType.ZtoA]: {\n name: LanguageService.getPhrase(namespace, 'ztoa')\n },\n [VideoSortType.Newest]: {\n name: LanguageService.getPhrase(namespace, 'newest')\n },\n [VideoSortType.Oldest]: {\n name: LanguageService.getPhrase(namespace, 'oldest')\n },\n [VideoSortType.Series]: {\n name: LanguageService.getPhrase(namespace, 'series')\n }\n };\n});\n\nfunction getSortTypes(productionYear: boolean): SortTypes {\n let defaultSortTypes = getDefaultSortTypes();\n\n if (productionYear) {\n defaultSortTypes = {\n [VideoSortType.ProductionYear]: {\n name: LanguageService.getPhrase(namespace, 'productionYear')\n },\n ...defaultSortTypes\n };\n }\n \n return defaultSortTypes;\n}\n\ninterface VideoSortSelectProps {\n type: VideoSortType;\n getSortAppLink: (sort: string) => Core.AppLink;\n variant?: ButtonProps['variant'];\n sortTypes?: SortTypes;\n analyticsOptions: AnalyticsOptions;\n includeProductionYear?: boolean;\n}\n\nVideoSortSelect.defaultProps = {\n variant: 'light'\n};\n\nexport function VideoSortSelect(props: VideoSortSelectProps): JSX.Element {\n const sortTypes = props.sortTypes || getSortTypes(props.includeProductionYear);\n\n return (\n <div className='dropdown'>\n <button className={`btn btn-${props.variant} ms-2 dropdown-toggle`} type='button' id='sort-select' data-bs-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\n {sortTypes[props.type].name}\n </button>\n <ul className='dropdown-menu dropdown-menu-end' aria-labelledby='sort-select'>\n {Object.keys(sortTypes).map(k => {\n let className = 'dropdown-item';\n\n if (k === props.type)\n className += ' active';\n\n return (\n <li key={k}>\n <AppLink\n className={className}\n appLink={props.getSortAppLink(k)}\n analyticsData={{\n sort: sortTypes[k].name\n }}\n analyticsOptions={props.analyticsOptions}\n >\n {sortTypes[k].name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","COLLAPSE_CHARACTER_COUNT","MAX_SEGMENT_LENGTH","BreadcrumbItem","React.forwardRef","props","ref","name","appLink","active","withBackIcon","linkClassName","trimmedName","title","jsx","jsxs","AppLink","SvgContainer","ChevronLeftSvg","SvgContainerSize","Breadcrumbs","breadcrumbs","isMobile","useMediaQuery","MediaQueryStrings","length","collapse","setCollapse","React.useState","shouldFocus","setShouldFocus","expandRef","React.useRef","React.useEffect","characterLength","prev","next","React.useLayoutEffect","_a","onClickExpand","Fragment","first","second","secondLast","last","rest","breadcrumb","idx","PartialBreadcrumbs","React.memo","numItems","PartialLoadingHelper","width","getDefaultSortTypes","FunctionHelper","VideoSortType","getSortTypes","productionYear","defaultSortTypes","VideoSortSelect","sortTypes","k","className"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NW9aioPN.chunk.js","sources":["../../../../libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","../../../../libs/shared/src/components/video-sort-select/VideoSortSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 64;\nconst MAX_SEGMENT_LENGTH = 48;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n linkClassName?: string;\n}\n\nexport const BreadcrumbItem = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon, linkClassName } = props;\n\n let trimmedName = name;\n let title: string = null;\n\n if (trimmedName.length > MAX_SEGMENT_LENGTH) {\n trimmedName = name.slice(0, MAX_SEGMENT_LENGTH) + '...';\n\n // Only setting the title when we trim, because otherwise it's really not needed - Sha\n title = name;\n }\n\n return (\n <li\n className={`breadcrumb-item${active ? ' active' : ''}`}\n title={title}\n >\n {active\n ? <strong>{trimmedName}</strong>\n : <AppLink appLink={appLink} ref={ref} className={appLink ? linkClassName : ''}>\n {withBackIcon && <SvgContainer svg={ChevronLeftSvg} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{trimmedName}</span>\n </AppLink>\n }\n </li>\n );\n});\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n linkClassName?: string;\n}\n\nexport const Breadcrumbs = ({ breadcrumbs, linkClassName }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 4 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon linkClassName={linkClassName} />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} linkClassName={linkClassName} />;\n const second = length > 2\n ? <BreadcrumbItem breadcrumb={breadcrumbs[1]} linkClassName={linkClassName} />\n : <></>;\n const secondLast = length > 3\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} linkClassName={linkClassName} />\n : <></>;\n const last = length > 1\n ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} linkClassName={linkClassName} />\n : <></>;\n const rest = breadcrumbs.slice(2, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {second}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n linkClassName={linkClassName}\n />\n ))\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\n\nconst namespace = 'shared.videoSortSelect';\n\ntype SortTypes = {[sort: string]: { name: string }};\n\nconst getDefaultSortTypes: () => SortTypes = FunctionHelper.memoize(() => {\n return {\n [VideoSortType.RecentlyAdded]: {\n name: LanguageService.getPhrase(namespace, 'recentlyAdded')\n },\n [VideoSortType.AtoZ]: {\n name: LanguageService.getPhrase(namespace, 'atoz')\n },\n [VideoSortType.ZtoA]: {\n name: LanguageService.getPhrase(namespace, 'ztoa')\n },\n [VideoSortType.Newest]: {\n name: LanguageService.getPhrase(namespace, 'newest')\n },\n [VideoSortType.Oldest]: {\n name: LanguageService.getPhrase(namespace, 'oldest')\n },\n [VideoSortType.Series]: {\n name: LanguageService.getPhrase(namespace, 'series')\n }\n };\n});\n\nfunction getSortTypes(productionYear: boolean): SortTypes {\n let defaultSortTypes = getDefaultSortTypes();\n\n if (productionYear) {\n defaultSortTypes = {\n [VideoSortType.ProductionYear]: {\n name: LanguageService.getPhrase(namespace, 'productionYear')\n },\n ...defaultSortTypes\n };\n }\n \n return defaultSortTypes;\n}\n\ninterface VideoSortSelectProps {\n type: VideoSortType;\n getSortAppLink: (sort: string) => Core.AppLink;\n variant?: ButtonProps['variant'];\n sortTypes?: SortTypes;\n analyticsOptions: AnalyticsOptions;\n includeProductionYear?: boolean;\n}\n\nVideoSortSelect.defaultProps = {\n variant: 'light'\n};\n\nexport function VideoSortSelect(props: VideoSortSelectProps): JSX.Element {\n const sortTypes = props.sortTypes || getSortTypes(props.includeProductionYear);\n\n return (\n <div className='dropdown'>\n <button className={`btn btn-${props.variant} ms-2 dropdown-toggle`} type='button' id='sort-select' data-bs-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\n {sortTypes[props.type].name}\n </button>\n <ul className='dropdown-menu dropdown-menu-end' aria-labelledby='sort-select'>\n {Object.keys(sortTypes).map(k => {\n let className = 'dropdown-item';\n\n if (k === props.type)\n className += ' active';\n\n return (\n <li key={k}>\n <AppLink\n className={className}\n appLink={props.getSortAppLink(k)}\n analyticsData={{\n sort: sortTypes[k].name\n }}\n analyticsOptions={props.analyticsOptions}\n >\n {sortTypes[k].name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","COLLAPSE_CHARACTER_COUNT","MAX_SEGMENT_LENGTH","BreadcrumbItem","React.forwardRef","props","ref","name","appLink","active","withBackIcon","linkClassName","trimmedName","title","jsx","jsxs","AppLink","SvgContainer","ChevronLeftSvg","SvgContainerSize","Breadcrumbs","breadcrumbs","isMobile","useMediaQuery","MediaQueryStrings","length","collapse","setCollapse","React.useState","shouldFocus","setShouldFocus","expandRef","React.useRef","React.useEffect","characterLength","prev","next","React.useLayoutEffect","_a","onClickExpand","Fragment","first","second","secondLast","last","rest","breadcrumb","idx","PartialBreadcrumbs","React.memo","numItems","PartialLoadingHelper","width","getDefaultSortTypes","FunctionHelper","VideoSortType","getSortTypes","productionYear","defaultSortTypes","VideoSortSelect","sortTypes","k","className"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as t,aq as v,a as c,b as o,B as g,ad as h,ae as A,af as f,A as l,L as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as t,aq as v,a as c,b as o,B as g,ad as h,ae as A,af as f,A as l,L as d}from"./app-Bul9pf1E.js";import{t as p}from"./D95xJRk5.chunk.js";import{a as x}from"./CHpXkcxQ.chunk.js";import{P as L}from"./CchQJ0bB.chunk.js";const u="tv.infoAlert";function D(a){var s;return t.jsx("div",{className:"mb-3",children:t.jsx("div",{children:a.dateRange&&t.jsx(t.Fragment,{children:t.jsx(v,{appLink:{application:o.TV,action:c.Tv.BROADCAST_CONTENT,args:[(s=a.region)==null?void 0:s.code]},className:"text-info",children:t.jsxs("p",{className:"fw-semibold mb-0 me-2",children:[t.jsx(g,{namespace:u,phrase:"programsAvailable"}),x.getFormattedDateRange(p(a.dateRange.startDate,a.dateRange.timeZone),p(a.dateRange.endDate,a.dateRange.timeZone))]})})})})})}const T="tv.tvTabs",i=d.encloseNamespace(T),n={channels:{application:o.TV,action:c.Tv.CHANNELS},programs:{application:o.TV,action:c.Tv.PROGRAMS},tvGuide:{application:o.TV,action:c.Tv.TV_GUIDE}},r={actionType:f.Click,entity:A.Url,location:h.MagicTabs};function G(a){const{active:s,currentRegion:e}=a,m=[{name:i("channels"),appLink:{...n.channels,args:[e==null?void 0:e.code]},active:s==="channels",analyticsData:{name:i("channels"),url:l.getHref(n.channels)},analyticsOptions:r},{name:i("programs"),appLink:{...n.programs,args:[e==null?void 0:e.code]},active:s==="programs",analyticsData:{name:d.getPhrase(T,"programs"),url:l.getHref(n.programs)},analyticsOptions:r}];return a.showTvGuide&&m.push({name:i("tvGuide"),appLink:{...n.tvGuide,args:[e==null?void 0:e.code]},active:s==="tv-guide",analyticsData:{name:i("tvGuide"),url:l.getHref(n.tvGuide)},analyticsOptions:r}),t.jsx("div",{className:"mb-3",children:t.jsx(L,{tabs:m})})}export{G as T,D as a};
|
|
2
|
+
//# sourceMappingURL=RHgtNm7d.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"RHgtNm7d.chunk.js","sources":["../../src/apps/tv/components/tv-info-alert/TvInfoAlert.tsx","../../src/apps/tv/components/tv-tabs/TvTabs.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvDateRange, TvRegion } from 'apps/tv/interfaces/models/TvRegion';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\n\nconst namespace = 'tv.infoAlert';\n\ninterface TvInfoAlertProps {\n dateRange: TvDateRange;\n region: TvRegion;\n}\n\nexport function TvInfoAlert(props: TvInfoAlertProps) {\n return (\n <div className='mb-3'>\n <div>\n {props.dateRange && (\n <>\n <AppLink\n appLink={{\n application: AppChannels.TV,\n action: Actions.Tv.BROADCAST_CONTENT,\n args: [props.region?.code]\n }}\n className='text-info'\n >\n <p className='fw-semibold mb-0 me-2'>\n <Text namespace={namespace} phrase='programsAvailable' />\n {TvUtils.getFormattedDateRange(\n toLocalTime(props.dateRange.startDate, props.dateRange.timeZone),\n toLocalTime(props.dateRange.endDate, props.dateRange.timeZone)\n )}\n </p>\n </AppLink>\n </>\n )}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nconst namespace = 'tv.tvTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APP_LINKS = {\n channels: {\n application: AppChannels.TV,\n action: Actions.Tv.CHANNELS\n },\n programs: {\n application: AppChannels.TV,\n action: Actions.Tv.PROGRAMS\n },\n tvGuide: {\n application: AppChannels.TV,\n action: Actions.Tv.TV_GUIDE\n }\n};\n\nconst ANALYTICS_OPTIONS = {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n};\n\ninterface TvTabs {\n active: 'channels' | 'programs' | 'tv-guide' | null;\n currentRegion: TvRegion;\n showTvGuide: boolean;\n}\n\nexport function TvTabs(props: TvTabs): JSX.Element {\n const { active, currentRegion } = props;\n\n const tabs: PillTab[] = [{\n name: getPhrase('channels'),\n appLink: {\n ...APP_LINKS.channels,\n args: [currentRegion?.code]\n },\n active: active === 'channels',\n analyticsData: {\n name: getPhrase('channels'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.channels)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }, {\n name: getPhrase('programs'),\n appLink: {\n ...APP_LINKS.programs,\n args: [currentRegion?.code]\n },\n active: active === 'programs',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'programs'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.programs)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n }];\n\n if (props.showTvGuide) {\n tabs.push({\n name: getPhrase('tvGuide'),\n appLink: {\n ...APP_LINKS.tvGuide,\n args: [currentRegion?.code]\n },\n active: active === 'tv-guide',\n analyticsData: {\n name: getPhrase('tvGuide'),\n url: Core.AppLinkHelper.getHref(APP_LINKS.tvGuide)\n },\n analyticsOptions: ANALYTICS_OPTIONS\n });\n }\n\n return (\n <div className='mb-3'>\n <PillTabSelector tabs={tabs} />\n </div>\n );\n}"],"names":["namespace","TvInfoAlert","props","jsx","Fragment","AppLink","AppChannels","Actions","_a","jsxs","Text","TvUtils","toLocalTime","getPhrase","LanguageService","APP_LINKS","ANALYTICS_OPTIONS","UserAction","EntityType","LocationContext","TvTabs","active","currentRegion","tabs","Core.AppLinkHelper","PillTabSelector"],"mappings":"iOAYA,MAAMA,EAAY,eAOX,SAASC,EAAYC,EAAyB,OACnD,OACEC,EAAAA,IAAC,OAAI,UAAU,OACb,eAAC,MAAA,CACE,SAAAD,EAAM,WACLC,EAAAA,IAAAC,EAAAA,SAAA,CACE,SAAAD,EAAAA,IAACE,EAAA,CACC,QAAS,CACP,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,kBACnB,KAAM,EAACC,EAAAN,EAAM,SAAN,YAAAM,EAAc,IAAI,CAAA,EAE3B,UAAU,YAEV,SAAAC,EAAAA,KAAC,IAAA,CAAE,UAAU,wBACX,SAAA,CAAAN,EAAAA,IAACO,EAAA,CAAA,UAAKV,EAAsB,OAAO,mBAAA,CAAoB,EACtDW,EAAQ,sBACPC,EAAYV,EAAM,UAAU,UAAWA,EAAM,UAAU,QAAQ,EAC/DU,EAAYV,EAAM,UAAU,QAASA,EAAM,UAAU,QAAQ,CAAA,CAC/D,CAAA,CACF,CAAA,CAAA,CACF,CACF,EAEJ,EACF,CAEJ,CChCA,MAAMF,EAAY,YACZa,EAAYC,EAAgB,iBAAiBd,CAAS,EAEtDe,EAAY,CAChB,SAAU,CACR,YAAaT,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,EAErB,SAAU,CACR,YAAaD,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,EAErB,QAAS,CACP,YAAaD,EAAY,GACzB,OAAQC,EAAQ,GAAG,QAAA,CAEvB,EAEMS,EAAoB,CACxB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAC5B,EAQO,SAASC,EAAOlB,EAA4B,CACjD,KAAM,CAAE,OAAAmB,EAAQ,cAAAC,CAAA,EAAkBpB,EAE5BqB,EAAkB,CAAC,CACvB,KAAMV,EAAU,UAAU,EAC1B,QAAS,CACP,GAAGE,EAAU,SACb,KAAM,CAACO,GAAA,YAAAA,EAAe,IAAI,CAAA,EAE5B,OAAQD,IAAW,WACnB,cAAe,CACb,KAAMR,EAAU,UAAU,EAC1B,IAAKW,EAAmB,QAAQT,EAAU,QAAQ,CAAA,EAEpD,iBAAkBC,CAAA,EACjB,CACD,KAAMH,EAAU,UAAU,EAC1B,QAAS,CACP,GAAGE,EAAU,SACb,KAAM,CAACO,GAAA,YAAAA,EAAe,IAAI,CAAA,EAE5B,OAAQD,IAAW,WACnB,cAAe,CACb,KAAMP,EAAgB,UAAUd,EAAW,UAAU,EACrD,IAAKwB,EAAmB,QAAQT,EAAU,QAAQ,CAAA,EAEpD,iBAAkBC,CAAA,CACnB,EAED,OAAId,EAAM,aACRqB,EAAK,KAAK,CACR,KAAMV,EAAU,SAAS,EACzB,QAAS,CACP,GAAGE,EAAU,QACb,KAAM,CAACO,GAAA,YAAAA,EAAe,IAAI,CAAA,EAE5B,OAAQD,IAAW,WACnB,cAAe,CACb,KAAMR,EAAU,SAAS,EACzB,IAAKW,EAAmB,QAAQT,EAAU,OAAO,CAAA,EAEnD,iBAAkBC,CAAA,CACnB,QAIA,MAAA,CAAI,UAAU,OACb,SAAAb,EAAAA,IAACsB,EAAA,CAAgB,KAAAF,EAAY,CAAA,CAC/B,CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as y,a3 as vn,aD as hn,j as t,ak as Ct,aq as $,B as X,aE as ft,ab as Oe,af as O,ae as ke,ad as ae,R as w,aF as Gt,c as I,F as B,w as Me,G as T,L as E,V as Y,K as Q,az as Cn,Q as fn,J as xn,au as yn,ap as de,M as Ee,Z as ue,aw as Ne,ar as He,q as zt,aG as Ut,aB as xt,a0 as Ln,ax as F,at as Be,A as jn}from"./app-YVcc0mcr.js";import{b as wn}from"./C8wzS3f9.chunk.js";import{u as bn,a as kn,b as Nn,C as Ge,i as In,c as Sn,g as Pn,K as fe,D as _n}from"./BttaqS1Q.chunk.js";import{G as An,V,R as ze,a as Vn,C as $n}from"./CBjqJQeP.chunk.js";import{S as Tn}from"./DKP8OSLt.chunk.js";import{V as u}from"./DCKHN9x6.chunk.js";import{B as p,a as W,C as Dn}from"./DTQrc2Wc.chunk.js";import{B as Ue}from"./DsEwMbUK.chunk.js";import{u as Rn}from"./B60atIyl.chunk.js";import{B as Ze}from"./BpAshDEq.chunk.js";import{g as Fn,B as On,I as We,a as Ye}from"./BtXeOaIU.chunk.js";import{L as Zt,R as Qe,a as En}from"./teFtDXco.chunk.js";import{T as yt,u as Mn,O as Lt,V as Ie,c as Hn,I as Bn,b as Gn,R as zn,L as Un}from"./L5XMY5e5.chunk.js";import{a as qe,u as ge}from"./v_B4I3Qe.chunk.js";import{C as Zn}from"./RBxC7AKW.chunk.js";import{M as re}from"./_sYSSSUN.chunk.js";import{A as Wn}from"./CRi1yEnr.chunk.js";import{H as P}from"./Kj832An8.chunk.js";var R=(e=>(e[e.MultipleChoice=1]="MultipleChoice",e[e.ShortAnswer=2]="ShortAnswer",e[e.TrueOrFalse=3]="TrueOrFalse",e[e.Annotation=4]="Annotation",e[e.Image=5]="Image",e[e.MissingWord=6]="MissingWord",e[e.Illustration=7]="Illustration",e))(R||{});const Yn={},Qn=y.createContext(null);function qn(e){return"series"in e?wn(e.series):null}function as(){var i;const e=vn(hn.config());return{hasCommonVideoPropsCompleted:e.hasCompleted,commonVideoProps:{subTextType:"series",getSubTextAppLink:qn,isPlugin:!1,canFavourite:null,setFavourite:null,yearGroups:null,imageCdnUrl:(i=e.data)==null?void 0:i.imageCdnUrl,getClassroomGuideAppLink:null,getInteractiveGuidanceAppLink:null,getResourceGuidanceAppLink:null,showNewVideoIndicator:!1,companyLogoFallbackUrl:null,hasStudentExperience:!1,hasGuestExperience:!1}}}function jt(e,n,i){if(!n)return null;const a=e.params??{};return i?a!=null&&a.previous?{application:e.application,action:e.action,args:e.args,params:{...a,cursor:a==null?void 0:a.previous,previous:null}}:{application:e.application,action:e.action,args:e.args,params:{...a,cursor:null,previous:null}}:{application:e.application,action:e.action,args:e.args,params:{...a,cursor:n,previous:a.cursor}}}Wt.defaultProps={className:"py-2",buttonVariant:"secondary"};function Wt({appLink:e,cursors:n,className:i,buttonVariant:a,prevHack:s,scrollTop:c,onClick:r}){function o(l){e&&c===!1&&Tn.preventScrollTop(),Oe.logUserAction({page:l},{location:ae.Pagination,entity:ke.Pagination,actionType:O.Navigate}),r&&r(n[l])}return e?t.jsx(Ct.Provider,{value:"shared.pagination",children:t.jsxs("div",{className:i,children:[t.jsx($,{appLink:jt(e,n.previous,s),className:`btn btn-${a} me-1 ${n.previous?"":"disabled"}`,onClick:()=>o("previous"),style:{display:"inline-block"},children:t.jsx(X,{phrase:"previous"})}),t.jsx($,{appLink:jt(e,n.next),className:`btn btn-${a} ${n.next?"":"disabled"}`,onClick:()=>o("next"),style:{display:"inline-block"},children:t.jsx(X,{phrase:"next"})})]})}):t.jsx(Ct.Provider,{value:"shared.pagination",children:t.jsxs("div",{className:i,children:[t.jsx(ft,{variant:a,className:`me-1 ${n.previous?"":"disabled"}`,onClick:()=>o("previous"),children:t.jsx(X,{phrase:"previous"})}),t.jsx(ft,{variant:a,className:`btn ${n.next?"":"disabled"}`,onClick:()=>o("next"),children:t.jsx(X,{phrase:"next"})})]})})}function Yt(e,n,i){const a=e.slice();return a.splice(i<0?a.length+i:i,0,a.splice(n,1)[0]),a}function xe(e){return e!==null&&e>=0}const Kn=e=>{let{rects:n,activeIndex:i,overIndex:a,index:s}=e;const c=Yt(n,a,i),r=n[s],o=c[s];return!o||!r?null:{x:o.left-r.left,y:o.top-r.top,scaleX:o.width/r.width,scaleY:o.height/r.height}},Xn="Sortable",Jn=w.createContext({activeIndex:-1,containerId:Xn,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Kn,disabled:{draggable:!1,droppable:!1}}),pn=e=>{let{id:n,items:i,activeIndex:a,overIndex:s}=e;return Yt(i,a,s).indexOf(n)},ei=e=>{let{containerId:n,isSorting:i,wasDragging:a,index:s,items:c,newIndex:r,previousItems:o,previousContainerId:l,transition:d}=e;return!d||!a||o!==c&&s===r?!1:i?!0:r!==s&&n===l},ti={duration:200,easing:"ease"},Qt="transform",ni=Ge.Transition.toString({property:Qt,duration:0,easing:"linear"}),ii={roleDescription:"sortable"};function ai(e){let{disabled:n,index:i,node:a,rect:s}=e;const[c,r]=y.useState(null),o=y.useRef(i);return Sn(()=>{if(!n&&i!==o.current&&a.current){const l=s.current;if(l){const d=Pn(a.current,{ignoreTransform:!0}),m={x:l.left-d.left,y:l.top-d.top,scaleX:l.width/d.width,scaleY:l.height/d.height};(m.x||m.y)&&r(m)}}i!==o.current&&(o.current=i)},[n,i,a,s]),y.useEffect(()=>{c&&requestAnimationFrame(()=>{r(null)})},[c]),c}function si(e){let{animateLayoutChanges:n=ei,attributes:i,disabled:a,data:s,getNewIndex:c=pn,id:r,strategy:o,resizeObserverConfig:l,transition:d=ti}=e;const{items:m,containerId:g,activeIndex:v,disabled:h,disableTransforms:x,sortedRects:f,overIndex:C,useDragOverlay:N,strategy:_}=y.useContext(Jn),L=oi(a,h),j=m.indexOf(r),S=y.useMemo(()=>({sortable:{containerId:g,index:j,items:m},...s}),[g,s,j,m]),G=y.useMemo(()=>m.slice(m.indexOf(r)),[m,r]),{rect:z,node:D,isOver:q,setNodeRef:se}=bn({id:r,data:S,disabled:L.droppable,resizeObserverConfig:{updateMeasurementsFor:G,...l}}),{active:U,activatorEvent:he,activeNodeRect:b,attributes:Ce,setNodeRef:ut,listeners:sn,isDragging:Te,over:on,setActivatorNodeRef:rn,transform:cn}=kn({id:r,data:S,attributes:{...ii,...i},disabled:L.draggable}),ln=Nn(se,ut),ee=!!U,mt=ee&&!x&&xe(v)&&xe(C),gt=!N&&Te,vt=gt&&mt?cn:null,dn=mt?vt??(o??_)({rects:f,activeNodeRect:b,activeIndex:v,overIndex:C,index:j}):null,oe=xe(v)&&xe(C)?c({id:r,items:m,activeIndex:v,overIndex:C}):j,te=U==null?void 0:U.id,k=y.useRef({activeId:te,items:m,newIndex:oe,containerId:g}),un=m!==k.current.items,ht=n({active:U,containerId:g,isDragging:Te,isSorting:ee,id:r,index:j,items:m,newIndex:k.current.newIndex,previousItems:k.current.items,previousContainerId:k.current.containerId,transition:d,wasDragging:k.current.activeId!=null}),De=ai({disabled:!ht,index:j,node:D,rect:z});return y.useEffect(()=>{ee&&k.current.newIndex!==oe&&(k.current.newIndex=oe),g!==k.current.containerId&&(k.current.containerId=g),m!==k.current.items&&(k.current.items=m)},[ee,oe,g,m]),y.useEffect(()=>{if(te===k.current.activeId)return;if(te&&!k.current.activeId){k.current.activeId=te;return}const gn=setTimeout(()=>{k.current.activeId=te},50);return()=>clearTimeout(gn)},[te]),{active:U,activeIndex:v,attributes:Ce,data:S,rect:z,index:j,newIndex:oe,items:m,isOver:q,isSorting:ee,isDragging:Te,listeners:sn,node:D,overIndex:C,over:on,setNodeRef:ln,setActivatorNodeRef:rn,setDroppableNodeRef:se,setDraggableNodeRef:ut,transform:De??dn,transition:mn()};function mn(){if(De||un&&k.current.newIndex===j)return ni;if(!(gt&&!In(he)||!d)&&(ee||ht))return Ge.Transition.toString({...d,property:Qt})}}function oi(e,n){var i,a;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(i=e==null?void 0:e.draggable)!=null?i:n.draggable,droppable:(a=e==null?void 0:e.droppable)!=null?a:n.droppable}}fe.Down,fe.Right,fe.Up,fe.Left;function ri(e,n,i){return n!==e?null:i>n?"down":i<n?"up":null}function Ke(e){const{setNodeRef:n,transform:i,transition:a,isSorting:s,listeners:c,attributes:r,activeIndex:o,overIndex:l,index:d}=si({id:e.id}),m={transform:Ge.Transform.toString(i),transition:a,touchAction:"none",position:"relative"};s&&d===o&&(m.visibility="hidden");const g=e.childComponent,v=ri(d,o,l);return t.jsx(g,{...e.childProps,ref:n,style:m,dragListeners:c,dragAttributes:r,dragDirection:v})}function ci(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",d:"M11.67 19.376a.5.5 0 0 0 .66 0c.732-.64 1.435-1.239 2.1-1.805 1.453-1.235 2.722-2.314 3.703-3.335 1.443-1.504 2.367-2.984 2.367-4.812 0-2.588-1.83-4.866-4.517-4.866-1.736 0-2.865 1.008-3.535 1.954a7 7 0 0 0-.448.733 7 7 0 0 0-.448-.733c-.67-.946-1.8-1.954-3.535-1.954C5.33 4.558 3.5 6.836 3.5 9.424c0 1.828.924 3.308 2.367 4.812.98 1.02 2.25 2.1 3.703 3.335.665.566 1.368 1.165 2.1 1.805m.812-10.7.001-.004.007-.022.03-.097a5.83 5.83 0 0 1 .744-1.463c.565-.798 1.428-1.532 2.72-1.532 2.03 0 3.516 1.72 3.516 3.866 0 1.445-.713 2.686-2.089 4.119-.944.984-2.151 2.01-3.579 3.224-.575.49-1.187 1.01-1.832 1.57-.645-.56-1.257-1.08-1.832-1.57-1.428-1.214-2.635-2.24-3.58-3.224C5.214 12.11 4.5 10.869 4.5 9.423c0-2.146 1.487-3.865 3.517-3.865 1.29 0 2.154.734 2.719 1.532a5.8 5.8 0 0 1 .774 1.56l.007.022v.004a.5.5 0 0 0 .965 0"})})}function li(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",fillOpacity:.9,d:"M11.67 19.376a.5.5 0 0 0 .66 0c.732-.64 1.435-1.239 2.1-1.805 1.453-1.235 2.722-2.314 3.703-3.335 1.443-1.504 2.367-2.984 2.367-4.812 0-2.588-1.83-4.866-4.517-4.866-1.736 0-2.865 1.008-3.535 1.954a7 7 0 0 0-.448.733 7 7 0 0 0-.448-.733c-.67-.946-1.8-1.954-3.535-1.954C5.33 4.558 3.5 6.836 3.5 9.424c0 1.828.924 3.308 2.367 4.812.98 1.02 2.25 2.1 3.703 3.335.665.566 1.368 1.165 2.1 1.805"})})}const ve={isFavouritedByCurrentUser(e){var n;return((n=e==null?void 0:e.favouritedBy)==null?void 0:n.data.length)===1},isFavouritedByUser(e,n){var i;return!!I.findWhere((i=e==null?void 0:e.favouritedBy)==null?void 0:i.data,{id:n==null?void 0:n.id})},updateVideoState(e,n,i){return{id:e.id,favouritedBy:{data:i?[{id:n.id}]:[],pagination:{limit:25,cursors:{next:"",previous:""}}}}},showFavouriteButton(e,n){var i;return(i=u.getCanBeConsumed(e))!=null&&i.canConsume?!!(n||Gt.isTabletOrMobile()||ve.isFavouritedByCurrentUser(e)):!1}},di="_favourited_19h9u_1",ui="_favouriteButton_19h9u_1",mi="_heart_19h9u_5",gi="_heartOutline_19h9u_16",ye={favourited:di,favouriteButton:ui,heart:mi,heartOutline:gi},vi="shared.favouriteButton",hi=E.encloseNamespace(vi);function Xe(e){const n=Rn(),i=ve.isFavouritedByCurrentUser(e.video),[a,s]=y.useState(i);y.useEffect(()=>{s(i)},[i]);let r=`d-flex align-items-center justify-content-center cursor-pointer ${ye.favouriteButton} ${a?ye.favourited:""}`;e.className&&(r+=` ${e.className}`);function o(){const l=!a;function d(){function m(){return u.isClip(e.video)?l?"favouriteClipError":"unfavouriteClipError":u.isInteractive(e.video)?l?"favouriteInteractiveError":"unfavouriteInteractiveError":l?"favouriteVideoError":"unfavouriteVideoError"}n.error(hi(m())),s(!l)}s(l),e.setFavourite(e.video,l,null,d,e.analyticsData,e.analyticsOptions)}return!B.isFunction(e.setFavourite)||!B.isFunction(e.canFavourite)?t.jsx(t.Fragment,{}):e.canFavourite(e.video)?t.jsxs(Me,{className:r,onClick:o,tabIndex:e.preventFocus?-1:void 0,children:[t.jsx(T,{svg:li,className:`svg-container ${ye.heart}`}),t.jsx(T,{svg:ci,className:`svg-container ${ye.heartOutline}`})]}):t.jsx(t.Fragment,{})}function Ci(e){const n=u.getVideoProgress(e.video),i=n&&e.video.duration&&n/e.video.duration*1e5;return i?t.jsx("div",{className:"bg-primary h-100",style:{width:`${i}%`}}):t.jsx(t.Fragment,{})}const fi="_bottomBar_575p1_1",xi={bottomBar:fi};function Je(e){return u.isVideo(e.video)?t.jsx("div",{className:xi.bottomBar,children:t.jsx(Ci,{video:e.video})}):t.jsx(t.Fragment,{})}const yi="d-inline-block svg-container",Li="span";function ji(e){const{children:n,className:i=yi,tagName:a=Li,size:s=Y.Standard,onClick:c,title:r,tooltipPlacement:o="right"}=e,l=a,d={className:`${i} svg-container ${s}`,onClick:B.isFunction(c)?c:null};return r?t.jsx(Q,{title:r,placement:o,children:t.jsx(l,{...d,children:n})}):t.jsx(l,{...d,children:n})}const wi="_std_1fcr4_1",bi="_sm_1fcr4_5",ki="_stdIcon_1fcr4_10",Ni="_smIcon_1fcr4_21",ne={std:wi,sm:bi,stdIcon:ki,smIcon:Ni};function pe(e){var n,i,a;return!u.isInteractive(e.video)&&!u.isClip(e.video)?t.jsx(t.Fragment,{}):!e.video._liteOwner&&!((n=e.video._isClickViewCurated)!=null&&n.value)?t.jsx(t.Fragment,{}):(i=e.video._isClickViewCurated)!=null&&i.value?t.jsx("div",{className:`${e.size==="sm"?ne.sm:ne.std} me-1 rounded-circle position-relative bg-white`,children:t.jsx(ji,{className:`me-1 ${e.size==="sm"?ne.smIcon:ne.stdIcon}`,children:t.jsx(Cn,{})})}):t.jsx("div",{className:`${e.size==="sm"?ne.sm:ne.std} me-1`,children:t.jsx(fn,{imageCdnUrl:e.imageCdnUrl,initials:xn.getInitials(e.video._liteOwner.name,e.video._liteOwner.surname),imageUrl:(a=e.video._liteOwner.avatar)==null?void 0:a.url})})}const Ii="_pluginHover_wpoz0_1",Si={pluginHover:Ii},Pi="shared.pluginHover";function et(e){return!e.isPlugin||e.isPluginPopup?t.jsx(t.Fragment,{}):t.jsx($,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,onClick:e.onClick,className:`
|
|
1
|
+
import{r as y,a3 as vn,aD as hn,j as t,ak as Ct,aq as $,B as X,aE as ft,ab as Oe,af as O,ae as ke,ad as ae,R as w,aF as Gt,c as I,F as B,w as Me,G as T,L as E,V as Y,K as Q,az as Cn,Q as fn,J as xn,au as yn,ap as de,M as Ee,Z as ue,aw as Ne,ar as He,q as zt,aG as Ut,aB as xt,a0 as Ln,ax as F,at as Be,A as jn}from"./app-Bul9pf1E.js";import{b as wn}from"./H2CWtcR2.chunk.js";import{u as bn,a as kn,b as Nn,C as Ge,i as In,c as Sn,g as Pn,K as fe,D as _n}from"./eyydBP-d.chunk.js";import{G as An,V,R as ze,a as Vn,C as $n}from"./DbgvA5KJ.chunk.js";import{S as Tn}from"./CTzmwEsw.chunk.js";import{V as u}from"./xlg4tfc3.chunk.js";import{B as p,a as W,C as Dn}from"./BmyE3_K4.chunk.js";import{B as Ue}from"./BnvcPzwH.chunk.js";import{u as Rn}from"./BrP4vSsu.chunk.js";import{B as Ze}from"./BKW_er5d.chunk.js";import{g as Fn,B as On,I as We,a as Ye}from"./KyeUwNqe.chunk.js";import{L as Zt,R as Qe,a as En}from"./BoQXuoHX.chunk.js";import{T as yt,u as Mn,O as Lt,V as Ie,c as Hn,I as Bn,b as Gn,R as zn,L as Un}from"./BHWn8YVt.chunk.js";import{a as qe,u as ge}from"./Bt9y2zOZ.chunk.js";import{C as Zn}from"./DoZ68JIg.chunk.js";import{M as re}from"./_sYSSSUN.chunk.js";import{A as Wn}from"./B_bHiwz7.chunk.js";import{H as P}from"./Kj832An8.chunk.js";var R=(e=>(e[e.MultipleChoice=1]="MultipleChoice",e[e.ShortAnswer=2]="ShortAnswer",e[e.TrueOrFalse=3]="TrueOrFalse",e[e.Annotation=4]="Annotation",e[e.Image=5]="Image",e[e.MissingWord=6]="MissingWord",e[e.Illustration=7]="Illustration",e))(R||{});const Yn={},Qn=y.createContext(null);function qn(e){return"series"in e?wn(e.series):null}function as(){var i;const e=vn(hn.config());return{hasCommonVideoPropsCompleted:e.hasCompleted,commonVideoProps:{subTextType:"series",getSubTextAppLink:qn,isPlugin:!1,canFavourite:null,setFavourite:null,yearGroups:null,imageCdnUrl:(i=e.data)==null?void 0:i.imageCdnUrl,getClassroomGuideAppLink:null,getInteractiveGuidanceAppLink:null,getResourceGuidanceAppLink:null,showNewVideoIndicator:!1,companyLogoFallbackUrl:null,hasStudentExperience:!1,hasGuestExperience:!1}}}function jt(e,n,i){if(!n)return null;const a=e.params??{};return i?a!=null&&a.previous?{application:e.application,action:e.action,args:e.args,params:{...a,cursor:a==null?void 0:a.previous,previous:null}}:{application:e.application,action:e.action,args:e.args,params:{...a,cursor:null,previous:null}}:{application:e.application,action:e.action,args:e.args,params:{...a,cursor:n,previous:a.cursor}}}Wt.defaultProps={className:"py-2",buttonVariant:"secondary"};function Wt({appLink:e,cursors:n,className:i,buttonVariant:a,prevHack:s,scrollTop:c,onClick:r}){function o(l){e&&c===!1&&Tn.preventScrollTop(),Oe.logUserAction({page:l},{location:ae.Pagination,entity:ke.Pagination,actionType:O.Navigate}),r&&r(n[l])}return e?t.jsx(Ct.Provider,{value:"shared.pagination",children:t.jsxs("div",{className:i,children:[t.jsx($,{appLink:jt(e,n.previous,s),className:`btn btn-${a} me-1 ${n.previous?"":"disabled"}`,onClick:()=>o("previous"),style:{display:"inline-block"},children:t.jsx(X,{phrase:"previous"})}),t.jsx($,{appLink:jt(e,n.next),className:`btn btn-${a} ${n.next?"":"disabled"}`,onClick:()=>o("next"),style:{display:"inline-block"},children:t.jsx(X,{phrase:"next"})})]})}):t.jsx(Ct.Provider,{value:"shared.pagination",children:t.jsxs("div",{className:i,children:[t.jsx(ft,{variant:a,className:`me-1 ${n.previous?"":"disabled"}`,onClick:()=>o("previous"),children:t.jsx(X,{phrase:"previous"})}),t.jsx(ft,{variant:a,className:`btn ${n.next?"":"disabled"}`,onClick:()=>o("next"),children:t.jsx(X,{phrase:"next"})})]})})}function Yt(e,n,i){const a=e.slice();return a.splice(i<0?a.length+i:i,0,a.splice(n,1)[0]),a}function xe(e){return e!==null&&e>=0}const Kn=e=>{let{rects:n,activeIndex:i,overIndex:a,index:s}=e;const c=Yt(n,a,i),r=n[s],o=c[s];return!o||!r?null:{x:o.left-r.left,y:o.top-r.top,scaleX:o.width/r.width,scaleY:o.height/r.height}},Xn="Sortable",Jn=w.createContext({activeIndex:-1,containerId:Xn,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Kn,disabled:{draggable:!1,droppable:!1}}),pn=e=>{let{id:n,items:i,activeIndex:a,overIndex:s}=e;return Yt(i,a,s).indexOf(n)},ei=e=>{let{containerId:n,isSorting:i,wasDragging:a,index:s,items:c,newIndex:r,previousItems:o,previousContainerId:l,transition:d}=e;return!d||!a||o!==c&&s===r?!1:i?!0:r!==s&&n===l},ti={duration:200,easing:"ease"},Qt="transform",ni=Ge.Transition.toString({property:Qt,duration:0,easing:"linear"}),ii={roleDescription:"sortable"};function ai(e){let{disabled:n,index:i,node:a,rect:s}=e;const[c,r]=y.useState(null),o=y.useRef(i);return Sn(()=>{if(!n&&i!==o.current&&a.current){const l=s.current;if(l){const d=Pn(a.current,{ignoreTransform:!0}),m={x:l.left-d.left,y:l.top-d.top,scaleX:l.width/d.width,scaleY:l.height/d.height};(m.x||m.y)&&r(m)}}i!==o.current&&(o.current=i)},[n,i,a,s]),y.useEffect(()=>{c&&requestAnimationFrame(()=>{r(null)})},[c]),c}function si(e){let{animateLayoutChanges:n=ei,attributes:i,disabled:a,data:s,getNewIndex:c=pn,id:r,strategy:o,resizeObserverConfig:l,transition:d=ti}=e;const{items:m,containerId:g,activeIndex:v,disabled:h,disableTransforms:x,sortedRects:f,overIndex:C,useDragOverlay:N,strategy:_}=y.useContext(Jn),L=oi(a,h),j=m.indexOf(r),S=y.useMemo(()=>({sortable:{containerId:g,index:j,items:m},...s}),[g,s,j,m]),G=y.useMemo(()=>m.slice(m.indexOf(r)),[m,r]),{rect:z,node:D,isOver:q,setNodeRef:se}=bn({id:r,data:S,disabled:L.droppable,resizeObserverConfig:{updateMeasurementsFor:G,...l}}),{active:U,activatorEvent:he,activeNodeRect:b,attributes:Ce,setNodeRef:ut,listeners:sn,isDragging:Te,over:on,setActivatorNodeRef:rn,transform:cn}=kn({id:r,data:S,attributes:{...ii,...i},disabled:L.draggable}),ln=Nn(se,ut),ee=!!U,mt=ee&&!x&&xe(v)&&xe(C),gt=!N&&Te,vt=gt&&mt?cn:null,dn=mt?vt??(o??_)({rects:f,activeNodeRect:b,activeIndex:v,overIndex:C,index:j}):null,oe=xe(v)&&xe(C)?c({id:r,items:m,activeIndex:v,overIndex:C}):j,te=U==null?void 0:U.id,k=y.useRef({activeId:te,items:m,newIndex:oe,containerId:g}),un=m!==k.current.items,ht=n({active:U,containerId:g,isDragging:Te,isSorting:ee,id:r,index:j,items:m,newIndex:k.current.newIndex,previousItems:k.current.items,previousContainerId:k.current.containerId,transition:d,wasDragging:k.current.activeId!=null}),De=ai({disabled:!ht,index:j,node:D,rect:z});return y.useEffect(()=>{ee&&k.current.newIndex!==oe&&(k.current.newIndex=oe),g!==k.current.containerId&&(k.current.containerId=g),m!==k.current.items&&(k.current.items=m)},[ee,oe,g,m]),y.useEffect(()=>{if(te===k.current.activeId)return;if(te&&!k.current.activeId){k.current.activeId=te;return}const gn=setTimeout(()=>{k.current.activeId=te},50);return()=>clearTimeout(gn)},[te]),{active:U,activeIndex:v,attributes:Ce,data:S,rect:z,index:j,newIndex:oe,items:m,isOver:q,isSorting:ee,isDragging:Te,listeners:sn,node:D,overIndex:C,over:on,setNodeRef:ln,setActivatorNodeRef:rn,setDroppableNodeRef:se,setDraggableNodeRef:ut,transform:De??dn,transition:mn()};function mn(){if(De||un&&k.current.newIndex===j)return ni;if(!(gt&&!In(he)||!d)&&(ee||ht))return Ge.Transition.toString({...d,property:Qt})}}function oi(e,n){var i,a;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(i=e==null?void 0:e.draggable)!=null?i:n.draggable,droppable:(a=e==null?void 0:e.droppable)!=null?a:n.droppable}}fe.Down,fe.Right,fe.Up,fe.Left;function ri(e,n,i){return n!==e?null:i>n?"down":i<n?"up":null}function Ke(e){const{setNodeRef:n,transform:i,transition:a,isSorting:s,listeners:c,attributes:r,activeIndex:o,overIndex:l,index:d}=si({id:e.id}),m={transform:Ge.Transform.toString(i),transition:a,touchAction:"none",position:"relative"};s&&d===o&&(m.visibility="hidden");const g=e.childComponent,v=ri(d,o,l);return t.jsx(g,{...e.childProps,ref:n,style:m,dragListeners:c,dragAttributes:r,dragDirection:v})}function ci(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",d:"M11.67 19.376a.5.5 0 0 0 .66 0c.732-.64 1.435-1.239 2.1-1.805 1.453-1.235 2.722-2.314 3.703-3.335 1.443-1.504 2.367-2.984 2.367-4.812 0-2.588-1.83-4.866-4.517-4.866-1.736 0-2.865 1.008-3.535 1.954a7 7 0 0 0-.448.733 7 7 0 0 0-.448-.733c-.67-.946-1.8-1.954-3.535-1.954C5.33 4.558 3.5 6.836 3.5 9.424c0 1.828.924 3.308 2.367 4.812.98 1.02 2.25 2.1 3.703 3.335.665.566 1.368 1.165 2.1 1.805m.812-10.7.001-.004.007-.022.03-.097a5.83 5.83 0 0 1 .744-1.463c.565-.798 1.428-1.532 2.72-1.532 2.03 0 3.516 1.72 3.516 3.866 0 1.445-.713 2.686-2.089 4.119-.944.984-2.151 2.01-3.579 3.224-.575.49-1.187 1.01-1.832 1.57-.645-.56-1.257-1.08-1.832-1.57-1.428-1.214-2.635-2.24-3.58-3.224C5.214 12.11 4.5 10.869 4.5 9.423c0-2.146 1.487-3.865 3.517-3.865 1.29 0 2.154.734 2.719 1.532a5.8 5.8 0 0 1 .774 1.56l.007.022v.004a.5.5 0 0 0 .965 0"})})}function li(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",fillOpacity:.9,d:"M11.67 19.376a.5.5 0 0 0 .66 0c.732-.64 1.435-1.239 2.1-1.805 1.453-1.235 2.722-2.314 3.703-3.335 1.443-1.504 2.367-2.984 2.367-4.812 0-2.588-1.83-4.866-4.517-4.866-1.736 0-2.865 1.008-3.535 1.954a7 7 0 0 0-.448.733 7 7 0 0 0-.448-.733c-.67-.946-1.8-1.954-3.535-1.954C5.33 4.558 3.5 6.836 3.5 9.424c0 1.828.924 3.308 2.367 4.812.98 1.02 2.25 2.1 3.703 3.335.665.566 1.368 1.165 2.1 1.805"})})}const ve={isFavouritedByCurrentUser(e){var n;return((n=e==null?void 0:e.favouritedBy)==null?void 0:n.data.length)===1},isFavouritedByUser(e,n){var i;return!!I.findWhere((i=e==null?void 0:e.favouritedBy)==null?void 0:i.data,{id:n==null?void 0:n.id})},updateVideoState(e,n,i){return{id:e.id,favouritedBy:{data:i?[{id:n.id}]:[],pagination:{limit:25,cursors:{next:"",previous:""}}}}},showFavouriteButton(e,n){var i;return(i=u.getCanBeConsumed(e))!=null&&i.canConsume?!!(n||Gt.isTabletOrMobile()||ve.isFavouritedByCurrentUser(e)):!1}},di="_favourited_19h9u_1",ui="_favouriteButton_19h9u_1",mi="_heart_19h9u_5",gi="_heartOutline_19h9u_16",ye={favourited:di,favouriteButton:ui,heart:mi,heartOutline:gi},vi="shared.favouriteButton",hi=E.encloseNamespace(vi);function Xe(e){const n=Rn(),i=ve.isFavouritedByCurrentUser(e.video),[a,s]=y.useState(i);y.useEffect(()=>{s(i)},[i]);let r=`d-flex align-items-center justify-content-center cursor-pointer ${ye.favouriteButton} ${a?ye.favourited:""}`;e.className&&(r+=` ${e.className}`);function o(){const l=!a;function d(){function m(){return u.isClip(e.video)?l?"favouriteClipError":"unfavouriteClipError":u.isInteractive(e.video)?l?"favouriteInteractiveError":"unfavouriteInteractiveError":l?"favouriteVideoError":"unfavouriteVideoError"}n.error(hi(m())),s(!l)}s(l),e.setFavourite(e.video,l,null,d,e.analyticsData,e.analyticsOptions)}return!B.isFunction(e.setFavourite)||!B.isFunction(e.canFavourite)?t.jsx(t.Fragment,{}):e.canFavourite(e.video)?t.jsxs(Me,{className:r,onClick:o,tabIndex:e.preventFocus?-1:void 0,children:[t.jsx(T,{svg:li,className:`svg-container ${ye.heart}`}),t.jsx(T,{svg:ci,className:`svg-container ${ye.heartOutline}`})]}):t.jsx(t.Fragment,{})}function Ci(e){const n=u.getVideoProgress(e.video),i=n&&e.video.duration&&n/e.video.duration*1e5;return i?t.jsx("div",{className:"bg-primary h-100",style:{width:`${i}%`}}):t.jsx(t.Fragment,{})}const fi="_bottomBar_575p1_1",xi={bottomBar:fi};function Je(e){return u.isVideo(e.video)?t.jsx("div",{className:xi.bottomBar,children:t.jsx(Ci,{video:e.video})}):t.jsx(t.Fragment,{})}const yi="d-inline-block svg-container",Li="span";function ji(e){const{children:n,className:i=yi,tagName:a=Li,size:s=Y.Standard,onClick:c,title:r,tooltipPlacement:o="right"}=e,l=a,d={className:`${i} svg-container ${s}`,onClick:B.isFunction(c)?c:null};return r?t.jsx(Q,{title:r,placement:o,children:t.jsx(l,{...d,children:n})}):t.jsx(l,{...d,children:n})}const wi="_std_1fcr4_1",bi="_sm_1fcr4_5",ki="_stdIcon_1fcr4_10",Ni="_smIcon_1fcr4_21",ne={std:wi,sm:bi,stdIcon:ki,smIcon:Ni};function pe(e){var n,i,a;return!u.isInteractive(e.video)&&!u.isClip(e.video)?t.jsx(t.Fragment,{}):!e.video._liteOwner&&!((n=e.video._isClickViewCurated)!=null&&n.value)?t.jsx(t.Fragment,{}):(i=e.video._isClickViewCurated)!=null&&i.value?t.jsx("div",{className:`${e.size==="sm"?ne.sm:ne.std} me-1 rounded-circle position-relative bg-white`,children:t.jsx(ji,{className:`me-1 ${e.size==="sm"?ne.smIcon:ne.stdIcon}`,children:t.jsx(Cn,{})})}):t.jsx("div",{className:`${e.size==="sm"?ne.sm:ne.std} me-1`,children:t.jsx(fn,{imageCdnUrl:e.imageCdnUrl,initials:xn.getInitials(e.video._liteOwner.name,e.video._liteOwner.surname),imageUrl:(a=e.video._liteOwner.avatar)==null?void 0:a.url})})}const Ii="_pluginHover_wpoz0_1",Si={pluginHover:Ii},Pi="shared.pluginHover";function et(e){return!e.isPlugin||e.isPluginPopup?t.jsx(t.Fragment,{}):t.jsx($,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,onClick:e.onClick,className:`
|
|
2
2
|
position-absolute top-0 start-0 end-0 bottom-0 opacity-0 cursor-pointer
|
|
3
3
|
${Si.pluginHover}
|
|
4
4
|
${e.className?e.className:""}
|
|
@@ -47,4 +47,4 @@ import{r as y,a3 as vn,aD as hn,j as t,ak as Ct,aq as $,B as X,aE as ft,ab as Oe
|
|
|
47
47
|
<path fill-rule='evenodd' clip-rule='evenodd' d='M18.2411 13.7881C18.2887 13.5157 18.0395 13.2465 17.6953 13.3346C17.3344 13.4271 16.9508 13.4506 16.5627 13.3938C15.8185 14.404 15.232 15.0693 14.7556 15.4771C14.9397 15.8591 14.9223 16.3164 14.7953 16.7237C14.663 17.148 14.3965 17.5746 14.004 17.9197C13.1974 18.6288 11.9124 18.9538 10.252 18.3555L9.6361 18.1336L10.8248 16.4403C10.8536 16.3994 10.895 16.2797 10.948 15.9967C10.9568 15.9502 10.9658 15.8998 10.9752 15.8466L10.9753 15.846L10.9754 15.8459L10.9754 15.8459C11.0141 15.6287 11.0613 15.3639 11.1335 15.1223C11.2242 14.8188 11.3771 14.4637 11.6835 14.2095C11.9817 13.9622 12.3608 13.8619 12.8023 13.9024C13.0571 13.2864 13.5182 12.476 14.2494 11.3987L14.2357 11.357C14.2007 11.2488 14.1511 11.0868 14.119 10.8858C14.0536 10.4764 14.0643 9.9266 14.3604 9.29657C14.4494 9.10715 14.5146 8.91445 14.5573 8.72168C14.8536 7.38674 14.077 6.0484 12.7163 5.76998C12.6531 5.75701 12.5892 5.74486 12.5246 5.73347C8.70188 5.05944 5.05659 7.61193 4.38254 11.4346C3.70848 15.2574 6.26101 18.9027 10.0837 19.5768C13.9064 20.2508 17.5518 17.6983 18.2258 13.8756L18.2411 13.7881ZM15.8626 12.6572C15.8947 12.5723 15.9481 12.5005 16.0149 12.4463C16.091 12.34 16.1692 12.2296 16.2493 12.1152C17.2716 10.6552 18.1315 9.27136 18.6754 8.22122C18.8855 7.81559 19.042 7.47194 19.1431 7.19994C18.9065 7.38016 18.6161 7.63896 18.2839 7.97168C17.4465 8.81052 16.4034 10.0589 15.3866 11.5111C14.5179 12.7517 14.0214 13.6064 13.7659 14.1913L14.285 14.5548C14.6757 14.1827 15.1887 13.5831 15.8626 12.6572ZM17.4471 12.3659C17.3881 12.381 17.3282 12.3933 17.2674 12.4027C18.2189 11.0249 19.029 9.71286 19.5633 8.68114C19.8471 8.13334 20.0641 7.64372 20.1787 7.25589C20.2351 7.06519 20.2765 6.8674 20.2745 6.68479C20.2725 6.51587 20.2295 6.23216 19.9736 6.05296C19.7244 5.87848 19.4469 5.92652 19.2885 5.97523C19.1139 6.02893 18.9362 6.12717 18.7674 6.23956C18.4249 6.46764 18.0169 6.82379 17.5762 7.26518C16.8442 7.99842 15.9806 9.00929 15.1147 10.1778C15.1398 10.0455 15.1836 9.90125 15.2542 9.74611L15.2654 9.72185C16.2163 7.69819 15.1756 5.25268 12.9173 4.7904C12.8445 4.77544 12.7715 4.76158 12.6983 4.74868C8.33172 3.97872 4.16769 6.89438 3.39773 11.261C2.62777 15.6276 5.54347 19.7916 9.91006 20.5616C14.2767 21.3315 18.4407 18.4159 19.2106 14.0492L19.2262 13.9606C19.4123 12.8961 18.4178 12.1172 17.4471 12.3659ZM11.6433 17.0149C11.8176 16.7665 11.8855 16.4229 11.9309 16.1811C11.9432 16.1158 11.9545 16.0525 11.9655 15.9909C12.0033 15.7804 12.0374 15.5901 12.0916 15.4086C12.161 15.1765 12.2405 15.0468 12.3219 14.9792C12.3717 14.9379 12.4608 14.8871 12.649 14.894L13.8774 15.9774C13.9004 16.0738 13.9028 16.2267 13.8406 16.426C13.7637 16.6728 13.6001 16.9432 13.3438 17.1686C12.934 17.5288 12.2479 17.8037 11.2342 17.5976L11.6433 17.0149ZM7 14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5C8 14.2239 7.77614 14 7.5 14C7.22386 14 7 14.2239 7 14.5ZM9 14.5C9 15.3284 8.32843 16 7.5 16C6.67157 16 6 15.3284 6 14.5C6 13.6716 6.67157 13 7.5 13C8.32843 13 9 13.6716 9 14.5ZM11.6 8.5C11.6 8.77614 11.3761 9 11.1 9C10.8238 9 10.6 8.77614 10.6 8.5C10.6 8.22386 10.8238 8 11.1 8C11.3761 8 11.6 8.22386 11.6 8.5ZM9.59998 8.5C9.59998 9.32843 10.2715 10 11.1 10C11.9284 10 12.6 9.32843 12.6 8.5C12.6 7.67157 11.9284 7 11.1 7C10.2715 7 9.59998 7.67157 9.59998 8.5ZM7.70007 11C7.42393 11 7.20007 10.7761 7.20007 10.5C7.20007 10.2239 7.42393 10 7.70007 10C7.97622 10 8.20007 10.2239 8.20007 10.5C8.20007 10.7761 7.97622 11 7.70007 11ZM7.70007 12C8.5285 12 9.20007 11.3284 9.20007 10.5C9.20007 9.67157 8.5285 9 7.70007 9C6.87165 9 6.20007 9.67157 6.20007 10.5C6.20007 11.3284 6.87165 12 7.70007 12Z' />
|
|
48
48
|
</svg>
|
|
49
49
|
`}const j1=E.encloseNamespace("shared.interactionTypes"),A=(e,n)=>E.isInitialised()?j1(e):n;function K(e){return t.jsx("div",{dangerouslySetInnerHTML:{__html:e}})}const w1={[R.Annotation](){return{name:A("annotationName","Annotation"),bgClassName:"bg-pink",Svg:()=>K(Et()),svgEl:Et(),typeName:"annotation"}},[R.Image](){return{name:A("imageName","Image"),bgClassName:"bg-orange",Svg:()=>K(Ot()),svgEl:Ot(),typeName:"image"}},[R.MissingWord](){return{name:A("missingWordName","Fill in the blank"),prompt:A("missingWordPrompt","Fill in the blank by typing the missing word(s)"),bgClassName:"bg-teal",Svg:()=>K(Rt()),svgEl:Rt(),typeName:"missing-word"}},[R.MultipleChoice](){return{name:A("multipleChoiceName","Multiple choice"),prompt:A("multipleChoicePrompt","Choose the correct answer(s)"),bgClassName:"bg-blue",Svg:()=>K(Ft()),svgEl:Ft(),typeName:"multiple-choice"}},[R.ShortAnswer](){return{name:A("shortAnswerName","Short answer"),prompt:A("shortAnswerPrompt","Type in your answer to the question"),bgClassName:"bg-green",Svg:()=>K(Dt()),svgEl:Dt(),typeName:"short-answer"}},[R.TrueOrFalse](){return{name:A("trueOrFalseName","True or false"),prompt:A("trueOrFalsePrompt","Choose the correct answer"),bgClassName:"bg-purple",Svg:()=>K(Tt()),svgEl:Tt(),typeName:"true-or-false"}},[R.Illustration](){return{name:A("illustrationName","Illustrate"),prompt:A("illustrationPrompt","Draw the answer"),bgClassName:"bg-indigo",Svg:()=>K(Mt()),svgEl:Mt(),typeName:"illustration"}}},b1={getTypeInfo:e=>{const n=w1[e];if(!n){zt.throw(new Ut(`No type info defined for typeId: ${e}`));return}return n()}};function k1(e,n,i){return e.replace(new RegExp(`<${n}.*?>`,"gi"),"").replace(new RegExp(`</${n}>`,"gi"),i?"<br>":"")}function Ht(e,n,i=!1){return!e||!n.length?e:n.reduce((a,s)=>k1(a,s,i),e)}const N1={stripTags(e){var s,c,r;const{text:n,fallbackText:i}=e;if(!n)return;let a=n;return a=Ht(a,["ul","ol","b","i","u","old","em","strong","sup","sub","a","span","svg","path"]),a=Ht(a,["li","p","div"],!0),((r=(c=(s=a.split("<br>"))==null?void 0:s.filter(o=>!!o))==null?void 0:c.join(""))==null?void 0:r.trim())||i}};function I1(e){return N1.stripTags({text:e,fallbackText:"Annotation"})}nn.defaultProps={showIcon:!0,showQuestion:!0};function nn(e){const{name:n,bgClassName:i,Svg:a}=b1.getTypeInfo(e.interaction.typeId),s=e.questionNumber?`${e.questionNumber}. `:"";let c=`interaction-type-icon flex-shrink-0 ${i}`;return e.smallIcon&&(c+=" sm"),(e.showQuestion||e.showTypeName)&&(c+=e.smallIcon?" me-1":" me-2"),e.iconClassName&&(c+=` ${e.iconClassName}`),t.jsxs("span",{className:e.containerClassName,children:[!!e.showIcon&&t.jsx("span",{className:c,children:t.jsx(a,{})}),t.jsxs($,{appLink:e.appLink,onClick:e.onClick,children:[!!e.showTypeName&&t.jsx("span",{className:e.typeNameClassName,children:t.jsxs("strong",{children:[s,n]})}),!!e.showQuestion&&t.jsx("span",{className:e.questionClassName,children:e.interaction.typeId===R.Annotation?t.jsx("span",{dangerouslySetInnerHTML:{__html:I1(e.interaction.data.annotation)}}):e.interaction.name})]})]})}const S1="shared.interactiveItem";function P1(e){const n=Vn();return typeof e=="number"?e:n===re.XS?3:n===re.SM?1:n===re.MD||n===re.LG?2:3}function _1(e){var c;const n=P1(e.totalToDisplay);if(!((c=e.timepoints)!=null&&c.length))return t.jsx(t.Fragment,{});const i=[];let a=0;e.timepoints.forEach(r=>{r==null||r.interactions.forEach(o=>{if(Yn[o.typeId]||a>=n)return;a++;const l=o.typeId===R.Annotation&&typeof o.data=="string"?JSON.parse(o.data):o.data,d={...o,data:{...l,appLink:e.appLink&&{...e.appLink,params:{t:Math.floor(r.visibleAt/1e3)}}}};i.push(d)})});const s=e.timepoints.reduce((r,o)=>{var d;const l=((d=o==null?void 0:o.interactions)==null?void 0:d.length)??0;return r+=l,r},0);return i.length?t.jsxs(t.Fragment,{children:[i.map((r,o)=>{var l,d;return t.jsx("div",{className:"d-flex align-items-center mb-1",children:t.jsx("div",{className:"clamp-1",children:t.jsx(nn,{interaction:r,appLink:(l=r.data)==null?void 0:l.appLink,onClick:(d=r.data)!=null&&d.appLink?e.onClickAppLink:null,smallIcon:!0})})},o)}),t.jsx("div",{className:"mb-1 text-link",children:t.jsx($,{className:"cursor-pointer hover-text-underline",appLink:e.previewAppLink,onClick:e.onClickAppLink,children:t.jsx(X,{namespace:S1,phrase:"previewQuestions",options:{questionsShown:i.length,smartCount:s}})})})]}):t.jsx(t.Fragment,{})}const an=y.forwardRef((e,n)=>{var f,C,N;const i=Be(),[a,s]=ge(),c=V.getSize(i,e.size),r=c==="sm",{isSortable:o}=y.useContext($e),l=lt((f=e.video.subjectPresentationAudiences)==null?void 0:f.data,e.presentationAudiences),d=o&&!i.xs&&(s||typeof e.index>"u"||!e.showIndexes),m=e.showIndexes&&!d&&!i.xs,g=(d||e.showIndexes)&&!i.xs,v=e.getVideoAppLink(e.video,{}),h={analyticsData:e.analyticsData,analyticsOptions:{entity:ke.Interactive,location:ae.InteractiveListItem}},{canNavigate:x}=u.getCanBeConsumed(e.video);return t.jsx("div",{ref:a,className:"w-100",children:t.jsxs("div",{className:"row g-0 py-2",ref:n,style:e.style,children:[t.jsx(F,{...V.getThumbnailColumns(),className:`flex-column align-items-flex-start ${r?"pb-2 pe-2":"mb-1 px-2"}`,children:t.jsxs(ze,{children:[t.jsx(Ae,{index:e.index,showDragHandle:d,showIndexes:m,dragHandleIcon:e.dragHandleIcon,dragHandleIconSize:e.dragHandleIconSize,dragAttributes:e.dragAttributes,dragListeners:e.dragListeners}),t.jsx(F,{xs:V.getThumbnailColSize(g),children:t.jsx(_e,{...h,video:e.video,appLink:v,audience:l,imageOptions:{size:de.Medium},textPosition:H.Independent,type:"static",hideDuration:r,commonVideoProps:{...e.commonVideoProps,subTextType:"none"}})})]})}),t.jsxs(F,{...V.getDetailsColumns(),className:`position-relative ${r?"pb-2":"px-2"}`,children:[t.jsxs("div",{className:"d-flex justify-content-between",children:[t.jsx(Ve,{video:e.video,appLink:v,size:c,yearGroups:e.commonVideoProps.yearGroups,showPadlock:!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience,linkClassName:"flex-grow-1",...h}),t.jsx(ct,{...h,video:e.video,showSignIn:e.showSignIn,signInAppLink:(C=e.getSignInAppLink)==null?void 0:C.call(e,v)})]}),x?t.jsx("div",{className:"pt-sm-1 pt-md-0",children:t.jsx(_1,{timepoints:(N=e.video._timepoints)==null?void 0:N.value,appLink:v,previewAppLink:e.getPreviewQuestionsAppLink(e.video)})}):t.jsx(ot,{video:e.video,showSignIn:e.showSignIn,hasStudentExperience:e.commonVideoProps.hasStudentExperience,hasGuestExperience:e.commonVideoProps.hasGuestExperience}),!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience&&t.jsx(rt,{video:e.video,yearGroups:e.commonVideoProps.yearGroups})]})]})})}),A1=e=>t.jsx(Ke,{id:e.video.id,childComponent:an,childProps:e}),V1="_responsiveGuidance_kx84c_2",$1={responsiveGuidance:V1},dt=y.forwardRef((e,n)=>{var N,_,L,j;const i=Be(),[a,s]=ge(),c=V.getSize(i,e.size),r=c==="sm",{isSortable:o}=y.useContext($e),l=(_=(N=e.video)==null?void 0:N.subjectPresentationAudiences)==null?void 0:_.data,d=lt(l,e.presentationAudiences),m=o&&!i.xs&&(s||typeof e.index>"u"||!e.showIndexes),g=e.showIndexes&&!m&&!i.xs,v=(m||e.showIndexes)&&!i.xs,h=(L=e.getVideoAppLink)==null?void 0:L.call(e,e.video,{});function x(){var S,G;return(G=(S=e.commonVideoProps).getSubTextAppLink)==null?void 0:G.call(S,e.video)}const f=x(),C={analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions??{entity:ke.Video,location:ae.VideoListItem}};return t.jsx("div",{ref:a,className:"w-100",children:t.jsxs("div",{className:`row g-0 ${r?"":"py-2"}`,style:e.style,ref:n,children:[t.jsx(F,{...V.getThumbnailColumns(),className:"flex-column align-items-flex-start mb-1 mb-sm-0 pb-sm-2 pe-sm-2 px-md-2 pb-md-0",children:t.jsxs(ze,{children:[t.jsx(Ae,{index:e.index,showDragHandle:m,showIndexes:g,dragHandleIcon:e.dragHandleIcon,dragHandleIconSize:e.dragHandleIconSize,dragAttributes:e.dragAttributes,dragListeners:e.dragListeners}),t.jsx(F,{xs:V.getThumbnailColSize(v),children:t.jsx(_e,{...C,video:e.video,appLink:h,audience:d,imageOptions:{size:v?de.Small:de.Medium},textPosition:H.Independent,type:"static",hideRating:!1,commonVideoProps:e.commonVideoProps})})]})}),t.jsxs(F,{...V.getDetailsColumns(),className:"d-flex position-relative flex-column px-0 px-md-2 pb-0 pb-sm-2 pb-md-0 justify-content-md-between",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"d-flex justify-content-between",children:[t.jsxs("div",{className:"flex-grow-1",children:[t.jsx(Ie,{...C,video:e.video,appLink:f,type:e.commonVideoProps.subTextType}),t.jsx(Ve,{...C,video:e.video,appLink:h,size:c,yearGroups:e.commonVideoProps.yearGroups,showNewVideoIndicator:e.commonVideoProps.showNewVideoIndicator,showPadlock:!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience,titleClassName:"mb-0"})]}),t.jsx(ct,{...C,video:e.video,showSignIn:e.showSignIn,signInAppLink:(j=e.getSignInAppLink)==null?void 0:j.call(e,h)})]}),!r&&t.jsx(ot,{video:e.video,showSignIn:e.showSignIn,hasStudentExperience:e.commonVideoProps.hasStudentExperience,hasGuestExperience:e.commonVideoProps.hasGuestExperience}),!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience&&t.jsx(rt,{video:e.video,yearGroups:e.commonVideoProps.yearGroups})]}),!e.hideVideoGuidance&&t.jsx(st,{video:e.video,getVideoAppLink:e.getVideoAppLink,commonVideoProps:e.commonVideoProps,containerClassName:"d-flex justify-content-start align-items-center pt-sm-1 gap-1",responsiveClassName:$1.responsiveGuidance,...C})]})]})})});dt.defaultProps={dragHandleIcon:en,dragHandleIconSize:Y.Small,size:"md"};const T1=e=>t.jsx(Ke,{id:e.video.id,childComponent:dt,childProps:e}),D1="_videoList_ix6n3_4",R1="_dragStyle_ix6n3_31",Bt={videoList:D1,dragStyle:R1},F1="shared.videoList",O1=E.encloseNamespace(F1);function E1(e,n){return u.isClip(e)?n?L1:tn:u.isInteractive(e)?n?A1:an:n?T1:dt}const $e=y.createContext({isSortable:!1});function ss(e){const{isSortable:n}=y.useContext($e),[i,a]=y.useState(!1),{checkboxHelper:s}=e,c=jn.getCurrentAppLink();return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`position-relative ${Bt.videoList}`,children:e.videos.map((r,o)=>{const l=E1(r,n),d=Number.isInteger(e.startingPositionIndex)?e.startingPositionIndex:0,m=s&&s.getSelectedCount()>1&&s.isChecked(r.id)?s.getSelected():r,g=typeof e.getAnalyticsData=="function"?e.getAnalyticsData(o):{pagePositionIndex:d+o};return t.jsx(_n,{draggable:e.drag&&!n&&{id:r.id,data:m},dragStyle:Bt.dragStyle,isDragging:i,setIsDragging:a,children:t.jsxs("div",{className:"d-flex flex-row align-items-center",children:[e.allowBulkAction&&t.jsx($n,{className:"mx-0 mx-md-2",id:r.id,ariaLabel:`${O1("ariaBulkAction")}: ${r.name}`,onChange:()=>s.onToggleItem(r.id),checked:s.isChecked(r.id)}),t.jsx(l,{video:r,index:o,getVideoAppLink:e.getVideoAppLink,dragHandleIcon:e.dragHandleIcon,dragHandleIconSize:e.dragHandleIconSize,showSignIn:e.showSignIn,getSignInAppLink:e.getSignInAppLink,analyticsData:g,hasPermissions:e.hasPermissions,canRemovePrivateVideos:e.canRemovePrivateVideos,presentationAudiences:e.presentationAudiences,showIndexes:e.showIndexes,getPreviewQuestionsAppLink:e.getPreviewQuestionsAppLink,hideVideoGuidance:e.hideVideoGuidance,showOwner:e.showOwner,commonVideoProps:e.commonVideoProps,analyticsOptions:e.analyticsOptions})]})},`${r.id}:${o}`)})}),e.cursors&&t.jsx(Wt,{appLink:c,cursors:e.cursors})]})}export{Ji as A,tn as C,an as I,Jt as M,H as T,ss as V,Qn as a,dt as b,lt as c,_e as d,Ve as e,u1 as f,st as g,Xt as h,as as u};
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=ScSsUu0E.chunk.js.map
|