@clickview/lite 0.104.0-rc.4 → 0.104.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +356 -356
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{CW1i-QHv.chunk.js → -7qiRMLt.chunk.js} +2 -2
- package/dist/scripts/{CW1i-QHv.chunk.js.map → -7qiRMLt.chunk.js.map} +1 -1
- package/dist/scripts/{C3PXfYEd.chunk.js → B3AhKFfz.chunk.js} +2 -2
- package/dist/scripts/{C3PXfYEd.chunk.js.map → B3AhKFfz.chunk.js.map} +1 -1
- package/dist/scripts/{CwYg3Mqk.chunk.js → B3y60nT5.chunk.js} +2 -2
- package/dist/scripts/{CwYg3Mqk.chunk.js.map → B3y60nT5.chunk.js.map} +1 -1
- package/dist/scripts/{DN82USWW2.chunk.js → B_TE5XUR2.chunk.js} +2 -2
- package/dist/scripts/{DN82USWW2.chunk.js.map → B_TE5XUR2.chunk.js.map} +1 -1
- package/dist/scripts/{C46OeU6w2.chunk.js → BgPye7Nd2.chunk.js} +2 -2
- package/dist/scripts/{C46OeU6w2.chunk.js.map → BgPye7Nd2.chunk.js.map} +1 -1
- package/dist/scripts/{BlsbWOzw2.chunk.js → Bld7iWR52.chunk.js} +2 -2
- package/dist/scripts/{BlsbWOzw2.chunk.js.map → Bld7iWR52.chunk.js.map} +1 -1
- package/dist/scripts/BwBWuxjr2.chunk.js +2 -0
- package/dist/scripts/{B1hsuVfV2.chunk.js.map → BwBWuxjr2.chunk.js.map} +1 -1
- package/dist/scripts/CCBk_ENs.chunk.js +1 -0
- package/dist/scripts/{pKtXmGbN.chunk.js → CMHxOVI7.chunk.js} +2 -2
- package/dist/scripts/{pKtXmGbN.chunk.js.map → CMHxOVI7.chunk.js.map} +1 -1
- package/dist/scripts/{CpzveYo2.chunk.js → CVL6bQWp.chunk.js} +2 -2
- package/dist/scripts/{CpzveYo2.chunk.js.map → CVL6bQWp.chunk.js.map} +1 -1
- package/dist/scripts/{DWo8DfD9.chunk.js → CmnbQiBA.chunk.js} +2 -2
- package/dist/scripts/{DWo8DfD9.chunk.js.map → CmnbQiBA.chunk.js.map} +1 -1
- package/dist/scripts/CpsbRDII.chunk.js +2 -0
- package/dist/scripts/{jAtAipGN.chunk.js.map → CpsbRDII.chunk.js.map} +1 -1
- package/dist/scripts/{BUVko1EF2.chunk.js → D3ncynN72.chunk.js} +3 -3
- package/dist/scripts/{BUVko1EF2.chunk.js.map → D3ncynN72.chunk.js.map} +1 -1
- package/dist/scripts/{DH_0KtTK2.chunk.js → DICsRDM42.chunk.js} +2 -2
- package/dist/scripts/{DH_0KtTK2.chunk.js.map → DICsRDM42.chunk.js.map} +1 -1
- package/dist/scripts/{B2wDqI1S.chunk.js → DSPMbDdF.chunk.js} +2 -2
- package/dist/scripts/{B2wDqI1S.chunk.js.map → DSPMbDdF.chunk.js.map} +1 -1
- package/dist/scripts/{qRLSbnEr.chunk.js → DhdM2yGm.chunk.js} +2 -2
- package/dist/scripts/{qRLSbnEr.chunk.js.map → DhdM2yGm.chunk.js.map} +1 -1
- package/dist/scripts/{app-CfAhMxn1.js → app-DxHnJ6f2.js} +4 -4
- package/dist/scripts/{app-CfAhMxn1.js.map → app-DxHnJ6f2.js.map} +1 -1
- package/dist/scripts/{BYbQI3CA.chunk.js → fMgBORUX.chunk.js} +2 -2
- package/dist/scripts/{BYbQI3CA.chunk.js.map → fMgBORUX.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B1hsuVfV2.chunk.js +0 -2
- package/dist/scripts/BILyzh0I.chunk.js +0 -1
- package/dist/scripts/jAtAipGN.chunk.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./snXCXfT6.chunk.js";import{_ as n,y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{u as l}from"./BX0wDJmp.chunk.js";import{t as u}from"./C1SLt-ar.chunk.js";import{U as d,l as f,o as p,y as m,z as h}from"./NlCAcBdo.chunk.js";import{i as g,n as _,r as v,t as y}from"./Cr6TXzQQ2.chunk.js";import{n as b,t as x}from"./CmcCVXi32.chunk.js";import{t as ee}from"./DGmmTRu72.chunk.js";import{t as S}from"./DZX1tZ-D2.chunk.js";import{t as C}from"./CqrjHjAN.chunk.js";import{t as w}from"./eoAypzU3.chunk.js";import{t as T}from"./XIE88U01.chunk.js";import{t as te}from"./7-GJWRH82.chunk.js";import{t as E}from"./BJZXCSV9.chunk.js";import{n as D,t as O}from"./C6-aC3vu.chunk.js";import{t as k}from"./B3gsVN-_.chunk.js";import{t as A}from"./B_-pJtOI2.chunk.js";import{n as j}from"./CpFtf-tI2.chunk.js";import{t as M}from"./CCdnFnNP.chunk.js";import{t as N}from"./De16zmhB.chunk.js";import{t as ne}from"./DewCxv4i.chunk.js";import{t as re}from"./B8gP8YoA.chunk.js";import{t as ie}from"./IgoS6DLn2.chunk.js";import{t as P}from"./tmS8JSuZ.chunk.js";import{t as F}from"./DzgAvoez.chunk.js";import{t as I}from"./BnuuRu_J2.chunk.js";import{t as L}from"./DDiorDZl.chunk.js";import{t as R}from"./CY_30Xdt.chunk.js";import{o as z}from"./CpgHBpMp.chunk.js";import{n as B,t as V}from"./By1soXyj.chunk.js";import{t as H}from"./CC5Dr9aG.chunk.js";import{r as U}from"./yk6K0dmz2.chunk.js";import{n as W,t as G}from"./CvtZ8ZFA2.chunk.js";import{t as K}from"./BCqRKj1E2.chunk.js";import{t as q}from"./C8aOMmXJ2.chunk.js";import{t as J}from"./8JGe5Ug_2.chunk.js";import{t as ae}from"./
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./snXCXfT6.chunk.js";import{_ as n,y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n as i}from"./B785hxeE.chunk.js";import{t as a}from"./CQyJ7YGa.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{u as l}from"./BX0wDJmp.chunk.js";import{t as u}from"./C1SLt-ar.chunk.js";import{U as d,l as f,o as p,y as m,z as h}from"./NlCAcBdo.chunk.js";import{i as g,n as _,r as v,t as y}from"./Cr6TXzQQ2.chunk.js";import{n as b,t as x}from"./CmcCVXi32.chunk.js";import{t as ee}from"./DGmmTRu72.chunk.js";import{t as S}from"./DZX1tZ-D2.chunk.js";import{t as C}from"./CqrjHjAN.chunk.js";import{t as w}from"./eoAypzU3.chunk.js";import{t as T}from"./XIE88U01.chunk.js";import{t as te}from"./7-GJWRH82.chunk.js";import{t as E}from"./BJZXCSV9.chunk.js";import{n as D,t as O}from"./C6-aC3vu.chunk.js";import{t as k}from"./B3gsVN-_.chunk.js";import{t as A}from"./B_-pJtOI2.chunk.js";import{n as j}from"./CpFtf-tI2.chunk.js";import{t as M}from"./CCdnFnNP.chunk.js";import{t as N}from"./De16zmhB.chunk.js";import{t as ne}from"./DewCxv4i.chunk.js";import{t as re}from"./B8gP8YoA.chunk.js";import{t as ie}from"./IgoS6DLn2.chunk.js";import{t as P}from"./tmS8JSuZ.chunk.js";import{t as F}from"./DzgAvoez.chunk.js";import{t as I}from"./BnuuRu_J2.chunk.js";import{t as L}from"./DDiorDZl.chunk.js";import{t as R}from"./CY_30Xdt.chunk.js";import{o as z}from"./CpgHBpMp.chunk.js";import{n as B,t as V}from"./By1soXyj.chunk.js";import{t as H}from"./CC5Dr9aG.chunk.js";import{r as U}from"./yk6K0dmz2.chunk.js";import{n as W,t as G}from"./CvtZ8ZFA2.chunk.js";import{t as K}from"./BCqRKj1E2.chunk.js";import{t as q}from"./C8aOMmXJ2.chunk.js";import{t as J}from"./8JGe5Ug_2.chunk.js";import{t as ae}from"./BwBWuxjr2.chunk.js";var oe=e(o()),Y=s();function se(e){let n=L.getPartnerLinkByType(e.partnerProfile?.links,`website`,L.makeUTMs({slug:e.partnerProfile._slug.value})),r=S.getHostname(n)??n;return(0,Y.jsx)(`div`,{className:`mt-3`,children:(0,Y.jsx)(q,{children:()=>(0,Y.jsxs)(`p`,{className:`mb-0`,children:[n&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:`position-relative d-inline-block ps-4 mb-2 me-2`,children:[(0,Y.jsx)(t,{svg:N,className:`svg-container position-absolute top-50 start-0 translate-middle-y`}),(0,Y.jsx)(`span`,{className:`ps-1`,children:r})]}),(0,Y.jsx)(`span`,{className:`mb-2 me-2`,children:`•`})]}),e.partnerProfile.description]})})})}var X=`contentPartners.contentPartnerDashboardComingSoon`,ce=a.encloseNamespace(X);function le(e){return(0,Y.jsxs)(E,{children:[(0,Y.jsx)(E.Image,{src:e.comingSoonImageUrl,altText:ce(`description`,{partnerName:e.partnerName})}),(0,Y.jsx)(E.Heading,{children:(0,Y.jsx)(j,{namespace:X,phrase:`heading`})}),(0,Y.jsx)(E.Info,{children:(0,Y.jsx)(j,{namespace:X,phrase:`description`,options:{partnerName:e.partnerName}})})]})}var Z=`contentPartners.contentPartnerDashboardContentRegion`,Q=a.encloseNamespace(Z);function ue(e){return(0,Y.jsxs)(E,{children:[(0,Y.jsx)(E.Image,{src:e.contentRegionImageUrl,altText:Q(`imageAlt`)}),(0,Y.jsx)(E.Heading,{children:(0,Y.jsx)(j,{namespace:Z,phrase:`heading`})}),(0,Y.jsx)(E.Cta,{text:Q(`cta`),appLink:e.contentRegionButtonLink,className:`btn btn-dark`})]})}var $=`contentPartners.contentPartnerDashboardNoContent`,de=a.encloseNamespace($);function fe(e){return(0,Y.jsxs)(E,{children:[(0,Y.jsx)(E.Image,{src:e.noContentImageUrl,altText:de(`description`)}),(0,Y.jsx)(E.Heading,{children:(0,Y.jsx)(j,{namespace:$,phrase:`heading`})}),(0,Y.jsx)(E.Info,{children:(0,Y.jsx)(j,{namespace:$,phrase:`description`})})]})}var pe={"coming-soon":le,"content-region":ue,"no-content":fe};function me(e){let t=pe[e.type];return(0,Y.jsx)(t,{...e})}var he=[g.ContentPartnerVideos];function ge(e,t){let n=e[t];return n?he.includes(n.widgetId)&&t===e.length-1:!1}function _e(e){let t=u.sortBy(e.dashboard?.widgets,`index`),{emptyWidgets:n,setEmptyWidget:r}=B(t);function a(t,n,r,i){let a=v.getWidgetParams(n,r,v.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,a,r,void 0,i)}function o(){if(!e.isInContentRegion)return`content-region`;if(e.isComingSoon||e.dashboard.status===x.Archived&&!e.isReadonly)return`coming-soon`;if(e.dashboard.status===x.Draft&&!e.isPreviewing)return!1;if(!t?.length)return`no-content`;let r=Object.values(n);return r.length>0&&r.every(e=>!!e)?`no-content`:!1}let s=L.getPartnerBannerInfo(e.partnerProfile),c=o(),l=(!c||c===`content-region`)&&e.partnerProfile.description;return(0,Y.jsxs)(Y.Fragment,{children:[!!t.length&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(R,{type:`partner-profile`,partnerBannerType:L.getPartnerBannerType(e.partnerProfile),heading:s.heading,blockColourClass:s.blockColourClass,logo:s.logo,logoBgColour:s.logoBgColour,banner:s.banner,imageCdnUrl:e.commonVideoProps.imageCdnUrl,actions:e.getBannerActions?.(),onClickSignUp:e.onClickSignUp,isAuthenticated:e.isAuthenticated,videoUrl:e.partnerProfile._videobanner?.value?.url,websiteUrl:L.getPartnerLinkByType(e.partnerProfile?.links,`website`,L.makeUTMs({slug:e.partnerProfile._slug.value})),isStudent:e.hasPermissions(i.StudentExperience),log:e.log}),(0,Y.jsxs)(`div`,{className:`py-3 mb-3 border-bottom`,children:[(0,Y.jsx)(F,{breadcrumbs:e.breadcrumbs}),l&&(0,Y.jsx)(se,{partnerProfile:e.partnerProfile})]}),(0,Y.jsx)(`div`,{className:`mt-3`,children:!c&&t.map((n,i)=>(0,Y.jsx)(K,{dashboardTarget:b.PartnerProfile,index:i,item:n,infiniteFetch:ge(t,i),getName:e=>e.name,getWidgetMetadata:e=>e.metadata,appLinks:e.widgetAppLinks,hasPermissions:e.hasPermissions,commonVideoProps:e.commonVideoProps,audiences:e.audiences,setIsEmpty:e=>r(n.id,e),getCursor:e=>e.cursor,getRequest:e=>a(n.id,n.widgetId,n.templateId,e),hasLocalPermissions:e.hasLocalPermissions,settingsHash:e.settings,getContent:e=>e.content,resultsTransformers:y.getWidgetResultsTransformers(),onClickSearchAllVideos:e.onClickSearchAllVideos,getSeeMoreAppLink:e.getSeeMoreAppLink,isEmptyPredicate:e=>Array.isArray(e)&&Array.isArray(e[0]?.content)&&!e[0]?.content?.length,getSelectedItems:null,appLinkOptions:null},n.id))})]}),c&&(0,Y.jsx)(me,{type:c,partnerName:e.partnerProfile.name,comingSoonImageUrl:e.emptyImageUrl,contentRegionImageUrl:e.emptyImageUrl,contentRegionButtonLink:e.widgetAppLinks?.partnerHome?.(),noContentImageUrl:e.emptyImageUrl})]})}function ve(){return{"click-video-banner-controls":{isValid:()=>!0,analyticsOptions:{actionType:h.Click,entity:f.PartnerProfile,descriptor:p.VideoBannerControls,location:m.ContentPartnerDashboardVideoBanner}},"click-video-banner-sign-up":{isValid:()=>!0,analyticsOptions:{actionType:h.Click,entity:f.PartnerProfile,workflowPhase:d.Start,descriptor:p.VideoBannerSignUp,location:m.ContentPartnerDashboardVideoBanner}}}}function ye(e){let{getData:t,log:n}=P({analyticsOptions:e.analyticsOptions,baseData:e.data,config:ve(),shouldLog:e.shouldLog??!0});return{log:n,getData:t}}var be=a.encloseNamespace(`contentPartners.dashboard`);function xe(e){let t=l(C.currentUser()),i=ie(e.slug),a=W({location:G.VideoItem,presentationSlug:null}),{log:o}=ye({data:{entity:{id:i.data?.id,name:i.data?.name,contentRegion:t.data?.contentRegion}},analyticsOptions:{entity:f.PartnerProfile,location:m.ContentPartnerDashboard}});ae({app:`channels`,id:i.data?.id,metadata:{conversionSuffix:i.data?.name}});let{openInCurationStudioLabel:s,isUserCurator:u,getOpenInCurationStudioLink:d}=U(),{commonVideoProps:p}=I({locationContext:m.VideoThumbnail}),{hasPermissions:h,hasLocalPermissions:g}=k(),v=ee(null),{dashboard:y,isPreviewing:x}=re({targetType:b.PartnerProfile,partnerProfileSlug:e.slug,queryParams:e.queryParams});O(D.getDefaultMetadata({title:i.data?.name,phraseContext:{phraseHandler:be,titlePhrase:`pageTitle`,descriptionPhrase:`pageDescription`},allowIndexing:!0}));let S=H({name:i.data?.name});oe.useEffect(()=>{!y.hasCompleted||y.data||n.throw(new T)},[y.data,y.hasCompleted]);let E=V(t.data,{channelId:i.data?.id,presentationSlug:null});function j(){return u?[{label:s,href:d(y.data?.typeId,y.data?.id),openInNewTab:!0}]:[]}function N(e,t,n,r,i){return ne.dashboardWidgetContent(e,t,n,r,{cursor:i})}function P(e){return _[e.widgetId]?.getCollectionAppLink?.(E,e.content)??null}function F(e){o?.({type:`click-video-banner-sign-up`,email:e}),r.trigger(M.getSignUpAppLink({email:e}))}let R=i.hasCompleted&&y.hasCompleted,B=A.isBot(),K=x?!0:L.isInContentRegion(i.data,t.data?.contentRegion,t.data?.isAuthenticated);function q(){r.trigger({application:c.SEARCH,action:w.Search.HOME,params:{scopeId:i.data?.id}})}return R?(0,Y.jsx)(`div`,{className:`bg-white px-4 position-relative`,children:(0,Y.jsxs)(z.Provider,{value:a,children:[!!(x&&y.data)&&(0,Y.jsx)(J,{status:y.data.status,type:`channel`}),(0,Y.jsx)(_e,{dashboard:y.data,partnerProfile:i.data,getWidgetContentRequest:N,commonVideoProps:p,breadcrumbs:S,getBannerActions:j,hasPermissions:h,hasLocalPermissions:g,settings:v,widgetAppLinks:E,emptyImageUrl:te.EmptyStates.WATCH_HISTORY,isBot:B,lazyLoad:!B,isAuthenticated:t.data?.isAuthenticated,isInContentRegion:K,onClickSignUp:F,isPreviewing:x,onClickSearchAllVideos:q,getSeeMoreAppLink:P,log:o})]})}):(0,Y.jsx)(Y.Fragment,{})}export{xe as ContentPartnersDashboardView};
|
|
2
|
+
//# sourceMappingURL=BgPye7Nd2.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C46OeU6w2.chunk.js","names":[],"sources":["../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/channel-dashboard-description/ChannelDashboardDescription.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-coming-soon/ContentPartnerDashboardComingSoon.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-content-region/ContentPartnerDashboardContentRegion.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-no-content/ContentPartnerDashboardNoContent.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-empty-state/ContentPartnerEmptyState.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/ContentPartnerDashboard.tsx","../../../../libs/shared/src/apps/content-partners/utils/get-content-partner-event-logger/getContentPartnerEventLogger.ts","../../src/apps/content-partners/views/content-partners-dashboard/ContentPartnersDashboardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { ExpandableTextInline } from 'libs/shared/components/expandable-text-inline/ExpandableTextInline';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { LinkSvg } from 'libs/shared/images/svg/objects/LinkSvg';\nimport { PartnerProfile } from 'libs/shared/interfaces';\n\ninterface ChannelDashboardDescriptionProps {\n partnerProfile: PartnerProfile;\n}\n\nexport function ChannelDashboardDescription(props: ChannelDashboardDescriptionProps): JSX.Element {\n const websiteLink = ContentPartnersHelper.getPartnerLinkByType(\n props.partnerProfile?.links,\n 'website',\n ContentPartnersHelper.makeUTMs({ slug: props.partnerProfile._slug.value })\n );\n\n const displayWebsiteLink = UrlHelper.getHostname(websiteLink) ?? websiteLink;\n\n return (\n <div className='mt-3'>\n <ExpandableTextInline>\n {() => (\n <p className='mb-0'>\n {websiteLink && (\n <>\n <a\n href={websiteLink}\n target='_blank'\n rel='noopener noreferrer'\n className='position-relative d-inline-block ps-4 mb-2 me-2'\n >\n <SvgContainer svg={LinkSvg} className='svg-container position-absolute top-50 start-0 translate-middle-y' />\n <span className='ps-1'>{displayWebsiteLink}</span>\n </a>\n <span className='mb-2 me-2'>•</span>\n </>\n )}\n {props.partnerProfile.description}\n </p>\n )}\n </ExpandableTextInline>\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardComingSoon';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardComingSoonProps {\n partnerName: string;\n comingSoonImageUrl: string;\n}\n\nexport function ContentPartnerDashboardComingSoon(props: ContentPartnerDashboardComingSoonProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image\n src={props.comingSoonImageUrl}\n altText={getPhrase('description', { partnerName: props.partnerName })}\n />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' options={{ partnerName: props.partnerName }} />\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardContentRegion';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardContentRegionProps {\n contentRegionImageUrl: string;\n contentRegionButtonLink: Core.AppLink;\n}\n\nexport function ContentPartnerDashboardContentRegion(props: ContentPartnerDashboardContentRegionProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.contentRegionImageUrl} altText={getPhrase('imageAlt')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Cta text={getPhrase('cta')} appLink={props.contentRegionButtonLink} className='btn btn-dark' />\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardNoContent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardNoContentProps {\n noContentImageUrl: string;\n}\n\nexport function ContentPartnerDashboardNoContent(props: ContentPartnerDashboardNoContentProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image\n src={props.noContentImageUrl}\n altText={getPhrase('description')}\n />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport {\n ContentPartnerDashboardComingSoon,\n ContentPartnerDashboardComingSoonProps\n} from '../content-partner-dashboard-coming-soon/ContentPartnerDashboardComingSoon';\nimport {\n ContentPartnerDashboardContentRegion,\n ContentPartnerDashboardContentRegionProps\n} from '../content-partner-dashboard-content-region/ContentPartnerDashboardContentRegion';\nimport {\n ContentPartnerDashboardNoContent,\n ContentPartnerDashboardNoContentProps\n} from '../content-partner-dashboard-no-content/ContentPartnerDashboardNoContent';\n\nexport type ContentPartnerEmptyStateType = 'coming-soon' | 'content-region' | 'no-content';\n\nconst ContentParterEmptyStateTypes: Record<ContentPartnerEmptyStateType, React.ComponentType<any>> = {\n 'coming-soon': ContentPartnerDashboardComingSoon,\n 'content-region': ContentPartnerDashboardContentRegion,\n 'no-content': ContentPartnerDashboardNoContent\n};\n\ntype EmptyStateType<TType extends ContentPartnerEmptyStateType, TProps> = TProps & {\n type: TType\n};\n\ntype ContentPartnerEmptyStateProps =\n EmptyStateType<'coming-soon', ContentPartnerDashboardComingSoonProps> |\n EmptyStateType<'content-region', ContentPartnerDashboardContentRegionProps> |\n EmptyStateType<'no-content', ContentPartnerDashboardNoContentProps>;\n\nexport function ContentPartnerEmptyState(props: ContentPartnerEmptyStateProps): JSX.Element {\n const Component = ContentParterEmptyStateTypes[props.type];\n\n return <Component {...props} />;\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteWidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/InfiniteWidgetContainerView';\nimport { AllPartnerProfileWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { useEmptyWidgets } from 'libs/shared/hooks/useEmptyWidgets';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CuratedDashboard, CuratedWidget, CuratedWidgetQueryParams, CurrentUser, DashboardStatus, DashboardTargetType, PartnerProfile, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\n\nimport { ContentPartnerEventLoggerFn } from '../../utils/get-content-partner-event-logger/getContentPartnerEventLogger';\n\nimport { ChannelDashboardDescription } from './channel-dashboard-description/ChannelDashboardDescription';\nimport { ContentPartnerEmptyState, ContentPartnerEmptyStateType } from './empty-state/content-partner-empty-state/ContentPartnerEmptyState';\n\nconst InfiniteFetchWidgetIds: WidgetTypeId[] = [WidgetTypeId.ContentPartnerVideos];\n\nfunction shouldInfiniteFetch(widgets: CuratedWidget[], index: number): boolean {\n const currentWidget = widgets[index];\n\n if (!currentWidget) return false;\n \n return InfiniteFetchWidgetIds.includes(currentWidget.widgetId) && index === widgets.length - 1;\n}\n\nexport interface ContentPartnerDashboardProps {\n dashboard: CuratedDashboard;\n partnerProfile: PartnerProfile;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate,\n presentation?: Presentation,\n cursor?: string\n ) => Flight.Request;\n commonVideoProps: CommonVideoProps;\n getBannerActions?: () => ActionOptions[];\n breadcrumbs?: Breadcrumb[];\n isReadonly?: boolean;\n widgetAppLinks?: AllPartnerProfileWidgetTemplates['appLinks'];\n scrollToWidgetId?: string;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n settings?: AllPartnerProfileWidgetTemplates['settings'];\n audiences?: PresentationAudience[];\n currentUser?: CurrentUser;\n emptyImageUrl?: string;\n lazyLoad?: boolean;\n isBot?: boolean;\n isComingSoon?: boolean;\n isPreviewing?: boolean;\n isAuthenticated?: boolean;\n isInContentRegion: boolean;\n onClickSignUp: (email: string) => void;\n onClickSearchAllVideos?: () => void;\n getSeeMoreAppLink?: (widget: CuratedWidget) => Core.AppLink;\n log?: ContentPartnerEventLoggerFn;\n}\n\nexport function ContentPartnerDashboard(props: ContentPartnerDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const { emptyWidgets, setEmptyWidget } = useEmptyWidgets(widgets);\n\n function getWidgetContentRequest(\n id: string,\n widgetTypeId: WidgetTypeId,\n template: WidgetTemplate,\n cursor?: string\n ): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template, undefined, cursor);\n }\n\n function getEmptyStateType(): ContentPartnerEmptyStateType | false {\n if (!props.isInContentRegion)\n return 'content-region';\n \n if (props.isComingSoon)\n return 'coming-soon';\n \n if (props.dashboard.status === DashboardStatus.Archived && !props.isReadonly)\n return 'coming-soon';\n \n if (props.dashboard.status === DashboardStatus.Draft && !props.isPreviewing)\n return false;\n\n if (!widgets?.length)\n return 'no-content';\n \n const emptyValues = Object.values(emptyWidgets);\n \n if (emptyValues.length > 0 && emptyValues.every(state => !!state))\n return 'no-content';\n\n return false;\n }\n\n const bannerInfo = ContentPartnersHelper.getPartnerBannerInfo(props.partnerProfile);\n\n const emptyState = getEmptyStateType();\n const showExpandableDescription = (!emptyState || emptyState === 'content-region') && props.partnerProfile.description;\n\n return (\n <>\n {!!widgets.length &&\n <>\n <BannerHeader\n type='partner-profile'\n partnerBannerType={ContentPartnersHelper.getPartnerBannerType(props.partnerProfile)}\n heading={bannerInfo.heading}\n blockColourClass={bannerInfo.blockColourClass}\n logo={bannerInfo.logo}\n logoBgColour={bannerInfo.logoBgColour}\n banner={bannerInfo.banner}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n actions={props.getBannerActions?.()}\n onClickSignUp={props.onClickSignUp}\n isAuthenticated={props.isAuthenticated}\n videoUrl={props.partnerProfile._videobanner?.value?.url}\n websiteUrl={ContentPartnersHelper.getPartnerLinkByType(\n props.partnerProfile?.links,\n 'website',\n ContentPartnersHelper.makeUTMs({ slug: props.partnerProfile._slug.value })\n )}\n isStudent={props.hasPermissions(PermissionName.StudentExperience)}\n log={props.log}\n />\n \n <div className='py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n {showExpandableDescription && (\n <ChannelDashboardDescription partnerProfile={props.partnerProfile} />\n )}\n </div>\n\n <div className='mt-3'>\n {!emptyState && widgets.map((widget, idx) => (\n <InfiniteWidgetContainerView<CuratedWidget, CuratedWidget, AllPartnerProfileWidgetTemplates>\n dashboardTarget={DashboardTargetType.PartnerProfile}\n key={widget.id}\n index={idx}\n item={widget}\n infiniteFetch={shouldInfiniteFetch(widgets, idx)}\n getName={widget => widget.name}\n getWidgetMetadata={w => w.metadata}\n appLinks={props.widgetAppLinks}\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n audiences={props.audiences}\n setIsEmpty={isEmpty => setEmptyWidget(widget.id, isEmpty)}\n getCursor={w => w.cursor}\n getRequest={cursor => getWidgetContentRequest(widget.id, widget.widgetId, widget.templateId, cursor)}\n hasLocalPermissions={props.hasLocalPermissions}\n settingsHash={props.settings}\n getContent={w => w.content}\n resultsTransformers={WidgetHelper.getWidgetResultsTransformers()}\n onClickSearchAllVideos={props.onClickSearchAllVideos}\n getSeeMoreAppLink={props.getSeeMoreAppLink}\n isEmptyPredicate={items => (\n Array.isArray(items) && Array.isArray(items[0]?.content) && !items[0]?.content?.length\n )}\n\n getSelectedItems={null}\n appLinkOptions={null}\n />\n ))}\n </div>\n </>\n }\n\n {emptyState && <ContentPartnerEmptyState\n type={emptyState}\n // Coming soon empty state props\n partnerName={props.partnerProfile.name}\n comingSoonImageUrl={props.emptyImageUrl}\n // Content region empty state props\n contentRegionImageUrl={props.emptyImageUrl}\n contentRegionButtonLink={props.widgetAppLinks?.partnerHome?.()}\n // No content empty state props\n noContentImageUrl={props.emptyImageUrl}\n />}\n </>\n );\n}\n","import { AnalyticsOptions, ContentPartnerDescriptors, EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EventLogConfig, getEventLogger } from 'libs/shared/utils/get-event-logger/getEventLogger';\n\nimport { BaseContentPartnerData, ContentPartnerData } from './interfaces/GetContentPartnerEventLogger';\n\ninterface ContentPartnerEventLoggerOptions {\n data: BaseContentPartnerData;\n analyticsOptions: AnalyticsOptions;\n shouldLog?: boolean;\n}\n\nexport type ContentPartnerEventLoggerFn = ReturnType<typeof getContentPartnerEventLogger>['log'];\n\nfunction getLogDataConfig(): EventLogConfig<ContentPartnerData> {\n return {\n 'click-video-banner-controls': {\n isValid: () => true,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.PartnerProfile,\n descriptor: ContentPartnerDescriptors.VideoBannerControls,\n location: LocationContext.ContentPartnerDashboardVideoBanner\n }\n },\n 'click-video-banner-sign-up': {\n isValid: () => true,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.PartnerProfile,\n workflowPhase: WorkflowPhase.Start,\n descriptor: ContentPartnerDescriptors.VideoBannerSignUp,\n location: LocationContext.ContentPartnerDashboardVideoBanner\n }\n }\n };\n}\n\nexport function getContentPartnerEventLogger(options: ContentPartnerEventLoggerOptions) {\n const { getData, log } = getEventLogger({\n analyticsOptions: options.analyticsOptions,\n baseData: options.data,\n config: getLogDataConfig(),\n shouldLog: options.shouldLog ?? true\n });\n\n return {\n log,\n getData\n };\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { ContentPartnerDashboard } from 'libs/shared/apps/content-partners/components/content-partner-dashboard/ContentPartnerDashboard';\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { getContentPartnerEventLogger } from 'libs/shared/apps/content-partners/utils/get-content-partner-event-logger/getContentPartnerEventLogger';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { WidgetTypeIdConfig } from 'libs/shared/constants/WidgetTypeIdConfig';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CuratedWidget, CuratedWidgetQueryParams, CurrentUser, DashboardTargetType, Presentation } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { usePartnerProfile } from 'shared/hooks/usePartnerProfile';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { getContentPartnerWidgetAppLinks } from 'apps/content-partners/utils/getContentPartnerWidgetAppLinks';\nimport { useSignUpEntry } from 'apps/sign-up/hooks/useSignUpEntry';\nimport { SignUpHelper } from 'apps/sign-up/utils/SignUpHelper';\n\nconst namespace = 'contentPartners.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContentPartnersDashboardViewProps {\n slug: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function ContentPartnersDashboardView(props: ContentPartnersDashboardViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const partnerProfile = usePartnerProfile(props.slug);\n const videoActions = useVideoActions({\n location: VideoActionsLocation.VideoItem,\n presentationSlug: null\n });\n\n const { log } = getContentPartnerEventLogger({\n data: {\n entity: {\n id: partnerProfile.data?.id,\n name: partnerProfile.data?.name,\n contentRegion: currentUser.data?.contentRegion\n }\n },\n analyticsOptions: {\n entity: EntityType.PartnerProfile,\n location: LocationContext.ContentPartnerDashboard\n }\n });\n\n useSignUpEntry({\n app: 'channels',\n id: partnerProfile.data?.id,\n metadata: { conversionSuffix: partnerProfile.data?.name }\n });\n\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail\n });\n\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n\n const settings = useSettings(null);\n\n const { dashboard, isPreviewing } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.PartnerProfile,\n partnerProfileSlug: props.slug,\n queryParams: props.queryParams\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: partnerProfile.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n allowIndexing: true\n }));\n\n const breadcrumbs = useBreadcrumbs({ name: partnerProfile.data?.name });\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n const widgetAppLinks = getContentPartnerWidgetAppLinks(\n currentUser.data,\n { channelId: partnerProfile.data?.id, presentationSlug: null }\n );\n\n function getBannerActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [{\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(dashboard.data?.typeId, dashboard.data?.id),\n openInNewTab: true\n }];\n }\n\n function getWidgetContentRequest(\n id: string,\n params: CuratedWidgetQueryParams,\n template: WidgetTemplate,\n presentation?: Presentation,\n cursor?: string\n ): Flight.Request {\n return DashboardRequests.dashboardWidgetContent(\n id,\n params,\n template,\n presentation,\n { cursor }\n );\n }\n\n function getSeeMoreAppLink(widget: CuratedWidget): Core.AppLink {\n return WidgetTypeIdConfig[widget.widgetId]\n ?.getCollectionAppLink?.(widgetAppLinks, widget.content) ?? null;\n }\n\n function onClickSignUp(email: string): void {\n log?.({\n type: 'click-video-banner-sign-up',\n email: email\n });\n Core.AppLinkHelper.trigger(\n SignUpHelper.getSignUpAppLink({\n email\n })\n );\n }\n\n const loaded = partnerProfile.hasCompleted && dashboard.hasCompleted;\n const isBot = SeoHelper.isBot();\n\n const isInContentRegion = isPreviewing ?\n true : // skip content region check if previewing\n ContentPartnersHelper.isInContentRegion(\n partnerProfile.data,\n currentUser.data?.contentRegion,\n currentUser.data?.isAuthenticated\n );\n\n function onClickSearchAllVideos() {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n scopeId: partnerProfile.data?.id\n }\n });\n }\n\n if (!loaded)\n return <></>;\n \n return (\n <div className='bg-white px-4 position-relative'>\n <VideoActionsContext.Provider value={videoActions}>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='channel' />}\n\n <ContentPartnerDashboard\n dashboard={dashboard.data}\n partnerProfile={partnerProfile.data}\n getWidgetContentRequest={getWidgetContentRequest}\n commonVideoProps={commonVideoProps}\n breadcrumbs={breadcrumbs}\n getBannerActions={getBannerActions}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n widgetAppLinks={widgetAppLinks}\n emptyImageUrl={ImageUrls.EmptyStates.WATCH_HISTORY}\n isBot={isBot}\n // Only lazy load if its an actual user\n lazyLoad={!isBot}\n isAuthenticated={currentUser.data?.isAuthenticated}\n isInContentRegion={isInContentRegion}\n onClickSignUp={onClickSignUp}\n isPreviewing={isPreviewing}\n onClickSearchAllVideos={onClickSearchAllVideos}\n getSeeMoreAppLink={getSeeMoreAppLink}\n log={log}\n />\n </VideoActionsContext.Provider>\n </div>\n );\n}\n"],"mappings":"40DAcA,SAAgB,GAA4B,EAAsD,CAChG,IAAM,EAAc,EAAsB,qBACxC,EAAM,gBAAgB,MACtB,UACA,EAAsB,SAAS,CAAE,KAAM,EAAM,eAAe,MAAM,KAAM,CAAC,CAC3E,EAEM,EAAqB,EAAU,YAAY,CAAW,GAAK,EAEjE,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,iBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,cAEI,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,gBAAb,CACG,IACC,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CACE,KAAM,EACN,OAAO,SACP,IAAI,sBACJ,UAAU,2DAJZ,EAME,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,IAAK,EAAS,UAAU,mEAAqE,CAAA,GAC3G,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,gBAAQ,CAAyB,CAAA,CAChD,KACH,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAY,GAAY,CAAA,CACxC,CAAA,CAAA,EAEH,EAAM,eAAe,WACrB,GAEe,CAAA,CACnB,CAAA,CAET,CCzCA,IAAM,EAAY,oDACZ,GAAY,EAAgB,iBAAiB,CAAS,EAO5D,SAAgB,GAAkC,EAA4D,CAC5G,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAW,MAAZ,CACE,IAAK,EAAM,mBACX,QAAS,GAAU,cAAe,CAAE,YAAa,EAAM,WAAY,CAAC,CACrE,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAW,QAAZ,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,UAAA,EAAW,OAAO,SAAW,CAAA,CAC5B,CAAA,GACpB,EAAA,EAAA,IAAA,CAAC,EAAW,KAAZ,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,UAAA,EAAW,OAAO,cAAc,QAAS,CAAE,YAAa,EAAM,WAAY,CAAI,CAAA,CAChF,CAAA,CACP,CAAA,CAAA,CAEhB,CCtBA,IAAM,EAAY,uDACZ,EAAY,EAAgB,iBAAiB,CAAS,EAO5D,SAAgB,GAAqC,EAA+D,CAClH,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAW,MAAZ,CAAkB,IAAK,EAAM,sBAAuB,QAAS,EAAU,UAAU,CAAI,CAAA,GACrF,EAAA,EAAA,IAAA,CAAC,EAAW,QAAZ,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,UAAA,EAAW,OAAO,SAAW,CAAA,CAC5B,CAAA,GACpB,EAAA,EAAA,IAAA,CAAC,EAAW,IAAZ,CAAgB,KAAM,EAAU,KAAK,EAAG,QAAS,EAAM,wBAAyB,UAAU,cAAgB,CAAA,CAChG,CAAA,CAAA,CAEhB,CCnBA,IAAM,EAAY,mDACZ,GAAY,EAAgB,iBAAiB,CAAS,EAM5D,SAAgB,GAAiC,EAA2D,CAC1G,OACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAW,MAAZ,CACE,IAAK,EAAM,kBACX,QAAS,GAAU,aAAa,CACjC,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAW,QAAZ,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,YAAW,OAAO,SAAW,CAAA,CAC5B,CAAA,GACpB,EAAA,EAAA,IAAA,CAAC,EAAW,KAAZ,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAiB,YAAW,OAAO,aAAe,CAAA,CACnC,CAAA,CACP,CAAA,CAAA,CAEhB,CCZA,IAAM,GAA+F,CACnG,cAAe,GACf,iBAAkB,GAClB,aAAc,EAChB,EAWA,SAAgB,GAAyB,EAAmD,CAC1F,IAAM,EAAY,GAA6B,EAAM,MAErD,OAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,GAAI,CAAQ,CAAA,CAChC,CCTA,IAAM,GAAyC,CAAC,EAAa,oBAAoB,EAEjF,SAAS,GAAoB,EAA0B,EAAwB,CAC7E,IAAM,EAAgB,EAAQ,GAI9B,OAFK,EAEE,GAAuB,SAAS,EAAc,QAAQ,GAAK,IAAU,EAAQ,OAAS,EAFlE,EAG7B,CAoCA,SAAgB,GAAwB,EAAkD,CACxF,IAAM,EAAU,EAAY,OAAO,EAAM,WAAW,QAAS,OAAO,EAE9D,CAAE,eAAc,kBAAmB,EAAgB,CAAO,EAEhE,SAAS,EACP,EACA,EACA,EACA,EACgB,CAChB,IAAM,EAAS,EAAuB,gBACpC,EACA,EACA,EAAuB,uBAAuB,EAAM,SAAS,CAC/D,EAEA,OAAO,EAAM,wBAAwB,EAAI,EAAQ,EAAU,IAAA,GAAW,CAAM,CAC9E,CAEA,SAAS,GAA0D,CACjE,GAAI,CAAC,EAAM,kBACT,MAAO,iBAKT,GAHI,EAAM,cAGN,EAAM,UAAU,SAAW,EAAgB,UAAY,CAAC,EAAM,WAChE,MAAO,cAET,GAAI,EAAM,UAAU,SAAW,EAAgB,OAAS,CAAC,EAAM,aAC7D,MAAO,GAET,GAAI,CAAC,GAAS,OACZ,MAAO,aAET,IAAM,EAAc,OAAO,OAAO,CAAY,EAK9C,OAHI,EAAY,OAAS,GAAK,EAAY,MAAM,GAAS,CAAC,CAAC,CAAK,EACvD,aAEF,EACT,CAEA,IAAM,EAAa,EAAsB,qBAAqB,EAAM,cAAc,EAE5E,EAAa,EAAkB,EAC/B,GAA6B,CAAC,GAAc,IAAe,mBAAqB,EAAM,eAAe,YAE3G,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,CACG,CAAC,CAAC,EAAQ,SACX,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,kBACL,kBAAmB,EAAsB,qBAAqB,EAAM,cAAc,EAClF,QAAS,EAAW,QACpB,iBAAkB,EAAW,iBAC7B,KAAM,EAAW,KACjB,aAAc,EAAW,aACzB,OAAQ,EAAW,OACnB,YAAa,EAAM,iBAAiB,YACpC,QAAS,EAAM,mBAAmB,EAClC,cAAe,EAAM,cACrB,gBAAiB,EAAM,gBACvB,SAAU,EAAM,eAAe,cAAc,OAAO,IACpD,WAAY,EAAsB,qBAChC,EAAM,gBAAgB,MACtB,UACA,EAAsB,SAAS,CAAE,KAAM,EAAM,eAAe,MAAM,KAAM,CAAC,CAC3E,EACA,UAAW,EAAM,eAAe,EAAe,iBAAiB,EAChE,IAAK,EAAM,GACZ,CAAA,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,mCAAf,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,YAAa,EAAM,WAAc,CAAA,EAC7C,IACC,EAAA,EAAA,IAAA,CAAC,GAAD,CAA6B,eAAgB,EAAM,cAAiB,CAAA,CAEnE,KAEL,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,gBACZ,CAAC,GAAc,EAAQ,KAAK,EAAQ,KACnC,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,gBAAiB,EAAoB,eAErC,MAAO,EACP,KAAM,EACN,cAAe,GAAoB,EAAS,CAAG,EAC/C,QAAS,GAAU,EAAO,KAC1B,kBAAmB,GAAK,EAAE,SAC1B,SAAU,EAAM,eAChB,eAAgB,EAAM,eACtB,iBAAkB,EAAM,iBACxB,UAAW,EAAM,UACjB,WAAY,GAAW,EAAe,EAAO,GAAI,CAAO,EACxD,UAAW,GAAK,EAAE,OAClB,WAAY,GAAU,EAAwB,EAAO,GAAI,EAAO,SAAU,EAAO,WAAY,CAAM,EACnG,oBAAqB,EAAM,oBAC3B,aAAc,EAAM,SACpB,WAAY,GAAK,EAAE,QACnB,oBAAqB,EAAa,6BAA6B,EAC/D,uBAAwB,EAAM,uBAC9B,kBAAmB,EAAM,kBACzB,iBAAkB,GAChB,MAAM,QAAQ,CAAK,GAAK,MAAM,QAAQ,EAAM,EAAE,EAAE,OAAO,GAAK,CAAC,EAAM,EAAE,EAAE,SAAS,OAGlF,iBAAkB,KAClB,eAAgB,IACjB,EAzBM,EAAO,EAyBb,CACF,CACE,CAAA,CACL,CAAA,CAAA,EAGD,IAAc,EAAA,EAAA,IAAA,CAAC,GAAD,CACb,KAAM,EAEN,YAAa,EAAM,eAAe,KAClC,mBAAoB,EAAM,cAE1B,sBAAuB,EAAM,cAC7B,wBAAyB,EAAM,gBAAgB,cAAc,EAE7D,kBAAmB,EAAM,aAC1B,CAAA,CACD,CAAA,CAAA,CAEN,CC3LA,SAAS,IAAuD,CAC9D,MAAO,CACL,8BAA+B,CAC7B,YAAe,GACf,iBAAkB,CAChB,WAAY,EAAW,MACvB,OAAQ,EAAW,eACnB,WAAY,EAA0B,oBACtC,SAAU,EAAgB,kCAC5B,CACF,EACA,6BAA8B,CAC5B,YAAe,GACf,iBAAkB,CAChB,WAAY,EAAW,MACvB,OAAQ,EAAW,eACnB,cAAe,EAAc,MAC7B,WAAY,EAA0B,kBACtC,SAAU,EAAgB,kCAC5B,CACF,CACF,CACF,CAEA,SAAgB,GAA6B,EAA2C,CACtF,GAAM,CAAE,UAAS,OAAQ,EAAe,CACtC,iBAAkB,EAAQ,iBAC1B,SAAU,EAAQ,KAClB,OAAQ,GAAiB,EACzB,UAAW,EAAQ,WAAa,EAClC,CAAC,EAED,MAAO,CACL,MACA,SACF,CACF,CCRA,IAAM,GAAY,EAAgB,iBAAiB,2BAAS,EAO5D,SAAgB,GAA6B,EAAuD,CAClG,IAAM,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAiB,GAAkB,EAAM,IAAI,EAC7C,EAAe,EAAgB,CACnC,SAAU,EAAqB,UAC/B,iBAAkB,IACpB,CAAC,EAEK,CAAE,OAAQ,GAA6B,CAC3C,KAAM,CACJ,OAAQ,CACN,GAAI,EAAe,MAAM,GACzB,KAAM,EAAe,MAAM,KAC3B,cAAe,EAAY,MAAM,aACnC,CACF,EACA,iBAAkB,CAChB,OAAQ,EAAW,eACnB,SAAU,EAAgB,uBAC5B,CACF,CAAC,EAED,GAAe,CACb,IAAK,WACL,GAAI,EAAe,MAAM,GACzB,SAAU,CAAE,iBAAkB,EAAe,MAAM,IAAK,CAC1D,CAAC,EAED,GAAM,CAAE,4BAA2B,gBAAe,+BAAgC,EAAkB,EAE9F,CAAE,oBAAqB,EAAoB,CAC/C,gBAAiB,EAAgB,cACnC,CAAC,EAEK,CAAE,iBAAgB,uBAAwB,EAAe,EAEzD,EAAW,GAAY,IAAI,EAE3B,CAAE,YAAW,gBAAiB,GAAyB,CAC3D,WAAY,EAAoB,eAChC,mBAAoB,EAAM,KAC1B,YAAa,EAAM,WACrB,CAAC,EAED,EAAmB,EAAmB,mBAAmB,CACvD,MAAO,EAAe,MAAM,KAC5B,cAAe,CACb,cAAe,GACf,YAAa,YACb,kBAAmB,iBACrB,EACA,cAAe,EACjB,CAAC,CAAC,EAEF,IAAM,EAAc,EAAe,CAAE,KAAM,EAAe,MAAM,IAAK,CAAC,EAEtE,GAAM,cAAgB,CAChB,CAAC,EAAU,cAAgB,EAAU,MAGzC,EAAiB,MAAM,IAAI,CAAe,CAC5C,EAAG,CAAE,EAAU,KAAM,EAAU,YAAa,CAAC,EAE7C,IAAM,EAAiB,EACrB,EAAY,KACZ,CAAE,UAAW,EAAe,MAAM,GAAI,iBAAkB,IAAK,CAC/D,EAEA,SAAS,GAAoC,CAI3C,OAHK,EAGE,CAAC,CACN,MAAO,EACP,KAAM,EAA4B,EAAU,MAAM,OAAQ,EAAU,MAAM,EAAE,EAC5E,aAAc,EAChB,CAAC,EANQ,CAAC,CAOZ,CAEA,SAAS,EACP,EACA,EACA,EACA,EACA,EACgB,CAChB,OAAO,GAAkB,uBACvB,EACA,EACA,EACA,EACA,CAAE,QAAO,CACX,CACF,CAEA,SAAS,EAAkB,EAAqC,CAC9D,OAAO,EAAmB,EAAO,SAAS,EACtC,uBAAuB,EAAgB,EAAO,OAAO,GAAK,IAChE,CAEA,SAAS,EAAc,EAAqB,CAC1C,IAAM,CACJ,KAAM,6BACC,OACT,CAAC,EACD,EAAmB,QACjB,EAAa,iBAAiB,CAC5B,OACF,CAAC,CACH,CACF,CAEA,IAAM,EAAS,EAAe,cAAgB,EAAU,aAClD,EAAQ,EAAU,MAAM,EAExB,EAAoB,EACxB,GACA,EAAsB,kBACpB,EAAe,KACf,EAAY,MAAM,cAClB,EAAY,MAAM,eACpB,EAEF,SAAS,GAAyB,CAChC,EAAmB,QAAQ,CACzB,YAAa,EAAY,OACzB,OAAQ,EAAQ,OAAO,KACvB,OAAQ,CACN,QAAS,EAAe,MAAM,EAChC,CACF,CAAC,CACH,CAKA,OAHK,GAIH,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,4CACb,EAAA,EAAA,KAAA,CAAC,EAAoB,SAArB,CAA8B,MAAO,WAArC,CACG,CAAC,EAAE,GAAgB,EAAU,QAAS,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,OAAQ,EAAU,KAAK,OAAQ,KAAK,SAAW,CAAA,GAErG,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,UAAW,EAAU,KACrB,eAAgB,EAAe,KACN,0BACP,mBACL,cACK,mBACF,iBACK,sBACX,WACM,iBAChB,cAAe,GAAU,YAAY,cAC9B,QAEP,SAAU,CAAC,EACX,gBAAiB,EAAY,MAAM,gBAChB,oBACJ,gBACD,eACU,yBACL,oBACd,KACN,CAAA,CAC2B,GAC3B,CAAA,GA/BE,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAiCf"}
|
|
1
|
+
{"version":3,"file":"BgPye7Nd2.chunk.js","names":[],"sources":["../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/channel-dashboard-description/ChannelDashboardDescription.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-coming-soon/ContentPartnerDashboardComingSoon.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-content-region/ContentPartnerDashboardContentRegion.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-dashboard-no-content/ContentPartnerDashboardNoContent.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/empty-state/content-partner-empty-state/ContentPartnerEmptyState.tsx","../../../../libs/shared/src/apps/content-partners/components/content-partner-dashboard/ContentPartnerDashboard.tsx","../../../../libs/shared/src/apps/content-partners/utils/get-content-partner-event-logger/getContentPartnerEventLogger.ts","../../src/apps/content-partners/views/content-partners-dashboard/ContentPartnersDashboardView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { ExpandableTextInline } from 'libs/shared/components/expandable-text-inline/ExpandableTextInline';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { LinkSvg } from 'libs/shared/images/svg/objects/LinkSvg';\nimport { PartnerProfile } from 'libs/shared/interfaces';\n\ninterface ChannelDashboardDescriptionProps {\n partnerProfile: PartnerProfile;\n}\n\nexport function ChannelDashboardDescription(props: ChannelDashboardDescriptionProps): JSX.Element {\n const websiteLink = ContentPartnersHelper.getPartnerLinkByType(\n props.partnerProfile?.links,\n 'website',\n ContentPartnersHelper.makeUTMs({ slug: props.partnerProfile._slug.value })\n );\n\n const displayWebsiteLink = UrlHelper.getHostname(websiteLink) ?? websiteLink;\n\n return (\n <div className='mt-3'>\n <ExpandableTextInline>\n {() => (\n <p className='mb-0'>\n {websiteLink && (\n <>\n <a\n href={websiteLink}\n target='_blank'\n rel='noopener noreferrer'\n className='position-relative d-inline-block ps-4 mb-2 me-2'\n >\n <SvgContainer svg={LinkSvg} className='svg-container position-absolute top-50 start-0 translate-middle-y' />\n <span className='ps-1'>{displayWebsiteLink}</span>\n </a>\n <span className='mb-2 me-2'>•</span>\n </>\n )}\n {props.partnerProfile.description}\n </p>\n )}\n </ExpandableTextInline>\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardComingSoon';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardComingSoonProps {\n partnerName: string;\n comingSoonImageUrl: string;\n}\n\nexport function ContentPartnerDashboardComingSoon(props: ContentPartnerDashboardComingSoonProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image\n src={props.comingSoonImageUrl}\n altText={getPhrase('description', { partnerName: props.partnerName })}\n />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' options={{ partnerName: props.partnerName }} />\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardContentRegion';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardContentRegionProps {\n contentRegionImageUrl: string;\n contentRegionButtonLink: Core.AppLink;\n}\n\nexport function ContentPartnerDashboardContentRegion(props: ContentPartnerDashboardContentRegionProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.contentRegionImageUrl} altText={getPhrase('imageAlt')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Cta text={getPhrase('cta')} appLink={props.contentRegionButtonLink} className='btn btn-dark' />\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'contentPartners.contentPartnerDashboardNoContent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface ContentPartnerDashboardNoContentProps {\n noContentImageUrl: string;\n}\n\nexport function ContentPartnerDashboardNoContent(props: ContentPartnerDashboardNoContentProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image\n src={props.noContentImageUrl}\n altText={getPhrase('description')}\n />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='description' />\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport {\n ContentPartnerDashboardComingSoon,\n ContentPartnerDashboardComingSoonProps\n} from '../content-partner-dashboard-coming-soon/ContentPartnerDashboardComingSoon';\nimport {\n ContentPartnerDashboardContentRegion,\n ContentPartnerDashboardContentRegionProps\n} from '../content-partner-dashboard-content-region/ContentPartnerDashboardContentRegion';\nimport {\n ContentPartnerDashboardNoContent,\n ContentPartnerDashboardNoContentProps\n} from '../content-partner-dashboard-no-content/ContentPartnerDashboardNoContent';\n\nexport type ContentPartnerEmptyStateType = 'coming-soon' | 'content-region' | 'no-content';\n\nconst ContentParterEmptyStateTypes: Record<ContentPartnerEmptyStateType, React.ComponentType<any>> = {\n 'coming-soon': ContentPartnerDashboardComingSoon,\n 'content-region': ContentPartnerDashboardContentRegion,\n 'no-content': ContentPartnerDashboardNoContent\n};\n\ntype EmptyStateType<TType extends ContentPartnerEmptyStateType, TProps> = TProps & {\n type: TType\n};\n\ntype ContentPartnerEmptyStateProps =\n EmptyStateType<'coming-soon', ContentPartnerDashboardComingSoonProps> |\n EmptyStateType<'content-region', ContentPartnerDashboardContentRegionProps> |\n EmptyStateType<'no-content', ContentPartnerDashboardNoContentProps>;\n\nexport function ContentPartnerEmptyState(props: ContentPartnerEmptyStateProps): JSX.Element {\n const Component = ContentParterEmptyStateTypes[props.type];\n\n return <Component {...props} />;\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteWidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/InfiniteWidgetContainerView';\nimport { AllPartnerProfileWidgetTemplates } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { useEmptyWidgets } from 'libs/shared/hooks/useEmptyWidgets';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { CuratedDashboard, CuratedWidget, CuratedWidgetQueryParams, CurrentUser, DashboardStatus, DashboardTargetType, PartnerProfile, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\n\nimport { ContentPartnerEventLoggerFn } from '../../utils/get-content-partner-event-logger/getContentPartnerEventLogger';\n\nimport { ChannelDashboardDescription } from './channel-dashboard-description/ChannelDashboardDescription';\nimport { ContentPartnerEmptyState, ContentPartnerEmptyStateType } from './empty-state/content-partner-empty-state/ContentPartnerEmptyState';\n\nconst InfiniteFetchWidgetIds: WidgetTypeId[] = [WidgetTypeId.ContentPartnerVideos];\n\nfunction shouldInfiniteFetch(widgets: CuratedWidget[], index: number): boolean {\n const currentWidget = widgets[index];\n\n if (!currentWidget) return false;\n \n return InfiniteFetchWidgetIds.includes(currentWidget.widgetId) && index === widgets.length - 1;\n}\n\nexport interface ContentPartnerDashboardProps {\n dashboard: CuratedDashboard;\n partnerProfile: PartnerProfile;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate,\n presentation?: Presentation,\n cursor?: string\n ) => Flight.Request;\n commonVideoProps: CommonVideoProps;\n getBannerActions?: () => ActionOptions[];\n breadcrumbs?: Breadcrumb[];\n isReadonly?: boolean;\n widgetAppLinks?: AllPartnerProfileWidgetTemplates['appLinks'];\n scrollToWidgetId?: string;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n settings?: AllPartnerProfileWidgetTemplates['settings'];\n audiences?: PresentationAudience[];\n currentUser?: CurrentUser;\n emptyImageUrl?: string;\n lazyLoad?: boolean;\n isBot?: boolean;\n isComingSoon?: boolean;\n isPreviewing?: boolean;\n isAuthenticated?: boolean;\n isInContentRegion: boolean;\n onClickSignUp: (email: string) => void;\n onClickSearchAllVideos?: () => void;\n getSeeMoreAppLink?: (widget: CuratedWidget) => Core.AppLink;\n log?: ContentPartnerEventLoggerFn;\n}\n\nexport function ContentPartnerDashboard(props: ContentPartnerDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n const { emptyWidgets, setEmptyWidget } = useEmptyWidgets(widgets);\n\n function getWidgetContentRequest(\n id: string,\n widgetTypeId: WidgetTypeId,\n template: WidgetTemplate,\n cursor?: string\n ): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template, undefined, cursor);\n }\n\n function getEmptyStateType(): ContentPartnerEmptyStateType | false {\n if (!props.isInContentRegion)\n return 'content-region';\n \n if (props.isComingSoon)\n return 'coming-soon';\n \n if (props.dashboard.status === DashboardStatus.Archived && !props.isReadonly)\n return 'coming-soon';\n \n if (props.dashboard.status === DashboardStatus.Draft && !props.isPreviewing)\n return false;\n\n if (!widgets?.length)\n return 'no-content';\n \n const emptyValues = Object.values(emptyWidgets);\n \n if (emptyValues.length > 0 && emptyValues.every(state => !!state))\n return 'no-content';\n\n return false;\n }\n\n const bannerInfo = ContentPartnersHelper.getPartnerBannerInfo(props.partnerProfile);\n\n const emptyState = getEmptyStateType();\n const showExpandableDescription = (!emptyState || emptyState === 'content-region') && props.partnerProfile.description;\n\n return (\n <>\n {!!widgets.length &&\n <>\n <BannerHeader\n type='partner-profile'\n partnerBannerType={ContentPartnersHelper.getPartnerBannerType(props.partnerProfile)}\n heading={bannerInfo.heading}\n blockColourClass={bannerInfo.blockColourClass}\n logo={bannerInfo.logo}\n logoBgColour={bannerInfo.logoBgColour}\n banner={bannerInfo.banner}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n actions={props.getBannerActions?.()}\n onClickSignUp={props.onClickSignUp}\n isAuthenticated={props.isAuthenticated}\n videoUrl={props.partnerProfile._videobanner?.value?.url}\n websiteUrl={ContentPartnersHelper.getPartnerLinkByType(\n props.partnerProfile?.links,\n 'website',\n ContentPartnersHelper.makeUTMs({ slug: props.partnerProfile._slug.value })\n )}\n isStudent={props.hasPermissions(PermissionName.StudentExperience)}\n log={props.log}\n />\n \n <div className='py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n {showExpandableDescription && (\n <ChannelDashboardDescription partnerProfile={props.partnerProfile} />\n )}\n </div>\n\n <div className='mt-3'>\n {!emptyState && widgets.map((widget, idx) => (\n <InfiniteWidgetContainerView<CuratedWidget, CuratedWidget, AllPartnerProfileWidgetTemplates>\n dashboardTarget={DashboardTargetType.PartnerProfile}\n key={widget.id}\n index={idx}\n item={widget}\n infiniteFetch={shouldInfiniteFetch(widgets, idx)}\n getName={widget => widget.name}\n getWidgetMetadata={w => w.metadata}\n appLinks={props.widgetAppLinks}\n hasPermissions={props.hasPermissions}\n commonVideoProps={props.commonVideoProps}\n audiences={props.audiences}\n setIsEmpty={isEmpty => setEmptyWidget(widget.id, isEmpty)}\n getCursor={w => w.cursor}\n getRequest={cursor => getWidgetContentRequest(widget.id, widget.widgetId, widget.templateId, cursor)}\n hasLocalPermissions={props.hasLocalPermissions}\n settingsHash={props.settings}\n getContent={w => w.content}\n resultsTransformers={WidgetHelper.getWidgetResultsTransformers()}\n onClickSearchAllVideos={props.onClickSearchAllVideos}\n getSeeMoreAppLink={props.getSeeMoreAppLink}\n isEmptyPredicate={items => (\n Array.isArray(items) && Array.isArray(items[0]?.content) && !items[0]?.content?.length\n )}\n\n getSelectedItems={null}\n appLinkOptions={null}\n />\n ))}\n </div>\n </>\n }\n\n {emptyState && <ContentPartnerEmptyState\n type={emptyState}\n // Coming soon empty state props\n partnerName={props.partnerProfile.name}\n comingSoonImageUrl={props.emptyImageUrl}\n // Content region empty state props\n contentRegionImageUrl={props.emptyImageUrl}\n contentRegionButtonLink={props.widgetAppLinks?.partnerHome?.()}\n // No content empty state props\n noContentImageUrl={props.emptyImageUrl}\n />}\n </>\n );\n}\n","import { AnalyticsOptions, ContentPartnerDescriptors, EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EventLogConfig, getEventLogger } from 'libs/shared/utils/get-event-logger/getEventLogger';\n\nimport { BaseContentPartnerData, ContentPartnerData } from './interfaces/GetContentPartnerEventLogger';\n\ninterface ContentPartnerEventLoggerOptions {\n data: BaseContentPartnerData;\n analyticsOptions: AnalyticsOptions;\n shouldLog?: boolean;\n}\n\nexport type ContentPartnerEventLoggerFn = ReturnType<typeof getContentPartnerEventLogger>['log'];\n\nfunction getLogDataConfig(): EventLogConfig<ContentPartnerData> {\n return {\n 'click-video-banner-controls': {\n isValid: () => true,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.PartnerProfile,\n descriptor: ContentPartnerDescriptors.VideoBannerControls,\n location: LocationContext.ContentPartnerDashboardVideoBanner\n }\n },\n 'click-video-banner-sign-up': {\n isValid: () => true,\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.PartnerProfile,\n workflowPhase: WorkflowPhase.Start,\n descriptor: ContentPartnerDescriptors.VideoBannerSignUp,\n location: LocationContext.ContentPartnerDashboardVideoBanner\n }\n }\n };\n}\n\nexport function getContentPartnerEventLogger(options: ContentPartnerEventLoggerOptions) {\n const { getData, log } = getEventLogger({\n analyticsOptions: options.analyticsOptions,\n baseData: options.data,\n config: getLogDataConfig(),\n shouldLog: options.shouldLog ?? true\n });\n\n return {\n log,\n getData\n };\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { ContentPartnerDashboard } from 'libs/shared/apps/content-partners/components/content-partner-dashboard/ContentPartnerDashboard';\nimport { ContentPartnersHelper } from 'libs/shared/apps/content-partners/utils/ContentPartnersHelper';\nimport { getContentPartnerEventLogger } from 'libs/shared/apps/content-partners/utils/get-content-partner-event-logger/getContentPartnerEventLogger';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { WidgetTypeIdConfig } from 'libs/shared/constants/WidgetTypeIdConfig';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CuratedWidget, CuratedWidgetQueryParams, CurrentUser, DashboardTargetType, Presentation } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { usePartnerProfile } from 'shared/hooks/usePartnerProfile';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { getContentPartnerWidgetAppLinks } from 'apps/content-partners/utils/getContentPartnerWidgetAppLinks';\nimport { useSignUpEntry } from 'apps/sign-up/hooks/useSignUpEntry';\nimport { SignUpHelper } from 'apps/sign-up/utils/SignUpHelper';\n\nconst namespace = 'contentPartners.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ContentPartnersDashboardViewProps {\n slug: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function ContentPartnersDashboardView(props: ContentPartnersDashboardViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const partnerProfile = usePartnerProfile(props.slug);\n const videoActions = useVideoActions({\n location: VideoActionsLocation.VideoItem,\n presentationSlug: null\n });\n\n const { log } = getContentPartnerEventLogger({\n data: {\n entity: {\n id: partnerProfile.data?.id,\n name: partnerProfile.data?.name,\n contentRegion: currentUser.data?.contentRegion\n }\n },\n analyticsOptions: {\n entity: EntityType.PartnerProfile,\n location: LocationContext.ContentPartnerDashboard\n }\n });\n\n useSignUpEntry({\n app: 'channels',\n id: partnerProfile.data?.id,\n metadata: { conversionSuffix: partnerProfile.data?.name }\n });\n\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n const { commonVideoProps } = useCommonVideoProps({\n locationContext: LocationContext.VideoThumbnail\n });\n\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n\n const settings = useSettings(null);\n\n const { dashboard, isPreviewing } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.PartnerProfile,\n partnerProfileSlug: props.slug,\n queryParams: props.queryParams\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: partnerProfile.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n allowIndexing: true\n }));\n\n const breadcrumbs = useBreadcrumbs({ name: partnerProfile.data?.name });\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n const widgetAppLinks = getContentPartnerWidgetAppLinks(\n currentUser.data,\n { channelId: partnerProfile.data?.id, presentationSlug: null }\n );\n\n function getBannerActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [{\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(dashboard.data?.typeId, dashboard.data?.id),\n openInNewTab: true\n }];\n }\n\n function getWidgetContentRequest(\n id: string,\n params: CuratedWidgetQueryParams,\n template: WidgetTemplate,\n presentation?: Presentation,\n cursor?: string\n ): Flight.Request {\n return DashboardRequests.dashboardWidgetContent(\n id,\n params,\n template,\n presentation,\n { cursor }\n );\n }\n\n function getSeeMoreAppLink(widget: CuratedWidget): Core.AppLink {\n return WidgetTypeIdConfig[widget.widgetId]\n ?.getCollectionAppLink?.(widgetAppLinks, widget.content) ?? null;\n }\n\n function onClickSignUp(email: string): void {\n log?.({\n type: 'click-video-banner-sign-up',\n email: email\n });\n Core.AppLinkHelper.trigger(\n SignUpHelper.getSignUpAppLink({\n email\n })\n );\n }\n\n const loaded = partnerProfile.hasCompleted && dashboard.hasCompleted;\n const isBot = SeoHelper.isBot();\n\n const isInContentRegion = isPreviewing ?\n true : // skip content region check if previewing\n ContentPartnersHelper.isInContentRegion(\n partnerProfile.data,\n currentUser.data?.contentRegion,\n currentUser.data?.isAuthenticated\n );\n\n function onClickSearchAllVideos() {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n scopeId: partnerProfile.data?.id\n }\n });\n }\n\n if (!loaded)\n return <></>;\n \n return (\n <div className='bg-white px-4 position-relative'>\n <VideoActionsContext.Provider value={videoActions}>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='channel' />}\n\n <ContentPartnerDashboard\n dashboard={dashboard.data}\n partnerProfile={partnerProfile.data}\n getWidgetContentRequest={getWidgetContentRequest}\n commonVideoProps={commonVideoProps}\n breadcrumbs={breadcrumbs}\n getBannerActions={getBannerActions}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n settings={settings}\n widgetAppLinks={widgetAppLinks}\n emptyImageUrl={ImageUrls.EmptyStates.WATCH_HISTORY}\n isBot={isBot}\n // Only lazy load if its an actual user\n lazyLoad={!isBot}\n isAuthenticated={currentUser.data?.isAuthenticated}\n isInContentRegion={isInContentRegion}\n onClickSignUp={onClickSignUp}\n isPreviewing={isPreviewing}\n onClickSearchAllVideos={onClickSearchAllVideos}\n getSeeMoreAppLink={getSeeMoreAppLink}\n log={log}\n />\n </VideoActionsContext.Provider>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./DAXXjFlN.chunk.js";import{o as t,t as n}from"./snXCXfT6.chunk.js";import{y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{t as i}from"./CQyJ7YGa.chunk.js";import{t as a}from"./e57H3T-k.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{t as l}from"./CjA4Q5pm.chunk.js";import{N as u,U as d,a as f,l as p,y as m,z as h}from"./NlCAcBdo.chunk.js";import{t as g}from"./BxbRBSiP.chunk.js";import{i as _,t as v}from"./BMKh-xhT2.chunk.js";import{t as y}from"./BrbeV-Gn2.chunk.js";import{t as b}from"./eoAypzU3.chunk.js";import{t as x}from"./_GCZ-60i.chunk.js";import{n as ee}from"./BRcHS92O2.chunk.js";import{t as te}from"./Bs2PKr1I2.chunk.js";import{t as ne}from"./DpCWroEe2.chunk.js";import{t as re}from"./Bbp2U9GK.chunk.js";import{t as S}from"./CduNFx13.chunk.js";import{t as C}from"./pKtXmGbN.chunk.js";import{t as w}from"./BUnh3rN0.chunk.js";import{i as ie}from"./C6-aC3vu.chunk.js";import{t as ae}from"./rVRhgtHY2.chunk.js";import{n as T,t as oe}from"./CpFtf-tI2.chunk.js";import{n as se}from"./BJUbYu222.chunk.js";import{t as ce}from"./DW24qN_e2.chunk.js";import{t as le}from"./5ONJSThP.chunk.js";import{t as ue}from"./jAbfamoi.chunk.js";import{t as de}from"./BzbZUZa-2.chunk.js";import{n as E,t as D}from"./D2-L8f1x2.chunk.js";import{t as O}from"./DsBWAM3I2.chunk.js";import{t as fe}from"./Z4RlHaVG.chunk.js";import{t as pe}from"./9kh0Xx2n2.chunk.js";import{c as me,i as he,n as ge,o as _e,s as ve,t as ye}from"./BOJK8LI1.chunk.js";import{t as be}from"./tnBD84bg2.chunk.js";import{t as xe}from"./DELN_PAD2.chunk.js";import{t as Se}from"./_42F7SIA2.chunk.js";import{t as Ce}from"./DzgAvoez.chunk.js";import{t as k}from"./OtQaFdir.chunk.js";import{t as A}from"./Dopg0SXC.chunk.js";import{n as we,t as Te}from"./CvtZ8ZFA2.chunk.js";import{n as j,t as Ee}from"./B5XaBzZh.chunk.js";import{t as M}from"./BPavmm8c.chunk.js";import{t as De}from"./IqGr9V7u2.chunk.js";import{r as Oe}from"./Bf9r1ZoF2.chunk.js";import{t as ke}from"./7I0L5W4N2.chunk.js";import{n as N,r as P,t as Ae}from"./DusJhHeW2.chunk.js";import{t as F}from"./CLjADRa42.chunk.js";import{t as je}from"./BgOLbASl2.chunk.js";var I=e(o()),L=s(),R=ue();function z(){let e=le();return e.lg||e.xl||e.xxl}var B={copyrightDisclaimer:`_copyrightDisclaimer_yyjul_1`,overlayContainer:`_overlayContainer_yyjul_4`},V=`shared.copyrightDisclaimer`,Me=150;function Ne(e){let[n,r]=se({});function i(){return document.documentElement.clientHeight-n.current?.getBoundingClientRect().bottom<Me}return(0,L.jsxs)(`div`,{ref:n,className:e.className,children:[(0,L.jsx)(`p`,{className:`${B.copyrightDisclaimer} ${e.phraseClassName??`mb-1`}`,children:(0,L.jsx)(T,{namespace:V,phrase:`copyrightDisclaimer`})}),(0,L.jsx)(t,{target:n.current,show:r,placement:e.overflowPlacement&&i()?e.overflowPlacement:e.placement,children:(0,L.jsxs)(`div`,{className:`${B.overlayContainer} mw-100 bg-white border rounded-3 p-2`,children:[(0,L.jsx)(`p`,{children:(0,L.jsx)(T,{namespace:V,phrase:`warning`})}),(0,L.jsx)(`p`,{className:`fw-semibold mb-0`,children:(0,L.jsx)(T,{namespace:V,phrase:`sharing`})})]})})]})}function Pe(e){return(0,L.jsx)(ke,{lines:12,children:()=>(0,L.jsx)(`p`,{className:`mb-0`,dangerouslySetInnerHTML:{__html:a.sanitize(be.linkifyText(e.video.description,{nl2br:!0}))}})})}var Fe={descriptionBorder:`_descriptionBorder_any0w_2`},H=`shared.videoDetailsV2`,U=i.encloseNamespace(H);function W(e){let{label:t,items:n,className:r}=e;return n&&n.data&&n.data.length?typeof e.getItemAppLink==`function`?(0,L.jsxs)(`div`,{className:r,children:[(0,L.jsxs)(`span`,{children:[t,`: `]}),n.data.map((t,r)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(S,{appLink:e.getItemAppLink(t),children:t.name?.trim()},t.id),r<n.data.length-1&&(0,L.jsx)(`span`,{children:`, `})]},t.id))]}):(0,L.jsxs)(`div`,{className:r,children:[t,`: `,n.data.map(e=>e.name?.trim()).join(`, `)]}):(0,L.jsx)(L.Fragment,{})}function Ie(e){let t=e.categories?.data;return t?.length?t.filter(e=>e.libraries?.data?.[0]?.type===ce.CustomLibrary).map(e=>({library:e.libraries?.data?.[0],category:e})):[]}function Le(e){return[{name:e.pair.library.name,appLink:e.getLibraryAppLink?.(e.pair.library)},{name:`...`},{name:e.pair.category.name,appLink:e.getFolderAppLink?.(e.pair.library,e.pair.category)}]}function Re(e){let{video:t}=e;if(!y.isVideo(t)&&!y.isClip(t))return(0,L.jsx)(L.Fragment,{});let n=y.getParentVideo(t),r=Ie(t);function i(t){if(!(!t.partnerProfiles||!t.partnerProfiles?.data?.length)){if(t.partnerProfiles?.count>1&&typeof e.getPartnerDashboardHubAppLink==`function`)return e.getPartnerDashboardHubAppLink(t);if(typeof e.getPartnerProfileAppLink==`function`)return e.getPartnerProfileAppLink(t.partnerProfiles?.data?.[0])}}return(0,L.jsxs)(`div`,{className:t.description?`col-md-5 ps-md-3 pt-3 pt-md-0`:`col-12`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`details`})}),!!n.productionYear&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`productionYear`,options:{year:n.productionYear}})}),(0,L.jsx)(W,{label:U(`productionCompanies`,{smartCount:n.productionCompanies?.data?.length}),items:n.productionCompanies,getItemAppLink:i,className:`mb-1`}),(0,L.jsx)(W,{label:U(`distributors`,{smartCount:n.distributors?.data?.length}),items:n.distributors,getItemAppLink:i,className:`mb-1`}),(0,L.jsx)(W,{label:U(`producers`,{smartCount:n.producers?.data?.length}),items:n.producers,className:`mb-1`}),(0,L.jsx)(W,{label:U(`directors`,{smartCount:n.directors?.data?.length}),items:n.directors,className:`mb-1`}),!!n.dateBroadcast&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`dateBroadcast`,options:{date:l.format(n.dateBroadcast,`DD/MM/YYYY`)}})}),!!n.channel&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`channel`,options:{channel:n.channel.name}})}),y.canViewUploadDate(e.video)&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`dateUploaded`,options:{date:l.format(t.dateCreated,`DD/MM/YYYY`)}})}),!!(r.length&&e.getLibraryAppLink&&e.getFolderAppLink)&&(0,L.jsxs)(`div`,{className:`mb-1`,children:[(0,L.jsxs)(`div`,{children:[U(`libraries`,{smartCount:r.length}),`:`]}),r.map((t,n)=>(0,L.jsx)(`div`,{children:(0,L.jsx)(Ce,{breadcrumbs:Le({pair:t,getLibraryAppLink:e.getLibraryAppLink,getFolderAppLink:e.getFolderAppLink}),linkClassName:`text-info`})},n))]})]})}function ze(e){let{video:t,maxHeight:n=368}=e,r=y.getParentVideo(t),i=!!e.video.description,a=Ae(e.video)||!!r.productionYear||!!r.dateBroadcast||!!r.channel||y.canViewUploadDate(e.video);if(!i&&!a)return(0,L.jsx)(L.Fragment,{});function o(){return e.hideTags||y.isInteractive(e.video)||!e.video.tags?.data?.length?null:e.video.tags?.data?.filter(e=>e.tagType===g.Normal)}let s=o();return(0,L.jsx)(oe.Provider,{value:H,children:(0,L.jsxs)(`section`,{id:M.VideoDetails,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.VideoDetails,t)},className:`play-page-section`,children:[e.showHeading&&(0,L.jsx)(Se,{name:U(`heading`)}),(0,L.jsx)(`div`,{className:`rounded border p-3 position-relative`,children:(0,L.jsxs)(R.Scrollbars,{autoHeight:!0,autoHeightMax:n,hideTracksWhenNotNeeded:!0,children:[(0,L.jsxs)(`div`,{className:`row g-0`,children:[i&&(0,L.jsxs)(`div`,{className:a?`${Fe.descriptionBorder} pe-3 col-md-7`:`col-12`,children:[(0,L.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`description`})}),(0,L.jsx)(De,{text:t.description,title:t.name,className:`ps-2`,onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:m.PlayPage,entity:p.Video,actionType:h.Click,descriptor:f.LaunchImmersiveReader},analyticsData:{id:t.id,type:`description`}})]}),(0,L.jsx)(Pe,{video:e.video})]}),a&&(0,L.jsx)(Re,{...e})]}),!!s?.length&&(0,L.jsxs)(`div`,{className:`mt-3`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`normalTags`})}),(0,L.jsx)(N,{tags:s,...P.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),className:`mt-1`})]}),y.isBroadcast(e.video)&&(0,L.jsx)(Ne,{placement:`bottom-start`,className:`d-flex justify-content-start mt-2`,phraseClassName:`mb-0`,overflowPlacement:`top-start`})]})})]})})}function G(e,t,n,r){let i=()=>{F.unsubscribe(e,t)};return(0,I.useEffect)(()=>{if(r)return n?F.subscribeOnce(e,t):F.subscribe(e,t),()=>{i()}},[]),i}var K={learningIntention:`_learningIntention_lm8nf_1`,highlightPoi:`_highlightPoi_lm8nf_7`,icon:`_icon_lm8nf_10`},Be=/\[\]\(cv:\/\/poi\?id=\d+\)\n*/g;function Ve(e){return e.replace(Be,``)}function He(e){return ie(Ve(e.content),{async:!1})}function Ue(e,t){let[n,r]=(0,I.useState)(``);return(0,I.useEffect)(()=>{if(!t||!e.glance?.content)return;let n=He(e.glance);r(n)},[e.glance?.content,t]),n}function We(e){return e.glance?.content&&e.glance?.format===`text/markdown`}function Ge(e,t){let n=(0,I.useRef)(null);G(`player:poi:mouseover`,r,null,t),G(`player:poi:mouseleave`,i,null,t),(0,I.useEffect)(()=>{if(!(!n.current||!t))return n.current?.addEventListener(`mouseover`,a),n.current?.addEventListener(`mouseleave`,o),()=>{n.current?.removeEventListener(`mouseover`,a),n.current?.removeEventListener(`mouseleave`,o)}},[n.current]);function r(t){!t?.id||e?.id?.toString()!==t?.id?.toString()||n.current?.classList.add(K.highlightPoi)}function i(){n.current?.classList.remove(K.highlightPoi)}function a(){e&&F.trigger(`glance:poi:mouseover`,e)}function o(){F.trigger(`glance:poi:mouseleave`)}return n}var q={poiEntry:`_poiEntry_1bne8_1`,poiText:`_poiText_1bne8_5`,public:`_public_1bne8_5`,poiTimeStamp:`_poiTimeStamp_1bne8_14`,wideBadge:`_wideBadge_1bne8_18`};function Ke(e){let t=O.ToDisplayDuration(e.poi.startTime*1e3),n=Ge(e.poi,!e.suppressInteractivity);return e.suppressInteractivity?(0,L.jsxs)(`div`,{className:`d-flex ${q.poiEntry} mb-2`,children:[(0,L.jsx)(`span`,{className:`d-flex rounded-pill justify-content-center align-items-center text-info bg-light-blue ${q.poiTimeStamp} ${e.wideBadge?q.wideBadge:``}`,children:t}),(0,L.jsx)(`div`,{className:`${q.public} ms-2`,children:e.poi.description})]}):(0,L.jsxs)(re,{className:`d-flex ${q.poiEntry} mb-2 cursor-pointer`,onClick:()=>e.onClickPoiItem(e.poi.startTime),ref:n,children:[(0,L.jsx)(`div`,{className:`d-flex rounded-pill justify-content-center align-items-center text-info bg-light-blue ${q.poiTimeStamp} ${e.wideBadge?q.wideBadge:``}`,children:t}),(0,L.jsx)(`div`,{className:`ms-2 ${q.poiText}`,children:e.poi.description})]},e.poi.startTime)}var qe=`shared.pointsOfInterestList`;function Je(e){let t=e.pointsOfInterest.sort((e,t)=>e.startTime-t.startTime),n=t.some(e=>e.startTime>=3600);return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h2`,{className:`h6 my-2`,children:(0,L.jsx)(T,{namespace:qe,phrase:`heading`})}),(0,L.jsx)(`div`,{children:t.map(t=>(0,L.jsx)(Ke,{poi:t,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:e.onClickPoiItem,wideBadge:n},t.startTime))})]})}var Ye=`shared.videoAtAGlanceV2`,Xe=365;function Ze(e){return e.hideScrollbar?(0,L.jsx)(L.Fragment,{children:e.children}):(0,L.jsx)(`div`,{className:`rounded border mb-4 bg-white`,children:(0,L.jsx)(R.Scrollbars,{autoHeight:!0,autoHeightMax:Xe,children:(0,L.jsx)(`div`,{className:`px-3 pt-3 pb-2`,children:e.children})})})}function Qe(e){let t=Ue(e.video,e.canViewGlance),[n,r]=I.useState(``);function i(){let t={id:e.video.glance.id,name:e.video.glance.name,videoId:e.video.id,videoName:e.video.name,learningIntention:n},r={actionType:h.Copy,entity:p.Glance,location:m.PlayPage};x.logUserAction(t,r)}function o(){return y.isInteractive(e.video)||!e.video.tags?.data?.length?null:e.video.tags?.data?.filter(e=>e.tagType===g.Pedagogy||e.tagType===g.Skill)}let s=o(),c=I.useRef(null);if(I.useEffect(()=>{c.current?.innerText&&r(c.current.innerText)},[c.current?.innerText]),!e.canViewGlance)return(0,L.jsx)(L.Fragment,{});function l(t){e.setStartTime(t)}return(0,L.jsx)(`section`,{className:`play-page-section`,children:(0,L.jsxs)(Ze,{hideScrollbar:e.hideScrollbar,children:[(0,L.jsx)(`h2`,{className:`h6 mb-2`,children:(0,L.jsx)(T,{namespace:Ye,phrase:`learningIntention`})}),(0,L.jsxs)(`div`,{className:`mb-3 ${K.learningIntention}`,children:[(0,L.jsx)(Ee,{copyableContent:n,tooltipClassName:K.icon,onClick:i,visible:!0}),(0,L.jsx)(`div`,{dangerouslySetInnerHTML:{__html:a.sanitize(t)},className:`d-inline`,ref:c})]}),!!s?.length&&(0,L.jsx)(`div`,{children:(0,L.jsx)(N,{tags:s,...P.getTagActionProps(e.getTagAppLink,e.onClickTag,e.suppressInteractivity),className:`mt-2`})}),!!e.pointsOfInterest?.length&&(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(Je,{pointsOfInterest:e.pointsOfInterest,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:l})})]})})}var $e=I.memo(function(e){let{data:t,thumbnailSize:n,preloadImage:r,getAppLink:i}=e,a=A(t.subjectPresentationAudiences?.data,e.audiences);return(0,L.jsxs)(`div`,{className:`flex-shrink-0 px-1 col-6 col-sm-4`,children:[(0,L.jsx)(ye,{type:`static`,textPosition:ge.Independent,video:t,appLink:i(t),imageOptions:{size:n},preload:r,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,audience:a,hideDuration:!1,commonVideoProps:e.commonVideoProps}),(0,L.jsx)(`div`,{className:`mt-2`,children:(0,L.jsx)(he,{...e,video:t,appLink:e.getAppLink(t)})})]})}),et=`shared.playPageClips`;function tt(e){if(!e.canViewClips||!e.clips?.length)return(0,L.jsx)(L.Fragment,{});let t=y.isVideo(e.video);function n(){return y.isVideo(e.video)?{action:b.Videos.VIDEO_CLIPS,application:c.VIDEOS,args:[e.presentationSlug,e.video.id,a.slugify(e.video.name)]}:{action:b.Clips.CLIP_CLIPS,application:c.CLIPS,args:[e.video.id,a.slugify(e.video.name)]}}let r=i.getPhrase(et,t?`clips`:`otherClips`,{count:e.clips.length});return(0,L.jsx)(`section`,{className:`play-page-section`,id:M.Clips,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.Clips,t)},children:(0,L.jsx)(v,{name:r,contents:_.ClipsV2,collection:e.clips,prefetched:!0,getChildAppLink:e=>({application:c.CLIPS,action:b.Clips.PLAY_CLIP,args:[e.id,a.slugify(e.name)]}),appLink:n(),childComponent:$e,extraChildComponentProps:{audiences:e.audiences,showOwner:!0,commonVideoProps:e.commonVideoProps},analyticsData:e.analyticsData})})}var nt=`shared.playPageInteractives`;function rt(e){if(!e.canViewInteractives||!e.interactives?.length)return(0,L.jsx)(L.Fragment,{});function t(){return y.isVideo(e.video)?{action:b.Videos.VIDEO_INTERACTIVES,application:c.VIDEOS,args:[e.presentationSlug,e.video.id,a.slugify(e.video.name)]}:{action:b.Clips.CLIP_INTERACTIVES,application:c.CLIPS,args:[e.video.id,a.slugify(e.video.name)]}}let n=i.getPhrase(nt,`interactives`,{count:e.interactives.length});return(0,L.jsx)(`section`,{className:`play-page-section`,id:M.Interactives,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.Interactives,t)},children:(0,L.jsx)(v,{name:n,contents:_.InteractivesV2,collection:e.interactives,prefetched:!0,getChildAppLink:e=>({application:c.INTERACTIVES,action:b.Interactives.VIEW_INTERACTIVE,args:[e.id,a.slugify(e.name)]}),appLink:t(),childComponent:Oe,extraChildComponentProps:{questionsAppLink:{application:c.INTERACTIVES,action:b.Interactives.PREVIEW_QUESTIONS},showOwner:!0,commonVideoProps:e.commonVideoProps},analyticsData:e.analyticsData})})}function J(e){return(0,L.jsx)(`svg`,{...e,children:(0,L.jsx)(`path`,{d:`M5.455 12c0 .401.325.727.727.727h9.88l-3.849 3.85a.728.728 0 0 0 1.029 1.028l5.09-5.091a.73.73 0 0 0 .213-.514v7.272a.727.727 0 0 0 1.455 0V4.727a.727.727 0 0 0-1.455 0V12a.73.73 0 0 0-.213-.515l-5.09-5.09a.727.727 0 1 0-1.029 1.028l3.85 3.85H6.181a.727.727 0 0 0-.727.727`,fill:`currentColor`})})}function it(e){return(0,L.jsx)(`svg`,{...e,children:(0,L.jsx)(`path`,{d:`M20 12a.727.727 0 0 0-.727-.728h-9.88l3.848-3.849a.727.727 0 1 0-1.028-1.029l-5.091 5.091a.73.73 0 0 0-.213.514V4.727a.727.727 0 0 0-1.454 0v14.545a.727.727 0 0 0 1.454 0V12c0 .186.071.373.213.515l5.091 5.09a.727.727 0 0 0 1.029-1.028l-3.85-3.85h9.88A.727.727 0 0 0 20 12`,fill:`currentColor`})})}var Y={showInSide:`_showInSide_1n1am_1`,container:`_container_1n1am_7`,aside:`_aside_1n1am_11`,collapse:`_collapse_1n1am_14`,iconContainer:`_iconContainer_1n1am_22`,arrowIcon:`_arrowIcon_1n1am_22`,listIcon:`_listIcon_1n1am_25`},at=`shared.playPage`;function ot(e){function t(){let t={actionType:e.isExpanded?h.Hide:h.Open,entity:p.TableOfContents,location:m.PlayPage};x.logUserAction(e.analyticsData,t)}function n(){let n=!e.isExpanded;e.setIsExpanded(n),n?(e.toggleTheatreMode?.(!1),e.toggleTheatreMode||e.setIsExpanded(!1)):(e.toggleTheatreMode?.(!0),e.toggleTheatreMode||e.setIsExpanded(!0)),t()}return(0,L.jsx)(`div`,{className:`d-flex justify-content-end`,children:(0,L.jsx)(`div`,{className:Y.container,children:(0,L.jsxs)(`div`,{className:`${Y.iconContainer}`,children:[(0,L.jsx)(w,{className:`btn btn-outline-dark ${Y.listIcon}`,svg:xe,onClick:n}),(0,L.jsx)(w,{className:`btn btn-outline-dark ${Y.arrowIcon}`,svg:e.isExpanded?J:it,onClick:n})]})})})}function st(e){function t(){let t={actionType:h.Hide,entity:p.TableOfContents,location:m.PlayPage};x.logUserAction(e.analyticsData,t)}function n(e){let t=ne.getCurrentRoute().appLink,n=t.params?{...t.params}:{};return n.tocId=e.id,{...t,params:n}}function r(){e.showInSide||e.setIsExpanded(!1)}return(0,L.jsxs)(`div`,{className:e.showInSide?`col ms-2 ps-4 ${Y.showInSide}`:`d-inline-flex gap-1`,children:[(0,L.jsx)(`aside`,{className:`${Y.aside} position-relative ${e.showInSide?`pe-1 pt-1 `:`px-3 pt-3 pb-2 border border-dark rounded-1 bg-white`}`,children:(0,L.jsxs)(`div`,{className:`${Y.container}`,children:[e.showInSide&&!e.hasTranscription&&(0,L.jsx)(w,{className:`btn position-absolute ${Y.collapse}`,svg:J,onClick:()=>{e.setIsExpanded(!1),e.toggleTheatreMode?.(!0),t()}}),(0,L.jsx)(`h2`,{className:`h5`,children:(0,L.jsx)(T,{namespace:at,phrase:`tocHeading`})}),(0,L.jsx)(je,{items:e.items,activeId:e.activeId,getAppLink:n,setControlledId:e.setControlledId,analyticsData:e.analyticsData,onItemClick:()=>r()})]})}),!e.showInSide&&(0,L.jsx)(ot,{...e})]})}function ct(e){return e.shouldShow?(0,L.jsxs)(L.Fragment,{children:[e.isExpanded&&e.showInSide&&(0,L.jsx)(st,{...e}),k.renderInPortalIfExists(!e.isExpanded&&(0,L.jsx)(ot,{...e}),document.getElementById(C)),k.renderInPortalIfExists(!e.showInSide&&e.isExpanded&&(0,L.jsx)(st,{...e}),document.getElementById(C))]}):(0,L.jsx)(L.Fragment,{})}var X={series:`_series_15j6m_1`,badgeListContainer:`_badgeListContainer_15j6m_5`,clipOriginInfo:`_clipOriginInfo_15j6m_10`},lt=`shared.playPage`;function ut(e){let t=A(e.media.subjectPresentationAudiences?.data,e.audiences),n=I.useRef(null),r=I.useRef(null),i=y.isVideo(e.media)&&!!y.getRating(e.media)?.value||y.isVideo(e.media)&&!!e.media.productionYear||!!e.media.subjectPresentationAudiences?.data?.length,a=we({location:Te.PlayPage,shareId:e.shareId,presentationSlug:e.presentationSlug}),o=!!e.originalVideoAppLink&&y.isClip(e.media)&&y.canViewOriginalVideo(e.media);return(0,L.jsx)(`section`,{className:`mb-3 position-relative`,ref:n,children:(0,L.jsxs)(`div`,{className:`d-inline-block w-100`,ref:r,children:[e.featureAccess.canNavigate&&(0,L.jsx)(`div`,{className:`ms-2 float-end`,children:(0,L.jsx)(fe,{actions:a.getVideoActions(e.media),actionsDropdownClassName:`btn btn-outline-dark`,fetchMore:()=>a.fetchMoreActions(e.media)})}),!!y.isVideo(e.media)&&(0,L.jsx)(de,{type:e.subTextType,video:e.media,appLink:e.subtextAppLink,className:`${X.series} text-truncate mw-100`,analyticsOptions:{location:m.PlayPage}}),(0,L.jsxs)(`h1`,{className:`h4 mb-2 mw-100`,children:[(0,L.jsx)(`span`,{className:`align-self-center`,children:e.media.name}),e.showTitlePadlock&&(0,L.jsx)(_e,{tooltipPlacement:`right`,className:`d-inline-block ps-1`,video:e.media,yearGroups:e.yearGroups})]}),y.isClip(e.media)&&o&&(0,L.jsxs)(`p`,{className:`clamp-1 ${X.clipOriginInfo}`,children:[(0,L.jsx)(T,{namespace:lt,phrase:`viewOriginal`}),`\xA0`,(0,L.jsx)(S,{className:`info-link`,appLink:e.originalVideoAppLink,children:e.media._parentVideo?.name}),`\xA0`,(0,L.jsx)(T,{namespace:lt,phrase:`timestamp`,options:{timeRange:`${O.ToDisplayTimeRange(e.media.startTime*1e3,e.media.endTime*1e3)}`}})]}),i&&(0,L.jsxs)(pe,{className:X.badgeListContainer,children:[(0,L.jsx)(ve,{audience:t,className:`bg-white text-dark`,border:`dark`}),y.isVideo(e.media)&&(0,L.jsx)(D,{type:E.Rating,data:y.getRating(e.media)}),y.isVideo(e.media)&&(0,L.jsx)(D,{type:E.ProductionYear,data:e.media.productionYear})]})]})})}var Z={mask:`_mask_vq9tb_1`,centeredIcon:`_centeredIcon_vq9tb_10`,bgImage:`_bgImage_vq9tb_21`,centeredOverlay:`_centeredOverlay_vq9tb_24`},dt=i.encloseNamespace(`shared.playerPlaceholder`);function ft(e){switch(e.type){case`pip`:return(0,L.jsx)(pt,{...e});case`public`:return(0,L.jsx)(mt,{...e});default:return(0,L.jsx)(L.Fragment,{})}}var pt=e=>(0,L.jsxs)(`div`,{className:`position-relative responsive-img ${Z.bgImage}`,style:{backgroundImage:`url('${y.getThumbnail(e.video)?.url??``}')`},children:[(0,L.jsx)(`p`,{className:`m-0 text-white h3 ${Z.centeredOverlay}`,children:dt(`playingPiP`)}),(0,L.jsx)(`div`,{className:Z.mask})]}),mt=e=>{let t=te.createUrl(y.getThumbnail(e.video)?.url??``,{size:ee.Large});return(0,L.jsx)(`div`,{className:`position-relative responsive-img ${Z.bgImage}`,style:{backgroundImage:`url('${t}')`},children:(0,L.jsxs)(S,{appLink:e.appLink,analyticsOptions:{actionType:h.Click,location:m.PlayPage,entity:p.AppLink,workflowPhase:d.Start,descriptor:u.SignUp},analyticsData:{},children:[(0,L.jsx)(n,{svg:me,className:Z.centeredIcon}),(0,L.jsx)(`div`,{className:Z.mask})]})})};function ht({resourcePopupId:e,resources:t,getResourceAppLink:n}){I.useEffect(()=>{if(!e)return;let i=t?.find(t=>t.id.toString()===e.toString());i&&r.trigger(n(i))},[e])}var Q={main:`_main_1ujkn_1`,expandedToc:`_expandedToc_1ujkn_1`,theatreMode:`_theatreMode_1ujkn_4`,theatreModeContent:`_theatreModeContent_1ujkn_7`,theatreModePlayPageContainer:`_theatreModePlayPageContainer_1ujkn_17`,theatreModeLeftContent:`_theatreModeLeftContent_1ujkn_21`};function gt(e){return e.shouldShowSideTableOfContents?e.hasTheatreMode&&e.theatreMode?Q.theatreMode:e.tableOfContentsExpanded?`${Q.expandedToc} col-9`:`pe-4`:``}function _t(e){return e.hasTheatreMode&&(e.theatreMode||!e.shouldShowSideTableOfContents)?`container ${Q.theatreModeContent}`:``}function vt(e,t){return e&&t.defaultDisplayMode===`theatre`&&t.mode==="default"}var yt=`play-page-toc-expanded`;function bt(e,t,n){let r=z(),i=j.get(yt)!==`false`,a=t?n||r:i,[o,s]=I.useState(e||``),[c,l]=I.useState(``),[u,d]=I.useState(a);I.useEffect(()=>{if(!r){d(!1);return}if(t){d(!0);return}d(a)},[r,n]);function f(){t&&r||(d(!u),j.set(yt,(!u).toString()))}return{controlledId:o,setControlledId:s,tableOfContentsExpanded:u,tableOfContentsActiveId:c,setTableOfContentsActiveId:l,onToggleTableOfContents:f}}var xt={map(e){let t=new Proxy(new Map,{get(n,r){if(r===`set`)return(r,i)=>(n.get(r)!==i&&(n.set(r,i),e()),t);let i=Reflect.get(n,r);return typeof i==`function`?i.bind(n):i}});return t}},St=[M.Video,M.CurriculumLinks,M.Resources,M.Interactives,M.Clips,M.VideoDetails,M.ClippedFrom,M.Transcript,M.ReferenceVideo,M.RelatedVideos],Ct=[M.Video,M.VideoDetails,M.CurriculumLinks,M.Resources,M.Interactives,M.Clips,M.ClippedFrom,M.Transcript,M.ReferenceVideo,M.RelatedVideos];function wt(e){let t=ae(),n=I.useRef(xt.map(t));return{headingRef:n,headingElements:(e?St:Ct).map(e=>n.current.get(e)).filter(Boolean)}}function Tt(e,t,n){let r=le();if(t!=="default")return!1;let i=n===`theatre`;return!(r.sm||r.md)&&e&&i}var $=i.encloseNamespace(`shared.play`),Et={getSectionHeading(e,t){switch(e){case M.Resources:return $(`resourcesHeading`,{count:t.resources?.length});case M.Clips:return t.isPlayClipPage?$(`otherClipsHeading`,{count:t.clips?.length-1}):$(`clipsHeading`,{count:t.clips?.length});case M.Interactives:return $(`interactivesHeading`,{count:t.interactives?.length});case M.Video:return $(`videoHeading`);case M.VideoDetails:return $(`videoDetailsHeading`);case M.RelatedVideos:return $(`upNextHeading`);case M.CurriculumLinks:return $(`curriculumLinksHeading`);case M.ClippedFrom:return $(`clippedFromHeading`);case M.ReferenceVideo:return $(`referenceVideoHeading`);case M.Transcript:return $(`transcriptHeading`);default:return``}}};export{ze as _,_t as a,Q as c,ut as d,ct as f,We as g,Qe as h,bt as i,ht as l,tt as m,Tt as n,vt as o,rt as p,wt as r,gt as s,Et as t,ft as u,z as v};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{o as e}from"./DAXXjFlN.chunk.js";import{o as t,t as n}from"./snXCXfT6.chunk.js";import{y as r}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{t as i}from"./CQyJ7YGa.chunk.js";import{t as a}from"./e57H3T-k.chunk.js";import{t as o}from"./C2w0pmFW.chunk.js";import{t as s}from"./wrLrTezN.chunk.js";import{t as c}from"./BXTI9cmX.chunk.js";import{t as l}from"./CjA4Q5pm.chunk.js";import{N as u,U as d,a as f,l as p,y as m,z as h}from"./NlCAcBdo.chunk.js";import{t as g}from"./BxbRBSiP.chunk.js";import{i as _,t as v}from"./BMKh-xhT2.chunk.js";import{t as y}from"./BrbeV-Gn2.chunk.js";import{t as b}from"./eoAypzU3.chunk.js";import{t as x}from"./_GCZ-60i.chunk.js";import{n as ee}from"./BRcHS92O2.chunk.js";import{t as te}from"./Bs2PKr1I2.chunk.js";import{t as ne}from"./DpCWroEe2.chunk.js";import{t as re}from"./Bbp2U9GK.chunk.js";import{t as S}from"./CduNFx13.chunk.js";import{t as C}from"./CMHxOVI7.chunk.js";import{t as w}from"./BUnh3rN0.chunk.js";import{i as ie}from"./C6-aC3vu.chunk.js";import{t as ae}from"./rVRhgtHY2.chunk.js";import{n as T,t as oe}from"./CpFtf-tI2.chunk.js";import{n as se}from"./BJUbYu222.chunk.js";import{t as ce}from"./DW24qN_e2.chunk.js";import{t as le}from"./5ONJSThP.chunk.js";import{t as ue}from"./jAbfamoi.chunk.js";import{t as de}from"./BzbZUZa-2.chunk.js";import{n as E,t as D}from"./D2-L8f1x2.chunk.js";import{t as O}from"./DsBWAM3I2.chunk.js";import{t as fe}from"./Z4RlHaVG.chunk.js";import{t as pe}from"./9kh0Xx2n2.chunk.js";import{c as me,i as he,n as ge,o as _e,s as ve,t as ye}from"./BOJK8LI1.chunk.js";import{t as be}from"./tnBD84bg2.chunk.js";import{t as xe}from"./DELN_PAD2.chunk.js";import{t as Se}from"./_42F7SIA2.chunk.js";import{t as Ce}from"./DzgAvoez.chunk.js";import{t as k}from"./OtQaFdir.chunk.js";import{t as A}from"./Dopg0SXC.chunk.js";import{n as we,t as Te}from"./CvtZ8ZFA2.chunk.js";import{n as j,t as Ee}from"./B5XaBzZh.chunk.js";import{t as M}from"./BPavmm8c.chunk.js";import{t as De}from"./IqGr9V7u2.chunk.js";import{r as Oe}from"./Bf9r1ZoF2.chunk.js";import{t as ke}from"./7I0L5W4N2.chunk.js";import{n as N,r as P,t as Ae}from"./DusJhHeW2.chunk.js";import{t as F}from"./CLjADRa42.chunk.js";import{t as je}from"./BgOLbASl2.chunk.js";var I=e(o()),L=s(),R=ue();function z(){let e=le();return e.lg||e.xl||e.xxl}var B={copyrightDisclaimer:`_copyrightDisclaimer_yyjul_1`,overlayContainer:`_overlayContainer_yyjul_4`},V=`shared.copyrightDisclaimer`,Me=150;function Ne(e){let[n,r]=se({});function i(){return document.documentElement.clientHeight-n.current?.getBoundingClientRect().bottom<Me}return(0,L.jsxs)(`div`,{ref:n,className:e.className,children:[(0,L.jsx)(`p`,{className:`${B.copyrightDisclaimer} ${e.phraseClassName??`mb-1`}`,children:(0,L.jsx)(T,{namespace:V,phrase:`copyrightDisclaimer`})}),(0,L.jsx)(t,{target:n.current,show:r,placement:e.overflowPlacement&&i()?e.overflowPlacement:e.placement,children:(0,L.jsxs)(`div`,{className:`${B.overlayContainer} mw-100 bg-white border rounded-3 p-2`,children:[(0,L.jsx)(`p`,{children:(0,L.jsx)(T,{namespace:V,phrase:`warning`})}),(0,L.jsx)(`p`,{className:`fw-semibold mb-0`,children:(0,L.jsx)(T,{namespace:V,phrase:`sharing`})})]})})]})}function Pe(e){return(0,L.jsx)(ke,{lines:12,children:()=>(0,L.jsx)(`p`,{className:`mb-0`,dangerouslySetInnerHTML:{__html:a.sanitize(be.linkifyText(e.video.description,{nl2br:!0}))}})})}var Fe={descriptionBorder:`_descriptionBorder_any0w_2`},H=`shared.videoDetailsV2`,U=i.encloseNamespace(H);function W(e){let{label:t,items:n,className:r}=e;return n&&n.data&&n.data.length?typeof e.getItemAppLink==`function`?(0,L.jsxs)(`div`,{className:r,children:[(0,L.jsxs)(`span`,{children:[t,`: `]}),n.data.map((t,r)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(S,{appLink:e.getItemAppLink(t),children:t.name?.trim()},t.id),r<n.data.length-1&&(0,L.jsx)(`span`,{children:`, `})]},t.id))]}):(0,L.jsxs)(`div`,{className:r,children:[t,`: `,n.data.map(e=>e.name?.trim()).join(`, `)]}):(0,L.jsx)(L.Fragment,{})}function Ie(e){let t=e.categories?.data;return t?.length?t.filter(e=>e.libraries?.data?.[0]?.type===ce.CustomLibrary).map(e=>({library:e.libraries?.data?.[0],category:e})):[]}function Le(e){return[{name:e.pair.library.name,appLink:e.getLibraryAppLink?.(e.pair.library)},{name:`...`},{name:e.pair.category.name,appLink:e.getFolderAppLink?.(e.pair.library,e.pair.category)}]}function Re(e){let{video:t}=e;if(!y.isVideo(t)&&!y.isClip(t))return(0,L.jsx)(L.Fragment,{});let n=y.getParentVideo(t),r=Ie(t);function i(t){if(!(!t.partnerProfiles||!t.partnerProfiles?.data?.length)){if(t.partnerProfiles?.count>1&&typeof e.getPartnerDashboardHubAppLink==`function`)return e.getPartnerDashboardHubAppLink(t);if(typeof e.getPartnerProfileAppLink==`function`)return e.getPartnerProfileAppLink(t.partnerProfiles?.data?.[0])}}return(0,L.jsxs)(`div`,{className:t.description?`col-md-5 ps-md-3 pt-3 pt-md-0`:`col-12`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`details`})}),!!n.productionYear&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`productionYear`,options:{year:n.productionYear}})}),(0,L.jsx)(W,{label:U(`productionCompanies`,{smartCount:n.productionCompanies?.data?.length}),items:n.productionCompanies,getItemAppLink:i,className:`mb-1`}),(0,L.jsx)(W,{label:U(`distributors`,{smartCount:n.distributors?.data?.length}),items:n.distributors,getItemAppLink:i,className:`mb-1`}),(0,L.jsx)(W,{label:U(`producers`,{smartCount:n.producers?.data?.length}),items:n.producers,className:`mb-1`}),(0,L.jsx)(W,{label:U(`directors`,{smartCount:n.directors?.data?.length}),items:n.directors,className:`mb-1`}),!!n.dateBroadcast&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`dateBroadcast`,options:{date:l.format(n.dateBroadcast,`DD/MM/YYYY`)}})}),!!n.channel&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`channel`,options:{channel:n.channel.name}})}),y.canViewUploadDate(e.video)&&(0,L.jsx)(`div`,{className:`mb-1`,children:(0,L.jsx)(T,{phrase:`dateUploaded`,options:{date:l.format(t.dateCreated,`DD/MM/YYYY`)}})}),!!(r.length&&e.getLibraryAppLink&&e.getFolderAppLink)&&(0,L.jsxs)(`div`,{className:`mb-1`,children:[(0,L.jsxs)(`div`,{children:[U(`libraries`,{smartCount:r.length}),`:`]}),r.map((t,n)=>(0,L.jsx)(`div`,{children:(0,L.jsx)(Ce,{breadcrumbs:Le({pair:t,getLibraryAppLink:e.getLibraryAppLink,getFolderAppLink:e.getFolderAppLink}),linkClassName:`text-info`})},n))]})]})}function ze(e){let{video:t,maxHeight:n=368}=e,r=y.getParentVideo(t),i=!!e.video.description,a=Ae(e.video)||!!r.productionYear||!!r.dateBroadcast||!!r.channel||y.canViewUploadDate(e.video);if(!i&&!a)return(0,L.jsx)(L.Fragment,{});function o(){return e.hideTags||y.isInteractive(e.video)||!e.video.tags?.data?.length?null:e.video.tags?.data?.filter(e=>e.tagType===g.Normal)}let s=o();return(0,L.jsx)(oe.Provider,{value:H,children:(0,L.jsxs)(`section`,{id:M.VideoDetails,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.VideoDetails,t)},className:`play-page-section`,children:[e.showHeading&&(0,L.jsx)(Se,{name:U(`heading`)}),(0,L.jsx)(`div`,{className:`rounded border p-3 position-relative`,children:(0,L.jsxs)(R.Scrollbars,{autoHeight:!0,autoHeightMax:n,hideTracksWhenNotNeeded:!0,children:[(0,L.jsxs)(`div`,{className:`row g-0`,children:[i&&(0,L.jsxs)(`div`,{className:a?`${Fe.descriptionBorder} pe-3 col-md-7`:`col-12`,children:[(0,L.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`description`})}),(0,L.jsx)(De,{text:t.description,title:t.name,className:`ps-2`,onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:m.PlayPage,entity:p.Video,actionType:h.Click,descriptor:f.LaunchImmersiveReader},analyticsData:{id:t.id,type:`description`}})]}),(0,L.jsx)(Pe,{video:e.video})]}),a&&(0,L.jsx)(Re,{...e})]}),!!s?.length&&(0,L.jsxs)(`div`,{className:`mt-3`,children:[(0,L.jsx)(`h2`,{className:`h6 mb-1`,children:(0,L.jsx)(T,{phrase:`normalTags`})}),(0,L.jsx)(N,{tags:s,...P.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),className:`mt-1`})]}),y.isBroadcast(e.video)&&(0,L.jsx)(Ne,{placement:`bottom-start`,className:`d-flex justify-content-start mt-2`,phraseClassName:`mb-0`,overflowPlacement:`top-start`})]})})]})})}function G(e,t,n,r){let i=()=>{F.unsubscribe(e,t)};return(0,I.useEffect)(()=>{if(r)return n?F.subscribeOnce(e,t):F.subscribe(e,t),()=>{i()}},[]),i}var K={learningIntention:`_learningIntention_lm8nf_1`,highlightPoi:`_highlightPoi_lm8nf_7`,icon:`_icon_lm8nf_10`},Be=/\[\]\(cv:\/\/poi\?id=\d+\)\n*/g;function Ve(e){return e.replace(Be,``)}function He(e){return ie(Ve(e.content),{async:!1})}function Ue(e,t){let[n,r]=(0,I.useState)(``);return(0,I.useEffect)(()=>{if(!t||!e.glance?.content)return;let n=He(e.glance);r(n)},[e.glance?.content,t]),n}function We(e){return e.glance?.content&&e.glance?.format===`text/markdown`}function Ge(e,t){let n=(0,I.useRef)(null);G(`player:poi:mouseover`,r,null,t),G(`player:poi:mouseleave`,i,null,t),(0,I.useEffect)(()=>{if(!(!n.current||!t))return n.current?.addEventListener(`mouseover`,a),n.current?.addEventListener(`mouseleave`,o),()=>{n.current?.removeEventListener(`mouseover`,a),n.current?.removeEventListener(`mouseleave`,o)}},[n.current]);function r(t){!t?.id||e?.id?.toString()!==t?.id?.toString()||n.current?.classList.add(K.highlightPoi)}function i(){n.current?.classList.remove(K.highlightPoi)}function a(){e&&F.trigger(`glance:poi:mouseover`,e)}function o(){F.trigger(`glance:poi:mouseleave`)}return n}var q={poiEntry:`_poiEntry_1bne8_1`,poiText:`_poiText_1bne8_5`,public:`_public_1bne8_5`,poiTimeStamp:`_poiTimeStamp_1bne8_14`,wideBadge:`_wideBadge_1bne8_18`};function Ke(e){let t=O.ToDisplayDuration(e.poi.startTime*1e3),n=Ge(e.poi,!e.suppressInteractivity);return e.suppressInteractivity?(0,L.jsxs)(`div`,{className:`d-flex ${q.poiEntry} mb-2`,children:[(0,L.jsx)(`span`,{className:`d-flex rounded-pill justify-content-center align-items-center text-info bg-light-blue ${q.poiTimeStamp} ${e.wideBadge?q.wideBadge:``}`,children:t}),(0,L.jsx)(`div`,{className:`${q.public} ms-2`,children:e.poi.description})]}):(0,L.jsxs)(re,{className:`d-flex ${q.poiEntry} mb-2 cursor-pointer`,onClick:()=>e.onClickPoiItem(e.poi.startTime),ref:n,children:[(0,L.jsx)(`div`,{className:`d-flex rounded-pill justify-content-center align-items-center text-info bg-light-blue ${q.poiTimeStamp} ${e.wideBadge?q.wideBadge:``}`,children:t}),(0,L.jsx)(`div`,{className:`ms-2 ${q.poiText}`,children:e.poi.description})]},e.poi.startTime)}var qe=`shared.pointsOfInterestList`;function Je(e){let t=e.pointsOfInterest.sort((e,t)=>e.startTime-t.startTime),n=t.some(e=>e.startTime>=3600);return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h2`,{className:`h6 my-2`,children:(0,L.jsx)(T,{namespace:qe,phrase:`heading`})}),(0,L.jsx)(`div`,{children:t.map(t=>(0,L.jsx)(Ke,{poi:t,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:e.onClickPoiItem,wideBadge:n},t.startTime))})]})}var Ye=`shared.videoAtAGlanceV2`,Xe=365;function Ze(e){return e.hideScrollbar?(0,L.jsx)(L.Fragment,{children:e.children}):(0,L.jsx)(`div`,{className:`rounded border mb-4 bg-white`,children:(0,L.jsx)(R.Scrollbars,{autoHeight:!0,autoHeightMax:Xe,children:(0,L.jsx)(`div`,{className:`px-3 pt-3 pb-2`,children:e.children})})})}function Qe(e){let t=Ue(e.video,e.canViewGlance),[n,r]=I.useState(``);function i(){let t={id:e.video.glance.id,name:e.video.glance.name,videoId:e.video.id,videoName:e.video.name,learningIntention:n},r={actionType:h.Copy,entity:p.Glance,location:m.PlayPage};x.logUserAction(t,r)}function o(){return y.isInteractive(e.video)||!e.video.tags?.data?.length?null:e.video.tags?.data?.filter(e=>e.tagType===g.Pedagogy||e.tagType===g.Skill)}let s=o(),c=I.useRef(null);if(I.useEffect(()=>{c.current?.innerText&&r(c.current.innerText)},[c.current?.innerText]),!e.canViewGlance)return(0,L.jsx)(L.Fragment,{});function l(t){e.setStartTime(t)}return(0,L.jsx)(`section`,{className:`play-page-section`,children:(0,L.jsxs)(Ze,{hideScrollbar:e.hideScrollbar,children:[(0,L.jsx)(`h2`,{className:`h6 mb-2`,children:(0,L.jsx)(T,{namespace:Ye,phrase:`learningIntention`})}),(0,L.jsxs)(`div`,{className:`mb-3 ${K.learningIntention}`,children:[(0,L.jsx)(Ee,{copyableContent:n,tooltipClassName:K.icon,onClick:i,visible:!0}),(0,L.jsx)(`div`,{dangerouslySetInnerHTML:{__html:a.sanitize(t)},className:`d-inline`,ref:c})]}),!!s?.length&&(0,L.jsx)(`div`,{children:(0,L.jsx)(N,{tags:s,...P.getTagActionProps(e.getTagAppLink,e.onClickTag,e.suppressInteractivity),className:`mt-2`})}),!!e.pointsOfInterest?.length&&(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(Je,{pointsOfInterest:e.pointsOfInterest,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:l})})]})})}var $e=I.memo(function(e){let{data:t,thumbnailSize:n,preloadImage:r,getAppLink:i}=e,a=A(t.subjectPresentationAudiences?.data,e.audiences);return(0,L.jsxs)(`div`,{className:`flex-shrink-0 px-1 col-6 col-sm-4`,children:[(0,L.jsx)(ye,{type:`static`,textPosition:ge.Independent,video:t,appLink:i(t),imageOptions:{size:n},preload:r,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,audience:a,hideDuration:!1,commonVideoProps:e.commonVideoProps}),(0,L.jsx)(`div`,{className:`mt-2`,children:(0,L.jsx)(he,{...e,video:t,appLink:e.getAppLink(t)})})]})}),et=`shared.playPageClips`;function tt(e){if(!e.canViewClips||!e.clips?.length)return(0,L.jsx)(L.Fragment,{});let t=y.isVideo(e.video);function n(){return y.isVideo(e.video)?{action:b.Videos.VIDEO_CLIPS,application:c.VIDEOS,args:[e.presentationSlug,e.video.id,a.slugify(e.video.name)]}:{action:b.Clips.CLIP_CLIPS,application:c.CLIPS,args:[e.video.id,a.slugify(e.video.name)]}}let r=i.getPhrase(et,t?`clips`:`otherClips`,{count:e.clips.length});return(0,L.jsx)(`section`,{className:`play-page-section`,id:M.Clips,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.Clips,t)},children:(0,L.jsx)(v,{name:r,contents:_.ClipsV2,collection:e.clips,prefetched:!0,getChildAppLink:e=>({application:c.CLIPS,action:b.Clips.PLAY_CLIP,args:[e.id,a.slugify(e.name)]}),appLink:n(),childComponent:$e,extraChildComponentProps:{audiences:e.audiences,showOwner:!0,commonVideoProps:e.commonVideoProps},analyticsData:e.analyticsData})})}var nt=`shared.playPageInteractives`;function rt(e){if(!e.canViewInteractives||!e.interactives?.length)return(0,L.jsx)(L.Fragment,{});function t(){return y.isVideo(e.video)?{action:b.Videos.VIDEO_INTERACTIVES,application:c.VIDEOS,args:[e.presentationSlug,e.video.id,a.slugify(e.video.name)]}:{action:b.Clips.CLIP_INTERACTIVES,application:c.CLIPS,args:[e.video.id,a.slugify(e.video.name)]}}let n=i.getPhrase(nt,`interactives`,{count:e.interactives.length});return(0,L.jsx)(`section`,{className:`play-page-section`,id:M.Interactives,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(M.Interactives,t)},children:(0,L.jsx)(v,{name:n,contents:_.InteractivesV2,collection:e.interactives,prefetched:!0,getChildAppLink:e=>({application:c.INTERACTIVES,action:b.Interactives.VIEW_INTERACTIVE,args:[e.id,a.slugify(e.name)]}),appLink:t(),childComponent:Oe,extraChildComponentProps:{questionsAppLink:{application:c.INTERACTIVES,action:b.Interactives.PREVIEW_QUESTIONS},showOwner:!0,commonVideoProps:e.commonVideoProps},analyticsData:e.analyticsData})})}function J(e){return(0,L.jsx)(`svg`,{...e,children:(0,L.jsx)(`path`,{d:`M5.455 12c0 .401.325.727.727.727h9.88l-3.849 3.85a.728.728 0 0 0 1.029 1.028l5.09-5.091a.73.73 0 0 0 .213-.514v7.272a.727.727 0 0 0 1.455 0V4.727a.727.727 0 0 0-1.455 0V12a.73.73 0 0 0-.213-.515l-5.09-5.09a.727.727 0 1 0-1.029 1.028l3.85 3.85H6.181a.727.727 0 0 0-.727.727`,fill:`currentColor`})})}function it(e){return(0,L.jsx)(`svg`,{...e,children:(0,L.jsx)(`path`,{d:`M20 12a.727.727 0 0 0-.727-.728h-9.88l3.848-3.849a.727.727 0 1 0-1.028-1.029l-5.091 5.091a.73.73 0 0 0-.213.514V4.727a.727.727 0 0 0-1.454 0v14.545a.727.727 0 0 0 1.454 0V12c0 .186.071.373.213.515l5.091 5.09a.727.727 0 0 0 1.029-1.028l-3.85-3.85h9.88A.727.727 0 0 0 20 12`,fill:`currentColor`})})}var Y={showInSide:`_showInSide_1n1am_1`,container:`_container_1n1am_7`,aside:`_aside_1n1am_11`,collapse:`_collapse_1n1am_14`,iconContainer:`_iconContainer_1n1am_22`,arrowIcon:`_arrowIcon_1n1am_22`,listIcon:`_listIcon_1n1am_25`},at=`shared.playPage`;function ot(e){function t(){let t={actionType:e.isExpanded?h.Hide:h.Open,entity:p.TableOfContents,location:m.PlayPage};x.logUserAction(e.analyticsData,t)}function n(){let n=!e.isExpanded;e.setIsExpanded(n),n?(e.toggleTheatreMode?.(!1),e.toggleTheatreMode||e.setIsExpanded(!1)):(e.toggleTheatreMode?.(!0),e.toggleTheatreMode||e.setIsExpanded(!0)),t()}return(0,L.jsx)(`div`,{className:`d-flex justify-content-end`,children:(0,L.jsx)(`div`,{className:Y.container,children:(0,L.jsxs)(`div`,{className:`${Y.iconContainer}`,children:[(0,L.jsx)(w,{className:`btn btn-outline-dark ${Y.listIcon}`,svg:xe,onClick:n}),(0,L.jsx)(w,{className:`btn btn-outline-dark ${Y.arrowIcon}`,svg:e.isExpanded?J:it,onClick:n})]})})})}function st(e){function t(){let t={actionType:h.Hide,entity:p.TableOfContents,location:m.PlayPage};x.logUserAction(e.analyticsData,t)}function n(e){let t=ne.getCurrentRoute().appLink,n=t.params?{...t.params}:{};return n.tocId=e.id,{...t,params:n}}function r(){e.showInSide||e.setIsExpanded(!1)}return(0,L.jsxs)(`div`,{className:e.showInSide?`col ms-2 ps-4 ${Y.showInSide}`:`d-inline-flex gap-1`,children:[(0,L.jsx)(`aside`,{className:`${Y.aside} position-relative ${e.showInSide?`pe-1 pt-1 `:`px-3 pt-3 pb-2 border border-dark rounded-1 bg-white`}`,children:(0,L.jsxs)(`div`,{className:`${Y.container}`,children:[e.showInSide&&!e.hasTranscription&&(0,L.jsx)(w,{className:`btn position-absolute ${Y.collapse}`,svg:J,onClick:()=>{e.setIsExpanded(!1),e.toggleTheatreMode?.(!0),t()}}),(0,L.jsx)(`h2`,{className:`h5`,children:(0,L.jsx)(T,{namespace:at,phrase:`tocHeading`})}),(0,L.jsx)(je,{items:e.items,activeId:e.activeId,getAppLink:n,setControlledId:e.setControlledId,analyticsData:e.analyticsData,onItemClick:()=>r()})]})}),!e.showInSide&&(0,L.jsx)(ot,{...e})]})}function ct(e){return e.shouldShow?(0,L.jsxs)(L.Fragment,{children:[e.isExpanded&&e.showInSide&&(0,L.jsx)(st,{...e}),k.renderInPortalIfExists(!e.isExpanded&&(0,L.jsx)(ot,{...e}),document.getElementById(C)),k.renderInPortalIfExists(!e.showInSide&&e.isExpanded&&(0,L.jsx)(st,{...e}),document.getElementById(C))]}):(0,L.jsx)(L.Fragment,{})}var X={series:`_series_15j6m_1`,badgeListContainer:`_badgeListContainer_15j6m_5`,clipOriginInfo:`_clipOriginInfo_15j6m_10`},lt=`shared.playPage`;function ut(e){let t=A(e.media.subjectPresentationAudiences?.data,e.audiences),n=I.useRef(null),r=I.useRef(null),i=y.isVideo(e.media)&&!!y.getRating(e.media)?.value||y.isVideo(e.media)&&!!e.media.productionYear||!!e.media.subjectPresentationAudiences?.data?.length,a=we({location:Te.PlayPage,shareId:e.shareId,presentationSlug:e.presentationSlug}),o=!!e.originalVideoAppLink&&y.isClip(e.media)&&y.canViewOriginalVideo(e.media);return(0,L.jsx)(`section`,{className:`mb-3 position-relative`,ref:n,children:(0,L.jsxs)(`div`,{className:`d-inline-block w-100`,ref:r,children:[e.featureAccess.canNavigate&&(0,L.jsx)(`div`,{className:`ms-2 float-end`,children:(0,L.jsx)(fe,{actions:a.getVideoActions(e.media),actionsDropdownClassName:`btn btn-outline-dark`,fetchMore:()=>a.fetchMoreActions(e.media)})}),!!y.isVideo(e.media)&&(0,L.jsx)(de,{type:e.subTextType,video:e.media,appLink:e.subtextAppLink,className:`${X.series} text-truncate mw-100`,analyticsOptions:{location:m.PlayPage}}),(0,L.jsxs)(`h1`,{className:`h4 mb-2 mw-100`,children:[(0,L.jsx)(`span`,{className:`align-self-center`,children:e.media.name}),e.showTitlePadlock&&(0,L.jsx)(_e,{tooltipPlacement:`right`,className:`d-inline-block ps-1`,video:e.media,yearGroups:e.yearGroups})]}),y.isClip(e.media)&&o&&(0,L.jsxs)(`p`,{className:`clamp-1 ${X.clipOriginInfo}`,children:[(0,L.jsx)(T,{namespace:lt,phrase:`viewOriginal`}),`\xA0`,(0,L.jsx)(S,{className:`info-link`,appLink:e.originalVideoAppLink,children:e.media._parentVideo?.name}),`\xA0`,(0,L.jsx)(T,{namespace:lt,phrase:`timestamp`,options:{timeRange:`${O.ToDisplayTimeRange(e.media.startTime*1e3,e.media.endTime*1e3)}`}})]}),i&&(0,L.jsxs)(pe,{className:X.badgeListContainer,children:[(0,L.jsx)(ve,{audience:t,className:`bg-white text-dark`,border:`dark`}),y.isVideo(e.media)&&(0,L.jsx)(D,{type:E.Rating,data:y.getRating(e.media)}),y.isVideo(e.media)&&(0,L.jsx)(D,{type:E.ProductionYear,data:e.media.productionYear})]})]})})}var Z={mask:`_mask_vq9tb_1`,centeredIcon:`_centeredIcon_vq9tb_10`,bgImage:`_bgImage_vq9tb_21`,centeredOverlay:`_centeredOverlay_vq9tb_24`},dt=i.encloseNamespace(`shared.playerPlaceholder`);function ft(e){switch(e.type){case`pip`:return(0,L.jsx)(pt,{...e});case`public`:return(0,L.jsx)(mt,{...e});default:return(0,L.jsx)(L.Fragment,{})}}var pt=e=>(0,L.jsxs)(`div`,{className:`position-relative responsive-img ${Z.bgImage}`,style:{backgroundImage:`url('${y.getThumbnail(e.video)?.url??``}')`},children:[(0,L.jsx)(`p`,{className:`m-0 text-white h3 ${Z.centeredOverlay}`,children:dt(`playingPiP`)}),(0,L.jsx)(`div`,{className:Z.mask})]}),mt=e=>{let t=te.createUrl(y.getThumbnail(e.video)?.url??``,{size:ee.Large});return(0,L.jsx)(`div`,{className:`position-relative responsive-img ${Z.bgImage}`,style:{backgroundImage:`url('${t}')`},children:(0,L.jsxs)(S,{appLink:e.appLink,analyticsOptions:{actionType:h.Click,location:m.PlayPage,entity:p.AppLink,workflowPhase:d.Start,descriptor:u.SignUp},analyticsData:{},children:[(0,L.jsx)(n,{svg:me,className:Z.centeredIcon}),(0,L.jsx)(`div`,{className:Z.mask})]})})};function ht({resourcePopupId:e,resources:t,getResourceAppLink:n}){I.useEffect(()=>{if(!e)return;let i=t?.find(t=>t.id.toString()===e.toString());i&&r.trigger(n(i))},[e])}var Q={main:`_main_1ujkn_1`,expandedToc:`_expandedToc_1ujkn_1`,theatreMode:`_theatreMode_1ujkn_4`,theatreModeContent:`_theatreModeContent_1ujkn_7`,theatreModePlayPageContainer:`_theatreModePlayPageContainer_1ujkn_17`,theatreModeLeftContent:`_theatreModeLeftContent_1ujkn_21`};function gt(e){return e.shouldShowSideTableOfContents?e.hasTheatreMode&&e.theatreMode?Q.theatreMode:e.tableOfContentsExpanded?`${Q.expandedToc} col-9`:`pe-4`:``}function _t(e){return e.hasTheatreMode&&(e.theatreMode||!e.shouldShowSideTableOfContents)?`container ${Q.theatreModeContent}`:``}function vt(e,t){return e&&t.defaultDisplayMode===`theatre`&&t.mode==="default"}var yt=`play-page-toc-expanded`;function bt(e,t,n){let r=z(),i=j.get(yt)!==`false`,a=t?n||r:i,[o,s]=I.useState(e||``),[c,l]=I.useState(``),[u,d]=I.useState(a);I.useEffect(()=>{if(!r){d(!1);return}if(t){d(!0);return}d(a)},[r,n]);function f(){t&&r||(d(!u),j.set(yt,(!u).toString()))}return{controlledId:o,setControlledId:s,tableOfContentsExpanded:u,tableOfContentsActiveId:c,setTableOfContentsActiveId:l,onToggleTableOfContents:f}}var xt={map(e){let t=new Proxy(new Map,{get(n,r){if(r===`set`)return(r,i)=>(n.get(r)!==i&&(n.set(r,i),e()),t);let i=Reflect.get(n,r);return typeof i==`function`?i.bind(n):i}});return t}},St=[M.Video,M.CurriculumLinks,M.Resources,M.Interactives,M.Clips,M.VideoDetails,M.ClippedFrom,M.Transcript,M.ReferenceVideo,M.RelatedVideos],Ct=[M.Video,M.VideoDetails,M.CurriculumLinks,M.Resources,M.Interactives,M.Clips,M.ClippedFrom,M.Transcript,M.ReferenceVideo,M.RelatedVideos];function wt(e){let t=ae(),n=I.useRef(xt.map(t));return{headingRef:n,headingElements:(e?St:Ct).map(e=>n.current.get(e)).filter(Boolean)}}function Tt(e,t,n){let r=le();if(t!=="default")return!1;let i=n===`theatre`;return!(r.sm||r.md)&&e&&i}var $=i.encloseNamespace(`shared.play`),Et={getSectionHeading(e,t){switch(e){case M.Resources:return $(`resourcesHeading`,{count:t.resources?.length});case M.Clips:return t.isPlayClipPage?$(`otherClipsHeading`,{count:t.clips?.length-1}):$(`clipsHeading`,{count:t.clips?.length});case M.Interactives:return $(`interactivesHeading`,{count:t.interactives?.length});case M.Video:return $(`videoHeading`);case M.VideoDetails:return $(`videoDetailsHeading`);case M.RelatedVideos:return $(`upNextHeading`);case M.CurriculumLinks:return $(`curriculumLinksHeading`);case M.ClippedFrom:return $(`clippedFromHeading`);case M.ReferenceVideo:return $(`referenceVideoHeading`);case M.Transcript:return $(`transcriptHeading`);default:return``}}};export{ze as _,_t as a,Q as c,ut as d,ct as f,We as g,Qe as h,bt as i,ht as l,tt as m,Tt as n,vt as o,rt as p,wt as r,gt as s,Et as t,ft as u,z as v};
|
|
2
|
+
//# sourceMappingURL=Bld7iWR52.chunk.js.map
|