@clickview/lite 0.52.3-rc.1 → 0.52.4-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{1329-lite-ed09e82f2b.chunk.css → 1329-lite-cdc45079de.chunk.css} +1 -1
- package/dist/css/{6094-lite-371570d4ad.chunk.css → 1760-lite-19ef9620ac.chunk.css} +1 -1
- package/dist/css/{5549-lite-9903803dfd.chunk.css → 3640-lite-d751a30ca4.chunk.css} +1 -1
- package/dist/css/{431-lite-49ed0485bd.chunk.css → 431-lite-c2c2516537.chunk.css} +1 -1
- package/dist/css/{5660-lite-3a211c1297.chunk.css → 4683-lite-15b9d982f3.chunk.css} +1 -1
- package/dist/css/{5466-lite-5d0d45cb7d.chunk.css → 5466-lite-1b4fd17947.chunk.css} +1 -1
- package/dist/css/{3640-lite-9903803dfd.chunk.css → 5549-lite-d751a30ca4.chunk.css} +1 -1
- package/dist/css/{5587-lite-6e77f9442a.chunk.css → 5587-lite-304279013c.chunk.css} +1 -1
- package/dist/css/{4683-lite-3a211c1297.chunk.css → 5660-lite-15b9d982f3.chunk.css} +1 -1
- package/dist/css/{6054-lite-fdc8362cf4.chunk.css → 6054-lite-0b2c72f84f.chunk.css} +1 -1
- package/dist/css/{1760-lite-371570d4ad.chunk.css → 6094-lite-19ef9620ac.chunk.css} +1 -1
- package/dist/css/{7954-lite-b5558736f9.chunk.css → 7954-lite-95ad75b04d.chunk.css} +1 -1
- package/dist/css/{9808-lite-5d0d45cb7d.chunk.css → 9808-lite-1b4fd17947.chunk.css} +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1329-b3e3f5d25d-lite.chunk.js → 1329-57aa3d33cb-lite.chunk.js} +2 -2
- package/dist/scripts/{1329-b3e3f5d25d-lite.chunk.js.map → 1329-57aa3d33cb-lite.chunk.js.map} +1 -1
- package/dist/scripts/1518-c1105e83b0-lite.chunk.js +2 -0
- package/dist/scripts/1518-c1105e83b0-lite.chunk.js.map +1 -0
- package/dist/scripts/{1760-7218da90dd-lite.chunk.js → 1760-19e88443c6-lite.chunk.js} +1 -1
- package/dist/scripts/{1760-7218da90dd-lite.chunk.js.map → 1760-19e88443c6-lite.chunk.js.map} +1 -1
- package/dist/scripts/1798-fc93a2f7a6-lite.chunk.js +2 -0
- package/dist/scripts/1798-fc93a2f7a6-lite.chunk.js.map +1 -0
- package/dist/scripts/2094-0f30600b14-lite.chunk.js +2 -0
- package/dist/scripts/{5710-c2804ffafe-lite.chunk.js.map → 2094-0f30600b14-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3640-5b0a186dfd-lite.chunk.js → 3640-ac303efb99-lite.chunk.js} +1 -1
- package/dist/scripts/{3640-5b0a186dfd-lite.chunk.js.map → 3640-ac303efb99-lite.chunk.js.map} +1 -1
- package/dist/scripts/3969-c0160d0139-lite.chunk.js +2 -0
- package/dist/scripts/3969-c0160d0139-lite.chunk.js.map +1 -0
- package/dist/scripts/422-ee640f76c5-lite.chunk.js +2 -0
- package/dist/scripts/422-ee640f76c5-lite.chunk.js.map +1 -0
- package/dist/scripts/{431-5e609b8dbd-lite.chunk.js → 431-586d197eeb-lite.chunk.js} +1 -1
- package/dist/scripts/{431-5e609b8dbd-lite.chunk.js.map → 431-586d197eeb-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4683-be07f1375c-lite.chunk.js → 4683-ce52da47d8-lite.chunk.js} +1 -1
- package/dist/scripts/{4683-be07f1375c-lite.chunk.js.map → 4683-ce52da47d8-lite.chunk.js.map} +1 -1
- package/dist/scripts/5220-58d9529f21-lite.chunk.js +3 -0
- package/dist/scripts/5220-58d9529f21-lite.chunk.js.map +1 -0
- package/dist/scripts/{5466-0500ed8c29-lite.chunk.js → 5466-401f301cd1-lite.chunk.js} +1 -1
- package/dist/scripts/{5466-0500ed8c29-lite.chunk.js.map → 5466-401f301cd1-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5549-d19ed5a9c6-lite.chunk.js → 5549-ae40aeb0f8-lite.chunk.js} +1 -1
- package/dist/scripts/{5549-d19ed5a9c6-lite.chunk.js.map → 5549-ae40aeb0f8-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5587-3de8761ca3-lite.chunk.js → 5587-d27030e106-lite.chunk.js} +1 -1
- package/dist/scripts/{5587-3de8761ca3-lite.chunk.js.map → 5587-d27030e106-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5660-268adb479d-lite.chunk.js → 5660-a356acdbca-lite.chunk.js} +1 -1
- package/dist/scripts/{5660-268adb479d-lite.chunk.js.map → 5660-a356acdbca-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6054-fcfe84a18d-lite.chunk.js → 6054-cf9311ce64-lite.chunk.js} +1 -1
- package/dist/scripts/{6054-fcfe84a18d-lite.chunk.js.map → 6054-cf9311ce64-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6094-063cffe417-lite.chunk.js → 6094-d5fa8b07dc-lite.chunk.js} +1 -1
- package/dist/scripts/{6094-063cffe417-lite.chunk.js.map → 6094-d5fa8b07dc-lite.chunk.js.map} +1 -1
- package/dist/scripts/6450-601f889072-lite.chunk.js +2 -0
- package/dist/scripts/6450-601f889072-lite.chunk.js.map +1 -0
- package/dist/scripts/6544-fd0c4d43c1-lite.chunk.js +2 -0
- package/dist/scripts/6544-fd0c4d43c1-lite.chunk.js.map +1 -0
- package/dist/scripts/6572-75c435eae1-lite.chunk.js +2 -0
- package/dist/scripts/6572-75c435eae1-lite.chunk.js.map +1 -0
- package/dist/scripts/{7954-9a3694b784-lite.chunk.js → 7954-87777549a2-lite.chunk.js} +1 -1
- package/dist/scripts/{7954-9a3694b784-lite.chunk.js.map → 7954-87777549a2-lite.chunk.js.map} +1 -1
- package/dist/scripts/8801-4b8d3958b4-lite.chunk.js +2 -0
- package/dist/scripts/8801-4b8d3958b4-lite.chunk.js.map +1 -0
- package/dist/scripts/{9674-1ce4fe796c-lite.chunk.js → 9674-f560ed51ea-lite.chunk.js} +2 -2
- package/dist/scripts/9674-f560ed51ea-lite.chunk.js.map +1 -0
- package/dist/scripts/{9808-5ce9fc5d84-lite.chunk.js → 9808-e80883e731-lite.chunk.js} +2 -2
- package/dist/scripts/{9808-5ce9fc5d84-lite.chunk.js.map → 9808-e80883e731-lite.chunk.js.map} +1 -1
- package/dist/scripts/{bundle-af42b7e6d6.min.js → bundle-507079f8c6.min.js} +3 -3
- package/dist/scripts/{bundle-af42b7e6d6.min.js.map → bundle-507079f8c6.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1518-8275a95d07-lite.chunk.js +0 -2
- package/dist/scripts/1518-8275a95d07-lite.chunk.js.map +0 -1
- package/dist/scripts/1798-972b0f3769-lite.chunk.js +0 -2
- package/dist/scripts/1798-972b0f3769-lite.chunk.js.map +0 -1
- package/dist/scripts/2120-2e824a172a-lite.chunk.js +0 -2
- package/dist/scripts/2120-2e824a172a-lite.chunk.js.map +0 -1
- package/dist/scripts/3969-525c157e0c-lite.chunk.js +0 -2
- package/dist/scripts/3969-525c157e0c-lite.chunk.js.map +0 -1
- package/dist/scripts/422-5773602f61-lite.chunk.js +0 -2
- package/dist/scripts/422-5773602f61-lite.chunk.js.map +0 -1
- package/dist/scripts/5710-c2804ffafe-lite.chunk.js +0 -2
- package/dist/scripts/6450-2745feb746-lite.chunk.js +0 -2
- package/dist/scripts/6450-2745feb746-lite.chunk.js.map +0 -1
- package/dist/scripts/6572-4dda098022-lite.chunk.js +0 -2
- package/dist/scripts/6572-4dda098022-lite.chunk.js.map +0 -1
- package/dist/scripts/9620-d6dd77fedc-lite.chunk.js +0 -3
- package/dist/scripts/9620-d6dd77fedc-lite.chunk.js.map +0 -1
- package/dist/scripts/9674-1ce4fe796c-lite.chunk.js.map +0 -1
- package/dist/scripts/999-1afd6be8dc-lite.chunk.js +0 -2
- package/dist/scripts/999-1afd6be8dc-lite.chunk.js.map +0 -1
- /package/dist/css/{9620-lite-8b4a93ca31.chunk.css → 5220-lite-8b4a93ca31.chunk.css} +0 -0
- /package/dist/css/{2120-lite-d46c2d634c.chunk.css → 6544-lite-d46c2d634c.chunk.css} +0 -0
- /package/dist/css/{999-lite-c88eb54bee.chunk.css → 8801-lite-c88eb54bee.chunk.css} +0 -0
- /package/dist/scripts/{1329-b3e3f5d25d-lite.chunk.js.LICENSE.txt → 1329-57aa3d33cb-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9620-d6dd77fedc-lite.chunk.js.LICENSE.txt → 5220-58d9529f21-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9808-5ce9fc5d84-lite.chunk.js.LICENSE.txt → 9808-e80883e731-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-af42b7e6d6.min.js.LICENSE.txt → bundle-507079f8c6.min.js.LICENSE.txt} +0 -0
package/dist/scripts/{6054-fcfe84a18d-lite.chunk.js.map → 6054-cf9311ce64-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/6054-
|
|
1
|
+
{"version":3,"file":"scripts/6054-cf9311ce64-lite.chunk.js","mappings":"ohBAKM,SAAUA,EAAeC,GAC7B,I,IAAqF,G,EAAvD,WAAc,kBAAM,gBAA8B,GAAE,I,EAAG,E,unBAA7EC,EAAK,KAEPC,GAAcC,EAFK,MAEMF,GAE/B,OAAKC,GAAgBF,EAGd,GAAP,O,yWAAA,CAAYE,GAAW,gCAAOF,GAAO,CAAEI,QAAQ,MAFtCF,CAGX,C,8WCqBMG,EAAc,CAClBC,SAAU,IACVC,UAAW,CACTC,QAAS,MASP,SAAUC,EAAgBC,G,gBACtBC,GAAmB,SAAnBA,eACAC,GAAa,SAAbA,SAEFC,EAAS,kBAA6B,cACtCC,EAAc,kBAAkC,mBAChDC,EAAa,mBACD,QAAhB,EAAAD,EAAYE,YAAI,eAAEC,kBAAmB,eAA4BH,EAAYE,KAAKE,aAG9EC,EAAsB,kBAC1B,wBAAwCT,EAAMU,KAE1CC,GAA2B,SAC3BC,EAA8B,kBAClCH,EAAoBI,aAAe,eACjC,wBAAwCb,EAAMU,GAAI,oBAEhDI,EAAc,kBAClBH,GAA4BF,EAAoBH,MAChD,gBAAgCG,EAAoBH,KAAKS,gBAErDC,GAAY,SACZC,EAAU,kBAAoC,kBAA6BjB,EAAMU,GAAI,mBAErFQ,GAAgB,OAAoB,CACxCC,MAAOV,EAAoBH,KAC3Bc,QAASpB,EAAMqB,YAAYD,QAC3BE,UAAWtB,EAAMqB,YAAYC,UAC7BC,YAAavB,EAAMqB,YAAYG,IAC/BpB,YAAaA,EAAYE,QAG3B,OAAa,CAAEI,GAAIV,EAAMU,GAAIe,IAAK,kBAElC,OAAqBhB,EAAqBd,EAAa,CAAEE,WAAW,KACpE,OAAsBe,IACtB,OAAmB,4BAA0C,CAAEc,QAASjB,EAAoBH,SAE5F,OAAkC,QAApB,EAAAY,EAAcS,cAAM,QAAI,IAEtC,OAA6C,OAAY,MAAjDC,EAAa,EAAbA,cAAeC,EAAiB,EAAjBA,kBACjBrC,GAAc,OAAe,CAAEsC,KAA8B,QAAxB,EAAArB,EAAoBH,YAAI,eAAEwB,OAWrE,OARErB,EAAoBH,MACpBH,EAAO4B,cACP3B,EAAY2B,gBACVpB,GAA4BG,EAAYiB,eAC1Cd,EAAQc,eACPF,EAMClB,EAEA,gBAAC,IAAkB,CACjBR,OAAQA,EAAOG,KACfD,WAAYA,EAAWC,KACvBF,YAAaA,EAAYE,KACzBe,YAAarB,EAAMqB,YACnBP,YAAaL,EAAoBH,KACjC0B,iCAAkClB,EAAYR,KAAK2B,iBACnDjB,UAAWA,EAAUV,KACrBY,cAAeA,EACfgB,qBAAsBjC,EAAe,uBACrCC,SAAUA,EACVV,YAAaoC,GAAiBpC,IAMlC,gBAAC,IAAe,CACdsB,YAAaL,EAAoBH,KACjCF,YAAaA,EAAYE,KACzBH,OAAQA,EAAOG,KACfD,WAAYA,EAAWC,KACvBU,UAAWA,EAAUV,KACrBe,YAAarB,EAAMqB,YACnBJ,QAASA,EAAQX,KACjBY,cAAeA,EACfiB,UAA+B,QAApB,EAAiB,QAAjB,EAAAnC,EAAMqB,mBAAW,eAAEe,SAAC,QAAqB,QAAjB,EAAApC,EAAMqB,mBAAW,eAAEc,UACtDjC,SAAUA,IA/BL,gCAkCX,C","sources":["file:///app/packages/libs/shared/src/hooks/useBreadcrumbs.ts","file:///app/packages/projects/lite/src/apps/interactives/views/interactive-view/InteractiveView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\n}\n\n","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Flight } from 'libs/common/flight';\n\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoNotFoundError } from 'libs/shared/errors/videos/video-not-found/VideoNotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, Interactive, InteractiveMetadata, PlayerViewKey, YearGroup } from 'libs/shared/interfaces';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useShouldPreviewInteractive } from 'shared/hooks/useShouldPreviewInteractive';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\n\nconst videoErrors = {\n notFound: VideoNotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\ninterface InteractiveViewProps {\n id: string;\n queryParams: PlayViewQueryParams;\n}\n\nexport function InteractiveView(props: InteractiveViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const strippedInteractiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n interactiveMetadata.statusCode === HttpStatus.Forbidden &&\n InteractiveRequests.interactiveMetadata(props.id, PermissionFilterOption.StripMetadata)\n );\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\n const audiences = usePresentationAudiences();\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(PlayerRequests.createViewKey(props.id, MediaIdType.MasterObject));\n\n const relatedVideos = useGetRelatedVideos({\n video: interactiveMetadata.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n\n useDeepLinks({ id: props.id, app: 'interactives' });\n\n useHandleObjectError(interactiveMetadata, videoErrors, { forbidden: true });\n useCannotConsumeError(strippedInteractiveMetadata);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n\n const { hasPlayPageV2, isLoadingSettings } = useSettings(null);\n const breadcrumbs = useBreadcrumbs({ name: interactiveMetadata.data?.name });\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n viewKey.hasCompleted &&\n !isLoadingSettings\n );\n\n if (!hasLoaded)\n return <></>;\n\n if (shouldPreviewInteractive) {\n return (\n <PreviewInteractive\n config={config.data}\n yearGroups={yearGroups.data}\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n isPlugin={isPlugin}\n breadcrumbs={hasPlayPageV2 && breadcrumbs}\n />\n );\n }\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["useBreadcrumbs","current","match","breadcrumbs","useBuilder","active","videoErrors","notFound","forbidden","privacy","InteractiveView","props","hasPermissions","isPlugin","config","currentUser","yearGroups","data","isAuthenticated","customerId","interactiveMetadata","id","shouldPreviewInteractive","strippedInteractiveMetadata","statusCode","interactive","interactiveId","audiences","viewKey","relatedVideos","video","context","queryParams","contextId","moviesAndTv","mtv","app","content","videos","hasPlayPageV2","isLoadingSettings","name","hasCompleted","isPreviewPreventScrubbingEnabled","preventScrubbing","canManageVideoAccess","startTime","t"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6094],{94644:(e,t,a)=>{a.d(t,{r:()=>c});var r=a(50242),n=a(81886),i=a(67058),o=a(14553),s=a(49267),d=a(49075),u={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:s.a,privacy:o.q},badRequest:d._};function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var o=Object.assign(Object.assign({},u),t);i&&n.Q.Ry.isStatusCodeError(i)&&(i!==r.o.NotFound?i!==r.o.Forbidden?a.badRequest||n.Q.Ry.throw(new o.badRequest):a.forbidden||n.Q.Ry.throw(new o.forbidden.privacy):a.notFound||n.Q.Ry.throw(new o.notFound))}}},91286:(e,t,a)=>{a.d(t,{v:()=>o});var r=a(32735),n=a(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function o(e,t,a){var o=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){o.forEach((function(e){(0,n.r)(e.statusCode,t,a)}))}),[i(o),t,a])}},63719:(e,t,a)=>{a.d(t,{h:()=>s});var r=a(32735),n=a(77316);function i(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function s(e){var t,a,s=(t=r.useMemo((function(){return n.p.getBuilder()}),[]),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,o,s=[],d=!0,u=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;d=!1}else for(;!(d=(r=i.call(a)).done)&&(s.push(r.value),s.length!==t);d=!0);}catch(e){u=!0,n=e}finally{try{if(!d&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(u)throw n}}return s}}(t,a)||i(t,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.")}()),d=s[0],u=(0,s[1])(d);return u&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(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.")}()}(u),[Object.assign(Object.assign({},e),{active:!0})]):u}},75085:(e,t,a)=>{a.r(t),a.d(t,{PlayViewV2:()=>H});var r=a(32735),n=a(50242),i=a(81886),o=a(23481),s=a(20354),d=a(28400),u=a(65858),c=a(78417),l=a(16714),f=a(67058),v=a(61990),y=a(33803),h=a(89454),p=a(43012),m=a(39151),b=a(1666),g=a(20768),C=a(98064),F=a(31949),w=a(1575),A=a(63719),I=a(26304),P=a(91286),O=a(22902),S=a(79612),B=a(76753),R=a(14070),j=a(97291),q=a(51855),x=a(82817),E=a(7179),V=a(49948),k=a(36873),L=a(27638),M=a(86698),T=a(35014),U=a(97816),_=a(33192),G=a(81812),N=a(61169),Q=o.T.encloseNamespace("shared.play"),D={notFound:v.l,forbidden:{privacy:y.G}};function H(e){var t,a,o,v,y=e.queryParams,H=y.context,Y=y.contextId,Z=y.playNext,$=y.mtv,z=(0,L.u)(u.LZ.PlayPage),J=z.setFavourite,K=z.canFavourite,W=(0,O.T)().hasPermissions,X=(0,q.G)().isPlugin,ee=(0,M.y)().activePresentation,te=(0,T.I)(),ae=s.a.useBasicFetch(C.D.streamableLearning()),re=s.a.useBasicFetch(F.N.currentUser()),ne=s.a.useBasicFetch(w.R.video(e.id)),ie=s.a.useBasicFetch(p.e.videoClips(e.id)),oe=s.a.useBasicFetch(g.b.videoInteractives(e.id)),se=s.a.useBasicFetch(m.L.config()),de=s.a.useBasicFetch((null===(t=re.data)||void 0===t?void 0:t.isAuthenticated)&&b.h.yearGroups(re.data.customerId)),ue=s.a.useBasicFetch(ee&&h.O.audiencesByPresentationId(ee.id)),ce=(0,G.a)(),le=s.a.useBasicFetch(ne.statusCode===n.o.Forbidden&&w.R.video(e.id,c.r.StripMetadata)),fe=(0,x.M)(e.id,!0),ve=(0,k.k)({video:ne.data,context:H,contextId:Y,moviesAndTv:$,currentUser:re.data}),ye=(0,V.l)(e.id,!0),he=s.a.useBasicFetch(w.R.regionAlternatives(e.id)),pe=(0,A.h)({name:null===(a=ne.data)||void 0===a?void 0:a.name});return(0,S.M)(B.CG.getVideoMetadata({content:ne.data,regionAlternatives:he.data,phraseContext:{phraseHandler:Q,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:_.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:_.f.allowIndexing(),hrefLang:_.f.getContentHrefLang(he.data,(function(e,t){return{application:j.O.VIDEOS,action:R.e.Videos.PLAY_VIDEO,args:[e,d.m.slugify(t)]}}))})),(0,P.v)(ne,D,{forbidden:!0}),(0,U.V)(null!==(o=ve.videos)&&void 0!==o?o:[]),(0,E.P)({id:e.id,app:"videos"}),(0,I.b)(le),r.useEffect((function(){var e;ne.data&&ae.data&&(null===(e=ne.data.libraries)||void 0===e?void 0:e.data.find((function(e){return e.id===ae.data.objectId})))&&i.Q.Ry.throw(new f.d)}),[ne.hasCompleted,ae.hasCompleted]),ne.data&&re.hasCompleted&&se.hasCompleted&&ye.hasCompleted?r.createElement(N.R,{video:ne.data,clips:ie.data,interactives:oe.data,yearGroups:de.data,curriculums:fe,relatedVideos:ve,setFavourite:J,canFavourite:K,imageCdnUrl:se.data.imageCdnUrl,currentUser:re.data,pointsOfInterest:ye.items,playNext:Z,featureAccess:te,audiences:ue.data,params:e.queryParams,canManageVideoAccess:W(l.C.ManageVideoAccess),shouldShowSideTableOfContents:ce,tableOfContentsId:null===(v=e.queryParams)||void 0===v?void 0:v.tocId,isPlugin:X,breadcrumbs:pe}):r.createElement(r.Fragment,null)}H.defaultProps={queryParams:{}}}}]);
|
|
2
|
-
//# sourceMappingURL=6094-
|
|
2
|
+
//# sourceMappingURL=6094-d5fa8b07dc-lite.chunk.js.map
|
package/dist/scripts/{6094-063cffe417-lite.chunk.js.map → 6094-d5fa8b07dc-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/6094-063cffe417-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/libs/shared/src/hooks/useBreadcrumbs.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 React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\n}\n\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 { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, 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 const breadcrumbs = useBreadcrumbs({ name: video.data?.name });\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 breadcrumbs={breadcrumbs}\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","useBreadcrumbs","current","match","breadcrumbs","useBuilder","active","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","name","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","stripPresentationSlug","allowIndexing","hrefLang","application","action","args","videos","app","libraries","find","library","objectId","hasCompleted","imageCdnUrl","items","params","canManageVideoAccess","tableOfContentsId","tocId","defaultProps"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/6094-d5fa8b07dc-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/libs/shared/src/hooks/useBreadcrumbs.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 React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\n}\n\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 { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, 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 const breadcrumbs = useBreadcrumbs({ name: video.data?.name });\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 breadcrumbs={breadcrumbs}\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","useBreadcrumbs","current","match","breadcrumbs","useBuilder","active","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","name","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","stripPresentationSlug","allowIndexing","hrefLang","application","action","args","videos","app","libraries","find","library","objectId","hasCompleted","imageCdnUrl","items","params","canManageVideoAccess","tableOfContentsId","tocId","defaultProps"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6450],{16450:(t,e,n)=>{n.d(e,{e:()=>x,Q:()=>C});var i=n(32735),r=n(91967),a=n(82182),o=n(75896),l=n(1048),s=n(49985),c=n(88513),u=n(29420),d=n(43872),f=n(16930),m=n(31069),g=n(10841),h=n(81514),p=n(65294),y=n(10038),v=n(5859),b=n(49542),E=function(t,e,n){return function(){t.container.current&&(t.container.current.style.transition=""),e({type:g.n.Resize,payload:{elementRefs:t,mediaQuery:n}})}},P=function(t){return function(){t.current&&(t.current.style.transition="transform .4s ease-in-out")}},O=function(t,e,n,i,r){return function(a){var o=a.clientX,l=i;l||(l=Object.assign(Object.assign({},e),{initialMouseX:o}),r(l),t.current.style.transition=""),n({type:g.n.Drag,payload:{widgetSnapshot:l,currentMouseX:o}})}},S=function(t,e){return function(){t.current.style.transition="transform .4s ease-in-out",e(null)}},N=n(14244);const j={itemSpacing:"fDc_6",mobileScroll:"aLSzv",leftGradient:"YheD1",leftGradientNoPadding:"Vl2_g",leftButton:"ISepF",leftButtonNoPadding:"N4rAS",rightGradient:"i9XEE",rightGradientNoPadding:"APhNv",rightButton:"OxM84",rightButtonNoPadding:"nmSQo"};function B(t){return function(t){if(Array.isArray(t))return R(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||A(t)||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 L(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,a,o,l=[],s=!0,c=!1;try{if(a=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;s=!1}else for(;!(s=(i=a.call(n)).done)&&(l.push(i.value),l.length!==e);s=!0);}catch(t){c=!0,r=t}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(t,e)||A(t,e)||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 A(t,e){if(t){if("string"==typeof t)return R(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(t,e):void 0}}function R(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n<e;n++)i[n]=t[n];return i}function x(t){var e=t.childComponent,n=t.staticChildren,v=t.getWidgetItemAnalyticsData,A=void 0===v?function(){}:v,R=L(i.useReducer(N.E,N.C),2),x=R[0],w=R[1],k=L(i.useState(null),2),D=k[0],I=k[1],M={container:i.useRef(null),firstElement:i.useRef(null),lastElement:i.useRef(null)},G=(0,h.V)(),W=a.V.isTabletOrMobile(),Q=(0,u.T)({type:"dynamic",state:x,containerRef:M.container,mediaQuery:G}),X=Q.dynamicAttributes,F=Q.focusNext,T=Q.focusPrev,_=Q.onFocusWidget,V=Q.onBlurWidget;(0,y.H)(E(M,w,G),P(M.container),[G]);var z=(0,p.Y)({prevent:!t.lazyLoad}),U=z.ref,Y=z.inView,$=t.collection;if(!t.collection&&r.q.isFunction(t.fetch)){var q=t.fetch(Y);$=q.data}i.useEffect((function(){$&&!l.t.isEmpty($)&&w({type:g.n.Init,payload:{elementRefs:M,mediaQuery:G}})}),[$]);var H=i.useMemo((function(){var r,a;if($){var l=null!==(r=null==n?void 0:n.filter((function(t){return"start"===t.position})))&&void 0!==r?r:[],s=null!==(a=null==n?void 0:n.filter((function(t){return"end"===t.position})))&&void 0!==a?a:[],c=$.map((function(n,r){var a;n===o.m.first($)&&(null==l?void 0:l.length)&&(a=M.firstElement),n!==o.m.last($)||(null==s?void 0:s.length)||(a=M.lastElement);var c=r+1===$.length;return i.createElement("li",Object.assign({id:n.id,key:n.id,ref:a,onFocus:function(){return _(r)},onBlur:function(){return V()},className:"".concat(j.itemSpacing," ").concat(t.childClassName||""," ").concat(c&&W?"pe-4":"")},X[n.id]),i.createElement(e,{getChildAppLink:t.getChildAppLink,data:n,getSubtitle:t.getSubtitle,analyticsData:Object.assign(Object.assign({itemIndex:r},t.analyticsData),A(n)),analyticsOptions:Object.assign(Object.assign({},null==t?void 0:t.analyticsOptions),b.d.getSliderItemAnalyticsOptions())}))}));return l.length&&(c=[].concat(B(l.map((function(e,n){var r=e.component;return i.createElement("li",{key:"first-widget-component:".concat(n),ref:0===n?M.firstElement:null,className:"".concat(j.itemSpacing," ").concat(t.childClassName||"")},i.createElement(r,null))}))),B(c))),s.length&&(c=[].concat(B(c),B(s.map((function(e,n){var r=e.component;return i.createElement("li",{key:"end-widget-component:".concat(n),ref:n===s.length-1?M.lastElement:null,className:"".concat(j.itemSpacing," ").concat(t.childClassName||"")},i.createElement(r,null))}))))),i.createElement(i.Fragment,null,c)}}),[$,X,x.offset,G].concat(B(t.widgetDataDeps||[])));if($&&!$.length&&!(null==n?void 0:n.length))return i.createElement(i.Fragment,null);if(!$||l.t.isEmpty($))return i.createElement("div",{ref:U},i.createElement(C,{partialLoadingComponent:t.partialLoadingComponent,partialLoadingOptions:t.partialLoadingOptions}));var J=function(e){return Object.assign(Object.assign({},t.analyticsData),{name:t.heading,direction:e===g.n.Next?"right":"left"})},K=W||t.hideButtons;return i.createElement("div",{className:"".concat(t.noNegativePadding?"":"mx-n4")},i.createElement("div",{className:"px-4"},i.createElement(c.B,{name:t.heading,description:t.description,appLink:t.headingAppLink})),i.createElement("div",{className:"position-relative"},i.createElement("div",{className:"".concat(t.noNegativePadding?"":"px-4"," py-3 my-n3 position-relative ").concat(W?j.mobileScroll:"overflow-hidden-x")},i.createElement("div",{className:"position-relative ".concat(t.hideButtons?"overflow-hidden-x":"")},!K&&i.createElement(f.W,{direction:f.f.Left,onClick:function(){T(),w({type:g.n.Previous}),s.k.logUserAction(J(g.n.Previous),b.d.getSliderAnalyticsOptions())},leftButtonClassName:"".concat(j.leftButton," ").concat(t.noNegativePadding?j.leftButtonNoPadding:""),leftGradientClassName:"".concat(j.leftGradient," ").concat(t.noNegativePadding?j.leftGradientNoPadding:""),hide:x.hideLeftButton,useGradientBackdrop:!0}),i.createElement(d.V,{position:x.offset,positionType:m.C.Pixels,onDrag:O(M.container,x,w,D,I),onDragEnd:S(M.container,I),ref:M.container},H),!K&&i.createElement(f.W,{direction:f.f.Right,onClick:function(){F(),w({type:g.n.Next}),s.k.logUserAction(J(g.n.Next),b.d.getSliderAnalyticsOptions())},hide:x.hideRightButton,rightButtonClassName:"".concat(j.rightButton," ").concat(t.noNegativePadding?j.rightButtonNoPadding:""),rightGradientClassName:"".concat(j.rightGradient," ").concat(t.noNegativePadding?j.rightGradientNoPadding:""),useGradientBackdrop:!0})))))}x.defaultProps={heading:"",description:""};var C=function(t){var e=t.partialLoadingComponent,n=t.partialLoadingOptions;return i.createElement("div",{className:"d-flex flex-nowrap overflow-hidden"},v.u.getPartialLoadingItems(n).map((function(t,n){return i.createElement(e,{key:n})})))}},14244:(t,e,n)=>{n.d(e,{C:()=>o,E:()=>f});var i=n(86764),r=n(10841);function a(t){return t===i.r.XS?200:t===i.r.SM||t===i.r.MD?350:500}var o={offset:0,containerLeftPosition:null,containerRightPosition:null,firstElementPosition:null,lastElementPosition:null,hideLeftButton:!0,hideRightButton:!0,maxSlideDistance:0,leftOffsetLimit:null},l=function(t){var e=t.elementRefs,n=e.container,i=e.lastElement;if(!(null==n?void 0:n.current)||!(null==i?void 0:i.current))return o;var r=n.current.getBoundingClientRect(),l=r.left,s=r.right,c=l,u=i.current.getBoundingClientRect().right,d=s-u;return Object.assign(Object.assign({},o),{containerLeftPosition:l,containerRightPosition:s,firstElementPosition:c,lastElementPosition:u,hideRightButton:u<s,leftOffsetLimit:d,maxSlideDistance:a(t.mediaQuery)})},s=function(t){var e=l(Object.assign(Object.assign({},t),t.elementRefs));return Object.assign(Object.assign({},e),{maxSlideDistance:a(t.mediaQuery)})},c=function(t){var e=t.firstElementPosition,n=t.lastElementPosition,i=t.maxSlideDistance,r=t.offset,a=t.containerRightPosition,o=n-a>=i?i:n-a;return{firstElementPosition:e-o,lastElementPosition:n-o,offset:r-o,hideRightButton:n-o===a,hideLeftButton:!1}},u=function(t){var e=t.containerLeftPosition,n=t.firstElementPosition,i=t.lastElementPosition,r=t.maxSlideDistance,a=t.offset,o=n+r<=e,l=o?r:Math.abs(a);return{firstElementPosition:n+l,lastElementPosition:i+l,offset:a+l,hideLeftButton:!o||n+l===e,hideRightButton:!1}},d=function(t,e){var n=e.widgetSnapshot,i=e.currentMouseX;if(n.hideLeftButton&&n.hideRightButton)return{};var r=n.initialMouseX-i,a=n.offset-r,o=n.firstElementPosition-r,l=n.lastElementPosition-r,s=!1,c=!1;return o>t.containerLeftPosition&&(a=0,o=t.containerLeftPosition,l=t.lastElementPosition,s=!0),l<=t.containerRightPosition&&(a=t.leftOffsetLimit,o=t.containerLeftPosition-Math.abs(t.leftOffsetLimit),l=n.containerRightPosition,c=!0),{offset:a,firstElementPosition:o,lastElementPosition:l,hideLeftButton:s,hideRightButton:c}};function f(t,e){switch(e.type){case r.n.Init:return Object.assign(Object.assign({},t),l(e.payload));case r.n.Resize:return Object.assign(Object.assign({},t),s(e.payload));case r.n.Next:return Object.assign(Object.assign({},t),c(t));case r.n.Previous:return Object.assign(Object.assign({},t),u(t));case r.n.Drag:return Object.assign(Object.assign({},t),d(t,e.payload));default:return t}}},5859:(t,e,n)=>{function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=Array(e);n<e;n++)i[n]=t[n];return i}n.d(e,{u:()=>a});var r={numItems:5,minWidth:50,maxWidth:100},a={getPartialLoadingItems:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},r),e);return(t=Array(n.numItems),function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}(t)||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.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}}}]);
|
|
2
|
+
//# sourceMappingURL=6450-601f889072-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6450-601f889072-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/widgets/dynamic-widget/DynamicWidgetEventHandlers.ts","file:///app/packages/libs/shared/src/components/widgets/dynamic-widget/dynamic-widget.scss","file:///app/packages/libs/shared/src/components/widgets/dynamic-widget/DynamicWidget.tsx","file:///app/packages/libs/shared/src/components/widgets/dynamic-widget/DynamicWidgetReducer.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts"],"sourcesContent":["import { ReducerActions } from 'libs/common/react/interfaces';\n\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\n\nimport { DynamicWidgetState } from './DynamicWidgetReducer';\n\ninterface WidgetSnapshot extends DynamicWidgetState {\n initialMouseX: number;\n}\n\n/**\n * Resize events\n */\nexport const getResizeHandler = (\n elementRefs: SlidingListRefs,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction>>,\n mediaQuery: MediaQueryStrings\n) => () => {\n if (elementRefs.container.current)\n elementRefs.container.current.style.transition = '';\n\n dispatch({\n type: WidgetInteraction.Resize,\n payload: {\n elementRefs,\n mediaQuery\n }\n });\n};\n\nexport const getResizeEndHandler = (containerRef: React.MutableRefObject<HTMLUListElement>) => () => {\n if (containerRef.current)\n containerRef.current.style.transition = 'transform .4s ease-in-out';\n};\n\nexport const getDragHandler = (\n containerRef: React.MutableRefObject<HTMLUListElement>,\n widgetState: DynamicWidgetState,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction>>,\n widgetSnapshot: WidgetSnapshot,\n setWidgetSnapshot: React.Dispatch<WidgetSnapshot>\n) => (event: React.DragEvent<HTMLUListElement>): void => {\n const mouseX = event.clientX;\n\n let snapshot = widgetSnapshot;\n\n if (!snapshot) {\n snapshot = { ...widgetState, initialMouseX: mouseX };\n setWidgetSnapshot(snapshot);\n containerRef.current.style.transition = '';\n }\n\n dispatch({\n type: WidgetInteraction.Drag,\n payload: {\n widgetSnapshot: snapshot,\n currentMouseX: mouseX\n }\n });\n};\n\nexport const getDragEndHandler = (\n containerRef: React.MutableRefObject<HTMLUListElement>,\n setWidgetSnapshot: React.Dispatch<WidgetSnapshot>\n) => () => {\n containerRef.current.style.transition = 'transform .4s ease-in-out';\n setWidgetSnapshot(null);\n};","// extracted by mini-css-extract-plugin\nexport default {\"itemSpacing\":\"fDc_6\",\"mobileScroll\":\"aLSzv\",\"leftGradient\":\"YheD1\",\"leftGradientNoPadding\":\"Vl2_g\",\"leftButton\":\"ISepF\",\"leftButtonNoPadding\":\"N4rAS\",\"rightGradient\":\"i9XEE\",\"rightGradientNoPadding\":\"APhNv\",\"rightButton\":\"OxM84\",\"rightButtonNoPadding\":\"nmSQo\"};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { Core } from 'libs/common/core';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { WidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/WidgetHeader';\nimport { useWidgetKeyboard } from 'libs/shared/components/widgets/hooks/useWidgetKeyboard';\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\nimport { PartialLoadingHelper, PartialLoadingOptions } from 'libs/shared/utils/PartialLoadingHelper';\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\n\nimport { getDragEndHandler, getDragHandler, getResizeEndHandler, getResizeHandler } from './DynamicWidgetEventHandlers';\nimport { DynamicWidgetReducer, DynamicWidgetState, initialSliderState } from './DynamicWidgetReducer';\n\nimport styles from './dynamic-widget.scss';\n\ninterface WidgetSnapshot extends DynamicWidgetState {\n initialMouseX: number;\n}\n\ninterface StaticChild {\n position: 'start' | 'end';\n component: React.ElementType;\n}\n\ninterface DynamicWidgetProps {\n childComponent: React.ElementType;\n partialLoadingComponent: React.ElementType;\n partialLoadingOptions?: PartialLoadingOptions;\n\n widgetDataDeps?: (any)[];\n getChildAppLink?: (data: any) => Core.AppLink;\n\n staticChildren?: StaticChild[];\n collection?: BaseObject[];\n fetch?: (...args: any[]) => any;\n lazyLoad?: boolean;\n\n heading?: string;\n headingAppLink?: Core.AppLink;\n description?: string;\n getSubtitle?: (data: any) => string\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n getWidgetItemAnalyticsData?: (data: any) => HashObject;\n hideButtons?: boolean;\n childClassName?: string;\n // set to true if the widget get cut off by the container\n noNegativePadding?: boolean;\n}\n\nDynamicWidget.defaultProps = {\n heading: '',\n description: ''\n};\n\nexport function DynamicWidget(props: DynamicWidgetProps): JSX.Element {\n const { childComponent: WidgetItemComponent, staticChildren, getWidgetItemAnalyticsData = () => {} } = props;\n\n const [ state, dispatch ] = React.useReducer(DynamicWidgetReducer, initialSliderState);\n\n // A snapshot of the widget state is captured on the very first `Drag` event as a point of reference\n const [ widgetSnapshot, setWidgetSnapshot ] = React.useState<WidgetSnapshot>(null);\n\n const elementRefs: SlidingListRefs = {\n container: React.useRef(null),\n firstElement: React.useRef(null),\n lastElement: React.useRef(null)\n };\n\n const mediaQuery = useGetMediaQueryString();\n const isTouchScreen = UserAgentHelper.isTabletOrMobile();\n \n const { dynamicAttributes, focusNext, focusPrev, onFocusWidget, onBlurWidget } = useWidgetKeyboard({ type: 'dynamic', state, containerRef: elementRefs.container, mediaQuery });\n\n useResizeListener(\n getResizeHandler(elementRefs, dispatch, mediaQuery),\n getResizeEndHandler(elementRefs.container),\n [mediaQuery]\n );\n\n const { ref, inView } = useLazyLoad({ prevent: !props.lazyLoad });\n\n let widgetData = props.collection;\n\n if (!props.collection && FunctionHelper.isFunction(props.fetch)) {\n const request = props.fetch(inView);\n widgetData = request.data;\n }\n\n /**\n * Once the widget data has been set, we can initialize the reducer. This is because\n * the reducer depends on the refs being set, but they don't get set until the markup has been loaded.\n */\n React.useEffect(() => {\n if (!widgetData || ObjectHelper.isEmpty(widgetData))\n return;\n\n dispatch({\n type: WidgetInteraction.Init,\n payload: {\n elementRefs,\n mediaQuery\n }\n });\n }, [widgetData]);\n\n function getWidgetItems(): JSX.Element {\n if (!widgetData)\n return;\n\n const firstChildren = staticChildren?.filter(child => child.position === 'start') ?? [];\n const lastChildren = staticChildren?.filter(child => child.position === 'end') ?? [];\n\n let items = widgetData.map((widgetItem, index) => {\n let itemRef: React.MutableRefObject<HTMLLIElement>;\n\n if (widgetItem === ArrayHelper.first(widgetData) && firstChildren?.length)\n itemRef = elementRefs.firstElement;\n\n if (widgetItem === ArrayHelper.last(widgetData) && !lastChildren?.length)\n itemRef = elementRefs.lastElement;\n\n const isLast = index + 1 === widgetData.length;\n\n return (\n <li\n id={widgetItem.id}\n key={widgetItem.id}\n ref={itemRef}\n onFocus={() => onFocusWidget(index)}\n onBlur={() => onBlurWidget()}\n className={`${styles.itemSpacing} ${props.childClassName || ''} ${(isLast && isTouchScreen) ? 'pe-4' : ''}`}\n {...dynamicAttributes[widgetItem.id]}\n >\n <WidgetItemComponent\n getChildAppLink={props.getChildAppLink}\n data={widgetItem}\n getSubtitle={props.getSubtitle}\n analyticsData={{\n itemIndex: index,\n ...props.analyticsData,\n ...getWidgetItemAnalyticsData(widgetItem)\n }}\n analyticsOptions={{ ...props?.analyticsOptions, ...WidgetHelper.getSliderItemAnalyticsOptions() }}\n />\n </li>\n );\n });\n\n if (firstChildren.length) {\n items = [\n ...firstChildren.map((child, i) => {\n const Component = child.component;\n\n return (\n <li\n key={`first-widget-component:${i}`}\n ref={i === 0 ? elementRefs.firstElement : null}\n className={`${styles.itemSpacing} ${props.childClassName || ''}`}\n >\n <Component />\n </li>\n );\n }),\n ...items\n ];\n }\n\n if (lastChildren.length) {\n items = [\n ...items,\n ...lastChildren.map((child, i) => {\n const Component = child.component;\n\n return (\n <li\n key={`end-widget-component:${i}`}\n ref={i === lastChildren.length - 1 ? elementRefs.lastElement : null}\n className={`${styles.itemSpacing} ${props.childClassName || ''}`}\n >\n <Component />\n </li>\n );\n })\n ];\n }\n\n return <>{items}</>;\n }\n const widgetItems = React.useMemo(getWidgetItems, [\n widgetData, dynamicAttributes, state.offset, mediaQuery, ...props.widgetDataDeps || []\n ]);\n\n if (widgetData && !widgetData.length && !staticChildren?.length)\n return <></>;\n\n if (!widgetData || ObjectHelper.isEmpty(widgetData)) {\n return (\n <div ref={ref}>\n <PartialDynamicWidget\n partialLoadingComponent={props.partialLoadingComponent}\n partialLoadingOptions={props.partialLoadingOptions}\n />\n </div>\n );\n }\n\n const getSliderAnalyticsData = (type: WidgetInteraction) => ({\n ...props.analyticsData,\n name: props.heading,\n direction: type === WidgetInteraction.Next ? 'right' : 'left'\n });\n\n const hideButtons = isTouchScreen || props.hideButtons;\n\n return (\n <div className={`${props.noNegativePadding ? '' : 'mx-n4'}`}>\n <div className='px-4'>\n <WidgetHeader name={props.heading} description={props.description} appLink={props.headingAppLink} />\n </div>\n\n <div className='position-relative'>\n <div className={`${props.noNegativePadding ? '' : 'px-4' } py-3 my-n3 position-relative ${isTouchScreen ? styles.mobileScroll : 'overflow-hidden-x'}`}>\n <div className={`position-relative ${props.hideButtons ? 'overflow-hidden-x' : ''}`}>\n {!hideButtons && (\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => {\n focusPrev();\n\n dispatch({ type: WidgetInteraction.Previous });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Previous),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n }}\n leftButtonClassName={`${styles.leftButton} ${props.noNegativePadding ? styles.leftButtonNoPadding : ''}`}\n leftGradientClassName={`${styles.leftGradient} ${props.noNegativePadding ? styles.leftGradientNoPadding : ''}`}\n hide={state.hideLeftButton}\n useGradientBackdrop\n />\n )}\n\n <SlidingListContainer\n position={state.offset}\n positionType={CssMeasurement.Pixels}\n onDrag={getDragHandler(elementRefs.container, state, dispatch, widgetSnapshot, setWidgetSnapshot)}\n onDragEnd={getDragEndHandler(elementRefs.container, setWidgetSnapshot)}\n ref={elementRefs.container}\n >\n {widgetItems}\n </SlidingListContainer>\n\n {!hideButtons && (\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => {\n focusNext();\n\n dispatch({ type: WidgetInteraction.Next });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Next),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n }}\n hide={state.hideRightButton}\n rightButtonClassName={`${styles.rightButton} ${props.noNegativePadding ? styles.rightButtonNoPadding : ''}`}\n rightGradientClassName={`${styles.rightGradient} ${props.noNegativePadding ? styles.rightGradientNoPadding : ''}`}\n useGradientBackdrop\n />\n )}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\ntype PartialDynamicWidgetProps = Pick<DynamicWidgetProps, 'partialLoadingComponent'> & {\n partialLoadingOptions?: PartialLoadingOptions;\n}\n\nexport const PartialDynamicWidget = (props: PartialDynamicWidgetProps) => {\n const { partialLoadingComponent: Component, partialLoadingOptions } = props;\n\n return (\n <div className='d-flex flex-nowrap overflow-hidden'>\n {PartialLoadingHelper.getPartialLoadingItems(partialLoadingOptions).map((item, idx) => <Component key={idx} />)}\n </div>\n );\n};","import { ReducerActions } from 'libs/common/react/interfaces';\n\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { SlidingListRefs } from 'libs/shared/interfaces/SlidingListRefs';\n\nexport interface DynamicWidgetState {\n /**\n * X-position argument for `translate3d()` to determine where the slider is positioned.\n */\n offset: number;\n\n /**\n * Left position of the slider container.\n * Set on `Init`, and updated on `Resize`.\n * Used for calculations on `Previous`, or for dragging to the right.\n */\n containerLeftPosition: number;\n\n /**\n * Right position of the slider container.\n * Set on Init, and updated on Resize.\n * Used for calculations on `Next`, or for dragging to the left.\n */\n containerRightPosition: number;\n\n /**\n * The position of the left edge of the very first element in the slider list.\n * Initially this will always be equal to `containerLeftPosition`.\n */\n firstElementPosition: number;\n\n /**\n * The position of the right edge of the very last element in the slider list.\n */\n lastElementPosition: number;\n\n /**\n * True when `firstElementPosition === containerLeftPosition`.\n */\n hideLeftButton: boolean;\n\n /**\n * True when `lastElementPositon === containerRightPosition`.\n */\n hideRightButton: boolean;\n\n /**\n * When clicking left or right, this number is the max distance in pixels that the slider.\n * will move.\n * Default 300.\n * Can only be set once on `Init` action.\n */\n maxSlideDistance: number;\n\n /**\n * This is calculated on `Init`, and is the lowest number the `offset` state can ever be.\n * This is needed for the `Drag` event, as the `Drag` event can only calculate whole numbers.\n * 99% of the time, the leftOffsetLimit is a very specific decimal number, so we calculate it\n * on `Init` and reference it on `Drag` events when necessary.\n */\n leftOffsetLimit: number;\n}\n\nfunction getMaxSlideDistance(mediaQuery: MediaQueryStrings): number {\n if (mediaQuery === MediaQueryStrings.XS)\n return 200;\n\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.MD)\n return 350;\n\n return 500;\n}\n\n/**\n * `null` values are initialized in the `Init` action. This is dispatched\n * later, because it uses JQuery elements that aren't immediately available\n * when `useReducer` is called.\n */\nexport const initialSliderState: DynamicWidgetState = {\n offset: 0,\n containerLeftPosition: null,\n containerRightPosition: null,\n firstElementPosition: null,\n lastElementPosition: null,\n hideLeftButton: true,\n hideRightButton: true,\n maxSlideDistance: 0,\n leftOffsetLimit: null\n};\n\ninterface InitPayload {\n elementRefs: SlidingListRefs;\n mediaQuery: MediaQueryStrings;\n}\n\nconst onInit = (payload: InitPayload): DynamicWidgetState => {\n const { container, lastElement } = payload.elementRefs;\n\n if (!container?.current || !lastElement?.current)\n return initialSliderState;\n\n const containerRect = container.current.getBoundingClientRect();\n const containerLeftPosition = containerRect.left;\n const containerRightPosition = containerRect.right;\n\n const firstElementPosition = containerLeftPosition;\n const lastElementPosition = lastElement.current.getBoundingClientRect().right;\n const leftOffsetLimit = containerRightPosition - lastElementPosition;\n\n return {\n ...initialSliderState,\n containerLeftPosition,\n containerRightPosition,\n firstElementPosition,\n lastElementPosition,\n hideRightButton: lastElementPosition < containerRightPosition,\n leftOffsetLimit,\n maxSlideDistance: getMaxSlideDistance(payload.mediaQuery)\n };\n};\n\ninterface ResizePayload {\n elementRefs: SlidingListRefs;\n mediaQuery: MediaQueryStrings;\n}\n\nconst onResize = (payload: ResizePayload): DynamicWidgetState => {\n const initialState = onInit({\n ...payload,\n ...payload.elementRefs\n });\n\n return {\n ...initialState,\n maxSlideDistance: getMaxSlideDistance(payload.mediaQuery)\n };\n};\n\nconst onNext = (prevState: DynamicWidgetState): Partial<DynamicWidgetState> => {\n const { firstElementPosition, lastElementPosition, maxSlideDistance, offset, containerRightPosition } = prevState;\n\n /**\n * The distance in pixels that the slider will move along the x-axis.\n * This will be the `maxSlideDistance` constant value, or if that value is too large we calculate\n * the remaining overflowing space and only slide by that amount.\n */\n const slideDistance = lastElementPosition - containerRightPosition >= maxSlideDistance\n ? maxSlideDistance\n : lastElementPosition - containerRightPosition;\n\n return {\n firstElementPosition: firstElementPosition - slideDistance,\n lastElementPosition: lastElementPosition - slideDistance,\n offset: offset - slideDistance,\n hideRightButton: lastElementPosition - slideDistance === containerRightPosition,\n hideLeftButton: false\n };\n};\n\nconst onPrevious = (prevState: DynamicWidgetState): Partial<DynamicWidgetState> => {\n const { containerLeftPosition, firstElementPosition, lastElementPosition, maxSlideDistance, offset } = prevState;\n\n const fullSlide = firstElementPosition + maxSlideDistance <= containerLeftPosition;\n const slideDistance = fullSlide ? maxSlideDistance : Math.abs(offset);\n\n return {\n firstElementPosition: firstElementPosition + slideDistance,\n lastElementPosition: lastElementPosition + slideDistance,\n offset: offset + slideDistance,\n hideLeftButton: !fullSlide || firstElementPosition + slideDistance === containerLeftPosition,\n hideRightButton: false\n };\n};\n\nconst onDrag = (prevState: DynamicWidgetState, payload: any): Partial<DynamicWidgetState> => {\n const { widgetSnapshot, currentMouseX } = payload;\n\n // Disable dragging if the slider isn't long enough\n if (widgetSnapshot.hideLeftButton && widgetSnapshot.hideRightButton)\n return {};\n\n // The distance from the initial `MouseDown` event x-coordinate, to the present x-coordinate\n const dragDistance = widgetSnapshot.initialMouseX - currentMouseX;\n\n let offset = widgetSnapshot.offset - dragDistance;\n let firstElementPosition = widgetSnapshot.firstElementPosition - dragDistance;\n let lastElementPosition = widgetSnapshot.lastElementPosition - dragDistance;\n let hideLeftButton = false;\n let hideRightButton = false;\n\n if (firstElementPosition > prevState.containerLeftPosition) {\n offset = 0;\n firstElementPosition = prevState.containerLeftPosition;\n lastElementPosition = prevState.lastElementPosition;\n hideLeftButton = true;\n }\n\n if (lastElementPosition <= prevState.containerRightPosition) {\n offset = prevState.leftOffsetLimit;\n firstElementPosition = prevState.containerLeftPosition - Math.abs(prevState.leftOffsetLimit);\n lastElementPosition = widgetSnapshot.containerRightPosition;\n hideRightButton = true;\n }\n\n return {\n offset,\n firstElementPosition,\n lastElementPosition,\n hideLeftButton,\n hideRightButton\n };\n};\n\nexport function DynamicWidgetReducer(\n prevState: DynamicWidgetState,\n action: ReducerActions<WidgetInteraction>\n): DynamicWidgetState {\n switch (action.type) {\n case WidgetInteraction.Init:\n return {\n ...prevState,\n ...onInit(action.payload)\n };\n\n case WidgetInteraction.Resize:\n return {\n ...prevState,\n ...onResize(action.payload)\n };\n\n case WidgetInteraction.Next:\n return {\n ...prevState,\n ...onNext(prevState)\n };\n\n case WidgetInteraction.Previous:\n return {\n ...prevState,\n ...onPrevious(prevState)\n };\n\n case WidgetInteraction.Drag:\n return {\n ...prevState,\n ...onDrag(prevState, action.payload)\n };\n\n default:\n return prevState;\n }\n}","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};"],"names":["getResizeHandler","elementRefs","dispatch","mediaQuery","container","current","style","transition","type","WidgetInteraction","payload","getResizeEndHandler","containerRef","getDragHandler","widgetState","widgetSnapshot","setWidgetSnapshot","event","mouseX","clientX","snapshot","initialMouseX","currentMouseX","getDragEndHandler","DynamicWidget","props","WidgetItemComponent","childComponent","staticChildren","getWidgetItemAnalyticsData","DynamicWidgetReducer","state","firstElement","lastElement","isTouchScreen","UserAgentHelper","useWidgetKeyboard","dynamicAttributes","focusNext","focusPrev","onFocusWidget","onBlurWidget","prevent","lazyLoad","ref","inView","widgetData","collection","FunctionHelper","fetch","request","data","ObjectHelper","widgetItems","firstChildren","filter","child","position","lastChildren","items","map","widgetItem","index","itemRef","ArrayHelper","length","isLast","id","key","onFocus","onBlur","className","childClassName","getChildAppLink","getSubtitle","analyticsData","itemIndex","analyticsOptions","WidgetHelper","i","Component","component","offset","widgetDataDeps","PartialDynamicWidget","partialLoadingComponent","partialLoadingOptions","getSliderAnalyticsData","name","heading","direction","hideButtons","noNegativePadding","WidgetHeader","description","appLink","headingAppLink","WidgetButton","W","onClick","AnalyticsHelper","leftButtonClassName","leftGradientClassName","hide","hideLeftButton","useGradientBackdrop","SlidingListContainer","positionType","CssMeasurement","C","onDrag","onDragEnd","hideRightButton","rightButtonClassName","rightGradientClassName","defaultProps","PartialLoadingHelper","item","idx","getMaxSlideDistance","initialSliderState","containerLeftPosition","containerRightPosition","firstElementPosition","lastElementPosition","maxSlideDistance","leftOffsetLimit","onInit","containerRect","getBoundingClientRect","left","right","onResize","initialState","onNext","prevState","slideDistance","onPrevious","fullSlide","Math","abs","dragDistance","action","DEFAULT_PARTIAL_LOADING_OPTIONS","numItems","minWidth","maxWidth","getPartialLoadingItems","options","opts","Array","width","max","floor","random"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6544],{1353:(e,t,n)=>{n.d(t,{$:()=>s});var r=n(32735),a=n(23481),i=n(11607),c=n(54610),l=n(67453),o=n(22161),u=a.T.encloseNamespace("shared.curriculumLinks");function s(e){var t=e.data;return r.createElement(i.L,{key:t.id,className:"p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ".concat(o.Z.tag," ").concat(e.selected?o.Z.selected:""),onClick:function(){return e.onChangeCurriculum(t.id.toString())},"aria-label":"".concat(u("ariaFilter")," ").concat(t.name)},r.createElement("div",{className:"bg-white ".concat(o.Z.cover," rounded-circle border")},r.createElement("img",{src:l.j.createUrl(t.cover.url,{size:c.h2.Small}),alt:t.name,className:"rounded-circle"})),r.createElement("div",{className:"ms-2"},t.name))}},93439:(e,t,n)=>{n.d(t,{h:()=>E});var r=n(32735),a=n(44599),i=n(83345),c=n(85597),l=n(54610),o=n(67453),u=n(38496),s=n(22161);function m(e){return m="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},m(e)}function d(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=m(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==m(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,l=[],o=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}(e,t)||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 v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var p=/(.*)\s\((.*)?\)/i,g="shared.curriculumLinks",y="text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block";function h(e){function t(){var t=y+" bg-white border";return!e.leaf.name&&e.uiContainsCodes?t+" border-secondary text-secondary":t+" border-dark"}var n=r.useRef();return r.useEffect((function(){if(n.current){var t=n.current.getBoundingClientRect().width;e.trySetMaxCodeWidth(t)}}),[n.current]),r.createElement("div",{className:"d-flex"},e.leaf.description?!e.leaf.name&&e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},r.createElement(i.x,{namespace:g,phrase:"noCode"}))),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):e.leaf.name||e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},e.leaf.name)),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.description}}):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.name}}))}function b(e){var t,n,a,i={},l=!1;function o(e){var t="mb-2";return e.name||l?t:t+" ms-4 "+s.Z.leafDescriptionOnly}return e.linkSet.areasAndLeaves.forEach((function(e){var t=e[c.k.Area].map((function(e){return e.name})).join(" - ");i[t]?e[c.k.Leaf].forEach((function(e){i[t].push(e),e.name&&(l=!0)})):i[t]=e[c.k.Leaf]})),r.createElement(r.Fragment,null,r.createElement("h3",{className:"".concat(y," text-white bg-dark-blue fw-normal me-1 mb-2")},(t=e.linkSet[c.k.Audience].name,n=e.linkSet[c.k.Subject].name,(a=t.match(p))?"".concat(a[1]," • ").concat(a[2]," • ").concat(n):"".concat(t," • ").concat(n))),r.createElement("div",{className:"me-2 ".concat(s.Z.curriculumSubject)},Object.keys(i).map((function(t,n){return r.createElement("div",{key:n,className:s.Z.areaLeafSet},t&&r.createElement("h4",{className:"mb-1 font-size-normal"},t),r.createElement("ul",{className:"list-unstyled"},i[t].map((function(t){return r.createElement("li",{key:t.id,className:o(t)},r.createElement(h,{leaf:t,codeWidth:e.codeWidth,trySetMaxCodeWidth:e.trySetMaxCodeWidth,uiContainsCodes:l}))}))))}))))}function E(e){var t,n,m=f(r.useState(0),2),v=m[0],p=m[1],y=f(r.useState(!1),2),h=y[0],E=y[1],S=f(r.useState(!1),2),k=S[0],N=S[1],A=f(r.useState([]),2),C=A[0],L=A[1];function x(e){p((function(t){return t>=e?t:e}))}r.useEffect((function(){var t,n;e.checkAllCurriculums&&e.curriculumLinks&&!(null===(t=e.curriculumLinks)||void 0===t?void 0:t.length)&&(N(!0),e.checkAllCurriculums().then((function(e){e.length&&E(!0),L(e)})).finally((function(){return N(!1)}))),(null===(n=e.curriculumLinks)||void 0===n?void 0:n.length)&&h&&E(!1)}),[null===(t=e.curriculumLinks)||void 0===t?void 0:t.length]);var w=r.useMemo((function(){var t,n={};return null===(t=e.curriculumLinks)||void 0===t||t.forEach((function(e){var t=null,r=null,a=[],i=[];e.forEach((function(e){switch(e.type){case c.k.Subject:t=e;break;case c.k.Audience:r=e;break;case c.k.Area:a.push(e);break;case c.k.Leaf:i.push(e)}}));var l="".concat(t.id,":").concat(r.id);n[l]?n[l].areasAndLeaves.push(d(d({},c.k.Area,a),c.k.Leaf,i)):n[l]=d(d(d({},c.k.Subject,t),c.k.Audience,r),"areasAndLeaves",[d(d({},c.k.Area,a),c.k.Leaf,i)])})),n}),[e.curriculumLinks]);return k?r.createElement(a.Z,null):(null===(n=e.curriculumLinks)||void 0===n?void 0:n.length)||e.hasNonEmptyCurriculums||!e.emptyStateUrl||h||k?h?r.createElement("div",null,r.createElement("div",{className:"mb-3"},r.createElement(i.x,{namespace:g,phrase:"currentEmpty"})),r.createElement("div",{className:"mb-3"},r.createElement(i.x,{namespace:g,phrase:"currentEmptyInfo"})),r.createElement("ul",{className:"list-unstyled mb-0"},C.map((function(t){return r.createElement("li",{key:t.id,className:"p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ".concat(s.Z.tag," me-2"),onClick:function(){return e.onChangeCurriculum(t.id.toString())}},r.createElement("div",{className:"bg-white ".concat(s.Z.cover," rounded-circle")},r.createElement("img",{src:o.j.createUrl(t.cover.url,{size:l.h2.Small}),alt:t.name,className:"rounded-circle"})),t.name)})))):r.createElement("ul",{className:"list-unstyled m-0"},Object.keys(w).map((function(e,t){return r.createElement("li",{key:"linkset-".concat(t),className:s.Z.curriculumSet},r.createElement(b,{linkSet:w[e],trySetMaxCodeWidth:x,codeWidth:v}))}))):r.createElement(u.p,{emptyStateUrl:e.emptyStateUrl})}},38496:(e,t,n)=>{n.d(t,{p:()=>u});var r=n(32735),a=n(23481),i=n(23232),c=n(83345),l="shared.curriculumLinks",o=a.T.encloseNamespace(l);function u(e){return r.createElement(i.u,{className:"pt-3"},r.createElement(i.u.Image,{src:e.emptyStateUrl,altText:o("emptyInfo"),size:"small"}),r.createElement(i.u.Heading,null,r.createElement(c.x,{namespace:l,phrase:"emptyHeading"})),r.createElement(i.u.Info,null,r.createElement(c.x,{namespace:l,phrase:"emptyInfo"})))}},44599:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(32735);var a=function(){return r.createElement(r.Fragment,null,r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ".concat("vDcrq")}),r.createElement("div",null,r.createElement("div",{className:"partial-loading-background mb-1 ".concat("GXhoW")}),r.createElement("div",{className:"mb-2 d-flex"},r.createElement("div",{className:"me-1 align-self-start ".concat("goKaS")},r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100"})),r.createElement("div",{className:"partial-loading-background ".concat("vFew6")}))))};function i(){return r.createElement("div",null,r.createElement("div",{className:"mb-3"},r.createElement(a,null)),r.createElement("div",{className:"mb-3"},r.createElement(a,null)),r.createElement("div",null,r.createElement(a,null)))}},63112:(e,t,n)=>{n.d(t,{o:()=>i});var r=n(32735),a=n(91807),i=r.memo((function(e){var t=e.tagClass,n="partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ".concat(void 0===t?"":t," ").concat(a.Z.partialTag);return r.createElement("div",{className:"mt-1"},r.createElement("span",{className:n}," "))}))},88513:(e,t,n)=>{n.d(t,{B:()=>s});var r=n(32735),a=n(23481),i=n(65858),c=n(36848);const l={seeMore:"yv0FS"};var o=a.T.encloseNamespace("shared.widgetHeader");function u(e){return r.createElement("div",{className:"ms-3 ".concat(l.seeMore)},r.createElement(c.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:i._S.SeeMore}),className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":"")},r.createElement("p",{className:"hover-text-underline text-dark curated-widget-heading"},o("seeMore"))))}function s(e){var t=!!e.description;return e.name||e.description?r.createElement("div",{className:"curated-widget-header"},r.createElement("div",{className:"d-flex justify-content-between"},!!e.name&&r.createElement("div",{className:l.title},r.createElement(c.F,{appLink:e.appLink,analyticsOptions:e.analyticsOptions,analyticsData:e.analyticsData,className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":""),onClick:e.onClick},r.createElement("h2",{className:"h4 curated-widget-heading"},e.name))),!!e.appLink&&!t&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e))),t&&r.createElement("div",{className:"d-flex justify-content-between align-items-end"},r.createElement("p",{className:"description curated-widget-description ".concat(l.description)},r.createElement("span",null,e.description)),!!e.appLink&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e)))):r.createElement(r.Fragment,null)}},65163:(e,t,n)=>{n.d(t,{QL:()=>r.Q,eb:()=>r.e});var r=n(16450);n(14244)},29420:(e,t,n)=>{n.d(t,{T:()=>o});var r=n(32735);function a(e){return a="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},a(e)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,l=[],o=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(u)throw a}}return l}}(e,t)||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}}(e,t)||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,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var l=400;function o(e){var t=e.type,n=e.state,c=e.containerRef,o=e.mediaQuery,u=i(r.useState(!1),2),s=u[0],m=u[1],d=i(r.useState({}),2),f=d[0],v=d[1],p=i(r.useState(null),2),g=p[0],y=p[1];return r.useEffect((function(){"dynamic"===t&&c.current&&n.containerLeftPosition&&setTimeout((function(){return e=n,t=Array.from(c.current.children).reduce((function(t,n){var r,i,c,l=null==n?void 0:n.getBoundingClientRect(),o=l.left<e.containerRightPosition&&l.right>e.containerLeftPosition;return Object.assign(Object.assign({},t),(r={},i=n.id,c=o?{"aria-hidden":!1}:{"aria-hidden":!0,inert:"true"},(i=function(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(t)?t:t+""}(i))in r?Object.defineProperty(r,i,{value:c,enumerable:!0,configurable:!0,writable:!0}):r[i]=c,r))}),{}),void v(t);var e,t}),l+50)}),[c.current,o,n.offset,n.containerLeftPosition]),{isTabbing:s,onFocusWidget:function(e){document.querySelector(".user-is-tabbing")&&(m(!0),y(e))},onBlurWidget:function(){document.querySelector(".user-is-tabbing")||(m(!1),y(null))},getFixedAttributes:function(e){var t=n;return e>=t.offset-t.viewableItems&&e<t.offset?{"aria-hidden":!1}:{inert:"true","aria-hidden":!0}},dynamicAttributes:f,focusNext:function(){setTimeout((function(){for(var e=c.current.querySelectorAll("li[aria-hidden]"),t=null,n=g+1;n<e.length&&!t;n++)t=e[n].querySelector('a[tabindex="0"]');t&&t.focus()}),l+100)},focusPrev:function(){setTimeout((function(){for(var e=c.current.querySelectorAll("li[aria-hidden]"),t=null,n=g-1;n>=0&&!t;n--)t=e[n].querySelector('a[tabindex="0"]');t&&t.focus()}),l+100)}}}},43872:(e,t,n)=>{n.d(t,{V:()=>s});var r=n(32735),a=n(82182),i=n(31069),c=n(91967),l=new Image;l.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=";var o=function(e){e.dataTransfer.setDragImage&&c.q.isFunction(e.dataTransfer.setDragImage)&&e.dataTransfer.setDragImage(l,0,0)},u=a.V.isTouchScreen(),s=r.forwardRef((function(e,t){var n,a,c,l,s=e.children,m=e.positionType,d=e.onDrag,f=e.onDragEnd,v=e.onTouchMove,p=e.onTouchEnd,g=e.percentageDragged,y=e.position,h=void 0===y?0:y;return r.createElement("ul",Object.assign({className:"list-unstyled d-flex flex-nowrap position-relative w-100",style:(a=h,c=m,l=g,c===i.C.Percentage&&l&&(a-=l),{transform:"translate3d(".concat(a).concat(c,", 0px, 0px)"),transition:"transform .4s ease-in-out"}),ref:t},(n={},d&&f&&(n.draggable=!0,n.onDragEnd=f,n.onDragStart=o,n.onDragOver=d),v&&p&&u&&(n.onTouchMoveCapture=v,n.onTouchEndCapture=p),n)),s)}))},16930:(e,t,n)=>{n.d(t,{W:()=>m,f:()=>u});var r=n(32735),a=n(23481),i=n(83914),c=n(35223);const l="VSAPU",o="kgeXh";var u,s=a.T.encloseNamespace("shared.widgetButton");!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(u||(u={}));var m=r.memo((function(e){var t,n,a,m=e.direction===u.Left,d=m?c.vn.ChevronLeft:c.vn.ChevronRight;return e.hide?r.createElement(r.Fragment,null):r.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(a=e.state)||void 0===a?void 0:a.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&r.createElement("div",{className:m?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&r.createElement("button",{onClick:e.onClick,className:"".concat("AtsWP"," ").concat(m?l:o),tabIndex:-1}),r.createElement("button",{className:"".concat((t="BVcIS",t+=m?" ".concat(l," ").concat(e.leftButtonClassName):" ".concat(o," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick,"aria-label":s(m?"previous":"next")},e.hoverText&&r.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),r.createElement(i.x,{svgName:d,size:i.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},31069:(e,t,n)=>{var r;n.d(t,{C:()=>r}),function(e){e.Percentage="%",e.Pixels="px"}(r||(r={}))},85597:(e,t,n)=>{var r;n.d(t,{k:()=>r}),function(e){e.Subject="CurriculumSubject",e.Audience="CurriculumAudience",e.Area="CurriculumArea",e.Leaf="CurriculumLeaf"}(r||(r={}))},10841:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e.Init="init",e.Next="next",e.Previous="previous",e.Resize="resize",e.Drag="drag",e.Update="update",e.JumpToIndex="jump-to-index"}(r||(r={}))},81514:(e,t,n)=>{n.d(t,{V:()=>i});var r=n(86764),a=n(3747);function i(){var e=(0,a.a)(r.r.XS),t=(0,a.a)(r.r.SM),n=(0,a.a)(r.r.MD),i=(0,a.a)(r.r.LG),c=(0,a.a)(r.r.XL),l=(0,a.a)(r.r.XXL),o=r.r.LG;return e&&(o=r.r.XS),t&&(o=r.r.SM),n&&(o=r.r.MD),i&&(o=r.r.LG),c&&(o=r.r.XL),l&&(o=r.r.XXL),o}},7506:(e,t,n)=>{n.r(t),n.d(t,{ViewCurriculumLinksView:()=>N});var r=n(32735),a=n(80247),i=n(23481),c=n(20354),l=n(75896),o=n(49985),u=n(65858),s=n(1353),m=n(93439),d=n(9111),f=n(13876),v=n(63112),p=n(65163),g=n(1575),y=n(69883),h=n(99742),b=n(82817);function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,l=[],o=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);o=!0);}catch(e){u=!0,a=e}finally{try{if(!o&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(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)?S(e,t):void 0}}(e,t)||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 S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var k=i.T.encloseNamespace("shared.viewCurriculumLinks");function N(e){var t,n=(0,b.M)(e.id),i=n.hasLoaded,S=n.preferredCurriculum,N=n.availableCurriculums,A=n.nonEmptyCurriculums,C=n.curriculumLinks,L=n.updateCurriculum,x=E(r.useState(!i),2),w=x[0],j=x[1],T=E(r.useState(),2),I=T[0],O=T[1],M=c.a.useBasicFetch(g.R.video(e.id)),D=(0,y.Z)();function P(e){var t,n,r=N.find((function(t){return t.id.toString()===e}));(null==r?void 0:r.id)&&(null===(t=null==I?void 0:I.id)||void 0===t?void 0:t.toString())!==(null===(n=null==r?void 0:r.id)||void 0===n?void 0:n.toString())&&(O(r),j(!0),L(r,(function(){var e,t;o.k.logUserAction({id:r.id,name:r.id,description:r.description,videoId:null===(e=M.data)||void 0===e?void 0:e.id,videoName:null===(t=M.data)||void 0===t?void 0:t.name},{entity:u.py.Presentation,actionType:u.Vw.Select,descriptor:u.kD.Curriculum,location:u.LZ.PlayPage})}),(function(){O(I),j(!1),D.error(k("updateFailed"))})))}return r.useEffect((function(){i&&(I||O(null!=S?S:l.m.first(N)),j(!1))}),[null==S?void 0:S.id,i]),r.createElement(d.G,{title:k("heading"),closePopup:e.closePopup,size:"lg"},r.createElement("div",{className:"mb-3 mx-2"},!!(null==A?void 0:A.length)&&r.createElement(p.eb,{collection:A,childClassName:"flex-shrink-0",childComponent:function(e){var t;return r.createElement(s.$,Object.assign({},e,{selected:(null===(t=null==I?void 0:I.id)||void 0===t?void 0:t.toString())===e.data.id.toString(),onChangeCurriculum:P}))},partialLoadingComponent:function(){return r.createElement(v.o,null)},widgetDataDeps:[null===(t=null==I?void 0:I.id)||void 0===t?void 0:t.toString()]})),w?r.createElement("div",{className:"d-flex justify-content-center align-items-center py-5"},r.createElement(a.Z,{as:"div",animation:"border",role:"status"})):r.createElement("div",{className:"pb-3"},r.createElement(m.h,{curriculumLinks:C,emptyStateUrl:h.W.EmptyStates.CURRICULUM_LINKS,onChangeCurriculum:P,hasNonEmptyCurriculums:!!A.length})),r.createElement(f.u,null,r.createElement(f.u.Submit,{variant:"dark",onClick:e.closePopup,text:k("close")})))}},22161:(e,t,n)=>{n.d(t,{Z:()=>r});const r={curriculumSubject:"GvGYH",curriculumSet:"d7RK0",areaLeafSet:"XRTAe",closeButton:"N3l5Q",heading:"hAxR4",leafDescriptionOnly:"h66ke",dropdown:"CsG6G",tag:"rdLqY",cover:"etwaD",active:"aDLMe",selected:"BMrSd"}},91807:(e,t,n)=>{n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}}}]);
|
|
2
|
+
//# sourceMappingURL=6544-fd0c4d43c1-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6544-fd0c4d43c1-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/curriculum-links/CurriculumLinkItem.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/CurriculumLinks.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/CurriculumLinksEmptyState.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/partial-loading/PartialCurriculumLinks.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/partial-loading/partial-curriculum-links.scss","file:///app/packages/libs/shared/src/components/tags/PartialTagItem.tsx","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/widget-header.scss","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/WidgetHeader.tsx","file:///app/packages/libs/shared/src/components/widgets/hooks/useWidgetKeyboard.ts","file:///app/packages/libs/shared/src/utils/DragHelper.ts","file:///app/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file:///app/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss","file:///app/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","file:///app/packages/libs/shared/src/enums/CssMeasurement.ts","file:///app/packages/libs/shared/src/enums/CurriculumType.ts","file:///app/packages/libs/shared/src/enums/WidgetInteraction.ts","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/projects/lite/src/shared/views/view-curriculum-links/ViewCurriculumLinksView.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/curriculum-links.scss","file:///app/packages/libs/shared/src/components/tags/tags.scss"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './curriculum-links.scss';\n\nconst namespace = 'shared.curriculumLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CurriculumLinkItemProps {\n data: Presentation;\n onChangeCurriculum: (id: string) => any;\n selected: boolean;\n}\n\nexport function CurriculumLinkItem(props: CurriculumLinkItemProps): JSX.Element {\n const { data: curriculumTag } = props;\n\n return (\n <DivButton\n key={curriculumTag.id}\n className={`p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ${styles.tag} ${props.selected ? styles.selected : ''}`}\n onClick={() => props.onChangeCurriculum(curriculumTag.id.toString())}\n aria-label={`${getPhrase('ariaFilter')} ${curriculumTag.name}`}\n >\n <div className={`bg-white ${styles.cover} rounded-circle border`}>\n <img\n src={ImageHelper.createUrl(curriculumTag.cover.url, { size: ImageSize.Small })}\n alt={curriculumTag.name}\n className='rounded-circle'\n />\n </div>\n <div className='ms-2'>\n {curriculumTag.name}\n </div>\n </DivButton>\n );\n}","import React from 'react';\n\nimport { PartialCurriculumLinks } from 'libs/shared/components/curriculum-links/partial-loading/PartialCurriculumLinks';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CurriculumType } from 'libs/shared/enums/CurriculumType';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Curriculum, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { CurriculumLinksEmptyState } from './CurriculumLinksEmptyState';\n\nimport styles from './curriculum-links.scss';\n\nconst BRACKET_SEGMENT_REGEX = /(.*)\\s\\((.*)?\\)/i;\n\nconst namespace = 'shared.curriculumLinks';\n\nconst BASE_PILL_CLASS = 'text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block';\n\ninterface CurriculumStructure {\n [CurriculumType.Subject]: Curriculum<CurriculumType.Subject>;\n [CurriculumType.Audience]: Curriculum<CurriculumType.Audience>;\n areasAndLeaves: Array<{\n [CurriculumType.Area]: Curriculum<CurriculumType.Area>[];\n [CurriculumType.Leaf]: Curriculum<CurriculumType.Leaf>[];\n }>;\n}\n\ninterface CurriculumLeafProps {\n leaf: Curriculum<CurriculumType.Leaf>;\n codeWidth: number;\n trySetMaxCodeWidth: React.Dispatch<React.SetStateAction<number>>;\n uiContainsCodes: boolean;\n}\n\nfunction CurriculumLeaf(props: CurriculumLeafProps): JSX.Element {\n function getCurriculumCodeClass(): string {\n const baseClass = BASE_PILL_CLASS + ' bg-white border';\n\n // If a leaf has no code but the rest of the UI has leaf nodes w/ codes, we show a special \"No code\" pill\n if (!props.leaf.name && props.uiContainsCodes)\n return baseClass + ' border-secondary text-secondary';\n\n return baseClass + ' border-dark';\n }\n\n const codeRef = React.useRef<HTMLDivElement>();\n\n React.useEffect(() => {\n if (!codeRef.current)\n return;\n\n const { width } = codeRef.current.getBoundingClientRect();\n\n props.trySetMaxCodeWidth(width);\n }, [codeRef.current]);\n\n return (\n <div className='d-flex'>\n {(() => {\n if (!props.leaf.description)\n return <p className='m-0' dangerouslySetInnerHTML={{ __html: props.leaf.name }} />;\n\n /**\n * If a leaf has no code but the rest of the UI has leaf nodes\n * with codes, we show a special \"No code\" pill. Example: https://imgur.com/3L1Ela3\n */\n if (!props.leaf.name && props.uiContainsCodes) {\n return (\n <>\n <div\n className='me-1 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <h5 ref={codeRef} className={getCurriculumCodeClass()}>\n <Text namespace={namespace} phrase='noCode' />\n </h5>\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />\n </>\n );\n }\n\n /**\n * If a leaf has no code and the rest of the UI leaf nodes have no code, we just\n * display the description with a bullet point. Example: https://imgur.com/jzJvmWs\n */\n if (!props.leaf.name && !props.uiContainsCodes)\n return <p className='m-0' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />;\n\n return (\n <>\n <div\n className='me-1 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <h5 ref={codeRef} className={getCurriculumCodeClass()}>{props.leaf.name}</h5>\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />\n </>\n );\n })()}\n </div>\n );\n}\n\ninterface CurriculumSubjectProps {\n linkSet: CurriculumStructure;\n codeWidth: number;\n trySetMaxCodeWidth: React.Dispatch<React.SetStateAction<number>>;\n}\n\nfunction CurriculumSubject(props: CurriculumSubjectProps): JSX.Element {\n const areaAndLeafSets: { [areaText: string]: Curriculum<CurriculumType.Leaf>[]; } = {};\n\n let uiContainsCodes = false;\n\n props.linkSet.areasAndLeaves.forEach(areaAndLeafSet => {\n const areaText = areaAndLeafSet[CurriculumType.Area].map(ca => ca.name).join(' - ');\n\n if (areaAndLeafSets[areaText]) {\n areaAndLeafSet[CurriculumType.Leaf].forEach(leaf => {\n areaAndLeafSets[areaText].push(leaf);\n\n // We need the info on if _any_ leaf node has a code in it. See why in the comments in `<CurriculumLeaf />`\n if (leaf.name)\n uiContainsCodes = true;\n });\n\n return;\n }\n\n areaAndLeafSets[areaText] = areaAndLeafSet[CurriculumType.Leaf];\n });\n\n function getAudienceText(): string {\n const audienceSegment = props.linkSet[CurriculumType.Audience].name;\n const subjectSegment = props.linkSet[CurriculumType.Subject].name;\n\n /**\n * In some curriculums, such as the UK curriculum, the audience string may contain a year group\n * in brackets. For example, it may be \"Lower Key Stage 2 (Year 4)\".\n * This regex will pull that segment out if it exists.\n */\n const audienceBracketSegments = audienceSegment.match(BRACKET_SEGMENT_REGEX);\n\n if (audienceBracketSegments)\n return `${audienceBracketSegments[1]} • ${audienceBracketSegments[2]} • ${subjectSegment}`;\n\n return `${audienceSegment} • ${subjectSegment}`;\n }\n\n function getLeafStyleClass(leaf: Curriculum<CurriculumType.Leaf>): string {\n const className = 'mb-2';\n\n if (!leaf.name && !uiContainsCodes)\n return className + ' ms-4 ' + styles.leafDescriptionOnly;\n\n return className;\n }\n\n return (\n <>\n <h3 className={`${BASE_PILL_CLASS} text-white bg-dark-blue fw-normal me-1 mb-2`}>\n {getAudienceText()}\n </h3>\n\n <div className={`me-2 ${styles.curriculumSubject}`}>\n {Object.keys(areaAndLeafSets).map((areaText, i) => {\n return (\n <div key={i} className={styles.areaLeafSet} >\n {areaText && <h4 className='mb-1 font-size-normal'>{areaText}</h4>}\n <ul className='list-unstyled'>\n {areaAndLeafSets[areaText].map(leaf => (\n <li key={leaf.id} className={getLeafStyleClass(leaf)}>\n <CurriculumLeaf\n leaf={leaf}\n codeWidth={props.codeWidth}\n trySetMaxCodeWidth={props.trySetMaxCodeWidth}\n uiContainsCodes={uiContainsCodes}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n </>\n );\n}\n\ninterface CurriculumLinksSet {\n [subjectAndAudienceIdKey: string]: CurriculumStructure\n}\n\ninterface CurriculumLinksProps {\n curriculumLinks: Curriculum[][];\n emptyStateUrl?: string;\n checkAllCurriculums?: () => Promise<Presentation[]>;\n onChangeCurriculum?: (id: string) => void;\n hasNonEmptyCurriculums: boolean;\n}\n\nexport function CurriculumLinks(props: CurriculumLinksProps): JSX.Element {\n const [ codeWidth, setCodeWidth ] = React.useState(0);\n const [ showOtherCurriculums, setShowOtherCurriculums ] = React.useState(false);\n const [ loadingOther, setLoadingOther ] = React.useState(false);\n const [ curriculumTags, setCurriculumTags ] = React.useState<Presentation[]>([]);\n\n React.useEffect(() => {\n if (props.checkAllCurriculums && props.curriculumLinks && !props.curriculumLinks?.length) {\n setLoadingOther(true);\n // only fetch other curriculums when this curriculum is displayed\n props.checkAllCurriculums().then(data => {\n if (data.length) {\n setShowOtherCurriculums(true);\n }\n\n setCurriculumTags(data);\n }).finally(() => setLoadingOther(false));\n }\n\n if (props.curriculumLinks?.length && showOtherCurriculums) {\n setShowOtherCurriculums(false);\n }\n }, [props.curriculumLinks?.length]);\n\n function trySetMaxCodeWidth(width: number): void {\n /**\n * The width of the curriculum code column should be identical for each leaf node, meaning\n * the leaf description text will be perfectly vertically aligned all the way down.\n * See here for example: https://imgur.com/MbganZf\n * \n * This is achieved by us setting the state for the maximum code width, and forcing all\n * smaller codes to abide by that max width.\n * \n * This value is used in the `<CurriculumLeaf />` component.\n */\n setCodeWidth(currentVal => {\n if (currentVal >= width)\n return currentVal;\n\n return width;\n });\n }\n\n /**\n * Here, we're taking the structure of links from the backend, and restructuring it in a way\n * that resembles the structure of our UI more closely. The general idea is:\n * \n * CurriculumAudience - CurriculumSubject\n * CurriculumAreas\n * CurriculumLeaves\n */\n const curriculumLinkSets = React.useMemo(() => {\n const newSet: CurriculumLinksSet = {};\n\n props.curriculumLinks?.forEach(linkSet => {\n let subject: Curriculum<CurriculumType.Subject> = null;\n let audience: Curriculum<CurriculumType.Audience> = null;\n const areas: Curriculum<CurriculumType.Area>[] = [];\n const leaves: Curriculum<CurriculumType.Leaf>[] = [];\n \n linkSet.forEach(curriculumObj => {\n switch (curriculumObj.type) {\n case CurriculumType.Subject:\n subject = curriculumObj as Curriculum<CurriculumType.Subject>;\n break;\n case CurriculumType.Audience:\n audience = curriculumObj as Curriculum<CurriculumType.Audience>;\n break;\n case CurriculumType.Area:\n areas.push(curriculumObj as Curriculum<CurriculumType.Area>);\n break;\n case CurriculumType.Leaf:\n leaves.push(curriculumObj as Curriculum<CurriculumType.Leaf>);\n break;\n default:\n break;\n }\n });\n \n const key = `${subject.id}:${audience.id}`;\n \n if (newSet[key]) {\n newSet[key].areasAndLeaves.push({\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n });\n \n return;\n }\n \n newSet[key] = {\n [CurriculumType.Subject]: subject,\n [CurriculumType.Audience]: audience,\n areasAndLeaves: [{\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n }]\n };\n });\n\n return newSet;\n }, [props.curriculumLinks]);\n\n if (loadingOther) {\n return <PartialCurriculumLinks />;\n }\n \n if (!props.curriculumLinks?.length && !props.hasNonEmptyCurriculums) {\n // only if all other curriculums don't have links we render the empty state\n if (props.emptyStateUrl && !showOtherCurriculums && !loadingOther)\n return <CurriculumLinksEmptyState emptyStateUrl={props.emptyStateUrl} />;\n }\n\n if (showOtherCurriculums) {\n return (\n <div>\n <div className='mb-3'>\n <Text namespace={namespace} phrase='currentEmpty' />\n </div>\n <div className='mb-3'>\n <Text namespace={namespace} phrase='currentEmptyInfo' />\n </div>\n <ul className='list-unstyled mb-0'>\n {curriculumTags.map(t => (\n <li\n key={t.id}\n className={`p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ${styles.tag} me-2`}\n onClick={() => props.onChangeCurriculum(t.id.toString())}\n >\n <div className={`bg-white ${styles.cover} rounded-circle`}>\n <img\n src={ImageHelper.createUrl(t.cover.url, { size: ImageSize.Small })}\n alt={t.name}\n className='rounded-circle'\n />\n </div>\n {t.name}\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n return (\n <ul className='list-unstyled m-0'>\n {Object.keys(curriculumLinkSets).map((linkSetKey, i) => (\n <li key={`linkset-${i}`} className={styles.curriculumSet}>\n <CurriculumSubject\n linkSet={curriculumLinkSets[linkSetKey]}\n trySetMaxCodeWidth={trySetMaxCodeWidth}\n codeWidth={codeWidth}\n />\n </li>\n ))}\n </ul>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'shared.curriculumLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CurriculumLinksEmptyStateProps {\n emptyStateUrl: string;\n}\n\nexport function CurriculumLinksEmptyState(props: CurriculumLinksEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='pt-3'>\n <EmptyState.Image src={props.emptyStateUrl} altText={getPhrase('emptyInfo')} size='small'/>\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='emptyHeading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='emptyInfo' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport styles from './partial-curriculum-links.scss';\n\nconst PartialCurriculumLinkSection = () => (\n <>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ${styles.audience}`} />\n <div>\n <div className={`partial-loading-background mb-1 ${styles.area}`} />\n\n <div className='mb-2 d-flex'>\n <div className={`me-1 align-self-start ${styles.code}`}>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100`} />\n </div>\n \n <div className={`partial-loading-background ${styles.description}`} />\n </div>\n </div>\n </>\n);\n\nexport function PartialCurriculumLinks(): JSX.Element {\n return (\n <div>\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div>\n <PartialCurriculumLinkSection />\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"audience\":\"vDcrq\",\"area\":\"GXhoW\",\"code\":\"goKaS\",\"description\":\"vFew6\"};","import React from 'react';\n\nimport styles from './tags.scss';\n\ninterface PartialTagItemProps {\n tagClass?: string;\n}\n\nexport const PartialTagItem = React.memo(function({ tagClass = '' }: PartialTagItemProps): JSX.Element {\n const classNames = `partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ${tagClass} ${styles.partialTag}`;\n\n return (\n <div className='mt-1'>\n <span className={classNames}> </span>\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"yv0FS\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions, ClickDescriptor } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './widget-header.scss';\n\nconst namespace = 'shared.widgetHeader';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface WidgetHeaderProps {\n name: string;\n description: string;\n\n appLink?: Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showSeeMoreLink?: boolean;\n onClick?: () => void;\n}\n\nfunction SeeMore(props: WidgetHeaderProps) {\n return (\n <div className={`ms-3 ${styles.seeMore}`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData }\n analyticsOptions={{ ...props.analyticsOptions, descriptor: ClickDescriptor.SeeMore }}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n >\n <p className='hover-text-underline text-dark curated-widget-heading'>{getPhrase('seeMore')}</p>\n </AppLink>\n </div>\n );\n}\n\nexport function WidgetHeader(props: WidgetHeaderProps): JSX.Element {\n const hasDescription = !!props.description;\n\n if (!props.name && !props.description)\n return <></>;\n\n return (\n <div className='curated-widget-header'>\n <div className='d-flex justify-content-between'>\n {!!props.name && (\n <div className={styles.title}>\n <AppLink\n appLink={props.appLink}\n analyticsOptions={props.analyticsOptions}\n analyticsData={props.analyticsData}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n onClick={props.onClick}\n >\n <h2 className='h4 curated-widget-heading'>\n {props.name}\n </h2>\n </AppLink>\n </div>\n )}\n {!!props.appLink && !hasDescription && !!props.showSeeMoreLink && <SeeMore {...props}/>}\n </div>\n \n {hasDescription && (\n <div className='d-flex justify-content-between align-items-end'>\n <p className={`description curated-widget-description ${styles.description}`}>\n <span>{props.description}</span>\n </p>\n {!!props.appLink && !!props.showSeeMoreLink && <SeeMore {...props}/> }\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { DynamicWidgetState } from 'libs/shared/components/widgets/dynamic-widget';\nimport { FixedWidgetState } from 'libs/shared/components/widgets/fixed-widget';\n\n// Sync with transition time in SlidingListContainer.tsx\nconst SLIDER_ANIMATION_TIME = 400;\n\ntype FixedWidgetKeyboardOptions = {\n type: 'fixed',\n state: FixedWidgetState,\n containerRef: React.MutableRefObject<HTMLElement>\n mediaQuery?: never;\n}\n\ntype DynamicWidgetKeyboardOptions = {\n type: 'dynamic',\n state: DynamicWidgetState,\n containerRef: React.MutableRefObject<HTMLElement>\n mediaQuery: string\n}\n\ntype UseWidgetKeyboard = FixedWidgetKeyboardOptions | DynamicWidgetKeyboardOptions\n\nexport function useWidgetKeyboard(options: UseWidgetKeyboard) {\n const { type, state, containerRef, mediaQuery } = options;\n\n const [ isTabbing, setIsTabbing ] = React.useState(false);\n const [ dynamicAttributes, setDynamicAttributes ] = React.useState<HashObject>({});\n const [ focusedWidgetIndex, setFocusedWidgetIndex ] = React.useState(null);\n \n /**\n * Get accessibility attributes for dynamic widget items\n * */\n React.useEffect(() => {\n if (type !== 'dynamic' || !containerRef.current || !(state as DynamicWidgetState).containerLeftPosition) return;\n \n setTimeout(() => getDynamicAttributes(), SLIDER_ANIMATION_TIME + 50);\n }, [\n containerRef.current,\n mediaQuery,\n (state as DynamicWidgetState).offset,\n (state as DynamicWidgetState).containerLeftPosition\n ]);\n\n function getDynamicAttributes() {\n const dynamicWidgetState = state as DynamicWidgetState;\n \n const focusableItems = Array.from(containerRef.current.children).reduce((acc, item) => {\n const rect = item?.getBoundingClientRect();\n\n /**\n * When any part of the widget item is visible it should be focusable,\n * otherwise prevent interaction and the slider should be the next focusable element\n * */\n const isItemVisable =\n rect.left < dynamicWidgetState.containerRightPosition &&\n rect.right > dynamicWidgetState.containerLeftPosition;\n\n return {\n ...acc,\n [item.id]: isItemVisable\n ? {\n 'aria-hidden': false\n } : {\n 'aria-hidden': true,\n 'inert': 'true'\n }\n };\n }, {});\n\n setDynamicAttributes(focusableItems);\n }\n\n /**\n * Get accessibility attributes for fixed widget items\n * */\n function getFixedAttributes(index?: number) {\n const fixedWidgetState = state as FixedWidgetState;\n\n const isItemVisible =\n index >= (fixedWidgetState.offset - fixedWidgetState.viewableItems) &&\n index < fixedWidgetState.offset;\n if (isItemVisible) {\n return {\n 'aria-hidden': false\n };\n }\n\n return {\n 'inert': 'true',\n 'aria-hidden': true\n };\n }\n\n /**\n * When the user is not signed in, there may be videos which are not focusable.\n * setTimeout is required because the transition time is 400ms\n */\n function focusNext() {\n setTimeout(() => {\n const items = containerRef.current.querySelectorAll('li[aria-hidden]');\n\n let nextFocusableElement: HTMLElement = null;\n\n for (let i = (focusedWidgetIndex + 1); i < items.length; i++) {\n if (nextFocusableElement)\n break;\n \n nextFocusableElement = items[i].querySelector('a[tabindex=\"0\"]');\n }\n\n if (nextFocusableElement)\n nextFocusableElement.focus();\n }, SLIDER_ANIMATION_TIME + 100);\n }\n\n function focusPrev() {\n setTimeout(() => {\n const items = containerRef.current.querySelectorAll('li[aria-hidden]');\n\n let prevFocusableElement: HTMLElement = null;\n for (let i = focusedWidgetIndex - 1; i >= 0; i--) {\n if (prevFocusableElement) break;\n \n const item = items[i];\n prevFocusableElement = item.querySelector('a[tabindex=\"0\"]');\n }\n \n if (prevFocusableElement)\n prevFocusableElement.focus();\n }, SLIDER_ANIMATION_TIME + 100);\n }\n\n function onFocusWidget(index: number) {\n if (document.querySelector('.user-is-tabbing')) {\n setIsTabbing(true);\n setFocusedWidgetIndex(index);\n }\n }\n\n function onBlurWidget() {\n if (!document.querySelector('.user-is-tabbing')) {\n setIsTabbing(false);\n setFocusedWidgetIndex(null);\n }\n }\n\n return {\n isTabbing,\n onFocusWidget,\n onBlurWidget,\n getFixedAttributes,\n dynamicAttributes,\n focusNext,\n focusPrev\n };\n}","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst blankImage = new Image();\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\n\nexport const DragHelper = {\n // This removes the image that appears when you drag a draggable HTML element\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\n if (!event.dataTransfer.setDragImage || !FunctionHelper.isFunction(event.dataTransfer.setDragImage))\n return;\n\n event.dataTransfer.setDragImage(blankImage, 0, 0);\n }\n};","import * as React from 'react';\n\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\n\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\n\nconst getPositionStyling = (xPosition: number, measurement: CssMeasurement, dragPercentage?: number) => {\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\n if (measurement === CssMeasurement.Percentage && dragPercentage)\n xPosition = xPosition - dragPercentage;\n \n return {\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\n // Sync with transition time in useWidgetKeyboard.ts\n transition: 'transform .4s ease-in-out'\n };\n};\n\ninterface SlidingListContainerProps extends React.PropsWithChildren<unknown> {\n position: number;\n positionType: CssMeasurement;\n\n onDrag?: (event: React.DragEvent<HTMLUListElement>) => void;\n onDragEnd?: () => void;\n\n onTouchMove?: (event: React.TouchEvent<HTMLUListElement>) => void;\n onTouchEnd?: () => void;\n\n percentageDragged?: number;\n}\n\nexport const SlidingListContainer = React.forwardRef((\n props: SlidingListContainerProps,\n ref: React.MutableRefObject<HTMLUListElement>\n): JSX.Element => {\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\n\n function getEventListeners(): HashObject {\n const listenerProps: HashObject = {};\n\n if (onDrag && onDragEnd) {\n listenerProps.draggable = true;\n listenerProps.onDragEnd = onDragEnd;\n listenerProps.onDragStart = DragHelper.hideDragImage;\n listenerProps.onDragOver = onDrag;\n }\n\n if (onTouchMove && onTouchEnd && isTouchScreen) {\n listenerProps.onTouchMoveCapture = onTouchMove;\n listenerProps.onTouchEndCapture = onTouchEnd;\n }\n\n return listenerProps;\n }\n\n return (\n <ul\n className='list-unstyled d-flex flex-nowrap position-relative w-100'\n style={getPositionStyling(position, positionType, percentageDragged)}\n ref={ref}\n {...getEventListeners()}\n >\n {children}\n </ul>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"buttonContainer\":\"_ejId\",\"left\":\"VSAPU\",\"right\":\"kgeXh\",\"button\":\"gAsE9\",\"hoverText\":\"APA36\",\"buttonHover\":\"cqD75\",\"chevron\":\"Ev4hr\",\"extendedClickableArea\":\"AtsWP\",\"gradientRight\":\"ZuAif\",\"gradientLeft\":\"Pt3nx\",\"topPos\":\"BVcIS\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { FixedWidgetState } from 'libs/shared/components/widgets/fixed-widget';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './widget-button.scss';\n\nconst namespace = 'shared.widgetButton';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum WidgetButtonDirection {\n Left,\n Right\n}\n\ninterface WidgetButtonProps {\n onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n direction: WidgetButtonDirection;\n hide: boolean;\n contents?: WidgetContents;\n useGradientBackdrop?: boolean;\n className?: string;\n hoverText?: string;\n hideExtendedClickableArea?: boolean;\n state?: FixedWidgetState;\n\n leftButtonClassName?: string;\n rightButtonClassName?: string;\n leftGradientClassName?: string;\n rightGradientClassName?: string;\n}\n\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\n const isLeft = props.direction === WidgetButtonDirection.Left;\n\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\n\n function getPositionClass(): string {\n let className = styles.topPos;\n \n // Left / Right\n if (isLeft)\n className += ` ${styles.left} ${props.leftButtonClassName}`;\n else\n className += ` ${styles.right} ${props.rightButtonClassName}`;\n \n return className;\n }\n\n function getStyle(): React.CSSProperties {\n if (props.state?.contents === 'videos')\n return { paddingBottom: (56.25 / props.state?.viewableItems) + '%' };\n\n return { height: '100%' };\n }\n\n if (props.hide)\n return <></>;\n\n return (\n <div className={styles.buttonContainer} style={getStyle()}>\n {props.useGradientBackdrop &&\n <div className={isLeft ? `${styles.gradientLeft} ${props.leftGradientClassName}` : `${styles.gradientRight} ${props.rightGradientClassName}`} />\n }\n\n {!props.hideExtendedClickableArea && (\n <button\n onClick={props.onClick}\n className={`${styles.extendedClickableArea} ${isLeft ? styles.left : styles.right}`}\n tabIndex={-1}\n />\n )}\n\n <button\n className={`${getPositionClass()} ${styles.button} ${props.className || ''}`}\n onClick={props.onClick}\n aria-label={isLeft ? getPhrase('previous') : getPhrase('next')}\n >\n {props.hoverText && (\n <span className={`ps-3 pe-2 ${styles.hoverText}`}>{props.hoverText}</span>\n )}\n <SvgContainer\n svgName={arrowSvg}\n size={SvgContainerSize.Medium}\n className={`svg-container d-inline-block ${styles.chevron}`}\n />\n </button>\n </div>\n );\n});","export enum CssMeasurement {\n Percentage = '%',\n Pixels = 'px'\n}","export enum CurriculumType {\n Subject = 'CurriculumSubject',\n Audience = 'CurriculumAudience',\n Area = 'CurriculumArea',\n Leaf = 'CurriculumLeaf'\n}","export enum WidgetInteraction {\n Init = 'init',\n Next = 'next',\n Previous = 'previous',\n Resize = 'resize',\n Drag = 'drag',\n Update = 'update',\n JumpToIndex = 'jump-to-index'\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';\nimport { Spinner } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, PresentationDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { CurriculumLinkItem } from 'libs/shared/components/curriculum-links/CurriculumLinkItem';\nimport { CurriculumLinks } from 'libs/shared/components/curriculum-links/CurriculumLinks';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { PartialTagItem } from 'libs/shared/components/tags/PartialTagItem';\nimport { DynamicWidget } from 'libs/shared/components/widgets/dynamic-widget';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps, Presentation, Video } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\n\nconst getPhrase = LanguageService.encloseNamespace('shared.viewCurriculumLinks');\n\ninterface ViewCurriculumLinksViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function ViewCurriculumLinksView(props: ViewCurriculumLinksViewProps): React.ReactElement {\n const {\n hasLoaded,\n preferredCurriculum,\n availableCurriculums,\n nonEmptyCurriculums,\n curriculumLinks,\n updateCurriculum\n } = useCurriculums(props.id);\n\n const [ showLoadingSpinner, setShowLoadingSpinner ] = React.useState(!hasLoaded);\n const [ selectedCurriculum, setSelectedCurriculum ] = React.useState<Presentation>();\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n\n const alerts = useAlerts();\n function onChangeCurriculum(curriculumId: string): void {\n const newCurriculum = availableCurriculums.find(c => c.id.toString() === curriculumId);\n\n if (!newCurriculum?.id)\n return;\n\n if (selectedCurriculum?.id?.toString() === newCurriculum?.id?.toString())\n return;\n\n setSelectedCurriculum(newCurriculum);\n setShowLoadingSpinner(true);\n\n const onSuccess = () => {\n AnalyticsHelper.logUserAction({\n id: newCurriculum.id,\n name: newCurriculum.id,\n description: newCurriculum.description,\n videoId: video.data?.id,\n videoName: video.data?.name\n }, {\n entity: EntityType.Presentation,\n actionType: UserAction.Select,\n descriptor: PresentationDescriptor.Curriculum,\n location: LocationContext.PlayPage\n });\n };\n\n const onError = () => {\n // If the request to change curriculum fails, we reset the select state and alert the user\n setSelectedCurriculum(selectedCurriculum);\n setShowLoadingSpinner(false);\n alerts.error(getPhrase('updateFailed'));\n };\n\n updateCurriculum(newCurriculum, onSuccess, onError);\n }\n\n React.useEffect(() => {\n if (!hasLoaded)\n return;\n\n if (!selectedCurriculum)\n setSelectedCurriculum(preferredCurriculum ?? ArrayHelper.first(availableCurriculums));\n\n setShowLoadingSpinner(false);\n }, [ preferredCurriculum?.id, hasLoaded ]);\n\n return (\n <Popup\n title={getPhrase('heading')}\n closePopup={props.closePopup}\n size='lg'\n >\n <div className='mb-3 mx-2'>\n {!!nonEmptyCurriculums?.length && (\n <DynamicWidget\n collection={nonEmptyCurriculums}\n childClassName='flex-shrink-0'\n childComponent={props => {\n return (\n <CurriculumLinkItem\n {...props}\n selected={selectedCurriculum?.id?.toString() === props.data.id.toString()}\n onChangeCurriculum={onChangeCurriculum}\n />\n );\n }}\n partialLoadingComponent={() => <PartialTagItem />}\n widgetDataDeps={[selectedCurriculum?.id?.toString()]}\n />\n )}\n </div>\n\n {!showLoadingSpinner ? (\n <div className='pb-3'>\n <CurriculumLinks\n curriculumLinks={curriculumLinks}\n emptyStateUrl={ImageUrls.EmptyStates.CURRICULUM_LINKS}\n onChangeCurriculum={onChangeCurriculum}\n hasNonEmptyCurriculums={!!nonEmptyCurriculums.length}\n />\n </div>\n ) : (\n <div className='d-flex justify-content-center align-items-center py-5'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n )}\n\n <PopupButtons>\n <PopupButtons.Submit variant='dark' onClick={props.closePopup} text={getPhrase('close')} />\n </PopupButtons>\n </Popup>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"curriculumSubject\":\"GvGYH\",\"curriculumSet\":\"d7RK0\",\"areaLeafSet\":\"XRTAe\",\"closeButton\":\"N3l5Q\",\"heading\":\"hAxR4\",\"leafDescriptionOnly\":\"h66ke\",\"dropdown\":\"CsG6G\",\"tag\":\"rdLqY\",\"cover\":\"etwaD\",\"active\":\"aDLMe\",\"selected\":\"BMrSd\"};","// extracted by mini-css-extract-plugin\nexport default {\"tagList\":\"Zw6d9\",\"disabled\":\"jlL1c\",\"partialTag\":\"too_N\",\"badge\":\"OjtN8\",\"close\":\"X9joI\"};"],"names":["getPhrase","CurriculumLinkItem","props","curriculumTag","data","key","id","className","selected","onClick","onChangeCurriculum","toString","name","src","cover","url","size","alt","BRACKET_SEGMENT_REGEX","namespace","BASE_PILL_CLASS","CurriculumLeaf","getCurriculumCodeClass","baseClass","leaf","uiContainsCodes","codeRef","current","width","getBoundingClientRect","trySetMaxCodeWidth","description","style","minWidth","codeWidth","ref","phrase","dangerouslySetInnerHTML","__html","CurriculumSubject","audienceSegment","subjectSegment","audienceBracketSegments","areaAndLeafSets","getLeafStyleClass","linkSet","areasAndLeaves","forEach","areaAndLeafSet","areaText","map","ca","join","push","match","Object","keys","i","CurriculumLinks","setCodeWidth","showOtherCurriculums","setShowOtherCurriculums","loadingOther","setLoadingOther","curriculumTags","setCurriculumTags","currentVal","checkAllCurriculums","curriculumLinks","length","then","curriculumLinkSets","newSet","subject","audience","areas","leaves","curriculumObj","type","hasNonEmptyCurriculums","emptyStateUrl","t","linkSetKey","CurriculumLinksEmptyState","altText","PartialCurriculumLinkSection","PartialCurriculumLinks","PartialTagItem","tagClass","classNames","LanguageService","SeeMore","AppLink","appLink","analyticsData","analyticsOptions","descriptor","WidgetHeader","hasDescription","showSeeMoreLink","SLIDER_ANIMATION_TIME","useWidgetKeyboard","options","state","containerRef","mediaQuery","isTabbing","setIsTabbing","dynamicAttributes","setDynamicAttributes","focusedWidgetIndex","setFocusedWidgetIndex","containerLeftPosition","setTimeout","dynamicWidgetState","focusableItems","Array","from","children","reduce","acc","item","rect","isItemVisable","left","containerRightPosition","right","offset","onFocusWidget","index","document","querySelector","onBlurWidget","getFixedAttributes","fixedWidgetState","viewableItems","focusNext","items","querySelectorAll","nextFocusableElement","focus","focusPrev","prevFocusableElement","blankImage","Image","DragHelper","event","dataTransfer","setDragImage","FunctionHelper","isTouchScreen","UserAgentHelper","SlidingListContainer","listenerProps","xPosition","measurement","dragPercentage","positionType","onDrag","onDragEnd","onTouchMove","onTouchEnd","percentageDragged","position","CssMeasurement","C","transform","transition","draggable","onDragStart","onDragOver","onTouchMoveCapture","onTouchEndCapture","WidgetButtonDirection","WidgetButton","isLeft","direction","Left","arrowSvg","hide","contents","paddingBottom","height","useGradientBackdrop","leftGradientClassName","rightGradientClassName","hideExtendedClickableArea","tabIndex","leftButtonClassName","rightButtonClassName","hoverText","SvgContainer","svgName","S","CurriculumType","WidgetInteraction","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","ViewCurriculumLinksView","hasLoaded","preferredCurriculum","availableCurriculums","nonEmptyCurriculums","updateCurriculum","showLoadingSpinner","setShowLoadingSpinner","selectedCurriculum","setSelectedCurriculum","video","alerts","curriculumId","newCurriculum","find","c","videoId","videoName","entity","actionType","location","error","title","closePopup","collection","childClassName","childComponent","partialLoadingComponent","widgetDataDeps","as","animation","role","variant","text"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6572],{86572:(C,L,n)=>{n.d(L,{y:()=>i});var e=n(32735),t=n(36848),r=n(40424),a=n(84120);function o(C,L){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return C&&L.length?L.reduce((function(C,L){return function(C,L,n){return C.replace(new RegExp("<".concat(L,".*?>"),"gi"),"").replace(new RegExp("</".concat(L,">"),"gi"),n?"<br>":"")}(C,L,n)}),C):C}function s(C){var L;if(C)return C=o(C,["ul","ol","b","i","u","old","em","strong","sup","sub","a","span"]),(null===(L=(C=o(C,["li","p"],!0)).split("<br>"))||void 0===L?void 0:L.filter((function(C){return!!C}))[0])||"Annotation"}function i(C){var L=a.w.getTypeInfo(C.interaction.typeId),n=L.name,o=L.bgClassName,i=L.Svg,l=C.questionNumber?"".concat(C.questionNumber,". "):"",m="interaction-type-icon ".concat(o);return C.smallIcon&&(m+=" sm"),(C.showQuestion||C.showTypeName)&&(m+=C.smallIcon?" me-1":" me-2"),C.iconClassName&&(m+=" ".concat(C.iconClassName)),e.createElement(e.Fragment,null,!!C.showIcon&&e.createElement("span",{className:m},e.createElement(i,null)),e.createElement(t.F,{appLink:C.appLink,onClick:C.onClick},!!C.showTypeName&&e.createElement("span",{className:C.typeNameClassName},e.createElement("strong",null,l,n)),!!C.showQuestion&&e.createElement("span",{className:C.questionClassName},C.interaction.typeId===r.Z9.Annotation?e.createElement("span",{dangerouslySetInnerHTML:{__html:s(C.interaction.data.annotation)}}):C.interaction.name)))}i.defaultProps={showIcon:!0,showQuestion:!0}},84120:(C,L,n)=>{n.d(L,{w:()=>c});var e=n(32735),t=n(56050),r=n(23481),a=n(81886),o=n(40424);function s(C){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(C){return typeof C}:function(C){return C&&"function"==typeof Symbol&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},s(C)}function i(C,L,n){return(L=function(C){var L=function(C,L){if("object"!=s(C)||!C)return C;var n=C[Symbol.toPrimitive];if(void 0!==n){var e=n.call(C,"string");if("object"!=s(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(C)}(C);return"symbol"==s(L)?L:L+""}(L))in C?Object.defineProperty(C,L,{value:n,enumerable:!0,configurable:!0,writable:!0}):C[L]=n,C}var l=r.T.encloseNamespace("shared.interactionTypes"),m=function(C,L){return r.T.isInitialised()?l(C):L};function u(C){return e.createElement("div",{dangerouslySetInnerHTML:{__html:C}})}var g=i(i(i(i(i(i({},o.Z9.Annotation,(function(){return{name:m("annotationName","Annotation"),bgClassName:"bg-pink",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <path d='M16.8002 15.5516C16.5657 15.84 16.5105 16.2347 16.6569 16.5764L17.145 17.7153L15.6723 17.0841C15.4046 16.9694 15.1 16.9771 14.8384 17.1053L14.756 17.1457C13.9034 17.5634 12.9645 17.7835 11.9918 17.7835C8.51692 17.7835 5.7 14.9666 5.7 11.4918C5.7 8.01692 8.51692 5.2 11.9918 5.2C15.4666 5.2 18.2835 8.01692 18.2835 11.4918C18.2835 12.958 17.7819 14.3442 16.8765 15.4578L16.8002 15.5516ZM17.1319 19.0152C17.9616 19.3708 18.8005 18.5319 18.4449 17.7021L17.8075 16.2148C18.8554 14.926 19.4835 13.2823 19.4835 11.4918C19.4835 7.35418 16.1294 4 11.9918 4C7.85418 4 4.5 7.35418 4.5 11.4918C4.5 15.6294 7.85418 18.9835 11.9918 18.9835C13.173 18.9835 14.2903 18.7102 15.284 18.2233L17.1319 19.0152Z' />\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <path d='M16.8002 15.5516C16.5657 15.84 16.5105 16.2347 16.6569 16.5764L17.145 17.7153L15.6723 17.0841C15.4046 16.9694 15.1 16.9771 14.8384 17.1053L14.756 17.1457C13.9034 17.5634 12.9645 17.7835 11.9918 17.7835C8.51692 17.7835 5.7 14.9666 5.7 11.4918C5.7 8.01692 8.51692 5.2 11.9918 5.2C15.4666 5.2 18.2835 8.01692 18.2835 11.4918C18.2835 12.958 17.7819 14.3442 16.8765 15.4578L16.8002 15.5516ZM17.1319 19.0152C17.9616 19.3708 18.8005 18.5319 18.4449 17.7021L17.8075 16.2148C18.8554 14.926 19.4835 13.2823 19.4835 11.4918C19.4835 7.35418 16.1294 4 11.9918 4C7.85418 4 4.5 7.35418 4.5 11.4918C4.5 15.6294 7.85418 18.9835 11.9918 18.9835C13.173 18.9835 14.2903 18.7102 15.284 18.2233L17.1319 19.0152Z' />\n </svg>\n ",typeName:"annotation"}})),o.Z9.Image,(function(){return{name:m("imageName","Image"),bgClassName:"bg-orange",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <path d='M19,5 C19.5522847,5 20,5.44771525 20,6 L20,18 C20,18.5522847 19.5522847,19 19,19 L5,19 C4.44771525,19 4,18.5522847 4,18 L4,6 C4,5.44771525 4.44771525,5 5,5 L19,5 Z M19,6 L5,6 L5,18 L19,18 L19,6 Z M13.5270821,8.72788029 L17.419465,14.7278803 C17.5697525,14.9595444 17.5037838,15.2691774 17.2721197,15.419465 C17.0404556,15.5697525 16.7308226,15.5037838 16.580535,15.2721197 L13.0911139,9.89327406 L11.4091273,12.2874279 C11.2306031,12.5415408 10.866042,12.5731488 10.6464466,12.3535534 L10.0540971,11.7612039 L7.4,15.3 C7.23431458,15.5209139 6.9209139,15.5656854 6.7,15.4 C6.4790861,15.2343146 6.43431458,14.9209139 6.6,14.7 L9.6,10.7 C9.7825648,10.4565803 10.1383987,10.4312919 10.3535534,10.6464466 L10.9328729,11.2257661 L12.6984898,8.71257207 C12.9021272,8.42271292 13.3342903,8.43069712 13.5270821,8.72788029 Z M8,7.5 C8.82842712,7.5 9.5,8.17157288 9.5,9 C9.5,9.82842712 8.82842712,10.5 8,10.5 C7.17157288,10.5 6.5,9.82842712 6.5,9 C6.5,8.17157288 7.17157288,7.5 8,7.5 Z M8,8.5 C7.72385763,8.5 7.5,8.72385763 7.5,9 C7.5,9.27614237 7.72385763,9.5 8,9.5 C8.27614237,9.5 8.5,9.27614237 8.5,9 C8.5,8.72385763 8.27614237,8.5 8,8.5 Z'></path>\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <path d='M19,5 C19.5522847,5 20,5.44771525 20,6 L20,18 C20,18.5522847 19.5522847,19 19,19 L5,19 C4.44771525,19 4,18.5522847 4,18 L4,6 C4,5.44771525 4.44771525,5 5,5 L19,5 Z M19,6 L5,6 L5,18 L19,18 L19,6 Z M13.5270821,8.72788029 L17.419465,14.7278803 C17.5697525,14.9595444 17.5037838,15.2691774 17.2721197,15.419465 C17.0404556,15.5697525 16.7308226,15.5037838 16.580535,15.2721197 L13.0911139,9.89327406 L11.4091273,12.2874279 C11.2306031,12.5415408 10.866042,12.5731488 10.6464466,12.3535534 L10.0540971,11.7612039 L7.4,15.3 C7.23431458,15.5209139 6.9209139,15.5656854 6.7,15.4 C6.4790861,15.2343146 6.43431458,14.9209139 6.6,14.7 L9.6,10.7 C9.7825648,10.4565803 10.1383987,10.4312919 10.3535534,10.6464466 L10.9328729,11.2257661 L12.6984898,8.71257207 C12.9021272,8.42271292 13.3342903,8.43069712 13.5270821,8.72788029 Z M8,7.5 C8.82842712,7.5 9.5,8.17157288 9.5,9 C9.5,9.82842712 8.82842712,10.5 8,10.5 C7.17157288,10.5 6.5,9.82842712 6.5,9 C6.5,8.17157288 7.17157288,7.5 8,7.5 Z M8,8.5 C7.72385763,8.5 7.5,8.72385763 7.5,9 C7.5,9.27614237 7.72385763,9.5 8,9.5 C8.27614237,9.5 8.5,9.27614237 8.5,9 C8.5,8.72385763 8.27614237,8.5 8,8.5 Z'></path>\n </svg>\n ",typeName:"image"}})),o.Z9.MissingWord,(function(){return{name:m("missingWordName","Fill in the blank"),prompt:m("missingWordPrompt","Fill in the blank by typing the missing word(s)"),bgClassName:"bg-teal",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <g transform='translate(2.000000, 2.000000)'>\n <g transform='translate(3.500000, 2.000000)'>\n <path d='M10.78125,7.53125 C11.0285625,7.53125 11.2715937,7.59621875 11.4840312,7.71909375 C11.7963125,7.89971875 12.1875,7.6735625 12.1875,7.31334375 L12.1875,3.3125 C12.1875,3.053625 11.977625,2.84375 11.71875,2.84375 L8.38675,2.84375 C8.42015625,2.680125 8.4375,2.51184375 8.4375,2.34375 C8.4375,1.05140625 7.38609375,0 6.09375,0 C4.80140625,0 3.75,1.05140625 3.75,2.34375 C3.75,2.51184375 3.76734375,2.680125 3.80075,2.84375 L0.46875,2.84375 C0.209875,2.84375 0,3.053625 0,3.3125 L0,7.31334375 C0,7.674125 0.391625,7.899375 0.70346875,7.71909375 C0.91590625,7.59621875 1.1589375,7.53125 1.40625,7.53125 C2.18165625,7.53125 2.8125,8.16209375 2.8125,8.9375 C2.8125,9.71290625 2.18165625,10.34375 1.40625,10.34375 C1.1589375,10.34375 0.91590625,10.2787812 0.70346875,10.1559062 C0.3911875,9.9753125 0,10.2013437 0,10.5616563 L0,15.53125 C0,15.790125 0.209875,16 0.46875,16 L4.46959375,16 C4.8303125,16 5.05578125,15.608375 4.8753125,15.2965312 C4.7524375,15.0840937 4.6875,14.8410938 4.6875,14.59375 C4.6875,13.8183438 5.31834375,13.1875 6.09375,13.1875 C6.86915625,13.1875 7.5,13.8183438 7.5,14.59375 C7.5,14.8410938 7.4350625,15.0840937 7.31215625,15.2965312 C7.13146875,15.6087812 7.3576875,16 7.717875,16 L11.71875,16 C11.977625,16 12.1875,15.790125 12.1875,15.53125 L12.1875,10.5616563 C12.1875,10.2009375 11.7959375,9.97553125 11.4840312,10.1559063 C11.2715937,10.2787812 11.0285625,10.34375 10.78125,10.34375 C10.0058438,10.34375 9.375,9.71290625 9.375,8.9375 C9.375,8.16209375 10.0058438,7.53125 10.78125,7.53125 Z M10.78125,11.28125 C10.9393125,11.28125 11.096375,11.2652812 11.25,11.234 L11.25,15.0625 L8.39021875,15.0625 C8.42153125,14.9088438 8.4375,14.7518125 8.4375,14.59375 C8.4375,13.3014062 7.38609375,12.25 6.09375,12.25 C4.80140625,12.25 3.75,13.3014062 3.75,14.59375 C3.75,14.7518125 3.76596875,14.9088438 3.79728125,15.0625 L0.9375,15.0625 L0.9375,11.234 C1.091125,11.2652812 1.2481875,11.28125 1.40625,11.28125 C2.69859375,11.28125 3.75,10.2298438 3.75,8.9375 C3.75,7.64515625 2.69859375,6.59375 1.40625,6.59375 C1.2481875,6.59375 1.091125,6.60971875 0.9375,6.641 L0.9375,3.78125 L4.46959375,3.78125 C4.8303125,3.78125 5.05578125,3.389625 4.8753125,3.07778125 C4.75596875,2.87140625 4.6875,2.603875 4.6875,2.34375 C4.6875,1.56834375 5.31834375,0.9375 6.09375,0.9375 C6.86915625,0.9375 7.5,1.56834375 7.5,2.34375 C7.5,2.603875 7.43153125,2.87140625 7.31215625,3.07778125 C7.13146875,3.39003125 7.3576875,3.78125 7.717875,3.78125 L11.25,3.78125 L11.25,6.641 C11.096375,6.60971875 10.9393125,6.59375 10.78125,6.59375 C9.48890625,6.59375 8.4375,7.64515625 8.4375,8.9375 C8.4375,10.2298438 9.48890625,11.28125 10.78125,11.28125 Z'></path>\n </g>\n </g>\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <g transform='translate(2.000000, 2.000000)'>\n <g transform='translate(3.500000, 2.000000)'>\n <path d='M10.78125,7.53125 C11.0285625,7.53125 11.2715937,7.59621875 11.4840312,7.71909375 C11.7963125,7.89971875 12.1875,7.6735625 12.1875,7.31334375 L12.1875,3.3125 C12.1875,3.053625 11.977625,2.84375 11.71875,2.84375 L8.38675,2.84375 C8.42015625,2.680125 8.4375,2.51184375 8.4375,2.34375 C8.4375,1.05140625 7.38609375,0 6.09375,0 C4.80140625,0 3.75,1.05140625 3.75,2.34375 C3.75,2.51184375 3.76734375,2.680125 3.80075,2.84375 L0.46875,2.84375 C0.209875,2.84375 0,3.053625 0,3.3125 L0,7.31334375 C0,7.674125 0.391625,7.899375 0.70346875,7.71909375 C0.91590625,7.59621875 1.1589375,7.53125 1.40625,7.53125 C2.18165625,7.53125 2.8125,8.16209375 2.8125,8.9375 C2.8125,9.71290625 2.18165625,10.34375 1.40625,10.34375 C1.1589375,10.34375 0.91590625,10.2787812 0.70346875,10.1559062 C0.3911875,9.9753125 0,10.2013437 0,10.5616563 L0,15.53125 C0,15.790125 0.209875,16 0.46875,16 L4.46959375,16 C4.8303125,16 5.05578125,15.608375 4.8753125,15.2965312 C4.7524375,15.0840937 4.6875,14.8410938 4.6875,14.59375 C4.6875,13.8183438 5.31834375,13.1875 6.09375,13.1875 C6.86915625,13.1875 7.5,13.8183438 7.5,14.59375 C7.5,14.8410938 7.4350625,15.0840937 7.31215625,15.2965312 C7.13146875,15.6087812 7.3576875,16 7.717875,16 L11.71875,16 C11.977625,16 12.1875,15.790125 12.1875,15.53125 L12.1875,10.5616563 C12.1875,10.2009375 11.7959375,9.97553125 11.4840312,10.1559063 C11.2715937,10.2787812 11.0285625,10.34375 10.78125,10.34375 C10.0058438,10.34375 9.375,9.71290625 9.375,8.9375 C9.375,8.16209375 10.0058438,7.53125 10.78125,7.53125 Z M10.78125,11.28125 C10.9393125,11.28125 11.096375,11.2652812 11.25,11.234 L11.25,15.0625 L8.39021875,15.0625 C8.42153125,14.9088438 8.4375,14.7518125 8.4375,14.59375 C8.4375,13.3014062 7.38609375,12.25 6.09375,12.25 C4.80140625,12.25 3.75,13.3014062 3.75,14.59375 C3.75,14.7518125 3.76596875,14.9088438 3.79728125,15.0625 L0.9375,15.0625 L0.9375,11.234 C1.091125,11.2652812 1.2481875,11.28125 1.40625,11.28125 C2.69859375,11.28125 3.75,10.2298438 3.75,8.9375 C3.75,7.64515625 2.69859375,6.59375 1.40625,6.59375 C1.2481875,6.59375 1.091125,6.60971875 0.9375,6.641 L0.9375,3.78125 L4.46959375,3.78125 C4.8303125,3.78125 5.05578125,3.389625 4.8753125,3.07778125 C4.75596875,2.87140625 4.6875,2.603875 4.6875,2.34375 C4.6875,1.56834375 5.31834375,0.9375 6.09375,0.9375 C6.86915625,0.9375 7.5,1.56834375 7.5,2.34375 C7.5,2.603875 7.43153125,2.87140625 7.31215625,3.07778125 C7.13146875,3.39003125 7.3576875,3.78125 7.717875,3.78125 L11.25,3.78125 L11.25,6.641 C11.096375,6.60971875 10.9393125,6.59375 10.78125,6.59375 C9.48890625,6.59375 8.4375,7.64515625 8.4375,8.9375 C8.4375,10.2298438 9.48890625,11.28125 10.78125,11.28125 Z'></path>\n </g>\n </g>\n </svg>\n ",typeName:"missing-word"}})),o.Z9.MultipleChoice,(function(){return{name:m("multipleChoiceName","Multiple choice"),prompt:m("multipleChoicePrompt","Choose the correct answer(s)"),bgClassName:"bg-blue",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <path d='M15.125,3.66666667 C16.8969136,3.66666667 18.3333333,5.10308643 18.3333333,6.875 L18.3333333,15.125 C18.3333333,16.8969136 16.8969136,18.3333333 15.125,18.3333333 L6.875,18.3333333 C5.10308643,18.3333333 3.66666667,16.8969136 3.66666667,15.125 L3.66666667,6.875 C3.66666667,5.10308643 5.10308643,3.66666667 6.875,3.66666667 L15.125,3.66666667 Z M15.125,4.58333333 L6.875,4.58333333 C5.60934745,4.58333333 4.58333333,5.60934745 4.58333333,6.875 L4.58333333,15.125 C4.58333333,16.3906526 5.60934745,17.4166667 6.875,17.4166667 L15.125,17.4166667 C16.3906526,17.4166667 17.4166667,16.3906526 17.4166667,15.125 L17.4166667,6.875 C17.4166667,5.60934745 16.3906526,4.58333333 15.125,4.58333333 Z M7.33333333,13.2916667 C7.83959435,13.2916667 8.25,13.7020723 8.25,14.2083333 C8.25,14.7145944 7.83959435,15.125 7.33333333,15.125 C6.82707231,15.125 6.41666667,14.7145944 6.41666667,14.2083333 C6.41666667,13.7020723 6.82707231,13.2916667 7.33333333,13.2916667 Z M15.0349223,13.75 C15.2880528,13.75 15.4932556,13.9552028 15.4932556,14.2083333 C15.4932556,14.4614638 15.2880528,14.6666667 15.0349223,14.6666667 L9.625,14.6666667 C9.37186949,14.6666667 9.16666667,14.4614638 9.16666667,14.2083333 C9.16666667,13.9552028 9.37186949,13.75 9.625,13.75 L15.0349223,13.75 Z M7.33333333,10.0833333 C7.83959435,10.0833333 8.25,10.493739 8.25,11 C8.25,11.506261 7.83959435,11.9166667 7.33333333,11.9166667 C6.82707231,11.9166667 6.41666667,11.506261 6.41666667,11 C6.41666667,10.493739 6.82707231,10.0833333 7.33333333,10.0833333 Z M15.125,10.5416667 C15.3781305,10.5416667 15.5833333,10.7468695 15.5833333,11 C15.5833333,11.2531305 15.3781305,11.4583333 15.125,11.4583333 L9.625,11.4583333 C9.37186949,11.4583333 9.16666667,11.2531305 9.16666667,11 C9.16666667,10.7468695 9.37186949,10.5416667 9.625,10.5416667 L15.125,10.5416667 Z M7.33333333,6.875 C7.83959435,6.875 8.25,7.28540565 8.25,7.79166667 C8.25,8.29792769 7.83959435,8.70833333 7.33333333,8.70833333 C6.82707231,8.70833333 6.41666667,8.29792769 6.41666667,7.79166667 C6.41666667,7.28540565 6.82707231,6.875 7.33333333,6.875 Z M15.125,7.33333333 C15.3781305,7.33333333 15.5833333,7.53853616 15.5833333,7.79166667 C15.5833333,8.04479718 15.3781305,8.25 15.125,8.25 L9.625,8.25 C9.37186949,8.25 9.16666667,8.04479718 9.16666667,7.79166667 C9.16666667,7.53853616 9.37186949,7.33333333 9.625,7.33333333 L15.125,7.33333333 Z'></path>\n </g>\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <path d='M15.125,3.66666667 C16.8969136,3.66666667 18.3333333,5.10308643 18.3333333,6.875 L18.3333333,15.125 C18.3333333,16.8969136 16.8969136,18.3333333 15.125,18.3333333 L6.875,18.3333333 C5.10308643,18.3333333 3.66666667,16.8969136 3.66666667,15.125 L3.66666667,6.875 C3.66666667,5.10308643 5.10308643,3.66666667 6.875,3.66666667 L15.125,3.66666667 Z M15.125,4.58333333 L6.875,4.58333333 C5.60934745,4.58333333 4.58333333,5.60934745 4.58333333,6.875 L4.58333333,15.125 C4.58333333,16.3906526 5.60934745,17.4166667 6.875,17.4166667 L15.125,17.4166667 C16.3906526,17.4166667 17.4166667,16.3906526 17.4166667,15.125 L17.4166667,6.875 C17.4166667,5.60934745 16.3906526,4.58333333 15.125,4.58333333 Z M7.33333333,13.2916667 C7.83959435,13.2916667 8.25,13.7020723 8.25,14.2083333 C8.25,14.7145944 7.83959435,15.125 7.33333333,15.125 C6.82707231,15.125 6.41666667,14.7145944 6.41666667,14.2083333 C6.41666667,13.7020723 6.82707231,13.2916667 7.33333333,13.2916667 Z M15.0349223,13.75 C15.2880528,13.75 15.4932556,13.9552028 15.4932556,14.2083333 C15.4932556,14.4614638 15.2880528,14.6666667 15.0349223,14.6666667 L9.625,14.6666667 C9.37186949,14.6666667 9.16666667,14.4614638 9.16666667,14.2083333 C9.16666667,13.9552028 9.37186949,13.75 9.625,13.75 L15.0349223,13.75 Z M7.33333333,10.0833333 C7.83959435,10.0833333 8.25,10.493739 8.25,11 C8.25,11.506261 7.83959435,11.9166667 7.33333333,11.9166667 C6.82707231,11.9166667 6.41666667,11.506261 6.41666667,11 C6.41666667,10.493739 6.82707231,10.0833333 7.33333333,10.0833333 Z M15.125,10.5416667 C15.3781305,10.5416667 15.5833333,10.7468695 15.5833333,11 C15.5833333,11.2531305 15.3781305,11.4583333 15.125,11.4583333 L9.625,11.4583333 C9.37186949,11.4583333 9.16666667,11.2531305 9.16666667,11 C9.16666667,10.7468695 9.37186949,10.5416667 9.625,10.5416667 L15.125,10.5416667 Z M7.33333333,6.875 C7.83959435,6.875 8.25,7.28540565 8.25,7.79166667 C8.25,8.29792769 7.83959435,8.70833333 7.33333333,8.70833333 C6.82707231,8.70833333 6.41666667,8.29792769 6.41666667,7.79166667 C6.41666667,7.28540565 6.82707231,6.875 7.33333333,6.875 Z M15.125,7.33333333 C15.3781305,7.33333333 15.5833333,7.53853616 15.5833333,7.79166667 C15.5833333,8.04479718 15.3781305,8.25 15.125,8.25 L9.625,8.25 C9.37186949,8.25 9.16666667,8.04479718 9.16666667,7.79166667 C9.16666667,7.53853616 9.37186949,7.33333333 9.625,7.33333333 L15.125,7.33333333 Z'></path>\n </g>\n </svg>\n ",typeName:"multiple-choice"}})),o.Z9.ShortAnswer,(function(){return{name:m("shortAnswerName","Short answer"),prompt:m("shortAnswerPrompt","Type in your answer to the question"),bgClassName:"bg-green",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <path d='M16.5547082,3.66666667 C17.0307547,3.66666667 17.4166667,4.10561087 17.4166667,4.65176211 L17.4166667,17.3482379 C17.4166667,17.8922911 17.0325905,18.3333333 16.5547082,18.3333333 L5.44529184,18.3333333 C4.9692453,18.3333333 4.58333333,17.8943891 4.58333333,17.3482379 L4.58333333,4.65176211 C4.58333333,4.10770892 4.96740951,3.66666667 5.44529184,3.66666667 L16.5547082,3.66666667 Z M6.64149485,4.58362946 L5.39188119,4.58333333 L5.39188119,4.58333333 L5.39140886,4.63124366 C5.39133174,4.64701901 5.39125542,4.66659213 5.39117991,4.68981696 L5.39052172,4.99349248 C5.39045096,5.0373129 5.39038099,5.08434682 5.39031181,5.13444817 L5.38951907,5.87355262 C5.38945612,5.94585631 5.38939393,6.02064317 5.38933252,6.09776711 L5.38846857,7.41164942 C5.38841476,7.50849255 5.38836171,7.60694243 5.3883094,7.706853 L5.38744819,9.63144592 C5.38740476,9.7436262 5.38736207,9.85639075 5.3873201,9.96959351 L5.38636125,13.0260679 C5.38633211,13.1353268 5.38630366,13.2437094 5.38627591,13.3510694 L5.38541667,17.4092786 L5.38541667,17.4092786 C5.38541667,17.4094727 5.40139773,17.4096625 5.43215374,17.4098483 L5.66621602,17.410657 C5.70239956,17.4107438 5.74182455,17.4108296 5.78434021,17.4109144 L6.24635879,17.4116506 C6.30606164,17.4117294 6.36840286,17.4118072 6.43323171,17.411884 L7.07978636,17.412549 C7.15818403,17.4126199 7.23861702,17.4126899 7.32093458,17.4127589 L8.38955516,17.4135407 C8.48453695,17.413602 8.58080025,17.4136624 8.67819428,17.4137218 L10.2050643,17.4145426 C10.3099966,17.4145926 10.4153058,17.4146418 10.5208411,17.41469 L12.7186143,17.4155682 C12.8199282,17.4156037 12.9204129,17.4156383 13.0199177,17.4156721 L16.5962838,17.4166643 C16.6041235,17.4166659 16.6081188,17.4166667 16.6081188,17.4166667 L16.6083574,17.404543 L16.6083574,17.404543 L16.6092636,17.1281822 C16.609336,17.0909349 16.6094075,17.0503279 16.6094783,17.0065075 L16.6102897,16.3357629 C16.6103542,16.2685716 16.610418,16.1987511 16.6104809,16.1264474 L16.6111995,15.1489598 C16.6112564,15.059128 16.6113124,14.9673972 16.6113678,14.8739137 L16.6122825,13.0334559 C16.6123288,12.924197 16.6123745,12.8140617 16.6124193,12.703196 L16.6132553,10.3177583 C16.6132901,10.2038252 16.6133242,10.0901843 16.6133575,9.97698153 L16.6143069,6.10515513 C16.6143225,6.02803119 16.6143373,5.95324434 16.6143515,5.88094064 L16.6145833,4.59072136 L16.6145833,4.59072136 L16.6027483,4.59043343 L16.6027483,4.59043343 L16.5107818,4.58987601 C16.4881671,4.58978515 16.4620094,4.5896953 16.4324595,4.58960647 L16.0789915,4.58883422 C16.0304453,4.58875142 15.9789591,4.58866963 15.9246838,4.58858883 L15.1491499,4.58766678 C15.0749737,4.58759388 14.9986113,4.58752196 14.9202136,4.58745101 L14.1637515,4.58683864 C14.0744988,4.5867735 13.983663,4.58670932 13.891395,4.58664609 L12.4188002,4.58576887 C12.3159787,4.5857151 12.2124787,4.58566226 12.108451,4.58561036 L10.2115288,4.58477559 C10.1065966,4.58473469 10.0020412,4.58469469 9.89801354,4.5846556 L6.8573146,4.58368638 C6.78313834,4.58366655 6.71114817,4.58364758 6.64149485,4.58362946 Z M9.80280172,11.9166667 C10.0210177,11.9166667 10.1979167,12.1218695 10.1979167,12.375 C10.1979167,12.6281305 10.0210177,12.8333333 9.80280172,12.8333333 L9.80280172,12.8333333 L7.38469828,12.8333333 C7.16648232,12.8333333 6.98958333,12.6281305 6.98958333,12.375 C6.98958333,12.1218695 7.16648232,11.9166667 7.38469828,11.9166667 L7.38469828,11.9166667 Z M14.5678761,9.16666667 C14.8122845,9.16666667 15.0104167,9.37186949 15.0104167,9.625 C15.0104167,9.87813051 14.8122845,10.0833333 14.5678761,10.0833333 L14.5678761,10.0833333 L7.4321239,10.0833333 C7.18771549,10.0833333 6.98958333,9.87813051 6.98958333,9.625 C6.98958333,9.37186949 7.18771549,9.16666667 7.4321239,9.16666667 L7.4321239,9.16666667 Z M14.5678761,6.41666667 C14.8122845,6.41666667 15.0104167,6.62186949 15.0104167,6.875 C15.0104167,7.12813051 14.8122845,7.33333333 14.5678761,7.33333333 L14.5678761,7.33333333 L7.4321239,7.33333333 C7.18771549,7.33333333 6.98958333,7.12813051 6.98958333,6.875 C6.98958333,6.62186949 7.18771549,6.41666667 7.4321239,6.41666667 L7.4321239,6.41666667 Z'></path>\n </g>\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <path d='M16.5547082,3.66666667 C17.0307547,3.66666667 17.4166667,4.10561087 17.4166667,4.65176211 L17.4166667,17.3482379 C17.4166667,17.8922911 17.0325905,18.3333333 16.5547082,18.3333333 L5.44529184,18.3333333 C4.9692453,18.3333333 4.58333333,17.8943891 4.58333333,17.3482379 L4.58333333,4.65176211 C4.58333333,4.10770892 4.96740951,3.66666667 5.44529184,3.66666667 L16.5547082,3.66666667 Z M6.64149485,4.58362946 L5.39188119,4.58333333 L5.39188119,4.58333333 L5.39140886,4.63124366 C5.39133174,4.64701901 5.39125542,4.66659213 5.39117991,4.68981696 L5.39052172,4.99349248 C5.39045096,5.0373129 5.39038099,5.08434682 5.39031181,5.13444817 L5.38951907,5.87355262 C5.38945612,5.94585631 5.38939393,6.02064317 5.38933252,6.09776711 L5.38846857,7.41164942 C5.38841476,7.50849255 5.38836171,7.60694243 5.3883094,7.706853 L5.38744819,9.63144592 C5.38740476,9.7436262 5.38736207,9.85639075 5.3873201,9.96959351 L5.38636125,13.0260679 C5.38633211,13.1353268 5.38630366,13.2437094 5.38627591,13.3510694 L5.38541667,17.4092786 L5.38541667,17.4092786 C5.38541667,17.4094727 5.40139773,17.4096625 5.43215374,17.4098483 L5.66621602,17.410657 C5.70239956,17.4107438 5.74182455,17.4108296 5.78434021,17.4109144 L6.24635879,17.4116506 C6.30606164,17.4117294 6.36840286,17.4118072 6.43323171,17.411884 L7.07978636,17.412549 C7.15818403,17.4126199 7.23861702,17.4126899 7.32093458,17.4127589 L8.38955516,17.4135407 C8.48453695,17.413602 8.58080025,17.4136624 8.67819428,17.4137218 L10.2050643,17.4145426 C10.3099966,17.4145926 10.4153058,17.4146418 10.5208411,17.41469 L12.7186143,17.4155682 C12.8199282,17.4156037 12.9204129,17.4156383 13.0199177,17.4156721 L16.5962838,17.4166643 C16.6041235,17.4166659 16.6081188,17.4166667 16.6081188,17.4166667 L16.6083574,17.404543 L16.6083574,17.404543 L16.6092636,17.1281822 C16.609336,17.0909349 16.6094075,17.0503279 16.6094783,17.0065075 L16.6102897,16.3357629 C16.6103542,16.2685716 16.610418,16.1987511 16.6104809,16.1264474 L16.6111995,15.1489598 C16.6112564,15.059128 16.6113124,14.9673972 16.6113678,14.8739137 L16.6122825,13.0334559 C16.6123288,12.924197 16.6123745,12.8140617 16.6124193,12.703196 L16.6132553,10.3177583 C16.6132901,10.2038252 16.6133242,10.0901843 16.6133575,9.97698153 L16.6143069,6.10515513 C16.6143225,6.02803119 16.6143373,5.95324434 16.6143515,5.88094064 L16.6145833,4.59072136 L16.6145833,4.59072136 L16.6027483,4.59043343 L16.6027483,4.59043343 L16.5107818,4.58987601 C16.4881671,4.58978515 16.4620094,4.5896953 16.4324595,4.58960647 L16.0789915,4.58883422 C16.0304453,4.58875142 15.9789591,4.58866963 15.9246838,4.58858883 L15.1491499,4.58766678 C15.0749737,4.58759388 14.9986113,4.58752196 14.9202136,4.58745101 L14.1637515,4.58683864 C14.0744988,4.5867735 13.983663,4.58670932 13.891395,4.58664609 L12.4188002,4.58576887 C12.3159787,4.5857151 12.2124787,4.58566226 12.108451,4.58561036 L10.2115288,4.58477559 C10.1065966,4.58473469 10.0020412,4.58469469 9.89801354,4.5846556 L6.8573146,4.58368638 C6.78313834,4.58366655 6.71114817,4.58364758 6.64149485,4.58362946 Z M9.80280172,11.9166667 C10.0210177,11.9166667 10.1979167,12.1218695 10.1979167,12.375 C10.1979167,12.6281305 10.0210177,12.8333333 9.80280172,12.8333333 L9.80280172,12.8333333 L7.38469828,12.8333333 C7.16648232,12.8333333 6.98958333,12.6281305 6.98958333,12.375 C6.98958333,12.1218695 7.16648232,11.9166667 7.38469828,11.9166667 L7.38469828,11.9166667 Z M14.5678761,9.16666667 C14.8122845,9.16666667 15.0104167,9.37186949 15.0104167,9.625 C15.0104167,9.87813051 14.8122845,10.0833333 14.5678761,10.0833333 L14.5678761,10.0833333 L7.4321239,10.0833333 C7.18771549,10.0833333 6.98958333,9.87813051 6.98958333,9.625 C6.98958333,9.37186949 7.18771549,9.16666667 7.4321239,9.16666667 L7.4321239,9.16666667 Z M14.5678761,6.41666667 C14.8122845,6.41666667 15.0104167,6.62186949 15.0104167,6.875 C15.0104167,7.12813051 14.8122845,7.33333333 14.5678761,7.33333333 L14.5678761,7.33333333 L7.4321239,7.33333333 C7.18771549,7.33333333 6.98958333,7.12813051 6.98958333,6.875 C6.98958333,6.62186949 7.18771549,6.41666667 7.4321239,6.41666667 L7.4321239,6.41666667 Z'></path>\n </g>\n </svg>\n ",typeName:"short-answer"}})),o.Z9.TrueOrFalse,(function(){return{name:m("trueOrFalseName","True or false"),prompt:m("trueOrFalsePrompt","Choose the correct answer"),bgClassName:"bg-purple",Svg:function(){return u("\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <g transform='translate(5.000000, 3.000000)'>\n <path d='M5.129,4.52970994e-14 C5.80434375,4.52970994e-14 6.35378125,0.5494375 6.35378125,1.22478125 L6.35378125,1.22478125 L6.35378125,4.12053125 C6.35378125,4.795875 5.80434375,5.3453125 5.129,5.3453125 L5.129,5.3453125 L5.01765625,5.3453125 L5.01765625,5.7625625 C5.14371875,5.7230625 5.2778125,5.70175 5.4166875,5.70175 C5.8579375,5.70175 6.24996875,5.9166875 6.4935,6.24740625 C6.6880625,6.13675 6.9129375,6.0735 7.15228125,6.0735 C7.61575,6.0735 8.024875,6.31059375 8.26471875,6.6699375 C8.450875,6.57140625 8.6629375,6.51559375 8.88784375,6.51559375 C9.6248125,6.51559375 10.2244688,7.11515625 10.2244688,7.85209375 L10.2244688,7.85209375 L10.2239688,11.0194063 C10.22375,12.719125 9.73003125,14.3683438 8.79625,15.7887188 C8.7095625,15.9205625 8.562375,15.9999688 8.4045625,15.9999688 L8.4045625,15.9999688 L3.1323125,15.9999688 C3.0124375,15.9999688 2.897125,15.9540625 2.8100625,15.8716563 C2.80745313,15.8691864 2.80274841,15.8647056 2.79608533,15.8582606 L2.73370254,15.7963915 C2.38498908,15.4434944 0.983540179,13.9211451 0.6698125,11.95725 L0.6698125,11.95725 L0.0538125,9.3209375 C-0.03209375,8.95328125 0.043625,8.5848125 0.261625,8.3100625 C0.46915625,8.04846875 0.78865625,7.89309375 1.14465625,7.8788125 C1.47575,7.8150625 1.81340625,7.8773125 2.10134375,8.0561875 C2.19071875,8.1116875 2.272125,8.17646875 2.34459375,8.24915625 L2.34459375,8.24915625 L2.34459375,5.34534375 L2.23325,5.34534375 C1.55790625,5.34534375 1.00846875,4.79590625 1.00846875,4.1205625 L1.00846875,4.1205625 L1.00846875,1.22478125 C1.00846875,0.5494375 1.55790625,4.52970994e-14 2.23325,4.52970994e-14 L2.23325,4.52970994e-14 Z M3.6810625,3.4381875 C3.46103125,3.4381875 3.282,3.61721875 3.282,3.83725 L3.282,3.83725 L3.282,11.2870938 C3.282,11.4215625 3.22428125,11.5495625 3.12346875,11.6385313 C3.02265625,11.7275 2.88853125,11.7689063 2.7550625,11.7522188 L2.7550625,11.7522188 L2.7175,11.7475313 C2.5228125,11.7231875 2.36390625,11.580125 2.31925,11.3890625 L2.31925,11.3890625 L1.78459375,9.10071875 C1.76034375,8.9969375 1.69715625,8.9088125 1.60659375,8.8525625 C1.51603125,8.7963125 1.407,8.78928125 1.30065625,8.79571875 C1.2585,8.79828125 1.23959375,8.8036875 1.194,8.80803125 C1.10340625,8.81665625 1.035625,8.84275 0.996,8.89271875 C0.956375,8.9426875 0.94596875,9.019 0.96665625,9.107625 L0.96665625,9.107625 L1.58653125,11.7605625 C1.5891875,11.7719063 1.59140625,11.7833438 1.59321875,11.794875 C1.83815625,13.3630313 2.95146875,14.6606563 3.32925,15.0625 L3.32925,15.0625 L8.1469375,15.0625 C8.893,13.8445 9.28625,12.4519688 9.2864375,11.0193125 L9.2864375,11.0193125 L9.2869375,7.85203125 C9.2869375,7.63209375 9.10790625,7.4530625 8.887875,7.4530625 C8.66784375,7.4530625 8.4888125,7.63209375 8.4888125,7.852125 L8.4888125,7.852125 L8.4888125,8.61359375 C8.4888125,8.87246875 8.2789375,9.08234375 8.0200625,9.08234375 C7.7611875,9.08234375 7.5513125,8.87246875 7.5513125,8.61359375 L7.5513125,8.61359375 L7.5513125,7.4100625 C7.5513125,7.19003125 7.3723125,7.011 7.15228125,7.011 C6.93225,7.011 6.75321875,7.19003125 6.75321875,7.4100625 L6.75321875,7.4100625 L6.75321875,8.28625 C6.75321875,8.545125 6.54334375,8.755 6.28446875,8.755 C6.02559375,8.755 5.81571875,8.545125 5.81571875,8.28625 L5.81571875,8.28625 L5.81571875,7.0383125 C5.81571875,6.81828125 5.6366875,6.63928125 5.41665625,6.63928125 C5.196625,6.63928125 5.017625,6.81828125 5.017625,7.0383125 L5.017625,7.0383125 L5.017625,8.232875 C5.017625,8.49175 4.80775,8.701625 4.548875,8.701625 C4.29,8.701625 4.080125,8.49175 4.080125,8.232875 L4.080125,8.232875 L4.080125,3.83725 C4.080125,3.61721875 3.90109375,3.4381875 3.6810625,3.4381875 Z M11.131,-1.59872116e-14 C11.8064063,-1.59872116e-14 12.3558125,0.5494375 12.3558125,1.22478125 L12.3558125,1.22478125 L12.3558125,4.1205625 C12.3558125,4.79590625 11.806375,5.34534375 11.131,5.34534375 L11.131,5.34534375 L8.23525,5.34534375 C7.55990625,5.34534375 7.01046875,4.79590625 7.01046875,4.1205625 L7.01046875,4.1205625 L7.01046875,1.22478125 C7.01046875,0.5494375 7.55990625,-1.59872116e-14 8.23525,-1.59872116e-14 L8.23525,-1.59872116e-14 Z M11.1310313,0.9375 L8.23528125,0.9375 C8.076875,0.9375 7.948,1.066375 7.948,1.22478125 L7.948,1.22478125 L7.948,4.1205625 C7.948,4.27896875 8.076875,4.40784375 8.23528125,4.40784375 L8.23528125,4.40784375 L11.1310313,4.40784375 C11.2894375,4.40784375 11.4183438,4.27896875 11.4183438,4.1205625 L11.4183438,4.1205625 L11.4183438,1.22478125 C11.4183438,1.066375 11.2894375,0.9375 11.1310313,0.9375 L11.1310313,0.9375 Z M5.129,0.9375 L2.23325,0.9375 C2.07484375,0.9375 1.94596875,1.066375 1.94596875,1.22478125 L1.94596875,1.22478125 L1.94596875,4.1205625 C1.94596875,4.27896875 2.07484375,4.40784375 2.2331875,4.40784375 L2.2331875,4.40784375 L2.34453125,4.40784375 L2.34453125,3.83721875 C2.34453125,3.10025 2.944125,2.50065625 3.68109375,2.50065625 C4.4180625,2.50065625 5.01765625,3.10025 5.01765625,3.83721875 L5.01765625,3.83721875 L5.01765625,4.40784375 L5.129,4.40784375 C5.28740625,4.40784375 5.41628125,4.27896875 5.41628125,4.1205625 L5.41628125,4.1205625 L5.41628125,1.22478125 C5.41628125,1.066375 5.28740625,0.9375 5.129,0.9375 L5.129,0.9375 Z'></path>\n </g>\n </g>\n </svg>\n ")},svgEl:"\n <svg viewBox='0 0 24 24'>\n <g transform='translate(1.000000, 1.000000)'>\n <g transform='translate(5.000000, 3.000000)'>\n <path d='M5.129,4.52970994e-14 C5.80434375,4.52970994e-14 6.35378125,0.5494375 6.35378125,1.22478125 L6.35378125,1.22478125 L6.35378125,4.12053125 C6.35378125,4.795875 5.80434375,5.3453125 5.129,5.3453125 L5.129,5.3453125 L5.01765625,5.3453125 L5.01765625,5.7625625 C5.14371875,5.7230625 5.2778125,5.70175 5.4166875,5.70175 C5.8579375,5.70175 6.24996875,5.9166875 6.4935,6.24740625 C6.6880625,6.13675 6.9129375,6.0735 7.15228125,6.0735 C7.61575,6.0735 8.024875,6.31059375 8.26471875,6.6699375 C8.450875,6.57140625 8.6629375,6.51559375 8.88784375,6.51559375 C9.6248125,6.51559375 10.2244688,7.11515625 10.2244688,7.85209375 L10.2244688,7.85209375 L10.2239688,11.0194063 C10.22375,12.719125 9.73003125,14.3683438 8.79625,15.7887188 C8.7095625,15.9205625 8.562375,15.9999688 8.4045625,15.9999688 L8.4045625,15.9999688 L3.1323125,15.9999688 C3.0124375,15.9999688 2.897125,15.9540625 2.8100625,15.8716563 C2.80745313,15.8691864 2.80274841,15.8647056 2.79608533,15.8582606 L2.73370254,15.7963915 C2.38498908,15.4434944 0.983540179,13.9211451 0.6698125,11.95725 L0.6698125,11.95725 L0.0538125,9.3209375 C-0.03209375,8.95328125 0.043625,8.5848125 0.261625,8.3100625 C0.46915625,8.04846875 0.78865625,7.89309375 1.14465625,7.8788125 C1.47575,7.8150625 1.81340625,7.8773125 2.10134375,8.0561875 C2.19071875,8.1116875 2.272125,8.17646875 2.34459375,8.24915625 L2.34459375,8.24915625 L2.34459375,5.34534375 L2.23325,5.34534375 C1.55790625,5.34534375 1.00846875,4.79590625 1.00846875,4.1205625 L1.00846875,4.1205625 L1.00846875,1.22478125 C1.00846875,0.5494375 1.55790625,4.52970994e-14 2.23325,4.52970994e-14 L2.23325,4.52970994e-14 Z M3.6810625,3.4381875 C3.46103125,3.4381875 3.282,3.61721875 3.282,3.83725 L3.282,3.83725 L3.282,11.2870938 C3.282,11.4215625 3.22428125,11.5495625 3.12346875,11.6385313 C3.02265625,11.7275 2.88853125,11.7689063 2.7550625,11.7522188 L2.7550625,11.7522188 L2.7175,11.7475313 C2.5228125,11.7231875 2.36390625,11.580125 2.31925,11.3890625 L2.31925,11.3890625 L1.78459375,9.10071875 C1.76034375,8.9969375 1.69715625,8.9088125 1.60659375,8.8525625 C1.51603125,8.7963125 1.407,8.78928125 1.30065625,8.79571875 C1.2585,8.79828125 1.23959375,8.8036875 1.194,8.80803125 C1.10340625,8.81665625 1.035625,8.84275 0.996,8.89271875 C0.956375,8.9426875 0.94596875,9.019 0.96665625,9.107625 L0.96665625,9.107625 L1.58653125,11.7605625 C1.5891875,11.7719063 1.59140625,11.7833438 1.59321875,11.794875 C1.83815625,13.3630313 2.95146875,14.6606563 3.32925,15.0625 L3.32925,15.0625 L8.1469375,15.0625 C8.893,13.8445 9.28625,12.4519688 9.2864375,11.0193125 L9.2864375,11.0193125 L9.2869375,7.85203125 C9.2869375,7.63209375 9.10790625,7.4530625 8.887875,7.4530625 C8.66784375,7.4530625 8.4888125,7.63209375 8.4888125,7.852125 L8.4888125,7.852125 L8.4888125,8.61359375 C8.4888125,8.87246875 8.2789375,9.08234375 8.0200625,9.08234375 C7.7611875,9.08234375 7.5513125,8.87246875 7.5513125,8.61359375 L7.5513125,8.61359375 L7.5513125,7.4100625 C7.5513125,7.19003125 7.3723125,7.011 7.15228125,7.011 C6.93225,7.011 6.75321875,7.19003125 6.75321875,7.4100625 L6.75321875,7.4100625 L6.75321875,8.28625 C6.75321875,8.545125 6.54334375,8.755 6.28446875,8.755 C6.02559375,8.755 5.81571875,8.545125 5.81571875,8.28625 L5.81571875,8.28625 L5.81571875,7.0383125 C5.81571875,6.81828125 5.6366875,6.63928125 5.41665625,6.63928125 C5.196625,6.63928125 5.017625,6.81828125 5.017625,7.0383125 L5.017625,7.0383125 L5.017625,8.232875 C5.017625,8.49175 4.80775,8.701625 4.548875,8.701625 C4.29,8.701625 4.080125,8.49175 4.080125,8.232875 L4.080125,8.232875 L4.080125,3.83725 C4.080125,3.61721875 3.90109375,3.4381875 3.6810625,3.4381875 Z M11.131,-1.59872116e-14 C11.8064063,-1.59872116e-14 12.3558125,0.5494375 12.3558125,1.22478125 L12.3558125,1.22478125 L12.3558125,4.1205625 C12.3558125,4.79590625 11.806375,5.34534375 11.131,5.34534375 L11.131,5.34534375 L8.23525,5.34534375 C7.55990625,5.34534375 7.01046875,4.79590625 7.01046875,4.1205625 L7.01046875,4.1205625 L7.01046875,1.22478125 C7.01046875,0.5494375 7.55990625,-1.59872116e-14 8.23525,-1.59872116e-14 L8.23525,-1.59872116e-14 Z M11.1310313,0.9375 L8.23528125,0.9375 C8.076875,0.9375 7.948,1.066375 7.948,1.22478125 L7.948,1.22478125 L7.948,4.1205625 C7.948,4.27896875 8.076875,4.40784375 8.23528125,4.40784375 L8.23528125,4.40784375 L11.1310313,4.40784375 C11.2894375,4.40784375 11.4183438,4.27896875 11.4183438,4.1205625 L11.4183438,4.1205625 L11.4183438,1.22478125 C11.4183438,1.066375 11.2894375,0.9375 11.1310313,0.9375 L11.1310313,0.9375 Z M5.129,0.9375 L2.23325,0.9375 C2.07484375,0.9375 1.94596875,1.066375 1.94596875,1.22478125 L1.94596875,1.22478125 L1.94596875,4.1205625 C1.94596875,4.27896875 2.07484375,4.40784375 2.2331875,4.40784375 L2.2331875,4.40784375 L2.34453125,4.40784375 L2.34453125,3.83721875 C2.34453125,3.10025 2.944125,2.50065625 3.68109375,2.50065625 C4.4180625,2.50065625 5.01765625,3.10025 5.01765625,3.83721875 L5.01765625,3.83721875 L5.01765625,4.40784375 L5.129,4.40784375 C5.28740625,4.40784375 5.41628125,4.27896875 5.41628125,4.1205625 L5.41628125,4.1205625 L5.41628125,1.22478125 C5.41628125,1.066375 5.28740625,0.9375 5.129,0.9375 L5.129,0.9375 Z'></path>\n </g>\n </g>\n </svg>\n ",typeName:"true-or-false"}})),c={getTypeInfo:function(C){var L=g[C];if(L)return L();a.Q.Ry.throw(new t.H("No type info defined for typeId: ".concat(C)))}}}}]);
|
|
2
|
+
//# sourceMappingURL=6572-75c435eae1-lite.chunk.js.map
|