@clickview/lite 0.48.0-rc.7 → 0.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/scripts/{1285-c322e093f9-lite.chunk.js → 1285-c3795fed18-lite.chunk.js} +2 -2
  3. package/dist/scripts/1285-c3795fed18-lite.chunk.js.map +1 -0
  4. package/dist/scripts/{170-1f815b85a1-lite.chunk.js → 170-2d124965b7-lite.chunk.js} +2 -2
  5. package/dist/scripts/{170-1f815b85a1-lite.chunk.js.map → 170-2d124965b7-lite.chunk.js.map} +1 -1
  6. package/dist/scripts/{1818-b9f9297d6d-lite.chunk.js → 1818-72409e60a9-lite.chunk.js} +1 -1
  7. package/dist/scripts/{1818-b9f9297d6d-lite.chunk.js.map → 1818-72409e60a9-lite.chunk.js.map} +1 -1
  8. package/dist/scripts/{1863-cf9df40052-lite.chunk.js → 1863-e7c4a6f342-lite.chunk.js} +1 -1
  9. package/dist/scripts/{1863-cf9df40052-lite.chunk.js.map → 1863-e7c4a6f342-lite.chunk.js.map} +1 -1
  10. package/dist/scripts/{1958-9889c1ad24-lite.chunk.js → 1958-5336189397-lite.chunk.js} +1 -1
  11. package/dist/scripts/{1958-9889c1ad24-lite.chunk.js.map → 1958-5336189397-lite.chunk.js.map} +1 -1
  12. package/dist/scripts/{2086-a247f6e201-lite.chunk.js → 2086-f7082703d0-lite.chunk.js} +1 -1
  13. package/dist/scripts/{2086-a247f6e201-lite.chunk.js.map → 2086-f7082703d0-lite.chunk.js.map} +1 -1
  14. package/dist/scripts/{2118-462a279c5a-lite.chunk.js → 2118-ec2a5f1e9b-lite.chunk.js} +2 -2
  15. package/dist/scripts/{2118-462a279c5a-lite.chunk.js.map → 2118-ec2a5f1e9b-lite.chunk.js.map} +1 -1
  16. package/dist/scripts/{2182-5c9db07f5b-lite.chunk.js → 2182-8e4d603a1b-lite.chunk.js} +1 -1
  17. package/dist/scripts/{2182-5c9db07f5b-lite.chunk.js.map → 2182-8e4d603a1b-lite.chunk.js.map} +1 -1
  18. package/dist/scripts/{2279-5e92c84310-lite.chunk.js → 2279-252e92e1d8-lite.chunk.js} +1 -1
  19. package/dist/scripts/{2279-5e92c84310-lite.chunk.js.map → 2279-252e92e1d8-lite.chunk.js.map} +1 -1
  20. package/dist/scripts/{2355-6cd89fa80d-lite.chunk.js → 2355-c588dc3ce2-lite.chunk.js} +1 -1
  21. package/dist/scripts/{2355-6cd89fa80d-lite.chunk.js.map → 2355-c588dc3ce2-lite.chunk.js.map} +1 -1
  22. package/dist/scripts/{2469-aa5bbbb17f-lite.chunk.js → 2469-46411b862e-lite.chunk.js} +1 -1
  23. package/dist/scripts/{2469-aa5bbbb17f-lite.chunk.js.map → 2469-46411b862e-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/{2672-0fc559f1d1-lite.chunk.js → 2672-b01985cee8-lite.chunk.js} +1 -1
  25. package/dist/scripts/{2672-0fc559f1d1-lite.chunk.js.map → 2672-b01985cee8-lite.chunk.js.map} +1 -1
  26. package/dist/scripts/{2734-6c6d57d0f3-lite.chunk.js → 2734-6a7beb2ce2-lite.chunk.js} +1 -1
  27. package/dist/scripts/{2734-6c6d57d0f3-lite.chunk.js.map → 2734-6a7beb2ce2-lite.chunk.js.map} +1 -1
  28. package/dist/scripts/{287-ba98be7f21-lite.chunk.js → 287-3cbed16363-lite.chunk.js} +1 -1
  29. package/dist/scripts/{287-ba98be7f21-lite.chunk.js.map → 287-3cbed16363-lite.chunk.js.map} +1 -1
  30. package/dist/scripts/{2875-0e5f209e47-lite.chunk.js → 2875-aefd69a61f-lite.chunk.js} +1 -1
  31. package/dist/scripts/{2875-0e5f209e47-lite.chunk.js.map → 2875-aefd69a61f-lite.chunk.js.map} +1 -1
  32. package/dist/scripts/{3012-b5208d6981-lite.chunk.js → 3012-fd3eb34a14-lite.chunk.js} +2 -2
  33. package/dist/scripts/3012-fd3eb34a14-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{3042-6650521d8b-lite.chunk.js → 3042-7c1b5e4ff7-lite.chunk.js} +1 -1
  35. package/dist/scripts/{3042-6650521d8b-lite.chunk.js.map → 3042-7c1b5e4ff7-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/{3158-31baada6cc-lite.chunk.js → 3158-2147de456d-lite.chunk.js} +1 -1
  37. package/dist/scripts/{3158-31baada6cc-lite.chunk.js.map → 3158-2147de456d-lite.chunk.js.map} +1 -1
  38. package/dist/scripts/{3296-6d80e4dd56-lite.chunk.js → 3296-f3732c93d9-lite.chunk.js} +1 -1
  39. package/dist/scripts/{3296-6d80e4dd56-lite.chunk.js.map → 3296-f3732c93d9-lite.chunk.js.map} +1 -1
  40. package/dist/scripts/{3541-7ebd9db295-lite.chunk.js → 3541-15581012d3-lite.chunk.js} +1 -1
  41. package/dist/scripts/{3541-7ebd9db295-lite.chunk.js.map → 3541-15581012d3-lite.chunk.js.map} +1 -1
  42. package/dist/scripts/{3841-95df66e647-lite.chunk.js → 3841-bfae79638b-lite.chunk.js} +2 -2
  43. package/dist/scripts/{3841-95df66e647-lite.chunk.js.map → 3841-bfae79638b-lite.chunk.js.map} +1 -1
  44. package/dist/scripts/{3888-0bee9a9309-lite.chunk.js → 3888-87c1075a1b-lite.chunk.js} +1 -1
  45. package/dist/scripts/{3888-0bee9a9309-lite.chunk.js.map → 3888-87c1075a1b-lite.chunk.js.map} +1 -1
  46. package/dist/scripts/{4138-75a2bb69ab-lite.chunk.js → 4138-b9b03c9900-lite.chunk.js} +1 -1
  47. package/dist/scripts/{4138-75a2bb69ab-lite.chunk.js.map → 4138-b9b03c9900-lite.chunk.js.map} +1 -1
  48. package/dist/scripts/{4778-ebe369973c-lite.chunk.js → 4778-3c9f2b7f76-lite.chunk.js} +2 -2
  49. package/dist/scripts/{4778-ebe369973c-lite.chunk.js.map → 4778-3c9f2b7f76-lite.chunk.js.map} +1 -1
  50. package/dist/scripts/{4942-a27a31e79e-lite.chunk.js → 4942-acce40b333-lite.chunk.js} +2 -2
  51. package/dist/scripts/{4942-a27a31e79e-lite.chunk.js.map → 4942-acce40b333-lite.chunk.js.map} +1 -1
  52. package/dist/scripts/{5075-f8719465be-lite.chunk.js → 5075-53172298fe-lite.chunk.js} +1 -1
  53. package/dist/scripts/{5075-f8719465be-lite.chunk.js.map → 5075-53172298fe-lite.chunk.js.map} +1 -1
  54. package/dist/scripts/{5157-cd12e2e443-lite.chunk.js → 5157-47a0f5c088-lite.chunk.js} +1 -1
  55. package/dist/scripts/{5157-cd12e2e443-lite.chunk.js.map → 5157-47a0f5c088-lite.chunk.js.map} +1 -1
  56. package/dist/scripts/{5268-f4db3933ff-lite.chunk.js → 5268-9b7560f3b1-lite.chunk.js} +2 -2
  57. package/dist/scripts/{5268-f4db3933ff-lite.chunk.js.map → 5268-9b7560f3b1-lite.chunk.js.map} +1 -1
  58. package/dist/scripts/{5442-01ffd95162-lite.chunk.js → 5442-5ddfa2d951-lite.chunk.js} +1 -1
  59. package/dist/scripts/{5442-01ffd95162-lite.chunk.js.map → 5442-5ddfa2d951-lite.chunk.js.map} +1 -1
  60. package/dist/scripts/{5591-98cfe6c6e5-lite.chunk.js → 5591-119d72ede5-lite.chunk.js} +1 -1
  61. package/dist/scripts/{5591-98cfe6c6e5-lite.chunk.js.map → 5591-119d72ede5-lite.chunk.js.map} +1 -1
  62. package/dist/scripts/{5595-3763b14d77-lite.chunk.js → 5595-628d4f252c-lite.chunk.js} +2 -2
  63. package/dist/scripts/5595-628d4f252c-lite.chunk.js.map +1 -0
  64. package/dist/scripts/{6102-4d948a5e48-lite.chunk.js → 6102-6e5494bf09-lite.chunk.js} +3 -3
  65. package/dist/scripts/{6102-4d948a5e48-lite.chunk.js.map → 6102-6e5494bf09-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/{6158-0c5e44f800-lite.chunk.js → 6158-d123add596-lite.chunk.js} +1 -1
  67. package/dist/scripts/{6158-0c5e44f800-lite.chunk.js.map → 6158-d123add596-lite.chunk.js.map} +1 -1
  68. package/dist/scripts/{6263-8957d50afe-lite.chunk.js → 6263-24e67b7df2-lite.chunk.js} +1 -1
  69. package/dist/scripts/{6263-8957d50afe-lite.chunk.js.map → 6263-24e67b7df2-lite.chunk.js.map} +1 -1
  70. package/dist/scripts/{6330-c66465bd6d-lite.chunk.js → 6330-9a2a5fc07e-lite.chunk.js} +1 -1
  71. package/dist/scripts/{6330-c66465bd6d-lite.chunk.js.map → 6330-9a2a5fc07e-lite.chunk.js.map} +1 -1
  72. package/dist/scripts/{671-003843ca84-lite.chunk.js → 671-5571f33165-lite.chunk.js} +1 -1
  73. package/dist/scripts/{671-003843ca84-lite.chunk.js.map → 671-5571f33165-lite.chunk.js.map} +1 -1
  74. package/dist/scripts/{7167-efe85af16e-lite.chunk.js → 7167-dc4c954c2b-lite.chunk.js} +1 -1
  75. package/dist/scripts/{7167-efe85af16e-lite.chunk.js.map → 7167-dc4c954c2b-lite.chunk.js.map} +1 -1
  76. package/dist/scripts/7293-58f4a7cf47-lite.chunk.js +2 -0
  77. package/dist/scripts/{7293-afd3349468-lite.chunk.js.map → 7293-58f4a7cf47-lite.chunk.js.map} +1 -1
  78. package/dist/scripts/{7301-f20e4bdb8f-lite.chunk.js → 7301-7c9342ef0c-lite.chunk.js} +1 -1
  79. package/dist/scripts/{7301-f20e4bdb8f-lite.chunk.js.map → 7301-7c9342ef0c-lite.chunk.js.map} +1 -1
  80. package/dist/scripts/{7708-ece31b78a9-lite.chunk.js → 7708-e91903481a-lite.chunk.js} +1 -1
  81. package/dist/scripts/{7708-ece31b78a9-lite.chunk.js.map → 7708-e91903481a-lite.chunk.js.map} +1 -1
  82. package/dist/scripts/{771-eb60e33941-lite.chunk.js → 771-5612b4ffc2-lite.chunk.js} +2 -2
  83. package/dist/scripts/{771-eb60e33941-lite.chunk.js.map → 771-5612b4ffc2-lite.chunk.js.map} +1 -1
  84. package/dist/scripts/{7855-37bcdd134e-lite.chunk.js → 7855-4b69540a71-lite.chunk.js} +1 -1
  85. package/dist/scripts/{7855-37bcdd134e-lite.chunk.js.map → 7855-4b69540a71-lite.chunk.js.map} +1 -1
  86. package/dist/scripts/{8024-66413cc05b-lite.chunk.js → 8024-765a4170c7-lite.chunk.js} +2 -2
  87. package/dist/scripts/{8024-66413cc05b-lite.chunk.js.map → 8024-765a4170c7-lite.chunk.js.map} +1 -1
  88. package/dist/scripts/{823-58d27c255b-lite.chunk.js → 823-33c5207c68-lite.chunk.js} +1 -1
  89. package/dist/scripts/{823-58d27c255b-lite.chunk.js.map → 823-33c5207c68-lite.chunk.js.map} +1 -1
  90. package/dist/scripts/8261-69854ff4d5-lite.chunk.js +2 -0
  91. package/dist/scripts/8261-69854ff4d5-lite.chunk.js.map +1 -0
  92. package/dist/scripts/{8466-ee9d40ee97-lite.chunk.js → 8466-cea62163e8-lite.chunk.js} +1 -1
  93. package/dist/scripts/{8466-ee9d40ee97-lite.chunk.js.map → 8466-cea62163e8-lite.chunk.js.map} +1 -1
  94. package/dist/scripts/{8681-41edd08b98-lite.chunk.js → 8681-49db3daae6-lite.chunk.js} +2 -2
  95. package/dist/scripts/{8681-41edd08b98-lite.chunk.js.map → 8681-49db3daae6-lite.chunk.js.map} +1 -1
  96. package/dist/scripts/{8772-9ae4d77363-lite.chunk.js → 8772-6c11095cea-lite.chunk.js} +1 -1
  97. package/dist/scripts/{8772-9ae4d77363-lite.chunk.js.map → 8772-6c11095cea-lite.chunk.js.map} +1 -1
  98. package/dist/scripts/{8906-b75b51bd0f-lite.chunk.js → 8906-2f6b5e4c5c-lite.chunk.js} +2 -2
  99. package/dist/scripts/{8906-b75b51bd0f-lite.chunk.js.map → 8906-2f6b5e4c5c-lite.chunk.js.map} +1 -1
  100. package/dist/scripts/{920-4de8efbcf1-lite.chunk.js → 920-acc6596891-lite.chunk.js} +1 -1
  101. package/dist/scripts/{920-4de8efbcf1-lite.chunk.js.map → 920-acc6596891-lite.chunk.js.map} +1 -1
  102. package/dist/scripts/{9212-8f95fbd9b9-lite.chunk.js → 9212-cc987a13bf-lite.chunk.js} +1 -1
  103. package/dist/scripts/{9212-8f95fbd9b9-lite.chunk.js.map → 9212-cc987a13bf-lite.chunk.js.map} +1 -1
  104. package/dist/scripts/{9242-2e533bdc0d-lite.chunk.js → 9242-144e7728ad-lite.chunk.js} +1 -1
  105. package/dist/scripts/{9242-2e533bdc0d-lite.chunk.js.map → 9242-144e7728ad-lite.chunk.js.map} +1 -1
  106. package/dist/scripts/{9264-d2285d4310-lite.chunk.js → 9264-518952f13f-lite.chunk.js} +1 -1
  107. package/dist/scripts/{9264-d2285d4310-lite.chunk.js.map → 9264-518952f13f-lite.chunk.js.map} +1 -1
  108. package/dist/scripts/{9478-8eacf2fe47-lite.chunk.js → 9478-4b3c088537-lite.chunk.js} +2 -2
  109. package/dist/scripts/{9478-8eacf2fe47-lite.chunk.js.map → 9478-4b3c088537-lite.chunk.js.map} +1 -1
  110. package/dist/scripts/{9484-be04a34bbf-lite.chunk.js → 9484-b85011dbea-lite.chunk.js} +2 -2
  111. package/dist/scripts/{9484-be04a34bbf-lite.chunk.js.map → 9484-b85011dbea-lite.chunk.js.map} +1 -1
  112. package/dist/scripts/bundle-11bfce2e8c.min.js +3 -0
  113. package/dist/scripts/{bundle-8f540a1154.min.js.map → bundle-11bfce2e8c.min.js.map} +1 -1
  114. package/package.json +1 -1
  115. package/dist/scripts/1285-c322e093f9-lite.chunk.js.map +0 -1
  116. package/dist/scripts/3012-b5208d6981-lite.chunk.js.map +0 -1
  117. package/dist/scripts/5595-3763b14d77-lite.chunk.js.map +0 -1
  118. package/dist/scripts/7293-afd3349468-lite.chunk.js +0 -2
  119. package/dist/scripts/8261-72453f1978-lite.chunk.js +0 -2
  120. package/dist/scripts/8261-72453f1978-lite.chunk.js.map +0 -1
  121. package/dist/scripts/bundle-8f540a1154.min.js +0 -3
  122. /package/dist/scripts/{170-1f815b85a1-lite.chunk.js.LICENSE.txt → 170-2d124965b7-lite.chunk.js.LICENSE.txt} +0 -0
  123. /package/dist/scripts/{2118-462a279c5a-lite.chunk.js.LICENSE.txt → 2118-ec2a5f1e9b-lite.chunk.js.LICENSE.txt} +0 -0
  124. /package/dist/scripts/{3841-95df66e647-lite.chunk.js.LICENSE.txt → 3841-bfae79638b-lite.chunk.js.LICENSE.txt} +0 -0
  125. /package/dist/scripts/{4778-ebe369973c-lite.chunk.js.LICENSE.txt → 4778-3c9f2b7f76-lite.chunk.js.LICENSE.txt} +0 -0
  126. /package/dist/scripts/{4942-a27a31e79e-lite.chunk.js.LICENSE.txt → 4942-acce40b333-lite.chunk.js.LICENSE.txt} +0 -0
  127. /package/dist/scripts/{5268-f4db3933ff-lite.chunk.js.LICENSE.txt → 5268-9b7560f3b1-lite.chunk.js.LICENSE.txt} +0 -0
  128. /package/dist/scripts/{6102-4d948a5e48-lite.chunk.js.LICENSE.txt → 6102-6e5494bf09-lite.chunk.js.LICENSE.txt} +0 -0
  129. /package/dist/scripts/{771-eb60e33941-lite.chunk.js.LICENSE.txt → 771-5612b4ffc2-lite.chunk.js.LICENSE.txt} +0 -0
  130. /package/dist/scripts/{8024-66413cc05b-lite.chunk.js.LICENSE.txt → 8024-765a4170c7-lite.chunk.js.LICENSE.txt} +0 -0
  131. /package/dist/scripts/{8681-41edd08b98-lite.chunk.js.LICENSE.txt → 8681-49db3daae6-lite.chunk.js.LICENSE.txt} +0 -0
  132. /package/dist/scripts/{8906-b75b51bd0f-lite.chunk.js.LICENSE.txt → 8906-2f6b5e4c5c-lite.chunk.js.LICENSE.txt} +0 -0
  133. /package/dist/scripts/{9478-8eacf2fe47-lite.chunk.js.LICENSE.txt → 9478-4b3c088537-lite.chunk.js.LICENSE.txt} +0 -0
  134. /package/dist/scripts/{9484-be04a34bbf-lite.chunk.js.LICENSE.txt → 9484-b85011dbea-lite.chunk.js.LICENSE.txt} +0 -0
  135. /package/dist/scripts/{bundle-8f540a1154.min.js.LICENSE.txt → bundle-11bfce2e8c.min.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/3158-31baada6cc-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx","file:///app/packages/projects/lite/src/shared/components/play-clip/PlayClip.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { PlayClip } from 'shared/components/play-clip/PlayClip';\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 { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions } = usePermissions();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n const glanceTheme = Flight.useBasicFetch<Theme>(clip.data?.glance?.theme\n ? ThemeRequests.themeImages(clip.data.glance.theme, clip.data.glance.type) : null);\n\n const shouldFetchTheme = hasPermissions(PermissionName.ViewVideoGlance) &&\n clip.data?.glance?.theme;\n\n const featureAccess = useVideoFeatureAccess();\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n relatedVideos={relatedVideos}\n canFavourite={canFavourite}\n setFavourite={setFavourite}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n imageCdnUrl={config.data.imageCdnUrl}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n glanceTheme={glanceTheme.data}\n glanceLoaded={!shouldFetchTheme || glanceTheme.hasCompleted}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.scrollTo}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SignUpDescriptors, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoAtAGlance } from 'libs/shared/components/video-at-a-glance/VideoAtAGlance';\nimport { hasGlanceData } from 'libs/shared/components/video-at-a-glance/VideoAtAGlanceUtils';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { ClipWidgetItem, ClipWidgetItemProps } from 'libs/shared/components/widgets/items/clip-widget-item/ClipWidgetItem';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { ResourceWidgetItem, ResourceWidgetItemProps } from 'libs/shared/components/widgets/items/resource-widget-item/ResourceWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, Interactive, Link, PointOfInterest, PresentationAudience, Resource, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/PlayPageTitleAndActions';\nimport { getResources } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { VideoDetailsWithScrollbar } from 'shared/components/video-details/VideoDetails';\nimport { VideoDetailsPartial } from 'shared/components/video-details/VideoDetailsPartial';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\nconst namespace = 'shared.playClip';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype DetailsViewType = {\n view: 'v@g' | 'details' | 'loading';\n referrer: 'v@g' | 'details';\n};\n\ninterface PlayClipProps {\n clip: Clip;\n originalVideo: Video;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n imageCdnUrl: string;\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n glanceTheme?: Theme;\n glanceLoaded: boolean;\n tableOfContentsId: string;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n const resourcesRef = React.useRef<HTMLDivElement>(null);\n const interactivesRef = React.useRef<HTMLDivElement>(null);\n\n useTableOfContentsScroll([\n resourcesRef.current,\n interactivesRef.current\n ], props.tableOfContentsId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const hasGlance = hasGlanceData(props.clip, props.glanceTheme) && props.featureAccess.canViewGlance;\n\n const [ detailsView, setDetailsView ] = React.useState<DetailsViewType>({\n view: 'loading',\n referrer: null\n });\n\n React.useEffect(() => {\n if (!props.glanceLoaded)\n return;\n\n setDetailsView({\n view: props.glanceTheme ? 'v@g' : 'details',\n referrer: null\n });\n }, [ props.glanceLoaded, props.glanceTheme ]);\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function limitAccess(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return true;\n\n if (!props.hasProduct(ProductId.Primary))\n return true;\n\n if (hasStudentExperience)\n return true;\n\n return false;\n }\n\n const canAccessOriginal = props.originalVideo && !limitAccess() && !!props.clip._canBeConsumed?.value;\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal)\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ props.originalVideo.id, TextHelper.slugify(props.originalVideo.name) ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const resourcesWidget = getResources(props.clip, hasStudentExperience);\n\n const otherClips = props.originalVideo?.clips?.data?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n return (\n <div className='px-4'>\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section className={`mb-2`}>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n }\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <PlayPageTitleAndActions\n media={props.clip}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n />\n\n {/* \n * Toggling between display 'block' and 'none' is *deliberate* done here to facilitate exposure of our content to bots for SEO.\n * The markup of all 3 components should be available in the DOM from the first render. If you're going to refactor,\n * please don't neglect this usecase - Mike\n */}\n <section className={`${detailsView.view === 'v@g' ? 'd-block' : 'd-none'}`}>\n <VideoAtAGlance\n theme={props.glanceTheme}\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n onClickShowDescription={() => setDetailsView({ view: 'details', referrer: 'v@g' })}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'details' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsWithScrollbar\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n onClickClose={hasGlance && (() => setDetailsView({ view: 'v@g', referrer: 'details' }))}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n hideTags={hasGlance}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'loading' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsPartial />\n </section>\n\n {!!resourcesWidget?.length && (\n <section className='pb-3' id={PlayPageAnchor.Resources} ref={resourcesRef}>\n <FixedWidget<ResourceWidgetItemProps>\n name={getPhrase('resources', { count: resourcesWidget.length })}\n contents={WidgetContents.PlayPageResources}\n collection={resourcesWidget}\n prefetched\n childComponent={ResourceWidgetItem}\n extraChildComponentProps={{\n imageCdnUrl: props.imageCdnUrl,\n imageErrorFallbackUrl: ImageUrls.Fallbacks.RESOURCE_THUMBNAIL,\n actionBehaviour: props.featureAccess.canViewResourceItems ? 'normal' : 'public',\n location: 'play-page',\n titlePosition: 'above',\n hideTypeBadge: true\n }}\n getChildAppLink={getResourceAppLink(\n props.clip?.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n )}\n analyticsOptions={(() => {\n if (props.featureAccess.canViewResourceItems)\n return {};\n\n return {\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n };\n })()}\n analyticsData={{ widgetId: 'resources' }}\n />\n </section>\n )}\n\n {!!(otherClips?.length && !limitAccess()) && (\n <div className='pb-3'>\n <FixedWidget<ClipWidgetItemProps>\n name={getPhrase('otherClips', { count: otherClips.length })}\n contents={WidgetContents.Clips}\n collection={otherClips}\n prefetched\n getChildAppLink={(clip: Clip) => {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ clip.id, TextHelper.slugify(clip.name) ]\n };\n }}\n childComponent={ClipWidgetItem}\n extraChildComponentProps={{ video: props.originalVideo, imageCdnUrl: props.imageCdnUrl }}\n analyticsData={{ widgetId: 'clips' }}\n />\n </div>\n )}\n\n {!!(props.clip.interactives?.data?.length && !limitAccess()) && (\n <div className='pb-3' id={PlayPageAnchor.Interactives} ref={interactivesRef}>\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('interactives', { count: props.clip.interactives.data.length })}\n contents={WidgetContents.Interactives}\n collection={props.clip.interactives.data}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: props.clip,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!!canAccessOriginal && (\n <section className='pb-2 pt-1'>\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n />\n </VideoActionsContext.Provider>\n </section>\n )}\n\n <section>\n <RelatedVideos\n currentVideo={props.clip}\n yearGroups={props.yearGroups}\n relatedVideos={props.relatedVideos}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n />\n </section>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};"],"names":["PlaySharedClipView","props","hasProduct","u","setFavourite","canFavourite","hasPermissions","currentUser","config","clip","objectId","shareId","video","data","_parentVideo","id","relatedVideos","context","queryParams","contextId","moviesAndTv","mtv","audiences","yearGroups","isAuthenticated","customerId","pointsOfInterest","glanceTheme","glance","theme","type","shouldFetchTheme","featureAccess","content","videos","app","hasCompleted","originalVideo","imageCdnUrl","canManageVideoAccess","glanceLoaded","items","tableOfContentsId","scrollTo","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","namespace","getPhrase","PlayClip","playerContext","canConsume","videoActions","location","resourcesRef","interactivesRef","current","isArchived","hasStudentExperience","shouldPlayOnExitImmersiveReader","hasGlance","canViewGlance","view","referrer","detailsView","setDetailsView","limitAccess","canAccessOriginal","_canBeConsumed","value","showPlayerPlaceholder","mode","canViewPublicLayout","resourcesWidget","otherClips","clips","filter","c","toString","className","restrictions","_restrictions","objectTypeId","typeId","key","playNext","startTime","t","media","originalVideoAppLink","name","onClickShowDescription","setStartTime","time","playerRef","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","onLaunchImmersiveReader","isPaused","pause","onExitImmersiveReader","play","onClickClose","hideTags","length","ref","count","contents","collection","prefetched","childComponent","R","extraChildComponentProps","imageErrorFallbackUrl","actionBehaviour","canViewResourceItems","titlePosition","hideTypeBadge","getChildAppLink","analyticsOptions","workflowPhase","descriptor","SignUp","analyticsData","widgetId","C","interactives","interactive","questionsAppLink","phrase","getVideoAppLink","v","opts","presentationAudiences","getPreviewQuestionsAppLink","currentVideo","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/3158-2147de456d-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx","file:///app/packages/projects/lite/src/shared/components/play-clip/PlayClip.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { PlayClip } from 'shared/components/play-clip/PlayClip';\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 { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions } = usePermissions();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n const glanceTheme = Flight.useBasicFetch<Theme>(clip.data?.glance?.theme\n ? ThemeRequests.themeImages(clip.data.glance.theme, clip.data.glance.type) : null);\n\n const shouldFetchTheme = hasPermissions(PermissionName.ViewVideoGlance) &&\n clip.data?.glance?.theme;\n\n const featureAccess = useVideoFeatureAccess();\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n relatedVideos={relatedVideos}\n canFavourite={canFavourite}\n setFavourite={setFavourite}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n imageCdnUrl={config.data.imageCdnUrl}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n glanceTheme={glanceTheme.data}\n glanceLoaded={!shouldFetchTheme || glanceTheme.hasCompleted}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.scrollTo}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SignUpDescriptors, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoAtAGlance } from 'libs/shared/components/video-at-a-glance/VideoAtAGlance';\nimport { hasGlanceData } from 'libs/shared/components/video-at-a-glance/VideoAtAGlanceUtils';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { ClipWidgetItem, ClipWidgetItemProps } from 'libs/shared/components/widgets/items/clip-widget-item/ClipWidgetItem';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { ResourceWidgetItem, ResourceWidgetItemProps } from 'libs/shared/components/widgets/items/resource-widget-item/ResourceWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, Interactive, Link, PointOfInterest, PresentationAudience, Resource, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/PlayPageTitleAndActions';\nimport { getResources } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { VideoDetailsWithScrollbar } from 'shared/components/video-details/VideoDetails';\nimport { VideoDetailsPartial } from 'shared/components/video-details/VideoDetailsPartial';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\nconst namespace = 'shared.playClip';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype DetailsViewType = {\n view: 'v@g' | 'details' | 'loading';\n referrer: 'v@g' | 'details';\n};\n\ninterface PlayClipProps {\n clip: Clip;\n originalVideo: Video;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n imageCdnUrl: string;\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n glanceTheme?: Theme;\n glanceLoaded: boolean;\n tableOfContentsId: string;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n const resourcesRef = React.useRef<HTMLDivElement>(null);\n const interactivesRef = React.useRef<HTMLDivElement>(null);\n\n useTableOfContentsScroll([\n resourcesRef.current,\n interactivesRef.current\n ], props.tableOfContentsId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const hasGlance = hasGlanceData(props.clip, props.glanceTheme) && props.featureAccess.canViewGlance;\n\n const [ detailsView, setDetailsView ] = React.useState<DetailsViewType>({\n view: 'loading',\n referrer: null\n });\n\n React.useEffect(() => {\n if (!props.glanceLoaded)\n return;\n\n setDetailsView({\n view: props.glanceTheme ? 'v@g' : 'details',\n referrer: null\n });\n }, [ props.glanceLoaded, props.glanceTheme ]);\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function limitAccess(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return true;\n\n if (!props.hasProduct(ProductId.Primary))\n return true;\n\n if (hasStudentExperience)\n return true;\n\n return false;\n }\n\n const canAccessOriginal = props.originalVideo && !limitAccess() && !!props.clip._canBeConsumed?.value;\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal)\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ props.originalVideo.id, TextHelper.slugify(props.originalVideo.name) ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const resourcesWidget = getResources(props.clip, hasStudentExperience);\n\n const otherClips = props.originalVideo?.clips?.data?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n return (\n <div className='px-4'>\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section className={`mb-2`}>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n }\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <PlayPageTitleAndActions\n media={props.clip}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n />\n\n {/* \n * Toggling between display 'block' and 'none' is *deliberate* done here to facilitate exposure of our content to bots for SEO.\n * The markup of all 3 components should be available in the DOM from the first render. If you're going to refactor,\n * please don't neglect this usecase - Mike\n */}\n <section className={`${detailsView.view === 'v@g' ? 'd-block' : 'd-none'}`}>\n <VideoAtAGlance\n theme={props.glanceTheme}\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n onClickShowDescription={() => setDetailsView({ view: 'details', referrer: 'v@g' })}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'details' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsWithScrollbar\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n onClickClose={hasGlance && (() => setDetailsView({ view: 'v@g', referrer: 'details' }))}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n hideTags={hasGlance}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'loading' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsPartial />\n </section>\n\n {!!resourcesWidget?.length && (\n <section className='pb-3' id={PlayPageAnchor.Resources} ref={resourcesRef}>\n <FixedWidget<ResourceWidgetItemProps>\n name={getPhrase('resources', { count: resourcesWidget.length })}\n contents={WidgetContents.PlayPageResources}\n collection={resourcesWidget}\n prefetched\n childComponent={ResourceWidgetItem}\n extraChildComponentProps={{\n imageCdnUrl: props.imageCdnUrl,\n imageErrorFallbackUrl: ImageUrls.Fallbacks.RESOURCE_THUMBNAIL,\n actionBehaviour: props.featureAccess.canViewResourceItems ? 'normal' : 'public',\n location: 'play-page',\n titlePosition: 'above',\n hideTypeBadge: true\n }}\n getChildAppLink={getResourceAppLink(\n props.clip?.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n )}\n analyticsOptions={(() => {\n if (props.featureAccess.canViewResourceItems)\n return {};\n\n return {\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n };\n })()}\n analyticsData={{ widgetId: 'resources' }}\n />\n </section>\n )}\n\n {!!(otherClips?.length && !limitAccess()) && (\n <div className='pb-3'>\n <FixedWidget<ClipWidgetItemProps>\n name={getPhrase('otherClips', { count: otherClips.length })}\n contents={WidgetContents.Clips}\n collection={otherClips}\n prefetched\n getChildAppLink={(clip: Clip) => {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ clip.id, TextHelper.slugify(clip.name) ]\n };\n }}\n childComponent={ClipWidgetItem}\n extraChildComponentProps={{ video: props.originalVideo, imageCdnUrl: props.imageCdnUrl }}\n analyticsData={{ widgetId: 'clips' }}\n />\n </div>\n )}\n\n {!!(props.clip.interactives?.data?.length && !limitAccess()) && (\n <div className='pb-3' id={PlayPageAnchor.Interactives} ref={interactivesRef}>\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('interactives', { count: props.clip.interactives.data.length })}\n contents={WidgetContents.Interactives}\n collection={props.clip.interactives.data}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: props.clip,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!!canAccessOriginal && (\n <section className='pb-2 pt-1'>\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n />\n </VideoActionsContext.Provider>\n </section>\n )}\n\n <section>\n <RelatedVideos\n currentVideo={props.clip}\n yearGroups={props.yearGroups}\n relatedVideos={props.relatedVideos}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n />\n </section>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};"],"names":["PlaySharedClipView","props","hasProduct","u","setFavourite","canFavourite","hasPermissions","currentUser","config","clip","objectId","shareId","video","data","_parentVideo","id","relatedVideos","context","queryParams","contextId","moviesAndTv","mtv","audiences","yearGroups","isAuthenticated","customerId","pointsOfInterest","glanceTheme","glance","theme","type","shouldFetchTheme","featureAccess","content","videos","app","hasCompleted","originalVideo","imageCdnUrl","canManageVideoAccess","glanceLoaded","items","tableOfContentsId","scrollTo","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","namespace","getPhrase","PlayClip","playerContext","canConsume","videoActions","location","resourcesRef","interactivesRef","current","isArchived","hasStudentExperience","shouldPlayOnExitImmersiveReader","hasGlance","canViewGlance","view","referrer","detailsView","setDetailsView","limitAccess","canAccessOriginal","_canBeConsumed","value","showPlayerPlaceholder","mode","canViewPublicLayout","resourcesWidget","otherClips","clips","filter","c","toString","className","restrictions","_restrictions","objectTypeId","typeId","key","playNext","startTime","t","media","originalVideoAppLink","name","onClickShowDescription","setStartTime","time","playerRef","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","onLaunchImmersiveReader","isPaused","pause","onExitImmersiveReader","play","onClickClose","hideTags","length","ref","count","contents","collection","prefetched","childComponent","R","extraChildComponentProps","imageErrorFallbackUrl","actionBehaviour","canViewResourceItems","titlePosition","hideTypeBadge","getChildAppLink","analyticsOptions","workflowPhase","descriptor","SignUp","analyticsData","widgetId","C","interactives","interactive","questionsAppLink","phrase","getVideoAppLink","v","opts","presentationAudiences","getPreviewQuestionsAppLink","currentVideo","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3296],{63649:(e,a,t)=>{t.d(a,{X:()=>i});var c=t(32735);const n={video:"ekpg6",notice:"lQs4F",heading:"Gt6uV",interaction:"LEfYX",button:"caHP7",edit:"de4DP",questions:"XelbS"};function i(e){var a=e.isEdit;return c.createElement("div",{className:"px-3 w-100 ".concat(a?n.edit:"")},a?c.createElement("div",{className:"d-flex justify-content-between align-items-center mb-3"},c.createElement("div",{className:"partial-loading-background ".concat(n.heading)}),c.createElement("div",null,c.createElement("div",{className:"partial-loading-background d-inline-block ".concat(n.button)}),c.createElement("div",{className:"partial-loading-background d-inline-block ms-2 ".concat(n.button)}))):c.createElement("div",{className:"partial-loading-background ".concat(n.notice)}),c.createElement("div",{className:"partial-loading-background mb-3 ".concat(n.video)},c.createElement("div",{className:"partial-loading-background ".concat(n.questions)})),c.createElement("div",{className:"partial-loading-background mb-3 ".concat(n.heading)}),c.createElement("div",null,Array(5).fill(null).map((function(e,a){return c.createElement("div",{key:a,className:"partial-loading-background my-2 ".concat(n.interaction)})}))))}},38280:(e,a,t)=>{t.r(a),t.d(a,{SharedInteractiveView:()=>j});var c=t(32735),n=t(20354),i=t(30439),r=t(4594),d=t(60051),s=t(16714),o=t(39151),l=t(1666),u=t(20768),m=t(47812),v=t(31949),b=t(27995),h=t(91286),g=t(22902),p=t(79612),k=t(76753),E=t(7179),y=t(36873),I=t(44110),f=t(53073),P=t(97816),w=t(63649),N=t(84062),q=t(25758),F=t(57426),C=t(16857),V={notFound:F.k,forbidden:{privacy:C.m}};function j(e){var a,t,F,j=(0,g.T)().hasPermissions,x=n.a.useBasicFetch(o.L.config()),B=n.a.useBasicFetch(v.N.currentUser()),M=n.a.useBasicFetch(u.b.sharedInteractiveMetadata(e.objectId,e.shareId)),S=n.a.useBasicFetch(i.o.getShareObject(e.shareId)),A=S.data&&(S.data.objectTypeId===r.E.Interactive?m.k.createViewKey(e.shareId,d.f.Share):m.k.createViewKey(e.objectId,d.f.MasterObject,e.shareId)),G=n.a.useBasicFetch(A),T=(0,I.i)(),U=n.a.useBasicFetch((null===(a=B.data)||void 0===a?void 0:a.isAuthenticated)&&l.h.yearGroups(B.data.customerId)),X=(0,f.f)(),_=n.a.useBasicFetch(X&&M.data&&u.b.interactive(M.data.interactiveId)),K=(0,y.k)({video:M.data,context:e.queryParams.context,contextId:e.queryParams.contextId,moviesAndTv:e.queryParams.mtv,currentUser:B.data});(0,h.v)(M,V),(0,b.b)(M,{private:C.m}),(0,E.P)({id:e.objectId,app:"interactives",shareId:e.shareId}),(0,P.V)(null!==(t=K.videos)&&void 0!==t?t:[]),(0,p.M)(k.CG.getInteractiveMetadata({content:M.data}));var L=M.data&&x.hasCompleted&&B.hasCompleted&&(!X||_.hasCompleted)&&S.hasCompleted&&G.hasCompleted;return X?L?c.createElement(q.x,{config:x.data,currentUser:B.data,queryParams:e.queryParams,interactive:M.data,isPreviewPreventScrubbingEnabled:_.data.preventScrubbing,yearGroups:U.data,audiences:T.data,relatedVideos:K,canManageVideoAccess:j(s.C.ManageVideoAccess)}):c.createElement(w.X,{isEdit:!1}):L?c.createElement(N.M,{interactive:M.data,currentUser:B.data,config:x.data,audiences:T.data,yearGroups:U.data,queryParams:e.queryParams,viewKey:G.data,relatedVideos:K,shareLink:S.data,startTime:null===(F=e.queryParams)||void 0===F?void 0:F.t}):c.createElement(c.Fragment,null)}}}]);
2
- //# sourceMappingURL=3296-6d80e4dd56-lite.chunk.js.map
2
+ //# sourceMappingURL=3296-f3732c93d9-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/3296-6d80e4dd56-lite.chunk.js","mappings":"mJACA,SAAgB,MAAQ,QAAQ,OAAS,QAAQ,QAAU,QAAQ,YAAc,QAAQ,OAAS,QAAQ,KAAO,QAAQ,UAAY,SCO/H,SAAUA,EAA0BC,GACxC,IAAQC,EAAWD,EAAXC,OAER,OACE,uBAAKC,UAAS,qBAAgBD,EAAS,OAAc,KAClDA,EACC,uBAAKC,UAAU,0DACb,uBAAKA,UAAS,qCAAgC,aAC9C,2BACE,uBAAKA,UAAS,oDAA+C,YAC7D,uBAAKA,UAAS,yDAAoD,cAGtE,uBAAKA,UAAS,qCAAgC,YAEhD,uBAAKA,UAAS,0CAAqC,UACjD,uBAAKA,UAAS,qCAAgC,gBAEhD,uBAAKA,UAAS,0CAAqC,aACnD,2BACGC,MAAM,GAAGC,KAAK,MAAMC,KAAI,SAACC,EAAGC,GAAC,OAC5B,uBAAKC,IAAKD,EAAGL,UAAS,0CAAqC,gBAA4B,KAKjG,C,6VCDMO,EAAc,CAClBC,SAAU,IACVC,UAAW,CACTC,QAAS,MAIP,SAAUC,EAAsBb,G,UAC5Bc,GAAmB,SAAnBA,eAEFC,EAAS,kBAA6B,cAEtCC,EAAc,kBAAkC,mBAChDC,EAAsB,kBAC1B,8BAA8CjB,EAAMkB,SAAUlB,EAAMmB,UAGhEC,EAAY,kBAChB,mBAA6BpB,EAAMmB,UAO/BE,EAAiBD,EAAUE,OAASF,EAAUE,KAAKC,eAAiB,gBACtE,kBAA6BvB,EAAMmB,QAAS,WAC5C,kBAA6BnB,EAAMkB,SAAU,iBAA0BlB,EAAMmB,UAC3EK,EAAU,kBAAoCH,GAC9CI,GAAY,SACZC,EAAa,mBACD,QAAhB,EAAAV,EAAYM,YAAI,eAAEK,kBAAmB,eAA4BX,EAAYM,KAAKM,aAO9EC,GAA2B,SAC3BC,EAAc,kBAClBD,GAA4BZ,EAAoBK,MAChD,gBAAgCL,EAAoBK,KAAKS,gBAGrDC,GAAgB,OAAoB,CACxCC,MAAOhB,EAAoBK,KAC3BY,QAASlC,EAAMmC,YAAYD,QAC3BE,UAAWpC,EAAMmC,YAAYC,UAC7BC,YAAarC,EAAMmC,YAAYG,IAC/BtB,YAAaA,EAAYM,QAG3B,OAAqBL,EAAqBR,IAC1C,OAAsBQ,EAAqB,CAAEsB,QAAS,OACtD,OAAa,CAAEC,GAAIxC,EAAMkB,SAAUuB,IAAK,eAAgBtB,QAASnB,EAAMmB,WACvE,OAAkC,QAApB,EAAAa,EAAcU,cAAM,QAAI,KACtC,OAAmB,4BAA0C,CAAEC,QAAS1B,EAAoBK,QAE5F,IAAMsB,EACJ3B,EAAoBK,MACpBP,EAAO8B,cACP7B,EAAY6B,gBACVhB,GAA4BC,EAAYe,eAC1CzB,EAAUyB,cACVrB,EAAQqB,aAGV,OAAIhB,EAEGe,EAIH,gBAAC,IAAkB,CACjB7B,OAAQA,EAAOO,KACfN,YAAaA,EAAYM,KACzBa,YAAanC,EAAMmC,YACnBL,YAAab,EAAoBK,KACjCwB,iCAAkChB,EAAYR,KAAKyB,iBACnDrB,WAAYA,EAAWJ,KACvBG,UAAWA,EAAUH,KACrBU,cAAeA,EACfgB,qBAAsBlC,EAAe,yBAZhC,gBAAC,IAAyB,CAACb,QAAQ,IAiBzC2C,EAIH,gBAAC,IAAe,CACdd,YAAab,EAAoBK,KACjCN,YAAaA,EAAYM,KACzBP,OAAQA,EAAOO,KACfG,UAAWA,EAAUH,KACrBI,WAAYA,EAAWJ,KACvBa,YAAanC,EAAMmC,YACnBX,QAASA,EAAQF,KACjBU,cAAeA,EACfZ,UAAWA,EAAUE,KACrB2B,UAA4B,QAAjB,EAAAjD,EAAMmC,mBAAW,eAAEe,IAbzB,gCAgBX,C","sources":["file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/interactive-partial-loading.scss","file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/InteractivePartialLoading.tsx","file:///app/packages/projects/lite/src/apps/share/views/shared-interactive/SharedInteractiveView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"video\":\"ekpg6\",\"notice\":\"lQs4F\",\"heading\":\"Gt6uV\",\"interaction\":\"LEfYX\",\"button\":\"caHP7\",\"edit\":\"de4DP\",\"questions\":\"XelbS\"};","import React from 'react';\n\nimport styles from './interactive-partial-loading.scss';\n\ninterface InteractivePartialLoadingProps {\n isEdit: boolean;\n}\n\nexport function InteractivePartialLoading(props: InteractivePartialLoadingProps): React.ReactElement {\n const { isEdit } = props;\n\n return (\n <div className={`px-3 w-100 ${isEdit ? styles.edit : ''}`}>\n {isEdit ?\n <div className='d-flex justify-content-between align-items-center mb-3'>\n <div className={`partial-loading-background ${styles.heading}`}></div>\n <div>\n <div className={`partial-loading-background d-inline-block ${styles.button}`}></div>\n <div className={`partial-loading-background d-inline-block ms-2 ${styles.button}`}></div>\n </div>\n </div> :\n <div className={`partial-loading-background ${styles.notice}`} />\n }\n <div className={`partial-loading-background mb-3 ${styles.video}`}>\n <div className={`partial-loading-background ${styles.questions}`}></div>\n </div>\n <div className={`partial-loading-background mb-3 ${styles.heading}`}></div>\n <div>\n {Array(5).fill(null).map((_, i) => (\n <div key={i} className={`partial-loading-background my-2 ${styles.interaction}`}></div>\n ))}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\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 { 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 { Config, CurrentUser, Interactive, InteractiveMetadata, PlayerViewKey, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\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 { InteractivePartialLoading } from 'apps/interactives/components/interactive-partial-loading/InteractivePartialLoading';\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\nimport { ShareLinkNotFoundError } from 'apps/share/errors/share-link-not-found/ShareLinkNotFoundError';\nimport { ShareLinkPrivateError } from 'apps/share/errors/share-link-private/ShareLinkPrivateError';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nconst videoErrors = {\n notFound: ShareLinkNotFoundError,\n forbidden: {\n privacy: ShareLinkPrivateError\n }\n};\n\nexport function SharedInteractiveView(props: ShareLinkViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.sharedInteractiveMetadata(props.objectId, props.shareId)\n );\n\n const shareLink = Flight.useBasicFetch<UnionShareObject>(\n ShareRequests.getShareObject(props.shareId)\n );\n\n /**\n * If the shareLink type isn't an interactive, then it's a playlist and needs to be\n * used as context for fetching\n */\n const viewKeyRequest = shareLink.data && (shareLink.data.objectTypeId === MasterType.Interactive\n ? PlayerRequests.createViewKey(props.shareId, MediaIdType.Share)\n : PlayerRequests.createViewKey(props.objectId, MediaIdType.MasterObject, props.shareId));\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(viewKeyRequest);\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n /**\n * Authenticated staff with Lite product access get the interactive \"Preview\" view instead\n * of the usual play view.\n */\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\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 useHandleObjectError(interactiveMetadata, videoErrors);\n useCannotConsumeError(interactiveMetadata, { private: ShareLinkPrivateError });\n useDeepLinks({ id: props.objectId, app: 'interactives', shareId: props.shareId });\n useVideoMixin(relatedVideos.videos ?? []);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n shareLink.hasCompleted &&\n viewKey.hasCompleted\n );\n\n if (shouldPreviewInteractive) {\n // For staff, the interactive is previewed\n if (!hasLoaded)\n return <InteractivePartialLoading isEdit={false} />;\n\n return (\n <PreviewInteractive\n config={config.data}\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n />\n );\n }\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n audiences={audiences.data}\n yearGroups={yearGroups.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n shareLink={shareLink.data}\n startTime={props.queryParams?.t}\n />\n );\n}"],"names":["InteractivePartialLoading","props","isEdit","className","Array","fill","map","_","i","key","videoErrors","notFound","forbidden","privacy","SharedInteractiveView","hasPermissions","config","currentUser","interactiveMetadata","objectId","shareId","shareLink","viewKeyRequest","data","objectTypeId","viewKey","audiences","yearGroups","isAuthenticated","customerId","shouldPreviewInteractive","interactive","interactiveId","relatedVideos","video","context","queryParams","contextId","moviesAndTv","mtv","private","id","app","videos","content","hasLoaded","hasCompleted","isPreviewPreventScrubbingEnabled","preventScrubbing","canManageVideoAccess","startTime","t"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/3296-f3732c93d9-lite.chunk.js","mappings":"mJACA,SAAgB,MAAQ,QAAQ,OAAS,QAAQ,QAAU,QAAQ,YAAc,QAAQ,OAAS,QAAQ,KAAO,QAAQ,UAAY,SCO/H,SAAUA,EAA0BC,GACxC,IAAQC,EAAWD,EAAXC,OAER,OACE,uBAAKC,UAAS,qBAAgBD,EAAS,OAAc,KAClDA,EACC,uBAAKC,UAAU,0DACb,uBAAKA,UAAS,qCAAgC,aAC9C,2BACE,uBAAKA,UAAS,oDAA+C,YAC7D,uBAAKA,UAAS,yDAAoD,cAGtE,uBAAKA,UAAS,qCAAgC,YAEhD,uBAAKA,UAAS,0CAAqC,UACjD,uBAAKA,UAAS,qCAAgC,gBAEhD,uBAAKA,UAAS,0CAAqC,aACnD,2BACGC,MAAM,GAAGC,KAAK,MAAMC,KAAI,SAACC,EAAGC,GAAC,OAC5B,uBAAKC,IAAKD,EAAGL,UAAS,0CAAqC,gBAA4B,KAKjG,C,6VCDMO,EAAc,CAClBC,SAAU,IACVC,UAAW,CACTC,QAAS,MAIP,SAAUC,EAAsBb,G,UAC5Bc,GAAmB,SAAnBA,eAEFC,EAAS,kBAA6B,cAEtCC,EAAc,kBAAkC,mBAChDC,EAAsB,kBAC1B,8BAA8CjB,EAAMkB,SAAUlB,EAAMmB,UAGhEC,EAAY,kBAChB,mBAA6BpB,EAAMmB,UAO/BE,EAAiBD,EAAUE,OAASF,EAAUE,KAAKC,eAAiB,gBACtE,kBAA6BvB,EAAMmB,QAAS,WAC5C,kBAA6BnB,EAAMkB,SAAU,iBAA0BlB,EAAMmB,UAC3EK,EAAU,kBAAoCH,GAC9CI,GAAY,SACZC,EAAa,mBACD,QAAhB,EAAAV,EAAYM,YAAI,eAAEK,kBAAmB,eAA4BX,EAAYM,KAAKM,aAO9EC,GAA2B,SAC3BC,EAAc,kBAClBD,GAA4BZ,EAAoBK,MAChD,gBAAgCL,EAAoBK,KAAKS,gBAGrDC,GAAgB,OAAoB,CACxCC,MAAOhB,EAAoBK,KAC3BY,QAASlC,EAAMmC,YAAYD,QAC3BE,UAAWpC,EAAMmC,YAAYC,UAC7BC,YAAarC,EAAMmC,YAAYG,IAC/BtB,YAAaA,EAAYM,QAG3B,OAAqBL,EAAqBR,IAC1C,OAAsBQ,EAAqB,CAAEsB,QAAS,OACtD,OAAa,CAAEC,GAAIxC,EAAMkB,SAAUuB,IAAK,eAAgBtB,QAASnB,EAAMmB,WACvE,OAAkC,QAApB,EAAAa,EAAcU,cAAM,QAAI,KACtC,OAAmB,4BAA0C,CAAEC,QAAS1B,EAAoBK,QAE5F,IAAMsB,EACJ3B,EAAoBK,MACpBP,EAAO8B,cACP7B,EAAY6B,gBACVhB,GAA4BC,EAAYe,eAC1CzB,EAAUyB,cACVrB,EAAQqB,aAGV,OAAIhB,EAEGe,EAIH,gBAAC,IAAkB,CACjB7B,OAAQA,EAAOO,KACfN,YAAaA,EAAYM,KACzBa,YAAanC,EAAMmC,YACnBL,YAAab,EAAoBK,KACjCwB,iCAAkChB,EAAYR,KAAKyB,iBACnDrB,WAAYA,EAAWJ,KACvBG,UAAWA,EAAUH,KACrBU,cAAeA,EACfgB,qBAAsBlC,EAAe,yBAZhC,gBAAC,IAAyB,CAACb,QAAQ,IAiBzC2C,EAIH,gBAAC,IAAe,CACdd,YAAab,EAAoBK,KACjCN,YAAaA,EAAYM,KACzBP,OAAQA,EAAOO,KACfG,UAAWA,EAAUH,KACrBI,WAAYA,EAAWJ,KACvBa,YAAanC,EAAMmC,YACnBX,QAASA,EAAQF,KACjBU,cAAeA,EACfZ,UAAWA,EAAUE,KACrB2B,UAA4B,QAAjB,EAAAjD,EAAMmC,mBAAW,eAAEe,IAbzB,gCAgBX,C","sources":["file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/interactive-partial-loading.scss","file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/InteractivePartialLoading.tsx","file:///app/packages/projects/lite/src/apps/share/views/shared-interactive/SharedInteractiveView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"video\":\"ekpg6\",\"notice\":\"lQs4F\",\"heading\":\"Gt6uV\",\"interaction\":\"LEfYX\",\"button\":\"caHP7\",\"edit\":\"de4DP\",\"questions\":\"XelbS\"};","import React from 'react';\n\nimport styles from './interactive-partial-loading.scss';\n\ninterface InteractivePartialLoadingProps {\n isEdit: boolean;\n}\n\nexport function InteractivePartialLoading(props: InteractivePartialLoadingProps): React.ReactElement {\n const { isEdit } = props;\n\n return (\n <div className={`px-3 w-100 ${isEdit ? styles.edit : ''}`}>\n {isEdit ?\n <div className='d-flex justify-content-between align-items-center mb-3'>\n <div className={`partial-loading-background ${styles.heading}`}></div>\n <div>\n <div className={`partial-loading-background d-inline-block ${styles.button}`}></div>\n <div className={`partial-loading-background d-inline-block ms-2 ${styles.button}`}></div>\n </div>\n </div> :\n <div className={`partial-loading-background ${styles.notice}`} />\n }\n <div className={`partial-loading-background mb-3 ${styles.video}`}>\n <div className={`partial-loading-background ${styles.questions}`}></div>\n </div>\n <div className={`partial-loading-background mb-3 ${styles.heading}`}></div>\n <div>\n {Array(5).fill(null).map((_, i) => (\n <div key={i} className={`partial-loading-background my-2 ${styles.interaction}`}></div>\n ))}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\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 { 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 { Config, CurrentUser, Interactive, InteractiveMetadata, PlayerViewKey, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\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 { InteractivePartialLoading } from 'apps/interactives/components/interactive-partial-loading/InteractivePartialLoading';\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\nimport { ShareLinkNotFoundError } from 'apps/share/errors/share-link-not-found/ShareLinkNotFoundError';\nimport { ShareLinkPrivateError } from 'apps/share/errors/share-link-private/ShareLinkPrivateError';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nconst videoErrors = {\n notFound: ShareLinkNotFoundError,\n forbidden: {\n privacy: ShareLinkPrivateError\n }\n};\n\nexport function SharedInteractiveView(props: ShareLinkViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.sharedInteractiveMetadata(props.objectId, props.shareId)\n );\n\n const shareLink = Flight.useBasicFetch<UnionShareObject>(\n ShareRequests.getShareObject(props.shareId)\n );\n\n /**\n * If the shareLink type isn't an interactive, then it's a playlist and needs to be\n * used as context for fetching\n */\n const viewKeyRequest = shareLink.data && (shareLink.data.objectTypeId === MasterType.Interactive\n ? PlayerRequests.createViewKey(props.shareId, MediaIdType.Share)\n : PlayerRequests.createViewKey(props.objectId, MediaIdType.MasterObject, props.shareId));\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(viewKeyRequest);\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n /**\n * Authenticated staff with Lite product access get the interactive \"Preview\" view instead\n * of the usual play view.\n */\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\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 useHandleObjectError(interactiveMetadata, videoErrors);\n useCannotConsumeError(interactiveMetadata, { private: ShareLinkPrivateError });\n useDeepLinks({ id: props.objectId, app: 'interactives', shareId: props.shareId });\n useVideoMixin(relatedVideos.videos ?? []);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n shareLink.hasCompleted &&\n viewKey.hasCompleted\n );\n\n if (shouldPreviewInteractive) {\n // For staff, the interactive is previewed\n if (!hasLoaded)\n return <InteractivePartialLoading isEdit={false} />;\n\n return (\n <PreviewInteractive\n config={config.data}\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n />\n );\n }\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n audiences={audiences.data}\n yearGroups={yearGroups.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n shareLink={shareLink.data}\n startTime={props.queryParams?.t}\n />\n );\n}"],"names":["InteractivePartialLoading","props","isEdit","className","Array","fill","map","_","i","key","videoErrors","notFound","forbidden","privacy","SharedInteractiveView","hasPermissions","config","currentUser","interactiveMetadata","objectId","shareId","shareLink","viewKeyRequest","data","objectTypeId","viewKey","audiences","yearGroups","isAuthenticated","customerId","shouldPreviewInteractive","interactive","interactiveId","relatedVideos","video","context","queryParams","contextId","moviesAndTv","mtv","private","id","app","videos","content","hasLoaded","hasCompleted","isPreviewPreventScrubbingEnabled","preventScrubbing","canManageVideoAccess","startTime","t"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3541],{92869:(e,t,n)=>{n.d(t,{t:()=>c});var a=n(48088),r=n(95846),c={preventScrollTop:function(){a.Radio.channel(r.G.SHELL).trigger("prevent:scroll:top")}}},75097:(e,t,n)=>{n.d(t,{U:()=>c});var a=n(32735),r=n(95245);function c(e){var t=e.count,n=void 0===t?6:t;return a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"d-flex ps-1"},Array(n).fill(null).map((function(e,t){return a.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},49935:(e,t,n)=>{n.d(t,{Oo:()=>m,b2:()=>d});var a=n(32735),r=n(36848),c=n(86764),l=n(3747),o=n(5859),s=n(35223),i=n(83914),u=function(e){var t=e.breadcrumb,n=t.name,c=t.appLink,l=t.active,o=e.withBackIcon;return a.createElement("li",{className:"breadcrumb-item".concat(l?" active":"")},l?a.createElement("strong",null,n):a.createElement(r.F,{appLink:c},o&&a.createElement(i.x,{svgName:s.vn.ChevronLeft,size:i.S.Small}),a.createElement("span",{className:o?"ms-2":""},n)))},m=function(e){var t=e.breadcrumbs,n=(0,l.a)(c.r.XS),r=null==t?void 0:t.length;return!r||n&&r<2?a.createElement(a.Fragment,null):n?a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},a.createElement(u,{breadcrumb:t[r-2],withBackIcon:!0}))):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return a.createElement(u,{key:t,breadcrumb:e})}))))},d=a.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,l.a)(c.r.XS)?a.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},o.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return a.createElement("li",{key:t,className:"breadcrumb-item"},a.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},37395:(e,t,n)=>{n.d(t,{t:()=>m});var a=n(32735),r=n(98269),c=n(92869),l=n(49985),o=n(65858),s=n(36848),i=n(83345);function u(e,t,n){var a;if(!t)return null;var r=null!==(a=e.params)&&void 0!==a?a:{};return n?(null==r?void 0:r.previous)?{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null==r?void 0:r.previous,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:t,previous:r.cursor})}}function m(e){var t=e.appLink,n=e.cursors,m=e.className,d=e.buttonVariant,p=e.prevHack,f=e.scrollTop,g=e.onClick;function b(e){t&&!f&&c.t.preventScrollTop(),l.k.logUserAction({page:e},{location:o.LZ.Pagination,entity:o.py.Pagination,actionType:o.Vw.Navigate}),g&&g(n[e])}return t?a.createElement(i.D.Provider,{value:"shared.pagination"},a.createElement("div",{className:m},a.createElement(s.F,{appLink:u(t,n.previous,p),className:"btn btn-".concat(d," me-1 ").concat(n.previous?"":"disabled"),onClick:function(){return b("previous")},style:{display:"inline-block"}},a.createElement(i.x,{phrase:"previous"})),a.createElement(s.F,{appLink:u(t,n.next),className:"btn btn-".concat(d," ").concat(n.next?"":"disabled"),onClick:function(){return b("next")},style:{display:"inline-block"}},a.createElement(i.x,{phrase:"next"})))):a.createElement(i.D.Provider,{value:"shared.pagination"},a.createElement("div",{className:m},a.createElement(r.Z,{variant:d,className:"me-1 ".concat(n.previous?"":"disabled"),onClick:function(){return b("previous")}},a.createElement(i.x,{phrase:"previous"})),a.createElement(r.Z,{variant:d,className:"btn ".concat(n.next?"":"disabled"),onClick:function(){return b("next")}},a.createElement(i.x,{phrase:"next"}))))}m.defaultProps={className:"py-2",buttonVariant:"secondary"}},38502:(e,t,n)=>{n.d(t,{r:()=>i});var a=n(32735),r=n(49985),c=n(36848),l=n(18559),o=n(11607),s=n(87432);function i(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:""},a.createElement("ul",{className:"list-unstyled d-inline-block m-0 ".concat(s.Z.pillTabSelector)},e.tabs.map((function(e){return a.createElement("li",{className:"p-0 ".concat(e.active?"btn btn-dark":"btn btn-outline-dark"),key:e.name},e.appLink?a.createElement(c.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"cursor-pointer d-flex justify-content-center text-decoration-none text-reset px-2 ".concat(s.Z.pillItem)},e.name,"number"==typeof e.count&&a.createElement("div",{className:"ps-2"},a.createElement(l.C,{type:l.g.Count,data:e.count}))):a.createElement(o.L,{className:"".concat(s.Z.pillItem," d-flex justify-content-center p-2"),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},e.name,"number"==typeof e.count&&a.createElement("div",{className:"ps-2"},a.createElement(l.C,{type:l.g.Count,data:e.count}))))}))))}},31647:(e,t,n)=>{n.d(t,{E:()=>o});var a=n(32735),r=n(23481),c=n(38502),l="rostering.settingHeader";function o(e){var t,n,o=[{name:r.T.getPhrase(l,"syncJobs"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.syncJobs,active:"syncJobs"===e.active},{name:r.T.getPhrase(l,"settings"),appLink:null===(n=e.appLinks)||void 0===n?void 0:n.settings,active:"settings"===e.active}];return a.createElement("div",null,a.createElement(c.r,{tabs:o}))}},65654:(e,t,n)=>{n.d(t,{G:()=>s});var a=n(32735),r=n(23481),c=n(76177);const l={rightButton:"GcqRT"};var o=r.T.encloseNamespace("rostering.syncActionButtonGroup");function s(e){return a.createElement("div",{className:"btn-group px-2",role:"group"},a.createElement(c.u,{title:o("syncNowTooltip"),spanHack:!0,placement:"left",spanHackClassName:l.buttonBorder},a.createElement("button",{type:"button",className:"btn btn-outline-dark ".concat(l.leftButton),onClick:null==e?void 0:e.onSyncNow},o("syncNow"))))}},62394:(e,t,n)=>{n.d(t,{y:()=>l});var a=n(75896),r=n(110),c=new Date,l={parseUTCToLocal:function(e){var t=e.utcHour,n=e.utcWeekdays,c=e.utcMinute,l=void 0===c?0:c,o=n.map((function(e){return r.O.buildLocalDateFromUTC(e,t,l)})),s=o.map((function(e){return e.getDay()}));return{hour:+r.O.format(a.m.first(o),"HH"),daysOfWeek:s,minute:l}},getScheduledJobBySetting:function(e){var t;if(!e||!e.fullSyncSchedule||!e.fullSyncSchedule.enabled)return null;var n=l.parseUTCToLocal({utcHour:e.fullSyncSchedule.hour,utcWeekdays:e.fullSyncSchedule.daysOfWeek,utcMinute:e.fullSyncSchedule.minute}),a=new Date,r=c.getDay(),o=n.daysOfWeek.sort((function(e,t){return e-t})),s=n.daysOfWeek.includes(r),i=n.hour,u=null!==(t=null==n?void 0:n.minute)&&void 0!==t?t:0;if(s&&(a.setHours(i,u,0,0),c<a))return a;var m=new Date,d=o.find((function(e){return e>r}));d||(d=o[0]);var p=Math.abs(d-r);return m.setDate(c.getDate()+p),m.setHours(i,0,0,0),m}}},16930:(e,t,n)=>{n.d(t,{W:()=>i,f:()=>s});var a=n(32735),r=n(83914),c=n(35223);const l="VSAPU",o="kgeXh";var s;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(s||(s={}));var i=a.memo((function(e){var t,n,i,u=e.direction===s.Left,m=u?c.vn.ChevronLeft:c.vn.ChevronRight;return e.hide?a.createElement(a.Fragment,null):a.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(i=e.state)||void 0===i?void 0:i.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&a.createElement("div",{className:u?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&a.createElement("div",{role:"button",onClick:e.onClick,className:"".concat("AtsWP"," ").concat(u?l:o)}),a.createElement("div",{role:"button",className:"".concat((t="BVcIS",t+=u?" ".concat(l," ").concat(e.leftButtonClassName):" ".concat(o," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick},e.hoverText&&a.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),a.createElement(r.x,{svgName:m,size:r.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},14177:(e,t,n)=>{n.d(t,{$:()=>x});var a=n(32735),r=n(70680),c=n(81886),l=n(20354),o=n(79447),s=n(83914),i=n(83345),u=n(4594),m=n(76881),d=n(35223),p="userManager.wizardInProgress";function f(e){var t=Math.floor(e.totalItemsComplete/e.totalItems*100)||0;return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},a.createElement(i.x,{namespace:p,phrase:"heading",options:{percentage:t,actionName:e.actionName}})),a.createElement(s.x,{svgName:d.vn.CircleCheck})),a.createElement("p",null,a.createElement(i.x,{namespace:p,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1"},a.createElement("span",{className:"text-info"},e.progressVerbPhrase?a.createElement("span",null,e.progressVerbPhrase):a.createElement(i.x,{namespace:p,phrase:"progressVerb".concat(e.actionVerb)}))," ",e.objectType===u.E.User&&e.userType?a.createElement(i.x,{namespace:p,phrase:e.userType===m.Y.Learner?"progressStudents":"progressStaff",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):e.objectType===u.E.Video?a.createElement(i.x,{namespace:p,phrase:"progressVideos",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):a.createElement(i.x,{namespace:p,phrase:"progressItems",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}})),a.createElement(o.Z,{variant:"info",now:t}))}var g="userManager.wizardSubmitted";function b(e){return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},e.actionName?a.createElement(i.x,{namespace:g,phrase:"heading",options:{actionName:e.actionName}}):a.createElement(i.x,{namespace:g,phrase:"headingGeneric"})),a.createElement(s.x,{svgName:d.vn.CircleCheck})),a.createElement("p",null,a.createElement(i.x,{namespace:g,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1 text-info"},a.createElement(i.x,{namespace:g,phrase:"preparing"})),a.createElement(o.Z,{variant:"info",now:0}))}var v=n(58739),E=n(94644),y=n(89476);function h(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(e,t);var n=Object.prototype.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)?N(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 N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var S=2e3,C=3;function x(e){var t=h(a.useState(null),2),n=t[0],o=t[1],s=h(a.useState(0),2),i=s[0],u=s[1],m=a.useRef(),d=(0,y.f)(),p=(0,r.I0)();function g(){e.pollJob(N,x)}function N(t){o(t),t.status===v.K.Completed||t.status===v.K.CompletedWithError||t.status===v.K.Failed?window.setTimeout((function(){!function(){var t;e.navLockId&&d.unlock(e.navLockId);var n={jobId:e.jobId};e.userType&&(n.userType=e.userType,p({type:l.a.Actions.INVALIDATE,keys:["school:users","user:count","search:aggregation","search:users"],request:null})),e.statusCompleteAppLink?c.Q.C$.trigger(Object.assign(Object.assign({},e.statusCompleteAppLink),{params:n})):null===(t=e.onStatusCompleted)||void 0===t||t.call(e)}()}),2e3):m.current=window.setTimeout(g,S)}function x(t){i===C&&(window.clearTimeout(m.current),e.navLockId&&d.unlock(e.navLockId),(0,E.r)(t)),u((function(e){return e+1})),m.current=window.setTimeout(g,S)}return a.useEffect((function(){return g(),function(){m.current&&window.clearTimeout(m.current)}}),[]),n&&n.status!==v.K.Submitted&&n.status!==v.K.Queued&&n.status!==v.K.Pending&&0!==n.totalItems?a.createElement(f,{totalItems:n.totalItems,totalItemsComplete:n.processedItems,userType:e.userType,objectType:e.objectType,actionName:e.actionName,actionVerb:e.actionVerb,progressVerbPhrase:e.progressVerbPhrase}):a.createElement(b,{actionName:e.actionName,actionVerb:e.actionVerb})}},44538:(e,t,n)=>{n.d(t,{K:()=>o});var a=n(99940),r=n(97395),c=n(58739),l=n(38389),o={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var n=[];e.jobStatus.includes("completed")&&n.push.apply(n,[c.K.Completed,c.K.CompletedWithError]),e.jobStatus.includes("failed")&&n.push(c.K.Failed),e.jobStatus.includes("inProgress")&&n.push.apply(n,[c.K.Submitted,c.K.Queued,c.K.Pending,c.K.InProgress]),t.status=n}return t.type=l.m.Rostering,{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,n){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:a.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:n}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,n,r,c){return{type:a.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:n,error:r,always:c}}}},81514:(e,t,n)=>{n.d(t,{V:()=>c});var a=n(86764),r=n(3747);function c(){var e=(0,r.a)(a.r.XS),t=(0,r.a)(a.r.SM),n=(0,r.a)(a.r.MD),c=(0,r.a)(a.r.LG),l=(0,r.a)(a.r.XL),o=(0,r.a)(a.r.XXL),s=a.r.LG;return e&&(s=a.r.XS),t&&(s=a.r.SM),n&&(s=a.r.MD),c&&(s=a.r.LG),l&&(s=a.r.XL),o&&(s=a.r.XXL),s}},299:(e,t,n)=>{n.d(t,{X:()=>l});var a=n(32735),r=n(69217),c=n(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.idField,l=void 0===n?"id":n,o=t.persistNamespace,s=t.initialState?t.initialState:new Map,i=a.useRef(s),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){i.current.clear(),u()}function f(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),i.current.get(e)}function g(){return!!(null==e?void 0:e.length)&&e.every(f)}function b(e){e.forEach((function(e){i.current.set(e,!0)})),u()}return a.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),a.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&b(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!g();e.forEach((function(e){t?i.current.set(e[l].toString(),!0):i.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!i.current.get(e.toString());t?i.current.set(e.toString(),t):i.current.delete(e.toString()),u()},getSelected:function(){return Array.from(i.current.keys())},isChecked:f,bulkChecked:g(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){i.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return f(e)}))},setSelected:b,getSelectedCount:function(){return i.current.size},reset:p,getMap:function(){return i.current}}}},94631:(e,t,n)=>{n.d(t,{D:()=>r});var a=n(32735);function r(e){var t=a.useRef();return a.useEffect((function(){t.current=e})),t.current}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),c=n(23481),l=n(49935),o=n(22902),s=n(14070),i=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var d="settings.settingsLayout",p=function(e){var t=(0,o.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==i.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:i.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var o,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(l.Oo,{breadcrumbs:[{name:c.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME}}].concat((o=u,function(e){if(Array.isArray(e))return m(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n=Object.prototype.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)?m(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))})),e.description&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},10373:(e,t,n)=>{n.r(t),n.d(t,{RosteringSyncListView:()=>Re});var a=n(32735),r=n(70680),c=n(23481),l=n(20354),o=n(75097),s=n(49935);const i={partialHeading:"MwUCZ",partialJobCount:"MUELm",partialCheckbox:"dShe9",partialExportButton:"VL4Tq",row:"z_hGc",checkboxColumn:"IacDe",actionColumn:"_JoZe",usersColumn:"BtHPO",dateColumn:"jpr0N",performedByColumn:"XP4Lf",seeMoreColumn:"A8_Nf",heading:"uThGf",action:"PFOGb",users:"pXZx8",date:"VWS_a",performedBy:"vZeC9"};function u(){return a.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(i.row)},a.createElement("div",{className:"".concat(i.checkboxColumn," d-flex justify-content-center")},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox," ms-0")})),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.action)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.users)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.date)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.performedBy)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function m(){return a.createElement("div",{className:"d-flex py-2 mb-1"},a.createElement("div",{className:"".concat(i.checkboxColumn)}," "),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function d(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"mb-3 mt-n1"},a.createElement(m,null),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null))))}function p(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"partial-loading-background mb-2 ".concat(i.partialHeading)}),a.createElement("div",{className:"pb-3"},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement(s.b2,null),a.createElement("div",{className:"partial-loading-background ".concat(i.partialJobCount)}))),a.createElement("div",{className:"d-flex align-items-center pb-2"},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox)}),a.createElement("div",{className:"ms-4 ps-3"},a.createElement(o.U,{count:3})),a.createElement("div",{className:"ms-auto partial-loading-background ".concat(i.partialExportButton)})),a.createElement(d,null))}var f=n(31647),g=n(110),b=n(58739);const v={complete:"nAOdH",failed:"xkFpC",inProgress:"BjR3y",scheduled:"Ux2b9"};var E=c.T.encloseNamespace("rostering.syncJobsStatusBadge");function y(e){return a.createElement("div",{className:function(){var t="rounded-pill px-2 d-inline-flex align-items-center fw-semibold";switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return"".concat(t," ").concat(v.complete);case b.K.Failed:return"".concat(t," ").concat(v.failed);case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return"".concat(t," ").concat(v.inProgress);case"scheduled":return"".concat(t," ").concat(v.scheduled)}}()},function(){switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return E("complete");case b.K.Failed:return E("failed");case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return E("inProgress");case"scheduled":return E("scheduled")}}())}var h=n(83914),N=n(35223);const S={colored:"MLlUi",avatar:"Z1jn_",logoWrapper:"OAeff",cog:"I7V_R",checkboxPlaceholder:"LTmrp",source:"zYMOT",date:"mnJQP",status:"Pm1Aa",performedBy:"oy6Vm",placeholder:"o0RDO"};var C=c.T.encloseNamespace("rostering.scheduledSyncJobItem");function x(e){return a.createElement("div",{className:S.colored},a.createElement("div",{className:"px-4 py-3 d-flex align-items-center"},a.createElement("div",{className:S.checkboxPlaceholder}),a.createElement("div",{className:"".concat(S.source," px-2")}),a.createElement("div",{className:"".concat(S.date," px-2")},g.O.format(e.scheduledDate,"DD/MM/YYYY, hh:mmA")),a.createElement("div",{className:"".concat(S.status," px-2")},a.createElement(y,{status:"scheduled"})),a.createElement("div",{className:"".concat(S.performedBy," px-2 d-flex align-items-center")},a.createElement("div",{className:"".concat(S.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),C("performedBy")),a.createElement("div",{className:"cursor-pointer d-flex justify-content-end ".concat(S.placeholder)})))}var k=n(65654),I=n(56050),w=n(97514),j=n(20789),T={getCellStyle:function(e){return{width:e,flex:"".concat(e," 0 auto")}}},P=n(89965);const L={colored:"aU1VO",seeMore:"Nfc8Q"};function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var O=c.T.encloseNamespace("shared.bulkJobsAccordionItem");function K(e){var t,n,r=(t=a.useState(!!e.forceExpand&&e.forceExpand(e.job)),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return A(e,t);var n=Object.prototype.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)?A(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=r[0],l=r[1],o=!!e.disableExpand&&e.disableExpand(e.job);return a.createElement("div",{className:"".concat(L.colored," ").concat(o?"":"cursor-pointer"),onClick:function(){o||l((function(e){return!e}))}},a.createElement("div",{className:"px-4 py-3 d-flex align-items-center"},a.createElement("div",{style:T.getCellStyle(60),onClick:function(e){return e.stopPropagation()}},a.createElement(P.X,{id:e.job.id,checked:e.isChecked(e.job.id),onChange:function(){return e.onToggleCheckbox(e.job.id)}})),e.columns.map((function(t){var n=t.render,r=t.renderClassName,c=t.width,l=t.id;return a.createElement("div",{className:"".concat(null!=r?r:""),key:l,style:T.getCellStyle(c)},n(e.job))})),a.createElement("div",{className:"d-flex justify-content-end ".concat(o?"":"cursor-pointer"),style:T.getCellStyle(200)},!o&&a.createElement("div",{className:"".concat(L.seeMore," text-info")},O(c?"seeLess":"seeMore")))),c&&a.createElement("div",{className:"bg-white border-bottom cursor-default",onClick:function(e){return e.stopPropagation()}},e.jobDetailsComponent(e.job)))}var B=n(83818);function J(e){return a.createElement(B.J,{queryParams:e.queryParams,mainFilters:e.filters,appLink:e.appLink,analyticsOptions:e.analyticsOptions,hideHeading:!0,hideDivider:!0,constantIndices:[]})}var M=n(37395),R=n(2102),D=n(83345),F=n(69883),U=n(299),H=n(75795);const V={bulkCheckbox:"XeoQi"};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var W="shared.bulkJobsAccordions",Z=c.T.encloseNamespace(W);function _(e){var t,n,r,c=(n=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(n,r)||function(e,t){if(e){if("string"==typeof e)return G(e,t);var n=Object.prototype.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)?G(e,t):void 0}}(n,r)||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.")}()),l=c[0],o=c[1],s=(0,U.X)(e.jobs.data),i=(0,F.Z)();return a.createElement("div",{className:"".concat(V.container," pe-3")},a.createElement("div",{className:"d-flex align-items-center pb-2 mt-3"},a.createElement(P.X,{className:V.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:s.bulkChecked,onChange:s.onToggleBulk,indeterminate:s.hasSomeSelections()}),a.createElement("div",{className:"ms-4"},a.createElement(J,{queryParams:e.queryParams,appLink:e.appLink,filters:e.filters})),a.createElement(R.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!l){o(!0);var t=s.getSelected();e.onClickExport(t).then((function(){return i.success(Z("exportSuccess"))})).catch((function(){return i.error(Z("exportError"))})).finally((function(){return o(!1)}))}},disabled:!s.hasSomeSelections()||l,showSpinner:l},a.createElement(D.x,{namespace:W,phrase:"export"}))),a.createElement("div",{className:"d-flex no-wrap mb-2 fw-semibold px-4 py-2"},a.createElement("div",{style:T.getCellStyle(60)}),e.columns.map((function(e){var t=e.id,n=e.header,r=e.headerClassName,c=e.width;return a.createElement("div",{key:t,className:r,style:T.getCellStyle(c)},n)})),a.createElement("div",{style:T.getCellStyle(200)})),!!e.pinnedComponent&&e.pinnedComponent(),!!e.jobs.data.length&&e.jobs.data.map((function(t){return a.createElement(K,{key:t.id,job:t,onToggleCheckbox:s.onToggleItem,isChecked:s.isChecked,jobDetailsComponent:e.jobDetailsComponent,onClickExport:e.onClickExport,imageCdnUrl:e.imageCdnUrl,onPollJob:e.onPollJob,columns:e.columns,forceExpand:e.forceExpand,disableExpand:e.disableExpand})})),!!(null===(t=e.jobs.pagination)||void 0===t?void 0:t.cursors)&&a.createElement(M.t,{className:"p-0 text-end pb-3 mt-3",cursors:e.jobs.pagination.cursors,appLink:H.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var q=n(89725),X=n(10874),$=n(80247),Q=n(14177);function Y(e){return e.jobId?a.createElement("div",null,a.createElement("div",{className:"mb-4"},a.createElement(Q.$,{jobId:e.jobId,pollJob:e.onPollJob(e.jobId),onStatusCompleted:e.onCompleted,actionName:"Sync",actionVerb:"Update",progressVerbPhrase:c.T.getPhrase("rostering.syncJobPolling","progressVerb")}))):a.createElement("div",{className:"text-center"},a.createElement($.Z,{as:"div",animation:"border",role:"status"}))}const z={failed:"BSIaY",tag:"NOJhh"};function ee(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n=Object.prototype.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)?te(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 te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var ne="rostering.syncJobSummary";function ae(e){var t=ee(a.useState(null),2),n=t[0],r=t[1],c=ee(a.useState(!1),2),l=c[0],o=c[1];function s(e){var t="",r="";switch(e){case"staff":t="bg-navy",r=N.vn.Staff;break;case"learners":t="bg-blue",r=N.vn.GraduationCap;break;case"classrooms":t="bg-teal",r=N.vn.Classrooms}var c=Object.keys(n[e]).filter((function(e){return"totalProcessed"!==e&&"totalSucceeded"!==e}));return a.createElement("div",{className:"col"},a.createElement("div",{className:"py-3 ps-2 pe-3 rounded border border-light"},a.createElement("div",{className:"d-flex align-items-center px-2 mb-2"},a.createElement("div",{className:"".concat(t," ").concat(z.badge," d-flex align-items-center rounded-circle text-white ps-0 me-2")},a.createElement(h.x,{className:"svg-container ".concat(z.svg),size:h.S.Standard,svgName:r})),a.createElement(D.x,{namespace:ne,phrase:e})),a.createElement("ul",{className:"mb-0"},null==c?void 0:c.map((function(t){return a.createElement("li",{className:"mb-2",key:t},a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded-pill me-2 px-2 d-inline-flex align-items-center fw-semibold ".concat("errored"===t?z.failed:z.tag)},n[e][t]),a.createElement(D.x,{namespace:ne,phrase:t})))})))))}return a.useEffect((function(){n||(o(!0),e.getJobSummary(e.job.id).then((function(e){r(e)})).finally((function(){o(!1)})))}),[e.job.id]),a.createElement(a.Fragment,null,l&&!n&&a.createElement("div",{className:"text-center py-3"},a.createElement($.Z,{as:"div",animation:"border",role:"status"})),!!n&&a.createElement("div",{className:"row gx-3 mt-2"},s("staff"),s("learners"),s("classrooms")))}var re=c.T.encloseNamespace("rostering.syncJobDetails");function ce(e){var t=e.job.status===b.K.Completed||e.job.status===b.K.CompletedWithError,n=(0,F.Z)();return a.createElement("div",{className:"py-3 px-4"},a.createElement("div",{className:"d-flex justify-content-between"},e.job.status!==b.K.InProgress&&a.createElement("h1",{className:"h4"},re("heading")),t&&a.createElement(X.h,{className:"btn btn-outline-dark fw-semibold",svgName:N.vn.Download,onClick:function(){e.onClickExport([e.job.id]).then((function(){n.success(re("exportSuccess"))})).catch((function(){n.error(re("exportError"))}))}},re("export"))),function(){switch(e.job.status){case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return a.createElement(Y,{jobId:e.job.id,onCompleted:e.onCompleted,onPollJob:e.onPollJob});case b.K.Failed:return a.createElement(a.Fragment,null);case b.K.Completed:case b.K.CompletedWithError:return a.createElement(ae,{job:e.job,getJobSummary:e.getJobSummary});default:return a.createElement(a.Fragment,null)}}())}var le=n(86794),oe=n(76177),se=n(55171),ie=n(64818);const ue={avatar:"B8miR",logoWrapper:"higtD",cog:"bNPxa"};var me="rostering.syncJobsAccordion",de=c.T.encloseNamespace(me),pe=[b.K.InProgress,b.K.Pending,b.K.Queued,b.K.Submitted];function fe(e){var t=[w.x$.SortBy([{id:"newest",name:c.T.getPhrase(me,"newest"),default:!0},{id:"oldest",name:c.T.getPhrase(me,"oldest")}]),w.x$.JobStatus()],n=[{id:"id",header:de("syncFrom"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){var t,n=null===(t=e.metadata)||void 0===t?void 0:t.source;if(!n)return a.createElement(a.Fragment,null);var r=se.e.Rostering.sources[n];if(!r)throw new I.H("Unsupported rostering sync source, please add it to HardCoded rostering source");return a.createElement("div",{className:"bg-white rounded-circle border ".concat(ue.logoWrapper," d-flex align-items-center justify-content-center")},a.createElement(oe.u,{spanHack:!0,title:r.name},a.createElement("img",{src:r.iconUrl,alt:r.name})))},width:120},{id:"dateCreated",header:de("date"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return g.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA")},width:220},{id:"status",header:de("status"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return a.createElement(y,{status:e.status})},width:200},{id:"submitterName",header:de("performedBy"),headerClassName:"px-2",renderClassName:"px-2",render:function(t){return function(e,t){return e.submittedByClickView?a.createElement("div",{className:"d-flex align-items-center"},a.createElement(le.b,{className:"me-2 rounded-circle border",size:h.S.Large},a.createElement(q.F,null)),e.submitterName):e.submitterName?a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"me-2 ".concat(ue.avatar)},a.createElement(j.q,{imageCdnUrl:t.imageCdnUrl,initials:ie.l.getInitials(e.submitterName.split(" ")[0],e.submitterName.split(" ")[1])})),e.submitterName):a.createElement("div",{className:"me-2 d-flex align-items-center"},a.createElement("div",{className:"".concat(ue.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),de("scheduledSubmitter"))}(t,e)},width:200}];return a.createElement(_,Object.assign({},e,{filters:t,jobDetailsComponent:function(t){return a.createElement(ce,{job:t,getJobSummary:e.getJobSummary,onPollJob:e.onPollJob,onClickExport:e.onClickExport,onCompleted:e.onCompleted})},columns:n,forceExpand:function(e){return pe.includes(e.status)},disableExpand:function(e){return e.status===b.K.Failed}}))}var ge=n(62394),be=n(16714),ve=n(39151),Ee=n(44538),ye=n(31949),he=n(79612),Ne=n(14070),Se=n(97291),Ce=n(29613),xe=n(44230),ke=n(81803),Ie=n(23232),we=n(99742),je="rostering.districtRosterEmptyState";function Te(){return a.createElement(Ie.u,null,a.createElement(Ie.u.Image,{src:we.W.EmptyStates.Rostering.DISTRICT_ROSTERING}),a.createElement(Ie.u.Heading,null,a.createElement(D.x,{namespace:je,phrase:"emptyHeading"})),a.createElement(Ie.u.Info,{className:"w-50 mb-2"},a.createElement(D.x,{namespace:je,phrase:"emptyInfo"})),a.createElement(Ie.u.Info,{className:"w-50 mb-1 fw-semibold"},a.createElement(D.x,{namespace:je,phrase:"strongInfo"})))}var Pe="rostering.noResults";function Le(){return a.createElement(Ie.u,null,a.createElement(Ie.u.Image,{src:we.W.EmptyStates.Rostering.EMPTY_RESULTS}),a.createElement(Ie.u.Heading,null,a.createElement(D.x,{namespace:Pe,phrase:"emptyHeading"})),a.createElement(Ie.u.Info,{className:"w-50 mb-1"},a.createElement(D.x,{namespace:Pe,phrase:"emptyInfo"})))}var Ae="rostering.noSyncJobs",Oe=c.T.encloseNamespace(Ae);function Ke(e){return a.createElement(Ie.u,null,a.createElement(Ie.u.Image,{src:we.W.EmptyStates.Rostering.NO_SYNC_JOBS}),a.createElement(Ie.u.Heading,null,a.createElement(D.x,{namespace:Ae,phrase:"emptyHeading"})),a.createElement(Ie.u.Info,{className:"w-50 mb-3"},a.createElement(D.x,{namespace:Ae,phrase:"emptyInfo"})),a.createElement(Ie.u.Cta,{className:"btn btn-dark",onClick:e.onStartFullSync,text:Oe("emptyCta")}))}var Be=n(52834),Je=n(56736),Me=c.T.encloseNamespace("rostering.syncList");function Re(e){var t,n=l.a.useBasicFetch(Ee.K.getSyncList(e.queryParams)),c=l.a.useBasicFetch(ve.L.config()),o=l.a.useBasicFetch(ye.N.currentUser()),s=l.a.useBasicFetch(Ee.K.getRostering()),i=l.a.useBasicFetch(o.data&&s.data&&Ee.K.getSyncScheduleSettings(s.data.id)),u=n.hasCompleted&&c.hasCompleted&&i.hasCompleted&&s.hasCompleted,m=l.a.useGetFetchAsync(),d=(0,r.I0)();function g(e){return m(Ee.K.getJobSummary(e))}function b(e){return function(t,n){return m(Ce.q.getJobProgress(e,t,n))}}function v(){d({type:l.a.Actions.INVALIDATE,keys:["rostering:sync"],request:null})}function E(e){return m(Ce.q.sendJobReports(e))}(0,he.M)({title:Me("pageTitle")}),a.useEffect((function(){return function(){xe.e.unlockContentWidth()}}),[]);var y=u&&"Active"===(null===(t=s.data)||void 0===t?void 0:t.status),h=(0,Je.B)(o.data),N=h.syncNow,S=h.fullSync;return a.createElement(ke.d,{heading:Me("heading"),breadcrumbs:[Me("breadcrumb")],headingButton:function(){return y?a.createElement(k.G,{onSyncNow:N,onFullSync:S}):a.createElement(a.Fragment,null)},requiredPermissions:be.C.Rostering},y&&a.createElement(f.E,{active:"syncJobs",appLinks:{syncJobs:{application:Se.O.SETTINGS,action:Ne.e.Settings.ROSTERING},settings:{application:Se.O.SETTINGS,action:Ne.e.Settings.ROSTERING_SETTINGS}}}),function(){var t,r;if("Managed"===(null===(t=s.data)||void 0===t?void 0:t.status))return a.createElement(Te,null);if("None"===(null===(r=s.data)||void 0===r?void 0:r.status))return a.createElement(Be.y,null);if(!u)return a.createElement(p,null);if(!n.data.data.length&&!e.queryParams)return a.createElement(Ke,{onStartFullSync:N});var l=ge.y.getScheduledJobBySetting(i.data);return a.createElement(a.Fragment,null,a.createElement(fe,{jobs:n.data,queryParams:e.queryParams,appLink:{application:Se.O.SETTINGS,action:Ne.e.Settings.ROSTERING},onClickExport:E,getJobSummary:g,imageCdnUrl:c.data.imageCdnUrl,onPollJob:b,onCompleted:v,pinnedComponent:l?function(){return a.createElement(x,{scheduledDate:l})}:null}),!n.data.data.length&&e.queryParams&&a.createElement(Le,null))}())}},52834:(e,t,n)=>{n.d(t,{y:()=>u});var a=n(32735),r=n(23232),c=n(98461),l=n(83345),o=n(12778),s=n(99742),i="rostering.requiresSetUp";function u(){return a.createElement(r.u,null,a.createElement(r.u.Image,{src:s.W.EmptyStates.Rostering.REQUIRES_SET_UP}),a.createElement(r.u.Heading,null,a.createElement(l.x,{namespace:i,phrase:"emptyHeading"})),a.createElement(r.u.Info,{className:"w-50 mb-3"},a.createElement(l.x,{namespace:i,phrase:"emptyInfo"})),a.createElement(c.d,{className:"btn btn-dark",href:o.o.getSupportRequestUrl(),newTab:!0},a.createElement(l.x,{namespace:i,phrase:"button"})))}},56736:(e,t,n)=>{n.d(t,{B:()=>p});var a=n(60139),r=n(23481),c=n(20354),l=n(67651),o=n(72081),s=n(38389),i=n(4594),u=n(44538),m=n(69883),d=r.T.encloseNamespace("rostering.syncUtils"),p=function(e){var t=c.a.useGetFetchAsync(),n=(0,m.Z)();return e?{fullSync:function(){},syncNow:function(){var r={type:a.NK.Success,heading:d("startSyncAlertHeading"),message:d("startSyncAlertBody"),appLinkText:d("startSyncAlertAppLinkText"),appLinkClassName:"info-link"},c={name:o.g.Rostering,type:s.m.Rostering,metadata:{targetMasterId:e.customerId,targetMasterType:i.E.Customer},customerId:e.customerId,dataType:l.B.Learner};t(u.K.createJob(c,(function(){n.success(r)}),(function(){n.error(d("error"))})))}}:{syncNow:function(){},fullSync:function(){}}}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",pillItem:"hUJx1"}},79447:(e,t,n)=>{n.d(t,{Z:()=>p});var a=n(95685),r=n.n(a),c=n(32735),l=n(46304),o=n(58661),s=n(74512);const i=1e3;function u(e,t,n){const a=(e-t)/(n-t)*100;return Math.round(a*i)/i}function m({min:e,now:t,max:n,label:a,visuallyHidden:c,striped:l,animated:o,className:i,style:m,variant:d,bsPrefix:p,...f},g){return(0,s.jsx)("div",{ref:g,...f,role:"progressbar",className:r()(i,`${p}-bar`,{[`bg-${d}`]:d,[`${p}-bar-animated`]:o,[`${p}-bar-striped`]:o||l}),style:{width:`${u(t,e,n)}%`,...m},"aria-valuenow":t,"aria-valuemin":e,"aria-valuemax":n,children:c?(0,s.jsx)("span",{className:"visually-hidden",children:a}):a})}const d=c.forwardRef((({isChild:e=!1,...t},n)=>{const a={min:0,max:100,animated:!1,visuallyHidden:!1,striped:!1,...t};if(a.bsPrefix=(0,l.vE)(a.bsPrefix,"progress"),e)return m(a,n);const{min:i,now:u,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:E,className:y,children:h,...N}=a;return(0,s.jsx)("div",{ref:n,...N,className:r()(y,v),children:h?(0,o.UI)(h,(e=>(0,c.cloneElement)(e,{isChild:!0}))):m({min:i,now:u,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:E},n)})}));d.displayName="ProgressBar";const p=d}}]);
2
- //# sourceMappingURL=3541-7ebd9db295-lite.chunk.js.map
2
+ //# sourceMappingURL=3541-15581012d3-lite.chunk.js.map