@clickview/lite 0.50.1-rc.1 → 0.50.1-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{1820-lite-ebb89eab7a.chunk.css → 1820-lite-8008c78ef7.chunk.css} +1 -1
- package/dist/css/{2120-lite-dd1595051d.chunk.css → 2120-lite-b1876117b4.chunk.css} +1 -1
- package/dist/css/{2137-lite-7045732fc8.chunk.css → 2137-lite-6e9d11bd5b.chunk.css} +1 -1
- package/dist/css/{2795-lite-1641e6fbf9.chunk.css → 2795-lite-34f8ca5018.chunk.css} +1 -1
- package/dist/css/{3515-lite-66473d08ed.chunk.css → 3515-lite-10695a1950.chunk.css} +1 -1
- package/dist/css/{458-lite-66473d08ed.chunk.css → 458-lite-10695a1950.chunk.css} +1 -1
- package/dist/css/{5242-lite-3e960b685e.chunk.css → 5242-lite-30642a9642.chunk.css} +1 -1
- package/dist/css/{5446-lite-ae2395342f.chunk.css → 5446-lite-2e956685f4.chunk.css} +1 -1
- package/dist/css/{6850-lite-c1a8731a93.chunk.css → 6850-lite-0bf8514497.chunk.css} +2 -2
- package/dist/css/{7987-lite-94679244a2.chunk.css → 7987-lite-fd431fbaf2.chunk.css} +1 -1
- package/dist/css/{9620-lite-d77e9ad59b.chunk.css → 9620-lite-111c825071.chunk.css} +1 -1
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js +2 -0
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js.map +1 -0
- package/dist/scripts/{1820-68114ca994-lite.chunk.js → 1820-9a1f618969-lite.chunk.js} +2 -2
- package/dist/scripts/1820-9a1f618969-lite.chunk.js.map +1 -0
- package/dist/scripts/{2120-88f6dd6652-lite.chunk.js → 2120-82a7b90997-lite.chunk.js} +1 -1
- package/dist/scripts/{2120-88f6dd6652-lite.chunk.js.map → 2120-82a7b90997-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2137-093f479ff9-lite.chunk.js → 2137-2e78e535ad-lite.chunk.js} +1 -1
- package/dist/scripts/{2137-093f479ff9-lite.chunk.js.map → 2137-2e78e535ad-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2795-0616748349-lite.chunk.js → 2795-eb3a51adc2-lite.chunk.js} +1 -1
- package/dist/scripts/{2795-0616748349-lite.chunk.js.map → 2795-eb3a51adc2-lite.chunk.js.map} +1 -1
- package/dist/scripts/3070-63e0a6b63e-lite.chunk.js +2 -0
- package/dist/scripts/3070-63e0a6b63e-lite.chunk.js.map +1 -0
- package/dist/scripts/{3515-0d5feefbe3-lite.chunk.js → 3515-72a31e0bbd-lite.chunk.js} +1 -1
- package/dist/scripts/{3515-0d5feefbe3-lite.chunk.js.map → 3515-72a31e0bbd-lite.chunk.js.map} +1 -1
- package/dist/scripts/{458-e3aaac093b-lite.chunk.js → 458-1ca8abf829-lite.chunk.js} +1 -1
- package/dist/scripts/{458-e3aaac093b-lite.chunk.js.map → 458-1ca8abf829-lite.chunk.js.map} +1 -1
- package/dist/scripts/4718-b3cfb276a7-lite.chunk.js +2 -0
- package/dist/scripts/4718-b3cfb276a7-lite.chunk.js.map +1 -0
- package/dist/scripts/{5242-e2f40bdd0e-lite.chunk.js → 5242-e5cc8311eb-lite.chunk.js} +1 -1
- package/dist/scripts/{5242-e2f40bdd0e-lite.chunk.js.map → 5242-e5cc8311eb-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js → 5446-5a2f719a6f-lite.chunk.js} +1 -1
- package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js.map → 5446-5a2f719a6f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5940-511beff2ee-lite.chunk.js → 5940-5731abccf3-lite.chunk.js} +2 -2
- package/dist/scripts/5940-5731abccf3-lite.chunk.js.map +1 -0
- package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js +3 -0
- package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js.map +1 -0
- package/dist/scripts/6450-2745feb746-lite.chunk.js +2 -0
- package/dist/scripts/6450-2745feb746-lite.chunk.js.map +1 -0
- package/dist/scripts/6850-393de993b8-lite.chunk.js +3 -0
- package/dist/scripts/6850-393de993b8-lite.chunk.js.map +1 -0
- package/dist/scripts/{7987-db0037709c-lite.chunk.js → 7987-ff7de6531f-lite.chunk.js} +1 -1
- package/dist/scripts/{7987-db0037709c-lite.chunk.js.map → 7987-ff7de6531f-lite.chunk.js.map} +1 -1
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js +3 -0
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +1 -0
- package/dist/scripts/9620-d0f04eeccd-lite.chunk.js +3 -0
- package/dist/scripts/9620-d0f04eeccd-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-bb2e18c8ca.min.js → bundle-815f926b0f.min.js} +3 -3
- package/dist/scripts/bundle-815f926b0f.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1169-3df974a8eb-lite.chunk.js +0 -2
- package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-68114ca994-lite.chunk.js.map +0 -1
- package/dist/scripts/3070-b148205227-lite.chunk.js +0 -2
- package/dist/scripts/3070-b148205227-lite.chunk.js.map +0 -1
- package/dist/scripts/4718-2b58aa560d-lite.chunk.js +0 -2
- package/dist/scripts/4718-2b58aa560d-lite.chunk.js.map +0 -1
- package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +0 -1
- package/dist/scripts/6309-36ea0c9f2c-lite.chunk.js +0 -3
- package/dist/scripts/6309-36ea0c9f2c-lite.chunk.js.map +0 -1
- package/dist/scripts/6450-6819d42c15-lite.chunk.js +0 -2
- package/dist/scripts/6450-6819d42c15-lite.chunk.js.map +0 -1
- package/dist/scripts/6850-16bec85d3c-lite.chunk.js +0 -3
- package/dist/scripts/6850-16bec85d3c-lite.chunk.js.map +0 -1
- package/dist/scripts/9016-c359251f82-lite.chunk.js +0 -3
- package/dist/scripts/9016-c359251f82-lite.chunk.js.map +0 -1
- package/dist/scripts/9620-630f9e6344-lite.chunk.js +0 -3
- package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-bb2e18c8ca.min.js.map +0 -1
- /package/dist/scripts/{6309-36ea0c9f2c-lite.chunk.js.LICENSE.txt → 6309-f5bb1c14dc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6850-16bec85d3c-lite.chunk.js.LICENSE.txt → 6850-393de993b8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9016-c359251f82-lite.chunk.js.LICENSE.txt → 9016-0c078a39cb-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9620-630f9e6344-lite.chunk.js.LICENSE.txt → 9620-d0f04eeccd-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-bb2e18c8ca.min.js.LICENSE.txt → bundle-815f926b0f.min.js.LICENSE.txt} +0 -0
package/dist/scripts/{3515-0d5feefbe3-lite.chunk.js.map → 3515-72a31e0bbd-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/3515-0d5feefbe3-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/projects/lite/src/shared/views/play/v2/PlayViewV2.tsx"],"sourcesContent":["import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import * as React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { VideoNotFoundError } from 'libs/shared/errors/videos/video-not-found/VideoNotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\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 { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\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, InteractiveMetadata, PresentationAudience, RegionAlternative, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/v2/hooks/useShouldShowTableOfContents';\n\nimport { PlayViewProps } from '../PlayViewContainer';\n\nimport { PlayPageV2 } from './components/play-page/PlayPageV2';\n\nconst namespace = 'shared.play';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst videoErrors = {\n notFound: VideoNotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\nPlayViewV2.defaultProps = {\n queryParams: {}\n};\n\nexport function PlayViewV2(props: PlayViewProps): React.ReactElement {\n const { context, contextId, playNext, mtv } = props.queryParams;\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.PlayPage);\n\n const { hasPermissions } = usePermissions();\n\n const { isPlugin } = usePluginHelper();\n\n const { activePresentation } = usePresentation();\n\n const featureAccess = useVideoFeatureAccess();\n\n const streamableLibrary = Flight.useBasicFetch<HashObject>(LibraryRequests.streamableLearning());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const clips = Flight.useBasicFetch<Clip[]>(ClipRequests.videoClips(props.id));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n \n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n activePresentation &&\n AudienceRequests.audiencesByPresentationId(activePresentation.id)\n );\n \n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const strippedVideo = Flight.useBasicFetch<Video>(video.statusCode === HttpStatus.Forbidden &&\n VideoRequests.video(props.id, PermissionFilterOption.StripMetadata));\n\n const curriculums = useCurriculums(props.id, true);\n\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context,\n contextId,\n moviesAndTv: mtv,\n currentUser: currentUser.data\n });\n const pointsOfInterest = useFetchPointsOfInterest(props.id, true);\n\n const regionAlternatives = Flight.useBasicFetch<RegionAlternative[]>(\n VideoRequests.regionAlternatives(props.id)\n );\n\n useSetPageMetadata(PageMetadataHelper.getVideoMetadata({\n content: video.data,\n regionAlternatives: regionAlternatives.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing(),\n hrefLang: SeoHelper.getContentHrefLang(regionAlternatives.data, (id: string, name: string) => ({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ id, TextHelper.slugify(name) ]\n }))\n }));\n\n useHandleObjectError(video, videoErrors, { forbidden: true });\n useVideoMixin(relatedVideos.videos ?? []);\n useDeepLinks({ id: props.id, app: 'videos' });\n useCannotConsumeError(strippedVideo);\n\n React.useEffect(() => {\n if (!video.data || !streamableLibrary.data)\n return;\n\n if (video.data.libraries?.data.find(library => library.id === streamableLibrary.data.objectId))\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ video.hasCompleted, streamableLibrary.hasCompleted ]);\n\n const dataLoaded = (\n video.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!dataLoaded)\n return <></>;\n\n return (\n <PlayPageV2\n video={video.data}\n clips={clips.data}\n interactives={interactives.data}\n yearGroups={yearGroups.data}\n curriculums={curriculums}\n relatedVideos={relatedVideos}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n imageCdnUrl={config.data.imageCdnUrl}\n currentUser={currentUser.data}\n pointsOfInterest={pointsOfInterest.items}\n playNext={playNext}\n featureAccess={featureAccess}\n audiences={audiences.data}\n params={props.queryParams}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n tableOfContentsId={props.queryParams?.tocId}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","map","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","getPhrase","videoErrors","PlayViewV2","props","queryParams","context","contextId","playNext","mtv","u","setFavourite","canFavourite","hasPermissions","isPlugin","activePresentation","featureAccess","streamableLibrary","currentUser","video","id","clips","interactives","config","yearGroups","data","isAuthenticated","customerId","audiences","shouldShowSideTableOfContents","strippedVideo","curriculums","relatedVideos","moviesAndTv","pointsOfInterest","regionAlternatives","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","stripPresentationSlug","allowIndexing","hrefLang","name","application","action","args","videos","app","libraries","find","library","objectId","hasCompleted","imageCdnUrl","items","params","canManageVideoAccess","tableOfContentsId","tocId","defaultProps"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/3515-72a31e0bbd-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/projects/lite/src/shared/views/play/v2/PlayViewV2.tsx"],"sourcesContent":["import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import * as React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { VideoNotFoundError } from 'libs/shared/errors/videos/video-not-found/VideoNotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\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 { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\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, InteractiveMetadata, PresentationAudience, RegionAlternative, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/v2/hooks/useShouldShowTableOfContents';\n\nimport { PlayViewProps } from '../PlayViewContainer';\n\nimport { PlayPageV2 } from './components/play-page/PlayPageV2';\n\nconst namespace = 'shared.play';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst videoErrors = {\n notFound: VideoNotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\nPlayViewV2.defaultProps = {\n queryParams: {}\n};\n\nexport function PlayViewV2(props: PlayViewProps): React.ReactElement {\n const { context, contextId, playNext, mtv } = props.queryParams;\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.PlayPage);\n\n const { hasPermissions } = usePermissions();\n\n const { isPlugin } = usePluginHelper();\n\n const { activePresentation } = usePresentation();\n\n const featureAccess = useVideoFeatureAccess();\n\n const streamableLibrary = Flight.useBasicFetch<HashObject>(LibraryRequests.streamableLearning());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const clips = Flight.useBasicFetch<Clip[]>(ClipRequests.videoClips(props.id));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n \n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n activePresentation &&\n AudienceRequests.audiencesByPresentationId(activePresentation.id)\n );\n \n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const strippedVideo = Flight.useBasicFetch<Video>(video.statusCode === HttpStatus.Forbidden &&\n VideoRequests.video(props.id, PermissionFilterOption.StripMetadata));\n\n const curriculums = useCurriculums(props.id, true);\n\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context,\n contextId,\n moviesAndTv: mtv,\n currentUser: currentUser.data\n });\n const pointsOfInterest = useFetchPointsOfInterest(props.id, true);\n\n const regionAlternatives = Flight.useBasicFetch<RegionAlternative[]>(\n VideoRequests.regionAlternatives(props.id)\n );\n\n useSetPageMetadata(PageMetadataHelper.getVideoMetadata({\n content: video.data,\n regionAlternatives: regionAlternatives.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing(),\n hrefLang: SeoHelper.getContentHrefLang(regionAlternatives.data, (id: string, name: string) => ({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ id, TextHelper.slugify(name) ]\n }))\n }));\n\n useHandleObjectError(video, videoErrors, { forbidden: true });\n useVideoMixin(relatedVideos.videos ?? []);\n useDeepLinks({ id: props.id, app: 'videos' });\n useCannotConsumeError(strippedVideo);\n\n React.useEffect(() => {\n if (!video.data || !streamableLibrary.data)\n return;\n\n if (video.data.libraries?.data.find(library => library.id === streamableLibrary.data.objectId))\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ video.hasCompleted, streamableLibrary.hasCompleted ]);\n\n const dataLoaded = (\n video.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!dataLoaded)\n return <></>;\n\n return (\n <PlayPageV2\n video={video.data}\n clips={clips.data}\n interactives={interactives.data}\n yearGroups={yearGroups.data}\n curriculums={curriculums}\n relatedVideos={relatedVideos}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n imageCdnUrl={config.data.imageCdnUrl}\n currentUser={currentUser.data}\n pointsOfInterest={pointsOfInterest.items}\n playNext={playNext}\n featureAccess={featureAccess}\n audiences={audiences.data}\n params={props.queryParams}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n tableOfContentsId={props.queryParams?.tocId}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","map","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","getPhrase","videoErrors","PlayViewV2","props","queryParams","context","contextId","playNext","mtv","u","setFavourite","canFavourite","hasPermissions","isPlugin","activePresentation","featureAccess","streamableLibrary","currentUser","video","id","clips","interactives","config","yearGroups","data","isAuthenticated","customerId","audiences","shouldShowSideTableOfContents","strippedVideo","curriculums","relatedVideos","moviesAndTv","pointsOfInterest","regionAlternatives","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","stripPresentationSlug","allowIndexing","hrefLang","name","application","action","args","videos","app","libraries","find","library","objectId","hasCompleted","imageCdnUrl","items","params","canManageVideoAccess","tableOfContentsId","tocId","defaultProps"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[458],{43156:(e,a,t)=>{t.r(a),t.d(a,{PlaySharedVideoViewV2:()=>A});var i=t(32735),s=t(20354),d=t(65858),c=t(16714),n=t(89454),r=t(43012),o=t(39151),u=t(1666),l=t(20768),v=t(31949),h=t(1575),m=t(26304),I=t(22902),p=t(79612),C=t(76753),P=t(51855),b=t(82817),y=t(7179),g=t(49948),F=t(36873),V=t(27638),f=t(86698),k=t(35014),w=t(97816),x=t(33192),B=t(61169),j=t(81812),q=t(16857);function A(e){var a,t,A,M,U=(0,V.u)(d.LZ.VideoThumbnail),G=U.setFavourite,L=U.canFavourite,N=(0,I.T)().hasPermissions,O=(0,P.G)().isPlugin,S=(0,k.I)(),T=(0,j.a)(),_=(0,f.y)().activePresentation,E=s.a.useBasicFetch(v.N.currentUser()),R=s.a.useBasicFetch(h.R.sharedVideo(e.objectId,e.shareId)),Z=s.a.useBasicFetch(S.canViewClips&&r.e.videoClips(e.objectId)),z=s.a.useBasicFetch(S.canViewInteractives&&l.b.videoInteractives(e.objectId)),D=s.a.useBasicFetch(o.L.config()),H=(0,F.k)({video:R.data,context:e.queryParams.context,contextId:e.queryParams.contextId,moviesAndTv:e.queryParams.mtv,currentUser:E.data}),J=(0,g.l)(e.objectId),K=s.a.useBasicFetch(!!_&&n.O.audiencesByPresentationId(_.id)),Q=s.a.useBasicFetch((null===(a=E.data)||void 0===a?void 0:a.isAuthenticated)&&u.h.yearGroups(E.data.customerId));(0,p.M)(C.CG.getVideoMetadata({content:R.data,canonicalLink:x.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1})),(0,w.V)(null!==(t=H.videos)&&void 0!==t?t:[]),(0,m.b)(R,{private:q.m}),(0,y.P)({id:e.objectId,app:"videos",shareId:e.shareId});var W=(0,b.M)(e.objectId);return R.data&&E.hasCompleted&&D.hasCompleted&&J.hasCompleted?i.createElement("div",{className:"px-3"},i.createElement(B.R,{video:R.data,clips:Z.data,interactives:z.data,yearGroups:Q.data,curriculums:W,imageCdnUrl:D.data.imageCdnUrl,relatedVideos:H,currentUser:E.data,setFavourite:G,canFavourite:L,pointsOfInterest:null==J?void 0:J.items,playNext:null===(A=e.queryParams)||void 0===A?void 0:A.playNext,shareId:e.shareId,featureAccess:S,audiences:K.data,params:e.queryParams,canManageVideoAccess:N(c.C.ManageVideoAccess),tableOfContentsId:null===(M=e.queryParams)||void 0===M?void 0:M.tocId,shouldShowSideTableOfContents:T,isPlugin:O})):i.createElement(i.Fragment,null)}}}]);
|
|
2
|
-
//# sourceMappingURL=458-
|
|
2
|
+
//# sourceMappingURL=458-1ca8abf829-lite.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/458-
|
|
1
|
+
{"version":3,"file":"scripts/458-1ca8abf829-lite.chunk.js","mappings":"mdAoCM,SAAUA,EAAsBC,G,YACpC,GAAuC,IAAAC,GAAkB,qBAAjDC,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aAEdC,GAAmB,SAAnBA,eAEAC,GAAa,SAAbA,SAEFC,GAAgB,SAEhBC,GAAgC,SAE9BC,GAAuB,SAAvBA,mBAEFC,EAAc,kBAAkC,mBAChDC,EAAQ,kBACZ,gBAA0BV,EAAMW,SAAUX,EAAMY,UAE5CC,EAAQ,kBAA6BP,EAAcQ,cAAgB,eAAwBd,EAAMW,WACjGI,EAAe,kBACnBT,EAAcU,qBAAuB,sBAAsChB,EAAMW,WAE7EM,EAAS,kBAA6B,cACtCC,GAAgB,OAAoB,CACxCR,MAAOA,EAAMS,KACbC,QAASpB,EAAMqB,YAAYD,QAC3BE,UAAWtB,EAAMqB,YAAYC,UAC7BC,YAAavB,EAAMqB,YAAYG,IAC/Bf,YAAaA,EAAYU,OAErBM,GAAmB,OAAyBzB,EAAMW,UAElDe,EAAY,oBACdlB,GACF,8BAA2CA,EAAmBmB,KAE1DC,EAAa,mBACD,QAAhB,EAAAnB,EAAYU,YAAI,eAAEU,kBAAmB,eAA4BpB,EAAYU,KAAKW,cAGpF,OAAmB,sBAAoC,CACrDC,QAASrB,EAAMS,KACfa,cAAe,qBAA2B,CAAEC,uBAAuB,IACnEC,eAAe,MAGjB,OAAkC,QAApB,EAAAhB,EAAciB,cAAM,QAAI,KACtC,OAAsBzB,EAAO,CAAE0B,QAAS,OACxC,OAAa,CAAET,GAAI3B,EAAMW,SAAU0B,IAAK,SAAUzB,QAASZ,EAAMY,UAEjE,IAAM0B,GAAc,OAAetC,EAAMW,UASzC,OANED,EAAMS,MACNV,EAAY8B,cACZtB,EAAOsB,cACPd,EAAiBc,aAOjB,uBAAKC,UAAU,QACb,gBAAC,IAAU,CACT9B,MAAOA,EAAMS,KACbN,MAAOA,EAAMM,KACbJ,aAAcA,EAAaI,KAC3BS,WAAYA,EAAWT,KACvBmB,YAAaA,EACbG,YAAaxB,EAAOE,KAAKsB,YACzBvB,cAAeA,EACfT,YAAaA,EAAYU,KACzBjB,aAAcA,EACdC,aAAcA,EACdsB,iBAAkBA,aAAgB,EAAhBA,EAAkBiB,MACpCC,SAA2B,QAAjB,EAAA3C,EAAMqB,mBAAW,eAAEsB,SAC7B/B,QAASZ,EAAMY,QACfN,cAAeA,EACfoB,UAAWA,EAAUP,KACrByB,OAAQ5C,EAAMqB,YACdwB,qBAAsBzC,EAAe,uBACrC0C,kBAAoC,QAAjB,EAAA9C,EAAMqB,mBAAW,eAAE0B,MACtCxC,8BAA+BA,EAC/BF,SAAUA,KAxBP,gCA4BX,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-video/v2/PlaySharedVideoViewV2.tsx"],"sourcesContent":["import * as 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 { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\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 { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { PlayPageV2 } from 'shared/views/play/v2/components/play-page/PlayPageV2';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/v2/hooks/useShouldShowTableOfContents';\n\nimport { ShareLinkPrivateError } from 'apps/share/errors/share-link-private/ShareLinkPrivateError';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedVideoViewV2(props: ShareLinkViewProps): React.ReactElement {\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n\n const { hasPermissions } = usePermissions();\n\n const { isPlugin } = usePluginHelper();\n\n const featureAccess = useVideoFeatureAccess();\n\n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const { activePresentation } = usePresentation();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(\n VideoRequests.sharedVideo(props.objectId, props.shareId)\n );\n const clips = Flight.useBasicFetch<Clip[]>(featureAccess.canViewClips && ClipRequests.videoClips(props.objectId));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\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 pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n \n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!activePresentation &&\n AudienceRequests.audiencesByPresentationId(activePresentation.id)\n );\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n useSetPageMetadata(PageMetadataHelper.getVideoMetadata({\n content: video.data,\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: false\n }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(video, { private: ShareLinkPrivateError });\n useDeepLinks({ id: props.objectId, app: 'videos', shareId: props.shareId });\n\n const curriculums = useCurriculums(props.objectId);\n\n const dataLoaded = (\n video.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!dataLoaded)\n return <></>;\n\n return (\n <div className='px-3'>\n <PlayPageV2\n video={video.data}\n clips={clips.data}\n interactives={interactives.data}\n yearGroups={yearGroups.data}\n curriculums={curriculums}\n imageCdnUrl={config.data.imageCdnUrl}\n relatedVideos={relatedVideos}\n currentUser={currentUser.data}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n pointsOfInterest={pointsOfInterest?.items}\n playNext={props.queryParams?.playNext}\n shareId={props.shareId}\n featureAccess={featureAccess}\n audiences={audiences.data}\n params={props.queryParams}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n tableOfContentsId={props.queryParams?.tocId}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n isPlugin={isPlugin}\n />\n </div>\n );\n}"],"names":["PlaySharedVideoViewV2","props","u","setFavourite","canFavourite","hasPermissions","isPlugin","featureAccess","shouldShowSideTableOfContents","activePresentation","currentUser","video","objectId","shareId","clips","canViewClips","interactives","canViewInteractives","config","relatedVideos","data","context","queryParams","contextId","moviesAndTv","mtv","pointsOfInterest","audiences","id","yearGroups","isAuthenticated","customerId","content","canonicalLink","stripPresentationSlug","allowIndexing","videos","private","app","curriculums","hasCompleted","className","imageCdnUrl","items","playNext","params","canManageVideoAccess","tableOfContentsId","tocId"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4718],{78259:(e,n,t)=>{t.d(n,{O:()=>c});var r=t(58176),a=t.n(r),i=t(39479),o={className:"info-link",defaultProtocol:"https"},c={linkifyText:function(e,n){if(e){var t=n?i.extend({},o,n):o;return a()(e,t)}}}},51685:(e,n,t)=>{t.d(n,{g:()=>m});var r=t(32735),a=t(78259),i=t(18559),o=t(86764),c=t(3747),l=t(26361),s=t(31908);const u={captionsBadge:"eXhiL"};function d(e){var n,t,o,c,l,d;if(!e.video.description&&!(null===(n=s.M.getCanBeConsumed(e.video))||void 0===n?void 0:n.canNavigate))return r.createElement("em",null,s.M.getPrivacyReasoning(e.video,e.showSignIn));var m=!!(null===(c=null===(o=null===(t=e.video)||void 0===t?void 0:t.subtitles)||void 0===o?void 0:o.data)||void 0===c?void 0:c.length);return r.createElement(r.Fragment,null,m&&r.createElement("span",{className:"d-inline-block align-middle ".concat(u.captionsBadge)},r.createElement(i.C,{type:i.g.Captions,data:null===(l=e.video)||void 0===l?void 0:l.subtitles})),!!(null===(d=e.video)||void 0===d?void 0:d.productionYear)&&r.createElement("span",{className:"fw-semibold align-middle"},m?" • ":"",e.video.productionYear),!!e.video.description&&r.createElement("span",{className:"align-middle",dangerouslySetInnerHTML:{__html:"".concat(e.video.productionYear||m?" • ":"").concat(a.O.linkifyText(e.video.description))}}))}function m(e){var n=(0,c.a)(o.r.XS),t=l.l.hasRestrictions(e.video);return n||t?r.createElement(r.Fragment,null):r.createElement("div",{className:"position-relative overflow-hidden clamp-2"},r.createElement("p",{className:"m-0"},r.createElement(d,{video:e.video,showSignIn:e.showSignIn})))}},84678:(e,n,t)=>{t.d(n,{L:()=>i});var r=t(32735),a=t(18559);function i(e){return r.createElement(a.C,{type:a.g.Restriction,data:{restrictions:e.restrictions,yearGroups:e.yearGroups},inline:!0})}},94696:(e,n,t)=>{t.d(n,{B:()=>l});var r=t(32735),a=t(17464),i=t(84678),o=t(26361),c=t(31908);function l(e){var n=o.l.hasRestrictions(e.video),t=c.M.getCanBeConsumed(e.video).canConsume;return n&&e.yearGroups&&t?r.createElement(a.c,{className:e.className||"pt-1"},r.createElement(i.L,{restrictions:e.video._restrictions,yearGroups:e.yearGroups})):r.createElement(r.Fragment,null)}},70872:(e,n,t)=>{t.d(n,{u:()=>l});var r=t(32735),a=t(65858),i=t(36848),o=t(38647),c=t(31908);function l(e){var n,t,l,s=c.M.getCanBeConsumed(e.video).canNavigate,u=c.M.getTitle(e.video),d=Object.assign(Object.assign({},e.analyticsData),{id:null===(n=e.video)||void 0===n?void 0:n.id,name:null===(t=e.video)||void 0===t?void 0:t.name}),m=Object.assign(Object.assign({},e.analyticsOptions),{actionType:a.Vw.Click,descriptor:a._S.Title}),v=e.textClassName||"clamp-1 align-middle ".concat("md"===e.size?"h4":"h5");return r.createElement(i.F,{className:e.linkClassName,appLink:s?e.appLink:null,onClick:s?e.onClickAppLink:null,analyticsOptions:m,analyticsData:d},r.createElement("h5",{className:v,title:null!==(l=e.video.name)&&void 0!==l?l:""},u,r.createElement(o.m,{size:e.size,video:e.video,yearGroups:e.yearGroups})))}},15469:(e,n,t)=>{t.d(n,{r:()=>d});var r=t(32735),a=t(36848),i=t(86572),o=t(83345),c=t(86764),l=t(81514),s=t(40424),u="shared.interactiveItem";function d(e){var n,t,d,m=(t=e.totalToDisplay,d=(0,l.V)(),"number"==typeof t?t:d===c.r.XS?3:d===c.r.SM?1:d===c.r.MD||d===c.r.LG?2:3);if(!(null===(n=e.timepoints)||void 0===n?void 0:n.length))return r.createElement(r.Fragment,null);var v=[],p=0;e.timepoints.forEach((function(n){null==n||n.interactions.forEach((function(t){if(p<m){p++;var r=t.typeId===s.Z9.Annotation&&"string"==typeof t.data?JSON.parse(t.data):t.data,a=Object.assign(Object.assign({},t),{data:Object.assign(Object.assign({},r),{appLink:e.appLink&&Object.assign(Object.assign({},e.appLink),{params:{t:Math.floor(n.visibleAt/1e3)}})})});v.push(a)}}))}));var f=e.timepoints.reduce((function(e,n){var t,r;return e+(null!==(r=null===(t=null==n?void 0:n.interactions)||void 0===t?void 0:t.length)&&void 0!==r?r:0)}),0);return v.length?r.createElement(r.Fragment,null,v.map((function(n){var t,a;return r.createElement("div",{key:n.id,className:"d-flex align-items-center mb-1"},r.createElement("div",{className:"clamp-1"},r.createElement(i.y,{interaction:n,appLink:null===(t=n.data)||void 0===t?void 0:t.appLink,onClick:(null===(a=n.data)||void 0===a?void 0:a.appLink)?e.onClickAppLink:null,smallIcon:!0})))})),r.createElement("div",{className:"mb-1 text-link"},r.createElement(a.F,{className:"info-link",appLink:e.previewAppLink,onClick:e.onClickAppLink},r.createElement(o.x,{namespace:u,phrase:"previewQuestions",options:{questionsShown:v.length,smartCount:f}})))):r.createElement(r.Fragment,null)}},81514:(e,n,t)=>{t.d(n,{V:()=>i});var r=t(86764),a=t(3747);function i(){var e=(0,a.a)(r.r.XS),n=(0,a.a)(r.r.SM),t=(0,a.a)(r.r.MD),i=(0,a.a)(r.r.LG),o=(0,a.a)(r.r.XL),c=(0,a.a)(r.r.XXL),l=r.r.LG;return e&&(l=r.r.XS),n&&(l=r.r.SM),t&&(l=r.r.MD),i&&(l=r.r.LG),o&&(l=r.r.XL),c&&(l=r.r.XXL),l}},80143:(e,n,t)=>{t.d(n,{n:()=>i});var r=t(32735),a=t(69454);function i(e,n){var t=r.useMemo((function(){return(null==e?void 0:e.length)&&n&&a.T.shouldShowAudiences(n)?a.T.getSortedPresentationAudiences(e,n):null}),[e]);return r.useMemo((function(){return(null==t?void 0:t.length)?a.T.getMergedPresentationAudienceString(t):null}),[t])}},69454:(e,n,t)=>{t.d(n,{T:()=>m});var r=t(75896),a=t(1048),i=t(55171);function o(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=i.call(t)).done)&&(c.push(r.value),c.length!==n);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,n)||function(e,n){if(e){if("string"==typeof e)return c(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}var l=/\d/,s={yearsAndGradesBuilder:function(e){var n=e.map((function(e){return e.name})).join(" "),t=n.split(" ").filter((function(e){return!isNaN(+e)})).map((function(e){return+e}))||[],r=n.split(" ").filter((function(e){return isNaN(+e)}))||[],a=e.find((function(e){return!l.test(e.name)})),i=r.find((function(e){return e!==(null==a?void 0:a.name)}));if(e.length>1&&(i+="s"),a&&t.length)return"".concat(i," ").concat(a.name.charAt(0)," - ").concat(t.pop());var o=function(e){var n,t,r,a,i=!1,o=[];for(e=e.sort((function(e,n){return e-n})),r=0;r<e.length;r++)a=r+1,i||(n=e[r]),t=e[a],e[r]+1===t?i=!0:i?(o.push("".concat(n," - ").concat(e[r])),i=!1):(o.push("".concat(e[r])),i=!1);return o}(t);return"".concat(i," ").concat(o.join(", "))},internationalSecondaryBuilder:function(e){return s.englandSecondaryBuilder(e)},scotlandPrimaryBuilder:function(e){var n=r.m.first(e),t=r.m.last(e),a=o(n.name.split(" "),1)[0],i=o(t.name.split(" "),1)[0];return"First"===a&&(a="1st"),"First"===i&&(i="1st"),"Second"===a&&(a="2nd"),"Second"===i&&(i="2nd"),a===i?"".concat(a," Level"):"".concat(a," - ").concat(i," Level")},internationalPrimaryBuilder:function(e){var n=r.m.first(e),t=r.m.last(e);if(n.name===t.name)return n.name;var a=o(n.name.split(" "),1)[0],i=o(t.name.split(" "),1)[0];return"Lower"===a&&(a="Low"),"Lower"===i&&(i="Low"),"Middle"===a&&(a="Mid"),"Middle"===i&&(i="Mid"),"".concat(a," - ").concat(i," Pri")},englandSecondaryBuilder:function(e){var n=r.m.first(e),t=r.m.last(e);return n.name===t.name?n.name:"Advanced"===t.name?"lower"===o(n.name.split(" "),1)[0].toLowerCase()?"Lower Sec - Adv":"Upper Sec - Adv":"Lower - Upper Sec"},scotlandSecondaryBuilder:function(e){var n=r.m.first(e),t=r.m.last(e);return n.name===t.name?n.name:"Senior Phase"===t.name?"".concat(n.name," - Senior"):"Third - Fourth Level"},englandPrimaryBuilder:function(e){var n=r.m.first(e),t=r.m.last(e),a=r.m.first(n.name.split(" ")),i=r.m.first(t.name.split(" ")),o=n.name.split(" ").find((function(e){return!isNaN(+e)})),c=t.name.split(" ").find((function(e){return!isNaN(+e)}));if(n===t)return"Key"===a||"Reception"===a?n.name:"".concat(a," KS").concat(o);var l="",s="";return l="Reception"===a?"R":"KS".concat(o),s="KS".concat(c),"Lower"===a&&"Upper"===i?"L ".concat(l," - U ").concat(s):("Lower"===a&&(l="Lower ".concat(l)),"Upper"===i&&(s="Upper ".concat(s)),"Key"===i&&(s=t.name),"".concat(l," - ").concat(s))}},u=/([0-9]+)/gi,d=/\s|\+/gi,m={getSortedPresentationAudiences:function(e,n){var t=e.filter((function(e){return!!e})).map((function(e){return e.id.toString()}));return n.filter((function(e){return t.includes(e.masterId.toString())}))},getMergedPresentationAudienceString:function(e){var n="";switch(+r.m.first(e).presentationId){case i.e.PresentationIds.DEFAULT:case i.e.PresentationIds.AU_SECONDARY:case i.e.PresentationIds.US_ELEMENTARY:case i.e.PresentationIds.AU_PRIMARY:case i.e.PresentationIds.STREAMABLE_LEARNING:if(1===e.length)return e[0];n=s.yearsAndGradesBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_SECONDARY:if(1===e.length)return e[0];n=s.internationalSecondaryBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_PRIMARY:n=s.internationalPrimaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_PRIMARY:n=s.scotlandPrimaryBuilder(e);break;case i.e.PresentationIds.ENGLISH_SECONDARY:n=s.englandSecondaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_SECONDARY:n=s.scotlandSecondaryBuilder(e);break;case i.e.PresentationIds.ENGLAND_PRIMARY:n=s.englandPrimaryBuilder(e);case i.e.PresentationIds.US_MIDDLE:case i.e.PresentationIds.US_HIGH:}return n?{name:n}:null},sortMembersWithDuplicateNamesByAudience:function(e){var n=function(e){return e.length?(e.forEach((function(e){var a=+r.m.first(e.name.match(u));if(!n)return n=e,void(t=a);a<t&&(n=e)})),n):null;var n,t},t={},a=[];return e.forEach((function(e){if(!t[e.name])return t[e.name]=1,void a.push(e);a.push(e),t[e.name]++;var r=a.splice(a.length-t[e.name]).sort((function(e,t){var r=n(e.subjectPresentationAudiences.data),a=n(t.subjectPresentationAudiences.data);if(!r&&a)return 1;if(!a)return-1;var i=r.name.localeCompare(a.name);return 0===i?i:i>0?-1:1}));a=a.concat(r)})),a},getActiveAudiencesFromParams:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(a.t.isObject(n)&&!a.t.isEmpty(n)&&e&&e.length&&m.shouldShowAudiences(e)){var t=n.a;if(t){"string"==typeof t&&(t=[t]);var r=function(e){return e.replace(d,"").toLowerCase()},i=t.reduce((function(e,n){return e[r(n)]=n,e}),{});return e.filter((function(e){return i[r(e.name)]}))}}},getAudienceParams:function(e){return(null==e?void 0:e.length)?{a:e.map((function(e){return e.name}))}:null},shouldShowAudiences:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.length>1}}}}]);
|
|
2
|
+
//# sourceMappingURL=4718-b3cfb276a7-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4718-b3cfb276a7-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/react/utils/LinkifyHelper.ts","file:///app/packages/libs/shared/src/components/video-list/components/video-item-description/video-item-description.scss","file:///app/packages/libs/shared/src/components/video-list/components/video-item-description/VideoItemDescription.tsx","file:///app/packages/libs/shared/src/components/video-list/components/video-item-restriction-badge/RestrictionBadge.tsx","file:///app/packages/libs/shared/src/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge.tsx","file:///app/packages/libs/shared/src/components/video-list/components/video-item-title/VideoItemTitle.tsx","file:///app/packages/libs/shared/src/components/video-list/interactive-item/InteractiveItemQuestions.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/hooks/UseMergeAudiences.ts","file:///app/packages/libs/shared/src/utils/audience-helper/AudienceStringBuilders.ts","file:///app/packages/libs/shared/src/utils/audience-helper/AudienceHelper.ts"],"sourcesContent":["import { ObjectHash } from 'backbone';\nimport linkifyStr from 'linkifyjs/string';\nimport * as _ from 'underscore';\n\nconst BaseLinkifyOptions = {\n className: 'info-link',\n defaultProtocol: 'https'\n};\n\nexport const LinkifyHelper = {\n /**\n * The underlying linkifyStr interface escapes text within the input string\n */\n linkifyText(text: string, options?: ObjectHash): string {\n if (!text) return;\n const ops = options ? _.extend({}, BaseLinkifyOptions, options) : BaseLinkifyOptions;\n return linkifyStr(text, ops);\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"captionsBadge\":\"eXhiL\"};","import * as React from 'react';\n\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { Video } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './video-item-description.scss';\n\ninterface InnerContentProps {\n video: Video;\n showSignIn: boolean;\n}\n\nfunction InnerContent(props: InnerContentProps): JSX.Element {\n if (!props.video.description && !VideoHelper.getCanBeConsumed(props.video)?.canNavigate) {\n return (\n <em>{VideoHelper.getPrivacyReasoning(props.video, props.showSignIn)}</em>\n );\n }\n\n const hasCaptions = !!props.video?.subtitles?.data?.length;\n\n return (\n <>\n {hasCaptions && (\n <span className={`d-inline-block align-middle ${styles.captionsBadge}`}>\n <Badge type={BadgeType.Captions} data={props.video?.subtitles} />\n </span>\n )}\n {!!props.video?.productionYear && (\n <span className='fw-semibold align-middle'>\n {hasCaptions ? ' \\u2022 ' : ''}{props.video.productionYear}\n </span>\n )}\n {!!props.video.description && (\n <span\n className='align-middle'\n dangerouslySetInnerHTML={{\n __html: `${(props.video.productionYear || hasCaptions) ? ' \\u2022 ' : ''}${LinkifyHelper.linkifyText(props.video.description)}`\n }}\n />\n )}\n </>\n );\n}\n\ninterface VideoItemDescriptionProps {\n video: Video;\n showSignIn?: boolean;\n}\n\nexport function VideoItemDescription(props: VideoItemDescriptionProps): JSX.Element {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n const hasRestrictions = RestrictionHelper.hasRestrictions(props.video);\n\n if (isMobile || hasRestrictions)\n return <></>;\n\n return (\n <div className={`position-relative overflow-hidden clamp-2`}>\n <p className='m-0'>\n <InnerContent\n video={props.video}\n showSignIn={props.showSignIn}\n />\n </p>\n </div>\n );\n}","import React from 'react';\n\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { Restrictions, YearGroup } from 'libs/shared/interfaces';\n\ninterface RestrictionBadgeProps {\n restrictions: Restrictions;\n yearGroups: YearGroup[];\n}\n\nexport function RestrictionBadge(props: RestrictionBadgeProps): JSX.Element {\n return (\n <Badge\n type={BadgeType.Restriction}\n data={{ restrictions: props.restrictions, yearGroups: props.yearGroups }}\n inline\n />\n );\n}","import React from 'react';\n\nimport { BadgeListContainer } from 'libs/shared/components/badges/BadgeListContainer';\nimport { RestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/RestrictionBadge';\nimport { VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ninterface VideoItemRestrictionBadgeProps {\n video: VideoTypes;\n yearGroups: YearGroup[];\n className?: string;\n}\n\nexport function VideoItemRestrictionBadge(props: VideoItemRestrictionBadgeProps): JSX.Element {\n const hasRestrictions = RestrictionHelper.hasRestrictions(props.video);\n const { canConsume } = VideoHelper.getCanBeConsumed(props.video);\n\n if (!hasRestrictions || !props.yearGroups || !canConsume)\n return <></>;\n \n return (\n <BadgeListContainer className={props.className || 'pt-1'}>\n <RestrictionBadge restrictions={props.video._restrictions} yearGroups={props.yearGroups} />\n </BadgeListContainer>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, ClickDescriptor, HashObject, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoItemSize } from 'libs/shared/components/video-list/BaseVideoItemProps';\nimport { RestrictionPadlock } from 'libs/shared/components/video-list/components/restriction-padlock/RestrictionPadlock';\nimport { Video, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ninterface VideoItemTitleProps {\n video: Video;\n appLink: Core.AppLink;\n onClickAppLink?: () => void;\n size?: VideoItemSize;\n analyticsData?: HashObject;\n analyticsOptions: AnalyticsOptions;\n yearGroups: YearGroup[];\n\n linkClassName?: string;\n textClassName?: string;\n}\n\nexport function VideoItemTitle(props: VideoItemTitleProps): JSX.Element {\n const { canNavigate } = VideoHelper.getCanBeConsumed(props.video);\n const title = VideoHelper.getTitle(props.video);\n\n const analyticsData: HashObject = {\n ...props.analyticsData,\n id: props.video?.id,\n name: props.video?.name\n };\n\n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.Title\n };\n\n const textClassName = props.textClassName || `clamp-1 align-middle ${props.size === 'md' ? 'h4' : 'h5'}`;\n\n return (\n <AppLink\n className={props.linkClassName}\n appLink={canNavigate ? props.appLink : null}\n onClick={canNavigate ? props.onClickAppLink : null}\n analyticsOptions={analyticsOptions}\n analyticsData={analyticsData}\n >\n <h5 className={textClassName} title={props.video.name ?? ''}>\n {title}\n <RestrictionPadlock\n size={props.size}\n video={props.video}\n yearGroups={props.yearGroups}\n />\n </h5>\n </AppLink>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { InteractionLabel } from 'libs/shared/components/interactive-questions/InteractionLabel';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { Interaction, InteractionTypeId, Timepoint } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.interactiveItem';\n\nfunction useGetQuestionDisplayLimit(totalToDisplay: number): number {\n const mediaQuery = useGetMediaQueryString();\n\n if (typeof totalToDisplay === 'number')\n return totalToDisplay;\n \n if (mediaQuery === MediaQueryStrings.XS)\n return 3;\n\n if (mediaQuery === MediaQueryStrings.SM)\n return 1;\n\n if (mediaQuery === MediaQueryStrings.MD || mediaQuery === MediaQueryStrings.LG)\n return 2;\n\n return 3;\n}\n\ninterface InteractiveItemQuestionsProps {\n timepoints: Timepoint[];\n appLink?: Core.AppLink;\n onClickAppLink?: () => void;\n previewAppLink: Core.AppLink;\n totalToDisplay?: number;\n}\n\nexport function InteractiveItemQuestions(props: InteractiveItemQuestionsProps): JSX.Element {\n const questionDisplayLimit = useGetQuestionDisplayLimit(props.totalToDisplay);\n\n if (!props.timepoints?.length)\n return <></>;\n\n const interactionsToShow: Interaction[] = [];\n let interactionCount: number = 0;\n\n props.timepoints.forEach(timepoint => {\n timepoint?.interactions.forEach(interaction => {\n if (interactionCount < questionDisplayLimit) {\n interactionCount++;\n\n // When displaying an annotation interaction, we display the \"data\" field, which may be a JSON string\n // For other interactions we display the \"name\" field, so we don't need to parse those.\n const interactionData = interaction.typeId === InteractionTypeId.Annotation && typeof(interaction.data) === 'string'\n ? JSON.parse(interaction.data)\n : interaction.data;\n\n const interactionToShow = {\n ...interaction,\n data: {\n ...interactionData,\n // Add interactive time to applink and convert to seconds\n appLink: props.appLink && { ...props.appLink, params: { t: Math.floor(timepoint.visibleAt / 1000) } }\n }\n };\n \n interactionsToShow.push(interactionToShow);\n }\n });\n });\n \n const totalInteractions = props.timepoints.reduce((acc, timepoint) => {\n const totalInteractions = timepoint?.interactions?.length ?? 0;\n acc += totalInteractions;\n\n return acc;\n }, 0);\n\n if (!interactionsToShow.length)\n return <></>;\n\n return (\n <>\n {interactionsToShow.map(interaction => {\n return (\n <div key={interaction.id} className='d-flex align-items-center mb-1'>\n <div className='clamp-1'>\n <InteractionLabel\n interaction={interaction}\n appLink={interaction.data?.appLink}\n onClick={interaction.data?.appLink ? props.onClickAppLink : null}\n smallIcon\n />\n </div>\n </div>\n );\n })}\n <div className='mb-1 text-link'>\n <AppLink\n className='info-link'\n appLink={props.previewAppLink}\n onClick={props.onClickAppLink}\n >\n <Text\n namespace={namespace}\n phrase='previewQuestions'\n options={{\n questionsShown: interactionsToShow.length,\n smartCount: totalInteractions\n }}\n />\n </AppLink>\n </div>\n </>\n );\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","import React from 'react';\n\nimport { Audience, PresentationAudience } from '../interfaces';\nimport { AudienceHelper } from '../utils/audience-helper/AudienceHelper';\n\nexport function useMergeAudiences(\n audiences: Audience[],\n presentationAudiences: PresentationAudience[]\n): PresentationAudience {\n // Memoize the audience functions as they are somewhat expensive and the result shouldn't change\n const sortedAudiences = React.useMemo(() => {\n if (!audiences?.length || !presentationAudiences || !AudienceHelper.shouldShowAudiences(presentationAudiences))\n return null;\n\n return AudienceHelper.getSortedPresentationAudiences(audiences, presentationAudiences);\n }, [audiences]);\n\n const mergedAudience = React.useMemo(() => {\n if (!sortedAudiences?.length)\n return null;\n\n return AudienceHelper.getMergedPresentationAudienceString(sortedAudiences);\n }, [sortedAudiences]);\n\n return mergedAudience;\n}","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nconst HAS_NUMBER_REGEX = /\\d/;\nconst COUNT_OFFSET = 1;\n\nexport const AudienceStringBuilders = {\n /**\n * Handles audience sets like:\n * - Year 7, Year 8, etc\n * - Kindergarten, Grade 1, Grade 2, etc\n */\n yearsAndGradesBuilder(audiences: PresentationAudience[]): string {\n /**\n * Create a string with all of the audiences\n */\n const combinedNames = audiences.map(a => a.name).join(' ');\n\n /**\n * Extract all the numbers and matches from the string\n */\n const numberList = combinedNames.split(' ').filter(name => !isNaN(+name)).map(num => +num) || [];\n const wordList = combinedNames.split(' ').filter(name => isNaN(+name)) || [];\n\n // Find an audience that doesn't have a number, like \"Kindergarten\" or \"Foundation\".\n const audienceWithoutNum = audiences.find(p => {\n return !HAS_NUMBER_REGEX.test(p.name);\n });\n\n // Get audience label prefix\n let prefix = wordList.find(name => name !== audienceWithoutNum?.name);\n\n // Pluralise the prefix is there are multiple audiences\n if (audiences.length > 1)\n prefix += 's';\n\n if (audienceWithoutNum && numberList.length)\n return `${prefix} ${audienceWithoutNum.name.charAt(0)} - ${numberList.pop()}`;\n\n /**\n * Build set of logical audience ranges\n */\n const audienceRange = processAudienceRanges(numberList);\n\n return `${prefix} ${audienceRange.join(', ')}`;\n },\n\n internationalSecondaryBuilder(audiences: PresentationAudience[]): string {\n return AudienceStringBuilders.englandSecondaryBuilder(audiences);\n },\n\n scotlandPrimaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n let [firstAudienceLevel] = firstAudience.name.split(' ');\n let [lastAudienceLevel] = lastAudience.name.split(' ');\n\n if (firstAudienceLevel === 'First')\n firstAudienceLevel = '1st';\n\n if (lastAudienceLevel === 'First')\n lastAudienceLevel = '1st';\n\n if (firstAudienceLevel === 'Second')\n firstAudienceLevel = '2nd';\n\n if (lastAudienceLevel === 'Second')\n lastAudienceLevel = '2nd';\n\n if (firstAudienceLevel === lastAudienceLevel)\n return `${firstAudienceLevel} Level`;\n\n return `${firstAudienceLevel} - ${lastAudienceLevel} Level`;\n },\n\n internationalPrimaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n let [firstAudienceLevel] = firstAudience.name.split(' ');\n let [lastAudienceLevel] = lastAudience.name.split(' ');\n\n if (firstAudienceLevel === 'Lower')\n firstAudienceLevel = 'Low';\n\n if (lastAudienceLevel === 'Lower')\n lastAudienceLevel = 'Low';\n\n if (firstAudienceLevel === 'Middle')\n firstAudienceLevel = 'Mid';\n\n if (lastAudienceLevel === 'Middle')\n lastAudienceLevel = 'Mid';\n\n return `${firstAudienceLevel} - ${lastAudienceLevel} Pri`;\n },\n\n /**\n * Handles the english secondary audiences, which can be: Lower Secondary, Upper Secondary, and Advanced\n */\n englandSecondaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n if (lastAudience.name === 'Advanced') {\n const [level] = firstAudience.name.split(' ');\n\n if (level.toLowerCase() === 'lower')\n return 'Lower Sec - Adv';\n\n return 'Upper Sec - Adv';\n }\n\n return 'Lower - Upper Sec';\n },\n\n scotlandSecondaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n if (lastAudience.name === 'Senior Phase')\n return `${firstAudience.name} - Senior`;\n\n return 'Third - Fourth Level';\n },\n\n /**\n * Handles the audience set: Reception, Key Stage 1, Lower Key Stage 2, and Upper Key Stage 2\n */\n englandPrimaryBuilder(audiences: PresentationAudience[]): string {\n // The first and last audience will build out the range\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n // The first word in the strings will either be \"Upper\", \"Lower\", \"Key\", or \"Reception\"\n const firstAudienceFirstWord = ArrayHelper.first(firstAudience.name.split(' '));\n const lastAudienceFirstWord = ArrayHelper.first(lastAudience.name.split(' '));\n\n // Each audience in this set except for \"Reception\" has a number. Get the numbers for the first and last audiences\n const firstAudienceNumber = firstAudience.name.split(' ').find(word => !isNaN(+word));\n const lastAudienceNumber = lastAudience.name.split(' ').find(word => !isNaN(+word));\n\n // If there's only one audience on the video:\n if (firstAudience === lastAudience) {\n // For these 2 audiences, return the full name as it's short enough already\n if (firstAudienceFirstWord === 'Key' || firstAudienceFirstWord === 'Reception')\n return firstAudience.name;\n\n // For the Upper/Lower key stage audiences, abbreviate the \"key stage\" part to KS1/KS2\n return `${firstAudienceFirstWord} KS${firstAudienceNumber}`;\n }\n\n /**\n * Handle when the object has >1 audience\n */\n\n let firstAudienceString = '';\n let lastAudienceString = '';\n\n // Reception is always shortened to \"R\" when in a range\n if (firstAudienceFirstWord === 'Reception') {\n firstAudienceString = 'R';\n } else {\n // All other audiences will be abbreviated to \"KS1/KS2\"\n firstAudienceString = `KS${firstAudienceNumber}`;\n }\n\n // The last audience will always be a key stage, so abbreviate this too\n lastAudienceString = `KS${lastAudienceNumber}`;\n\n // If the audience range contains both the \"Lower\" and \"Upper\" audiences, abbreviate those and return\n if (firstAudienceFirstWord === 'Lower' && lastAudienceFirstWord === 'Upper') {\n return `L ${firstAudienceString} - U ${lastAudienceString}`;\n }\n\n // Add \"Lower\" and \"Upper\" to the strings if it's needed\n if (firstAudienceFirstWord === 'Lower') {\n firstAudienceString = `Lower ${firstAudienceString}`;\n }\n\n if (lastAudienceFirstWord === 'Upper') {\n lastAudienceString = `Upper ${lastAudienceString}`;\n }\n\n // This handles a case where the range is Reception - Key Stage 1. In which case we don't abbreviate the key stage part to KS1.\n if (lastAudienceFirstWord === 'Key') {\n lastAudienceString = lastAudience.name;\n }\n\n return `${firstAudienceString} - ${lastAudienceString}`;\n }\n};\n\nfunction processAudienceRanges(audienceValues: number[]): string[] {\n /**\n * Lookahead by increments of offset\n */\n const offset = COUNT_OFFSET;\n\n let initialVal; let nextVal;\n let isContinguous: boolean = false;\n\n const ranges: string[] = [];\n\n // Audience values need to be in ascending order\n audienceValues = audienceValues.sort((a, b) => a - b);\n\n let i; let j;\n\n for (i = 0; i < audienceValues.length; i++) {\n j = i + 1;\n\n // Set our lower boundary to compare against\n if (!isContinguous)\n initialVal = audienceValues[i];\n\n nextVal = audienceValues[j];\n\n /**\n * Where the next number is also the next incremental value\n * we're going to continue iterating until the next value\n * is no longer contiguos.\n */\n if (audienceValues[i] + offset === nextVal) {\n isContinguous = true;\n } else if (isContinguous) {\n /**\n * Where we were tracking a contiguous set, format appropriately \n * and store the vals\n */\n\n ranges.push(`${initialVal} - ${audienceValues[i]}`);\n isContinguous = false;\n } else {\n /**\n * Where the values arent contiguous, just store the current value\n */\n\n ranges.push(`${audienceValues[i]}`);\n isContinguous = false;\n }\n }\n\n return ranges;\n}","import { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { Audience, BaseObject, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { AudienceStringBuilders } from './AudienceStringBuilders';\n\nconst DIGIT_REGEX = /([0-9]+)/ig;\nconst SPACE_REGEX = /\\s|\\+/ig;\n\n/**\n * Where there is 1 or less audiences on a presentation, it provides little value to\n * the user's experience, so we'll hide audiences altogether.\n */\nconst MIN_AUDIENCE_THRESHOLD = 1;\n\nexport const AudienceHelper = {\n /**\n * This is needed to sort an object's audiences, as they are not sorted by the backend.\n * To do this, we take the presentation audiences (sorted) and filter them by the object's\n * audiences, leaving behind a sorted array of object audiences.\n */\n getSortedPresentationAudiences(\n objectAudiences: Audience[],\n presentationAudiences: PresentationAudience[]\n ): PresentationAudience[] {\n /**\n * Atm there is a bug in flight's optimize, around multiple parts of the page \n * fetching the same object with a different response. We are filtering out\n * falsey values in our object audience ids until that's fixed. - Sha\n */\n const objectAudienceIds = objectAudiences\n .filter(v => !!v)\n .map(audience => audience.id.toString());\n\n /**\n * Remove audiences that aren't relevant for the user's current presentation\n */\n const filteredAudiences = presentationAudiences.filter(presAudience => {\n return objectAudienceIds.includes(presAudience.masterId.toString());\n });\n\n return filteredAudiences;\n },\n\n /**\n * This function accepts a set of presentation audiences, and returns a single\n * audience where the name is a merged string of the names of all of the audiences passed in.\n *\n * As we add more presentations that have different audience sets, we'll need to extend the `switch`\n * statement below to either include new string builder functions, or to include new presentation IDs\n * for existing string builder functions.\n */\n getMergedPresentationAudienceString(presentationAudiences: PresentationAudience[]): PresentationAudience {\n const { presentationId } = ArrayHelper.first(presentationAudiences);\n\n let mergedAudienceString = '';\n\n switch (+presentationId) {\n // Generic `Name Number`. Sometimes has just name. Examples: Year 12, Grade 4, Kindergarten\n case HardCoded.PresentationIds.DEFAULT:\n case HardCoded.PresentationIds.AU_SECONDARY:\n case HardCoded.PresentationIds.US_ELEMENTARY:\n case HardCoded.PresentationIds.AU_PRIMARY:\n case HardCoded.PresentationIds.STREAMABLE_LEARNING:\n if (presentationAudiences.length === 1)\n return presentationAudiences[0];\n\n mergedAudienceString = AudienceStringBuilders.yearsAndGradesBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.INTERNATIONAL_SECONDARY:\n if (presentationAudiences.length === 1)\n return presentationAudiences[0];\n\n // TODO: Implement this properly\n mergedAudienceString = AudienceStringBuilders.internationalSecondaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.INTERNATIONAL_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.internationalPrimaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.SCOTLAND_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.scotlandPrimaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.ENGLISH_SECONDARY:\n mergedAudienceString = AudienceStringBuilders.englandSecondaryBuilder(presentationAudiences);\n break;\n\n \n case HardCoded.PresentationIds.SCOTLAND_SECONDARY:\n mergedAudienceString = AudienceStringBuilders.scotlandSecondaryBuilder(presentationAudiences);\n break;\n\n // Key Stage 1, Lower Key Stage 2, etc.\n case HardCoded.PresentationIds.ENGLAND_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.englandPrimaryBuilder(presentationAudiences);\n break;\n\n // These presentations only have 1 audience mapped. These are never shown as badges in the product.\n case HardCoded.PresentationIds.US_MIDDLE:\n case HardCoded.PresentationIds.US_HIGH:\n default:\n break;\n }\n\n if (!mergedAudienceString)\n return null;\n\n return { name: mergedAudienceString } as PresentationAudience;\n },\n\n /**\n * This function assumes the members array passed in is ordered by `name`.\n */\n sortMembersWithDuplicateNamesByAudience(members: BaseObject[]): BaseObject[] {\n // Returns the lowest level audience out of an array of audience objects by looking at the name\n const getLowestAudience = (audiences: Audience[]) => {\n if (!audiences.length)\n return null;\n\n let lowestAudience: Audience;\n let lowestAudienceDigit: number;\n\n audiences.forEach(audience => {\n const digit = +ArrayHelper.first(audience.name.match(DIGIT_REGEX));\n\n if (!lowestAudience) {\n lowestAudience = audience;\n lowestAudienceDigit = digit;\n return;\n }\n\n if (digit < lowestAudienceDigit)\n lowestAudience = audience;\n });\n\n return lowestAudience;\n };\n\n // This is used to track how many times a member's name appears in the collection\n const nameCountMap: HashObject<number> = {};\n\n let sorted: BaseObject[] = [];\n\n members.forEach(member => {\n if (!nameCountMap[member.name]) {\n nameCountMap[member.name] = 1;\n sorted.push(member);\n return;\n }\n\n sorted.push(member);\n nameCountMap[member.name]++;\n\n // Take the slice of duplicates that we want to sort by audience\n const slice = sorted.splice(sorted.length - nameCountMap[member.name]);\n\n // Sort the slice by lowest audience\n const sortedSlice = slice.sort((a: any, b: any) => {\n const firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);\n const secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);\n\n if (!firstObjLowestAudience && secondObjLowestAudience)\n return 1;\n\n if (!secondObjLowestAudience)\n return -1;\n\n const comparison = firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);\n\n if (comparison === 0) return comparison;\n\n return comparison > 0 ? -1 : 1;\n });\n\n sorted = sorted.concat(sortedSlice);\n });\n\n return sorted;\n },\n\n getActiveAudiencesFromParams(audiences: PresentationAudience[], params: HashObject = {}): PresentationAudience[] {\n if (!ObjectHelper.isObject(params) || ObjectHelper.isEmpty(params))\n return;\n\n if (!audiences || !audiences.length)\n return;\n\n if (!AudienceHelper.shouldShowAudiences(audiences))\n return;\n\n // 'a' is shorthand for audience\n let { a } = params;\n\n if (!a)\n return;\n\n // Only a single query param was passed, we'll wrap it in an array\n if (typeof a === 'string')\n a = [a];\n\n const normalizeAudienceName = (audienceName: string) => {\n return audienceName.replace(SPACE_REGEX, '').toLowerCase();\n };\n\n // Build an audience lookup\n const audienceLookup = a.reduce((state: HashObject, audienceStr: string) => {\n state[normalizeAudienceName(audienceStr)] = audienceStr;\n return state;\n }, {});\n\n // Filter out our active audience based on whether their name matches the lookup object\n return audiences.filter((audience: PresentationAudience) => {\n return audienceLookup[normalizeAudienceName(audience.name)];\n });\n },\n\n getAudienceParams(audiences: PresentationAudience[]): HashObject {\n if (!audiences?.length)\n return null;\n\n return { a: audiences.map(a => a.name) };\n },\n\n shouldShowAudiences(audiences: PresentationAudience[] = []): boolean {\n if (!audiences)\n return false;\n\n return audiences.length > MIN_AUDIENCE_THRESHOLD;\n }\n};\n"],"names":["BaseLinkifyOptions","className","defaultProtocol","LinkifyHelper","linkifyText","text","options","ops","InnerContent","props","video","description","VideoHelper","canNavigate","showSignIn","hasCaptions","subtitles","data","length","Badge","type","productionYear","dangerouslySetInnerHTML","__html","VideoItemDescription","isMobile","hasRestrictions","RestrictionHelper","RestrictionBadge","restrictions","yearGroups","inline","VideoItemRestrictionBadge","canConsume","_restrictions","VideoItemTitle","title","analyticsData","id","name","analyticsOptions","actionType","descriptor","textClassName","size","linkClassName","appLink","onClick","onClickAppLink","namespace","InteractiveItemQuestions","totalToDisplay","mediaQuery","questionDisplayLimit","timepoints","interactionsToShow","interactionCount","forEach","timepoint","interactions","interaction","interactionData","typeId","JSON","parse","interactionToShow","params","t","Math","floor","visibleAt","push","totalInteractions","reduce","acc","map","key","smallIcon","previewAppLink","phrase","questionsShown","smartCount","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","useMergeAudiences","audiences","presentationAudiences","sortedAudiences","HAS_NUMBER_REGEX","AudienceStringBuilders","yearsAndGradesBuilder","combinedNames","a","join","numberList","split","filter","isNaN","num","wordList","audienceWithoutNum","find","p","test","prefix","charAt","pop","audienceRange","audienceValues","initialVal","nextVal","i","j","isContinguous","ranges","sort","b","processAudienceRanges","internationalSecondaryBuilder","englandSecondaryBuilder","scotlandPrimaryBuilder","firstAudience","ArrayHelper","lastAudience","firstAudienceLevel","lastAudienceLevel","internationalPrimaryBuilder","toLowerCase","scotlandSecondaryBuilder","englandPrimaryBuilder","firstAudienceFirstWord","lastAudienceFirstWord","firstAudienceNumber","word","lastAudienceNumber","firstAudienceString","lastAudienceString","DIGIT_REGEX","SPACE_REGEX","AudienceHelper","getSortedPresentationAudiences","objectAudiences","objectAudienceIds","v","audience","toString","presAudience","includes","masterId","getMergedPresentationAudienceString","mergedAudienceString","presentationId","HardCoded","sortMembersWithDuplicateNamesByAudience","members","getLowestAudience","digit","match","lowestAudience","lowestAudienceDigit","nameCountMap","sorted","member","sortedSlice","splice","firstObjLowestAudience","subjectPresentationAudiences","secondObjLowestAudience","comparison","localeCompare","concat","getActiveAudiencesFromParams","ObjectHelper","shouldShowAudiences","normalizeAudienceName","audienceName","replace","audienceLookup","state","audienceStr","getAudienceParams"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5242],{71020:(e,t,n)=>{n.d(t,{_:()=>u});var a=n(32735),i=n(80247),r=n(34152),s=n(83914),o=n(35223);const l={container:"VwD1b",spinner:"eJ85e"};function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u=(t=(0,r.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,s,o=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=u[0],p=u[1];return a.useEffect((function(){var t;e.fetchOnScroll&&p&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[p,e.isFetching]),a.createElement("div",{className:"p-3 text-center ".concat(l.container),ref:d},e.isFetching?a.createElement(i.Z,{as:"span",animation:"border",role:"status",className:l.spinner}):a.createElement(s.x,{svgName:o.vn.ChevronDown,className:"svg-container cursor-pointer",size:s.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},16930:(e,t,n)=>{n.d(t,{W:()=>c,f:()=>l});var a=n(32735),i=n(83914),r=n(35223);const s="VSAPU",o="kgeXh";var l;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(l||(l={}));var c=a.memo((function(e){var t,n,c,u=e.direction===l.Left,d=u?r.vn.ChevronLeft:r.vn.ChevronRight;return e.hide?a.createElement(a.Fragment,null):a.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(c=e.state)||void 0===c?void 0:c.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&a.createElement("div",{className:u?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&a.createElement("div",{role:"button",onClick:e.onClick,className:"".concat("AtsWP"," ").concat(u?s:o)}),a.createElement("div",{role:"button",className:"".concat((t="BVcIS",t+=u?" ".concat(s," ").concat(e.leftButtonClassName):" ".concat(o," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick},e.hoverText&&a.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),a.createElement(i.x,{svgName:d,size:i.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},60115:(e,t,n)=>{n.d(t,{K:()=>c});var a=n(32735),i=n(50242),r=n(91967),s=400,o=n(45719);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t,n,c,u,d){var p,m,v,g,y=(p=(0,a.useState)(0),m=2,function(e){if(Array.isArray(e))return e}(p)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,s,o=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(p,m)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(p,m)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=y[0],h=y[1],b=t,L=(0,o.P)((function(t){if(!e)return null;var n=e(t);return n?n.key:null}),c,u);return v={fetchNextPage:function(){if(t&&e&&L)return h((function(e){return e+1})),b(L.nextCursor)},hasMore:!!(null==L?void 0:L.nextCursor),isFetching:null==L?void 0:L.isFetching,scrollContainer:d},g=function(){if(!v.isFetching){if(v.scrollContainer){var e=v.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-s)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-s)return;v.fetchNextPage()}},(0,a.useEffect)((function(){var e=r.q.throttle(g,200),t=v.scrollContainer||window;return v.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[v.hasMore,v.fetchNextPage,v.scrollContainer]),(0,a.useEffect)((function(){L&&L.shouldInitialFetch&&t&&(b(),h((function(e){return e+1})))}),[null==L?void 0:L.shouldInitialFetch,t]),(0,a.useEffect)((function(){var e,t;if((null==L?void 0:L.statusCode)&&r.q.isFunction(n)){var a=+(null===(t=null===(e=L.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==i.k.ClientError&&a!==i.k.ServerError||n(f,L.statusCode)}}),[null==L?void 0:L.statusCode]),{items:null==L?void 0:L.items,hasMore:!!(null==L?void 0:L.nextCursor),nextCursor:null==L?void 0:L.nextCursor,isFetching:null==L?void 0:L.isFetching,totalItems:null==L?void 0:L.totalItems,hasFirstPageCompleted:null==L?void 0:L.hasFirstPageCompleted}}},55493:(e,t,n)=>{n.r(t),n.d(t,{SearchResultsView:()=>Pt,namespace:()=>Et});var a=n(32735),i=n(23481),r=n(65858),s=n(68050),o=n(79967),l=n(31908),c=n(69111),u=n(2192);function d(e){var t,n,i,s=Object.assign(Object.assign({},e.analyticsData),{id:null===(t=e.data)||void 0===t?void 0:t.id,name:null===(n=e.data)||void 0===n?void 0:n.name}),o=Object.assign(Object.assign({location:r.LZ.ClassificationListItem},e.analyticsOptions),{actionType:r.Vw.Click,entity:r.py.Company,descriptor:r._S.Cover});return a.createElement(u.Q,Object.assign({},e,{analyticsData:s,analyticsOptions:o,coverUrl:null===(i=e.data.logo)||void 0===i?void 0:i.url}))}function p(e){return a.createElement(c.Z,{sm:6,md:e.useLargeStyle?6:4,lg:e.useLargeStyle?4:3},a.createElement("div",{className:"position-relative px-1 mb-2"},a.createElement(d,{data:e.item,getChildAppLink:e.appLinks.getCompanyAppLink,getChildAppLinkOptions:function(){var t,n;return null===(n=(t=e.appLinks).getCompanyAppLinkOptions)||void 0===n?void 0:n.call(t,e.item)},analyticsData:{itemIndex:e.itemIndex,search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:0},isLarge:e.useLargeStyle})))}var m=n(81886),v=n(43500),g=n(36848),y=n(83345),f=n(82072);const h="ZhLPS";function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var L="search.exchangeVideoGroup";function A(e){var t,n,i=e.item.showCount>=3?3:e.item.showCount,s=m.Q.C$.getCurrentAppLink(),o=null!==(t=s.params)&&void 0!==t?t:{},l=null!==(n=null==o?void 0:o.source)&&void 0!==n?n:[];l&&!Array.isArray(l)&&(l=[l]);var c,u=Object.assign(Object.assign({},s),{params:Object.assign(Object.assign({},o),{source:[].concat((c=l,function(e){if(Array.isArray(e))return b(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[v.fi.ExchangeArchive])})}),d={query:e.queryParams.query,itemIndex:e.itemIndex,pagePositionIndex:e.pagePositionIndex},p={entity:r.py.SearchResults,location:r.LZ.ExchangeSearchGroupItem,actionType:r.Vw.Click,descriptor:r.Bk.ExchangeArchive};return a.createElement("div",{className:0===e.pagePositionIndex?"border-bottom pb-1 mb-3":"border-top border-bottom pt-3 mt-2 pb-1 mb-3"},a.createElement(g.F,{appLink:u,analyticsData:d,analyticsOptions:p},a.createElement("h2",{className:"h4"},a.createElement(y.x,{namespace:L,phrase:"heading"}))),a.createElement("p",null,a.createElement(y.x,{namespace:L,phrase:"message"})," ",a.createElement(g.F,{appLink:e.appLinks.searchSettings,className:"text-info",analyticsData:d,analyticsOptions:Object.assign(Object.assign({},p),{descriptor:r._S.Settings})},a.createElement(y.x,{namespace:L,phrase:"searchSettings"})),"."),a.createElement("div",{className:"position-relative ".concat(h)},e.item.videos.slice(0,i).map((function(t,n){return a.createElement(f.m,{key:n,video:t,yearGroups:e.yearGroups,getVideoAppLink:e.appLinks.getVideoAppLink,getSubTextAppLink:e.appLinks.getSubTextAppLink,presentationAudiences:e.audiences,setFavourite:e.setFavourite,canFavourite:e.canFavourite,analyticsData:{search:{query:e.queryParams.query,score:t._score,maxScore:t._maxScore,featured:t._featured},pagePositionIndex:e.pagePositionIndex},companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,getClassroomGuideAppLink:e.appLinks.getClassroomGuideAppLink,getResourceGuidanceAppLink:e.appLinks.getResourceGuidanceAppLink,getInteractiveGuidanceAppLink:e.appLinks.getInteractiveGuidanceAppLink,isPlugin:e.isPlugin})}))),a.createElement("div",{className:"text-center py-2"},a.createElement(g.F,{className:"text-secondary",appLink:u,analyticsData:d,analyticsOptions:p},a.createElement(y.x,{namespace:L,phrase:"seeMore"}))))}var k=n(3626);function x(e){return a.createElement("div",{className:"pb-3"},a.createElement(k.J,{video:e.item,presentationAudiences:e.audiences,getVideoAppLink:function(t,n){return e.appLinks.getVideoAppLink(t,n)},subTextAppLink:e.appLinks.getSubTextAppLink(e.item),setFavourite:e.setFavourite,canFavourite:e.canFavourite,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},hideInteractiveBadge:!0,yearGroups:e.yearGroups,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,showVideoGuidance:l.M.showVideoGuidance(e.hasPermissions),imageCdnUrl:e.imageCdnUrl,isPlugin:e.isPlugin,getInteractiveGuidanceAppLink:e.appLinks.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:e.appLinks.getResourceGuidanceAppLink,getClassroomGuideAppLink:e.appLinks.getClassroomGuideAppLink}))}var E=n(98981),S=n(7733);const P={videoList:"eEZEe"};var O="search.playlistWithVideos";function C(e){var t,n=(t=(0,o.k)()).xl||t.xxl?3:2,i=e.playlist.videos.data.slice(0,n),l={actionType:r.Vw.Click,entity:r.py.Playlist,location:r.LZ.PlaylistWithVideos},u=Object.assign(Object.assign({},e.analyticsData),{id:e.playlist.id,name:e.playlist.name});return a.createElement("div",{className:"ps-2 py-2"},a.createElement(s.Z,{className:"g-0 border border-light rounded-3"},a.createElement(c.Z,{xs:4,lg:3,className:"pe-3"},a.createElement(E.tN,{appLink:e.playlistAppLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},l),{descriptor:r._S.Cover}),data:e.playlist,presentationAudiences:e.presentationAudiences,bgColourClassNames:S.o,itemStyle:"round-left",imageCdnUrl:e.imageCdnUrl,currentUser:e.currentUser,showCount:!1,showOwner:!0})),a.createElement(c.Z,{xs:8,lg:9},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement("div",{className:"pt-3 mb-n2 ".concat(P.videoList)},null==i?void 0:i.map((function(t){var n=Object.assign(Object.assign({},u),{videoId:t.id,videoName:t.name});return a.createElement("div",{key:t.id,className:"mb-2"},a.createElement(f.m,{video:t,getSubTextAppLink:e.getSubTextAppLink,canFavourite:function(){return!1},setFavourite:null,getVideoAppLink:e.getVideoAppLink,analyticsData:n,analyticsOptions:{entity:r.py.Video,location:r.LZ.PlaylistWithVideos},size:"sm",yearGroups:e.yearGroups,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,isPlugin:e.isPlugin,hideVideoGuidance:!0}))}))),a.createElement("div",{className:"text-end pt-3 pe-3"},a.createElement(g.F,{className:"info-link fw-semibold",appLink:e.playlistAppLink,analyticsData:u,analyticsOptions:Object.assign(Object.assign({},l),{descriptor:r._S.Link})},a.createElement(y.x,{namespace:O,phrase:"seeAllVideos"})))))))}function j(e){return a.createElement("div",{className:"mx-n2"},a.createElement(C,{playlist:e.item,yearGroups:e.yearGroups,playlistAppLink:e.appLinks.getPlaylistAppLink(e.item),presentationAudiences:e.audiences,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},imageCdnUrl:e.imageCdnUrl,currentUser:e.currentUser,preloadImage:!0,getSubTextAppLink:e.appLinks.getSubTextAppLink,getVideoAppLink:e.appLinks.getVideoAppLink,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,isPlugin:e.isPlugin}))}var I=n(34004);const F={videoList:"UT8bc"};var T="search.seriesWithVideos";function w(e){var t,n=(t=(0,o.k)()).xl||t.xxl?5:t.lg||t.md?4:3,i=e.series.videos.data.slice(0,n),l={actionType:r.Vw.Click,entity:r.py.Series,location:r.LZ.SeriesWithVideos},u=Object.assign(Object.assign({},e.analyticsData),{id:e.series.id,name:e.series.name});return a.createElement("div",{className:"ps-2 py-2"},a.createElement(s.Z,{className:"g-0 border border-light rounded-3"},a.createElement(c.Z,{xs:4,lg:3,className:"pe-3"},a.createElement(g.F,{appLink:e.seriesAppLink,className:"position-relative",analyticsData:u,analyticsOptions:Object.assign(Object.assign({},l),{descriptor:r._S.TallPoster})},a.createElement(I.r,{series:e.series,presentationAudiences:e.presentationAudiences,preloadImage:e.preloadImage,imageClass:"rounded-start-lg"}))),a.createElement(c.Z,{xs:8,lg:9},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement("div",{className:"pt-3 mb-n2 ".concat(F.videoList)},null==i?void 0:i.map((function(t){var n=Object.assign(Object.assign({},u),{videoId:t.id,videoName:t.name});return t=Object.assign(Object.assign({},t),{series:e.series}),a.createElement("div",{key:t.id,className:"mb-2"},a.createElement(f.m,{video:t,getSubTextAppLink:e.subTextAppLink,canFavourite:function(){return!1},setFavourite:null,getVideoAppLink:e.getVideoAppLink,analyticsData:n,analyticsOptions:{entity:r.py.Video,location:r.LZ.SeriesWithVideos},size:"sm",yearGroups:e.yearGroups,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,isPlugin:e.isPlugin,hideVideoGuidance:!0}))}))),a.createElement("div",{className:"text-end pt-3 pe-3"},a.createElement(g.F,{className:"info-link fw-semibold",appLink:e.seriesAppLink,analyticsData:u,analyticsOptions:Object.assign(Object.assign({},l),{descriptor:r._S.Link})},a.createElement(y.x,{namespace:T,phrase:"seeAllVideos"})))))))}function N(e){return a.createElement("div",{className:"mx-n2"},a.createElement(w,{yearGroups:e.yearGroups,presentationAudiences:e.audiences,series:e.item,seriesAppLink:e.appLinks.getSeriesAppLink(e.item),subTextAppLink:e.appLinks.getSubTextAppLink,getVideoAppLink:e.appLinks.getVideoAppLink,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},preloadImage:!0,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,isPlugin:e.isPlugin}))}var _=n(5465),q=n(24900),V=n(11882),U="search.collectionVideoList";function R(e){var t,n=(t=(0,o.k)()).xs?2:t.sm?1:3,i={analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions};return a.createElement(a.Fragment,null,a.createElement("ul",{className:"list-unstyled my-1"},e.videos.slice(0,n).map((function(t){var n,r=!!t.episodeNumber&&!!(null===(n=t.season)||void 0===n?void 0:n.id);return a.createElement("li",{key:"".concat(e.collectionId,":").concat(t.id),className:"d-flex align-items-center"},a.createElement(g.F,Object.assign({},i,{className:"clamp-1",appLink:e.getVideoAppLink(t)}),r&&a.createElement(a.Fragment,null,a.createElement(V.Q,{video:t})," "),t.name))}))),a.createElement(g.F,Object.assign({},i,{className:"info-link",appLink:e.appLink}),a.createElement(y.x,{namespace:U,phrase:"seeAll"})))}var D=n(83657),G=n(18559),M=n(17464),B=n(75163),Z=n(9977),Q=n(54610);const W={overlayContainer:"MnBcv",overlay:"AZSmh"};var $="search.collectionThumbnail";function H(e){var t,n,i,s,l=(0,o.k)(),u="sm"===Z.O.getSize(l,"md"),d=!!(null===(n=null===(t=e.collection.videos)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length),p=d&&e.collection.videos.data.find((function(e){var t;return!!(null===(t=e.thumbnail)||void 0===t?void 0:t.url)})),m=(s=Object.assign(Object.assign({},e.analyticsData),{id:e.collection.id,name:e.collection.name}),p&&(s.videoId=p.id,s.videoName=p.name),s),v="series"===e.collectionType;return a.createElement("div",{className:"row g-0 ".concat(u?"":"py-2")},a.createElement(c.Z,Object.assign({},Z.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(u?"pb-2 pe-2":"mb-1 px-2")}),a.createElement("div",{className:"position-relative overflow-hidden ".concat(u?"rounded":"rounded-3")},a.createElement(B.Z,{data:null==p?void 0:p.thumbnail,appLink:e.appLink,imageType:Q.__.Thumbnails,analyticsData:m,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:r._S.Thumbnail})},a.createElement(q.z,{type:e.maskType}),a.createElement(_.oy,{type:e.imageFallbackType}),a.createElement("div",{className:"d-flex flex-column align-items-center justify-content-center text-white h-100 ".concat(W.overlay)},a.createElement(y.x,{namespace:$,phrase:"seeAll"}))))),a.createElement(c.Z,Object.assign({},Z.O.getDetailsColumns(),{className:u?"pb-2":"px-2"}),!e.isPlugin&&a.createElement(D.e,{actions:e.getCollectionActions(e.collection,e.showActions,e.collectionType,e.analyticsOptions),className:"float-end mt-n1",actionsDropdownClassName:"btn btn-link ms-1"}),a.createElement(g.F,{appLink:e.appLink,analyticsData:m,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:r._S.Title})},a.createElement("h5",{className:"m-0 mb-1"},a.createElement("span",{className:"clamp-1"},e.collection.name))),v&&!e.hideBadges&&a.createElement(M.c,null,a.createElement(G.C,{type:G.g.Rating,data:e.collection.rating}),a.createElement(G.C,{type:G.g.ProductionYear,data:null===(i=e.collection.metadata)||void 0===i?void 0:i.year})),d&&a.createElement(R,{collectionId:e.collection.id,videos:e.collection.videos.data,appLink:e.appLink,analyticsData:m,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:r._S.Link}),getVideoAppLink:e.getVideoAppLink})))}function z(e){return a.createElement("div",{className:"position-relative ".concat(h)},a.createElement(H,{analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},analyticsOptions:{entity:r.py.Playlist,actionType:r.Vw.Click,location:r.LZ.PlaylistListItem},appLink:e.appLinks.getPlaylistAppLink(e.item),showActions:e.showActions,collection:e.item,collectionType:"playlist",maskType:q.O.Playlist,imageFallbackType:_.mS.PlaylistThumbnail,isPlugin:e.isPlugin,getVideoAppLink:e.appLinks.getVideoAppLink,getCollectionActions:e.appLinks.getCollectionActions}))}function J(e){return a.createElement("div",{className:"position-relative ".concat(h)},a.createElement(H,{analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},analyticsOptions:{entity:r.py.Series,actionType:r.Vw.Click,location:r.LZ.SeriesListItem},appLink:e.appLinks.getSeriesAppLink(e.item),collectionType:"series",collection:e.item,showActions:e.showActions,maskType:q.O.Series,imageFallbackType:_.mS.SeriesThumbnail,hideBadges:!0,isPlugin:e.isPlugin,getVideoAppLink:e.appLinks.getVideoAppLink,getCollectionActions:e.appLinks.getCollectionActions}))}var X=n(9513);function K(e){return a.createElement(c.Z,{sm:6,md:e.useLargeStyle?6:4,lg:e.useLargeStyle?4:3},a.createElement("div",{className:"position-relative px-1 mb-2"},a.createElement(X.Vz,{data:e.item,getChildAppLink:e.appLinks.getClassificationAppLink,getChildAppLinkOptions:function(){var t,n;return null===(n=(t=e.appLinks).getClassificationAppLinkOptions)||void 0===n?void 0:n.call(t,e.item)},availablePresentations:e.availablePresentations,analyticsData:{itemIndex:e.itemIndex,search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:0},isLarge:e.useLargeStyle})))}var Y=n(34550),ee=n(66133);function te(e){var t,n=(t=e.item,l.M.isClip(t)?Y.I:l.M.isInteractive(t)?ee.H:f.m);return a.createElement("div",{className:"position-relative ".concat(h)},a.createElement(n,{video:e.item,yearGroups:e.yearGroups,getVideoAppLink:e.appLinks.getVideoAppLink,getSubTextAppLink:e.appLinks.getSubTextAppLink,getPreviewQuestionsAppLink:e.appLinks.getPreviewQuestionsAppLink,presentationAudiences:e.audiences,setFavourite:e.setFavourite,canFavourite:e.canFavourite,analyticsData:{search:{query:e.queryParams.query,score:e.item._score,maxScore:e.item._maxScore,featured:e.item._featured},pagePositionIndex:e.pagePositionIndex},companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,hasPermissions:e.hasPermissions,imageCdnUrl:e.imageCdnUrl,isPlugin:e.isPlugin,getClassroomGuideAppLink:e.appLinks.getClassroomGuideAppLink,getResourceGuidanceAppLink:e.appLinks.getResourceGuidanceAppLink,getInteractiveGuidanceAppLink:e.appLinks.getInteractiveGuidanceAppLink}))}function ne(e){return function(e){if(Array.isArray(e))return ae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return ae(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ae(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var ie=a.memo((function(e){var t,n,i,r,c,u,d,m,v=(0,o.k)(),g=v.xs||v.sm;if(!(null===(t=e.results)||void 0===t?void 0:t.length)&&!(null===(n=e.topics)||void 0===n?void 0:n.totalResults)&&!(null===(i=e.companies)||void 0===i?void 0:i.totalResults))return a.createElement(a.Fragment,null);var y=[].concat(ne(null!==(c=null===(r=e.companies)||void 0===r?void 0:r.results)&&void 0!==c?c:[]),ne(null!==(d=null===(u=e.topics)||void 0===u?void 0:u.results)&&void 0!==d?d:[])),f=Object.assign({useLargeStyle:y.length<4},e);return a.createElement("div",{className:"position-relative"},!!y.length&&a.createElement(s.Z,{className:"g-0 pb-3 mx-n1"},y.slice(0,8).map((function(e,t){switch(e.type.toLowerCase()){case"company":return a.createElement(p,Object.assign({key:t,item:e,itemIndex:t},f));case"subject":return a.createElement(K,Object.assign({key:t,item:e,itemIndex:t},f))}}))),null===(m=e.results)||void 0===m?void 0:m.map((function(e,t){var n,i,r=y.length?t+1:t;if("isExchangeVideoGroup"in e&&e.isExchangeVideoGroup)return a.createElement(A,Object.assign({key:t,item:e,pagePositionIndex:r},f));switch(null===(n=e.type)||void 0===n?void 0:n.toLowerCase()){case"interactive":case"clip":case"video":return 0===t&&e._featured&&l.M.isVideo(e)?a.createElement(x,Object.assign({key:t,item:e,pagePositionIndex:r},f)):a.createElement(te,Object.assign({key:t,item:e,pagePositionIndex:r},f));case"playlist":return g?a.createElement(z,Object.assign({key:t,item:e,pagePositionIndex:r},f)):a.createElement(j,Object.assign({key:t,item:e,pagePositionIndex:r},f));case"series":return g||!(null===(i=e.tallPoster)||void 0===i?void 0:i.id)?a.createElement(J,Object.assign({key:t,item:e,pagePositionIndex:r},f)):a.createElement(N,Object.assign({key:t,item:e,pagePositionIndex:r},f))}})))})),re=n(93251),se="search.searchSubstitute";function oe(e){return e.substitute?a.createElement("div",{className:"pb-3"},a.createElement("p",{className:"mb-1 h6"},a.createElement(y.x,{namespace:se,phrase:"showingFor"})," ",a.createElement(g.F,{className:"info-link",appLink:e.getAppLink(e.substitute,e.queryParams),appLinkOptions:{replace:!0}},e.substitute)),a.createElement("p",{className:"mb-0 h6 fw-normal"},a.createElement(y.x,{namespace:se,phrase:"searchInsteadFor"}),a.createElement(g.F,{className:"info-link",appLink:e.getAppLink(e.queryParams.query,Object.assign(Object.assign({},e.queryParams),{allowSubstitute:"false"}))},e.queryParams.query),a.createElement(y.x,{namespace:se,phrase:"endOriginal"}))):a.createElement(a.Fragment,null)}var le="search.searchSuggestions";function ce(e){var t;return(null===(t=e.suggestions)||void 0===t?void 0:t.length)?a.createElement("div",{className:"d-flex align-items-center mb-3"},a.createElement(y.x,{namespace:le,phrase:"didYouMean"})," ",e.suggestions.map((function(t,n){return a.createElement(a.Fragment,{key:"".concat(t,":").concat(n)},0!==n&&a.createElement("span",{className:"mx-1"},"•"),a.createElement(g.F,{className:"info-link",appLink:e.getAppLink(t,e.queryParams),appLinkOptions:{replace:!0}},t))}))):a.createElement(a.Fragment,null)}ce.defaultProps={suggestions:[],queryParams:{}};var ue=n(71020),de=n(51365),pe=n(79612),me=n(76753),ve=n(14070),ge=n(97291),ye=n(51855),fe=n(10671),he=n(27638),be=n(20354),Le=n(96560),Ae=n(16714),ke=n(72639),xe=n(12754),Ee=n(21750),Se=n(39151),Pe=n(1666),Oe=n(98064),Ce=n(31949),je=n(22902),Ie=n(15311),Fe=n(37802),Te=n(40424),we=n(87114),Ne=n(24965),_e=n(82817),qe=n(86698),Ve=n(44110),Ue=n(23737),Re=n(1211),De=n(99940),Ge=n(97395),Me=n(2997),Be=n(27898);function Ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Qe(e){return Qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qe(e)}function We(e){var t,n,a,i=e.totalResults,r=null!==(n=null===(t=null==e?void 0:e.results)||void 0===t?void 0:t.filter((function(e){var t,n,a,r,s,o,l,c;if("series"!==e._index&&"playlist"!==e._index)return!0;if("playlist"===e._index){var u=e;return!!((null===(n=null===(t=u.clips)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length)||(null===(r=null===(a=u.interactives)||void 0===a?void 0:a.data)||void 0===r?void 0:r.length)||(null===(o=null===(s=u.videos)||void 0===s?void 0:s.data)||void 0===o?void 0:o.length))||(i--,!1)}return 0!==(null===(c=null===(l=e.videos)||void 0===l?void 0:l.data)||void 0===c?void 0:c.length)||(i--,!1)})))&&void 0!==n?n:[];e.results=r,e.totalResults=i;var s=null===(a=r[0])||void 0===a?void 0:a._score;return Object.assign(Object.assign({},e),{results:Be.Q.mapMaxScoreToSearchResults(r,s)})}var $e={searchV4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0,s="search:v4:".concat(e,":").concat(a,":").concat(t,":").concat(i);s+=Object.keys(n).map((function(e){var t=n[e];return Array.isArray(t)?t.join(";"):t})).join(";");var o=n,l="".concat(Me.w.FILTER_PARAM_PREFIX,"excludeLibraryExclusive"),c=o[l],u=o.isLearner,d=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(a=Object.getOwnPropertySymbols(e);i<a.length;i++)t.indexOf(a[i])<0&&Object.prototype.propertyIsEnumerable.call(e,a[i])&&(n[a[i]]=e[a[i]])}return n}(o,["symbol"===Qe(l)?l:l+"","isLearner"]),p={searchType:"content",indices:t.map((function(e){return"video"===e&&c?{index:e,filters:{excludeLibraryExclusive:c}}:{index:e}})),filters:Object.entries(d).reduce((function(e,t){var n,a,i=(a=2,function(e){if(Array.isArray(e))return e}(n=t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,s,o=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(n,a)||function(e,t){if(e){if("string"==typeof e)return Ze(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ze(e,t):void 0}}(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=i[0],s=i[1];return Object.assign(Object.assign({},e),function(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=Qe(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=Qe(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},r.replace("filters.",""),s))}),{}),query:e,allowSubstitute:a,cursor:null!=i?i:void 0,isLearner:!!u,limit:r};return{url:"{gateway}/v4/search",publicUrl:"/api/search/v4",type:De.k.POST,data:p,key:s,formatData:We}},search:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,o=arguments.length>7?arguments[7]:void 0,l="search:".concat(e,":").concat(a,":").concat(t,":").concat(i);l+=Object.keys(n).map((function(e){var t=n[e];return Array.isArray(t)?t.join(";"):t})).join(";");var c=Object.assign({},Object.assign({index:t,cursor:null!=i?i:void 0,query:e,allowSubstitute:a,limit:r},n));return{url:Ge._.urlBuilder("{gateway}/v3/search",c),publicUrl:Ge._.urlBuilder("/api/search",c),key:l,formatData:We,success:s,error:o}},tagsAndClassifications:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0,s=Object.assign({},Object.assign({index:t,cursor:a,query:e},n));return{url:Ge._.urlBuilder("{gateway}/v3/search/tags-and-classifications",s),publicUrl:Ge._.urlBuilder("/api/search/tags-and-classifications",s),key:"filter:options:".concat(e,":").concat(t.join(":"),":").concat(a),success:i,error:r,normalize:!1}}},He=n(97514),ze=n(4499);function Je(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Xe=n(1048),Ke=n(2284),Ye=n(85594),et=n(24598);function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var nt=["filters.classification","filters.presentation"],at=["filters.classification","filters.presentation","isLearner"];function it(e){return function(e){if(Array.isArray(e))return rt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return rt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rt(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function st(e){var t,n,a,i,r,s,o=be.a.useBasicFetch(Ce.N.currentUser()),l=be.a.useBasicFetch((null===(t=o.data)||void 0===t?void 0:t.id)&&Ce.N.user(o.data.id)),c=be.a.useBasicFetch(Se.L.config()),u=be.a.useBasicFetch((null===(n=o.data)||void 0===n?void 0:n.isAuthenticated)&&Pe.h.yearGroups(o.data.customerId)),d=(0,Ie.r)(),p=(0,Fe.r)(null),m=function(){var e,t,n,a,i,r=be.a.useBasicFetch(Ce.N.currentUser()),s=(0,Ie.r)(),o=(0,Fe.r)(null),l=be.a.useBasicFetch(Oe.D.streamableLearning()),c=null===(e=l.data)||void 0===e?void 0:e.objectId,u=s.hasProduct(xe.x.Exchange)&&o.showExchangeSearchResults,d=be.a.useBasicFetch((null===(t=r.data)||void 0===t?void 0:t.isAuthenticated)&&Oe.D.domainLibraries(["sharedLibrary","customLibrary","workspace","hostedLibrary","exchange"])),p=null!==(n=d.data)&&void 0!==n?n:[],m=null==p?void 0:p.findIndex((function(e){return e.type===Le.r.Exchange})),v=null===(a=p[m])||void 0===a?void 0:a.id;if(u||(p=[].concat(it(p.slice(0,m)),it(p.slice(m+1)))),c){var g=null==p?void 0:p.findIndex((function(e){return e.id.toString()===c.toString()}));p=[].concat(it(p.slice(0,g)),it(p.slice(g+1)))}return{hasLibrariesCompleted:l.hasCompleted&&(!(null===(i=r.data)||void 0===i?void 0:i.isAuthenticated)||d.hasCompleted),libraries:p,exchangeLibraryId:v,streamableLibraryId:c,showExchangeSearchResults:u}}(),v=m.hasLibrariesCompleted,g=m.libraries,y=m.exchangeLibraryId,f=m.streamableLibraryId,h=m.showExchangeSearchResults,b=(0,qe.y)(),L=b.activePresentation,A=b.availablePresentations,k=b.getFallbackPresentation,x=b.hasPresentationsLoaded,E=L||k(),S=null==E?void 0:E.id,P=(0,_e.M)(),O=(0,Ve.i)(),C=function(e){var t=(0,(0,je.T)().hasPermissions)(Ae.C.StudentExperience),n=(0,qe.y)(),a=n.availablePresentations,i=n.hasPresentationsLoaded,r=t?e?[null==e?void 0:e.id]:null:null==a?void 0:a.map((function(e){return e.id}));return be.a.useBasicFetch(i&&r&&Re.J.schoolLevels(r))}(E),j=null===(i=null===(a=C.data)||void 0===a?void 0:a.schoolLevels)||void 0===i?void 0:i.map((function(e){return e.id})),I=be.a.useBasicFetch((null==C?void 0:C.data)&&Ee.x.topicsFromAllAvailablePresentations(j)),F=function(){var e,t,n=be.a.useBasicFetch(Ce.N.currentUser()),a=be.a.useBasicFetch(Ne.Z.ratings(null===(e=n.data)||void 0===e?void 0:e.countryCode)),i=(0,qe.y)(),r=i.activePresentation,s=i.availablePresentations,o=i.getFallbackPresentation,l=i.hasPresentationsLoaded,c=r||o();return l?(null==s?void 0:s.length)>1||!c||we.i.getMappedPresentationLevel(c.learningLevel)!==ke.p.Level_1?a:Object.assign(Object.assign({},a),{data:null===(t=a.data)||void 0===t?void 0:t.filter((function(e){return e.code&&e.value<64}))}):a}(),T=(0,je.T)(),w=T.hasPermissions,N=T.hasLocalPermissions,_=w(Ae.C.StudentExperience),q=w(Ae.C.ViewCurriculums),V=N(Ae.E.UseSeriesActions),U=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0,s=(null==n?void 0:n.length)&&He.qr.buildBackendFilterParams(e,n,[a],r,[]),o=Xe.t.pick(s,r?at:nt);o["filters.classificationType"]=Ye.A.Subject,o["filters.status"]=Ke.W.Published,(null==e?void 0:e.moviesAndTv)&&(o["filters.curationTag"]=et.b.MOVIES_AND_TV),i.length&&(o["filters.presentation"]=i.map((function(e){return e.id})));var l=null!==(t=null==i?void 0:i.reduce((function(e,t){return e[t.id]=t,e}),{}))&&void 0!==t?t:{},c=!He.qr.getAppliedIndices(e).includes("classification"),u=$e.search(ze.y.getQuery(e),["classification"],o,"false"!==e.allowSubstitute),d=!c,p=be.a.useBasicFetch(d&&u);if(!d)return null;if(!p.data)return p;if(!i||(null==i?void 0:i.length)<2)return p;var m,v=(m=p.data.results,function(e){if(Array.isArray(e))return tt(e)}(m)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(m)||function(e,t){if(e){if("string"==typeof e)return tt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tt(e,t):void 0}}(m)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort((function(e,t){if(e._score!==t._score)return 0;var n=l[e.presentationId],a=l[t.presentationId];return n?a?n.value-a.value:-1:1}));return Object.assign(Object.assign({},p),{data:Object.assign(Object.assign({},p.data),{results:v})})}(e,F.data,S,A,_),R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>3?arguments[3]:void 0,a=(arguments.length>2?arguments[2]:void 0).map((function(e){return e.id})),i=(null==t?void 0:t.length)&&He.qr.buildBackendFilterParams(e,t,a,!1,[])||{};(null==a?void 0:a.length)&&(i["filters.presentation"]=a);var r,s=!He.qr.getAppliedIndices(e).includes("company"),o=$e.search(ze.y.getQuery(e),["company"],i,"false"!==e.allowSubstitute),l=!s&&n,c=be.a.useBasicFetch(l&&o);return l?c.data?Object.assign(Object.assign({},c),{data:Object.assign(Object.assign({},c.data),{results:(r=c.data.results,function(e){if(Array.isArray(e))return Je(e)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return Je(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Je(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})}):c:null}(e,F.data,A,p.hasNewMoviesAndTv);return{queryParams:e,currentUser:o,userDetails:l,config:c,yearGroups:u,products:d,settings:p,curriculums:P,audiences:O,schoolLevels:C,currentPresentation:E,availablePresentations:A,availableTopics:I,ratings:F,topics:U,companies:R,moviesAndTvDashboard:(0,Ue.y)({targetType:Te.ku.MoviesAndTv,queryParams:e}).dashboard,currentPresentationId:S,isLearner:_,canViewCurriculums:q,canUseSeriesActions:V,libraries:g,hasDataLoaded:O.hasCompleted&&x&&o.hasCompleted&&(!(null===(r=o.data)||void 0===r?void 0:r.isAuthenticated)||l.hasCompleted)&&F.hasCompleted&&c.hasCompleted&&A&&(!(null===(s=o.data)||void 0===s?void 0:s.isAuthenticated)||!d.isLoadingProducts)&&!p.isLoadingSettings&&v,exchangeLibraryId:y,streamableLibraryId:f,showExchangeSearchResults:h,hasPermissions:w}}var ot=n(94644),lt=n(69883),ct=n(60115),ut=n(97816),dt=n(4594);function pt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function mt(e){return mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mt(e)}function vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var gt="search.utils";function yt(e){var t,n,r,s,o,c,u=e.queryParams,d=e.appliedIndices,p=e.backendFilters,m=(0,lt.Z)(),v=be.a.useGetFetch(),g=be.a.useGetResponse(null===(t=b())||void 0===t?void 0:t.key),y=function(t){var n,a,i;return!!t&&(null===(i=null===(a=null===(n=e.backendFilters)||void 0===n?void 0:n["".concat(Me.w.FILTER_PARAM_PREFIX,"library")])||void 0===a?void 0:a.some)||void 0===i?void 0:i.call(a,(function(e){return e.toString()===t})))}(null===(n=e.exchangeLibraryId)||void 0===n?void 0:n.toString()),f=e.hasDataLoaded&&(null==d?void 0:d.length)&&e.showExchangeSearchResults&&!y,h=be.a.useBasicFetch(f&&$e.searchV4(u.query,d,p,"false"!==u.allowSubstitute,null,10));function b(t){if(e.hasDataLoaded&&(null==d?void 0:d.length)){var n=Object.assign({},e.backendFilters);if(e.showExchangeSearchResults&&!y){var a="".concat(Me.w.FILTER_PARAM_PREFIX,"excludeLibraryExclusive");n=Object.assign(Object.assign({},n),function(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=mt(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=mt(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==mt(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},a,[].concat(function(e){if(Array.isArray(e))return vt(e)}(i=n[a])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,t){if(e){if("string"==typeof e)return vt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vt(e,t):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e.exchangeLibraryId])))}return $e.searchV4(u.query,d,n,"false"!==u.allowSubstitute,t)}var i}function L(e){v(b(e))}var A=(0,ct.K)(b,L,(function(e,t){if(1===e)return(0,ot.r)(t);m.error(i.T.getPhrase(gt,"error"))}),(function(e){return e.results})),k=null===(r=A.items)||void 0===r?void 0:r.filter((function(e){return"video"===e._index||"clip"===e._index}));(0,ut.V)(k);var x=function(e){var t,n;return a.useMemo((function(){var t,n;if(!(null===(t=e.searchResults)||void 0===t?void 0:t.length)||!(null===(n=e.mixedExchangeSearchResults)||void 0===n?void 0:n.length)||"untouched"===e.groupingType)return e.searchResults;var a,i,r,s=function(e){if(Array.isArray(e))return pt(e)}(r=e.searchResults)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return pt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pt(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),o=[],c=!1;e.mixedExchangeSearchResults.forEach((function(e,t){var n,r,s;if(3!==o.length){if(l.M.isVideo(e)&&1===(null===(n=e.libraries.data)||void 0===n?void 0:n.length)&&(null===(s=null===(r=e.libraries.data)||void 0===r?void 0:r[0])||void 0===s?void 0:s.typeId)===dt.E.ExchangeCollection)return void 0===a&&(a=t,i=0,c=!0),c&&i++,void o.push(e);c=!1}}));var u={id:null,type:null,name:null,videos:o,showCount:0===a?1:i,isExchangeVideoGroup:!0,_index:null};return"group"===e.groupingType&&o.length&&s.splice(a,0,u),s}),[e.searchResultsResponse,null===(t=e.searchResults)||void 0===t?void 0:t.length,null===(n=e.mixedExchangeSearchResults)||void 0===n?void 0:n.length,e.groupingType])}({searchResults:A.items,mixedExchangeSearchResults:null===(s=h.data)||void 0===s?void 0:s.results,searchResultsResponse:g.data,groupingType:e.showExchangeSearchResults?y?"untouched":"group":"omit"});return Object.assign(Object.assign({},A),{hasFirstPageCompleted:A.hasFirstPageCompleted||!e.hasDataLoaded||!(null==d?void 0:d.length),items:x,fetchNext:L,substituteQuery:null===(o=g.data)||void 0===o?void 0:o.substituteQuery,suggestions:null===(c=g.data)||void 0===c?void 0:c.suggestions})}var ft=n(2948),ht=n(86702);function bt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Lt=n(23232),At=n(99742),kt="search.searchResultsEmptyState";function xt(e){var t,n,i=e.scotland&&"nessie"===(null===(n=null===(t=e.query)||void 0===t?void 0:t.trim())||void 0===n?void 0:n.toLowerCase())?At.W.EmptyStates.Search.RESULTS_SCOTLAND:At.W.EmptyStates.Search.RESULTS;return a.createElement(y.D.Provider,{value:kt},a.createElement(Lt.u,null,a.createElement(Lt.u.Image,{src:i}),a.createElement(Lt.u.Heading,null,e.query?a.createElement(y.x,{phrase:"headingWithQuery",options:{query:e.query}}):a.createElement(y.x,{phrase:"headingWithoutQuery"})),a.createElement(Lt.u.Info,null,a.createElement(y.x,{phrase:"info"}),a.createElement(g.F,{className:"info-link",appLink:{application:ge.O.SUBJECT,action:ve.e.Subjects.CLASSIFICATION_ALL}},a.createElement(y.x,{phrase:"topicsAppLink"})))))}var Et="search.searchResults",St=i.T.encloseNamespace(Et);function Pt(e){var t,n,i,s,o,l,c,u,d,p,m,v,g=e.queryParams,y=void 0===g?{}:g,f=(0,fe._)({location:fe.i.VideoItem}),h=(0,he.u)(r.LZ.VideoThumbnail),b=h.setFavourite,L=h.canFavourite,A=(0,ye.G)().isPlugin,k=st(y),x=ze.y.getBackendFilters(k),E=!!(null==x?void 0:x.appliedIndices.length),S=(v=E&&x,be.a.useBasicFetch(v&&$e.tagsAndClassifications(v.queryParams.query,v.appliedIndices,v.backendFilters))),P=yt(Object.assign(Object.assign({},x),k)),O=ze.y.getFilters(k,null==x?void 0:x.inaccessibleIndices,E&&S);(0,pe.M)(me.CG.getDefaultMetadata({title:null!==(t=y.query)&&void 0!==t?t:"",phraseContext:{phraseHandler:St,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},allowIndexing:!1}));var C,j,I,F,T,w,N=k.hasDataLoaded&&O,_=P.hasFirstPageCompleted&&(!k.topics||k.topics.hasCompleted)&&(!k.companies||k.companies.hasCompleted)&&(!E||S.hasCompleted)&&!!O,q=(null===(n=P.items)||void 0===n?void 0:n.length)||(null===(s=null===(i=k.topics)||void 0===i?void 0:i.data)||void 0===s?void 0:s.totalResults)||(null===(l=null===(o=k.companies)||void 0===o?void 0:o.data)||void 0===l?void 0:l.totalResults);return C=_,T=(0,ft.D)(ht.y.SHOW_SEARCH_MASK,!0),w=2,j=function(e){if(Array.isArray(e))return e}(T)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,s,o=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(T,w)||function(e,t){if(e){if("string"==typeof e)return bt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bt(e,t):void 0}}(T,w)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),I=j[0],F=j[1],a.useEffect((function(){I&&C&&F(!1)}),[C]),N?a.createElement("div",{className:"px-4"},a.createElement(oe,{substitute:P.substituteQuery,queryParams:y,getAppLink:ze.y.getSearchAppLink}),!P.substituteQuery&&a.createElement(ce,{suggestions:P.suggestions,queryParams:y,getAppLink:ze.y.getSearchAppLink}),!!k.audiences.data&&!!k.ratings.data&&!!k.availableTopics.data&&a.createElement(re.J,{queryParams:y,mainFilters:null==O?void 0:O.mainFilters,moreFilters:null==O?void 0:O.moreFilters,analyticsOptions:{entity:r.py.SearchResults,location:r.LZ.SearchFilters},appLink:{application:ge.O.SEARCH,action:ve.e.Search.HOME},isFetchingOptions:S.isFetching}),_&&a.createElement("section",null,q?a.createElement(de.M.Provider,{value:f},a.createElement(ie,{queryParams:y,results:P.items,topics:null===(c=k.topics)||void 0===c?void 0:c.data,companies:null===(u=k.companies)||void 0===u?void 0:u.data,setFavourite:b,canFavourite:L,audiences:!y.moviesAndTv&&k.audiences.data,currentUser:k.currentUser.data,imageCdnUrl:k.config.data.imageCdnUrl,availablePresentations:k.availablePresentations,showActions:!k.isLearner&&k.canUseSeriesActions,hasPermissions:k.hasPermissions,yearGroups:k.yearGroups.data,isPlugin:A,appLinks:ze.y.getAppLinks(k.currentPresentation,k.availablePresentations,y.moviesAndTv),subTextType:"series"})):a.createElement(xt,{query:y.query,scotland:null!==(m=!!(null===(p=null===(d=k.currentPresentation)||void 0===d?void 0:d.description)||void 0===p?void 0:p.toLowerCase().includes("scotland")))&&void 0!==m&&m}),(P.hasMore||P.isFetching)&&a.createElement(ue._,{isFetching:P.isFetching,fetchNext:P.fetchNext,nextCursor:P.nextCursor,fetchOnScroll:!0}))):a.createElement(a.Fragment,null)}},24965:(e,t,n)=>{n.d(t,{Z:()=>i});var a=n(97395),i={ratings:function(e){return{url:"/api/domain/v2/me/ratings",publicUrl:a._.urlBuilder("/api/domain/v2/me/ratings",{countryCode:e}),key:"ratings",formatData:function(e){return e.sort((function(e,t){return e.value-t.value}))}}}}},44110:(e,t,n)=>{n.d(t,{i:()=>s});var a=n(20354),i=n(89454),r=n(86698),s=function(){var e=(0,r.y)({redirectOnError:!0}),t=e.activePresentation,n=e.getFallbackPresentation,s=t||n();return a.a.useBasicFetch(!!s&&i.O.presentationAudiences(s.id))}},97816:(e,t,n)=>{n.d(t,{V:()=>d});var a=n(32735),i=n(20354),r=n(21750),s=n(31949),o=n(1575),l=n(31908);function c(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function d(e){var t,n,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=i.a.useBasicFetch(s.N.currentUser()),m=a.useRef(new Set),v=function(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(l.M.isVideo(e)||l.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(l.M.isVideo(e)||l.M.isClip(e))})):[]:[]}(e),g=v.map((function(e){return e.id})),y=(t=a.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,s,o=[],l=!0,c=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=r.call(n)).done)&&(o.push(a.value),o.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(t,n)||c(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=y[0],h=y[1];a.useEffect((function(){if((null==g?void 0:g.length)&&p.hasCompleted){var e=[];g.forEach((function(t){m.current.has(t)||(e.push(t),m.current.add(t))})),e.length&&h((function(t){var n,a=[].concat(function(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||c(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t),[o.R.videoMixinAssocs(e,d.flightNamespace)]);return(null===(n=p.data)||void 0===n?void 0:n.isAuthenticated)&&a.push(r.x.hasCurriculumLinks(e,null,d.flightNamespace)),a}))}}),[null==g?void 0:g.length,p.hasCompleted]),i.a.useBasicFetchAll(f)}}}]);
|
|
2
|
-
//# sourceMappingURL=5242-
|
|
2
|
+
//# sourceMappingURL=5242-e5cc8311eb-lite.chunk.js.map
|