@clickview/exchange 0.60.0 → 0.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{DQWSGmPO.chunk.js → 2GC-PPDy.chunk.js} +2 -2
- package/dist/scripts/{DQWSGmPO.chunk.js.map → 2GC-PPDy.chunk.js.map} +1 -1
- package/dist/scripts/{C_vLRfti.chunk.js → 5yUbuX8U.chunk.js} +2 -2
- package/dist/scripts/{C_vLRfti.chunk.js.map → 5yUbuX8U.chunk.js.map} +1 -1
- package/dist/scripts/{DfR8N6KN.chunk.js → B1cVJr0t.chunk.js} +2 -2
- package/dist/scripts/{DfR8N6KN.chunk.js.map → B1cVJr0t.chunk.js.map} +1 -1
- package/dist/scripts/B4AGq_K6.chunk.js +2 -0
- package/dist/scripts/{u96pPes-.chunk.js.map → B4AGq_K6.chunk.js.map} +1 -1
- package/dist/scripts/{Ej7a07_u.chunk.js → B57luw20.chunk.js} +2 -2
- package/dist/scripts/{Ej7a07_u.chunk.js.map → B57luw20.chunk.js.map} +1 -1
- package/dist/scripts/{Csq5lSfL.chunk.js → B5VX0-05.chunk.js} +2 -2
- package/dist/scripts/{Csq5lSfL.chunk.js.map → B5VX0-05.chunk.js.map} +1 -1
- package/dist/scripts/{B1FXQpYQ.chunk.js → B5yQ-o2c.chunk.js} +2 -2
- package/dist/scripts/{B1FXQpYQ.chunk.js.map → B5yQ-o2c.chunk.js.map} +1 -1
- package/dist/scripts/{CfHe4kqG.chunk.js → BAaMmtA5.chunk.js} +2 -2
- package/dist/scripts/{CfHe4kqG.chunk.js.map → BAaMmtA5.chunk.js.map} +1 -1
- package/dist/scripts/{Ien9POMb.chunk.js → BJB2pvo-.chunk.js} +2 -2
- package/dist/scripts/{Ien9POMb.chunk.js.map → BJB2pvo-.chunk.js.map} +1 -1
- package/dist/scripts/{CXQ4Otim.chunk.js → BJmQsLgH.chunk.js} +2 -2
- package/dist/scripts/{CXQ4Otim.chunk.js.map → BJmQsLgH.chunk.js.map} +1 -1
- package/dist/scripts/{zD1LoHGd.chunk.js → BKtt7r9I.chunk.js} +2 -2
- package/dist/scripts/{zD1LoHGd.chunk.js.map → BKtt7r9I.chunk.js.map} +1 -1
- package/dist/scripts/{CLS2QNAc.chunk.js → BQ7D2X0o.chunk.js} +2 -2
- package/dist/scripts/{CLS2QNAc.chunk.js.map → BQ7D2X0o.chunk.js.map} +1 -1
- package/dist/scripts/{Bv-rZ1ws.chunk.js → BQTdalXA.chunk.js} +2 -2
- package/dist/scripts/{Bv-rZ1ws.chunk.js.map → BQTdalXA.chunk.js.map} +1 -1
- package/dist/scripts/{C52tRwVm.chunk.js → BR_C7b5M.chunk.js} +2 -2
- package/dist/scripts/{C52tRwVm.chunk.js.map → BR_C7b5M.chunk.js.map} +1 -1
- package/dist/scripts/{DxRcVeDA.chunk.js → BVViiWF8.chunk.js} +2 -2
- package/dist/scripts/{DxRcVeDA.chunk.js.map → BVViiWF8.chunk.js.map} +1 -1
- package/dist/scripts/{BwA4-wPQ.chunk.js → BWoESSLv.chunk.js} +2 -2
- package/dist/scripts/{BwA4-wPQ.chunk.js.map → BWoESSLv.chunk.js.map} +1 -1
- package/dist/scripts/{DhSjZ3FD.chunk.js → BZXmaOzt.chunk.js} +2 -2
- package/dist/scripts/{DhSjZ3FD.chunk.js.map → BZXmaOzt.chunk.js.map} +1 -1
- package/dist/scripts/{CkxEvxLE.chunk.js → Bcaq2QKq.chunk.js} +2 -2
- package/dist/scripts/{CkxEvxLE.chunk.js.map → Bcaq2QKq.chunk.js.map} +1 -1
- package/dist/scripts/{BuwaCenI.chunk.js → BdMXRcT3.chunk.js} +2 -2
- package/dist/scripts/{BuwaCenI.chunk.js.map → BdMXRcT3.chunk.js.map} +1 -1
- package/dist/scripts/{C0I1ovgn.chunk.js → BlabCH8N.chunk.js} +2 -2
- package/dist/scripts/{C0I1ovgn.chunk.js.map → BlabCH8N.chunk.js.map} +1 -1
- package/dist/scripts/{2NsO29qP.chunk.js → Bo-iDjSh.chunk.js} +2 -2
- package/dist/scripts/{2NsO29qP.chunk.js.map → Bo-iDjSh.chunk.js.map} +1 -1
- package/dist/scripts/{Cjy2K1zH.chunk.js → BqRzwJ-J.chunk.js} +2 -2
- package/dist/scripts/{Cjy2K1zH.chunk.js.map → BqRzwJ-J.chunk.js.map} +1 -1
- package/dist/scripts/BrdU6Hc2.chunk.js +2 -0
- package/dist/scripts/{WarFtyTw.chunk.js.map → BrdU6Hc2.chunk.js.map} +1 -1
- package/dist/scripts/{Cca7nDsG.chunk.js → Bt07VepM.chunk.js} +2 -2
- package/dist/scripts/{Cca7nDsG.chunk.js.map → Bt07VepM.chunk.js.map} +1 -1
- package/dist/scripts/{3hd9Wq4c.chunk.js → BtbirQej.chunk.js} +2 -2
- package/dist/scripts/{3hd9Wq4c.chunk.js.map → BtbirQej.chunk.js.map} +1 -1
- package/dist/scripts/{DCLePavE.chunk.js → Byh4RoGO.chunk.js} +2 -2
- package/dist/scripts/{DCLePavE.chunk.js.map → Byh4RoGO.chunk.js.map} +1 -1
- package/dist/scripts/{DTHb9InD.chunk.js → Bz3eAWKb.chunk.js} +2 -2
- package/dist/scripts/{DTHb9InD.chunk.js.map → Bz3eAWKb.chunk.js.map} +1 -1
- package/dist/scripts/{Cu0qnVi5.chunk.js → BzzIpmJj.chunk.js} +2 -2
- package/dist/scripts/{Cu0qnVi5.chunk.js.map → BzzIpmJj.chunk.js.map} +1 -1
- package/dist/scripts/{C7un82WP.chunk.js → C3LmB7vs.chunk.js} +2 -2
- package/dist/scripts/{C7un82WP.chunk.js.map → C3LmB7vs.chunk.js.map} +1 -1
- package/dist/scripts/C42aTLRq.chunk.js +2 -0
- package/dist/scripts/{C2TRBWPd.chunk.js.map → C42aTLRq.chunk.js.map} +1 -1
- package/dist/scripts/C4BzCmwg.chunk.js +2 -0
- package/dist/scripts/{BwdSbre5.chunk.js.map → C4BzCmwg.chunk.js.map} +1 -1
- package/dist/scripts/{B5mlcFJg.chunk.js → CFRAo5Sd.chunk.js} +2 -2
- package/dist/scripts/{B5mlcFJg.chunk.js.map → CFRAo5Sd.chunk.js.map} +1 -1
- package/dist/scripts/{C-Dd1wEr.chunk.js → CKGW3m2X.chunk.js} +3 -3
- package/dist/scripts/{C-Dd1wEr.chunk.js.map → CKGW3m2X.chunk.js.map} +1 -1
- package/dist/scripts/{D0Tp9Z65.chunk.js → CL6ZWANl.chunk.js} +2 -2
- package/dist/scripts/{D0Tp9Z65.chunk.js.map → CL6ZWANl.chunk.js.map} +1 -1
- package/dist/scripts/CLgSNdF3.chunk.js +2 -0
- package/dist/scripts/{BxcHYWuR.chunk.js.map → CLgSNdF3.chunk.js.map} +1 -1
- package/dist/scripts/{XOHWRN-E.chunk.js → CMfzHyZ-.chunk.js} +2 -2
- package/dist/scripts/{XOHWRN-E.chunk.js.map → CMfzHyZ-.chunk.js.map} +1 -1
- package/dist/scripts/{Vk3DDGeP.chunk.js → CPvN_Soe.chunk.js} +2 -2
- package/dist/scripts/{Vk3DDGeP.chunk.js.map → CPvN_Soe.chunk.js.map} +1 -1
- package/dist/scripts/{LLCJ2-mR.chunk.js → CYISpSfn.chunk.js} +2 -2
- package/dist/scripts/{LLCJ2-mR.chunk.js.map → CYISpSfn.chunk.js.map} +1 -1
- package/dist/scripts/{DfcdtoXp.chunk.js → CZQS_NPT.chunk.js} +2 -2
- package/dist/scripts/{DfcdtoXp.chunk.js.map → CZQS_NPT.chunk.js.map} +1 -1
- package/dist/scripts/{DeW1mjFb.chunk.js → CcHhPXQX.chunk.js} +2 -2
- package/dist/scripts/{DeW1mjFb.chunk.js.map → CcHhPXQX.chunk.js.map} +1 -1
- package/dist/scripts/{DLsA7vPe.chunk.js → CjgcuP3Q.chunk.js} +2 -2
- package/dist/scripts/{DLsA7vPe.chunk.js.map → CjgcuP3Q.chunk.js.map} +1 -1
- package/dist/scripts/{itWDNVl_.chunk.js → CmVJO7VI.chunk.js} +2 -2
- package/dist/scripts/{itWDNVl_.chunk.js.map → CmVJO7VI.chunk.js.map} +1 -1
- package/dist/scripts/{DBtiEa66.chunk.js → CpMkRd2a.chunk.js} +2 -2
- package/dist/scripts/{DBtiEa66.chunk.js.map → CpMkRd2a.chunk.js.map} +1 -1
- package/dist/scripts/{Y2rXSgTV.chunk.js → CqWvHKP5.chunk.js} +2 -2
- package/dist/scripts/{Y2rXSgTV.chunk.js.map → CqWvHKP5.chunk.js.map} +1 -1
- package/dist/scripts/{zO2QdKtt.chunk.js → CvgQRmjv.chunk.js} +2 -2
- package/dist/scripts/{zO2QdKtt.chunk.js.map → CvgQRmjv.chunk.js.map} +1 -1
- package/dist/scripts/{B9W1QLWn.chunk.js → CwexEXsi.chunk.js} +2 -2
- package/dist/scripts/{B9W1QLWn.chunk.js.map → CwexEXsi.chunk.js.map} +1 -1
- package/dist/scripts/{BpwHr0J0.chunk.js → CyQDGNI3.chunk.js} +2 -2
- package/dist/scripts/{BpwHr0J0.chunk.js.map → CyQDGNI3.chunk.js.map} +1 -1
- package/dist/scripts/{CHAwVVRw.chunk.js → D21QHirZ.chunk.js} +2 -2
- package/dist/scripts/{CHAwVVRw.chunk.js.map → D21QHirZ.chunk.js.map} +1 -1
- package/dist/scripts/{DxJfmOeq.chunk.js → D30qaGvM.chunk.js} +2 -2
- package/dist/scripts/{DxJfmOeq.chunk.js.map → D30qaGvM.chunk.js.map} +1 -1
- package/dist/scripts/{CJIYSOTb.chunk.js → D3juPk5Y.chunk.js} +2 -2
- package/dist/scripts/{CJIYSOTb.chunk.js.map → D3juPk5Y.chunk.js.map} +1 -1
- package/dist/scripts/{B-IgnxzS.chunk.js → D5FAzio3.chunk.js} +2 -2
- package/dist/scripts/{B-IgnxzS.chunk.js.map → D5FAzio3.chunk.js.map} +1 -1
- package/dist/scripts/{DIBfWWih.chunk.js → D7NOMVC8.chunk.js} +2 -2
- package/dist/scripts/{DIBfWWih.chunk.js.map → D7NOMVC8.chunk.js.map} +1 -1
- package/dist/scripts/{bogFjz2G.chunk.js → D7QRJrh2.chunk.js} +2 -2
- package/dist/scripts/{bogFjz2G.chunk.js.map → D7QRJrh2.chunk.js.map} +1 -1
- package/dist/scripts/{BZb44_Lh.chunk.js → D9df4Id7.chunk.js} +2 -2
- package/dist/scripts/{BZb44_Lh.chunk.js.map → D9df4Id7.chunk.js.map} +1 -1
- package/dist/scripts/{BYLKD39d.chunk.js → DFEBv1_O.chunk.js} +2 -2
- package/dist/scripts/{BYLKD39d.chunk.js.map → DFEBv1_O.chunk.js.map} +1 -1
- package/dist/scripts/{ChXJhYla.chunk.js → DGvEmnsP.chunk.js} +2 -2
- package/dist/scripts/{ChXJhYla.chunk.js.map → DGvEmnsP.chunk.js.map} +1 -1
- package/dist/scripts/DIkrkJAo.chunk.js +2 -0
- package/dist/scripts/{CD1TqwcB.chunk.js.map → DIkrkJAo.chunk.js.map} +1 -1
- package/dist/scripts/{BrjepIq5.chunk.js → DMAci3S_.chunk.js} +2 -2
- package/dist/scripts/{BrjepIq5.chunk.js.map → DMAci3S_.chunk.js.map} +1 -1
- package/dist/scripts/{COBKg5HM.chunk.js → DOsWx99L.chunk.js} +2 -2
- package/dist/scripts/{COBKg5HM.chunk.js.map → DOsWx99L.chunk.js.map} +1 -1
- package/dist/scripts/{Bh_0dfl8.chunk.js → DYRoLttd.chunk.js} +2 -2
- package/dist/scripts/{Bh_0dfl8.chunk.js.map → DYRoLttd.chunk.js.map} +1 -1
- package/dist/scripts/{DiR8Ds2K.chunk.js → DbNPwlCF.chunk.js} +2 -2
- package/dist/scripts/{DiR8Ds2K.chunk.js.map → DbNPwlCF.chunk.js.map} +1 -1
- package/dist/scripts/{BCd9ozXx.chunk.js → DeSk2YFH.chunk.js} +2 -2
- package/dist/scripts/{BCd9ozXx.chunk.js.map → DeSk2YFH.chunk.js.map} +1 -1
- package/dist/scripts/{CgplGqf6.chunk.js → DgYE66Vs.chunk.js} +2 -2
- package/dist/scripts/{CgplGqf6.chunk.js.map → DgYE66Vs.chunk.js.map} +1 -1
- package/dist/scripts/{DsPW-ne8.chunk.js → DigjAeMR.chunk.js} +2 -2
- package/dist/scripts/{DsPW-ne8.chunk.js.map → DigjAeMR.chunk.js.map} +1 -1
- package/dist/scripts/{Bu06fyx_.chunk.js → Dj7sCTJQ.chunk.js} +2 -2
- package/dist/scripts/{Bu06fyx_.chunk.js.map → Dj7sCTJQ.chunk.js.map} +1 -1
- package/dist/scripts/{B2OzXphM.chunk.js → Dk7tKls8.chunk.js} +2 -2
- package/dist/scripts/{B2OzXphM.chunk.js.map → Dk7tKls8.chunk.js.map} +1 -1
- package/dist/scripts/{CJ1ig2Kx.chunk.js → DmTetbor.chunk.js} +2 -2
- package/dist/scripts/{CJ1ig2Kx.chunk.js.map → DmTetbor.chunk.js.map} +1 -1
- package/dist/scripts/{USTuMLcb.chunk.js → Ds3SQeo1.chunk.js} +2 -2
- package/dist/scripts/{USTuMLcb.chunk.js.map → Ds3SQeo1.chunk.js.map} +1 -1
- package/dist/scripts/{B696AbD2.chunk.js → Dw-3sJ6z.chunk.js} +2 -2
- package/dist/scripts/{B696AbD2.chunk.js.map → Dw-3sJ6z.chunk.js.map} +1 -1
- package/dist/scripts/{DjT7A1F0.chunk.js → DzUywVIn.chunk.js} +2 -2
- package/dist/scripts/{DjT7A1F0.chunk.js.map → DzUywVIn.chunk.js.map} +1 -1
- package/dist/scripts/{BX_8MApq.chunk.js → FqMxoz-g.chunk.js} +2 -2
- package/dist/scripts/{BX_8MApq.chunk.js.map → FqMxoz-g.chunk.js.map} +1 -1
- package/dist/scripts/{CtovEsFz.chunk.js → M8-7wL03.chunk.js} +2 -2
- package/dist/scripts/{CtovEsFz.chunk.js.map → M8-7wL03.chunk.js.map} +1 -1
- package/dist/scripts/{BF2PCV8G.chunk.js → O3KYJlt8.chunk.js} +2 -2
- package/dist/scripts/{BF2PCV8G.chunk.js.map → O3KYJlt8.chunk.js.map} +1 -1
- package/dist/scripts/{-wh0Q1Mk.chunk.js → P1w98jqc.chunk.js} +2 -2
- package/dist/scripts/{-wh0Q1Mk.chunk.js.map → P1w98jqc.chunk.js.map} +1 -1
- package/dist/scripts/{Q3oue8AK.chunk.js → PLxejfSI.chunk.js} +2 -2
- package/dist/scripts/{Q3oue8AK.chunk.js.map → PLxejfSI.chunk.js.map} +1 -1
- package/dist/scripts/{D_O3OU5_.chunk.js → Q9FeiQkl.chunk.js} +2 -2
- package/dist/scripts/{D_O3OU5_.chunk.js.map → Q9FeiQkl.chunk.js.map} +1 -1
- package/dist/scripts/{dn7SonjL.chunk.js → TYfK47yR.chunk.js} +2 -2
- package/dist/scripts/{dn7SonjL.chunk.js.map → TYfK47yR.chunk.js.map} +1 -1
- package/dist/scripts/{CuGgxXq6.chunk.js → X5emuMm3.chunk.js} +2 -2
- package/dist/scripts/{CuGgxXq6.chunk.js.map → X5emuMm3.chunk.js.map} +1 -1
- package/dist/scripts/{CQoqpuSN.chunk.js → YuqHkk0a.chunk.js} +2 -2
- package/dist/scripts/{CQoqpuSN.chunk.js.map → YuqHkk0a.chunk.js.map} +1 -1
- package/dist/scripts/{BM3jzDzF.chunk.js → ZFLNGNny.chunk.js} +2 -2
- package/dist/scripts/{BM3jzDzF.chunk.js.map → ZFLNGNny.chunk.js.map} +1 -1
- package/dist/scripts/{DcWRg8v3.chunk.js → aou-5sJI.chunk.js} +2 -2
- package/dist/scripts/{DcWRg8v3.chunk.js.map → aou-5sJI.chunk.js.map} +1 -1
- package/dist/scripts/{app-7svuou3-.js → app-CShb1Dgt.js} +3 -3
- package/dist/scripts/{app-7svuou3-.js.map → app-CShb1Dgt.js.map} +1 -1
- package/dist/scripts/baur_fn0.chunk.js +2 -0
- package/dist/scripts/{zDrAtVBw.chunk.js.map → baur_fn0.chunk.js.map} +1 -1
- package/dist/scripts/{BrdxuhDZ.chunk.js → cDgsKsmM.chunk.js} +2 -2
- package/dist/scripts/{BrdxuhDZ.chunk.js.map → cDgsKsmM.chunk.js.map} +1 -1
- package/dist/scripts/{Di0ieRgB.chunk.js → d6bZeQ7u.chunk.js} +2 -2
- package/dist/scripts/{Di0ieRgB.chunk.js.map → d6bZeQ7u.chunk.js.map} +1 -1
- package/dist/scripts/{BqAavbCw.chunk.js → dP41rDFl.chunk.js} +2 -2
- package/dist/scripts/{BqAavbCw.chunk.js.map → dP41rDFl.chunk.js.map} +1 -1
- package/dist/scripts/{BcDguH17.chunk.js → jH3hqwI2.chunk.js} +2 -2
- package/dist/scripts/{BcDguH17.chunk.js.map → jH3hqwI2.chunk.js.map} +1 -1
- package/dist/scripts/{DL-oEZtF.chunk.js → kUTnu8Iq.chunk.js} +2 -2
- package/dist/scripts/{DL-oEZtF.chunk.js.map → kUTnu8Iq.chunk.js.map} +1 -1
- package/dist/scripts/{cyDp1kQU.chunk.js → nbVa2u9N.chunk.js} +2 -2
- package/dist/scripts/{cyDp1kQU.chunk.js.map → nbVa2u9N.chunk.js.map} +1 -1
- package/dist/scripts/{CtTd6EE8.chunk.js → vbpGTzKU.chunk.js} +2 -2
- package/dist/scripts/{CtTd6EE8.chunk.js.map → vbpGTzKU.chunk.js.map} +1 -1
- package/dist/scripts/{Co_YIZXn.chunk.js → zr54fY9l.chunk.js} +2 -2
- package/dist/scripts/{Co_YIZXn.chunk.js.map → zr54fY9l.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/BwdSbre5.chunk.js +0 -2
- package/dist/scripts/BxcHYWuR.chunk.js +0 -2
- package/dist/scripts/C2TRBWPd.chunk.js +0 -2
- package/dist/scripts/CD1TqwcB.chunk.js +0 -2
- package/dist/scripts/WarFtyTw.chunk.js +0 -2
- package/dist/scripts/u96pPes-.chunk.js +0 -2
- package/dist/scripts/zDrAtVBw.chunk.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C7un82WP.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/Dashboard.ts","../../../../libs/shared/src/enums/VideoSource.ts","../../../../libs/shared/src/images/svg/objects/TrendingSvg.tsx","../../../../libs/shared/src/images/svg/status/CloseCaptionBadgeSvg.tsx","../../../../libs/shared/src/utils/DurationHelper.ts","../../../../libs/shared/src/enums/MasterObjectTypes.ts","../../../../libs/shared/src/enums/ResourceFileType.ts","../../../../libs/shared/src/images/svg/objects/FileExcelSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePdfSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePptSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileWordSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileZipSvg.tsx","../../../../libs/shared/src/utils/VideoDetailsHelper.ts","../../../../libs/shared/src/components/badges/Badge.tsx"],"sourcesContent":["import { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\nimport {\n BaseObject,\n BasePaginatedCollection,\n CuratedWidget,\n CuratedWidgetContent,\n CuratedWidgetData\n} from 'libs/shared/interfaces';\n\nexport enum DashboardLearningLevel {\n Any = 'Any',\n Level_1 = 'Level_1',\n Level_2 = 'Level_2',\n Level_3 = 'Level_3',\n Level_4 = 'Level_4'\n}\n\nexport enum DashboardUserType {\n Any = 'Any',\n Staff = 'Staff',\n Learner = 'Learner'\n}\n\nexport enum DashboardStatus {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived'\n}\n\nexport interface Dashboard extends BaseObject {\n libraryType: LibraryType;\n customerType: CustomerType;\n userRole: number;\n}\n\nexport interface CuratedDashboardMetadata {\n systemGenerated?: boolean;\n}\n\nexport interface CuratedDashboard<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseObject {\n contentRegion: ContentRegion;\n description: string;\n learningLevel: DashboardLearningLevel;\n userType: DashboardUserType;\n status: DashboardStatus;\n target: string;\n widgets: CuratedWidget<TWidgetData, TWidgetContent>[];\n metadata: CuratedDashboardMetadata;\n datePublished: string;\n}\n\nexport interface CuratedDashboardCollection<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BasePaginatedCollection<CuratedDashboard<TWidgetData, TWidgetContent>> {}\n\n/**\n * Dashboard identification below\n */\nexport enum DashboardTargetType {\n Discover = 'discover',\n Classification = 'classification',\n ClassificationDirectory = 'classification-directory',\n ClassificationCurriculum = 'classification-curriculum',\n MoviesAndTv = 'movies-and-tv',\n Company = 'company',\n Search = 'search',\n PartnerProfile = 'partner-profile',\n PartnerProfileHub = 'partner-profile-hub',\n DiscoverPartnerProfiles = 'discover-partner-profiles'\n}\n\ninterface DiscoverDashboardInfo {\n targetType: DashboardTargetType.Discover;\n presentationId: string;\n}\n\nexport interface ClassificationDashboardInfo {\n targetType: DashboardTargetType.Classification;\n classificationId: string;\n}\n\nexport interface ClassificationDirectoryInfo {\n targetType: DashboardTargetType.ClassificationDirectory;\n classificationId: string;\n}\n\nexport interface ClassificationCurriculumInfo {\n targetType: DashboardTargetType.ClassificationCurriculum;\n classificationId: string;\n}\n\ninterface MoviesAndTvDashboardInfo {\n targetType: DashboardTargetType.MoviesAndTv;\n presentationId: string;\n}\n\nexport interface CompanyDashboardInfo {\n targetType: DashboardTargetType.Company;\n companyId: string;\n presentationId: string;\n}\n\nexport interface PartnerProfileDashboardInfo {\n targetType: DashboardTargetType.PartnerProfile;\n slug: string;\n}\n\nexport interface PartnerProfileHubDashboardInfo {\n targetType: DashboardTargetType.PartnerProfileHub;\n}\n\nexport interface PartnerProfileDiscoverDashboardInfo {\n targetType: DashboardTargetType.DiscoverPartnerProfiles;\n}\n\nexport type DashboardTargetInfo =\n | DiscoverDashboardInfo\n | ClassificationDashboardInfo\n | ClassificationDirectoryInfo\n | ClassificationCurriculumInfo\n | MoviesAndTvDashboardInfo\n | CompanyDashboardInfo\n | PartnerProfileDashboardInfo\n | PartnerProfileHubDashboardInfo\n | PartnerProfileDiscoverDashboardInfo;\nexport interface UnknownDashboardTargetInfo {\n targetType: DashboardTargetType;\n presentationId: string;\n classificationId: string;\n companyId: string;\n slug: string;\n}\n","export enum VideoSource {\n Exchange = 'exchange',\n Streamable = 'streamable',\n MoviesAndTv = 'movies_and_tv',\n Twig = 'twig'\n}","import React from 'react';\n\nexport function TrendingSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function CloseCaptionBadgeSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n let h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n // Handle minute overflow (e.g., 59m + 1 = 60m -> 1hr)\n if (m >= 60) {\n h = h + 1;\n m = 0;\n }\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n },\n\n ToDisplayTimeRange(startMilliseconds: number, endMilliseconds: number) {\n if (!_.isNumber(startMilliseconds) || !_.isNumber(endMilliseconds))\n return '';\n\n const showAll = new Date(endMilliseconds).getUTCHours() > 0;\n\n return `${DurationHelper.ToDisplayDuration(startMilliseconds, showAll)} - ${DurationHelper.ToDisplayDuration(endMilliseconds, showAll)}`;\n }\n};\n\nexport { DurationHelper };","export enum MasterObjectTypes {\n Folder = 'category',\n CategoryTree = 'category_tree',\n CustomLibrary = 'custom_library',\n HostedLibrary = 'hosted_library',\n Exchange = 'exchange',\n Workspace = 'workspace',\n Video = 'video',\n Clip = 'clip',\n Interactive = 'interactive'\n}","// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n","import React from 'react';\n\nexport function FileExcelSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePdfSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePptSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileWordSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileZipSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { FileExcelSvg } from '../images/svg/objects/FileExcelSvg';\nimport { FileImgSvg } from '../images/svg/objects/FileImgSvg';\nimport { FilePdfSvg } from '../images/svg/objects/FilePdfSvg';\nimport { FilePptSvg } from '../images/svg/objects/FilePptSvg';\nimport { FileSvg } from '../images/svg/objects/FileSvg';\nimport { FileWordSvg } from '../images/svg/objects/FileWordSvg';\nimport { FileZipSvg } from '../images/svg/objects/FileZipSvg';\nimport { FolderSvg } from '../images/svg/objects/FolderSvg';\n\n\nconst lang = 'shared.shared-utils';\n\nexport const VideoDetailsHelper = {\n mapRatingToClass(ratingValue: number): string {\n if (!ratingValue) return '';\n\n const ratings = (rating: number): string => {\n switch (true) {\n case (rating < 32):\n return 'bg-purple';\n case (rating < 48):\n return 'bg-green';\n case (rating < 80):\n return 'bg-blue';\n case (rating < 96):\n return 'bg-red';\n case (rating < 128):\n return 'bg-pink';\n case (rating >= 128):\n return 'bg-yellow';\n default:\n return ''; // Handles unrated\n }\n };\n\n return ratings(ratingValue);\n },\n\n mapSourceToDisplayName(library: Library, hasLite?: boolean): string {\n switch (library.type) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return library.name;\n case MasterObjectTypes.Exchange:\n return LanguageService.getPhrase(lang, 'exchange');\n case MasterObjectTypes.Workspace:\n return LanguageService.getPhrase(lang, hasLite ? 'myVideos' : 'workspace');\n default:\n return '';\n }\n },\n\n mapSourceToClass(sourceType: MasterObjectTypes | 'online_supplementary_library'): string {\n switch (sourceType) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return 'bg-blue';\n case MasterObjectTypes.Exchange:\n return 'bg-green';\n case MasterObjectTypes.Workspace:\n default:\n return 'bg-red';\n }\n },\n\n isInteractive(video: Video): boolean {\n return !!video?.interactives?.data?.length;\n },\n\n mapTypeToSvg(type: string): any {\n const types: HashObject = {\n [ResourceFileType.Pdf]: FilePdfSvg,\n [ResourceFileType.Image]: FileImgSvg,\n [ResourceFileType.PowerPoint]: FilePptSvg,\n [ResourceFileType.Document]: FileWordSvg,\n [ResourceFileType.Excel]: FileExcelSvg,\n [ResourceFileType.Zip]: FileZipSvg,\n [ResourceFileType.File]: FileSvg\n };\n\n let mappedType = types[type];\n\n if (!mappedType)\n mappedType = FolderSvg;\n\n return mappedType;\n },\n\n mapTypeToClass(type: string): any {\n switch (type) {\n case ResourceFileType.Pdf:\n return 'icon-red';\n\n case ResourceFileType.Image:\n return 'icon-purple';\n\n case ResourceFileType.Document:\n return 'icon-blue';\n\n case ResourceFileType.Excel:\n return 'icon-green';\n\n case ResourceFileType.PowerPoint:\n return 'icon-orange';\n\n case ResourceFileType.Zip:\n return 'icon-teal';\n\n case ResourceFileType.File:\n return 'icon-gray';\n\n default:\n return '';\n }\n },\n\n mapTypeToExtension(type: string): string {\n if (!type) return '';\n\n const extensions: HashObject = {\n pdf: 'pdf',\n image: 'png',\n powerpoint: 'pptx'\n };\n\n return extensions[type.toLowerCase()];\n },\n\n mapTypeToName(type: string): string {\n if (!type) return '';\n\n switch (type) {\n case ResourceFileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\n case ResourceFileType.Image: return LanguageService.getPhrase(lang, 'image');\n case ResourceFileType.Document: return LanguageService.getPhrase(lang, 'document');\n case ResourceFileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\n case ResourceFileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\n case ResourceFileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\n case ResourceFileType.File: return LanguageService.getPhrase(lang, 'file');\n\n default:\n return '';\n }\n }\n};\n","import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { VideoSource } from 'libs/shared/enums/VideoSource';\nimport { TrendingSvg } from 'libs/shared/images/svg/objects/TrendingSvg';\nimport { CloseCaptionBadgeSvg } from 'libs/shared/images/svg/status/CloseCaptionBadgeSvg';\nimport { DashboardStatus, Rating } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\n\nimport styles from './badge.module.scss';\n\nconst namespace = 'shared.badges';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum BadgeType {\n DurationExact = 'duration-exact',\n DurationApproximate = 'duration-approximate',\n Interactive = 'interactive',\n Rating = 'rating',\n ProductionYear = 'production-year',\n Captions = 'captions',\n Status = 'status',\n Trending = 'trending',\n Count = 'count',\n Restriction = 'restriction',\n Source = 'source'\n}\n\ntype BadgeSize = 'xs' | 'sm' | 'std' | 'lg';\n\ninterface BadgeProps {\n type: BadgeType;\n data: any;\n inline?: boolean;\n className?: string;\n /**\n * Only Trending badge supports this attribute atm\n */\n size?: BadgeSize;\n}\n\ninterface TooltipOptions {\n placement: Placement;\n title: string;\n}\n\nconst badgeSvgContainerSizeMap: {[key in BadgeSize]: SvgContainerSize} = {\n xs: SvgContainerSize.ExtraSmall,\n sm: SvgContainerSize.Small,\n std: SvgContainerSize.Standard,\n lg: SvgContainerSize.Large\n};\n\nconst badgeSizeClassNameMap: {[key in BadgeSize]: string} = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n std: 'badge-std',\n lg: 'badge-lg'\n};\n\nfunction getStatusClassName(status: CurationStatus | DashboardStatus): string {\n switch (status) {\n case CurationStatus.Published:\n case DashboardStatus.Published:\n return 'bg-success';\n\n case CurationStatus.Archived:\n case CurationStatus.Rejected:\n case DashboardStatus.Archived:\n return 'bg-danger';\n\n case CurationStatus.Draft:\n case DashboardStatus.Draft:\n return 'draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n case CurationStatus.Pending:\n case CurationStatus.Processing:\n return 'bg-warning';\n }\n}\n\nfunction getSourceClassName(sources: VideoSource[]): string {\n if (sources.includes(VideoSource.Streamable))\n return `px-1 text-nowrap d-flex align-items-center ${styles.streamable}`;\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'bg-indigo text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Exchange))\n return 'bg-orange text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Twig))\n return `bg-pink text-white px-1 text-nowrap d-flex align-items-center`;\n\n return '';\n}\n\nfunction getClassName(type: BadgeType, data: any, size: BadgeSize): string {\n const baseClass = 'badge';\n const sizeClass = badgeSizeClassNameMap[size];\n\n let typeClass = '';\n\n if (type === BadgeType.DurationApproximate)\n typeClass = 'duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n if (type === BadgeType.DurationExact)\n typeClass = 'duration-badge';\n\n if (type === BadgeType.Interactive)\n typeClass = 'interactive-badge';\n\n if (type === BadgeType.Rating)\n typeClass = `rating-badge text-shadow ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\n\n if (type === BadgeType.ProductionYear)\n typeClass = 'production-year-badge text-shadow';\n\n if (type === BadgeType.Captions)\n return 'p-0';\n\n if (type === BadgeType.Status)\n return `badge ${getStatusClassName(data)}`;\n\n if (type === BadgeType.Trending)\n return `trending-badge px-1 d-flex align-items-center ${sizeClass}`;\n\n if (type === BadgeType.Count)\n typeClass = 'count-badge px-1 rounded';\n\n if (type === BadgeType.Restriction) {\n const restrictionBgClass = RestrictionHelper.mapRestrictionToClass(data.restrictions);\n return classNames('restriction-badge rounded-pill px-2 d-flex align-items-center', restrictionBgClass);\n }\n \n if (type === BadgeType.Source)\n typeClass = getSourceClassName(data);\n\n return classNames(baseClass, typeClass);\n}\n\nfunction getBadgeContent(type: BadgeType, data: any, size: BadgeSize): string | JSX.Element {\n if (type === BadgeType.Interactive)\n return getPhrase('interactive');\n\n if (type === BadgeType.DurationApproximate)\n return DurationHelper.ToDisplayDurationNewStyle(data);\n\n if (type === BadgeType.DurationExact)\n return DurationHelper.ToDisplayDuration(data);\n\n if (type === BadgeType.Rating)\n return (data as Rating).code; // data expected to be a rating object\n\n if (type === BadgeType.ProductionYear)\n return data; // data should be the production year\n\n if (type === BadgeType.Captions)\n return <SvgContainer svg={CloseCaptionBadgeSvg} />;\n\n if (type === BadgeType.Status) {\n if (typeof(data) === 'number') {\n return CurationStatus[data];\n }\n return data;\n }\n\n if (type === BadgeType.Trending)\n return (\n <>\n <SvgContainer svg={TrendingSvg} size={badgeSvgContainerSizeMap[size]} />\n <span className='ps-1'>{data}</span>\n </>\n );\n\n if (type === BadgeType.Count)\n return data;\n\n if (type === BadgeType.Restriction)\n return (\n <>\n <SvgContainer\n svg={RestrictionHelper.mapRestrictionToSvg(data.restrictions)}\n />\n <span>\n {RestrictionHelper.mapRestrictionToText(data.restrictions, data.yearGroups)}\n </span>\n </>\n );\n\n if (type === BadgeType.Source) {\n const sources = data as VideoSource[];\n\n if (sources.includes(VideoSource.Streamable))\n return 'streamable';\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'movies + tv';\n\n if (sources.includes(VideoSource.Exchange))\n return 'exchange';\n\n if (sources.includes(VideoSource.Twig))\n return 'twig';\n\n return '-';\n }\n}\n\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\n if (type === BadgeType.Rating)\n return {\n title: (data as Rating).name,\n placement: 'top'\n };\n\n return null;\n}\n\nfunction hasData(type: BadgeType, data: any): boolean {\n if (typeof(data) === 'boolean')\n return !!data;\n\n if (type === BadgeType.Rating)\n return data && !!(data as Rating).value;\n\n if (type === BadgeType.Interactive)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Captions)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Status)\n return typeof(data) === 'number' || typeof(data) === 'string';\n\n return !!data;\n}\n\nexport function Badge(props: BadgeProps): JSX.Element {\n const { type, data, size = 'std' } = props;\n \n if (!hasData(type, data))\n return <></>;\n\n let className = getClassName(type, data, size);\n className = `${className} ${props.inline ? 'd-inline-block' : 'd-flex justify-content-center'} ${props.className || ''}`;\n const content = getBadgeContent(type, data, size);\n const tooltip = getTooltip(type, data);\n const spanHackClassName = props.inline && 'd-inline-block';\n\n if (tooltip) {\n return (\n <div className='badge-wrapper d-inline'>\n <Tooltip {...tooltip} spanHack spanHackClassName={spanHackClassName}>\n <span className={className}>{content}</span>\n </Tooltip>\n </div>\n );\n }\n\n return <span className={`${className} badge-wrapper`}>{content}</span>;\n}"],"names":["DashboardStatus","DashboardTargetType","VideoSource","TrendingSvg","props","jsx","CloseCaptionBadgeSvg","padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit","startMilliseconds","endMilliseconds","MasterObjectTypes","ResourceFileType","FileExcelSvg","FilePdfSvg","FilePptSvg","FileSvg","FileWordSvg","FileZipSvg","lang","VideoDetailsHelper","ratingValue","rating","library","hasLite","LanguageService","sourceType","video","_b","_a","type","mappedType","FileImgSvg","FolderSvg","namespace","getPhrase","BadgeType","badgeSvgContainerSizeMap","SvgContainerSize","badgeSizeClassNameMap","getStatusClassName","status","CurationStatus","getSourceClassName","sources","styles","getClassName","data","size","baseClass","sizeClass","typeClass","restrictionBgClass","RestrictionHelper","classNames","getBadgeContent","SvgContainer","jsxs","Fragment","getTooltip","hasData","Badge","className","content","tooltip","spanHackClassName","Tooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"C3LmB7vs.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/Dashboard.ts","../../../../libs/shared/src/enums/VideoSource.ts","../../../../libs/shared/src/images/svg/objects/TrendingSvg.tsx","../../../../libs/shared/src/images/svg/status/CloseCaptionBadgeSvg.tsx","../../../../libs/shared/src/utils/DurationHelper.ts","../../../../libs/shared/src/enums/MasterObjectTypes.ts","../../../../libs/shared/src/enums/ResourceFileType.ts","../../../../libs/shared/src/images/svg/objects/FileExcelSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePdfSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePptSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileWordSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileZipSvg.tsx","../../../../libs/shared/src/utils/VideoDetailsHelper.ts","../../../../libs/shared/src/components/badges/Badge.tsx"],"sourcesContent":["import { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\nimport {\n BaseObject,\n BasePaginatedCollection,\n CuratedWidget,\n CuratedWidgetContent,\n CuratedWidgetData\n} from 'libs/shared/interfaces';\n\nexport enum DashboardLearningLevel {\n Any = 'Any',\n Level_1 = 'Level_1',\n Level_2 = 'Level_2',\n Level_3 = 'Level_3',\n Level_4 = 'Level_4'\n}\n\nexport enum DashboardUserType {\n Any = 'Any',\n Staff = 'Staff',\n Learner = 'Learner'\n}\n\nexport enum DashboardStatus {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived'\n}\n\nexport interface Dashboard extends BaseObject {\n libraryType: LibraryType;\n customerType: CustomerType;\n userRole: number;\n}\n\nexport interface CuratedDashboardMetadata {\n systemGenerated?: boolean;\n}\n\nexport interface CuratedDashboard<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseObject {\n contentRegion: ContentRegion;\n description: string;\n learningLevel: DashboardLearningLevel;\n userType: DashboardUserType;\n status: DashboardStatus;\n target: string;\n widgets: CuratedWidget<TWidgetData, TWidgetContent>[];\n metadata: CuratedDashboardMetadata;\n datePublished: string;\n}\n\nexport interface CuratedDashboardCollection<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BasePaginatedCollection<CuratedDashboard<TWidgetData, TWidgetContent>> {}\n\n/**\n * Dashboard identification below\n */\nexport enum DashboardTargetType {\n Discover = 'discover',\n Classification = 'classification',\n ClassificationDirectory = 'classification-directory',\n ClassificationCurriculum = 'classification-curriculum',\n MoviesAndTv = 'movies-and-tv',\n Company = 'company',\n Search = 'search',\n PartnerProfile = 'partner-profile',\n PartnerProfileHub = 'partner-profile-hub',\n DiscoverPartnerProfiles = 'discover-partner-profiles'\n}\n\ninterface DiscoverDashboardInfo {\n targetType: DashboardTargetType.Discover;\n presentationId: string;\n}\n\nexport interface ClassificationDashboardInfo {\n targetType: DashboardTargetType.Classification;\n classificationId: string;\n}\n\nexport interface ClassificationDirectoryInfo {\n targetType: DashboardTargetType.ClassificationDirectory;\n classificationId: string;\n}\n\nexport interface ClassificationCurriculumInfo {\n targetType: DashboardTargetType.ClassificationCurriculum;\n classificationId: string;\n}\n\ninterface MoviesAndTvDashboardInfo {\n targetType: DashboardTargetType.MoviesAndTv;\n presentationId: string;\n}\n\nexport interface CompanyDashboardInfo {\n targetType: DashboardTargetType.Company;\n companyId: string;\n presentationId: string;\n}\n\nexport interface PartnerProfileDashboardInfo {\n targetType: DashboardTargetType.PartnerProfile;\n slug: string;\n}\n\nexport interface PartnerProfileHubDashboardInfo {\n targetType: DashboardTargetType.PartnerProfileHub;\n}\n\nexport interface PartnerProfileDiscoverDashboardInfo {\n targetType: DashboardTargetType.DiscoverPartnerProfiles;\n}\n\nexport type DashboardTargetInfo =\n | DiscoverDashboardInfo\n | ClassificationDashboardInfo\n | ClassificationDirectoryInfo\n | ClassificationCurriculumInfo\n | MoviesAndTvDashboardInfo\n | CompanyDashboardInfo\n | PartnerProfileDashboardInfo\n | PartnerProfileHubDashboardInfo\n | PartnerProfileDiscoverDashboardInfo;\nexport interface UnknownDashboardTargetInfo {\n targetType: DashboardTargetType;\n presentationId: string;\n classificationId: string;\n companyId: string;\n slug: string;\n}\n","export enum VideoSource {\n Exchange = 'exchange',\n Streamable = 'streamable',\n MoviesAndTv = 'movies_and_tv',\n Twig = 'twig'\n}","import React from 'react';\n\nexport function TrendingSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function CloseCaptionBadgeSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n let h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n // Handle minute overflow (e.g., 59m + 1 = 60m -> 1hr)\n if (m >= 60) {\n h = h + 1;\n m = 0;\n }\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n },\n\n ToDisplayTimeRange(startMilliseconds: number, endMilliseconds: number) {\n if (!_.isNumber(startMilliseconds) || !_.isNumber(endMilliseconds))\n return '';\n\n const showAll = new Date(endMilliseconds).getUTCHours() > 0;\n\n return `${DurationHelper.ToDisplayDuration(startMilliseconds, showAll)} - ${DurationHelper.ToDisplayDuration(endMilliseconds, showAll)}`;\n }\n};\n\nexport { DurationHelper };","export enum MasterObjectTypes {\n Folder = 'category',\n CategoryTree = 'category_tree',\n CustomLibrary = 'custom_library',\n HostedLibrary = 'hosted_library',\n Exchange = 'exchange',\n Workspace = 'workspace',\n Video = 'video',\n Clip = 'clip',\n Interactive = 'interactive'\n}","// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n","import React from 'react';\n\nexport function FileExcelSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePdfSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePptSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileWordSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileZipSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { FileExcelSvg } from '../images/svg/objects/FileExcelSvg';\nimport { FileImgSvg } from '../images/svg/objects/FileImgSvg';\nimport { FilePdfSvg } from '../images/svg/objects/FilePdfSvg';\nimport { FilePptSvg } from '../images/svg/objects/FilePptSvg';\nimport { FileSvg } from '../images/svg/objects/FileSvg';\nimport { FileWordSvg } from '../images/svg/objects/FileWordSvg';\nimport { FileZipSvg } from '../images/svg/objects/FileZipSvg';\nimport { FolderSvg } from '../images/svg/objects/FolderSvg';\n\n\nconst lang = 'shared.shared-utils';\n\nexport const VideoDetailsHelper = {\n mapRatingToClass(ratingValue: number): string {\n if (!ratingValue) return '';\n\n const ratings = (rating: number): string => {\n switch (true) {\n case (rating < 32):\n return 'bg-purple';\n case (rating < 48):\n return 'bg-green';\n case (rating < 80):\n return 'bg-blue';\n case (rating < 96):\n return 'bg-red';\n case (rating < 128):\n return 'bg-pink';\n case (rating >= 128):\n return 'bg-yellow';\n default:\n return ''; // Handles unrated\n }\n };\n\n return ratings(ratingValue);\n },\n\n mapSourceToDisplayName(library: Library, hasLite?: boolean): string {\n switch (library.type) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return library.name;\n case MasterObjectTypes.Exchange:\n return LanguageService.getPhrase(lang, 'exchange');\n case MasterObjectTypes.Workspace:\n return LanguageService.getPhrase(lang, hasLite ? 'myVideos' : 'workspace');\n default:\n return '';\n }\n },\n\n mapSourceToClass(sourceType: MasterObjectTypes | 'online_supplementary_library'): string {\n switch (sourceType) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return 'bg-blue';\n case MasterObjectTypes.Exchange:\n return 'bg-green';\n case MasterObjectTypes.Workspace:\n default:\n return 'bg-red';\n }\n },\n\n isInteractive(video: Video): boolean {\n return !!video?.interactives?.data?.length;\n },\n\n mapTypeToSvg(type: string): any {\n const types: HashObject = {\n [ResourceFileType.Pdf]: FilePdfSvg,\n [ResourceFileType.Image]: FileImgSvg,\n [ResourceFileType.PowerPoint]: FilePptSvg,\n [ResourceFileType.Document]: FileWordSvg,\n [ResourceFileType.Excel]: FileExcelSvg,\n [ResourceFileType.Zip]: FileZipSvg,\n [ResourceFileType.File]: FileSvg\n };\n\n let mappedType = types[type];\n\n if (!mappedType)\n mappedType = FolderSvg;\n\n return mappedType;\n },\n\n mapTypeToClass(type: string): any {\n switch (type) {\n case ResourceFileType.Pdf:\n return 'icon-red';\n\n case ResourceFileType.Image:\n return 'icon-purple';\n\n case ResourceFileType.Document:\n return 'icon-blue';\n\n case ResourceFileType.Excel:\n return 'icon-green';\n\n case ResourceFileType.PowerPoint:\n return 'icon-orange';\n\n case ResourceFileType.Zip:\n return 'icon-teal';\n\n case ResourceFileType.File:\n return 'icon-gray';\n\n default:\n return '';\n }\n },\n\n mapTypeToExtension(type: string): string {\n if (!type) return '';\n\n const extensions: HashObject = {\n pdf: 'pdf',\n image: 'png',\n powerpoint: 'pptx'\n };\n\n return extensions[type.toLowerCase()];\n },\n\n mapTypeToName(type: string): string {\n if (!type) return '';\n\n switch (type) {\n case ResourceFileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\n case ResourceFileType.Image: return LanguageService.getPhrase(lang, 'image');\n case ResourceFileType.Document: return LanguageService.getPhrase(lang, 'document');\n case ResourceFileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\n case ResourceFileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\n case ResourceFileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\n case ResourceFileType.File: return LanguageService.getPhrase(lang, 'file');\n\n default:\n return '';\n }\n }\n};\n","import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { VideoSource } from 'libs/shared/enums/VideoSource';\nimport { TrendingSvg } from 'libs/shared/images/svg/objects/TrendingSvg';\nimport { CloseCaptionBadgeSvg } from 'libs/shared/images/svg/status/CloseCaptionBadgeSvg';\nimport { DashboardStatus, Rating } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\n\nimport styles from './badge.module.scss';\n\nconst namespace = 'shared.badges';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum BadgeType {\n DurationExact = 'duration-exact',\n DurationApproximate = 'duration-approximate',\n Interactive = 'interactive',\n Rating = 'rating',\n ProductionYear = 'production-year',\n Captions = 'captions',\n Status = 'status',\n Trending = 'trending',\n Count = 'count',\n Restriction = 'restriction',\n Source = 'source'\n}\n\ntype BadgeSize = 'xs' | 'sm' | 'std' | 'lg';\n\ninterface BadgeProps {\n type: BadgeType;\n data: any;\n inline?: boolean;\n className?: string;\n /**\n * Only Trending badge supports this attribute atm\n */\n size?: BadgeSize;\n}\n\ninterface TooltipOptions {\n placement: Placement;\n title: string;\n}\n\nconst badgeSvgContainerSizeMap: {[key in BadgeSize]: SvgContainerSize} = {\n xs: SvgContainerSize.ExtraSmall,\n sm: SvgContainerSize.Small,\n std: SvgContainerSize.Standard,\n lg: SvgContainerSize.Large\n};\n\nconst badgeSizeClassNameMap: {[key in BadgeSize]: string} = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n std: 'badge-std',\n lg: 'badge-lg'\n};\n\nfunction getStatusClassName(status: CurationStatus | DashboardStatus): string {\n switch (status) {\n case CurationStatus.Published:\n case DashboardStatus.Published:\n return 'bg-success';\n\n case CurationStatus.Archived:\n case CurationStatus.Rejected:\n case DashboardStatus.Archived:\n return 'bg-danger';\n\n case CurationStatus.Draft:\n case DashboardStatus.Draft:\n return 'draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n case CurationStatus.Pending:\n case CurationStatus.Processing:\n return 'bg-warning';\n }\n}\n\nfunction getSourceClassName(sources: VideoSource[]): string {\n if (sources.includes(VideoSource.Streamable))\n return `px-1 text-nowrap d-flex align-items-center ${styles.streamable}`;\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'bg-indigo text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Exchange))\n return 'bg-orange text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Twig))\n return `bg-pink text-white px-1 text-nowrap d-flex align-items-center`;\n\n return '';\n}\n\nfunction getClassName(type: BadgeType, data: any, size: BadgeSize): string {\n const baseClass = 'badge';\n const sizeClass = badgeSizeClassNameMap[size];\n\n let typeClass = '';\n\n if (type === BadgeType.DurationApproximate)\n typeClass = 'duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n if (type === BadgeType.DurationExact)\n typeClass = 'duration-badge';\n\n if (type === BadgeType.Interactive)\n typeClass = 'interactive-badge';\n\n if (type === BadgeType.Rating)\n typeClass = `rating-badge text-shadow ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\n\n if (type === BadgeType.ProductionYear)\n typeClass = 'production-year-badge text-shadow';\n\n if (type === BadgeType.Captions)\n return 'p-0';\n\n if (type === BadgeType.Status)\n return `badge ${getStatusClassName(data)}`;\n\n if (type === BadgeType.Trending)\n return `trending-badge px-1 d-flex align-items-center ${sizeClass}`;\n\n if (type === BadgeType.Count)\n typeClass = 'count-badge px-1 rounded';\n\n if (type === BadgeType.Restriction) {\n const restrictionBgClass = RestrictionHelper.mapRestrictionToClass(data.restrictions);\n return classNames('restriction-badge rounded-pill px-2 d-flex align-items-center', restrictionBgClass);\n }\n \n if (type === BadgeType.Source)\n typeClass = getSourceClassName(data);\n\n return classNames(baseClass, typeClass);\n}\n\nfunction getBadgeContent(type: BadgeType, data: any, size: BadgeSize): string | JSX.Element {\n if (type === BadgeType.Interactive)\n return getPhrase('interactive');\n\n if (type === BadgeType.DurationApproximate)\n return DurationHelper.ToDisplayDurationNewStyle(data);\n\n if (type === BadgeType.DurationExact)\n return DurationHelper.ToDisplayDuration(data);\n\n if (type === BadgeType.Rating)\n return (data as Rating).code; // data expected to be a rating object\n\n if (type === BadgeType.ProductionYear)\n return data; // data should be the production year\n\n if (type === BadgeType.Captions)\n return <SvgContainer svg={CloseCaptionBadgeSvg} />;\n\n if (type === BadgeType.Status) {\n if (typeof(data) === 'number') {\n return CurationStatus[data];\n }\n return data;\n }\n\n if (type === BadgeType.Trending)\n return (\n <>\n <SvgContainer svg={TrendingSvg} size={badgeSvgContainerSizeMap[size]} />\n <span className='ps-1'>{data}</span>\n </>\n );\n\n if (type === BadgeType.Count)\n return data;\n\n if (type === BadgeType.Restriction)\n return (\n <>\n <SvgContainer\n svg={RestrictionHelper.mapRestrictionToSvg(data.restrictions)}\n />\n <span>\n {RestrictionHelper.mapRestrictionToText(data.restrictions, data.yearGroups)}\n </span>\n </>\n );\n\n if (type === BadgeType.Source) {\n const sources = data as VideoSource[];\n\n if (sources.includes(VideoSource.Streamable))\n return 'streamable';\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'movies + tv';\n\n if (sources.includes(VideoSource.Exchange))\n return 'exchange';\n\n if (sources.includes(VideoSource.Twig))\n return 'twig';\n\n return '-';\n }\n}\n\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\n if (type === BadgeType.Rating)\n return {\n title: (data as Rating).name,\n placement: 'top'\n };\n\n return null;\n}\n\nfunction hasData(type: BadgeType, data: any): boolean {\n if (typeof(data) === 'boolean')\n return !!data;\n\n if (type === BadgeType.Rating)\n return data && !!(data as Rating).value;\n\n if (type === BadgeType.Interactive)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Captions)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Status)\n return typeof(data) === 'number' || typeof(data) === 'string';\n\n return !!data;\n}\n\nexport function Badge(props: BadgeProps): JSX.Element {\n const { type, data, size = 'std' } = props;\n \n if (!hasData(type, data))\n return <></>;\n\n let className = getClassName(type, data, size);\n className = `${className} ${props.inline ? 'd-inline-block' : 'd-flex justify-content-center'} ${props.className || ''}`;\n const content = getBadgeContent(type, data, size);\n const tooltip = getTooltip(type, data);\n const spanHackClassName = props.inline && 'd-inline-block';\n\n if (tooltip) {\n return (\n <div className='badge-wrapper d-inline'>\n <Tooltip {...tooltip} spanHack spanHackClassName={spanHackClassName}>\n <span className={className}>{content}</span>\n </Tooltip>\n </div>\n );\n }\n\n return <span className={`${className} badge-wrapper`}>{content}</span>;\n}"],"names":["DashboardStatus","DashboardTargetType","VideoSource","TrendingSvg","props","jsx","CloseCaptionBadgeSvg","padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit","startMilliseconds","endMilliseconds","MasterObjectTypes","ResourceFileType","FileExcelSvg","FilePdfSvg","FilePptSvg","FileSvg","FileWordSvg","FileZipSvg","lang","VideoDetailsHelper","ratingValue","rating","library","hasLite","LanguageService","sourceType","video","_b","_a","type","mappedType","FileImgSvg","FolderSvg","namespace","getPhrase","BadgeType","badgeSvgContainerSizeMap","SvgContainerSize","badgeSizeClassNameMap","getStatusClassName","status","CurationStatus","getSourceClassName","sources","styles","getClassName","data","size","baseClass","sizeClass","typeClass","restrictionBgClass","RestrictionHelper","classNames","getBadgeContent","SvgContainer","jsxs","Fragment","getTooltip","hasData","Badge","className","content","tooltip","spanHackClassName","Tooltip"],"mappings":"uNAyBO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,UAAY,YACZA,EAAA,SAAW,WAHDA,IAAAA,GAAA,CAAA,CAAA,EAuCAC,GAAAA,IACVA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,wBAA0B,2BAC1BA,EAAA,yBAA2B,4BAC3BA,EAAA,YAAc,gBACdA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,eAAiB,kBACjBA,EAAA,kBAAoB,sBACpBA,EAAA,wBAA0B,4BAVhBA,IAAAA,GAAA,CAAA,CAAA,EChEAC,GAAAA,IACVA,EAAA,SAAW,WACXA,EAAA,WAAa,aACbA,EAAA,YAAc,gBACdA,EAAA,KAAO,OAJGA,IAAAA,GAAA,CAAA,CAAA,ECEL,SAASC,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,iOACF,SAAS,SAAA,CAAA,EAEb,CAEJ,CCXO,SAASC,EAAqBF,EAAsC,CACzE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,0dACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTA,MAAME,EAAU,CAACC,EAAwBC,EAAqBC,IAAoB,CAChFF,EAAQA,EAAM,SAAA,EAEd,MAAMG,EAAOF,EAAcD,EAAM,OAEjC,OAAIG,GAAQ,EACHH,EAEF,IAAI,MAAMG,EAAO,CAAC,EAAE,KAAKD,CAAO,EAAIF,CAC7C,EAEMI,EAAiB,CAIrB,kBAAkBC,EAAsBC,EAA2B,CACjE,GAAI,CAACC,EAAWF,CAAY,EAC1B,MAAO,GAET,MAAMG,EAAO,IAAI,KAAKH,CAAY,EAE5BI,EAAID,EAAK,YAAA,EACTE,EAAIX,EAAQS,EAAK,cAAA,EAAiB,EAAG,GAAG,EACxCG,EAAIZ,EAAQS,EAAK,cAAA,EAAiB,EAAG,GAAG,EAE9C,OAAIF,GAAWG,EAAI,EACV,GAAGA,CAAC,IAAIC,CAAC,IAAIC,CAAC,GAGhB,GAAGD,CAAC,IAAIC,CAAC,EAClB,EAEA,0BAA0BN,EAAsBO,EAAkC,CAChF,GAAI,CAACL,EAAWF,CAAY,EAC1B,MAAO,GAET,MAAMG,EAAO,IAAI,KAAKH,CAAY,EAElC,IAAII,EAAID,EAAK,YAAA,EACTE,EAAIF,EAAK,cAAA,EACb,MAAMG,EAAIH,EAAK,cAAA,EAYf,IATKC,EAAI,GAAKC,EAAI,IAAMC,GAAK,KAC3BD,EAAIA,EAAI,EAEJA,GAAK,KACPD,EAAIA,EAAI,EACRC,EAAI,IAIJD,EAAI,EAAG,CACT,MAAMI,EAAWJ,EAAI,EAAI,MAAQ,KAEjC,OAAIC,EAAI,EACFE,GAAkBD,EAAI,EACjB,GAAGF,CAAC,GAAGI,CAAQ,IAAIH,CAAC,KAAKC,CAAC,IAG5B,GAAGF,CAAC,GAAGI,CAAQ,IAAIH,CAAC,KAGtB,GAAGD,CAAC,IAAII,CAAQ,EACzB,CAEA,OAAIH,EAAI,EACFE,GAAkBD,EAAI,EACjB,GAAGD,CAAC,KAAKC,CAAC,IAGZ,GAAGD,CAAC,IAGN,GAAGC,CAAC,GACb,EAEA,mBAAmBG,EAA2BC,EAAyB,CACrE,GAAI,CAACR,EAAWO,CAAiB,GAAK,CAACP,EAAWQ,CAAe,EAC/D,MAAO,GAET,MAAMT,EAAU,IAAI,KAAKS,CAAe,EAAE,cAAgB,EAE1D,MAAO,GAAGX,EAAe,kBAAkBU,EAAmBR,CAAO,CAAC,MAAMF,EAAe,kBAAkBW,EAAiBT,CAAO,CAAC,EACxI,CACF,ECvFO,IAAKU,GAAAA,IACVA,EAAA,OAAS,WACTA,EAAA,aAAe,gBACfA,EAAA,cAAgB,iBAChBA,EAAA,cAAgB,iBAChBA,EAAA,SAAW,WACXA,EAAA,UAAY,YACZA,EAAA,MAAQ,QACRA,EAAA,KAAO,OACPA,EAAA,YAAc,cATJA,IAAAA,GAAA,CAAA,CAAA,ECCAC,GAAAA,IACVA,EAAA,IAAM,MACNA,EAAA,MAAQ,QACRA,EAAA,WAAa,aACbA,EAAA,SAAW,WACXA,EAAA,MAAQ,QACRA,EAAA,IAAM,UACNA,EAAA,KAAO,OAPGA,IAAAA,GAAA,CAAA,CAAA,ECCL,SAASC,EAAatB,EAAsC,CACjE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,uLACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTO,SAASsB,EAAWvB,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,kqCACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTO,SAASuB,EAAWxB,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,8YACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTO,SAASwB,EAAQzB,EAAsC,CAC5D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,qJACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTO,SAASyB,EAAY1B,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,6MACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCTO,SAAS0B,EAAW3B,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,oQACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCMA,MAAM2B,EAAO,sBAEAC,EAAqB,CAChC,iBAAiBC,EAA6B,CAC5C,OAAKA,GAEYC,GAA2B,CAC1C,OAAQ,GAAA,CACN,KAAMA,EAAS,GACb,MAAO,YACT,KAAMA,EAAS,GACb,MAAO,WACT,KAAMA,EAAS,GACb,MAAO,UACT,KAAMA,EAAS,GACb,MAAO,SACT,KAAMA,EAAS,IACb,MAAO,UACT,KAAMA,GAAU,IACd,MAAO,YACT,QACE,MAAO,EAAA,CAEb,GAEeD,CAAW,EArBD,EAsB3B,EAEA,uBAAuBE,EAAkBC,EAA2B,CAClE,OAAQD,EAAQ,KAAA,CACd,KAAKZ,EAAkB,cACvB,KAAKA,EAAkB,cACrB,OAAOY,EAAQ,KACjB,KAAKZ,EAAkB,SACrB,OAAOc,EAAgB,UAAUN,EAAM,UAAU,EACnD,KAAKR,EAAkB,UACrB,OAAOc,EAAgB,UAAUN,EAAMK,EAAU,WAAa,WAAW,EAC3E,QACE,MAAO,EAAA,CAEb,EAEA,iBAAiBE,EAAwE,CACvF,OAAQA,EAAA,CACN,KAAKf,EAAkB,cACvB,KAAKA,EAAkB,cACrB,MAAO,UACT,KAAKA,EAAkB,SACrB,MAAO,WACT,KAAKA,EAAkB,UACvB,QACE,MAAO,QAAA,CAEb,EAEA,cAAcgB,EAAuB,SACnC,MAAO,CAAC,GAACC,GAAAC,EAAAF,GAAA,YAAAA,EAAO,eAAP,YAAAE,EAAqB,OAArB,MAAAD,EAA2B,OACtC,EAEA,aAAaE,EAAmB,CAW9B,IAAIC,EAVsB,CACxB,CAACnB,EAAiB,GAAG,EAAGE,EACxB,CAACF,EAAiB,KAAK,EAAGoB,EAC1B,CAACpB,EAAiB,UAAU,EAAGG,EAC/B,CAACH,EAAiB,QAAQ,EAAGK,EAC7B,CAACL,EAAiB,KAAK,EAAGC,EAC1B,CAACD,EAAiB,GAAG,EAAGM,EACxB,CAACN,EAAiB,IAAI,EAAGI,CAAA,EAGJc,CAAI,EAE3B,OAAKC,IACHA,EAAaE,GAERF,CACT,EAEA,eAAeD,EAAmB,CAChC,OAAQA,EAAA,CACN,KAAKlB,EAAiB,IACpB,MAAO,WAET,KAAKA,EAAiB,MACpB,MAAO,cAET,KAAKA,EAAiB,SACpB,MAAO,YAET,KAAKA,EAAiB,MACpB,MAAO,aAET,KAAKA,EAAiB,WACpB,MAAO,cAET,KAAKA,EAAiB,IACpB,MAAO,YAET,KAAKA,EAAiB,KACpB,MAAO,YAET,QACE,MAAO,EAAA,CAEb,EAEA,mBAAmBkB,EAAsB,CACvC,OAAKA,EAE0B,CAC7B,IAAK,MACL,MAAO,MACP,WAAY,MAAA,EAGIA,EAAK,aAAa,EARlB,EASpB,EAEA,cAAcA,EAAsB,CAClC,GAAI,CAACA,EAAM,MAAO,GAElB,OAAQA,EAAA,CACN,KAAKlB,EAAiB,IAAK,OAAOa,EAAgB,UAAUN,EAAM,KAAK,EACvE,KAAKP,EAAiB,MAAO,OAAOa,EAAgB,UAAUN,EAAM,OAAO,EAC3E,KAAKP,EAAiB,SAAU,OAAOa,EAAgB,UAAUN,EAAM,UAAU,EACjF,KAAKP,EAAiB,MAAO,OAAOa,EAAgB,UAAUN,EAAM,aAAa,EACjF,KAAKP,EAAiB,WAAY,OAAOa,EAAgB,UAAUN,EAAM,cAAc,EACvF,KAAKP,EAAiB,IAAK,OAAOa,EAAgB,UAAUN,EAAM,YAAY,EAC9E,KAAKP,EAAiB,KAAM,OAAOa,EAAgB,UAAUN,EAAM,MAAM,EAEzE,QACE,MAAO,EAAA,CAEb,CACF,ECpIMe,EAAY,gBACZC,EAAYV,EAAgB,iBAAiBS,CAAS,EAErD,IAAKE,GAAAA,IACVA,EAAA,cAAgB,iBAChBA,EAAA,oBAAsB,uBACtBA,EAAA,YAAc,cACdA,EAAA,OAAS,SACTA,EAAA,eAAiB,kBACjBA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,SAAW,WACXA,EAAA,MAAQ,QACRA,EAAA,YAAc,cACdA,EAAA,OAAS,SAXCA,IAAAA,GAAA,CAAA,CAAA,EAgCZ,MAAMC,EAAmE,CACvE,GAAIC,EAAiB,WACrB,GAAIA,EAAiB,MACrB,IAAKA,EAAiB,SACtB,GAAIA,EAAiB,KACvB,EAEMC,EAAsD,CAC1D,GAAI,WACJ,GAAI,WACJ,IAAK,YACL,GAAI,UACN,EAEA,SAASC,EAAmBC,EAAkD,CAC5E,OAAQA,EAAA,CACN,KAAKC,EAAe,UACpB,KAAKvD,EAAgB,UACnB,MAAO,aAET,KAAKuD,EAAe,SACpB,KAAKA,EAAe,SACpB,KAAKvD,EAAgB,SACnB,MAAO,YAET,KAAKuD,EAAe,MACpB,KAAKvD,EAAgB,MACnB,MAAO,sEAET,KAAKuD,EAAe,QACpB,KAAKA,EAAe,WAClB,MAAO,YAAA,CAEb,CAEA,SAASC,EAAmBC,EAAgC,CAC1D,OAAIA,EAAQ,SAASvD,EAAY,UAAU,EAClC,8CAA8CwD,EAAO,UAAU,GAEpED,EAAQ,SAASvD,EAAY,WAAW,EACnC,kEAELuD,EAAQ,SAASvD,EAAY,QAAQ,EAChC,kEAELuD,EAAQ,SAASvD,EAAY,IAAI,EAC5B,gEAEF,EACT,CAEA,SAASyD,EAAahB,EAAiBiB,EAAWC,EAAyB,CACzE,MAAMC,EAAY,QACZC,EAAYX,EAAsBS,CAAI,EAE5C,IAAIG,EAAY,GAiBhB,GAfIrB,IAAS,yBACXqB,EAAY,8EAEVrB,IAAS,mBACXqB,EAAY,kBAEVrB,IAAS,gBACXqB,EAAY,qBAEVrB,IAAS,WACXqB,EAAY,4BAA4B/B,EAAmB,iBAAkB2B,EAAgB,KAAK,CAAC,IAEjGjB,IAAS,oBACXqB,EAAY,qCAEVrB,IAAS,WACX,MAAO,MAET,GAAIA,IAAS,SACX,MAAO,SAASU,EAAmBO,CAAI,CAAC,GAE1C,GAAIjB,IAAS,WACX,MAAO,iDAAiDoB,CAAS,GAKnE,GAHIpB,IAAS,UACXqB,EAAY,4BAEVrB,IAAS,cAAuB,CAClC,MAAMsB,EAAqBC,EAAkB,sBAAsBN,EAAK,YAAY,EACpF,OAAOO,EAAW,gEAAiEF,CAAkB,CACvG,CAEA,OAAItB,IAAS,WACXqB,EAAYR,EAAmBI,CAAI,GAE9BO,EAAWL,EAAWE,CAAS,CACxC,CAEA,SAASI,EAAgBzB,EAAiBiB,EAAWC,EAAuC,CAC1F,GAAIlB,IAAS,cACX,OAAOK,EAAU,aAAa,EAEhC,GAAIL,IAAS,uBACX,OAAO/B,EAAe,0BAA0BgD,CAAI,EAEtD,GAAIjB,IAAS,iBACX,OAAO/B,EAAe,kBAAkBgD,CAAI,EAE9C,GAAIjB,IAAS,SACX,OAAQiB,EAAgB,KAE1B,GAAIjB,IAAS,kBACX,OAAOiB,EAET,GAAIjB,IAAS,WACX,OAAOtC,EAAAA,IAACgE,EAAA,CAAa,IAAK/D,CAAA,CAAsB,EAElD,GAAIqC,IAAS,SACX,OAAI,OAAOiB,GAAU,SACZL,EAAeK,CAAI,EAErBA,EAGT,GAAIjB,IAAS,WACX,OACE2B,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAlE,MAACgE,GAAa,IAAKlE,EAAa,KAAM+C,EAAyBW,CAAI,EAAG,EACtExD,EAAAA,IAAC,OAAA,CAAK,UAAU,OAAQ,SAAAuD,CAAA,CAAK,CAAA,EAC/B,EAGJ,GAAIjB,IAAS,QACX,OAAOiB,EAET,GAAIjB,IAAS,cACX,OACE2B,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAlE,EAAAA,IAACgE,EAAA,CACC,IAAKH,EAAkB,oBAAoBN,EAAK,YAAY,CAAA,CAAA,EAE9DvD,MAAC,QACE,SAAA6D,EAAkB,qBAAqBN,EAAK,aAAcA,EAAK,UAAU,CAAA,CAC5E,CAAA,EACF,EAGJ,GAAIjB,IAAS,SAAkB,CAC7B,MAAMc,EAAUG,EAEhB,OAAIH,EAAQ,SAASvD,EAAY,UAAU,EAClC,aAELuD,EAAQ,SAASvD,EAAY,WAAW,EACnC,cAELuD,EAAQ,SAASvD,EAAY,QAAQ,EAChC,WAELuD,EAAQ,SAASvD,EAAY,IAAI,EAC5B,OAEF,GACT,CACF,CAEA,SAASsE,EAAW7B,EAAiBiB,EAA2B,CAC9D,OAAIjB,IAAS,SACJ,CACL,MAAQiB,EAAgB,KACxB,UAAW,KAAA,EAGR,IACT,CAEA,SAASa,EAAQ9B,EAAiBiB,EAAoB,SACpD,OAAI,OAAOA,GAAU,UACZ,CAAC,CAACA,EAEPjB,IAAS,SACJiB,GAAQ,CAAC,CAAEA,EAAgB,MAEhCjB,IAAS,cACJ,CAAC,EAACiB,GAAA,MAAAA,EAAM,SAAU,CAAC,GAAClB,EAAAkB,GAAA,YAAAA,EAAM,OAAN,MAAAlB,EAAY,QAErCC,IAAS,WACJ,CAAC,EAACiB,GAAA,MAAAA,EAAM,SAAU,CAAC,GAACnB,EAAAmB,GAAA,YAAAA,EAAM,OAAN,MAAAnB,EAAY,QAErCE,IAAS,SACJ,OAAOiB,GAAU,UAAY,OAAOA,GAAU,SAEhD,CAAC,CAACA,CACX,CAEO,SAASc,EAAMtE,EAAgC,CACpD,KAAM,CAAE,KAAAuC,EAAM,KAAAiB,EAAM,KAAAC,EAAO,OAAUzD,EAErC,GAAI,CAACqE,EAAQ9B,EAAMiB,CAAI,EACrB,OAAOvD,EAAAA,IAAAkE,EAAAA,SAAA,EAAE,EAEX,IAAII,EAAYhB,EAAahB,EAAMiB,EAAMC,CAAI,EAC7Cc,EAAY,GAAGA,CAAS,IAAIvE,EAAM,OAAS,iBAAmB,+BAA+B,IAAIA,EAAM,WAAa,EAAE,GACtH,MAAMwE,EAAUR,EAAgBzB,EAAMiB,EAAMC,CAAI,EAC1CgB,EAAUL,EAAW7B,EAAMiB,CAAI,EAC/BkB,EAAoB1E,EAAM,QAAU,iBAE1C,OAAIyE,QAEC,MAAA,CAAI,UAAU,yBACb,SAAAxE,MAAC0E,GAAS,GAAGF,EAAS,SAAQ,GAAC,kBAAAC,EAC7B,SAAAzE,EAAAA,IAAC,OAAA,CAAK,UAAAsE,EAAuB,SAAAC,CAAA,CAAQ,EACvC,EACF,QAII,OAAA,CAAK,UAAW,GAAGD,CAAS,iBAAmB,SAAAC,EAAQ,CACjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{aj as g,a3 as V,l as j,L as E,j as e}from"./app-CShb1Dgt.js";import{u as v,P,I as A}from"./CqWvHKP5.chunk.js";import{u as L,a as R,V as N}from"./PLxejfSI.chunk.js";import{h as F}from"./CcHhPXQX.chunk.js";import{u as S}from"./YuqHkk0a.chunk.js";import{E as C}from"./Byh4RoGO.chunk.js";import{E as G}from"./CMfzHyZ-.chunk.js";import{E as n}from"./BAaMmtA5.chunk.js";import{a as I}from"./X5emuMm3.chunk.js";import{a as M}from"./DeSk2YFH.chunk.js";import"./nbVa2u9N.chunk.js";import"./DbNPwlCF.chunk.js";import"./B5VX0-05.chunk.js";import"./DigjAeMR.chunk.js";import"./_sYSSSUN.chunk.js";import"./cDgsKsmM.chunk.js";import"./BrdU6Hc2.chunk.js";import"./D5FAzio3.chunk.js";import"./BlDVEZsX.chunk.js";import"./D9df4Id7.chunk.js";import"./pkzD5BEm.chunk.js";import"./B1cVJr0t.chunk.js";import"./C3LmB7vs.chunk.js";import"./Bcaq2QKq.chunk.js";import"./DFEBv1_O.chunk.js";import"./vbpGTzKU.chunk.js";import"./D30qaGvM.chunk.js";import"./BqRzwJ-J.chunk.js";import"./DGvEmnsP.chunk.js";import"./DgYE66Vs.chunk.js";import"./M8-7wL03.chunk.js";import"./2GC-PPDy.chunk.js";import"./d6bZeQ7u.chunk.js";import"./aou-5sJI.chunk.js";const b="exchange.mostRecent",m=E.encloseNamespace(b);function xe(){const c=g(),p=S(),o=V(n.exchange()),u=I("video-list"),{commonVideoProps:d}=L();j({title:m("title")});const{items:i,hasMore:h,isFetching:r,nextCursor:x}=v(o.data&&s,a,l);function s(t){return n.mostRecentVideos(o.data.id,t)}function a(t){return c(s(t))}function l(t,f){if(t===1)return F(f);p.error(m("error"))}return e.jsxs(R.Provider,{value:u,children:[e.jsxs("div",{className:"mb-2",children:[e.jsx(C,{}),e.jsx(G,{active:"most-recent"})]}),i?e.jsx(N,{videos:i,getVideoAppLink:M,presentationAudiences:null,getPreviewQuestionsAppLink:()=>null,hasPermissions:()=>!1,hideVideoGuidance:!0,commonVideoProps:d}):e.jsx("div",{className:"mx-n2",children:e.jsx(P,{})}),(h||r)&&e.jsx(A,{isFetching:r,fetchNext:a,nextCursor:x})]})}export{xe as ExchangeMostRecentView};
|
|
2
|
+
//# sourceMappingURL=C42aTLRq.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"C42aTLRq.chunk.js","sources":["../../src/apps/exchange/views/exchange-most-recent/ExchangeMostRecentView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { useCommonVideoProps } from 'apps/exchange/hooks/useCommonVideoProps';\nimport { useGetExchangeActions } from 'apps/exchange/hooks/useGetExchangeActions';\nimport { getVideoAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.mostRecent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeMostRecentView() {\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n \n const videoActions = useGetExchangeActions('video-list');\n\n const { commonVideoProps } = useCommonVideoProps();\n\n useSetPageMetadata({ title: getPhrase('title') });\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(exchange.data && getVideosRequest, fetchNextVideos, onError);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return ExchangeRequests.mostRecentVideos(exchange.data.id, cursor);\n }\n\n function fetchNextVideos(cursor?: string): void {\n return fetch(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='mb-2'>\n <ExchangeSearchBar />\n <ExchangeTabs active='most-recent' />\n </div>\n\n {videos ? (\n <VideoList\n videos={videos}\n getVideoAppLink={getVideoAppLink}\n presentationAudiences={null}\n getPreviewQuestionsAppLink={() => null}\n hasPermissions={() => false}\n hideVideoGuidance\n commonVideoProps={commonVideoProps}\n />\n ) : (\n <div className='mx-n2'>\n <PartialVideoList />\n </div>\n )}\n\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNextVideos}\n nextCursor={nextCursor}\n />\n )}\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","ExchangeMostRecentView","fetch","Flight.useGetFetch","alerts","useAlerts","exchange","Flight.useBasicFetch","ExchangeRequests","videoActions","useGetExchangeActions","commonVideoProps","useCommonVideoProps","useSetPageMetadata","videos","hasMore","isFetching","nextCursor","useInfiniteList","getVideosRequest","fetchNextVideos","onError","cursor","pageNumber","httpStatus","handleHttpError","jsxs","VideoActionsContext","jsx","ExchangeSearchBar","ExchangeTabs","VideoList","getVideoAppLink","PartialVideoList","InfiniteScrollFooter"],"mappings":"mmCAuBA,MAAMA,EAAY,sBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,IAAyB,CACvC,MAAMC,EAAQC,EAAO,EACfC,EAASC,EAAA,EAETC,EAAWC,EAA8BC,EAAiB,UAAU,EAEpEC,EAAeC,EAAsB,YAAY,EAEjD,CAAE,iBAAAC,CAAA,EAAqBC,EAAA,EAE7BC,EAAmB,CAAE,MAAOd,EAAU,OAAO,EAAG,EAEhD,KAAM,CACJ,MAAOe,EACP,QAAAC,EACA,WAAAC,EACA,WAAAC,CAAA,EACEC,EAAuBZ,EAAS,MAAQa,EAAkBC,EAAiBC,CAAO,EAEtF,SAASF,EAAiBG,EAAiC,CACzD,OAAOd,EAAiB,iBAAiBF,EAAS,KAAK,GAAIgB,CAAM,CACnE,CAEA,SAASF,EAAgBE,EAAuB,CAC9C,OAAOpB,EAAMiB,EAAiBG,CAAM,CAAC,CACvC,CAEA,SAASD,EAAQE,EAAoBC,EAA8B,CACjE,GAAID,IAAe,EACjB,OAAOE,EAAgBD,CAAU,EAEnCpB,EAAO,MAAML,EAAU,OAAO,CAAC,CACjC,CAEA,OACE2B,EAAAA,KAACC,EAAoB,SAApB,CAA6B,MAAOlB,EACnC,SAAA,CAAAiB,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,aAAA,CAAc,CAAA,EACrC,EAEChB,EACCc,EAAAA,IAACG,EAAA,CACC,OAAAjB,EACA,gBAAAkB,EACA,sBAAuB,KACvB,2BAA4B,IAAM,KAClC,eAAgB,IAAM,GACtB,kBAAiB,GACjB,iBAAArB,CAAA,CAAA,EAGFiB,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,MAACK,IAAiB,EACpB,GAGAlB,GAAWC,IACXY,EAAAA,IAACM,EAAA,CACC,WAAAlB,EACA,UAAWI,EACX,WAAAH,CAAA,CAAA,CACF,EAEJ,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"C4BzCmwg.chunk.js","sources":["../../../../libs/shared/src/hooks/UseHandleDialogError.ts"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\n\nimport { UnspecifiedDialogError } from 'libs/shared/errors/general/unspecified-dialog/UnspecifiedDialogError';\n\nexport function useHandleDialogError(...statusCodes: HttpStatus[]): void {\n React.useEffect(() => {\n if (!statusCodes.length)\n return;\n\n const hasErrorCode = statusCodes.some(Core.ErrorHelper.isStatusCodeError);\n\n if (!hasErrorCode)\n return;\n\n Core.ErrorHelper.throw(new UnspecifiedDialogError());\n }, statusCodes);\n}"],"names":["useHandleDialogError","statusCodes","React","Core.ErrorHelper","UnspecifiedDialogError"],"mappings":"qDAOO,SAASA,KAAwBC,EAAiC,CACvEC,EAAM,UAAU,IAAM,CAChB,CAACD,EAAY,QAKb,CAFiBA,EAAY,KAAKE,EAAiB,iBAAiB,GAKxEA,EAAiB,MAAM,IAAIC,CAAwB,CACrD,EAAGH,CAAW,CAChB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,G as i,R as c,aq as l,aS as d,ad as p,ae as m,af as g,A as u,a as x,b as h}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e,G as i,R as c,aq as l,aS as d,ad as p,ae as m,af as g,A as u,a as x,b as h}from"./app-CShb1Dgt.js";import{C as f}from"./DigjAeMR.chunk.js";import{S as v}from"./M8-7wL03.chunk.js";const j="_regionSelect_9qtm0_1",S={regionSelect:j};function y(){return e.jsx("div",{className:`${S.regionSelect} partial-loading-background d-flex rounded mb-3`,children:e.jsx("div",{className:"svg-container std"})})}const b="_select_dlilk_1",k={select:b};function _(s){const{currentRegion:a,regions:t,appLink:o}=s;return!a||!t?e.jsx(y,{}):t.length<=1?e.jsx(e.Fragment,{}):e.jsxs("div",{className:"d-flex align-items-center mb-3",children:[e.jsx("span",{children:"Region: "}),e.jsxs("div",{className:"dropdown",children:[e.jsxs("a",{className:`${k.select} d-flex align-items-center btn btn-outline-dark ms-3`,id:"region-select",type:"button","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:[e.jsx("span",{children:a.stateFull}),e.jsx(i,{svg:f})]}),e.jsx("div",{className:"dropdown-menu dropdown-menu-end","aria-labelledby":"region-select",children:t.map((n,r)=>n.id===a.id?e.jsx(c.Fragment,{},r):e.jsx(l,{className:"dropdown-item",appLink:{...o,args:[n.code]},analyticsData:{region:a.code},analyticsOptions:{actionType:g.Select,entity:m.Region,location:p.Dropdown,descriptor:d.RegionSelect},onClick:()=>s.onClick(n),children:n.stateFull},r))})]})]})}const w="_searchBar_w17nz_1",C={searchBar:w};function A(s){const[a,t]=c.useState(s.query??"");function o(n){var r;n.preventDefault(),a&&u.trigger({application:h.TV,action:x.Tv.SEARCH,args:[(r=s.region)==null?void 0:r.code],params:{query:a}})}return e.jsx("form",{onSubmit:o,children:e.jsxs("div",{className:`${C.searchBar} d-flex border border-dark rounded align-items-center mb-3`,children:[e.jsx(i,{svg:v}),e.jsx("input",{type:"text",className:"form-control h-100 w-100 py-0 border-0 shadow-none",placeholder:"Search for programs on ClickView TV",value:a,onChange:n=>t(n.target.value),autoComplete:"off"})]})})}export{A as T,_ as a};
|
|
2
|
+
//# sourceMappingURL=CFRAo5Sd.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"CFRAo5Sd.chunk.js","sources":["../../src/apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect.tsx","../../src/apps/tv/components/tv-region-select/TvRegionSelect.tsx","../../src/apps/tv/components/tv-search-bar/TvSearchBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from './partial-tv-region-select.module.scss';\n\nexport function PartialTvRegionSelect() {\n return (\n <div className={`${styles.regionSelect} partial-loading-background d-flex rounded mb-3`}>\n <div className='svg-container std'></div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, TvDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ChevronDownSvg } from 'libs/shared/images/svg/arrows/ChevronDownSvg';\n\nimport { PartialTvRegionSelect } from 'apps/tv/components/tv-region-select/partial-loading/PartialTvRegionSelect';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-region-select.module.scss';\n\ninterface TvRegionSelectProps {\n currentRegion: TvRegion;\n regions: TvRegion[];\n appLink: Core.AppLink;\n onClick: (region: TvRegion) => void;\n}\n\nexport function TvRegionSelect(props: TvRegionSelectProps): JSX.Element {\n const { currentRegion, regions, appLink } = props;\n\n if (!currentRegion || !regions)\n return <PartialTvRegionSelect />;\n\n if (regions.length <= 1)\n return <></>;\n\n return (\n <div className='d-flex align-items-center mb-3'>\n <span>Region: </span>\n <div className='dropdown'>\n <a\n className={`${styles.select} d-flex align-items-center btn btn-outline-dark ms-3`}\n id='region-select'\n type='button'\n data-bs-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n >\n <span>{currentRegion.stateFull}</span>\n <SvgContainer svg={ChevronDownSvg} />\n </a>\n <div\n className='dropdown-menu dropdown-menu-end'\n aria-labelledby='region-select'\n >\n {regions.map((region, index) => {\n if (region.id === currentRegion.id)\n return <React.Fragment key={index} />;\n\n return (\n <AppLink\n key={index}\n className='dropdown-item'\n appLink={{\n ...appLink,\n args: [region.code]\n }}\n analyticsData={{ region: currentRegion.code }}\n analyticsOptions={{\n actionType: UserAction.Select,\n entity: EntityType.Region,\n location: LocationContext.Dropdown,\n descriptor: TvDescriptor.RegionSelect\n }}\n onClick={() => props.onClick(region)}\n >\n {region.stateFull}\n </AppLink>\n );\n })}\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SearchSvg } from 'libs/shared/images/svg/actions/SearchSvg';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nimport styles from './tv-search-bar.module.scss';\n\ninterface TvSearchBarProps {\n region: TvRegion;\n query?: string;\n}\n\nexport function TvSearchBar(props: TvSearchBarProps): JSX.Element {\n const [ query, setQuery ] = React.useState(props.query ?? '');\n\n function onSubmit(event: React.FormEvent): void {\n event.preventDefault();\n\n if (!query)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.TV,\n action: Actions.Tv.SEARCH,\n args: [props.region?.code],\n params: { query }\n });\n }\n\n return (\n <form onSubmit={onSubmit}>\n <div className={`${styles.searchBar} d-flex border border-dark rounded align-items-center mb-3`}>\n <SvgContainer svg={SearchSvg} />\n <input\n type='text'\n className='form-control h-100 w-100 py-0 border-0 shadow-none'\n placeholder='Search for programs on ClickView TV'\n value={query}\n onChange={e => setQuery(e.target.value)}\n autoComplete='off'\n />\n </div>\n </form>\n );\n}"],"names":["PartialTvRegionSelect","jsx","styles","TvRegionSelect","props","currentRegion","regions","appLink","Fragment","jsxs","SvgContainer","ChevronDownSvg","region","index","React","AppLink","UserAction","EntityType","LocationContext","TvDescriptor","TvSearchBar","query","setQuery","onSubmit","event","Core.AppLinkHelper","AppChannels","Actions","_a","SearchSvg","e"],"mappings":"oPAIO,SAASA,GAAwB,CACtC,OACEC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,YAAY,kDACpC,SAAAD,EAAAA,IAAC,MAAA,CAAI,UAAU,mBAAA,CAAoB,EACrC,CAEJ,wCCYO,SAASE,EAAeC,EAAyC,CACtE,KAAM,CAAE,cAAAC,EAAe,QAAAC,EAAS,QAAAC,CAAA,EAAYH,EAE5C,MAAI,CAACC,GAAiB,CAACC,QACbN,EAAA,EAAsB,EAE5BM,EAAQ,QAAU,EACbL,EAAAA,IAAAO,EAAAA,SAAA,EAAE,EAGTC,EAAAA,KAAC,MAAA,CAAI,UAAU,iCACb,SAAA,CAAAR,EAAAA,IAAC,QAAK,SAAA,UAAA,CAAQ,EACdQ,EAAAA,KAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAA,EAAAA,KAAC,IAAA,CACC,UAAW,GAAGP,EAAO,MAAM,uDAC3B,GAAG,gBACH,KAAK,SACL,iBAAe,WACf,gBAAc,OACd,gBAAc,QAEd,SAAA,CAAAD,EAAAA,IAAC,OAAA,CAAM,WAAc,SAAA,CAAU,EAC/BA,EAAAA,IAACS,EAAA,CAAa,IAAKC,CAAA,CAAgB,CAAA,CAAA,CAAA,EAErCV,EAAAA,IAAC,MAAA,CACC,UAAU,kCACV,kBAAgB,gBAEf,SAAAK,EAAQ,IAAI,CAACM,EAAQC,IAChBD,EAAO,KAAOP,EAAc,GACvBJ,EAAAA,IAACa,EAAM,SAAN,CAAA,EAAoBD,CAAO,EAGnCZ,EAAAA,IAACc,EAAA,CAEC,UAAU,gBACV,QAAS,CACP,GAAGR,EACH,KAAM,CAACK,EAAO,IAAI,CAAA,EAEpB,cAAe,CAAE,OAAQP,EAAc,IAAA,EACvC,iBAAkB,CAChB,WAAYW,EAAW,OACvB,OAAQC,EAAW,OACnB,SAAUC,EAAgB,SAC1B,WAAYC,EAAa,YAAA,EAE3B,QAAS,IAAMf,EAAM,QAAQQ,CAAM,EAElC,SAAAA,EAAO,SAAA,EAfHC,CAAA,CAkBV,CAAA,CAAA,CACH,CAAA,CACF,CAAA,EACF,CAEJ,8CC5DO,SAASO,EAAYhB,EAAsC,CAChE,KAAM,CAAEiB,EAAOC,CAAS,EAAIR,EAAM,SAASV,EAAM,OAAS,EAAE,EAE5D,SAASmB,EAASC,EAA8B,OAC9CA,EAAM,eAAA,EAEDH,GAGLI,EAAmB,QAAQ,CACzB,YAAaC,EAAY,GACzB,OAAQC,EAAQ,GAAG,OACnB,KAAM,EAACC,EAAAxB,EAAM,SAAN,YAAAwB,EAAc,IAAI,EACzB,OAAQ,CAAE,MAAAP,CAAA,CAAM,CACjB,CACH,CAEA,OACEpB,EAAAA,IAAC,QAAK,SAAAsB,EACJ,SAAAd,EAAAA,KAAC,OAAI,UAAW,GAAGP,EAAO,SAAS,6DACjC,SAAA,CAAAD,EAAAA,IAACS,EAAA,CAAa,IAAKmB,CAAA,CAAW,EAC9B5B,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,UAAU,qDACV,YAAY,sCACZ,MAAOoB,EACP,SAAUS,GAAKR,EAASQ,EAAE,OAAO,KAAK,EACtC,aAAa,KAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{y as Hi,b5 as vw,b6 as mt,T as yw,F as $b,as as jd,b7 as Zn,af as Qt,ae as wi,b8 as gv,b9 as _w,ba as vv,bb as Tw,ad as Tl,bc as Cm,bd as we,be as We,bf as Js,ac as Nl,bg as yv,bh as bw,bi as Sw,bj as Cw,bk as Ew,bl as ww,bm as kw,bn as xw,bo as Aw,bp as Pw,bq as Iw,br as Dw,bs as Nw,bt as Lw,bu as Ow,bv as Mw,bw as Rw,bx as Bw,q as Fw,r as $s,by as Uw,R as Dt,c as $w,j as oe,L as bh,K as Em,w as Ha,G as Tn,Q as fp,ab as es,aI as jw,W as Hw,bz as Ru,aV as Bu,bA as jb,bB as Vw,au as La,ap as Hb,bC as qw,aA as Vb,aJ as zw,ar as cc,M as hc,bD as Ww,A as Gw,aq as Kw,at as Xw,ag as Qw,bE as _v,B as bl,bF as Yw,Z as Jw}from"./app-
|
|
1
|
+
import{y as Hi,b5 as vw,b6 as mt,T as yw,F as $b,as as jd,b7 as Zn,af as Qt,ae as wi,b8 as gv,b9 as _w,ba as vv,bb as Tw,ad as Tl,bc as Cm,bd as we,be as We,bf as Js,ac as Nl,bg as yv,bh as bw,bi as Sw,bj as Cw,bk as Ew,bl as ww,bm as kw,bn as xw,bo as Aw,bp as Pw,bq as Iw,br as Dw,bs as Nw,bt as Lw,bu as Ow,bv as Mw,bw as Rw,bx as Bw,q as Fw,r as $s,by as Uw,R as Dt,c as $w,j as oe,L as bh,K as Em,w as Ha,G as Tn,Q as fp,ab as es,aI as jw,W as Hw,bz as Ru,aV as Bu,bA as jb,bB as Vw,au as La,ap as Hb,bC as qw,aA as Vb,aJ as zw,ar as cc,M as hc,bD as Ww,A as Gw,aq as Kw,at as Xw,ag as Qw,bE as _v,B as bl,bF as Yw,Z as Jw}from"./app-CShb1Dgt.js";import{r as qb,V as Zw}from"./DmTetbor.chunk.js";import{S as ek,l as tk}from"./BQ7D2X0o.chunk.js";import{T as ik,d as rk,V as nk,L as sk}from"./vbpGTzKU.chunk.js";import{C as wm}from"./BqRzwJ-J.chunk.js";import{S as ak}from"./M8-7wL03.chunk.js";import{C as ok}from"./DigjAeMR.chunk.js";import{s as lk,c as uk,T as Tv}from"./BlabCH8N.chunk.js";import{u as zb,a as ck}from"./D30qaGvM.chunk.js";import{D as hk,R as eo,B as bv,a as Sv}from"./C3LmB7vs.chunk.js";import{u as dk}from"./YuqHkk0a.chunk.js";import{D as fk}from"./BVViiWF8.chunk.js";import{M as Ll}from"./CpMkRd2a.chunk.js";import{B as pk}from"./DFEBv1_O.chunk.js";import{A as mk}from"./DGvEmnsP.chunk.js";import{B as gk}from"./Bcaq2QKq.chunk.js";import{T as Cv}from"./B668bf5B.chunk.js";import{V as Ev}from"./D5FAzio3.chunk.js";import{b as vk}from"./DeSk2YFH.chunk.js";import{T as yk}from"./dP41rDFl.chunk.js";import{T as _k}from"./BJB2pvo-.chunk.js";import{T as Tk}from"./TYfK47yR.chunk.js";var Hd,wv;function So(){if(wv)return Hd;wv=1;var s;return typeof window<"u"?s=window:typeof globalThis<"u"?s=globalThis:typeof self<"u"?s=self:s={},Hd=s,Hd}var bk=So();const D=Hi(bk),Sk={},Ck=Object.freeze(Object.defineProperty({__proto__:null,default:Sk},Symbol.toStringTag,{value:"Module"})),Ek=vw(Ck);var Vd,kv;function Wb(){if(kv)return Vd;kv=1;var s=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},e=Ek,t;return typeof document<"u"?t=document:(t=s["__GLOBAL_DOCUMENT_CACHE@4"],t||(t=s["__GLOBAL_DOCUMENT_CACHE@4"]=e)),Vd=t,Vd}var wk=Wb();const le=Hi(wk);var Fu={exports:{}},qd,xv;function Gb(){if(xv)return qd;xv=1,qd=e;var s=Object.prototype.toString;function e(t){if(!t)return!1;var i=s.call(t);return i==="[object Function]"||typeof t=="function"&&i!=="[object RegExp]"||typeof window<"u"&&(t===window.setTimeout||t===window.alert||t===window.confirm||t===window.prompt)}return qd}var zd,Av;function kk(){if(Av)return zd;Av=1;function s(r,n){var a=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(a)return(a=a.call(r)).next.bind(a);if(Array.isArray(r)||(a=e(r))||n){a&&(r=a);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function e(r,n){if(r){if(typeof r=="string")return t(r,n);var a=Object.prototype.toString.call(r).slice(8,-1);if(a==="Object"&&r.constructor&&(a=r.constructor.name),a==="Map"||a==="Set")return Array.from(r);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return t(r,n)}}function t(r,n){(n==null||n>r.length)&&(n=r.length);for(var a=0,o=new Array(n);a<n;a++)o[a]=r[a];return o}var i=(function(){function r(){this.typeToInterceptorsMap_=new Map,this.enabled_=!1}var n=r.prototype;return n.getIsEnabled=function(){return this.enabled_},n.enable=function(){this.enabled_=!0},n.disable=function(){this.enabled_=!1},n.reset=function(){this.typeToInterceptorsMap_=new Map,this.enabled_=!1},n.addInterceptor=function(o,l){this.typeToInterceptorsMap_.has(o)||this.typeToInterceptorsMap_.set(o,new Set);var u=this.typeToInterceptorsMap_.get(o);return u.has(l)?!1:(u.add(l),!0)},n.removeInterceptor=function(o,l){var u=this.typeToInterceptorsMap_.get(o);return u&&u.has(l)?(u.delete(l),!0):!1},n.clearInterceptorsByType=function(o){var l=this.typeToInterceptorsMap_.get(o);return l?(this.typeToInterceptorsMap_.delete(o),this.typeToInterceptorsMap_.set(o,new Set),!0):!1},n.clear=function(){return this.typeToInterceptorsMap_.size?(this.typeToInterceptorsMap_=new Map,!0):!1},n.getForType=function(o){return this.typeToInterceptorsMap_.get(o)||new Set},n.execute=function(o,l){for(var u=this.getForType(o),c=s(u),h;!(h=c()).done;){var f=h.value;try{l=f(l)}catch{}}return l},r})();return zd=i,zd}var Wd,Pv;function xk(){if(Pv)return Wd;Pv=1;var s=(function(){function t(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1}var i=t.prototype;return i.getIsEnabled=function(){return this.enabled_},i.enable=function(){this.enabled_=!0},i.disable=function(){this.enabled_=!1},i.reset=function(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1},i.getMaxAttempts=function(){return this.maxAttempts_},i.setMaxAttempts=function(n){this.maxAttempts_=n},i.getDelayFactor=function(){return this.delayFactor_},i.setDelayFactor=function(n){this.delayFactor_=n},i.getFuzzFactor=function(){return this.fuzzFactor_},i.setFuzzFactor=function(n){this.fuzzFactor_=n},i.getInitialDelay=function(){return this.initialDelay_},i.setInitialDelay=function(n){this.initialDelay_=n},i.createRetry=function(n){var a=n===void 0?{}:n,o=a.maxAttempts,l=a.delayFactor,u=a.fuzzFactor,c=a.initialDelay;return new e({maxAttempts:o||this.maxAttempts_,delayFactor:l||this.delayFactor_,fuzzFactor:u||this.fuzzFactor_,initialDelay:c||this.initialDelay_})},t})(),e=(function(){function t(r){this.maxAttempts_=r.maxAttempts,this.delayFactor_=r.delayFactor,this.fuzzFactor_=r.fuzzFactor,this.currentDelay_=r.initialDelay,this.currentAttempt_=1}var i=t.prototype;return i.moveToNextAttempt=function(){this.currentAttempt_++;var n=this.currentDelay_*this.delayFactor_;this.currentDelay_=this.currentDelay_+n},i.shouldRetry=function(){return this.currentAttempt_<this.maxAttempts_},i.getCurrentDelay=function(){return this.currentDelay_},i.getCurrentMinPossibleDelay=function(){return(1-this.fuzzFactor_)*this.currentDelay_},i.getCurrentMaxPossibleDelay=function(){return(1+this.fuzzFactor_)*this.currentDelay_},i.getCurrentFuzzedDelay=function(){var n=this.getCurrentMinPossibleDelay(),a=this.getCurrentMaxPossibleDelay();return n+Math.random()*(a-n)},t})();return Wd=s,Wd}var Gd,Iv;function Ak(){if(Iv)return Gd;Iv=1;var s=So(),e=function(r,n){return n===void 0&&(n=!1),function(a,o,l){if(a){r(a);return}if(o.statusCode>=400&&o.statusCode<=599){var u=l;if(n)if(s.TextDecoder){var c=t(o.headers&&o.headers["content-type"]);try{u=new TextDecoder(c).decode(l)}catch{}}else u=String.fromCharCode.apply(null,new Uint8Array(l));r({cause:u});return}r(null,l)}};function t(i){return i===void 0&&(i=""),i.toLowerCase().split(";").reduce(function(r,n){var a=n.split("="),o=a[0],l=a[1];return o.trim()==="charset"?l.trim():r},"utf-8")}return Gd=e,Gd}var Dv;function Pk(){if(Dv)return Fu.exports;Dv=1;var s=So(),e=qb(),t=Gb(),i=kk(),r=xk();u.httpHandler=Ak(),u.requestInterceptorsStorage=new i,u.responseInterceptorsStorage=new i,u.retryManager=new r;/**
|
|
3
3
|
* @license
|
|
4
4
|
* slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>
|
|
@@ -242,7 +242,7 @@ ${xa(e)}`),t.map&&!t.map.bytes&&(this.logger_("going to request init segment."),
|
|
|
242
242
|
</svg>
|
|
243
243
|
`;class pg extends XN{constructor(e,t){super(e,t)}createEl(){const e=QN.prototype.createEl.call(this,"button",{className:this.buildCSSClass()},{type:"button",title:this.controlText_});return e.innerHTML=YN,this.createControlTextEl(e),e}handleClick(e){var t;e.stopPropagation(),e.preventDefault(),(t=this.options_)!=null&&t.onClick&&this.options_.onClick()}buildCSSClass(){return"cv-remove-video-button"}}R.registerComponent("removeVideoButton",pg);pg.prototype.controlText_="Remove from watch history";const O1="cvplayer-playback-quality:v2",M1="cvplayer-localcache-playback-quality:v2";class Wr{static isQualityUserPreference(){const e=localStorage.getItem(O1),t=localStorage.getItem(M1);return!!(e||t)}static getPlayerMode(e){var o,l,u,c,h,f,g;const t=((o=e.isFullscreen)==null?void 0:o.call(e))??!1,r=((l=e.usingPlugin)==null?void 0:l.call(e,"playerModePlugin"))?((c=(u=e.playerModePlugin())==null?void 0:u.isHovering)==null?void 0:c.call(u))??!1:!1,a=((h=e.usingPlugin)==null?void 0:h.call(e,"theatreModePlugin"))?((g=(f=e.theatreModePlugin())==null?void 0:f.getTheatreMode)==null?void 0:g.call(f))??!1:!1;return t?"fullscreen":r?"hover":a?"theatre":"default"}static findQualityLevel(e,t){for(let r=0;r<e.length;r++)if(e[r].quality<=t)return e[r];const i=e[e.length-1];if(!i)throw new Error("No quality levels available");return i}static enableQualityLevel(e,t){for(let i=0;i<e.length;i++){const r=e[i];r.enabled=r.id===t}}}var mg=(s=>(s.Default="play",s.Hover="hover",s))(mg||{});const JN=R.getPlugin("plugin"),u_="cv-preview-mode",c_="cv-force-16-9";class ZN extends JN{constructor(e,t){super(e),this.hasSeeked=!1,this.buttonAdded=!1,this.mode=null,this.defaultDisplayMode="normal",this.onQualityReady=null,t!=null&&t.defaultDisplayMode&&(this.defaultDisplayMode=t.defaultDisplayMode),t!=null&&t.startTime&&(this.startTime=t.startTime),this.onSeek=this.onSeek.bind(this),this.player.one("seeking",this.onSeek)}onSeek(){this.hasSeeked=!0}dispose(){this.cleanupQualityListener(),this.player.off("seeking",this.onSeek),super.dispose()}getMode(){return this.mode}isHovering(){return this.mode==="hover"}setPlayerMode(e,t,i){this.player.trigger("flushprogress");const r=this.mode;if(this.mode=e,e==="hover"){this.buttonAdded||this.addButtons(t,i),this.player.addClass(u_),this.applyAspectRatioFix(),this.enableSubtitles(),this.mute(),this.setLowQuality(),this.removeActivityTimeout(),this.player.trigger("resize");return}r==="hover"&&(this.applyDefaultModeLayout(),this.player.removeClass(u_),this.player.removeClass(c_),this.disableSubtitles(),this.unmute(),this.cleanupQualityListener(),this.restorePreviousQuality(),this.restoreActivityTimeout(),this.player.trigger("resize"),this.hasSeeked||(this.player.currentTime(this.startTime??0),this.hasSeeked=!1))}applyDefaultModeLayout(){var t,i,r,n;const e=(i=(t=this.player).usingPlugin)==null?void 0:i.call(t,"theatreModePlugin");this.defaultDisplayMode==="theatre"?(e&&((r=this.player.theatreModePlugin())==null||r.toggleTheatreMode(!0)),this.player.fill(!0)):(e&&((n=this.player.theatreModePlugin())==null||n.toggleTheatreMode(!1)),this.player.fluid(!0))}applyAspectRatioFix(){const e=()=>{const t=this.player.videoWidth(),i=this.player.videoHeight();if(t>0&&i>0){const r=t/i;Math.abs(r-16/9)<.01||this.player.addClass(c_)}};this.player.readyState()>=1?e():this.player.one("loadedmetadata",e)}addButtons(e,t){const i=new fg(this.player),r=new L1(this.player,{onClickHandler:e}),n=new pg(this.player,{onClick:t});t&&$b.isFunction(t)&&this.player.addChild(n),this.player.addChild(i),this.player.addChild(r),this.buttonAdded=!0}enableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().previewModeSubtitles())}disableSubtitles(){this.player.dataLoaded(()=>this.player.persistSubtitleSettingsPlugin().applyUserPreferences())}mute(){this.player.ready(()=>{this.player.persistVolumePlugin().disable(),this.player.muted(!0)})}unmute(){this.player.ready(()=>{this.player.persistVolumePlugin().applyUserPreferences(),this.player.persistVolumePlugin().enable()})}setLowQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().disable();const e=this.player.qualityLevels();if(e.length>0){this.switchToLowestQuality(e);return}this.cleanupQualityListener(),this.onQualityReady=()=>{this.onQualityReady=null,this.switchToLowestQuality(e)},e.one("change",this.onQualityReady)})}cleanupQualityListener(){this.onQualityReady&&(this.player.qualityLevels().off("change",this.onQualityReady),this.onQualityReady=null)}switchToLowestQuality(e){const t=e[e.length-1];t&&Wr.enableQualityLevel(e,t.id)}restorePreviousQuality(){this.player.dataLoaded(()=>{this.player.persistQualitySettingsPlugin().applyUserPreferences(),this.player.persistQualitySettingsPlugin().enable()})}removeActivityTimeout(){this.player.cache_.inactivityTimeout=this.player.options_.inactivityTimeout,this.player.options_.inactivityTimeout=0}restoreActivityTimeout(){this.player.options_.inactivityTimeout=this.player.cache_.inactivityTimeout}}R.registerPlugin("playerModePlugin",ZN);const eL=1e3*60*60*8;class tL{constructor(e){this.options=e,this.initialize()}logStream(){const e=`v:${this.options.videoId}`,t=this.getPlayerMetrics();jd.cacheExists(e)||(this.collectionApiClient.log({type:Qt.WebPlayerStream,actionContext:this.getActionContext(),data:{...this.getAnalyticsData(),player:t},eventVersion:Zn.V3}),jd&&jd.cacheSet(e,null,300))}logVideoProgress(e,t,i){const r=this.getAnalyticsData(),n=this.getPlayerMetrics(),a=i?Qt.PreviewStreamProgress:Qt.StreamProgress,o=e.map(l=>({type:a,actionContext:this.getActionContext(),data:{...r,player:n,progress:l},eventVersion:Zn.V2}));for(const l of t)o.push({type:Qt.StreamBuffering,actionContext:this.getActionContext(),data:{...r,player:n,buffering:l},eventVersion:Zn.V2});this.collectionApiClient.log(o)}logUserAction(e,t){const i={...this.getAnalyticsData(),...e},r={...this.getActionContext(),...t};this.collectionApiClient.log({type:t.actionType,data:i,actionContext:r,eventVersion:t.eventVersion||Zn.V2})}getAnalyticsData(){const e={video:{id:this.options.videoId},flags:{isUsingLocalCache:this.options.isUsingLocalCache,isQualityUserPreference:Wr.isQualityUserPreference()},...this.options.additionalAnalyticsData||{}};this.options.shareId&&(e.video.shareId=this.options.shareId);const t=this.getEntityType();return t===wi.Interactive?e.interactive={id:+this.options.mediaId}:t===wi.Clip&&(e.clip={id:+this.options.mediaId}),e}initialize(){this.setupCollectionApiClient(),gv.lockWindowSession(this.options.userId,eL),this.options.player.one("dispose",()=>gv.unlockWindowSession(this.options.userId))}setupCollectionApiClient(){this.collectionApiClient=new _w({productName:"player.web",productVersion:this.options.productVersion,regionName:this.options.regionName,collectionApiUrls:this.options.collectionApiUrls,collectionApiClientId:this.options.collectionApiClientId,getUser:()=>this.getCurrentUser(),shouldLog:vv.shouldLog,formatData:vv.formatData})}async getCurrentUser(){return{id:this.options.userId,customerId:this.options.customerId,sessionId:this.options.authSessionId}}getActionContext(){return{entity:this.getEntityType(),location:this.getLocationContext(),productArea:void 0,descriptor:this.options.isEmbedded?Tw.Embedded:void 0,workflowPhase:void 0}}getEntityType(){switch(this.options.mediaType){case"MasterVideo":return wi.Video;case"MasterInteractive":return wi.Interactive;case"MasterClip":return wi.Clip}}getLocationContext(){switch(this.options.playerType){case"player":return Tl.Player;case"interactive-player":return Tl.InteractivePlayer;case"create-clip-player":return Tl.CreateClipPlayer}}getPlayerMetrics(){var i,r;const e=this.options.player,t=(i=e.qualityLevels)==null?void 0:i.call(e);return{mode:Wr.getPlayerMode(e),width:e.currentWidth(),height:e.currentHeight(),quality:(r=t==null?void 0:t[t==null?void 0:t.selectedIndex])==null?void 0:r.id}}}class Hp extends Error{constructor(e,t){super((t==null?void 0:t.title)||"Ajax error"),this.url=e,this.response=t}}class iL{constructor(){this.tokens={gateway:null}}async get(e,t){return await this.parseResponse(await fetch(e,{method:"GET",mode:"cors",headers:this.getHeaders(t)}))}async delete(e,t){await fetch(e,{method:"DELETE",headers:this.getHeaders(t)})}async post(e,t,i,r=!0){const n=await fetch(e,{method:"POST",headers:this.getHeaders(i),body:t,mode:"cors"});if(r)return await this.parseResponse(n)}async put(e,t,i,r=!0){const n=await fetch(e,{method:"PUT",headers:this.getHeaders(i),body:t,mode:"cors"});if(r)return await this.parseResponse(n)}setToken(e,t){this.tokens[e]=t}hasToken(e){return!!this.tokens[e]}getHeaders(e={}){const t={"Content-Type":"application/json"};return this.tokens[e.tokenName]&&(t.authorization=`Bearer ${this.tokens[e.tokenName]}`),t}async parseResponse(e){if(e.status===404)return null;if(!e.ok){let i;try{i=await e.json()}catch{throw new Hp(e.url)}finally{throw new Hp(e.url,i)}}return await e.json()}}const Vp=new iL;var Wu={exports:{}},h_;function rL(){return h_||(h_=1,(function(s,e){function t(l){if(l&&typeof l=="object"){var u=l.which||l.keyCode||l.charCode;u&&(l=u)}if(typeof l=="number")return a[l];var c=String(l),h=i[c.toLowerCase()];if(h)return h;var h=r[c.toLowerCase()];if(h)return h;if(c.length===1)return c.charCodeAt(0)}t.isEventKey=function(u,c){if(u&&typeof u=="object"){var h=u.which||u.keyCode||u.charCode;if(h==null)return!1;if(typeof c=="string"){var f=i[c.toLowerCase()];if(f)return f===h;var f=r[c.toLowerCase()];if(f)return f===h}else if(typeof c=="number")return c===h;return!1}},e=s.exports=t;var i=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},r=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};/*!
|
|
244
244
|
* Programatically add the following
|
|
245
|
-
*/for(n=97;n<123;n++)i[String.fromCharCode(n)]=n-32;for(var n=48;n<58;n++)i[n-48]=n;for(n=1;n<13;n++)i["f"+n]=n+111;for(n=0;n<10;n++)i["numpad "+n]=n+96;var a=e.names=e.title={};for(n in i)a[i[n]]=n;for(var o in r)i[o]=r[o]})(Wu,Wu.exports)),Wu.exports}var nL=rL();const Ge=Hi(nL);function sL(s){document[s.fsApi_.fullscreenEnabled]&&(s.isFullscreen()?s.exitFullscreen():s.requestFullscreen())}function aL(s){const e=s.theatreModePlugin().getTheatreMode();s.theatreModePlugin().toggleTheatreMode(!e,{shouldLog:!0})}function oL(s){const e=s.volume(),t=s.lastVolume_();if(e===0){const i=t<.1?.1:t;s.volume(i),s.muted(!1)}else s.muted(!s.muted())}function d_(s){s.paused()?s.play():s.pause()}function Gu(s,e){s.currentTime(s.currentTime()+e)}function f_(s,e){e>0&&s.muted()&&s.muted(!1),s.volume(s.volume()+e)}function lL(s){const e=s.target,t=["video-js","vjs-tech"];return e.tagName.toLowerCase()==="video"||!!t.find(i=>e.classList.contains(i))}const p_={f:sL,m:oL,k:d_,space:d_,t:aL,left:s=>Gu(s,-5),right:s=>Gu(s,5),j:s=>Gu(s,-10),l:s=>Gu(s,10),up:s=>f_(s,.05),down:s=>f_(s,-.05)};function uL(s,e,t){if(s.ctrlKey||s.metaKey||s.altKey)return;const i=Ge(s),n=["up","down"].includes(i);if(n&&!s.shiftKey||!n&&s.shiftKey||i==="t"&&!t.allowTheatreMode||i==="f"&&!t.allowFullscreen||!p_[i])return;p_[i](e,s);const a=lL(s),o=["space"].includes(i);(a||o)&&(s.preventDefault(),s.stopPropagation())}var R1=(s=>(s.PhysicallyChapteredVideo="physically-chaptered-video",s))(R1||{});const cL="1.48.0
|
|
245
|
+
*/for(n=97;n<123;n++)i[String.fromCharCode(n)]=n-32;for(var n=48;n<58;n++)i[n-48]=n;for(n=1;n<13;n++)i["f"+n]=n+111;for(n=0;n<10;n++)i["numpad "+n]=n+96;var a=e.names=e.title={};for(n in i)a[i[n]]=n;for(var o in r)i[o]=r[o]})(Wu,Wu.exports)),Wu.exports}var nL=rL();const Ge=Hi(nL);function sL(s){document[s.fsApi_.fullscreenEnabled]&&(s.isFullscreen()?s.exitFullscreen():s.requestFullscreen())}function aL(s){const e=s.theatreModePlugin().getTheatreMode();s.theatreModePlugin().toggleTheatreMode(!e,{shouldLog:!0})}function oL(s){const e=s.volume(),t=s.lastVolume_();if(e===0){const i=t<.1?.1:t;s.volume(i),s.muted(!1)}else s.muted(!s.muted())}function d_(s){s.paused()?s.play():s.pause()}function Gu(s,e){s.currentTime(s.currentTime()+e)}function f_(s,e){e>0&&s.muted()&&s.muted(!1),s.volume(s.volume()+e)}function lL(s){const e=s.target,t=["video-js","vjs-tech"];return e.tagName.toLowerCase()==="video"||!!t.find(i=>e.classList.contains(i))}const p_={f:sL,m:oL,k:d_,space:d_,t:aL,left:s=>Gu(s,-5),right:s=>Gu(s,5),j:s=>Gu(s,-10),l:s=>Gu(s,10),up:s=>f_(s,.05),down:s=>f_(s,-.05)};function uL(s,e,t){if(s.ctrlKey||s.metaKey||s.altKey)return;const i=Ge(s),n=["up","down"].includes(i);if(n&&!s.shiftKey||!n&&s.shiftKey||i==="t"&&!t.allowTheatreMode||i==="f"&&!t.allowFullscreen||!p_[i])return;p_[i](e,s);const a=lL(s),o=["space"].includes(i);(a||o)&&(s.preventDefault(),s.stopPropagation())}var R1=(s=>(s.PhysicallyChapteredVideo="physically-chaptered-video",s))(R1||{});const cL="1.48.0",hL={version:cL};var Cf,m_;function dL(){if(m_)return Cf;m_=1,Cf=s;function s(e,t){var i,r=null;try{i=JSON.parse(e,t)}catch(n){r=n}return[r,i]}return Cf}var fL=dL();const pL=Hi(fL);var Ku={exports:{}},Ef,g_;function mL(){if(g_)return Ef;g_=1;var s=So(),e=function(r,n){return n===void 0&&(n=!1),function(a,o,l){if(a){r(a);return}if(o.statusCode>=400&&o.statusCode<=599){var u=l;if(n)if(s.TextDecoder){var c=t(o.headers&&o.headers["content-type"]);try{u=new TextDecoder(c).decode(l)}catch{}}else u=String.fromCharCode.apply(null,new Uint8Array(l));r({cause:u});return}r(null,l)}};function t(i){return i===void 0&&(i=""),i.toLowerCase().split(";").reduce(function(r,n){var a=n.split("="),o=a[0],l=a[1];return o.trim()==="charset"?l.trim():r},"utf-8")}return Ef=e,Ef}var v_;function gL(){if(v_)return Ku.exports;v_=1;var s=So(),e=qb(),t=Gb();o.httpHandler=mL();/**
|
|
246
246
|
* @license
|
|
247
247
|
* slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>
|
|
248
248
|
* Copyright (c) 2014 David Björklund
|
|
@@ -370,4 +370,4 @@ browserWorkerPolyFill(self);
|
|
|
370
370
|
${Xt.thumbnailContainer} ${s.titlePosition==="above"?Xt.titleAbove:""}
|
|
371
371
|
${Xt.imageStyle}
|
|
372
372
|
`,children:oe.jsx(cH,{resource:s.data,imageCdnUrl:s.imageCdnUrl,imageErrorFallbackUrl:s.imageErrorFallbackUrl,preloadImage:s.preloadImage})}),t&&s.onClickDownload&&s.actionBehaviour==="normal"&&oe.jsx("div",{className:Xt.actions,children:oe.jsx(Ha,{onClick:o=>s.onClickDownload(o,s.data),className:`${Xt.download} d-flex align-items-center justify-content-center`,children:oe.jsx(Tn,{svg:SE})})}),!s.hideTypeBadge&&t&&oe.jsx(ik,{typeId:hc.Resource})]})})}),s.titlePosition==="below"&&oe.jsxs("div",{className:`mt-1 ${Xt.titleBelow}`,children:[Ll.isType(s.data,hc.Resource)&&!!((a=(n=s.data)==null?void 0:n.metadata)!=null&&a.resourceType)&&oe.jsx(rk,{children:hH.getResourceTypeName(s.data.metadata.resourceType)}),oe.jsx("h3",{className:"h6 clamp-2",children:s.data.name})]})]})}Dt.memo(function(s){const e=NH(s.data,s.actionBehaviour);function t(){return s.location==="play-page"?Xt.playPage:Xt.dashboard}const i={...s.analyticsData,...s.data},r={...s.analyticsOptions,actionType:Qt.Click,entity:s.data.typeId===hc.Resource?wi.Resource:wi.Link};function n(){es.logUserAction(i,r)}const a={...s,applyHoverState:e||!!s.data.url};return oe.jsx("div",{className:`px-1 flex-shrink-0 ${Xt.item} ${t()} ${Ww.RESOURCE_ITEM_SELECTOR}`,children:(()=>{const o="d-block no-decoration";return s.data.type==="link"?oe.jsx("a",{href:s.data.url,target:"_blank",className:o,onClick:n,children:oe.jsx(Os,{...a})}):e?s.actionBehaviour==="public"?oe.jsx("div",{className:`${o} cursor-pointer d-inline`,onClick:()=>{n(),Gw.trigger(s.getAppLink(s.data))},children:oe.jsx(Os,{...a})}):oe.jsx(Kw,{appLink:s.getAppLink(s.data),className:o,analyticsData:i,analyticsOptions:r,children:oe.jsx(Os,{...a})}):s.data.url?oe.jsx("a",{href:s.data.url,className:o,onClick:n,children:oe.jsx(Os,{...a})}):oe.jsx("div",{className:o,children:oe.jsx(Os,{...a})})})()})});function LH(s){return oe.jsx("div",{className:"cv-resource-item",children:oe.jsx(Os,{data:s.resource,imageCdnUrl:s.imageCdnUrl,titlePosition:"above",hideTypeBadge:!0})})}const OH=nd((s,e)=>oe.jsx(LH,{...e})),MH=R.getComponent("MenuItem");class RH extends MH{constructor(e,t){super(e,t);const i=new OH(e,{resource:t.resource,imageCdnUrl:t.imageCdnUrl});this.addChild(i)}createEl(e,t={},i){return super.createEl(e,{...t,className:`${t.className} cv-resource-menu-item`},i)}handleClick(e){e.stopImmediatePropagation(),this.options_.downloadResource(this.options_.resource)}}const BH=R.getComponent("MenuButton");class UE extends BH{constructor(){super(...arguments),this.alwaysCollapsed=!1,this.isCollapsed=!1,this.isCollabsible=!0}buildWrapperCSSClass(){return`cv-menu-small cv-resources-button-wrapper ${super.buildWrapperCSSClass()}`}buildCSSClass(){return`cv-resources-button ${super.buildCSSClass()}`}update(){super.update()}createItems(){const e=[];return e.push(new ea(this.player_,{label:"Resources"})),this.options_.resources.forEach(t=>{const i=new RH(this.player(),{resource:t,imageCdnUrl:this.options_.imageCdnUrl,downloadResource:r=>this.downloadResource(r),label:t.name});e.push(i)}),e}downloadResource(e){if(e.type==="link"){Qw.PageLoad(e.url,!0);return}this.getDownloadIframe().src=e.url}getDownloadIframe(){return this.downloadIframe?this.downloadIframe:(this.downloadIframe=R.dom.createEl("iframe"),this.downloadIframe.style.display="none",R.dom.appendContent(R.dom.$("body"),this.downloadIframe),this.downloadIframe)}getCollabsibleName(){return this.controlText_}getCollabsibleValue(){return""}showInCollabsibleMenu(){return!0}showCollapsibleMenu(){super.handleClick(null)}}UE.prototype.controlText_="Resources";R.registerComponent("ResourcesButton",UE);const FH=R.getPlugin("plugin");class UH extends FH{constructor(e,t){super(e,t),this.options=t,e.ready(()=>this.onReady())}onReady(){if(!this.options.resources.length)return;this.player.getChild("collapserator").addChild("ResourcesButton",{resources:this.options.resources,imageCdnUrl:this.options.imageCdnUrl})}}R.registerPlugin("resourcesPlugin",UH);const $H=R.getPlugin("plugin");class jH extends $H{constructor(e){super(e),this.player.dataLoaded(()=>this.initialize())}initialize(){_v.setCanReload(!1)}dispose(){_v.setCanReload(!0),super.dispose()}}R.registerPlugin("oldVersionRefreshPlugin",jH);function uz(s){const{className:e="",playerApi:t,onReady:i,onDispose:r,...n}=s,a=Dt.useRef(null);return Dt.useEffect(()=>{if(!a)return;const o=new dj(a.current,{...n,playerApi:t});return i&&o.ready(()=>{i(fj(o))}),r&&o.one("dispose",r),()=>{o==null||o.dispose()}},[s.viewKey]),oe.jsx("div",{ref:a,className:e})}const HH="_overlay_rtlcs_1",VH="_close_rtlcs_10",qH="_preview_rtlcs_15",oc={overlay:HH,close:VH,preview:qH};function cz(s){return oe.jsxs(oe.Fragment,{children:[oe.jsx("div",{className:`${oc.overlay} ${oc.preview} d-flex align-items-center justify-content-start`,children:oe.jsx(Tn,{svg:Zw,size:fp.Large})}),oe.jsx(Ha,{className:`${oc.overlay} ${oc.close} d-flex align-items-center justify-content-center`,onClick:s.closePopup,children:oe.jsx(Tn,{svg:wm,size:fp.Large})})]})}const zH="_copyrightDisclaimer_yyjul_1",WH="_overlayContainer_yyjul_4",Bb={copyrightDisclaimer:zH,overlayContainer:WH},dp="shared.copyrightDisclaimer",GH=150;function KH(s){const[e,t]=ck({});function i(){var n;return document.documentElement.clientHeight-((n=e.current)==null?void 0:n.getBoundingClientRect().bottom)<GH}return oe.jsxs("div",{ref:e,className:s.className,children:[oe.jsx("p",{className:`${Bb.copyrightDisclaimer} ${s.phraseClassName??"mb-1"}`,children:oe.jsx(bl,{namespace:dp,phrase:"copyrightDisclaimer"})}),oe.jsx(Yw,{target:e.current,show:t,placement:s.overflowPlacement&&i()?s.overflowPlacement:s.placement,children:oe.jsxs("div",{className:`${Bb.overlayContainer} mw-100 bg-white border rounded-3 p-2`,children:[oe.jsx("p",{children:oe.jsx(bl,{namespace:dp,phrase:"warning"})}),oe.jsx("p",{className:"fw-semibold mb-0",children:oe.jsx(bl,{namespace:dp,phrase:"sharing"})})]})})]})}function XH(s){const{page:e,totalPages:t}=s,i=Cv.isNumber(e)&&e>0&&e<t&&e+1,r=Cv.isNumber(e)&&e>1&&e-1,n={};if(i&&i<=t&&(n.next=i.toString()),r&&(n.previous=r.toString()),!Jw.isEmpty(n))return n}const $E={isEmpty(s){return s&&!(s.data&&s.data.length)},length(s){return s&&s.data&&s.data.length},at(s,e){if(!(!s||!s.data||!s.data.length||e>s.data.length))return s.data[e]},get(s,e){if(!(!s||!s.data||!s.data.length))return s.data.find(t=>t.id&&t.id.toString()===e)},flattenCollections(s){if(!s||!s.length)return;let e=[];return s.forEach(t=>{e=[...e,...t.data]}),e},getNextCursor(s){return s.pagination&&s.pagination.cursors&&s.pagination.cursors.next},convertLegacyPaginatedCollection(s){if(s)return{data:s.data,pagination:{cursors:XH(s.pagination),limit:s.pagination.pageSize}}},hasData(s){return!$E.isEmpty(s)}};function Fb(s){var e;switch((e=s.tagType)==null?void 0:e.toLowerCase()){case Tv.Pedagogy:return 0;case Tv.Skill:return 1;default:return 2}}function QH(s){if(!s.tags)return oe.jsx(oe.Fragment,{});const e=[...s.tags].sort((t,i)=>Fb(t)-Fb(i));return oe.jsx("div",{className:`${lk.tagList} ${s.className}`,children:e.map(t=>{const i=typeof s.getAppLink=="function"?s.getAppLink(t):null,r=typeof s.onRemove=="function"?()=>s.onRemove(t):null,n=typeof s.onClick=="function"?()=>s.onClick(t):null;return oe.jsx(uk,{tag:t,appLink:i,themeColours:s.themeColours,onRemove:r,onClick:n},t.id||t.name)})})}function lc(s){const{label:e,items:t}=s;if(!(t&&t.data&&t.data.length))return oe.jsx(oe.Fragment,{});const r=t.data.map(n=>n.name).join(", ");return oe.jsxs("div",{className:"mb-2",children:[e,": ",r]})}const jE="exchange.detailsSection",uc=bh.encloseNamespace(jE);function YH(s){var r,n,a,o,l,u,c,h,f,g;const{video:e,hasPPDD:t,description:i}=s;return oe.jsxs("div",{className:i?"col-md-5 ps-md-3 pt-3 pt-md-0":"col-12",children:[oe.jsx("h2",{className:"h6 mb-2",children:oe.jsx(bl,{namespace:jE,phrase:"details"})}),t&&oe.jsxs("div",{children:[oe.jsx(lc,{label:uc("productionCompanies",{smartCount:(n=(r=e.productionCompanies)==null?void 0:r.data)==null?void 0:n.length}),items:e.productionCompanies}),oe.jsx(lc,{label:uc("distributors",{smartCount:(o=(a=e.distributors)==null?void 0:a.data)==null?void 0:o.length}),items:e.distributors}),oe.jsx(lc,{label:uc("producers",{smartCount:(u=(l=e.producers)==null?void 0:l.data)==null?void 0:u.length}),items:e.producers}),oe.jsx(lc,{label:uc("directors",{smartCount:(h=(c=e.directors)==null?void 0:c.data)==null?void 0:h.length}),items:e.directors})]}),!!((g=(f=e.tags)==null?void 0:f.data)!=null&&g.length)&&oe.jsx(QH,{tags:e.tags.data})]})}const JH="_previewBadge_1mq7j_1",Ub={previewBadge:JH},ZH="exchange.previewVideoDetails",eV=200;function hz(s){var h,f,g,C,p;const{title:e,description:t,video:i,videoActions:r}=s,n=b=>b?!$E.isEmpty(b):!1,a=!!(i!=null&&i.series),o=!!((h=Ev.getRating(i))!=null&&h.value)||!!(i!=null&&i.productionYear)||s.program,l=n(i==null?void 0:i.productionCompanies)||n(i==null?void 0:i.producers)||n(i==null?void 0:i.distributors)||n(i==null?void 0:i.directors),u=!!t,c=l||!!((g=(f=i==null?void 0:i.tags)==null?void 0:f.data)!=null&&g.length);return oe.jsxs("div",{className:"p-3",children:[oe.jsxs("div",{className:`${!a&&!o?"mb-2":"mb-3"} position-relative`,children:[oe.jsxs("div",{className:"w-100",children:[oe.jsx("div",{className:"ms-2 float-end",children:oe.jsx(mk,{actions:r,actionsDropdownClassName:"btn btn-outline-dark px-1"})}),!!i&&oe.jsx(nk,{type:"series",video:i,appLink:vk(i.series),className:"text-wrap",analyticsOptions:{location:Tl.PlayPage}}),oe.jsx("h1",{className:`h4 mb-1 ${!a&&!o?"mb-0 pt-2":""}`,children:oe.jsx("span",{className:"align-self-center",children:e})})]}),o&&oe.jsxs(gk,{children:[oe.jsx(bv,{type:Sv.Rating,data:Ev.getRating(i),className:`${Ub.previewBadge} fw-semibold py-0 font-size-normal align-items-center px-2`}),oe.jsx(bv,{type:Sv.ProductionYear,data:i==null?void 0:i.productionYear,className:`${Ub.previewBadge} fw-semibold font-size-sm align-items-center px-1`}),((C=s.program)==null?void 0:C.channelLogoUrl)&&oe.jsx(_k,{logoUrl:s.program.channelLogoUrl,className:"me-1"}),((p=s.program)==null?void 0:p.hasAdsFree)&&oe.jsx(yk,{className:"me-1"}),s.program&&oe.jsx(Tk,{program:s.program,showDate:!0,showEndTime:!0})]})]}),oe.jsxs("div",{children:[oe.jsx(tk.Scrollbars,{autoHeight:!0,autoHeightMax:eV,children:oe.jsxs("div",{className:"row g-0",children:[u&&oe.jsxs("div",{className:c?"border-end pe-3 col-md-7":"col-12",children:[oe.jsx("div",{className:"d-flex align-items-center",children:oe.jsx("h2",{className:"h6 mb-2",children:oe.jsx(bl,{namespace:ZH,phrase:"description"})})}),oe.jsx("p",{className:"mb-2",dangerouslySetInnerHTML:{__html:sk.linkifyText(t,{nl2br:!0})}})]}),c&&oe.jsx(YH,{video:i,hasPPDD:l,description:t})]})}),s.video&&oe.jsxs("div",{className:"row",children:[oe.jsx("div",{className:`${l?"d-md-block col-7":""} d-none`}),oe.jsx("div",{className:`${l?"col-md-5 ps-md-3":"ps-2 "} `,children:oe.jsx(KH,{placement:l?"bottom-end":"bottom-start",overflowPlacement:l?"top-end":"top-start"})})]})]})]})}export{uz as C,hz as P,cz as a};
|
|
373
|
-
//# sourceMappingURL=
|
|
373
|
+
//# sourceMappingURL=CKGW3m2X.chunk.js.map
|