@clickview/lite 0.104.0-rc.2 → 0.104.0-rc.3

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.
Files changed (50) hide show
  1. package/dist/.vite/manifest.json +510 -510
  2. package/dist/bundles.json +1 -1
  3. package/dist/en.json +1 -1
  4. package/dist/scripts/{BiUOH1CR.chunk.js → 2p_6pVn6.chunk.js} +2 -2
  5. package/dist/scripts/{BiUOH1CR.chunk.js.map → 2p_6pVn6.chunk.js.map} +1 -1
  6. package/dist/scripts/B1hsuVfV2.chunk.js +2 -0
  7. package/dist/scripts/{BwBWuxjr2.chunk.js.map → B1hsuVfV2.chunk.js.map} +1 -1
  8. package/dist/scripts/{Df6x5Ekm2.chunk.js → B6GfukUn2.chunk.js} +2 -2
  9. package/dist/scripts/{Df6x5Ekm2.chunk.js.map → B6GfukUn2.chunk.js.map} +1 -1
  10. package/dist/scripts/BILyzh0I.chunk.js +1 -0
  11. package/dist/scripts/{D_uAdX7E2.chunk.js → BTm7hIyP2.chunk.js} +2 -2
  12. package/dist/scripts/{D_uAdX7E2.chunk.js.map → BTm7hIyP2.chunk.js.map} +1 -1
  13. package/dist/scripts/{DFlO2qoz2.chunk.js → Bf9r1ZoF2.chunk.js} +2 -2
  14. package/dist/scripts/{DFlO2qoz2.chunk.js.map → Bf9r1ZoF2.chunk.js.map} +1 -1
  15. package/dist/scripts/{BgPye7Nd2.chunk.js → C46OeU6w2.chunk.js} +2 -2
  16. package/dist/scripts/{BgPye7Nd2.chunk.js.map → C46OeU6w2.chunk.js.map} +1 -1
  17. package/dist/scripts/{C62uevy9.chunk.js → C4OV7pr-.chunk.js} +2 -2
  18. package/dist/scripts/{C62uevy9.chunk.js.map → C4OV7pr-.chunk.js.map} +1 -1
  19. package/dist/scripts/{EKwCaE3J2.chunk.js → CNPKh2z72.chunk.js} +2 -2
  20. package/dist/scripts/{EKwCaE3J2.chunk.js.map → CNPKh2z72.chunk.js.map} +1 -1
  21. package/dist/scripts/{-7qiRMLt.chunk.js → CW1i-QHv.chunk.js} +2 -2
  22. package/dist/scripts/{-7qiRMLt.chunk.js.map → CW1i-QHv.chunk.js.map} +1 -1
  23. package/dist/scripts/{GolowYbA.chunk.js → Cl2FZEIX.chunk.js} +2 -2
  24. package/dist/scripts/{GolowYbA.chunk.js.map → Cl2FZEIX.chunk.js.map} +1 -1
  25. package/dist/scripts/{CVL6bQWp.chunk.js → CpzveYo2.chunk.js} +2 -2
  26. package/dist/scripts/{CVL6bQWp.chunk.js.map → CpzveYo2.chunk.js.map} +1 -1
  27. package/dist/scripts/{By9Vb8Wn.chunk.js → DFFq-sgD.chunk.js} +2 -2
  28. package/dist/scripts/{By9Vb8Wn.chunk.js.map → DFFq-sgD.chunk.js.map} +1 -1
  29. package/dist/scripts/{DICsRDM42.chunk.js → DH_0KtTK2.chunk.js} +2 -2
  30. package/dist/scripts/{DICsRDM42.chunk.js.map → DH_0KtTK2.chunk.js.map} +1 -1
  31. package/dist/scripts/{z8IWZ1V1.chunk.js → Ta3cqTAC.chunk.js} +2 -2
  32. package/dist/scripts/{z8IWZ1V1.chunk.js.map → Ta3cqTAC.chunk.js.map} +1 -1
  33. package/dist/scripts/{C8tDgg1l2.chunk.js → VJQU9c4G2.chunk.js} +2 -2
  34. package/dist/scripts/{C8tDgg1l2.chunk.js.map → VJQU9c4G2.chunk.js.map} +1 -1
  35. package/dist/scripts/{app-CuKrDFuc.js → app-LEZ4B6dG.js} +4 -4
  36. package/dist/scripts/{app-CuKrDFuc.js.map → app-LEZ4B6dG.js.map} +1 -1
  37. package/dist/scripts/{uSXjtjlJ.chunk.js → ft2cSH-j.chunk.js} +2 -2
  38. package/dist/scripts/{uSXjtjlJ.chunk.js.map → ft2cSH-j.chunk.js.map} +1 -1
  39. package/dist/scripts/jAtAipGN.chunk.js +2 -0
  40. package/dist/scripts/{CpsbRDII.chunk.js.map → jAtAipGN.chunk.js.map} +1 -1
  41. package/dist/scripts/{DhdM2yGm.chunk.js → qRLSbnEr.chunk.js} +2 -2
  42. package/dist/scripts/{DhdM2yGm.chunk.js.map → qRLSbnEr.chunk.js.map} +1 -1
  43. package/dist/scripts/{CXKdMqPJ.chunk.js → qT_Twe2q.chunk.js} +2 -2
  44. package/dist/scripts/{CXKdMqPJ.chunk.js.map → qT_Twe2q.chunk.js.map} +1 -1
  45. package/dist/scripts/{B-k4BlVQ2.chunk.js → x2GB1P6E2.chunk.js} +3 -3
  46. package/dist/scripts/{B-k4BlVQ2.chunk.js.map → x2GB1P6E2.chunk.js.map} +1 -1
  47. package/package.json +1 -1
  48. package/dist/scripts/BwBWuxjr2.chunk.js +0 -2
  49. package/dist/scripts/CCBk_ENs.chunk.js +0 -1
  50. package/dist/scripts/CpsbRDII.chunk.js +0 -2
@@ -1,2 +1,2 @@
1
- import"./DAXXjFlN.chunk.js";import{n as e}from"./B785hxeE.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{y as i}from"./NlCAcBdo.chunk.js";import{t as a}from"./DGmmTRu72.chunk.js";import{t as o}from"./DZssmXj6.chunk.js";import{t as s}from"./BC8PeYqm.chunk.js";import{t as c}from"./LoQS6GjP.chunk.js";import{t as l}from"./CqrjHjAN.chunk.js";import{n as u,t as d}from"./C6-aC3vu.chunk.js";import{t as f}from"./7LGxCHGV.chunk.js";import{t as p}from"./B3gsVN-_.chunk.js";import{l as m,r as h}from"./BxjzTnvL2.chunk.js";import{t as g}from"./Dfw0sxVt2.chunk.js";import{t as _}from"./C1loT8MD2.chunk.js";import{n as v}from"./ChnNWPOK2.chunk.js";import{t as y}from"./BnuuRu_J2.chunk.js";import{t as b}from"./CC5Dr9aG.chunk.js";import{t as x}from"./BYaCUOEW2.chunk.js";import{t as S}from"./DNuJUXpr2.chunk.js";import{v as C}from"./C8tDgg1l2.chunk.js";import{t as w}from"./Df6x5Ekm2.chunk.js";t();var T=n();function E(t){let{hasProduct:n}=g(),{commonVideoProps:E,hasCommonVideoPropsCompleted:D}=y({locationContext:i.VideoThumbnail}),{hasPermissions:O}=p(),{hasTopicDirectories:k,hasPlayPageTranscript:A}=a(null),j=C(),M=r(l.currentUser()),N=r(o.sharedClip(t.objectId,t.shareId)),P=_({objectId:N.data?.id,objectTypeId:N.data?.typeId}),F=r(!!N.data?._parentVideo&&c.video(N.data._parentVideo.id)),I=r(!!N.data?._parentVideo?.id&&P.canViewClips&&o.videoClips(N.data._parentVideo.id)),L=r(P.canViewInteractives&&s.videoInteractives(t.objectId)),R=h({video:F.data,context:t.queryParams.context,contextId:t.queryParams.contextId,moviesAndTv:t.queryParams.mtv,currentUser:M.data}),z=x(),B=m(t.objectId);d(u.getClipMetadata({content:N.data})),S(R.videos??[]),f(N),v({id:t.objectId,app:`clips`,shareId:t.shareId});let V=b({name:N.data?.name});return N.data&&M.hasCompleted&&B.hasCompleted&&D?(0,T.jsx)(w,{shareId:t.shareId,clip:N.data,clips:I.data?.data,interactives:L.data?.data,currentUser:M.data,relatedVideos:R,hasProduct:n,queryParams:t.queryParams,audiences:z.data,canManageVideoAccess:O(e.ManageVideoAccess),pointsOfInterest:B?.items,featureAccess:P,tableOfContentsId:t.queryParams?.tocId,shouldShowSideTableOfContents:j,breadcrumbs:V,commonVideoProps:E,hasTopicDirectories:k,hasTheatreMode:A}):(0,T.jsx)(T.Fragment,{})}export{E as PlaySharedClipView};
2
- //# sourceMappingURL=BiUOH1CR.chunk.js.map
1
+ import"./DAXXjFlN.chunk.js";import{n as e}from"./B785hxeE.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./wrLrTezN.chunk.js";import{u as r}from"./BX0wDJmp.chunk.js";import{y as i}from"./NlCAcBdo.chunk.js";import{t as a}from"./DGmmTRu72.chunk.js";import{t as o}from"./DZssmXj6.chunk.js";import{t as s}from"./BC8PeYqm.chunk.js";import{t as c}from"./LoQS6GjP.chunk.js";import{t as l}from"./CqrjHjAN.chunk.js";import{n as u,t as d}from"./C6-aC3vu.chunk.js";import{t as f}from"./7LGxCHGV.chunk.js";import{t as p}from"./B3gsVN-_.chunk.js";import{l as m,r as h}from"./BxjzTnvL2.chunk.js";import{t as g}from"./Dfw0sxVt2.chunk.js";import{t as _}from"./C1loT8MD2.chunk.js";import{n as v}from"./ChnNWPOK2.chunk.js";import{t as y}from"./BnuuRu_J2.chunk.js";import{t as b}from"./CC5Dr9aG.chunk.js";import{t as x}from"./BYaCUOEW2.chunk.js";import{t as S}from"./DNuJUXpr2.chunk.js";import{v as C}from"./VJQU9c4G2.chunk.js";import{t as w}from"./B6GfukUn2.chunk.js";t();var T=n();function E(t){let{hasProduct:n}=g(),{commonVideoProps:E,hasCommonVideoPropsCompleted:D}=y({locationContext:i.VideoThumbnail}),{hasPermissions:O}=p(),{hasTopicDirectories:k,hasPlayPageTranscript:A}=a(null),j=C(),M=r(l.currentUser()),N=r(o.sharedClip(t.objectId,t.shareId)),P=_({objectId:N.data?.id,objectTypeId:N.data?.typeId}),F=r(!!N.data?._parentVideo&&c.video(N.data._parentVideo.id)),I=r(!!N.data?._parentVideo?.id&&P.canViewClips&&o.videoClips(N.data._parentVideo.id)),L=r(P.canViewInteractives&&s.videoInteractives(t.objectId)),R=h({video:F.data,context:t.queryParams.context,contextId:t.queryParams.contextId,moviesAndTv:t.queryParams.mtv,currentUser:M.data}),z=x(),B=m(t.objectId);d(u.getClipMetadata({content:N.data})),S(R.videos??[]),f(N),v({id:t.objectId,app:`clips`,shareId:t.shareId});let V=b({name:N.data?.name});return N.data&&M.hasCompleted&&B.hasCompleted&&D?(0,T.jsx)(w,{shareId:t.shareId,clip:N.data,clips:I.data?.data,interactives:L.data?.data,currentUser:M.data,relatedVideos:R,hasProduct:n,queryParams:t.queryParams,audiences:z.data,canManageVideoAccess:O(e.ManageVideoAccess),pointsOfInterest:B?.items,featureAccess:P,tableOfContentsId:t.queryParams?.tocId,shouldShowSideTableOfContents:j,breadcrumbs:V,commonVideoProps:E,hasTopicDirectories:k,hasTheatreMode:A}):(0,T.jsx)(T.Fragment,{})}export{E as PlaySharedClipView};
2
+ //# sourceMappingURL=2p_6pVn6.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BiUOH1CR.chunk.js","names":[],"sources":["../../src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Clip, ClipCollection, CurrentUser, InteractiveCollection, Video } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/hooks/useShouldShowTableOfContents';\nimport { PlayClip } from 'shared/views/play-clip/components/play-clip/PlayClip';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n\n const {\n commonVideoProps,\n hasCommonVideoPropsCompleted\n } = useCommonVideoProps({ locationContext: LocationContext.VideoThumbnail });\n const { hasPermissions } = usePermissions();\n const { hasTopicDirectories, hasPlayPageTranscript } = useSettings(null);\n\n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n\n const featureAccess = useVideoFeatureAccess({\n objectId: clip.data?.id,\n objectTypeId: clip.data?.typeId\n });\n \n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const childClips = Flight.useBasicFetch<ClipCollection>(\n !!clip.data?._parentVideo?.id && featureAccess.canViewClips && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n const interactives = Flight.useBasicFetch<InteractiveCollection>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n \n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const audiences = usePresentationAudiences();\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const breadcrumbs = useBreadcrumbs({ name: clip.data?.name });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n pointsOfInterest.hasCompleted &&\n hasCommonVideoPropsCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n clips={childClips.data?.data}\n interactives={interactives.data?.data}\n currentUser={currentUser.data}\n relatedVideos={relatedVideos}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n breadcrumbs={breadcrumbs}\n commonVideoProps={commonVideoProps}\n hasTopicDirectories={hasTopicDirectories}\n hasTheatreMode={hasPlayPageTranscript}\n />\n );\n}\n"],"mappings":"q9BAgCA,SAAgB,EAAmB,EAA+C,CAChF,GAAM,CAAE,cAAe,EAAY,EAE7B,CACJ,mBACA,gCACE,EAAoB,CAAE,gBAAiB,EAAgB,cAAe,CAAC,EACrE,CAAE,kBAAmB,EAAe,EACpC,CAAE,sBAAqB,yBAA0B,EAAY,IAAI,EAEjE,EAAgC,EAAiC,EAEjE,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAO,EAA2B,EAAa,WAAW,EAAM,SAAU,EAAM,OAAO,CAAC,EAExF,EAAgB,EAAsB,CAC1C,SAAU,EAAK,MAAM,GACrB,aAAc,EAAK,MAAM,MAC3B,CAAC,EAEK,EAAQ,EAA4B,CAAC,CAAC,EAAK,MAAM,cACrD,EAAc,MAAM,EAAK,KAAK,aAAa,EAAE,CAAC,EAC1C,EAAa,EACjB,CAAC,CAAC,EAAK,MAAM,cAAc,IAAM,EAAc,cAAgB,EAAa,WAAW,EAAK,KAAK,aAAa,EAAE,CAClH,EACM,EAAe,EACnB,EAAc,qBAAuB,EAAoB,kBAAkB,EAAM,QAAQ,CAC3F,EAEM,EAAgB,EAAoB,CACxC,MAAO,EAAM,KACb,QAAS,EAAM,YAAY,QAC3B,UAAW,EAAM,YAAY,UAC7B,YAAa,EAAM,YAAY,IAC/B,YAAa,EAAY,IAC3B,CAAC,EACK,EAAY,EAAyB,EACrC,EAAmB,EAAyB,EAAM,QAAQ,EAEhE,EAAmB,EAAmB,gBAAgB,CAAE,QAAS,EAAK,IAAK,CAAC,CAAC,EAE7E,EAAc,EAAc,QAAU,CAAC,CAAC,EACxC,EAAsB,CAAI,EAC1B,EAAa,CAAE,GAAI,EAAM,SAAU,IAAK,QAAS,QAAS,EAAM,OAAQ,CAAC,EAEzE,IAAM,EAAc,EAAe,CAAE,KAAM,EAAK,MAAM,IAAK,CAAC,EAY5D,OATE,EAAK,MACL,EAAY,cACZ,EAAiB,cACjB,GAOA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EAAM,QACf,KAAM,EAAK,KACX,MAAO,EAAW,MAAM,KACxB,aAAc,EAAa,MAAM,KACjC,YAAa,EAAY,KACV,gBACH,aACZ,YAAa,EAAM,YACnB,UAAW,EAAU,KACrB,qBAAsB,EAAe,EAAe,iBAAiB,EACrE,iBAAkB,GAAkB,MACrB,gBACf,kBAAmB,EAAM,aAAa,MACP,gCAClB,cACK,mBACG,sBACrB,eAAgB,CACjB,CAAA,GAtBM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAwBf"}
1
+ {"version":3,"file":"2p_6pVn6.chunk.js","names":[],"sources":["../../src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Clip, ClipCollection, CurrentUser, InteractiveCollection, Video } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/hooks/useShouldShowTableOfContents';\nimport { PlayClip } from 'shared/views/play-clip/components/play-clip/PlayClip';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n\n const {\n commonVideoProps,\n hasCommonVideoPropsCompleted\n } = useCommonVideoProps({ locationContext: LocationContext.VideoThumbnail });\n const { hasPermissions } = usePermissions();\n const { hasTopicDirectories, hasPlayPageTranscript } = useSettings(null);\n\n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n\n const featureAccess = useVideoFeatureAccess({\n objectId: clip.data?.id,\n objectTypeId: clip.data?.typeId\n });\n \n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const childClips = Flight.useBasicFetch<ClipCollection>(\n !!clip.data?._parentVideo?.id && featureAccess.canViewClips && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n const interactives = Flight.useBasicFetch<InteractiveCollection>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n \n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const audiences = usePresentationAudiences();\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const breadcrumbs = useBreadcrumbs({ name: clip.data?.name });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n pointsOfInterest.hasCompleted &&\n hasCommonVideoPropsCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n clips={childClips.data?.data}\n interactives={interactives.data?.data}\n currentUser={currentUser.data}\n relatedVideos={relatedVideos}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n breadcrumbs={breadcrumbs}\n commonVideoProps={commonVideoProps}\n hasTopicDirectories={hasTopicDirectories}\n hasTheatreMode={hasPlayPageTranscript}\n />\n );\n}\n"],"mappings":"q9BAgCA,SAAgB,EAAmB,EAA+C,CAChF,GAAM,CAAE,cAAe,EAAY,EAE7B,CACJ,mBACA,gCACE,EAAoB,CAAE,gBAAiB,EAAgB,cAAe,CAAC,EACrE,CAAE,kBAAmB,EAAe,EACpC,CAAE,sBAAqB,yBAA0B,EAAY,IAAI,EAEjE,EAAgC,EAAiC,EAEjE,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAO,EAA2B,EAAa,WAAW,EAAM,SAAU,EAAM,OAAO,CAAC,EAExF,EAAgB,EAAsB,CAC1C,SAAU,EAAK,MAAM,GACrB,aAAc,EAAK,MAAM,MAC3B,CAAC,EAEK,EAAQ,EAA4B,CAAC,CAAC,EAAK,MAAM,cACrD,EAAc,MAAM,EAAK,KAAK,aAAa,EAAE,CAAC,EAC1C,EAAa,EACjB,CAAC,CAAC,EAAK,MAAM,cAAc,IAAM,EAAc,cAAgB,EAAa,WAAW,EAAK,KAAK,aAAa,EAAE,CAClH,EACM,EAAe,EACnB,EAAc,qBAAuB,EAAoB,kBAAkB,EAAM,QAAQ,CAC3F,EAEM,EAAgB,EAAoB,CACxC,MAAO,EAAM,KACb,QAAS,EAAM,YAAY,QAC3B,UAAW,EAAM,YAAY,UAC7B,YAAa,EAAM,YAAY,IAC/B,YAAa,EAAY,IAC3B,CAAC,EACK,EAAY,EAAyB,EACrC,EAAmB,EAAyB,EAAM,QAAQ,EAEhE,EAAmB,EAAmB,gBAAgB,CAAE,QAAS,EAAK,IAAK,CAAC,CAAC,EAE7E,EAAc,EAAc,QAAU,CAAC,CAAC,EACxC,EAAsB,CAAI,EAC1B,EAAa,CAAE,GAAI,EAAM,SAAU,IAAK,QAAS,QAAS,EAAM,OAAQ,CAAC,EAEzE,IAAM,EAAc,EAAe,CAAE,KAAM,EAAK,MAAM,IAAK,CAAC,EAY5D,OATE,EAAK,MACL,EAAY,cACZ,EAAiB,cACjB,GAOA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EAAM,QACf,KAAM,EAAK,KACX,MAAO,EAAW,MAAM,KACxB,aAAc,EAAa,MAAM,KACjC,YAAa,EAAY,KACV,gBACH,aACZ,YAAa,EAAM,YACnB,UAAW,EAAU,KACrB,qBAAsB,EAAe,EAAe,iBAAiB,EACrE,iBAAkB,GAAkB,MACrB,gBACf,kBAAmB,EAAM,aAAa,MACP,gCAClB,cACK,mBACG,sBACrB,eAAgB,CACjB,CAAA,GAtBM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAwBf"}
@@ -0,0 +1,2 @@
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{t}from"./C2w0pmFW.chunk.js";import{t as n}from"./CgCqPbjJ.chunk.js";import{t as r}from"./dLd5d3X22.chunk.js";import{t as i}from"./DpCWroEe2.chunk.js";var a=e(t());function o(e){let[t,o]=r(n.SIGN_UP_ENTRY_DATA),s=i.getCurrentRoute()?.appLink;function c(){if(t)return t}function l(e){let{app:n,id:r,metadata:i}=e;n===t?.app&&r===t?.id||o({app:n,id:r,metadata:i})}return a.useEffect(()=>{e&&l(e)},[e]),a.useEffect(()=>{o(null)},[`${s?.application}:${s?.action}`]),{entryPage:c()}}export{o as t};
2
+ //# sourceMappingURL=B1hsuVfV2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BwBWuxjr2.chunk.js","names":[],"sources":["../../src/apps/sign-up/hooks/useSignUpEntry.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\ntype SignUpEntryApp = 'topics' | 'clips' | 'interactives' | 'videos' | 'series' | 'playlists' | 'movies-and-tv' | 'studios' | 'channels';\n\ninterface UseSignUpEntryOptions {\n app: SignUpEntryApp;\n id?: string;\n metadata?: {\n /**\n * Applied to the conversion name when braze event is logged\n * Example: Request - Free Trial - {conversionSuffix}\n */\n conversionSuffix?: string\n };\n}\n\nexport function useSignUpEntry(options?: UseSignUpEntryOptions) {\n const [ viewModel, setViewModel ] = useViewModel<UseSignUpEntryOptions>(ViewModelKeys.SIGN_UP_ENTRY_DATA);\n\n const currentRoute = ContextService.getCurrentRoute()?.appLink;\n\n function getSignUpEntry() {\n if (!viewModel)\n return;\n\n return viewModel;\n }\n\n function setSignUpEntry(options: UseSignUpEntryOptions) {\n const { app, id, metadata } = options;\n\n if (app === viewModel?.app && id === viewModel?.id)\n return;\n\n setViewModel({\n app,\n id,\n metadata\n });\n }\n \n React.useEffect(() => {\n if (!options)\n return;\n\n setSignUpEntry(options);\n }, [options]);\n\n React.useEffect(() => {\n setViewModel(null);\n }, [`${currentRoute?.application}:${currentRoute?.action}`]);\n\n return {\n entryPage: getSignUpEntry()\n };\n}\n"],"mappings":"oNAsBA,SAAgB,EAAe,EAAiC,CAC9D,GAAM,CAAE,EAAW,GAAiB,EAAoC,EAAc,kBAAkB,EAElG,EAAe,EAAe,gBAAgB,CAAC,EAAE,QAEvD,SAAS,GAAiB,CACnB,KAGL,OAAO,CACT,CAEA,SAAS,EAAe,EAAgC,CACtD,GAAM,CAAE,MAAK,KAAI,YAAa,EAE1B,IAAQ,GAAW,KAAO,IAAO,GAAW,IAGhD,EAAa,CACX,MACA,KACA,UACF,CAAC,CACH,CAaA,OAXA,EAAM,cAAgB,CACf,GAGL,EAAe,CAAO,CACxB,EAAG,CAAC,CAAO,CAAC,EAEZ,EAAM,cAAgB,CACpB,EAAa,IAAI,CACnB,EAAG,CAAC,GAAG,GAAc,YAAY,GAAG,GAAc,QAAQ,CAAC,EAEpD,CACL,UAAW,EAAe,CAC5B,CACF"}
1
+ {"version":3,"file":"B1hsuVfV2.chunk.js","names":[],"sources":["../../src/apps/sign-up/hooks/useSignUpEntry.tsx"],"sourcesContent":["import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\ntype SignUpEntryApp = 'topics' | 'clips' | 'interactives' | 'videos' | 'series' | 'playlists' | 'movies-and-tv' | 'studios' | 'channels';\n\ninterface UseSignUpEntryOptions {\n app: SignUpEntryApp;\n id?: string;\n metadata?: {\n /**\n * Applied to the conversion name when braze event is logged\n * Example: Request - Free Trial - {conversionSuffix}\n */\n conversionSuffix?: string\n };\n}\n\nexport function useSignUpEntry(options?: UseSignUpEntryOptions) {\n const [ viewModel, setViewModel ] = useViewModel<UseSignUpEntryOptions>(ViewModelKeys.SIGN_UP_ENTRY_DATA);\n\n const currentRoute = ContextService.getCurrentRoute()?.appLink;\n\n function getSignUpEntry() {\n if (!viewModel)\n return;\n\n return viewModel;\n }\n\n function setSignUpEntry(options: UseSignUpEntryOptions) {\n const { app, id, metadata } = options;\n\n if (app === viewModel?.app && id === viewModel?.id)\n return;\n\n setViewModel({\n app,\n id,\n metadata\n });\n }\n \n React.useEffect(() => {\n if (!options)\n return;\n\n setSignUpEntry(options);\n }, [options]);\n\n React.useEffect(() => {\n setViewModel(null);\n }, [`${currentRoute?.application}:${currentRoute?.action}`]);\n\n return {\n entryPage: getSignUpEntry()\n };\n}\n"],"mappings":"kNAsBA,SAAgB,EAAe,EAAiC,CAC9D,GAAM,CAAE,EAAW,GAAiB,EAAoC,EAAc,kBAAkB,EAElG,EAAe,EAAe,gBAAgB,CAAC,EAAE,QAEvD,SAAS,GAAiB,CACnB,KAGL,OAAO,CACT,CAEA,SAAS,EAAe,EAAgC,CACtD,GAAM,CAAE,MAAK,KAAI,YAAa,EAE1B,IAAQ,GAAW,KAAO,IAAO,GAAW,IAGhD,EAAa,CACX,MACA,KACA,UACF,CAAC,CACH,CAaA,OAXA,EAAM,cAAgB,CACf,GAGL,EAAe,CAAO,CACxB,EAAG,CAAC,CAAO,CAAC,EAEZ,EAAM,cAAgB,CACpB,EAAa,IAAI,CACnB,EAAG,CAAC,GAAG,GAAc,YAAY,GAAG,GAAc,QAAQ,CAAC,EAEpD,CACL,UAAW,EAAe,CAC5B,CACF"}
@@ -1,2 +1,2 @@
1
- import{o as e}from"./DAXXjFlN.chunk.js";import{y as t}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n}from"./B785hxeE.chunk.js";import{t as r}from"./e57H3T-k.chunk.js";import{t as i}from"./C2w0pmFW.chunk.js";import{t as a}from"./wrLrTezN.chunk.js";import{t as o}from"./BXTI9cmX.chunk.js";import{l as ee,y as te,z as ne}from"./NlCAcBdo.chunk.js";import{t as re}from"./CVHQXNzi2.chunk.js";import{t as s}from"./BrbeV-Gn2.chunk.js";import{t as c}from"./eoAypzU3.chunk.js";import{t as ie}from"./CgCqPbjJ.chunk.js";import{t as l}from"./7-GJWRH82.chunk.js";import{t as ae}from"./dLd5d3X22.chunk.js";import{t as oe}from"./QCFxJYkI2.chunk.js";import{t as se}from"./B2INd6bh.chunk.js";import{t as u}from"./B3gsVN-_.chunk.js";import{a as d,o as f}from"./BxjzTnvL2.chunk.js";import{n as p}from"./CpFtf-tI2.chunk.js";import{t as m}from"./DBkEQkKm2.chunk.js";import{t as h}from"./CzuHD4Ht.chunk.js";import{n as ce}from"./xa4cS6Fq.chunk.js";import{t as le}from"./WvK58Ge12.chunk.js";import{t as ue}from"./CvHvrB-t.chunk.js";import{l as de}from"./BOJK8LI1.chunk.js";import{t as fe}from"./DzgAvoez.chunk.js";import{o as g,r as _}from"./CpgHBpMp.chunk.js";import{n as v,t as y}from"./CvtZ8ZFA2.chunk.js";import{t as b}from"./BPavmm8c.chunk.js";import{a as pe,i as me,n as he,t as ge}from"./DFlO2qoz2.chunk.js";import{_ as x,a as _e,d as ve,f as S,g as ye,h as be,i as xe,l as C,m as w,n as T,o as E,p as D,r as O,s as k,t as A,u as j}from"./C8tDgg1l2.chunk.js";import{n as M,t as Se}from"./B3p3SaM12.chunk.js";import{n as Ce,r as we}from"./BgOLbASl2.chunk.js";var N=e(i()),P=a(),F=`shared.playClip`;function Te(e){let{hasPermissions:t}=u(),n=v({location:y.VideoItem,presentationSlug:null});return(0,P.jsxs)(`section`,{className:`play-page-section`,id:b.ClippedFrom,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(b.ClippedFrom,t)},children:[(0,P.jsx)(`h2`,{className:`h4 mb-0`,children:(0,P.jsx)(p,{namespace:F,phrase:`clippedFrom`})}),(0,P.jsx)(g.Provider,{value:n,children:(0,P.jsx)(_,{videos:[e.originalVideo],getVideoAppLink:(t,n)=>m.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),hasPermissions:t,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:e=>h.getPreviewQuestionsAppLink(e),commonVideoProps:e.commonVideoProps})})]})}var I={main:`_main_1ujkn_1`,expandedToc:`_expandedToc_1ujkn_1`,theatreMode:`_theatreMode_1ujkn_4`,theatreModeContent:`_theatreModeContent_1ujkn_7`,theatreModePlayPageContainer:`_theatreModePlayPageContainer_1ujkn_17`,theatreModeLeftContent:`_theatreModeLeftContent_1ujkn_21`},Ee=(e,t,n)=>r=>n?{application:o.VIDEOS,action:c.Videos.PREVIEW_PDF,args:[r.id],params:{videoId:e,shareId:t}}:{application:o.SIGN_UP,action:c.SignUp.SIGN_UP};function L(e){let i=ce(),{hasPermissions:a}=u(),{canConsume:p}=s.getCanBeConsumed(e.clip),h=E(e.hasTheatreMode,i),g=T(e.hasTheatreMode,i.mode,i.defaultDisplayMode);function _(e){i.playerRef?.current?.toggleTheatreMode?.(e)}let{tableOfContentsActiveId:v,setTableOfContentsActiveId:y,controlledId:F,setControlledId:L,tableOfContentsExpanded:R,onToggleTableOfContents:z}=xe(e.tableOfContentsId,e.hasTheatreMode,h),B=ye(e.clip)&&e.featureAccess.canViewGlance,{headingRef:V,headingElements:H}=O(B),U=H.map(t=>({id:t.id,name:A.getSectionHeading(t.id,{clips:e.clips,interactives:e.interactives,resources:e.clip.resources?.data,isPlayClipPage:!0})}));we({setActiveId:y,headingElements:H,controlledId:F,setControlledId:L}),Ce(H,F);let De=s.isVideoTypeArchived(e.clip),W=a(n.StudentExperience),G=N.useRef(!1),K=Ee(e.clip.id,e.shareId,e.featureAccess.canViewResourceItems);C({resourcePopupId:e.queryParams?.resourceId,resources:e.clip.resources?.data,getResourceAppLink:K});function q(){G.current=!i?.playerRef?.current?.isPaused(),i?.playerRef?.current?.pause()}function J(){G.current&&i?.playerRef?.current?.play()}function Y(){return!(!e.clip._parentVideo||!e.clip._canBeConsumed?.value||!e.currentUser?.isAuthenticated||!e.hasProduct(oe.Primary)||W)}function Oe(){return Y()?{application:o.VIDEOS,action:c.Videos.PLAY_VIDEO,args:[null,e.clip._parentVideo.id,r.slugify(e.clip._parentVideo.name)]}:null}let ke=i.mode===`picture-in-picture`||e.featureAccess.canViewPublicLayout,Ae=e.clips?.filter(t=>t.id.toString()!==e.clip.id.toString())??[],X={hasTheatreMode:e.hasTheatreMode,shouldShowSideTableOfContents:e.shouldShowSideTableOfContents,tableOfContentsExpanded:R,theatreMode:h},je=k(X),Me=_e(X),[,Z]=ae(ie.PLAY_PAGE_CONTAINER_CLASS_NAME),Q=M(e.clip,a(n.StudentExperience)),$=Q.filter(le.isResource);function Ne(){if($.length===1){ue.downloadResource($[0],{clipId:e.clip.id,clipName:e.clip.name},{location:te.PlayClip,actionType:ne.Download,entity:ee.Resource});return}t.trigger({application:o.VIDEOS,action:c.Videos.RESOURCE_DOWNLOAD,args:[e.clip?.id,e.shareId]})}return N.useEffect(()=>{Z(h?I.theatreModePlayPageContainer:``)},[h]),N.useEffect(()=>()=>Z(``),[]),(0,P.jsxs)(`div`,{className:`px-4 play-page-sections-container ${e.shouldShowSideTableOfContents?`row g-0`:``}`,children:[(0,P.jsxs)(`main`,{className:`${I.main} ${je}`,children:[!!e.breadcrumbs?.length&&(0,P.jsx)(`div`,{className:`mb-2`,children:(0,P.jsx)(fe,{breadcrumbs:e.breadcrumbs})}),(0,P.jsx)(ge,{restrictions:e.clip._restrictions,yearGroups:e.commonVideoProps.yearGroups,objectId:e.clip.id,objectTypeId:re.Clip,canManageVideoAccess:e.canManageVideoAccess}),De&&(0,P.jsx)(pe,{typeId:e.clip.typeId,hasStudentExperience:W}),(0,P.jsxs)(`section`,{id:b.Video,className:`mb-2 ${se.GLOBAL_PLAYER_SELECTOR}`,ref:e=>{e&&V?.current&&V.current.set(b.Video,e)},children:[p&&(0,P.jsx)(de,{objectId:e.clip.id,objectTypeId:e.clip.typeId,shareId:e.shareId,context:e.queryParams?.context,contextId:e.queryParams?.contextId,moviesAndTv:e.queryParams?.mtv,playNext:e.queryParams?.playNext,startTime:e.queryParams?.t??e.queryParams?.startTime,mode:`default`,location:`play-page`},e.clip.id),(0,P.jsx)(`div`,{className:ke?``:`d-none`,children:(0,P.jsx)(j,{video:e.clip,type:`pip`})})]}),(0,P.jsxs)(`div`,{className:Me,children:[(0,P.jsxs)(`div`,{className:g?`${I.theatreModeLeftContent}`:`w-100`,children:[(0,P.jsx)(ve,{presentationSlug:null,media:e.clip,yearGroups:e.commonVideoProps.yearGroups,audiences:e.audiences,originalVideoAppLink:Oe(),featureAccess:e.featureAccess,shareId:e.shareId,showTitlePadlock:!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience}),B?(0,P.jsx)(be,{video:e.clip,pointsOfInterest:e.pointsOfInterest,setStartTime:e=>i.playerRef.current?.currentTime(e),getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),suppressInteractivity:e.featureAccess.canViewPublicLayout,canViewGlance:B}):(0,P.jsx)(x,{video:e.clip,currentUser:e.currentUser,onLaunchImmersiveReader:q,onExitImmersiveReader:J,getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),headingRef:V,suppressInteractivity:e.featureAccess.canViewPublicLayout,getLibraryAppLink:f,getFolderAppLink:d}),(0,P.jsx)(Se,{video:e.clip,canViewResources:e.featureAccess.canViewResourceItems,imageCdnUrl:e.commonVideoProps.imageCdnUrl,getAppLink:K,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},resourceThumbnailFallbackUrl:l.Fallbacks.RESOURCE_THUMBNAIL,headingRef:V,onDownloadClick:Ne,resources:Q,downloadableResources:$,aboutResourcesAppLink:m.getAboutResourceAppLink()}),(0,P.jsx)(D,{presentationSlug:null,video:e.clip,interactives:e.interactives,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},canViewInteractives:e.featureAccess.canViewInteractives,headingRef:V,commonVideoProps:e.commonVideoProps}),(0,P.jsx)(w,{presentationSlug:null,clips:Ae||[],video:e.clip,canViewClips:e.featureAccess.canViewClips,audiences:e.audiences,headingRef:V,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},commonVideoProps:e.commonVideoProps}),B&&(0,P.jsx)(x,{video:e.clip,currentUser:e.currentUser,onLaunchImmersiveReader:q,onExitImmersiveReader:J,getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),headingRef:V,suppressInteractivity:e.featureAccess.canViewPublicLayout,showHeading:!0,getLibraryAppLink:a(n.ViewLibraries)?f:null,getFolderAppLink:a(n.ViewLibraries)?d:null}),!!Y()&&(0,P.jsx)(Te,{originalVideo:e.clip._parentVideo,shareId:e.shareId,queryParams:e.queryParams,audiences:e.audiences,headingRef:V,currentUser:e.currentUser,commonVideoProps:e.commonVideoProps}),!s.isUgc(e.clip._parentVideo)&&(0,P.jsx)(he,{headingRef:V,media:e.clip,parentVideo:e.clip._parentVideo,contentRegion:e.currentUser.contentRegion,shareId:e.shareId,presentationSlug:null}),(0,P.jsx)(me,{presentationSlug:null,currentVideo:e.clip,relatedVideos:e.relatedVideos,currentUser:e.currentUser,audiences:e.audiences,getVideoAppLink:(t,n)=>m.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),moviesAndTv:e.queryParams.mtv,commonVideoProps:e.commonVideoProps})]}),h&&(0,P.jsx)(S,{isExpanded:R,setIsExpanded:z,toggleTheatreMode:null,items:U,activeId:v,setControlledId:L,analyticsData:{videoId:e.clip.id,videoName:e.clip.name},showInSide:e.shouldShowSideTableOfContents,isTheatreMode:!0,hasTranscription:e.hasTheatreMode,shouldShow:U.length>=3})]})]}),!h&&(0,P.jsx)(S,{isExpanded:R,setIsExpanded:z,toggleTheatreMode:e.hasTheatreMode?_:null,items:U,activeId:v,setControlledId:L,analyticsData:{videoId:e.clip.id,videoName:e.clip.name},showInSide:e.shouldShowSideTableOfContents,isTheatreMode:!1,hasTranscription:e.hasTheatreMode,shouldShow:U.length>=3})]})}export{L as t};
2
- //# sourceMappingURL=Df6x5Ekm2.chunk.js.map
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{y as t}from"./BftnFbcr.chunk.js";import"./DFZS3Ffo.chunk.js";import{n}from"./B785hxeE.chunk.js";import{t as r}from"./e57H3T-k.chunk.js";import{t as i}from"./C2w0pmFW.chunk.js";import{t as a}from"./wrLrTezN.chunk.js";import{t as o}from"./BXTI9cmX.chunk.js";import{l as ee,y as te,z as ne}from"./NlCAcBdo.chunk.js";import{t as re}from"./CVHQXNzi2.chunk.js";import{t as s}from"./BrbeV-Gn2.chunk.js";import{t as c}from"./eoAypzU3.chunk.js";import{t as ie}from"./CgCqPbjJ.chunk.js";import{t as l}from"./7-GJWRH82.chunk.js";import{t as ae}from"./dLd5d3X22.chunk.js";import{t as oe}from"./QCFxJYkI2.chunk.js";import{t as se}from"./B2INd6bh.chunk.js";import{t as u}from"./B3gsVN-_.chunk.js";import{a as d,o as f}from"./BxjzTnvL2.chunk.js";import{n as p}from"./CpFtf-tI2.chunk.js";import{t as m}from"./DBkEQkKm2.chunk.js";import{t as h}from"./CzuHD4Ht.chunk.js";import{n as ce}from"./xa4cS6Fq.chunk.js";import{t as le}from"./WvK58Ge12.chunk.js";import{t as ue}from"./CvHvrB-t.chunk.js";import{l as de}from"./BOJK8LI1.chunk.js";import{t as fe}from"./DzgAvoez.chunk.js";import{o as g,r as _}from"./CpgHBpMp.chunk.js";import{n as v,t as y}from"./CvtZ8ZFA2.chunk.js";import{t as b}from"./BPavmm8c.chunk.js";import{a as pe,i as me,n as he,t as ge}from"./Bf9r1ZoF2.chunk.js";import{_ as x,a as _e,d as ve,f as S,g as ye,h as be,i as xe,l as C,m as w,n as T,o as E,p as D,r as O,s as k,t as A,u as j}from"./VJQU9c4G2.chunk.js";import{n as M,t as Se}from"./B3p3SaM12.chunk.js";import{n as Ce,r as we}from"./BgOLbASl2.chunk.js";var N=e(i()),P=a(),F=`shared.playClip`;function Te(e){let{hasPermissions:t}=u(),n=v({location:y.VideoItem,presentationSlug:null});return(0,P.jsxs)(`section`,{className:`play-page-section`,id:b.ClippedFrom,ref:t=>{t&&e.headingRef?.current&&e.headingRef.current.set(b.ClippedFrom,t)},children:[(0,P.jsx)(`h2`,{className:`h4 mb-0`,children:(0,P.jsx)(p,{namespace:F,phrase:`clippedFrom`})}),(0,P.jsx)(g.Provider,{value:n,children:(0,P.jsx)(_,{videos:[e.originalVideo],getVideoAppLink:(t,n)=>m.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),hasPermissions:t,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:e=>h.getPreviewQuestionsAppLink(e),commonVideoProps:e.commonVideoProps})})]})}var I={main:`_main_1ujkn_1`,expandedToc:`_expandedToc_1ujkn_1`,theatreMode:`_theatreMode_1ujkn_4`,theatreModeContent:`_theatreModeContent_1ujkn_7`,theatreModePlayPageContainer:`_theatreModePlayPageContainer_1ujkn_17`,theatreModeLeftContent:`_theatreModeLeftContent_1ujkn_21`},Ee=(e,t,n)=>r=>n?{application:o.VIDEOS,action:c.Videos.PREVIEW_PDF,args:[r.id],params:{videoId:e,shareId:t}}:{application:o.SIGN_UP,action:c.SignUp.SIGN_UP};function L(e){let i=ce(),{hasPermissions:a}=u(),{canConsume:p}=s.getCanBeConsumed(e.clip),h=E(e.hasTheatreMode,i),g=T(e.hasTheatreMode,i.mode,i.defaultDisplayMode);function _(e){i.playerRef?.current?.toggleTheatreMode?.(e)}let{tableOfContentsActiveId:v,setTableOfContentsActiveId:y,controlledId:F,setControlledId:L,tableOfContentsExpanded:R,onToggleTableOfContents:z}=xe(e.tableOfContentsId,e.hasTheatreMode,h),B=ye(e.clip)&&e.featureAccess.canViewGlance,{headingRef:V,headingElements:H}=O(B),U=H.map(t=>({id:t.id,name:A.getSectionHeading(t.id,{clips:e.clips,interactives:e.interactives,resources:e.clip.resources?.data,isPlayClipPage:!0})}));we({setActiveId:y,headingElements:H,controlledId:F,setControlledId:L}),Ce(H,F);let De=s.isVideoTypeArchived(e.clip),W=a(n.StudentExperience),G=N.useRef(!1),K=Ee(e.clip.id,e.shareId,e.featureAccess.canViewResourceItems);C({resourcePopupId:e.queryParams?.resourceId,resources:e.clip.resources?.data,getResourceAppLink:K});function q(){G.current=!i?.playerRef?.current?.isPaused(),i?.playerRef?.current?.pause()}function J(){G.current&&i?.playerRef?.current?.play()}function Y(){return!(!e.clip._parentVideo||!e.clip._canBeConsumed?.value||!e.currentUser?.isAuthenticated||!e.hasProduct(oe.Primary)||W)}function Oe(){return Y()?{application:o.VIDEOS,action:c.Videos.PLAY_VIDEO,args:[null,e.clip._parentVideo.id,r.slugify(e.clip._parentVideo.name)]}:null}let ke=i.mode===`picture-in-picture`||e.featureAccess.canViewPublicLayout,Ae=e.clips?.filter(t=>t.id.toString()!==e.clip.id.toString())??[],X={hasTheatreMode:e.hasTheatreMode,shouldShowSideTableOfContents:e.shouldShowSideTableOfContents,tableOfContentsExpanded:R,theatreMode:h},je=k(X),Me=_e(X),[,Z]=ae(ie.PLAY_PAGE_CONTAINER_CLASS_NAME),Q=M(e.clip,a(n.StudentExperience)),$=Q.filter(le.isResource);function Ne(){if($.length===1){ue.downloadResource($[0],{clipId:e.clip.id,clipName:e.clip.name},{location:te.PlayClip,actionType:ne.Download,entity:ee.Resource});return}t.trigger({application:o.VIDEOS,action:c.Videos.RESOURCE_DOWNLOAD,args:[e.clip?.id,e.shareId]})}return N.useEffect(()=>{Z(h?I.theatreModePlayPageContainer:``)},[h]),N.useEffect(()=>()=>Z(``),[]),(0,P.jsxs)(`div`,{className:`px-4 play-page-sections-container ${e.shouldShowSideTableOfContents?`row g-0`:``}`,children:[(0,P.jsxs)(`main`,{className:`${I.main} ${je}`,children:[!!e.breadcrumbs?.length&&(0,P.jsx)(`div`,{className:`mb-2`,children:(0,P.jsx)(fe,{breadcrumbs:e.breadcrumbs})}),(0,P.jsx)(ge,{restrictions:e.clip._restrictions,yearGroups:e.commonVideoProps.yearGroups,objectId:e.clip.id,objectTypeId:re.Clip,canManageVideoAccess:e.canManageVideoAccess}),De&&(0,P.jsx)(pe,{typeId:e.clip.typeId,hasStudentExperience:W}),(0,P.jsxs)(`section`,{id:b.Video,className:`mb-2 ${se.GLOBAL_PLAYER_SELECTOR}`,ref:e=>{e&&V?.current&&V.current.set(b.Video,e)},children:[p&&(0,P.jsx)(de,{objectId:e.clip.id,objectTypeId:e.clip.typeId,shareId:e.shareId,context:e.queryParams?.context,contextId:e.queryParams?.contextId,moviesAndTv:e.queryParams?.mtv,playNext:e.queryParams?.playNext,startTime:e.queryParams?.t??e.queryParams?.startTime,mode:`default`,location:`play-page`},e.clip.id),(0,P.jsx)(`div`,{className:ke?``:`d-none`,children:(0,P.jsx)(j,{video:e.clip,type:`pip`})})]}),(0,P.jsxs)(`div`,{className:Me,children:[(0,P.jsxs)(`div`,{className:g?`${I.theatreModeLeftContent}`:`w-100`,children:[(0,P.jsx)(ve,{presentationSlug:null,media:e.clip,yearGroups:e.commonVideoProps.yearGroups,audiences:e.audiences,originalVideoAppLink:Oe(),featureAccess:e.featureAccess,shareId:e.shareId,showTitlePadlock:!e.commonVideoProps.hasStudentExperience&&!e.commonVideoProps.hasGuestExperience}),B?(0,P.jsx)(be,{video:e.clip,pointsOfInterest:e.pointsOfInterest,setStartTime:e=>i.playerRef.current?.currentTime(e),getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),suppressInteractivity:e.featureAccess.canViewPublicLayout,canViewGlance:B}):(0,P.jsx)(x,{video:e.clip,currentUser:e.currentUser,onLaunchImmersiveReader:q,onExitImmersiveReader:J,getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),headingRef:V,suppressInteractivity:e.featureAccess.canViewPublicLayout,getLibraryAppLink:f,getFolderAppLink:d}),(0,P.jsx)(Se,{video:e.clip,canViewResources:e.featureAccess.canViewResourceItems,imageCdnUrl:e.commonVideoProps.imageCdnUrl,getAppLink:K,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},resourceThumbnailFallbackUrl:l.Fallbacks.RESOURCE_THUMBNAIL,headingRef:V,onDownloadClick:Ne,resources:Q,downloadableResources:$,aboutResourcesAppLink:m.getAboutResourceAppLink()}),(0,P.jsx)(D,{presentationSlug:null,video:e.clip,interactives:e.interactives,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},canViewInteractives:e.featureAccess.canViewInteractives,headingRef:V,commonVideoProps:e.commonVideoProps}),(0,P.jsx)(w,{presentationSlug:null,clips:Ae||[],video:e.clip,canViewClips:e.featureAccess.canViewClips,audiences:e.audiences,headingRef:V,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},commonVideoProps:e.commonVideoProps}),B&&(0,P.jsx)(x,{video:e.clip,currentUser:e.currentUser,onLaunchImmersiveReader:q,onExitImmersiveReader:J,getTagAppLink:e=>({application:o.SEARCH,action:c.Search.HOME,params:{tagOrClassification:e.name}}),headingRef:V,suppressInteractivity:e.featureAccess.canViewPublicLayout,showHeading:!0,getLibraryAppLink:a(n.ViewLibraries)?f:null,getFolderAppLink:a(n.ViewLibraries)?d:null}),!!Y()&&(0,P.jsx)(Te,{originalVideo:e.clip._parentVideo,shareId:e.shareId,queryParams:e.queryParams,audiences:e.audiences,headingRef:V,currentUser:e.currentUser,commonVideoProps:e.commonVideoProps}),!s.isUgc(e.clip._parentVideo)&&(0,P.jsx)(he,{headingRef:V,media:e.clip,parentVideo:e.clip._parentVideo,contentRegion:e.currentUser.contentRegion,shareId:e.shareId,presentationSlug:null}),(0,P.jsx)(me,{presentationSlug:null,currentVideo:e.clip,relatedVideos:e.relatedVideos,currentUser:e.currentUser,audiences:e.audiences,getVideoAppLink:(t,n)=>m.getAppLink(t,{...n,context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv,includeContext:e.currentUser?.isAuthenticated},null),moviesAndTv:e.queryParams.mtv,commonVideoProps:e.commonVideoProps})]}),h&&(0,P.jsx)(S,{isExpanded:R,setIsExpanded:z,toggleTheatreMode:null,items:U,activeId:v,setControlledId:L,analyticsData:{videoId:e.clip.id,videoName:e.clip.name},showInSide:e.shouldShowSideTableOfContents,isTheatreMode:!0,hasTranscription:e.hasTheatreMode,shouldShow:U.length>=3})]})]}),!h&&(0,P.jsx)(S,{isExpanded:R,setIsExpanded:z,toggleTheatreMode:e.hasTheatreMode?_:null,items:U,activeId:v,setControlledId:L,analyticsData:{videoId:e.clip.id,videoName:e.clip.name},showInSide:e.shouldShowSideTableOfContents,isTheatreMode:!1,hasTranscription:e.hasTheatreMode,shouldShow:U.length>=3})]})}export{L as t};
2
+ //# sourceMappingURL=B6GfukUn2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Df6x5Ekm2.chunk.js","names":[],"sources":["../../src/shared/views/play-clip/components/clipped-from/ClippedFrom.tsx","../../src/shared/views/play-clip/components/play-clip/play-clip.module.scss","../../src/shared/views/play-clip/components/play-clip/PlayClip.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CurrentUser, PresentationAudience, VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\n\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst namespace = 'shared.playClip';\n\ninterface ClippedFromProps {\n originalVideo: VideoTypes;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n shareId?: string;\n headingRef: React.MutableRefObject<Map<PlayPageAnchor, HTMLElement>>;\n currentUser: CurrentUser;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function ClippedFrom(props: ClippedFromProps) {\n const { hasPermissions } = usePermissions();\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, presentationSlug: null });\n\n return (\n <section\n className='play-page-section'\n id={PlayPageAnchor.ClippedFrom}\n ref={el => {\n (el && props.headingRef?.current) && props.headingRef.current.set(PlayPageAnchor.ClippedFrom, el);\n }}\n >\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n commonVideoProps={props.commonVideoProps}\n />\n </VideoActionsContext.Provider>\n </section>\n );\n}\n","@import '~styles/utils/include-media';\n:local {\n .main.expandedToc {\n width: calc(100% - 15rem); //minus sidebar toc width and margin\n }\n\n .main.theatreMode {\n width: 100% !important;\n }\n\n .theatreModeContent {\n display: flex;\n margin: auto !important;\n\n @include media('<=xl') {\n max-width: 100%;\n }\n }\n\n .theatreModePlayPageContainer {\n //override TeacherLayoutComponent container style\n @media (min-width: 1200px) {\n max-width: none !important;\n }\n }\n\n .theatreModeLeftContent {\n width: calc(100% - 15rem);\n @include media('<=lg') {\n width: 100%;\n }\n }\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoDetailsWithScrollbarV2 } from 'libs/shared/components/play-page/details/VideoDetailsV2';\nimport { hasGlanceData } from 'libs/shared/components/play-page/glance/VideoAtAGlanceUtilsV2';\nimport { VideoAtAGlanceV2 } from 'libs/shared/components/play-page/glance/VideoAtAGlanceV2';\nimport { getResources, PlayPageResources } from 'libs/shared/components/play-page/resources-widget/PlayPageResources';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsActiveHeading } from 'libs/shared/hooks/useTableOfContentsActiveHeading';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { Clip, CurrentUser, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { CitationWidget } from 'shared/components/citations/CitationWidget';\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageClips } from 'shared/components/play-page/components/play-page-clips/PlayPageClips';\nimport { PlayPageInteractives } from 'shared/components/play-page/components/play-page-interactives/PlayPageInteractives';\nimport { TableOfContentsContainer, TOC_IGNORE_BOUNDARY } from 'shared/components/play-page/components/table-of-contents/TableOfContents';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\nimport { getFolderAppLink, getLibraryAppLink } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { useResourcePopup } from 'shared/views/play/components/play-page/hooks/useResourcePopup';\nimport { getContentClassName, getIsTheatreMode, getMainClassName } from 'shared/views/play/components/play-page/PlayPageUtils';\nimport { usePlayPageTableOfContent } from 'shared/views/play/hooks/usePlayPageTableOfContent';\nimport { useSectionHeadings } from 'shared/views/play/hooks/useSectionHeadings';\nimport { useTheatreModeStyle } from 'shared/views/play/hooks/useTheatreStyle';\nimport { PlayPageUtils } from 'shared/views/play/PlayPageUtil';\nimport { ClippedFrom } from 'shared/views/play-clip/components/clipped-from/ClippedFrom';\n\nimport styles from './play-clip.module.scss';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\ninterface PlayClipProps {\n clip: Clip;\n clips: Clip[];\n interactives: InteractiveMetadata[];\n currentUser: CurrentUser;\n relatedVideos: RelatedVideosHash;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n tableOfContentsId: string;\n shouldShowSideTableOfContents: boolean;\n hasTopicDirectories: boolean;\n hasTheatreMode: boolean;\n breadcrumbs?: Breadcrumb[];\n commonVideoProps: CommonVideoProps;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const theatreMode = getIsTheatreMode(props.hasTheatreMode, playerContext);\n const shouldUseTheareModeStyle = useTheatreModeStyle(\n props.hasTheatreMode,\n playerContext.mode,\n playerContext.defaultDisplayMode\n );\n\n function toggleTheatreMode(value: boolean) {\n playerContext.playerRef?.current?.toggleTheatreMode?.(value);\n }\n\n const {\n tableOfContentsActiveId,\n setTableOfContentsActiveId,\n controlledId,\n setControlledId,\n tableOfContentsExpanded,\n onToggleTableOfContents\n } = usePlayPageTableOfContent(props.tableOfContentsId, props.hasTheatreMode, theatreMode);\n\n const hasGlance = hasGlanceData(props.clip) && props.featureAccess.canViewGlance;\n\n const { headingRef, headingElements } = useSectionHeadings(hasGlance);\n const items = headingElements.map(ele => {\n return {\n id: ele.id as PlayPageAnchor,\n name: PlayPageUtils.getSectionHeading(\n ele.id as PlayPageAnchor,\n {\n clips: props.clips,\n interactives: props.interactives,\n resources: props.clip.resources?.data,\n isPlayClipPage: true\n }\n )\n };\n });\n\n useTableOfContentsActiveHeading({\n setActiveId: setTableOfContentsActiveId,\n headingElements,\n controlledId,\n setControlledId\n });\n\n useTableOfContentsScroll(headingElements, controlledId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const clipResourceAppLink = getResourceAppLink(\n props.clip.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n );\n\n useResourcePopup({\n resourcePopupId: props.queryParams?.resourceId,\n resources: props.clip.resources?.data,\n getResourceAppLink: clipResourceAppLink\n });\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function canAccessOriginal(): boolean {\n if (!props.clip._parentVideo || !props.clip._canBeConsumed?.value)\n return false;\n\n if (!props.currentUser?.isAuthenticated)\n return false;\n\n if (!props.hasProduct(ProductId.Primary))\n return false;\n\n if (hasStudentExperience)\n return false;\n\n return true;\n }\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal())\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [\n null,\n props.clip._parentVideo.id,\n TextHelper.slugify(props.clip._parentVideo.name)\n ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n const calcClassNameProps = {\n hasTheatreMode: props.hasTheatreMode,\n shouldShowSideTableOfContents: props.shouldShowSideTableOfContents,\n tableOfContentsExpanded,\n theatreMode\n };\n const mainClassName = getMainClassName(calcClassNameProps);\n const contentClassName = getContentClassName(calcClassNameProps);\n\n const [ , setContainerClassName ] = useViewModel(ViewModelKeys.PLAY_PAGE_CONTAINER_CLASS_NAME);\n\n const resources = getResources(props.clip, hasPermissions(PermissionName.StudentExperience));\n const downloadableResources = resources.filter(MasterTypeHelper.isResource);\n\n function onDownloadClick() {\n if (downloadableResources.length === 1) {\n DownloadHelper.downloadResource(\n downloadableResources[0],\n { clipId: props.clip.id, clipName: props.clip.name },\n { location: LocationContext.PlayClip, actionType: UserAction.Download, entity: EntityType.Resource }\n );\n return;\n }\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.RESOURCE_DOWNLOAD,\n args: [ props.clip?.id, props.shareId ]\n });\n }\n \n React.useEffect(() => {\n if (!theatreMode) {\n setContainerClassName('');\n } else {\n setContainerClassName(styles.theatreModePlayPageContainer);\n }\n }, [theatreMode]);\n\n React.useEffect(() => {\n return () => setContainerClassName('');\n }, []);\n\n return (\n <div className={`px-4 play-page-sections-container ${props.shouldShowSideTableOfContents ? 'row g-0' : ''}`}>\n <main className={`${styles.main} ${mainClassName}`}>\n {!!props.breadcrumbs?.length && (\n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n )}\n\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.commonVideoProps.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section\n id={PlayPageAnchor.Video}\n className={`mb-2 ${SeoConstants.GLOBAL_PLAYER_SELECTOR}`}\n ref={el => { (el && headingRef?.current) && headingRef.current.set(PlayPageAnchor.Video, el); }}\n >\n {canConsume && (\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n )}\n\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <div className={contentClassName}>\n <div className={shouldUseTheareModeStyle ? `${styles.theatreModeLeftContent}` : 'w-100'}>\n <PlayPageTitleAndActions\n presentationSlug={null}\n media={props.clip}\n yearGroups={props.commonVideoProps.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n showTitlePadlock={!props.commonVideoProps.hasStudentExperience\n && !props.commonVideoProps.hasGuestExperience}\n />\n\n {/* if no glance render video details here */}\n {hasGlance ? (\n <VideoAtAGlanceV2\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n canViewGlance={hasGlance}\n />\n ) : (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n currentUser={props.currentUser}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n getLibraryAppLink={getLibraryAppLink}\n getFolderAppLink={getFolderAppLink}\n />\n )}\n\n <PlayPageResources\n video={props.clip}\n canViewResources={props.featureAccess.canViewResourceItems}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n getAppLink={clipResourceAppLink}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n resourceThumbnailFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n headingRef={headingRef}\n onDownloadClick={onDownloadClick}\n resources={resources}\n downloadableResources={downloadableResources}\n aboutResourcesAppLink={VideoAppLinkHelper.getAboutResourceAppLink()}\n />\n\n <PlayPageInteractives\n presentationSlug={null}\n video={props.clip}\n interactives={props.interactives}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n canViewInteractives={props.featureAccess.canViewInteractives}\n headingRef={headingRef}\n commonVideoProps={props.commonVideoProps}\n />\n\n <PlayPageClips\n presentationSlug={null}\n clips={otherClips || []}\n video={props.clip}\n canViewClips={props.featureAccess.canViewClips}\n audiences={props.audiences}\n headingRef={headingRef}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n commonVideoProps={props.commonVideoProps}\n />\n\n {/* if has glance, render video details here */}\n {hasGlance && (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n currentUser={props.currentUser}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n showHeading\n getLibraryAppLink={hasPermissions(PermissionName.ViewLibraries) ? getLibraryAppLink : null}\n getFolderAppLink={hasPermissions(PermissionName.ViewLibraries) ? getFolderAppLink : null}\n />\n )}\n \n {!!canAccessOriginal() && (\n <ClippedFrom\n originalVideo={props.clip._parentVideo}\n shareId={props.shareId}\n queryParams={props.queryParams}\n audiences={props.audiences}\n headingRef={headingRef}\n currentUser={props.currentUser}\n commonVideoProps={props.commonVideoProps}\n />\n )}\n\n {!VideoHelper.isUgc(props.clip._parentVideo) && (\n <CitationWidget\n headingRef={headingRef}\n media={props.clip}\n parentVideo={props.clip._parentVideo}\n contentRegion={props.currentUser.contentRegion}\n shareId={props.shareId}\n presentationSlug={null}\n />\n )}\n\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.clip}\n relatedVideos={props.relatedVideos}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n {theatreMode && (\n <TableOfContentsContainer\n isExpanded={tableOfContentsExpanded}\n setIsExpanded={onToggleTableOfContents}\n toggleTheatreMode={ null}\n items={items}\n activeId={tableOfContentsActiveId}\n setControlledId={setControlledId}\n analyticsData={{ videoId: props.clip.id, videoName: props.clip.name }}\n showInSide={props.shouldShowSideTableOfContents}\n isTheatreMode={true}\n hasTranscription={props.hasTheatreMode}\n shouldShow={items.length >= TOC_IGNORE_BOUNDARY}\n />\n )}\n </div>\n </main>\n\n {!theatreMode && (\n <TableOfContentsContainer\n isExpanded={tableOfContentsExpanded}\n setIsExpanded={onToggleTableOfContents}\n toggleTheatreMode={props.hasTheatreMode ? toggleTheatreMode : null}\n items={items}\n activeId={tableOfContentsActiveId}\n setControlledId={setControlledId}\n analyticsData={{ videoId: props.clip.id, videoName: props.clip.name }}\n showInSide={props.shouldShowSideTableOfContents}\n isTheatreMode={false}\n hasTranscription={props.hasTheatreMode}\n shouldShow={items.length >= TOC_IGNORE_BOUNDARY}\n />\n )}\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"B6GfukUn2.chunk.js","names":[],"sources":["../../src/shared/views/play-clip/components/clipped-from/ClippedFrom.tsx","../../src/shared/views/play-clip/components/play-clip/play-clip.module.scss","../../src/shared/views/play-clip/components/play-clip/PlayClip.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CurrentUser, PresentationAudience, VideoTypes } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\n\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst namespace = 'shared.playClip';\n\ninterface ClippedFromProps {\n originalVideo: VideoTypes;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n shareId?: string;\n headingRef: React.MutableRefObject<Map<PlayPageAnchor, HTMLElement>>;\n currentUser: CurrentUser;\n commonVideoProps: CommonVideoProps;\n}\n\nexport function ClippedFrom(props: ClippedFromProps) {\n const { hasPermissions } = usePermissions();\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, presentationSlug: null });\n\n return (\n <section\n className='play-page-section'\n id={PlayPageAnchor.ClippedFrom}\n ref={el => {\n (el && props.headingRef?.current) && props.headingRef.current.set(PlayPageAnchor.ClippedFrom, el);\n }}\n >\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n commonVideoProps={props.commonVideoProps}\n />\n </VideoActionsContext.Provider>\n </section>\n );\n}\n","@import '~styles/utils/include-media';\n:local {\n .main.expandedToc {\n width: calc(100% - 15rem); //minus sidebar toc width and margin\n }\n\n .main.theatreMode {\n width: 100% !important;\n }\n\n .theatreModeContent {\n display: flex;\n margin: auto !important;\n\n @include media('<=xl') {\n max-width: 100%;\n }\n }\n\n .theatreModePlayPageContainer {\n //override TeacherLayoutComponent container style\n @media (min-width: 1200px) {\n max-width: none !important;\n }\n }\n\n .theatreModeLeftContent {\n width: calc(100% - 15rem);\n @include media('<=lg') {\n width: 100%;\n }\n }\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoDetailsWithScrollbarV2 } from 'libs/shared/components/play-page/details/VideoDetailsV2';\nimport { hasGlanceData } from 'libs/shared/components/play-page/glance/VideoAtAGlanceUtilsV2';\nimport { VideoAtAGlanceV2 } from 'libs/shared/components/play-page/glance/VideoAtAGlanceV2';\nimport { getResources, PlayPageResources } from 'libs/shared/components/play-page/resources-widget/PlayPageResources';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsActiveHeading } from 'libs/shared/hooks/useTableOfContentsActiveHeading';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { Clip, CurrentUser, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { CitationWidget } from 'shared/components/citations/CitationWidget';\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageClips } from 'shared/components/play-page/components/play-page-clips/PlayPageClips';\nimport { PlayPageInteractives } from 'shared/components/play-page/components/play-page-interactives/PlayPageInteractives';\nimport { TableOfContentsContainer, TOC_IGNORE_BOUNDARY } from 'shared/components/play-page/components/table-of-contents/TableOfContents';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\nimport { getFolderAppLink, getLibraryAppLink } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { useResourcePopup } from 'shared/views/play/components/play-page/hooks/useResourcePopup';\nimport { getContentClassName, getIsTheatreMode, getMainClassName } from 'shared/views/play/components/play-page/PlayPageUtils';\nimport { usePlayPageTableOfContent } from 'shared/views/play/hooks/usePlayPageTableOfContent';\nimport { useSectionHeadings } from 'shared/views/play/hooks/useSectionHeadings';\nimport { useTheatreModeStyle } from 'shared/views/play/hooks/useTheatreStyle';\nimport { PlayPageUtils } from 'shared/views/play/PlayPageUtil';\nimport { ClippedFrom } from 'shared/views/play-clip/components/clipped-from/ClippedFrom';\n\nimport styles from './play-clip.module.scss';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\ninterface PlayClipProps {\n clip: Clip;\n clips: Clip[];\n interactives: InteractiveMetadata[];\n currentUser: CurrentUser;\n relatedVideos: RelatedVideosHash;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n tableOfContentsId: string;\n shouldShowSideTableOfContents: boolean;\n hasTopicDirectories: boolean;\n hasTheatreMode: boolean;\n breadcrumbs?: Breadcrumb[];\n commonVideoProps: CommonVideoProps;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const theatreMode = getIsTheatreMode(props.hasTheatreMode, playerContext);\n const shouldUseTheareModeStyle = useTheatreModeStyle(\n props.hasTheatreMode,\n playerContext.mode,\n playerContext.defaultDisplayMode\n );\n\n function toggleTheatreMode(value: boolean) {\n playerContext.playerRef?.current?.toggleTheatreMode?.(value);\n }\n\n const {\n tableOfContentsActiveId,\n setTableOfContentsActiveId,\n controlledId,\n setControlledId,\n tableOfContentsExpanded,\n onToggleTableOfContents\n } = usePlayPageTableOfContent(props.tableOfContentsId, props.hasTheatreMode, theatreMode);\n\n const hasGlance = hasGlanceData(props.clip) && props.featureAccess.canViewGlance;\n\n const { headingRef, headingElements } = useSectionHeadings(hasGlance);\n const items = headingElements.map(ele => {\n return {\n id: ele.id as PlayPageAnchor,\n name: PlayPageUtils.getSectionHeading(\n ele.id as PlayPageAnchor,\n {\n clips: props.clips,\n interactives: props.interactives,\n resources: props.clip.resources?.data,\n isPlayClipPage: true\n }\n )\n };\n });\n\n useTableOfContentsActiveHeading({\n setActiveId: setTableOfContentsActiveId,\n headingElements,\n controlledId,\n setControlledId\n });\n\n useTableOfContentsScroll(headingElements, controlledId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const clipResourceAppLink = getResourceAppLink(\n props.clip.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n );\n\n useResourcePopup({\n resourcePopupId: props.queryParams?.resourceId,\n resources: props.clip.resources?.data,\n getResourceAppLink: clipResourceAppLink\n });\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function canAccessOriginal(): boolean {\n if (!props.clip._parentVideo || !props.clip._canBeConsumed?.value)\n return false;\n\n if (!props.currentUser?.isAuthenticated)\n return false;\n\n if (!props.hasProduct(ProductId.Primary))\n return false;\n\n if (hasStudentExperience)\n return false;\n\n return true;\n }\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal())\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [\n null,\n props.clip._parentVideo.id,\n TextHelper.slugify(props.clip._parentVideo.name)\n ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n const calcClassNameProps = {\n hasTheatreMode: props.hasTheatreMode,\n shouldShowSideTableOfContents: props.shouldShowSideTableOfContents,\n tableOfContentsExpanded,\n theatreMode\n };\n const mainClassName = getMainClassName(calcClassNameProps);\n const contentClassName = getContentClassName(calcClassNameProps);\n\n const [ , setContainerClassName ] = useViewModel(ViewModelKeys.PLAY_PAGE_CONTAINER_CLASS_NAME);\n\n const resources = getResources(props.clip, hasPermissions(PermissionName.StudentExperience));\n const downloadableResources = resources.filter(MasterTypeHelper.isResource);\n\n function onDownloadClick() {\n if (downloadableResources.length === 1) {\n DownloadHelper.downloadResource(\n downloadableResources[0],\n { clipId: props.clip.id, clipName: props.clip.name },\n { location: LocationContext.PlayClip, actionType: UserAction.Download, entity: EntityType.Resource }\n );\n return;\n }\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.RESOURCE_DOWNLOAD,\n args: [ props.clip?.id, props.shareId ]\n });\n }\n \n React.useEffect(() => {\n if (!theatreMode) {\n setContainerClassName('');\n } else {\n setContainerClassName(styles.theatreModePlayPageContainer);\n }\n }, [theatreMode]);\n\n React.useEffect(() => {\n return () => setContainerClassName('');\n }, []);\n\n return (\n <div className={`px-4 play-page-sections-container ${props.shouldShowSideTableOfContents ? 'row g-0' : ''}`}>\n <main className={`${styles.main} ${mainClassName}`}>\n {!!props.breadcrumbs?.length && (\n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n )}\n\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.commonVideoProps.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section\n id={PlayPageAnchor.Video}\n className={`mb-2 ${SeoConstants.GLOBAL_PLAYER_SELECTOR}`}\n ref={el => { (el && headingRef?.current) && headingRef.current.set(PlayPageAnchor.Video, el); }}\n >\n {canConsume && (\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n )}\n\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <div className={contentClassName}>\n <div className={shouldUseTheareModeStyle ? `${styles.theatreModeLeftContent}` : 'w-100'}>\n <PlayPageTitleAndActions\n presentationSlug={null}\n media={props.clip}\n yearGroups={props.commonVideoProps.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n showTitlePadlock={!props.commonVideoProps.hasStudentExperience\n && !props.commonVideoProps.hasGuestExperience}\n />\n\n {/* if no glance render video details here */}\n {hasGlance ? (\n <VideoAtAGlanceV2\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n canViewGlance={hasGlance}\n />\n ) : (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n currentUser={props.currentUser}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n getLibraryAppLink={getLibraryAppLink}\n getFolderAppLink={getFolderAppLink}\n />\n )}\n\n <PlayPageResources\n video={props.clip}\n canViewResources={props.featureAccess.canViewResourceItems}\n imageCdnUrl={props.commonVideoProps.imageCdnUrl}\n getAppLink={clipResourceAppLink}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n resourceThumbnailFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n headingRef={headingRef}\n onDownloadClick={onDownloadClick}\n resources={resources}\n downloadableResources={downloadableResources}\n aboutResourcesAppLink={VideoAppLinkHelper.getAboutResourceAppLink()}\n />\n\n <PlayPageInteractives\n presentationSlug={null}\n video={props.clip}\n interactives={props.interactives}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n canViewInteractives={props.featureAccess.canViewInteractives}\n headingRef={headingRef}\n commonVideoProps={props.commonVideoProps}\n />\n\n <PlayPageClips\n presentationSlug={null}\n clips={otherClips || []}\n video={props.clip}\n canViewClips={props.featureAccess.canViewClips}\n audiences={props.audiences}\n headingRef={headingRef}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n commonVideoProps={props.commonVideoProps}\n />\n\n {/* if has glance, render video details here */}\n {hasGlance && (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n currentUser={props.currentUser}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n showHeading\n getLibraryAppLink={hasPermissions(PermissionName.ViewLibraries) ? getLibraryAppLink : null}\n getFolderAppLink={hasPermissions(PermissionName.ViewLibraries) ? getFolderAppLink : null}\n />\n )}\n \n {!!canAccessOriginal() && (\n <ClippedFrom\n originalVideo={props.clip._parentVideo}\n shareId={props.shareId}\n queryParams={props.queryParams}\n audiences={props.audiences}\n headingRef={headingRef}\n currentUser={props.currentUser}\n commonVideoProps={props.commonVideoProps}\n />\n )}\n\n {!VideoHelper.isUgc(props.clip._parentVideo) && (\n <CitationWidget\n headingRef={headingRef}\n media={props.clip}\n parentVideo={props.clip._parentVideo}\n contentRegion={props.currentUser.contentRegion}\n shareId={props.shareId}\n presentationSlug={null}\n />\n )}\n\n <RelatedVideos\n presentationSlug={null}\n currentVideo={props.clip}\n relatedVideos={props.relatedVideos}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv,\n includeContext: props.currentUser?.isAuthenticated\n }, null)}\n moviesAndTv={props.queryParams.mtv}\n commonVideoProps={props.commonVideoProps}\n />\n </div>\n {theatreMode && (\n <TableOfContentsContainer\n isExpanded={tableOfContentsExpanded}\n setIsExpanded={onToggleTableOfContents}\n toggleTheatreMode={ null}\n items={items}\n activeId={tableOfContentsActiveId}\n setControlledId={setControlledId}\n analyticsData={{ videoId: props.clip.id, videoName: props.clip.name }}\n showInSide={props.shouldShowSideTableOfContents}\n isTheatreMode={true}\n hasTranscription={props.hasTheatreMode}\n shouldShow={items.length >= TOC_IGNORE_BOUNDARY}\n />\n )}\n </div>\n </main>\n\n {!theatreMode && (\n <TableOfContentsContainer\n isExpanded={tableOfContentsExpanded}\n setIsExpanded={onToggleTableOfContents}\n toggleTheatreMode={props.hasTheatreMode ? toggleTheatreMode : null}\n items={items}\n activeId={tableOfContentsActiveId}\n setControlledId={setControlledId}\n analyticsData={{ videoId: props.clip.id, videoName: props.clip.name }}\n showInSide={props.shouldShowSideTableOfContents}\n isTheatreMode={false}\n hasTranscription={props.hasTheatreMode}\n shouldShow={items.length >= TOC_IGNORE_BOUNDARY}\n />\n )}\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import"./jAtAipGN.chunk.js";
@@ -1,2 +1,2 @@
1
- import"./DAXXjFlN.chunk.js";import{t as e}from"./DMnm3Ewv.chunk.js";import{n as t}from"./B785hxeE.chunk.js";import{t as n}from"./C2w0pmFW.chunk.js";import{t as r}from"./wrLrTezN.chunk.js";import{u as i}from"./BX0wDJmp.chunk.js";import{y as a}from"./NlCAcBdo.chunk.js";import{t as o}from"./xwiwWcv12.chunk.js";import{t as s}from"./DbSUQ2A12.chunk.js";import{t as c}from"./BC8PeYqm.chunk.js";import{t as l}from"./CqrjHjAN.chunk.js";import{t as u}from"./D_gWf2lC.chunk.js";import{n as d,t as f}from"./C6-aC3vu.chunk.js";import{n as p,t as m}from"./BGhJ8TEx.chunk.js";import{t as h}from"./7LGxCHGV.chunk.js";import{t as g}from"./Bbv3vbm7.chunk.js";import{t as _}from"./B3gsVN-_.chunk.js";import{r as v}from"./BxjzTnvL2.chunk.js";import{t as y}from"./CgW21-1J.chunk.js";import{n as b}from"./ChnNWPOK2.chunk.js";import{t as x}from"./C9XBZFiR.chunk.js";import{t as S}from"./BnuuRu_J2.chunk.js";import{t as C}from"./CC5Dr9aG.chunk.js";import{t as w}from"./BYaCUOEW2.chunk.js";import{t as T}from"./DNuJUXpr2.chunk.js";import{n as E,r as D,t as O}from"./EKwCaE3J2.chunk.js";n();var k=r(),A={notFound:y,forbidden:{privacy:g}};function j(e){return e?._parentClip||e?._parentVideo}function M(n){let{hasPermissions:r}=_(),g=i(u.config()),y=i(l.token()),M=i(l.currentUser()),N=i(M.data?.isAuthenticated&&o.yearGroups(M.data.customerId)),P=i(c.interactiveMetadata(n.id)),F=D(),I=i(P.statusCode===e.Forbidden&&c.interactiveMetadata(n.id,s.StripMetadata)),L=i(F&&P.data&&c.interactive(P.data.interactiveId)),R=i(F&&P.data&&c.videoInteractives(j(P.data).id)),z=w(),B=i(m.createViewKey(n.id,p.MasterObject)),V=v({video:P.data,context:n.queryParams.context,contextId:n.queryParams.contextId,moviesAndTv:n.queryParams.mtv,currentUser:M.data}),{commonVideoProps:H,hasCommonVideoPropsCompleted:U}=S({locationContext:F?a.PreviewInteractive:a.PlayInteractive,mtv:n.queryParams.mtv});b({id:n.id,app:`interactives`}),x(P,A,{forbidden:!0}),h(I),f(d.getInteractiveMetadata({content:P.data})),T(V.videos??[]);let W=C({name:P.data?.name});return P.data&&g.hasCompleted&&M.hasCompleted&&(!F||L.hasCompleted)&&B.hasCompleted&&y.hasCompleted&&U?F?(0,k.jsx)(O,{currentUser:M.data,queryParams:n.queryParams,interactive:P.data,interactives:R.data?.data,isPreviewPreventScrubbingEnabled:L.data.preventScrubbing,audiences:z.data,relatedVideos:V,canManageVideoAccess:r(t.ManageVideoAccess),breadcrumbs:W,token:y.data,commonVideoProps:H}):(0,k.jsx)(E,{interactive:P.data,currentUser:M.data,config:g.data,yearGroups:N.data,audiences:z.data,queryParams:n.queryParams,viewKey:B.data,relatedVideos:V,startTime:n.queryParams?.t??n.queryParams?.startTime,token:y.data,commonVideoProps:H}):(0,k.jsx)(k.Fragment,{})}export{M as InteractiveView};
2
- //# sourceMappingURL=D_uAdX7E2.chunk.js.map
1
+ import"./DAXXjFlN.chunk.js";import{t as e}from"./DMnm3Ewv.chunk.js";import{n as t}from"./B785hxeE.chunk.js";import{t as n}from"./C2w0pmFW.chunk.js";import{t as r}from"./wrLrTezN.chunk.js";import{u as i}from"./BX0wDJmp.chunk.js";import{y as a}from"./NlCAcBdo.chunk.js";import{t as o}from"./xwiwWcv12.chunk.js";import{t as s}from"./DbSUQ2A12.chunk.js";import{t as c}from"./BC8PeYqm.chunk.js";import{t as l}from"./CqrjHjAN.chunk.js";import{t as u}from"./D_gWf2lC.chunk.js";import{n as d,t as f}from"./C6-aC3vu.chunk.js";import{n as p,t as m}from"./BGhJ8TEx.chunk.js";import{t as h}from"./7LGxCHGV.chunk.js";import{t as g}from"./Bbv3vbm7.chunk.js";import{t as _}from"./B3gsVN-_.chunk.js";import{r as v}from"./BxjzTnvL2.chunk.js";import{t as y}from"./CgW21-1J.chunk.js";import{n as b}from"./ChnNWPOK2.chunk.js";import{t as x}from"./C9XBZFiR.chunk.js";import{t as S}from"./BnuuRu_J2.chunk.js";import{t as C}from"./CC5Dr9aG.chunk.js";import{t as w}from"./BYaCUOEW2.chunk.js";import{t as T}from"./DNuJUXpr2.chunk.js";import{n as E,r as D,t as O}from"./CNPKh2z72.chunk.js";n();var k=r(),A={notFound:y,forbidden:{privacy:g}};function j(e){return e?._parentClip||e?._parentVideo}function M(n){let{hasPermissions:r}=_(),g=i(u.config()),y=i(l.token()),M=i(l.currentUser()),N=i(M.data?.isAuthenticated&&o.yearGroups(M.data.customerId)),P=i(c.interactiveMetadata(n.id)),F=D(),I=i(P.statusCode===e.Forbidden&&c.interactiveMetadata(n.id,s.StripMetadata)),L=i(F&&P.data&&c.interactive(P.data.interactiveId)),R=i(F&&P.data&&c.videoInteractives(j(P.data).id)),z=w(),B=i(m.createViewKey(n.id,p.MasterObject)),V=v({video:P.data,context:n.queryParams.context,contextId:n.queryParams.contextId,moviesAndTv:n.queryParams.mtv,currentUser:M.data}),{commonVideoProps:H,hasCommonVideoPropsCompleted:U}=S({locationContext:F?a.PreviewInteractive:a.PlayInteractive,mtv:n.queryParams.mtv});b({id:n.id,app:`interactives`}),x(P,A,{forbidden:!0}),h(I),f(d.getInteractiveMetadata({content:P.data})),T(V.videos??[]);let W=C({name:P.data?.name});return P.data&&g.hasCompleted&&M.hasCompleted&&(!F||L.hasCompleted)&&B.hasCompleted&&y.hasCompleted&&U?F?(0,k.jsx)(O,{currentUser:M.data,queryParams:n.queryParams,interactive:P.data,interactives:R.data?.data,isPreviewPreventScrubbingEnabled:L.data.preventScrubbing,audiences:z.data,relatedVideos:V,canManageVideoAccess:r(t.ManageVideoAccess),breadcrumbs:W,token:y.data,commonVideoProps:H}):(0,k.jsx)(E,{interactive:P.data,currentUser:M.data,config:g.data,yearGroups:N.data,audiences:z.data,queryParams:n.queryParams,viewKey:B.data,relatedVideos:V,startTime:n.queryParams?.t??n.queryParams?.startTime,token:y.data,commonVideoProps:H}):(0,k.jsx)(k.Fragment,{})}export{M as InteractiveView};
2
+ //# sourceMappingURL=BTm7hIyP2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D_uAdX7E2.chunk.js","names":[],"sources":["../../src/apps/interactives/views/interactive-view/InteractiveView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoNotFoundError } from 'libs/shared/errors/videos/video-not-found/VideoNotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, Interactive, InteractiveCollection, InteractiveMetadata, PlayerViewKey, Video, YearGroup } from 'libs/shared/interfaces';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useShouldPreviewInteractive } from 'shared/hooks/useShouldPreviewInteractive';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\n\nconst videoErrors = {\n notFound: VideoNotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\nfunction getSourceVideo(interactive?: InteractiveMetadata): Clip | Video {\n return interactive?._parentClip || interactive?._parentVideo;\n}\ninterface InteractiveViewProps {\n id: string;\n queryParams: PlayViewQueryParams;\n}\n\nexport function InteractiveView(props: InteractiveViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const token = Flight.useBasicFetch<AuthToken>(UserRequests.token());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const strippedInteractiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n interactiveMetadata.statusCode === HttpStatus.Forbidden &&\n InteractiveRequests.interactiveMetadata(props.id, PermissionFilterOption.StripMetadata)\n );\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\n const interactives = Flight.useBasicFetch<InteractiveCollection>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.videoInteractives(getSourceVideo(interactiveMetadata.data).id)\n );\n \n const audiences = usePresentationAudiences();\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(PlayerRequests.createViewKey(props.id, MediaIdType.MasterObject));\n\n const relatedVideos = useGetRelatedVideos({\n video: interactiveMetadata.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n\n const locationContext = shouldPreviewInteractive ?\n LocationContext.PreviewInteractive :\n LocationContext.PlayInteractive;\n \n const {\n commonVideoProps,\n hasCommonVideoPropsCompleted\n } = useCommonVideoProps({ locationContext, mtv: props.queryParams.mtv });\n\n useDeepLinks({ id: props.id, app: 'interactives' });\n\n useHandleObjectError(interactiveMetadata, videoErrors, { forbidden: true });\n useCannotConsumeError(strippedInteractiveMetadata);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n\n const breadcrumbs = useBreadcrumbs({ name: interactiveMetadata.data?.name });\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n viewKey.hasCompleted &&\n token.hasCompleted &&\n hasCommonVideoPropsCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n if (shouldPreviewInteractive) {\n return (\n <PreviewInteractive\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n interactives={interactives.data?.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n breadcrumbs={breadcrumbs}\n token={token.data}\n commonVideoProps={commonVideoProps}\n />\n );\n }\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n token={token.data}\n commonVideoProps={commonVideoProps}\n />\n );\n}\n"],"mappings":"sjCAqCM,EAAc,CAClB,SAAU,EACV,UAAW,CACT,QAAS,CACX,CACF,EAEA,SAAS,EAAe,EAAiD,CACvE,OAAO,GAAa,aAAe,GAAa,YAClD,CAMA,SAAgB,EAAgB,EAA0C,CACxE,GAAM,CAAE,kBAAmB,EAAe,EAEpC,EAAS,EAA6B,EAAe,OAAO,CAAC,EAC7D,EAAQ,EAAgC,EAAa,MAAM,CAAC,EAC5D,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAa,EACjB,EAAY,MAAM,iBAAmB,EAAiB,WAAW,EAAY,KAAK,UAAU,CAC9F,EAEM,EAAsB,EAC1B,EAAoB,oBAAoB,EAAM,EAAE,CAClD,EACM,EAA2B,EAA4B,EACvD,EAA8B,EAClC,EAAoB,aAAe,EAAW,WAC5C,EAAoB,oBAAoB,EAAM,GAAI,EAAuB,aAAa,CAC1F,EACM,EAAc,EAClB,GAA4B,EAAoB,MAChD,EAAoB,YAAY,EAAoB,KAAK,aAAa,CACxE,EACM,EAAe,EACnB,GAA4B,EAAoB,MAChD,EAAoB,kBAAkB,EAAe,EAAoB,IAAI,CAAC,CAAC,EAAE,CACnF,EAEM,EAAY,EAAyB,EACrC,EAAU,EAAoC,EAAe,cAAc,EAAM,GAAI,EAAY,YAAY,CAAC,EAE9G,EAAgB,EAAoB,CACxC,MAAO,EAAoB,KAC3B,QAAS,EAAM,YAAY,QAC3B,UAAW,EAAM,YAAY,UAC7B,YAAa,EAAM,YAAY,IAC/B,YAAa,EAAY,IAC3B,CAAC,EAMK,CACJ,mBACA,gCACE,EAAoB,CAAE,gBAPF,EACtB,EAAgB,mBAChB,EAAgB,gBAKyB,IAAK,EAAM,YAAY,GAAI,CAAC,EAEvE,EAAa,CAAE,GAAI,EAAM,GAAI,IAAK,cAAe,CAAC,EAElD,EAAqB,EAAqB,EAAa,CAAE,UAAW,EAAK,CAAC,EAC1E,EAAsB,CAA2B,EACjD,EAAmB,EAAmB,uBAAuB,CAAE,QAAS,EAAoB,IAAK,CAAC,CAAC,EAEnG,EAAc,EAAc,QAAU,CAAC,CAAC,EAExC,IAAM,EAAc,EAAe,CAAE,KAAM,EAAoB,MAAM,IAAK,CAAC,EAiC3E,OA9BE,EAAoB,MACpB,EAAO,cACP,EAAY,eACX,CAAC,GAA4B,EAAY,eAC1C,EAAQ,cACR,EAAM,cACN,EAME,GAEA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAa,EAAY,KACzB,YAAa,EAAM,YACnB,YAAa,EAAoB,KACjC,aAAc,EAAa,MAAM,KACjC,iCAAkC,EAAY,KAAK,iBACnD,UAAW,EAAU,KACN,gBACf,qBAAsB,EAAe,EAAe,iBAAiB,EACxD,cACb,MAAO,EAAM,KACK,kBACnB,CAAA,GAKH,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAa,EAAoB,KACjC,YAAa,EAAY,KACzB,OAAQ,EAAO,KACf,WAAY,EAAW,KACvB,UAAW,EAAU,KACrB,YAAa,EAAM,YACnB,QAAS,EAAQ,KACF,gBACf,UAAW,EAAM,aAAa,GAAK,EAAM,aAAa,UACtD,MAAO,EAAM,KACK,kBACnB,CAAA,GAjCM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAmCf"}
1
+ {"version":3,"file":"BTm7hIyP2.chunk.js","names":[],"sources":["../../src/apps/interactives/views/interactive-view/InteractiveView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoNotFoundError } from 'libs/shared/errors/videos/video-not-found/VideoNotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, Interactive, InteractiveCollection, InteractiveMetadata, PlayerViewKey, Video, YearGroup } from 'libs/shared/interfaces';\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { useCommonVideoProps } from 'shared/hooks/useCommonVideoProps';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useShouldPreviewInteractive } from 'shared/hooks/useShouldPreviewInteractive';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\n\nconst videoErrors = {\n notFound: VideoNotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\nfunction getSourceVideo(interactive?: InteractiveMetadata): Clip | Video {\n return interactive?._parentClip || interactive?._parentVideo;\n}\ninterface InteractiveViewProps {\n id: string;\n queryParams: PlayViewQueryParams;\n}\n\nexport function InteractiveView(props: InteractiveViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const token = Flight.useBasicFetch<AuthToken>(UserRequests.token());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const strippedInteractiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n interactiveMetadata.statusCode === HttpStatus.Forbidden &&\n InteractiveRequests.interactiveMetadata(props.id, PermissionFilterOption.StripMetadata)\n );\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\n const interactives = Flight.useBasicFetch<InteractiveCollection>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.videoInteractives(getSourceVideo(interactiveMetadata.data).id)\n );\n \n const audiences = usePresentationAudiences();\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(PlayerRequests.createViewKey(props.id, MediaIdType.MasterObject));\n\n const relatedVideos = useGetRelatedVideos({\n video: interactiveMetadata.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n\n const locationContext = shouldPreviewInteractive ?\n LocationContext.PreviewInteractive :\n LocationContext.PlayInteractive;\n \n const {\n commonVideoProps,\n hasCommonVideoPropsCompleted\n } = useCommonVideoProps({ locationContext, mtv: props.queryParams.mtv });\n\n useDeepLinks({ id: props.id, app: 'interactives' });\n\n useHandleObjectError(interactiveMetadata, videoErrors, { forbidden: true });\n useCannotConsumeError(strippedInteractiveMetadata);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n\n const breadcrumbs = useBreadcrumbs({ name: interactiveMetadata.data?.name });\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n viewKey.hasCompleted &&\n token.hasCompleted &&\n hasCommonVideoPropsCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n if (shouldPreviewInteractive) {\n return (\n <PreviewInteractive\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n interactives={interactives.data?.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n breadcrumbs={breadcrumbs}\n token={token.data}\n commonVideoProps={commonVideoProps}\n />\n );\n }\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n token={token.data}\n commonVideoProps={commonVideoProps}\n />\n );\n}\n"],"mappings":"sjCAqCM,EAAc,CAClB,SAAU,EACV,UAAW,CACT,QAAS,CACX,CACF,EAEA,SAAS,EAAe,EAAiD,CACvE,OAAO,GAAa,aAAe,GAAa,YAClD,CAMA,SAAgB,EAAgB,EAA0C,CACxE,GAAM,CAAE,kBAAmB,EAAe,EAEpC,EAAS,EAA6B,EAAe,OAAO,CAAC,EAC7D,EAAQ,EAAgC,EAAa,MAAM,CAAC,EAC5D,EAAc,EAAkC,EAAa,YAAY,CAAC,EAC1E,EAAa,EACjB,EAAY,MAAM,iBAAmB,EAAiB,WAAW,EAAY,KAAK,UAAU,CAC9F,EAEM,EAAsB,EAC1B,EAAoB,oBAAoB,EAAM,EAAE,CAClD,EACM,EAA2B,EAA4B,EACvD,EAA8B,EAClC,EAAoB,aAAe,EAAW,WAC5C,EAAoB,oBAAoB,EAAM,GAAI,EAAuB,aAAa,CAC1F,EACM,EAAc,EAClB,GAA4B,EAAoB,MAChD,EAAoB,YAAY,EAAoB,KAAK,aAAa,CACxE,EACM,EAAe,EACnB,GAA4B,EAAoB,MAChD,EAAoB,kBAAkB,EAAe,EAAoB,IAAI,CAAC,CAAC,EAAE,CACnF,EAEM,EAAY,EAAyB,EACrC,EAAU,EAAoC,EAAe,cAAc,EAAM,GAAI,EAAY,YAAY,CAAC,EAE9G,EAAgB,EAAoB,CACxC,MAAO,EAAoB,KAC3B,QAAS,EAAM,YAAY,QAC3B,UAAW,EAAM,YAAY,UAC7B,YAAa,EAAM,YAAY,IAC/B,YAAa,EAAY,IAC3B,CAAC,EAMK,CACJ,mBACA,gCACE,EAAoB,CAAE,gBAPF,EACtB,EAAgB,mBAChB,EAAgB,gBAKyB,IAAK,EAAM,YAAY,GAAI,CAAC,EAEvE,EAAa,CAAE,GAAI,EAAM,GAAI,IAAK,cAAe,CAAC,EAElD,EAAqB,EAAqB,EAAa,CAAE,UAAW,EAAK,CAAC,EAC1E,EAAsB,CAA2B,EACjD,EAAmB,EAAmB,uBAAuB,CAAE,QAAS,EAAoB,IAAK,CAAC,CAAC,EAEnG,EAAc,EAAc,QAAU,CAAC,CAAC,EAExC,IAAM,EAAc,EAAe,CAAE,KAAM,EAAoB,MAAM,IAAK,CAAC,EAiC3E,OA9BE,EAAoB,MACpB,EAAO,cACP,EAAY,eACX,CAAC,GAA4B,EAAY,eAC1C,EAAQ,cACR,EAAM,cACN,EAME,GAEA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAa,EAAY,KACzB,YAAa,EAAM,YACnB,YAAa,EAAoB,KACjC,aAAc,EAAa,MAAM,KACjC,iCAAkC,EAAY,KAAK,iBACnD,UAAW,EAAU,KACN,gBACf,qBAAsB,EAAe,EAAe,iBAAiB,EACxD,cACb,MAAO,EAAM,KACK,kBACnB,CAAA,GAKH,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,YAAa,EAAoB,KACjC,YAAa,EAAY,KACzB,OAAQ,EAAO,KACf,WAAY,EAAW,KACvB,UAAW,EAAU,KACrB,YAAa,EAAM,YACnB,QAAS,EAAQ,KACF,gBACf,UAAW,EAAM,aAAa,GAAK,EAAM,aAAa,UACtD,MAAO,EAAM,KACK,kBACnB,CAAA,GAjCM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CAmCf"}
@@ -1,2 +1,2 @@
1
- import{o as e}from"./DAXXjFlN.chunk.js";import{n as t,r as n,t as r}from"./snXCXfT6.chunk.js";import{x as i}from"./BftnFbcr.chunk.js";import{n as a}from"./B785hxeE.chunk.js";import{t as o}from"./CQyJ7YGa.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{l as u}from"./NlCAcBdo.chunk.js";import{t as d}from"./CVHQXNzi2.chunk.js";import{t as f}from"./BrbeV-Gn2.chunk.js";import{i as p,t as m}from"./C2qMXdv9.chunk.js";import{t as h}from"./eoAypzU3.chunk.js";import{t as g}from"./CduNFx13.chunk.js";import{t as _}from"./B3gsVN-_.chunk.js";import{n as v}from"./B_-pJtOI2.chunk.js";import{n as y}from"./CpFtf-tI2.chunk.js";import{t as ee}from"./DBkEQkKm2.chunk.js";import{t as b}from"./CzuHD4Ht.chunk.js";import{i as x,n as S,t as C}from"./BOJK8LI1.chunk.js";import{t as w}from"./B1Q9Fyu9.chunk.js";import{t as T}from"./_42F7SIA2.chunk.js";import{t as E}from"./CHL4nrKG.chunk.js";import{o as D,r as O,t as k}from"./CpgHBpMp.chunk.js";import{n as A,t as j}from"./CvtZ8ZFA2.chunk.js";import{t as M}from"./pP_cpHCu2.chunk.js";import{t as N}from"./BPavmm8c.chunk.js";import{a as P}from"./DT8J1fGP.chunk.js";import{t as te}from"./BLBtFc2V2.chunk.js";import{i as ne,n as F,r as I,t as L}from"./C3znHRYL2.chunk.js";var R=e(s()),z=c(),B=`shared.playPage`;function V(e){switch(e){case d.Video:return`video`;case d.Clip:return`clip`;case d.Interactive:return`interactive`;default:return``}}function H(e){let n=o.encloseNamespace(B),i=V(e.typeId);return(0,z.jsxs)(`div`,{className:`alert bg-light-blue p-3 rounded-3 d-flex justify-content-between align-items-center`,children:[(0,z.jsx)(r,{svg:M,size:t.Standard,className:`me-2 svg-container`}),(0,z.jsxs)(`div`,{className:`w-100`,children:[(0,z.jsx)(`p`,{className:`fw-semibold mb-0`,children:n(`archivedInfoTitle`,{type:i})}),(!e.hasStudentExperience||i===u.Video)&&(0,z.jsx)(`p`,{className:`mb-1`,children:n(`archivedInfo`,{type:`${i}s`})})]})]})}var U=o.encloseNamespace(`shared.relatedVideos`);function W(e){let t=A({location:j.VideoItem,presentationSlug:e.presentationSlug}),{hasPermissions:n}=_();if(!e.currentUser?.isAuthenticated||e.relatedVideos.hasError||e.relatedVideos.hasCompleted&&!e.relatedVideos.videos?.length||!e.relatedVideos.isFetching&&!e.relatedVideos.hasCompleted)return(0,z.jsx)(z.Fragment,{});let r=!f.isInteractive(e.currentVideo);return(0,z.jsx)(`section`,{id:N.RelatedVideos,className:`play-page-section`,ref:t=>{t&&e.headingRef?.current&&e.relatedVideos.videos?.length&&e.headingRef.current.set(N.RelatedVideos,t)},children:(0,z.jsxs)(D.Provider,{value:t,children:[(0,z.jsx)(T,{name:U(r?`upNext`:`relatedVideos`)}),e.relatedVideos.hasCompleted?(0,z.jsx)(O,{videos:e.relatedVideos.videos,getVideoAppLink:e.getVideoAppLink,hasPermissions:n,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:e=>b.getPreviewQuestionsAppLink(e),commonVideoProps:e.commonVideoProps}):(0,z.jsx)(k,{}),e.relatedVideos.hasMore&&(0,z.jsx)(w,{isFetching:e.relatedVideos.isFetching,fetchNext:e.relatedVideos.fetchNext})]})})}var G=`shared.interactiveWidgetItem`,K=o.encloseNamespace(G),q=R.memo(function(e){let{data:t,thumbnailSize:n,preloadImage:r}=e,i={...e.questionsAppLink,args:[e.data.id]},a=P(t);return(0,z.jsxs)(`div`,{className:`flex-shrink-0 px-1 col-6 col-sm-4`,children:[(0,z.jsx)(C,{type:`static`,textPosition:S.Independent,video:t,appLink:e.getAppLink(t),imageOptions:{size:n},preload:r,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,hideDuration:!1,commonVideoProps:e.commonVideoProps}),(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(x,{...e,video:t,appLink:e.getAppLink(t)})}),(0,z.jsx)(g,{appLink:i,className:`cursor-pointer hover-text-underline`,ariaLabel:`${K(`previewQuestions`,{count:a,smartCount:a})} ${K(`ariaPreview`,{name:t.name})}`,children:a?(0,z.jsx)(y,{namespace:G,phrase:`previewQuestions`,options:{count:a,smartCount:a}}):(0,z.jsx)(y,{namespace:G,phrase:`previewQuestionsFallback`})})]})}),J={citationButton:`_citationButton_162gu_1`,citationText:`_citationText_162gu_4`,editableFieldContainer:`_editableFieldContainer_162gu_7`,editableField:`_editableField_162gu_7`,editableFieldEmpty:`_editableFieldEmpty_162gu_15`,editableFieldIconEmpty:`_editableFieldIconEmpty_162gu_19`,editableFieldInput:`_editableFieldInput_162gu_22`},Y=R.forwardRef((e,i)=>{let{value:a,placeholder:o,tooltipText:s,onChange:c}=e,l=R.useRef(null),[u,d]=R.useState(!1);return R.useImperativeHandle(i,()=>({focus:()=>d(!0)})),u?(0,z.jsx)(`input`,{ref:l,type:`text`,size:e.inputSize,className:J.editableFieldInput,value:a,placeholder:o,autoFocus:!0,spellCheck:!1,onChange:e=>c(e.target.value),onBlur:()=>d(!1),onKeyDown:e=>e.key===`Enter`&&l.current?.blur()}):(0,z.jsx)(n,{title:s,placement:`top`,spanHack:!0,spanHackClassName:`d-inline`,children:(0,z.jsx)(`div`,{className:`d-inline-block`,children:(0,z.jsxs)(`div`,{className:`d-flex flex-row ${J.editableFieldContainer}`,onClick:()=>d(!0),children:[(0,z.jsx)(`span`,{className:`${J.editableField} ${a?``:J.editableFieldEmpty}`,onKeyDown:e=>e.key===`Enter`&&d(!0),role:`button`,tabIndex:0,children:a||o}),(0,z.jsx)(r,{svg:E,size:t.Small,className:`svg-container ${a?``:J.editableFieldIconEmpty}`})]})})})});function X({author:e,placeholder:t,suffix:n}){return t?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Y,{ref:t.fieldRef,value:t.value,placeholder:t.placeholder,inputSize:t.inputSize,tooltipText:t.tooltipText,onChange:t.onChange}),n]}):(0,z.jsx)(z.Fragment,{children:e?`${e}${n}`:``})}function Z({year:e,placeholder:t}){return t?(0,z.jsx)(Y,{ref:t.fieldRef,value:t.value,placeholder:t.placeholder,inputSize:t.inputSize,tooltipText:t.tooltipText,onChange:t.onChange}):(0,z.jsx)(z.Fragment,{children:e})}function re(e){let{name:t,url:n,author:r,publisher:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,t,` `,`(Season `,c.seasonNumber,`, Episode `,c.episodeNumber,`) [TV series episode].`,` `,`In `,(0,z.jsx)(`em`,{children:c.seriesName}),`. `,i,`. Retrieved from `,n]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [Motion picture].`,` `,i,`. Retrieved from `,n]})}function ie(e){let{name:t,url:n,author:r,publisher:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:` `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,t,` `,`(Season `,c.seasonNumber,`, Episode `,c.episodeNumber,`) [TV series episode].`,` `,`In `,(0,z.jsx)(`em`,{children:c.seriesName}),`. `,i,`. `,n]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:` `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [Film]. `,i,`. `,n]})}function ae(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). '`,t,`',`,` `,(0,z.jsx)(`em`,{children:c.seriesName}),`, Season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,` [video].`,` `,`ClickView. Available at: `,n,` (Accessed: `,r,`).`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [video].`,` `,`ClickView. Available at: `,n,` (Accessed: `,r,`).`]})}function oe(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:` `}),(0,z.jsx)(Z,{year:a,placeholder:s}),`, '`,t,`',`,` `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`, video, ClickView, viewed `,r,`, `,n,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:` `}),(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,(0,z.jsx)(`em`,{children:t}),`, video, ClickView,`,` `,`viewed `,r,`, `,n,`.`]})}function se(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`, ClickView,`,` `,(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,n,`. Accessed `,r,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,n,`.`,` `,`Accessed `,r,`.`]})}function ce(e){let{name:t,url:n,author:r,productionYear:i,authorPlaceholder:a,yearPlaceholder:o,seriesInfo:s}=e;return s?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:a,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:s.seriesName}),`, season `,s.seasonNumber,`,`,` `,`episode `,s.episodeNumber,`, ClickView,`,` `,(0,z.jsx)(Z,{year:i,placeholder:o}),`, `,n,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:a,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:i,placeholder:o}),`, `,n,`.`]})}function le(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`. ClickView,`,` `,(0,z.jsx)(Z,{year:a,placeholder:s}),`. `,n,`. Accessed `,r,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:a,placeholder:s}),`. `,n,`.`,` `,`Accessed `,r,`.`]})}var Q={hasAuthorData(e,t){return e.size>0||t.length>0},processCompanies(e){let t=[];return e?.productionCompanies?.data?.length?t=e.productionCompanies.data.map(e=>e.name??``):e?.distributors?.data?.length?t=e.distributors.data.map(e=>e.name??``):e?.channel?.name&&(t=[e.channel.name]),t.filter(e=>e.trim())},joinWithAmpersand(e){return e.length===0?``:e.length===1?e[0]:e.length===2?`${e[0]}, & ${e[1]}`:`${e.slice(0,-1).join(`, `)}, & ${e[e.length-1]}`},processSeriesInfo(e){if(e.series?.name&&e.season?.number&&e.episodeNumber)return{seriesName:e.series.name,seasonNumber:e.season.number,episodeNumber:e.episodeNumber}},processAuthors(e){let t=new Map;return(e?.directors?.data??[]).forEach(e=>{if(e?.name){let n=t.get(e.name)||[];n.push(`Director`),t.set(e.name,n)}}),(e?.producers?.data??[]).forEach(e=>{if(e?.name){let n=t.get(e.name)||[];n.push(`Producer`),t.set(e.name,n)}}),t},formatAuthorsDefault(e,t){let n=Array.from(e.entries()).map(([e,t])=>`${e} (${t.join(` & `)})`);return n.length>0?n.join(`, `):t.length>0?t[0]:``},formatPublisher(e,t){let n=e.size>0,r=t.filter(e=>e!==`ClickView`);return n&&r.length>0?r.join(`, `):`ClickView`},formatAuthorsAPA7(e,t){function n(e,t){let n=e.trim().split(/\s+/),r=t.join(` & `);return n.length===0?``:n.length===1?`${n[0]} (${r})`:`${n[n.length-1]}, ${n.slice(0,-1).map(e=>`${e.charAt(0)}.`).join(` `)} (${r})`}let r=Array.from(e.entries()).map(([e,t])=>n(e,t));if(r.length>0)return`${Q.joinWithAmpersand(r)}.`;if(t.length===0)return``;let i=Q.joinWithAmpersand(t);return i?`${i}.`:``},getCitationStyles(e){let{name:t,creatorPeople:n,creatorCompanies:r,productionYear:i,url:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e,l=Q.formatAuthorsDefault(n,r),u=Q.formatAuthorsAPA7(n,r),d=Q.formatPublisher(n,r),f=new Date,p={name:t,url:a,viewedOn:`${f.getDate()} ${f.toLocaleString(`default`,{month:`long`})} ${f.getFullYear()}`,publisher:d,productionYear:i,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c},m={[I.APA6]:(0,z.jsx)(re,{...p,author:l}),[I.APA7]:(0,z.jsx)(ie,{...p,author:u}),[I.Harvard]:(0,z.jsx)(ae,{...p,author:l}),[I.HarvardAU]:(0,z.jsx)(oe,{...p,author:l}),[I.MLA8]:(0,z.jsx)(se,{...p,author:l}),[I.MLA9]:(0,z.jsx)(ce,{...p,author:l}),[I.Chicago]:(0,z.jsx)(le,{...p,author:l})};return F.map(e=>({...e,component:m[e.id]}))}},$=o.encloseNamespace(`shared.citations`);function ue(e){let{headingRef:t,contentRegion:n}=e,{copyToClipboard:r}=te(),{preferredStyleId:o,setPreferredStyleId:s}=ne(),{hasPermissions:c}=_(),u=R.useRef(null),d=R.useRef(null),p=R.useRef(null),m=c(a.ManageCustomerSettings),y=f.isVideo(e.media)?e.media:e.parentVideo,b=e.shareId?i.GetCurrentUrl():v(n,ee.getAppLink(y,{},e.presentationSlug)),[x,S]=R.useState(``),[C,w]=R.useState(``),T=Q.processAuthors(y),E=Q.processCompanies(y),D=Q.processSeriesInfo(y),O=!Q.hasAuthorData(T,E),k=!y.productionYear,A=R.useMemo(()=>Q.getCitationStyles({name:e.media.name,creatorPeople:T,creatorCompanies:E,seriesInfo:D,productionYear:y.productionYear,url:b,authorPlaceholder:O?{value:x,placeholder:$(`authorPlaceholder`),tooltipText:$(`authorTooltip`),inputSize:12,onChange:S,fieldRef:d}:void 0,yearPlaceholder:k?{value:C,placeholder:$(`yearPlaceholder`),tooltipText:$(`yearTooltip`),inputSize:6,onChange:w,fieldRef:p}:void 0}),[e.media,e.parentVideo,y.id,x,C,O,k,D?.seriesName,D?.seasonNumber,D?.episodeNumber]),j=A.find(e=>e.id===o)??A[0],[M,P]=R.useState(j),[F,I]=R.useState(!1);return R.useEffect(()=>{let e=A.find(e=>e.id===M.id);e&&P(e)},[A]),(0,z.jsxs)(`section`,{id:N.ReferenceVideo,className:`play-page-section`,ref:e=>{e&&t?.current&&t.current.set(N.ReferenceVideo,e)},children:[(0,z.jsx)(`h2`,{className:`h4 mb-2`,children:$(`title`)}),(0,z.jsxs)(`p`,{children:[$(`description`),` "`,(0,z.jsx)(`strong`,{children:y.name}),`".`]}),(0,z.jsxs)(`div`,{className:`form-group`,children:[(0,z.jsx)(L,{value:M.id,onChange:e=>{let t=A.find(t=>t.id===e);t&&(P(t),s(e))}}),m&&(0,z.jsx)(g,{className:`text-info d-block mt-2 text-end`,appLink:{application:l.SETTINGS,action:h.Settings.CITATION_STYLE},children:$(`configureCitationSettings`)})]}),(0,z.jsxs)(`div`,{className:`bg-light-orange rounded-1 border px-3 pb-0 position-relative`,children:[(0,z.jsx)(`div`,{ref:u,className:`pt-3 text-wrap pb-4`,children:M.component}),(0,z.jsx)(`button`,{className:`${J.citationButton} border-top border-start bg-white position-absolute bottom-0 end-0 d-inline-block py-1 px-2`,onClick:()=>{r(u.current?.innerText),I(!0),setTimeout(()=>I(!1),1500)},children:$(F?`copyToClipboardSuccess`:`copyToClipboard`)})]})]})}var de=`shared.playPage`;function fe(e){return!e.restrictions?.value?.length||!e.yearGroups||!e.canManageVideoAccess||m.getWeightedRestriction(e.restrictions.value).type!==p.Custom?(0,z.jsx)(z.Fragment,{}):(0,z.jsxs)(`div`,{className:`${m.mapRestrictionToClass(e.restrictions)} fw-semibold p-2 rounded mb-3 d-flex justify-content-between align-items-center`,children:[(0,z.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,z.jsx)(r,{svg:m.mapRestrictionToSvg(e.restrictions),size:t.Large}),(0,z.jsx)(`span`,{className:`ps-1`,children:m.mapRestrictionToText(e.restrictions,e.yearGroups)})]}),(0,z.jsx)(g,{appLink:{application:l.DEFAULT,action:h.Default.APPROVE_VIDEO,params:{objectId:e.objectId,objectTypeId:e.objectTypeId}},className:`btn btn-outline-dark`,children:(0,z.jsx)(y,{namespace:de,phrase:`approve`})})]})}export{H as a,W as i,ue as n,q as r,fe as t};
2
- //# sourceMappingURL=DFlO2qoz2.chunk.js.map
1
+ import{o as e}from"./DAXXjFlN.chunk.js";import{n as t,r as n,t as r}from"./snXCXfT6.chunk.js";import{x as i}from"./BftnFbcr.chunk.js";import{n as a}from"./B785hxeE.chunk.js";import{t as o}from"./CQyJ7YGa.chunk.js";import{t as s}from"./C2w0pmFW.chunk.js";import{t as c}from"./wrLrTezN.chunk.js";import{t as l}from"./BXTI9cmX.chunk.js";import{l as u}from"./NlCAcBdo.chunk.js";import{t as d}from"./CVHQXNzi2.chunk.js";import{t as f}from"./BrbeV-Gn2.chunk.js";import{i as p,t as m}from"./C2qMXdv9.chunk.js";import{t as h}from"./eoAypzU3.chunk.js";import{t as g}from"./CduNFx13.chunk.js";import{t as _}from"./B3gsVN-_.chunk.js";import{n as v}from"./B_-pJtOI2.chunk.js";import{n as y}from"./CpFtf-tI2.chunk.js";import{t as ee}from"./DBkEQkKm2.chunk.js";import{t as b}from"./CzuHD4Ht.chunk.js";import{i as x,n as S,t as C}from"./BOJK8LI1.chunk.js";import{t as w}from"./B1Q9Fyu9.chunk.js";import{t as T}from"./_42F7SIA2.chunk.js";import{t as E}from"./CHL4nrKG.chunk.js";import{o as D,r as O,t as k}from"./CpgHBpMp.chunk.js";import{n as A,t as j}from"./CvtZ8ZFA2.chunk.js";import{t as M}from"./pP_cpHCu2.chunk.js";import{t as N}from"./BPavmm8c.chunk.js";import{a as P}from"./DT8J1fGP.chunk.js";import{t as te}from"./BLBtFc2V2.chunk.js";import{i as ne,n as F,r as I,t as L}from"./C3znHRYL2.chunk.js";var R=e(s()),z=c(),B=`shared.playPage`;function V(e){switch(e){case d.Video:return`video`;case d.Clip:return`clip`;case d.Interactive:return`interactive`;default:return``}}function H(e){let n=o.encloseNamespace(B),i=V(e.typeId);return(0,z.jsxs)(`div`,{className:`alert bg-light-blue p-3 rounded-3 d-flex justify-content-between align-items-center`,children:[(0,z.jsx)(r,{svg:M,size:t.Standard,className:`me-2 svg-container`}),(0,z.jsxs)(`div`,{className:`w-100`,children:[(0,z.jsx)(`p`,{className:`fw-semibold mb-0`,children:n(`archivedInfoTitle`,{type:i})}),(!e.hasStudentExperience||i===u.Video)&&(0,z.jsx)(`p`,{className:`mb-1`,children:n(`archivedInfo`,{type:`${i}s`})})]})]})}var U=o.encloseNamespace(`shared.relatedVideos`);function W(e){let t=A({location:j.VideoItem,presentationSlug:e.presentationSlug}),{hasPermissions:n}=_();if(!e.currentUser?.isAuthenticated||e.relatedVideos.hasError||e.relatedVideos.hasCompleted&&!e.relatedVideos.videos?.length||!e.relatedVideos.isFetching&&!e.relatedVideos.hasCompleted)return(0,z.jsx)(z.Fragment,{});let r=!f.isInteractive(e.currentVideo);return(0,z.jsx)(`section`,{id:N.RelatedVideos,className:`play-page-section`,ref:t=>{t&&e.headingRef?.current&&e.relatedVideos.videos?.length&&e.headingRef.current.set(N.RelatedVideos,t)},children:(0,z.jsxs)(D.Provider,{value:t,children:[(0,z.jsx)(T,{name:U(r?`upNext`:`relatedVideos`)}),e.relatedVideos.hasCompleted?(0,z.jsx)(O,{videos:e.relatedVideos.videos,getVideoAppLink:e.getVideoAppLink,hasPermissions:n,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:e=>b.getPreviewQuestionsAppLink(e),commonVideoProps:e.commonVideoProps}):(0,z.jsx)(k,{}),e.relatedVideos.hasMore&&(0,z.jsx)(w,{isFetching:e.relatedVideos.isFetching,fetchNext:e.relatedVideos.fetchNext})]})})}var G=`shared.interactiveWidgetItem`,K=o.encloseNamespace(G),q=R.memo(function(e){let{data:t,thumbnailSize:n,preloadImage:r}=e,i={...e.questionsAppLink,args:[e.data.id]},a=P(t);return(0,z.jsxs)(`div`,{className:`flex-shrink-0 px-1 col-6 col-sm-4`,children:[(0,z.jsx)(C,{type:`static`,textPosition:S.Independent,video:t,appLink:e.getAppLink(t),imageOptions:{size:n},preload:r,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,hideDuration:!1,commonVideoProps:e.commonVideoProps}),(0,z.jsx)(`div`,{className:`mt-2`,children:(0,z.jsx)(x,{...e,video:t,appLink:e.getAppLink(t)})}),(0,z.jsx)(g,{appLink:i,className:`cursor-pointer hover-text-underline`,ariaLabel:`${K(`previewQuestions`,{count:a,smartCount:a})} ${K(`ariaPreview`,{name:t.name})}`,children:a?(0,z.jsx)(y,{namespace:G,phrase:`previewQuestions`,options:{count:a,smartCount:a}}):(0,z.jsx)(y,{namespace:G,phrase:`previewQuestionsFallback`})})]})}),J={citationButton:`_citationButton_162gu_1`,citationText:`_citationText_162gu_4`,editableFieldContainer:`_editableFieldContainer_162gu_7`,editableField:`_editableField_162gu_7`,editableFieldEmpty:`_editableFieldEmpty_162gu_15`,editableFieldIconEmpty:`_editableFieldIconEmpty_162gu_19`,editableFieldInput:`_editableFieldInput_162gu_22`},Y=R.forwardRef((e,i)=>{let{value:a,placeholder:o,tooltipText:s,onChange:c}=e,l=R.useRef(null),[u,d]=R.useState(!1);return R.useImperativeHandle(i,()=>({focus:()=>d(!0)})),u?(0,z.jsx)(`input`,{ref:l,type:`text`,size:e.inputSize,className:J.editableFieldInput,value:a,placeholder:o,autoFocus:!0,spellCheck:!1,onChange:e=>c(e.target.value),onBlur:()=>d(!1),onKeyDown:e=>e.key===`Enter`&&l.current?.blur()}):(0,z.jsx)(n,{title:s,placement:`top`,spanHack:!0,spanHackClassName:`d-inline`,children:(0,z.jsx)(`div`,{className:`d-inline-block`,children:(0,z.jsxs)(`div`,{className:`d-flex flex-row ${J.editableFieldContainer}`,onClick:()=>d(!0),children:[(0,z.jsx)(`span`,{className:`${J.editableField} ${a?``:J.editableFieldEmpty}`,onKeyDown:e=>e.key===`Enter`&&d(!0),role:`button`,tabIndex:0,children:a||o}),(0,z.jsx)(r,{svg:E,size:t.Small,className:`svg-container ${a?``:J.editableFieldIconEmpty}`})]})})})});function X({author:e,placeholder:t,suffix:n}){return t?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Y,{ref:t.fieldRef,value:t.value,placeholder:t.placeholder,inputSize:t.inputSize,tooltipText:t.tooltipText,onChange:t.onChange}),n]}):(0,z.jsx)(z.Fragment,{children:e?`${e}${n}`:``})}function Z({year:e,placeholder:t}){return t?(0,z.jsx)(Y,{ref:t.fieldRef,value:t.value,placeholder:t.placeholder,inputSize:t.inputSize,tooltipText:t.tooltipText,onChange:t.onChange}):(0,z.jsx)(z.Fragment,{children:e})}function re(e){let{name:t,url:n,author:r,publisher:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,t,` `,`(Season `,c.seasonNumber,`, Episode `,c.episodeNumber,`) [TV series episode].`,` `,`In `,(0,z.jsx)(`em`,{children:c.seriesName}),`. `,i,`. Retrieved from `,n]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [Motion picture].`,` `,i,`. Retrieved from `,n]})}function ie(e){let{name:t,url:n,author:r,publisher:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:` `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,t,` `,`(Season `,c.seasonNumber,`, Episode `,c.episodeNumber,`) [TV series episode].`,` `,`In `,(0,z.jsx)(`em`,{children:c.seriesName}),`. `,i,`. `,n]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:o,suffix:` `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [Film]. `,i,`. `,n]})}function ae(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). '`,t,`',`,` `,(0,z.jsx)(`em`,{children:c.seriesName}),`, Season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,` [video].`,` `,`ClickView. Available at: `,n,` (Accessed: `,r,`).`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`(`,(0,z.jsx)(Z,{year:a,placeholder:s}),`). `,(0,z.jsx)(`em`,{children:t}),` [video].`,` `,`ClickView. Available at: `,n,` (Accessed: `,r,`).`]})}function oe(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:` `}),(0,z.jsx)(Z,{year:a,placeholder:s}),`, '`,t,`',`,` `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`, video, ClickView, viewed `,r,`, `,n,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:` `}),(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,(0,z.jsx)(`em`,{children:t}),`, video, ClickView,`,` `,`viewed `,r,`, `,n,`.`]})}function se(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`, ClickView,`,` `,(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,n,`. Accessed `,r,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:a,placeholder:s}),`, `,n,`.`,` `,`Accessed `,r,`.`]})}function ce(e){let{name:t,url:n,author:r,productionYear:i,authorPlaceholder:a,yearPlaceholder:o,seriesInfo:s}=e;return s?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:a,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:s.seriesName}),`, season `,s.seasonNumber,`,`,` `,`episode `,s.episodeNumber,`, ClickView,`,` `,(0,z.jsx)(Z,{year:i,placeholder:o}),`, `,n,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:r,placeholder:a,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:i,placeholder:o}),`, `,n,`.`]})}function le(e){let{name:t,url:n,viewedOn:r,author:i,productionYear:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e;return c?(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),`"`,t,`." `,(0,z.jsx)(`em`,{children:c.seriesName}),`, season `,c.seasonNumber,`,`,` `,`episode `,c.episodeNumber,`. ClickView,`,` `,(0,z.jsx)(Z,{year:a,placeholder:s}),`. `,n,`. Accessed `,r,`.`]}):(0,z.jsxs)(`span`,{children:[(0,z.jsx)(X,{author:i,placeholder:o,suffix:`. `}),(0,z.jsx)(`em`,{children:t}),`. ClickView, `,(0,z.jsx)(Z,{year:a,placeholder:s}),`. `,n,`.`,` `,`Accessed `,r,`.`]})}var Q={hasAuthorData(e,t){return e.size>0||t.length>0},processCompanies(e){let t=[];return e?.productionCompanies?.data?.length?t=e.productionCompanies.data.map(e=>e.name??``):e?.distributors?.data?.length?t=e.distributors.data.map(e=>e.name??``):e?.channel?.name&&(t=[e.channel.name]),t.filter(e=>e.trim())},joinWithAmpersand(e){return e.length===0?``:e.length===1?e[0]:e.length===2?`${e[0]}, & ${e[1]}`:`${e.slice(0,-1).join(`, `)}, & ${e[e.length-1]}`},processSeriesInfo(e){if(e.series?.name&&e.season?.number&&e.episodeNumber)return{seriesName:e.series.name,seasonNumber:e.season.number,episodeNumber:e.episodeNumber}},processAuthors(e){let t=new Map;return(e?.directors?.data??[]).forEach(e=>{if(e?.name){let n=t.get(e.name)||[];n.push(`Director`),t.set(e.name,n)}}),(e?.producers?.data??[]).forEach(e=>{if(e?.name){let n=t.get(e.name)||[];n.push(`Producer`),t.set(e.name,n)}}),t},formatAuthorsDefault(e,t){let n=Array.from(e.entries()).map(([e,t])=>`${e} (${t.join(` & `)})`);return n.length>0?n.join(`, `):t.length>0?t[0]:``},formatPublisher(e,t){let n=e.size>0,r=t.filter(e=>e!==`ClickView`);return n&&r.length>0?r.join(`, `):`ClickView`},formatAuthorsAPA7(e,t){function n(e,t){let n=e.trim().split(/\s+/),r=t.join(` & `);return n.length===0?``:n.length===1?`${n[0]} (${r})`:`${n[n.length-1]}, ${n.slice(0,-1).map(e=>`${e.charAt(0)}.`).join(` `)} (${r})`}let r=Array.from(e.entries()).map(([e,t])=>n(e,t));if(r.length>0)return`${Q.joinWithAmpersand(r)}.`;if(t.length===0)return``;let i=Q.joinWithAmpersand(t);return i?`${i}.`:``},getCitationStyles(e){let{name:t,creatorPeople:n,creatorCompanies:r,productionYear:i,url:a,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c}=e,l=Q.formatAuthorsDefault(n,r),u=Q.formatAuthorsAPA7(n,r),d=Q.formatPublisher(n,r),f=new Date,p={name:t,url:a,viewedOn:`${f.getDate()} ${f.toLocaleString(`default`,{month:`long`})} ${f.getFullYear()}`,publisher:d,productionYear:i,authorPlaceholder:o,yearPlaceholder:s,seriesInfo:c},m={[I.APA6]:(0,z.jsx)(re,{...p,author:l}),[I.APA7]:(0,z.jsx)(ie,{...p,author:u}),[I.Harvard]:(0,z.jsx)(ae,{...p,author:l}),[I.HarvardAU]:(0,z.jsx)(oe,{...p,author:l}),[I.MLA8]:(0,z.jsx)(se,{...p,author:l}),[I.MLA9]:(0,z.jsx)(ce,{...p,author:l}),[I.Chicago]:(0,z.jsx)(le,{...p,author:l})};return F.map(e=>({...e,component:m[e.id]}))}},$=o.encloseNamespace(`shared.citations`);function ue(e){let{headingRef:t,contentRegion:n}=e,{copyToClipboard:r}=te(),{preferredStyleId:o,setPreferredStyleId:s}=ne(),{hasPermissions:c}=_(),u=R.useRef(null),d=R.useRef(null),p=R.useRef(null),m=c(a.ManageCustomerSettings),y=f.isVideo(e.media)?e.media:e.parentVideo,b=e.shareId?i.GetCurrentUrl():v(n,ee.getAppLink(y,{},e.presentationSlug)),[x,S]=R.useState(``),[C,w]=R.useState(``),T=Q.processAuthors(y),E=Q.processCompanies(y),D=Q.processSeriesInfo(y),O=!Q.hasAuthorData(T,E),k=!y.productionYear,A=R.useMemo(()=>Q.getCitationStyles({name:e.media.name,creatorPeople:T,creatorCompanies:E,seriesInfo:D,productionYear:y.productionYear,url:b,authorPlaceholder:O?{value:x,placeholder:$(`authorPlaceholder`),tooltipText:$(`authorTooltip`),inputSize:12,onChange:S,fieldRef:d}:void 0,yearPlaceholder:k?{value:C,placeholder:$(`yearPlaceholder`),tooltipText:$(`yearTooltip`),inputSize:6,onChange:w,fieldRef:p}:void 0}),[e.media,e.parentVideo,y.id,x,C,O,k,D?.seriesName,D?.seasonNumber,D?.episodeNumber]),j=A.find(e=>e.id===o)??A[0],[M,P]=R.useState(j),[F,I]=R.useState(!1);return R.useEffect(()=>{let e=A.find(e=>e.id===M.id);e&&P(e)},[A]),(0,z.jsxs)(`section`,{id:N.ReferenceVideo,className:`play-page-section`,ref:e=>{e&&t?.current&&t.current.set(N.ReferenceVideo,e)},children:[(0,z.jsx)(`h2`,{className:`h4 mb-2`,children:$(`title`)}),(0,z.jsxs)(`p`,{children:[$(`description`),` "`,(0,z.jsx)(`strong`,{children:y.name}),`".`]}),(0,z.jsxs)(`div`,{className:`form-group`,children:[(0,z.jsx)(L,{value:M.id,onChange:e=>{let t=A.find(t=>t.id===e);t&&(P(t),s(e))}}),m&&(0,z.jsx)(g,{className:`text-info d-block mt-2 text-end`,appLink:{application:l.SETTINGS,action:h.Settings.CITATION_STYLE},children:$(`configureCitationSettings`)})]}),(0,z.jsxs)(`div`,{className:`bg-light-orange rounded-1 border px-3 pb-0 position-relative text-break`,children:[(0,z.jsx)(`div`,{ref:u,className:`pt-3 text-wrap pb-4`,children:M.component}),(0,z.jsx)(`button`,{className:`${J.citationButton} border-top border-start bg-white position-absolute bottom-0 end-0 d-inline-block py-1 px-2`,onClick:()=>{r(u.current?.innerText),I(!0),setTimeout(()=>I(!1),1500)},children:$(F?`copyToClipboardSuccess`:`copyToClipboard`)})]})]})}var de=`shared.playPage`;function fe(e){return!e.restrictions?.value?.length||!e.yearGroups||!e.canManageVideoAccess||m.getWeightedRestriction(e.restrictions.value).type!==p.Custom?(0,z.jsx)(z.Fragment,{}):(0,z.jsxs)(`div`,{className:`${m.mapRestrictionToClass(e.restrictions)} fw-semibold p-2 rounded mb-3 d-flex justify-content-between align-items-center`,children:[(0,z.jsxs)(`div`,{className:`d-flex align-items-center`,children:[(0,z.jsx)(r,{svg:m.mapRestrictionToSvg(e.restrictions),size:t.Large}),(0,z.jsx)(`span`,{className:`ps-1`,children:m.mapRestrictionToText(e.restrictions,e.yearGroups)})]}),(0,z.jsx)(g,{appLink:{application:l.DEFAULT,action:h.Default.APPROVE_VIDEO,params:{objectId:e.objectId,objectTypeId:e.objectTypeId}},className:`btn btn-outline-dark`,children:(0,z.jsx)(y,{namespace:de,phrase:`approve`})})]})}export{H as a,W as i,ue as n,q as r,fe as t};
2
+ //# sourceMappingURL=Bf9r1ZoF2.chunk.js.map