@clickview/lite 0.82.1 → 0.82.2-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/2074-lite-ac8da6c78b.chunk.css +4 -0
  3. package/dist/languages/en.json +1 -1
  4. package/dist/scripts/{1199-01cc084886-lite.chunk.js → 1199-da55d69853-lite.chunk.js} +1 -1
  5. package/dist/scripts/{1199-01cc084886-lite.chunk.js.map → 1199-da55d69853-lite.chunk.js.map} +1 -1
  6. package/dist/scripts/1202-d96ad80884-lite.chunk.js +2 -0
  7. package/dist/scripts/1202-d96ad80884-lite.chunk.js.map +1 -0
  8. package/dist/scripts/{4208-0706461da6-lite.chunk.js → 1336-1826f6e582-lite.chunk.js} +2 -2
  9. package/dist/scripts/1336-1826f6e582-lite.chunk.js.map +1 -0
  10. package/dist/scripts/2074-39b86b9a22-lite.chunk.js +2 -0
  11. package/dist/scripts/2074-39b86b9a22-lite.chunk.js.map +1 -0
  12. package/dist/scripts/{2664-907153c03b-lite.chunk.js → 2664-87c8cbfa7f-lite.chunk.js} +2 -2
  13. package/dist/scripts/2664-87c8cbfa7f-lite.chunk.js.map +1 -0
  14. package/dist/scripts/2888-2596e106a5-lite.chunk.js +2 -0
  15. package/dist/scripts/2888-2596e106a5-lite.chunk.js.map +1 -0
  16. package/dist/scripts/289-669c0c8222-lite.chunk.js +2 -0
  17. package/dist/scripts/289-669c0c8222-lite.chunk.js.map +1 -0
  18. package/dist/scripts/{9911-8892b6dbfe-lite.chunk.js → 3612-8c6423bd51-lite.chunk.js} +2 -2
  19. package/dist/scripts/{9911-8892b6dbfe-lite.chunk.js.map → 3612-8c6423bd51-lite.chunk.js.map} +1 -1
  20. package/dist/scripts/3840-98c79fc0d8-lite.chunk.js +2 -0
  21. package/dist/scripts/3840-98c79fc0d8-lite.chunk.js.map +1 -0
  22. package/dist/scripts/3893-2856933742-lite.chunk.js +2 -0
  23. package/dist/scripts/3893-2856933742-lite.chunk.js.map +1 -0
  24. package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js +3 -0
  25. package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{4177-2d876c7b14-lite.chunk.js → 4177-285ddf9ae3-lite.chunk.js} +2 -2
  27. package/dist/scripts/4177-285ddf9ae3-lite.chunk.js.map +1 -0
  28. package/dist/scripts/{4578-27028d26eb-lite.chunk.js → 4578-7578bcf17a-lite.chunk.js} +2 -2
  29. package/dist/scripts/4578-7578bcf17a-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{4621-7fb0a05bcb-lite.chunk.js → 4621-1f79d94416-lite.chunk.js} +2 -2
  31. package/dist/scripts/4621-1f79d94416-lite.chunk.js.map +1 -0
  32. package/dist/scripts/4806-f36469abb7-lite.chunk.js +2 -0
  33. package/dist/scripts/4806-f36469abb7-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{4948-ba684e5f4f-lite.chunk.js → 4948-de1c75e7fb-lite.chunk.js} +1 -1
  35. package/dist/scripts/{4948-ba684e5f4f-lite.chunk.js.map → 4948-de1c75e7fb-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/4985-bdfa839f8f-lite.chunk.js +2 -0
  37. package/dist/scripts/4985-bdfa839f8f-lite.chunk.js.map +1 -0
  38. package/dist/scripts/{5554-f1f3baf822-lite.chunk.js → 5554-17bb3b86fc-lite.chunk.js} +2 -2
  39. package/dist/scripts/5554-17bb3b86fc-lite.chunk.js.map +1 -0
  40. package/dist/scripts/5579-a9c152057f-lite.chunk.js +2 -0
  41. package/dist/scripts/5579-a9c152057f-lite.chunk.js.map +1 -0
  42. package/dist/scripts/5712-e784cfe89c-lite.chunk.js +2 -0
  43. package/dist/scripts/5712-e784cfe89c-lite.chunk.js.map +1 -0
  44. package/dist/scripts/6070-a390fdce21-lite.chunk.js +2 -0
  45. package/dist/scripts/6070-a390fdce21-lite.chunk.js.map +1 -0
  46. package/dist/scripts/{6909-ba75701156-lite.chunk.js → 6909-a9b8930e37-lite.chunk.js} +2 -2
  47. package/dist/scripts/6909-a9b8930e37-lite.chunk.js.map +1 -0
  48. package/dist/scripts/7401-98135f09e8-lite.chunk.js +2 -0
  49. package/dist/scripts/7401-98135f09e8-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{7617-211f084b70-lite.chunk.js → 7617-9d34c841e6-lite.chunk.js} +2 -2
  51. package/dist/scripts/7617-9d34c841e6-lite.chunk.js.map +1 -0
  52. package/dist/scripts/7742-342db3ce4f-lite.chunk.js +2 -0
  53. package/dist/scripts/7742-342db3ce4f-lite.chunk.js.map +1 -0
  54. package/dist/scripts/7843-f6033528ce-lite.chunk.js +2 -0
  55. package/dist/scripts/7843-f6033528ce-lite.chunk.js.map +1 -0
  56. package/dist/scripts/787-dcb3a0a26c-lite.chunk.js +2 -0
  57. package/dist/scripts/787-dcb3a0a26c-lite.chunk.js.map +1 -0
  58. package/dist/scripts/8077-9fdb522d7e-lite.chunk.js +2 -0
  59. package/dist/scripts/8077-9fdb522d7e-lite.chunk.js.map +1 -0
  60. package/dist/scripts/{3392-f7f8cb65e5-lite.chunk.js → 8133-ffcff3b7fc-lite.chunk.js} +3 -3
  61. package/dist/scripts/8133-ffcff3b7fc-lite.chunk.js.map +1 -0
  62. package/dist/scripts/8364-ff63447d36-lite.chunk.js +3 -0
  63. package/dist/scripts/8364-ff63447d36-lite.chunk.js.map +1 -0
  64. package/dist/scripts/8672-6967ce8a23-lite.chunk.js +2 -0
  65. package/dist/scripts/8672-6967ce8a23-lite.chunk.js.map +1 -0
  66. package/dist/scripts/{9042-fd7e79b891-lite.chunk.js → 9042-fdc5ecb459-lite.chunk.js} +1 -1
  67. package/dist/scripts/{9042-fd7e79b891-lite.chunk.js.map → 9042-fdc5ecb459-lite.chunk.js.map} +1 -1
  68. package/dist/scripts/9295-4242401e60-lite.chunk.js +2 -0
  69. package/dist/scripts/9295-4242401e60-lite.chunk.js.map +1 -0
  70. package/dist/scripts/{9742-3f6b75484a-lite.chunk.js → 9742-5f99d74bb0-lite.chunk.js} +2 -2
  71. package/dist/scripts/9742-5f99d74bb0-lite.chunk.js.map +1 -0
  72. package/dist/scripts/979-4b893e5603-lite.chunk.js +2 -0
  73. package/dist/scripts/979-4b893e5603-lite.chunk.js.map +1 -0
  74. package/dist/scripts/9911-9272b96e46-lite.chunk.js +2 -0
  75. package/dist/scripts/9911-9272b96e46-lite.chunk.js.map +1 -0
  76. package/dist/scripts/bundle-9a3e49399a.min.js +3 -0
  77. package/dist/scripts/{bundle-1187cb1e9f.min.js.map → bundle-9a3e49399a.min.js.map} +1 -1
  78. package/package.json +1 -1
  79. package/dist/scripts/1074-fdce06d863-lite.chunk.js +0 -2
  80. package/dist/scripts/1074-fdce06d863-lite.chunk.js.map +0 -1
  81. package/dist/scripts/2664-907153c03b-lite.chunk.js.map +0 -1
  82. package/dist/scripts/2970-024b1dd55d-lite.chunk.js +0 -2
  83. package/dist/scripts/2970-024b1dd55d-lite.chunk.js.map +0 -1
  84. package/dist/scripts/3392-f7f8cb65e5-lite.chunk.js.map +0 -1
  85. package/dist/scripts/3840-59e5e53cda-lite.chunk.js +0 -2
  86. package/dist/scripts/3840-59e5e53cda-lite.chunk.js.map +0 -1
  87. package/dist/scripts/4177-2d876c7b14-lite.chunk.js.map +0 -1
  88. package/dist/scripts/4208-0706461da6-lite.chunk.js.map +0 -1
  89. package/dist/scripts/4578-27028d26eb-lite.chunk.js.map +0 -1
  90. package/dist/scripts/4598-8f5266e4c2-lite.chunk.js +0 -2
  91. package/dist/scripts/4598-8f5266e4c2-lite.chunk.js.map +0 -1
  92. package/dist/scripts/4621-7fb0a05bcb-lite.chunk.js.map +0 -1
  93. package/dist/scripts/4806-a6f31d703c-lite.chunk.js +0 -2
  94. package/dist/scripts/4806-a6f31d703c-lite.chunk.js.map +0 -1
  95. package/dist/scripts/4985-7e02d5df40-lite.chunk.js +0 -2
  96. package/dist/scripts/4985-7e02d5df40-lite.chunk.js.map +0 -1
  97. package/dist/scripts/5554-f1f3baf822-lite.chunk.js.map +0 -1
  98. package/dist/scripts/5712-7cee70c6b4-lite.chunk.js +0 -2
  99. package/dist/scripts/5712-7cee70c6b4-lite.chunk.js.map +0 -1
  100. package/dist/scripts/6550-d99e0ed75d-lite.chunk.js +0 -2
  101. package/dist/scripts/6550-d99e0ed75d-lite.chunk.js.map +0 -1
  102. package/dist/scripts/6909-ba75701156-lite.chunk.js.map +0 -1
  103. package/dist/scripts/7148-1ced1b5dce-lite.chunk.js +0 -2
  104. package/dist/scripts/7148-1ced1b5dce-lite.chunk.js.map +0 -1
  105. package/dist/scripts/7568-55e9b01367-lite.chunk.js +0 -3
  106. package/dist/scripts/7568-55e9b01367-lite.chunk.js.map +0 -1
  107. package/dist/scripts/7617-211f084b70-lite.chunk.js.map +0 -1
  108. package/dist/scripts/7742-514844bd1a-lite.chunk.js +0 -2
  109. package/dist/scripts/7742-514844bd1a-lite.chunk.js.map +0 -1
  110. package/dist/scripts/7843-cbebf1a786-lite.chunk.js +0 -2
  111. package/dist/scripts/7843-cbebf1a786-lite.chunk.js.map +0 -1
  112. package/dist/scripts/8077-dfd239131d-lite.chunk.js +0 -2
  113. package/dist/scripts/8077-dfd239131d-lite.chunk.js.map +0 -1
  114. package/dist/scripts/843-4dbc5df109-lite.chunk.js +0 -3
  115. package/dist/scripts/843-4dbc5df109-lite.chunk.js.map +0 -1
  116. package/dist/scripts/8735-e74a148502-lite.chunk.js +0 -2
  117. package/dist/scripts/8735-e74a148502-lite.chunk.js.map +0 -1
  118. package/dist/scripts/8856-2d332952ae-lite.chunk.js +0 -2
  119. package/dist/scripts/8856-2d332952ae-lite.chunk.js.map +0 -1
  120. package/dist/scripts/904-2784e45cfc-lite.chunk.js +0 -2
  121. package/dist/scripts/904-2784e45cfc-lite.chunk.js.map +0 -1
  122. package/dist/scripts/9295-eb130a0b17-lite.chunk.js +0 -2
  123. package/dist/scripts/9295-eb130a0b17-lite.chunk.js.map +0 -1
  124. package/dist/scripts/9528-4e954d9dff-lite.chunk.js +0 -2
  125. package/dist/scripts/9528-4e954d9dff-lite.chunk.js.map +0 -1
  126. package/dist/scripts/9742-3f6b75484a-lite.chunk.js.map +0 -1
  127. package/dist/scripts/979-6a70a0e616-lite.chunk.js +0 -2
  128. package/dist/scripts/979-6a70a0e616-lite.chunk.js.map +0 -1
  129. package/dist/scripts/bundle-1187cb1e9f.min.js +0 -3
  130. /package/dist/css/{9528-lite-4a892bdbf2.chunk.css → 1202-lite-4a892bdbf2.chunk.css} +0 -0
  131. /package/dist/css/{7148-lite-856c02f000.chunk.css → 2888-lite-856c02f000.chunk.css} +0 -0
  132. /package/dist/css/{904-lite-2435a34b13.chunk.css → 289-lite-2435a34b13.chunk.css} +0 -0
  133. /package/dist/css/{9911-lite-2b4142796a.chunk.css → 3612-lite-2b4142796a.chunk.css} +0 -0
  134. /package/dist/css/{8856-lite-f8e496136d.chunk.css → 5579-lite-f8e496136d.chunk.css} +0 -0
  135. /package/dist/css/{6550-lite-45dc286aab.chunk.css → 6070-lite-45dc286aab.chunk.css} +0 -0
  136. /package/dist/css/{2970-lite-5a317efacd.chunk.css → 787-lite-5a317efacd.chunk.css} +0 -0
  137. /package/dist/css/{843-lite-db31e36b79.chunk.css → 8364-lite-db31e36b79.chunk.css} +0 -0
  138. /package/dist/css/{8735-lite-856c02f000.chunk.css → 9911-lite-856c02f000.chunk.css} +0 -0
  139. /package/dist/scripts/{3392-f7f8cb65e5-lite.chunk.js.LICENSE.txt → 4006-9dfe9cec1b-lite.chunk.js.LICENSE.txt} +0 -0
  140. /package/dist/scripts/{7568-55e9b01367-lite.chunk.js.LICENSE.txt → 8133-ffcff3b7fc-lite.chunk.js.LICENSE.txt} +0 -0
  141. /package/dist/scripts/{843-4dbc5df109-lite.chunk.js.LICENSE.txt → 8364-ff63447d36-lite.chunk.js.LICENSE.txt} +0 -0
  142. /package/dist/scripts/{bundle-1187cb1e9f.min.js.LICENSE.txt → bundle-9a3e49399a.min.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/9742-3f6b75484a-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/playlists/components/playlist-list/PartialPlaylistList.tsx","file:///app/packages/libs/shared/src/apps/playlists/components/playlist-count/PlaylistCount.tsx","file:///app/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistOwnerAvatar.tsx","file:///app/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistItem.tsx","file:///app/packages/libs/shared/src/apps/playlists/components/playlist-list/PlaylistList.tsx","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/libs/shared/src/apps/playlists/components/sort-select/PlaylistSortSelect.tsx","file:///app/packages/projects/lite/src/apps/playlists/components/favourites-playlist-item/favourites-playlist-item.scss","file:///app/packages/projects/lite/src/apps/playlists/components/favourites-playlist-item/FavouritesPlaylistItem.tsx","file:///app/packages/projects/lite/src/apps/playlists/views/playlists/PlaylistsView.tsx","file:///app/packages/projects/lite/src/apps/playlists/views/playlists/empty-state/PlaylistsEmptyState.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/views/favourites/hooks/useFavouritesCount.ts","file:///app/packages/libs/shared/src/apps/playlists/components/playlist-list/playlist.scss","file:///app/node_modules/timeago.js/esm/lang/en_US.js","file:///app/node_modules/timeago.js/esm/lang/zh_CN.js","file:///app/node_modules/timeago.js/esm/register.js","file:///app/node_modules/timeago.js/esm/utils/date.js","file:///app/node_modules/timeago.js/esm/format.js","file:///app/node_modules/timeago.js/esm/index.js"],"sourcesContent":["import * as React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport styles from './playlist.scss';\n\ninterface PartialPlaylistListProps {\n numItems?: number;\n itemClassName?: string;\n showHeading?: boolean;\n}\n\nPartialPlaylistList.defaultProps = {\n numItems: 8\n};\n\nexport function PartialPlaylistList(props: PartialPlaylistListProps): JSX.Element {\n const PARTIAL_PLAYLISTS = [...Array(props.numItems)];\n\n const className = props.itemClassName || '';\n\n return (\n <>\n {props.showHeading && <div className={`${styles.partialHeading} mb-1 partial-loading-background`} />}\n <Row className='mx-n1 mb-n2'>\n {PARTIAL_PLAYLISTS.map((p, idx) => (\n <Col key={idx} xs={6} sm={4} lg={3} className={`${className} px-1 pb-2`}>\n <div className={`${styles.playlistItem} partial-loading-background rounded-3`} />\n </Col>\n ))}\n </Row>\n </>\n );\n}","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Playlist } from 'libs/shared/interfaces';\n\nconst namespace = 'playlists.playlistCount';\n\nfunction getCount(playlist: Playlist): number | false {\n if (!playlist)\n return false;\n\n const videos = playlist.videos?.count ?? 0;\n const interactives = playlist.interactives?.count ?? 0;\n const clips = playlist.clips?.count ?? 0;\n\n return videos + interactives + clips;\n}\n\ninterface PlaylistCountProps {\n playlist: Playlist;\n}\n\nexport function PlaylistCount(props: PlaylistCountProps): JSX.Element {\n const count = getCount(props.playlist);\n\n if (count === false || Number.isNaN(count))\n return <></>;\n\n return (\n <span className='text-shadow font-size-sm'>\n <Text namespace={namespace} phrase='count' options={{ smartCount: count }} />\n </span>\n );\n}","import * as React from 'react';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { CurrentUser, Playlist } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\ninterface PlaylistOwnerAvatarProps {\n playlist: Playlist;\n imageCdnUrl: string;\n currentUser?: CurrentUser;\n}\n\nexport function PlaylistOwnerAvatar(props: PlaylistOwnerAvatarProps): JSX.Element {\n const { _liteOwner } = props.playlist;\n\n if (props.playlist._isClickViewCurated?.value)\n return (\n <ClickViewAvatar />\n );\n\n if (!_liteOwner?.id || !props.currentUser?.id)\n return <></>;\n\n const currentUserIsOwner = _liteOwner.id.toString() === props.currentUser.id.toString();\n\n if (currentUserIsOwner)\n return <></>;\n\n const url = typeof _liteOwner.avatar === 'string' ? _liteOwner.avatar : _liteOwner.avatar?.url;\n\n return (\n <Avatar\n imageUrl={url}\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(_liteOwner.name, _liteOwner.surname)}\n />\n );\n}","import * as React from 'react';\nimport { format } from 'timeago.js';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { AnalyticsOptions, EntityType, HashObject } from 'libs/analytics/interfaces';\n\nimport { PlaylistCount } from 'libs/shared/apps/playlists/components/playlist-count/PlaylistCount';\nimport { PlaylistOwnerAvatar } from 'libs/shared/apps/playlists/components/playlist-list/PlaylistOwnerAvatar';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { AudienceLabel } from 'libs/shared/components/audience-label/AudienceLabel';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ResizeType } from 'libs/shared/enums/Images';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { CurrentUser, Playlist, PresentationAudience } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './playlist.scss';\n\nconst namespace = 'playlists.playlistList';\n\nexport type PlaylistItemStyle = 'square' | 'round' | 'round-left';\n\nexport interface PlaylistItemProps {\n data: Playlist;\n appLink: Core.AppLink;\n currentUser?: CurrentUser;\n presentationAudiences?: PresentationAudience[];\n bgColourClassNames?: string[];\n titleClassName?: string;\n imageCdnUrl?: string;\n itemStyle?: PlaylistItemStyle;\n showCount?: boolean;\n showOwner?: boolean;\n showFallbackImage?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n audienceLabelClass?: string;\n}\n\nPlaylistItem.defaultProps = {\n itemStyle: 'square'\n};\n\nexport function PlaylistItem(props: PlaylistItemProps): JSX.Element {\n const imageUrl = ImageHelper.createUrl(props.data.cover && props.data.cover.url, {\n size: ImageSize.Medium,\n resizeType: ResizeType.Cover\n });\n\n const audiences = props.data.subjectPresentationAudiences &&\n props.data.subjectPresentationAudiences.data;\n\n const mergedAudience = useMergeAudiences(audiences, props.presentationAudiences);\n\n let className = styles.playlistItem;\n\n const showImage = !!imageUrl || !!props.showFallbackImage;\n\n if (showImage)\n className += ` ${styles.playlistItemGradient}`;\n\n if (!showImage && props.bgColourClassNames)\n className += ` ${styles.playlistItem} ${getBgColorClass(props.data.name, props.bgColourClassNames)}`;\n\n if (props.itemStyle === 'round')\n className += ` rounded-3 overflow-hidden`;\n\n if (props.itemStyle === 'round-left')\n className += ` rounded-start-lg overflow-hidden`;\n\n const analyticsData = { ...props.analyticsData,\n id: props.data?.id,\n name: props.data?.name\n };\n\n const analyticsOptions = {\n ...props.analyticsOptions,\n entity: EntityType.Playlist\n };\n\n const getTitle = () => {\n if (!props.data.contentModifiedDate || props.data._isClickViewCurated?.value)\n return '';\n\n return LanguageService.getPhrase(namespace, 'lastUpdated', {\n timeago: format(DateHelper.convertUTCToLocal(props.data.contentModifiedDate))\n });\n };\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n title={getTitle()}\n >\n <BaseImage data={imageUrl} alt={props.data.name} className={className}>\n {!!props.showFallbackImage && <ImageFallback type={ImageFallbackType.Playlist} />}\n <div className={`text-white ${styles.playlistMetadata}`}>\n {!!props.showCount && (\n <PlaylistCount playlist={props.data} />\n )}\n <h5 className={`mb-0 ${props.titleClassName || ''}`}><span className='text-shadow clamp-2'>{props.data.name}</span></h5>\n {!!audiences && !!audiences.length && !!mergedAudience &&\n <AudienceLabel\n className={`${props.audienceLabelClass ? props.audienceLabelClass : ''} mt-1`}\n audience={mergedAudience}\n border='white'\n />\n }\n </div>\n {!!props.showOwner && !!props.imageCdnUrl &&\n <div className={styles.ownerAvatarContainer}>\n <PlaylistOwnerAvatar\n playlist={props.data}\n currentUser={props.currentUser}\n imageCdnUrl={props.imageCdnUrl}\n />\n </div>\n }\n </BaseImage>\n </AppLink>\n );\n}","import * as React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsOptions, ClickDescriptor, EntityType, HashObject, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { CurrentUser, Playlist, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { PlaylistItem, PlaylistItemStyle } from './PlaylistItem';\n\ninterface PlaylistListProps {\n playlists: Playlist[];\n getPlaylistAppLink: (playlist: Playlist) => Core.AppLink;\n currentUser?: CurrentUser;\n presentationAudiences?: PresentationAudience[];\n itemContainerClassName?: string;\n itemTitleClassName?: string;\n bgColourClassNames?: string[];\n itemStyle?: PlaylistItemStyle;\n imageCdnUrl?: string;\n showCount?: boolean;\n showOwner?: boolean;\n showFallbackImage?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n extraPlaylistItem?: JSX.Element;\n}\n\nconst analyticsOptions: AnalyticsOptions = {\n actionType: UserAction.Click,\n entity: EntityType.Playlist,\n location: LocationContext.PlaylistListItem,\n descriptor: ClickDescriptor.Cover\n};\n\nexport function PlaylistList(props: PlaylistListProps): JSX.Element {\n return (\n <Row as='ul' className='list-unstyled mx-n1'>\n {props.extraPlaylistItem && (\n <Col as='li' key='extra-playlist-item' xs={6} sm={4} lg={3} className={`mb-2 px-1 ${props.itemContainerClassName ? props.itemContainerClassName : ''}`}>\n {props.extraPlaylistItem}\n </Col>\n )}\n\n {props.playlists.map(p => (\n <Col as='li' key={p.id} xs={6} sm={4} lg={3} className={`mb-2 px-1 ${props.itemContainerClassName ? props.itemContainerClassName : ''}`}>\n <PlaylistItem\n data={p}\n appLink={props.getPlaylistAppLink(p)}\n imageCdnUrl={props.imageCdnUrl}\n currentUser={props.currentUser}\n presentationAudiences={props.presentationAudiences}\n bgColourClassNames={props.bgColourClassNames}\n showCount={props.showCount}\n showOwner={props.showOwner}\n showFallbackImage={props.showFallbackImage}\n titleClassName={props.itemTitleClassName}\n itemStyle={props.itemStyle}\n analyticsData={props.analyticsData}\n analyticsOptions={{ ...props.analyticsOptions, ...analyticsOptions }}\n />\n </Col>\n ))}\n </Row>\n );\n}","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n internalServerError?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError,\n internalServerError: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.InternalServer) {\n if (!ignoreMap.internalServerError)\n Core.ErrorHelper.throw(new UnspecifiedError());\n return;\n }\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { PlaylistSortType } from 'libs/shared/apps/playlists/enums/PlaylistSortType';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nconst namespace = 'playlists.playlistSortSelect';\n\nconst getSortTypes = FunctionHelper.memoize(() => {\n return {\n [PlaylistSortType.RecentlyUpdated]: {\n name: LanguageService.getPhrase(namespace, 'recentlyUpdated')\n },\n [PlaylistSortType.AtoZ]: {\n name: LanguageService.getPhrase(namespace, 'atoz')\n },\n [PlaylistSortType.ZtoA]: {\n name: LanguageService.getPhrase(namespace, 'ztoa')\n },\n [PlaylistSortType.Newest]: {\n name: LanguageService.getPhrase(namespace, 'newest')\n },\n [PlaylistSortType.Oldest]: {\n name: LanguageService.getPhrase(namespace, 'oldest')\n }\n };\n});\n\ninterface PlaylistSortSelectProps {\n type: PlaylistSortType;\n getSortAppLink: (sort: PlaylistSortType) => Core.AppLink;\n variant?: ButtonProps['variant'];\n}\n\nPlaylistSortSelect.defaultProps = {\n variant: 'light'\n};\n\nexport function PlaylistSortSelect(props: PlaylistSortSelectProps): JSX.Element {\n const { type, getSortAppLink, variant } = props;\n const sortTypes = getSortTypes();\n\n return (\n <div className='dropdown'>\n <button className={`btn btn-${variant} ms-2 dropdown-toggle`} type='button' id='sort-select' data-bs-toggle='dropdown' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\n {sortTypes[type].name}\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right' aria-labelledby='sort-select'>\n {Object.values(PlaylistSortType).map(k => {\n let className = 'dropdown-item';\n\n if (k === type)\n className += ' active';\n\n return (\n <li key={k}>\n <AppLink\n \n className={className}\n appLink={getSortAppLink(k)}\n analyticsData={{\n sort: sortTypes[k].name\n }}\n analyticsOptions={{\n location: LocationContext.PlaylistListHeader,\n entity: EntityType.Playlists,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n >\n {sortTypes[k].name}\n </AppLink>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"playlistMetadata\":\"vv8fW\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport styles from './favourites-playlist-item.scss';\n\nconst namespace = 'playlists.favouritesPlaylistItem';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface FavouritesPlaylistItemProps {\n data: VideoTypes[];\n count: number;\n isLoadingCount: boolean;\n}\n\nexport function FavouritesPlaylistItem(props: FavouritesPlaylistItemProps): JSX.Element {\n const analyticsData = {\n name: 'Favourites',\n extraItem: 'user-favourites'\n };\n\n const analyticsOptions = {\n entity: EntityType.Playlist,\n actionType: UserAction.Click,\n location: LocationContext.PlaylistListItem\n };\n\n const coverUrl = ImageUrls.FAVOURITES_PLAYLIST.FAV_PLAYLIST_COVER ;\n const appLink = {\n application: AppChannels.MY_FAVOURITES,\n action: Actions.MyFavourites.MY_FAVOURITES\n };\n\n return (\n <AppLink\n appLink={appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n title={getPhrase('favouritesTitle')}\n >\n <div className='position-relative'>\n <div className={`text-white font-size-sm text-shadow ${styles.playlistMetadata}`}>\n {!props.isLoadingCount && (\n <span>\n <Text namespace={namespace} phrase='count' options={{ smartCount: props.count }} />\n </span>\n )}\n <h5 className={`mb-0`}><span className='clamp-2'>{getPhrase('favouritesTitle')}</span></h5>\n </div>\n \n <img src={coverUrl} alt={getPhrase('favouritesTitle')} className='w-100 h-100 rounded-3'/>\n </div>\n </AppLink>\n );\n}","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { PartialPlaylistList } from 'libs/shared/apps/playlists/components/playlist-list/PartialPlaylistList';\nimport { PlaylistList } from 'libs/shared/apps/playlists/components/playlist-list/PlaylistList';\nimport { PlaylistSortSelect } from 'libs/shared/apps/playlists/components/sort-select/PlaylistSortSelect';\nimport { PlaylistSortType } from 'libs/shared/apps/playlists/enums/PlaylistSortType';\nimport { PlaylistType } from 'libs/shared/apps/playlists/enums/PlaylistType';\nimport { PlaylistCollectionIdentifier } from 'libs/shared/apps/playlists/interfaces/identifiers/PlaylistCollectionIdentifier';\nimport { PlaylistSortHelper } from 'libs/shared/apps/playlists/utils/PlaylistSortHelper';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { LocalPermissionName } from 'libs/shared/enums/PermissionName';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Playlist } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useFavouritesCount } from 'shared/views/favourites/hooks/useFavouritesCount';\n\nimport { FavouritesPlaylistItem } from 'apps/playlists/components/favourites-playlist-item/FavouritesPlaylistItem';\n\nimport { PlaylistsPublicEmptyState } from './empty-state/PlaylistsEmptyState';\n\nconst namespace = 'playlists.playlists';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getSortAppLink(sort: PlaylistSortType): Core.AppLink {\n return {\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.HOME,\n params: {\n sort: sort\n }\n };\n}\n\ninterface PlaylistsViewProps {\n getPlaylistAppLink: (playlist: Playlist) => Core.AppLink;\n sort?: PlaylistSortType;\n}\n\nexport function PlaylistsView(props: PlaylistsViewProps): React.ReactElement {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const { hasLocalPermissions, isLoaded } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n \n const audiences = usePresentationAudiences();\n\n const sort = !!user.data && PlaylistSortHelper.getOrSetSortType(user.data.id, props.sort);\n\n const { count, favourites, isLoading } = useFavouritesCount(user.data?.id);\n\n const favouritesPlaylist = {\n count,\n isLoadingCount: isLoading,\n data: favourites\n };\n\n const getPlaylistRequest = !!sort && ((cursor?: string) =>\n PlaylistRequests.getUserPlaylists(new PlaylistCollectionIdentifier(sort, cursor, PlaylistType.All)));\n\n const fetchNext = !!getPlaylistRequest && ((cursor?: string) => {\n Flight.getFetch(dispatch)(getPlaylistRequest(cursor));\n });\n\n useSetPageMetadata({\n title: getPhrase('pageTitle'),\n description: getPhrase('pageDescription')\n });\n\n const shouldFetch = !hasLocalPermissions(LocalPermissionName.ViewPlaylistsLanding) && sort;\n\n const {\n items: playlists,\n hasMore,\n isFetching\n } = useInfiniteList<Playlist>(shouldFetch ? getPlaylistRequest : false, fetchNext, onError);\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const actions = [\n {\n label: getPhrase('createPlaylist'),\n appLink: { application: AppChannels.PLAYLISTS, action: Actions.Playlists.NEW_PLAYLIST },\n svgName: cvSvgLibrary.Plus,\n className: 'btn btn-outline-dark',\n button: true,\n analyticsData: {},\n analyticsOptions: {\n location: LocationContext.Banner,\n entity: EntityType.Playlist,\n workflowPhase: WorkflowPhase.Start,\n actionType: UserAction.Create\n }\n }\n ];\n\n const dataLoaded = (\n !!playlists &&\n !!user.data &&\n !!config.data &&\n (!!audiences.data || audiences.hasError) &&\n !!isLoaded\n );\n\n if (hasLocalPermissions(LocalPermissionName.ViewPlaylistsLanding))\n return <PlaylistsPublicEmptyState />;\n\n return (\n <div className='bg-white px-3'>\n <div className='d-flex justify-content-between align-items-end pb-3'>\n <h1 className='h2 mb-0'><Text namespace={namespace} phrase='headerTitle' /></h1>\n {!!sort &&\n <ActionsComponent\n actions={actions}\n sortComponent={(\n <PlaylistSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={getSortAppLink}\n />\n )}\n />\n }\n </div>\n {dataLoaded\n ? (\n <PlaylistList\n playlists={playlists}\n getPlaylistAppLink={props.getPlaylistAppLink}\n imageCdnUrl={config.data.imageCdnUrl}\n currentUser={user.data}\n presentationAudiences={audiences.data || []}\n bgColourClassNames={BG_COLOUR_CLASS_NAMES}\n itemContainerClassName='columns-of-five'\n itemStyle='round'\n showCount\n showOwner\n extraPlaylistItem={<FavouritesPlaylistItem {...favouritesPlaylist} />}\n />\n ) : <PartialPlaylistList itemClassName='columns-of-five' />\n }\n {(dataLoaded && (hasMore || isFetching)) &&\n <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} />\n }\n </div>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'playlists.playlistsEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PlaylistEmptyStateProps {\n isStudent: boolean;\n hideButton?: boolean;\n className?: string;\n imageSize?: 'small' | 'medium';\n headingClassName?: string;\n}\n\nexport function PlaylistsEmptyState(props: PlaylistEmptyStateProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState className={props.className}>\n <EmptyState.Image src={ImageUrls.EmptyStates.Playlists.PLAYLISTS} altText={getPhrase('info')} size={props.imageSize} />\n\n <EmptyState.Heading className={props.headingClassName}><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info className='w-75'><Text phrase={props.isStudent ? 'studentInfo' : 'info'} /></EmptyState.Info>\n\n {!props.hideButton && <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'cta')}\n icon={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.NEW_PLAYLIST\n }}\n />}\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\nexport function PlaylistsPublicEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Playlists.PLAYLISTS_PUBLIC} altText={getPhrase('info')} />\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'publicCta')}\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n }}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.PlaylistsLanding,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n }}\n />\n </EmptyState>\n </LanguageNamespaceContext.Provider>\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};","\nimport { Flight } from 'libs/common/flight';\n\nimport { FavouriteRequests } from 'libs/shared/flight-requests/FavouriteRequests';\nimport { FavouritesCountResponse } from 'libs/shared/interfaces';\n\nexport function useFavouritesCount(userId?: string) {\n// todo there is a beckend bug that we cannot group fetch these three number\n const favouriteVideosCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesVideosCount(userId));\n const favouriteClipsCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesClipsCount(userId));\n const favouriteInteractivesCount = Flight.useBasicFetch<FavouritesCountResponse>(userId &&\n FavouriteRequests.getFavouritesInteractivesCount(userId));\n \n const totalCount = favouriteVideosCount.data?.count\n + favouriteInteractivesCount.data?.count\n + favouriteClipsCount.data?.count;\n\n const favourites = [\n ...(favouriteVideosCount.data?.data || []),\n ...(favouriteClipsCount.data?.data || []),\n ...(favouriteInteractivesCount.data?.data || [])\n ];\n\n return {\n count: totalCount,\n favourites,\n isLoading: !favouriteVideosCount.data?.data\n || !favouriteClipsCount.data?.data\n || !favouriteInteractivesCount.data?.data\n };\n}","// extracted by mini-css-extract-plugin\nexport default {\"playlistItem\":\"CaRJx\",\"playlistItemGradient\":\"BI7p2\",\"playlistMetadata\":\"eDk1l\",\"partialHeading\":\"w4lWh\",\"ownerAvatarContainer\":\"JImqE\"};","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map"],"names":["PartialPlaylistList","props","PARTIAL_PLAYLISTS","Array","numItems","className","itemClassName","showHeading","map","p","idx","key","xs","sm","lg","defaultProps","namespace","PlaylistCount","count","playlist","videos","interactives","clips","getCount","Number","isNaN","Text","phrase","options","smartCount","PlaylistOwnerAvatar","_liteOwner","_isClickViewCurated","value","ClickViewAvatar","id","currentUser","toString","url","avatar","Avatar","imageUrl","imageCdnUrl","initials","UserHelper","name","surname","PlaylistItem","ImageHelper","data","cover","size","resizeType","audiences","subjectPresentationAudiences","mergedAudience","presentationAudiences","showImage","showFallbackImage","bgColourClassNames","getBgColorClass","itemStyle","analyticsData","analyticsOptions","entity","AppLink","appLink","title","contentModifiedDate","LanguageService","timeago","DateHelper","getTitle","BaseImage","alt","ImageFallback","type","showCount","titleClassName","length","AudienceLabel","audienceLabelClass","audience","border","showOwner","actionType","location","descriptor","PlaylistList","as","extraPlaylistItem","itemContainerClassName","playlists","getPlaylistAppLink","itemTitleClassName","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","internalServerError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","SCROLL_TOLERANCE","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","scrollContainer","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","cursor","request","fetchNextPage","currentVal","nextCursor","hasMore","isFetching","getBoundingClientRect","height","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","httpStatusClass","substr","HttpStatus","items","totalItems","hasFirstPageCompleted","getSortTypes","PlaylistSortType","PlaylistSortSelect","getSortAppLink","variant","sortTypes","Object","values","k","sort","workflowPhase","getPhrase","FavouritesPlaylistItem","coverUrl","ImageUrls","application","action","extraItem","isLoadingCount","src","params","PlaylistsView","dispatch","alerts","usePermissions","hasLocalPermissions","isLoaded","config","ConfigRequests","user","UserRequests","usePresentationAudiences","PlaylistSortHelper","useFavouritesCount","favourites","favouritesPlaylist","isLoading","getPlaylistRequest","PlaylistRequests","PlaylistCollectionIdentifier","PlaylistType","useSetPageMetadata","description","shouldFetch","pageNumber","httpStatus","error","actions","label","svgName","button","dataLoaded","hasError","Actions","sortComponent","P","InfiniteScrollFooter","PlaylistsEmptyState","altText","imageSize","headingClassName","isStudent","hideButton","text","icon","PlaylistsPublicEmptyState","SignUp","redirectOnError","activePresentation","getFallbackPresentation","presentation","userId","favouriteVideosCount","favouriteClipsCount","favouriteInteractivesCount","EN_US","ZH_CN","Locales","register","locale","func","SEC_ARRAY","toDate","input","Date","test","parseInt","trim","replace","format","date","opts","sec","relativeDate","diff","localeFunc","agoIn","totalSec","Math","abs","floor","unit"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[979],{51182:(e,t,n)=>{n.d(t,{l:()=>a.l});var a=n(72632)},33518:(e,t,n)=>{var a;n.d(t,{e:()=>a}),function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(a||(a={}))},2267:(e,t,n)=>{n.d(t,{I:()=>s});var a=n(20354),i=n(64249),r=n(4594),o=n(5112),l=n(60011),c=n(40841),s={canEmbed:function(e){return["video","interactive","clip"].includes(e)},canAddPolicies:function(e){return["interactive"].includes(e)},getEnabledIntegrations:function(e,t){return c._.getShareIntegrations(e,t).filter(function(e){return e.enabled}).map(function(e){return e.id})},getShareSettingsInitialValues:function(e,t){var n,a,i,r,o,l;return{preventScrubbing:null!==(i=null!==(a=null===(n=null==e?void 0:e.options)||void 0===n?void 0:n.preventScrubbing)&&void 0!==a?a:null==t?void 0:t.preventScrubbing)&&void 0!==i&&i,immediateFeedback:null!==(l=null!==(o=null===(r=null==e?void 0:e.options)||void 0===r?void 0:r.immediateFeedback)&&void 0!==o?o:null==t?void 0:t.immediateFeedback)&&void 0!==l&&l}},getEnabledSettingsField:function(e){return{showImmediateFeedbackField:"interactive"===e,showPreventScrubbingField:"interactive"===e}},getSharableEntityType:function(e){switch(e.objectTypeId){case r.E.Video:return"video";case r.E.Playlist:return"playlist";case r.E.Subject:return"subject";case r.E.Series:return"series";case r.E.Interactive:return"interactive";case r.E.Clip:return"clip"}},getFetchFunctionByType:function(e){switch(e){case"playlist":return function(e){return a.a.useBasicFetch(o.C.playlistWithThumbnailAndCount(e))};case"series":return function(e){return a.a.useBasicFetch(l.J.seriesWithThumbnailAndCount(e))}}return i.I.getFetchFunctionByType(e)},getAnalyticsEntity:function(e){return i.I.getAnalyticsEntity(e)},getAnalyticsOptions:function(e){return i.I.getAnalyticsOptions(e)}}},9806:(e,t,n)=>{n.d(t,{k:()=>C});var a=n(32735),i=n(65858),r=n(64249),o=n(15611),l=n(7432),c=n(11834),s=n(83345),u=n(56754),m=n(53829),d=n(7733),p=n(54610),g=n(4594),f=n(68626),v=n(9085),h=n(67453),y=n(31908);const b={thumbnailFallbackSvg:"D4JFs",posterFallbackSvg:"bjUWl",coverFallbackSvg:"kdLpt",thumbnailContainer:"d3CKN",insightsMask:"KM76U",requireMarking:"peLH7",badge:"mVu0E",bar:"zO3MS",a:"K1jW5",expandBar:"YITJl",b:"tCpLF",c:"lC0cq"};var E="shared.sharedObjectImage",k="rounded overflow-hidden";function w(){return a.createElement("div",{className:"d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center"},a.createElement("div",{className:"position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3"}),a.createElement("div",{className:"d-flex align-items-end gap-2 h-50 z-1"},a.createElement("div",{className:"d-flex align-items-end h-50"},a.createElement("div",{className:"".concat(b.bar," ").concat(b.a," rounded shadow")})),a.createElement("div",{className:"d-flex align-items-end h-75"},a.createElement("div",{className:"".concat(b.bar," ").concat(b.b," rounded shadow")})),a.createElement("div",{className:"d-flex align-items-end h-100"},a.createElement("div",{className:"".concat(b.bar," ").concat(b.c," rounded shadow")}))))}function C(e){var t=a.useCallback(function(t){var n;t&&e.fixedHeight&&(t.style.width="".concat(t.offsetHeight*(n=e.object,y.M.isVideoType(n)?16/9:n.typeId===g.E.Playlist?1:n.typeId===g.E.Series?9/16:void 0),"px"))},[]),n=y.M.isVideoType(e.object),C=function(e){var t=h.j.getDisplayImageFromObject(e);if(y.M.isVideoType(e))return{image:t,imageType:p.__.Thumbnails,imageClassName:k,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Video})};switch(e.typeId){case g.E.Series:return{image:t,imageType:p.__.TallPosters,imageClassName:k,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Series,svgContainerClassName:b.posterFallbackSvg})};case g.E.Playlist:return{image:t,imageType:p.__.Covers,imageClassName:(null==t?void 0:t.url)?k:"".concat(k," ").concat((0,v.x)(e.name,d.o)),imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Playlist,svgContainerClassName:(null==t?void 0:t.url)?b.coverFallbackSvg:"d-none",extraClasses:!(null==t?void 0:t.url)&&"bg-transparent"})}}}(e.object),x=C.image,S=C.imageType,A=C.imageClassName,N=C.imageFallbackComponent,T=e.showVideoMetadata?{hideBottomBar:e.hideBottomBar}:{hideDuration:!0,hideMask:!0,hideRating:!0,hideVideoBadgeType:!0,hideBottomBar:!0};return a.createElement("div",{className:"d-flex align-items-center justify-content-center w-100 h-100"},a.createElement("div",{ref:t,className:e.fixedHeight?"h-100":"w-100"},n&&a.createElement("div",{className:"".concat(b.thumbnailContainer," position-relative")},e.showInsightsMask&&a.createElement(w,null),a.createElement(o.F,{appLink:e.appLink},a.createElement(m.u,Object.assign({video:e.object,size:e.thumbnailSize,imageOptions:e.imageOptions,textPosition:f.z.Independent,type:"cosmetic",imageClassName:e.imageClassName},T))),!!e.requireMarking&&a.createElement("div",{className:"".concat(e.showInsightsMask&&b.requireMarking," position-absolute bottom-0 end-0 z-1 m-2")},a.createElement("div",{className:"".concat(b.badge," d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2")},a.createElement(s.x,{namespace:E,phrase:"requireMarking",options:{smartCount:e.requireMarking}})))),!n&&a.createElement(a.Fragment,null,"videos"in e.object?a.createElement(u.I,{collection:e.object,imageOptions:e.imageOptions,appLink:e.appLink,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:r.I.getAnalyticsEntity(e.object.type),actionType:i.Vw.Click,location:e.locationContext},showMask:e.showCollectionMask,showVideoCount:e.showVideoCount,onlyCount:e.onlyCount}):a.createElement(l.Z,{data:null==x?void 0:x.url,imageType:S,imageOptions:e.imageOptions,appLink:e.appLink,className:A,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:r.I.getAnalyticsEntity(e.object.type),actionType:i.Vw.Click,location:e.locationContext}},N))))}C.defaultProps={imageOptions:{size:p.h2.Small}}},70791:(e,t,n)=>{n.d(t,{L:()=>o});var a=n(14292),i=n(97395),r="toolbar=0,location=0,menubar=0,width=600,height=600",o={launchGoogleClassroom:function(e){var t=i._.urlBuilder("https://classroom.google.com/share",{link:e});a.A.PageLoad(t,!0,r)},launchMicrosoftTeams:function(e){var t=i._.urlBuilder("https://teams.microsoft.com/share",{href:e,preview:!1,referrer:a.A.GetCurrentHostname(),s:Date.now()});a.A.PageLoad(t,!0,r)}}},64197:(e,t,n)=>{n.d(t,{i:()=>s});var a=n(32735),i=n(23481),r=n(31453);const o={divider:"rpkqv"};var l=i.T.encloseNamespace("shared.divider");function c(e){var t=e.text||l("or");return{"--divider-content":"'".concat(t,"'"),"--divider-text-transform":e.noUpperCase?"none":"uppercase"}}function s(e){return a.createElement("div",{className:(0,r.A)("my-2 w-100 border-bottom position-relative",o.divider,e.className),style:c(e)})}},56754:(e,t,n)=>{n.d(t,{I:()=>E});var a=n(32735),i=n(75896),r=n(65858),o=n(15611),l=n(83914),c=n(83345);const s={thumbnailTitle:"OsWjL"};function u(e){return a.createElement("h3",{title:e.title,className:"h6"},e.title)}function m(e){return e.appLink?a.createElement(o.F,{appLink:e.appLink,className:"".concat(s.thumbnailTitle)},a.createElement(u,Object.assign({},e))):a.createElement(u,Object.assign({},e))}var d=n(53829),p=n(62335),g=n(4594),f=n(68626),v=n(45778),h=n(35223);const y={badge:"M4zat",mask:"r0Ztg",thumbnailContainer:"uD9dz"};var b="shared.collectionThumbnail";function E(e){var t,n,s,u,E=function(){var t,n=null===(t=e.collection)||void 0===t?void 0:t.videos;if(n){if(!n.count&&e.collection.typeId===g.E.Playlist){var a=e.collection;a.clips.count&&(n=a.clips),a.interactives.count&&(n=a.interactives)}return i.m.first(n.data)}}(),k=function(){var t,n,a=0;if(e.collection.videos&&e.collection.videos.count&&(a+=e.collection.videos.count),e.collection.typeId===g.E.Playlist){var i=e.collection;(null===(t=i.interactives)||void 0===t?void 0:t.count)&&(a+=i.interactives.count),(null===(n=i.clips)||void 0===n?void 0:n.count)&&(a+=i.clips.count)}return a}(),w=(null===(t=e.title)||void 0===t?void 0:t.length)||(null===(n=e.subText)||void 0===n?void 0:n.length),C=Object.assign({id:e.collection.id.toString(),name:e.collection.name},e.analyticsData),x=Object.assign({actionType:r.Vw.Click,entity:(u=e.collection,v.G.isType(u,g.E.Playlist)?r.py.Playlist:v.G.isType(u,g.E.Series)?r.py.Series:void 0)},e.analyticsOptions);return a.createElement("div",null,a.createElement("div",{className:"position-relative ".concat(y.thumbnailContainer," z-1")},a.createElement(o.F,{appLink:e.appLink,analyticsData:C,analyticsOptions:x,preventFocus:!0},e.showMask&&a.createElement("div",{className:"".concat(y.mask," position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none")},a.createElement("div",{className:"".concat(y.badge," d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2")},a.createElement(l.x,{svgName:h.vn.Play,className:"svg-container text-white"}),a.createElement("p",{className:"d-inline fw-medium text-white mb-0"},(null===(s=e.hoverText)||void 0===s?void 0:s.length)?a.createElement("span",null,e.hoverText):a.createElement(c.x,{namespace:b,phrase:"playAll"})))),E&&a.createElement(d.u,{video:E,imageOptions:e.imageOptions,textPosition:f.z.Independent,type:"cosmetic",hideMask:!0,hideRating:!0,hideDuration:!0,hideVideoTypeBadge:!0}),!E&&a.createElement("div",{className:"ratio ratio-16x9 bg-light rounded-3"},a.createElement("div",{className:"d-flex justify-content-center align-items-center"},a.createElement(l.x,{svgName:h.vn.Play,className:"w-33 opacity-25 text-gray-400"}))),e.showVideoCount&&a.createElement("div",{className:"".concat(y.badge," d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2")},a.createElement(l.x,{svgName:h.vn.Series,className:"svg-container text-white me-1"}),a.createElement("p",{className:"d-inline fw-semibold text-white mb-0"},e.onlyCount?a.createElement("span",null,k):a.createElement(c.x,{namespace:b,phrase:"videos",options:{count:k,smartCount:k}}))))),w&&a.createElement("div",{className:"mt-2 d-flex flex-column"},e.subText&&a.createElement(p.m,{title:e.subText,appLink:e.subTextAppLink},e.subText),e.title&&a.createElement(m,{title:e.collection.name,appLink:e.titleAppLink})))}},84850:(e,t,n)=>{n.d(t,{X:()=>r});var a=n(1048),i=n(49985);function r(e){function t(t,n){var r=e.config[t.type];if(null==r?void 0:r.isValid(t)){var o=Object.assign(Object.assign({},!1===r.logBaseData?{}:e.baseData),t);return{data:a.t.omit(o,["type"]),analyticsOptions:i.k.mergeOptions(r.analyticsOptions,[e.analyticsOptions,n])}}}return{getData:t,log:function(n,a){if(e.shouldLog){var r=t(n,a);r&&i.k.logUserAction(r.data,r.analyticsOptions)}}}}},83351:(e,t,n)=>{n.d(t,{P:()=>c});var a=n(32735),i=n(23481),r=n(13876),o=n(36532),l=i.T.encloseNamespace("assign.flowControls");function c(e){var t=e.hideBackButton||!e.onClickBack,n=e.hideNextButton||!e.onClickNext,i=e.hideCreateClassroomButton||!e.onClickCreateClassroom;return t&&n&&i?a.createElement(a.Fragment,null):a.createElement(r.u,{className:"justify-content-between"},a.createElement("div",null,!!e.leftComponent&&e.leftComponent,!i&&a.createElement(r.u.Submit,{variant:"link",onClick:e.onClickCreateClassroom,text:l("createClassroom"),className:"text-info p-0"})),a.createElement("div",{className:"d-flex"},!t&&a.createElement(r.u.Cancel,{variant:"link",onClick:e.onClickBack,text:e.backButtonText||l("back")}),!n&&a.createElement(o.u,{title:e.nextButtonTooltip,disable:!e.nextButtonTooltip,placement:"top",spanHack:!0},a.createElement(r.u.Submit,{variant:"dark",onClick:e.onClickNext,text:e.nextButtonText||l("next"),disabled:e.disableNextButton,showSpinner:e.showSpinner}))))}},95890:(e,t,n)=>{n.d(t,{_:()=>d});var a=n(20354),i=n(2267),r=n(4594),o=n(16714),l=n(39151),c=n(20768),s=n(31949),u=n(22902),m=n(45778);function d(e){var t,n=a.a.useBasicFetch(s.N.currentUser()),d=i.I.getFetchFunctionByType(e.entityType)(e.objectId,null===(t=n.data)||void 0===t?void 0:t.id),p=a.a.useBasicFetch(l.L.config()),g=a.a.useBasicFetch(m.G.isType(d.data,r.E.Interactive)&&d.data.interactiveId&&c.b.interactive(d.data.interactiveId)),f=(0,u.T)(),v=f.hasPermissions,h=f.isLoaded,y=v(o.C.StudentExperience),b=v(o.C.CreateClassrooms);return{loaded:!!(n.data&&d.data&&p.data&&h),currentUser:n,entity:d,interactive:g,config:p,hasStudentExp:y,canCreateClassrooms:b}}},85287:(e,t,n)=>{n.d(t,{z:()=>c});var a=n(97395),i=n(75896),r=n(19808);function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var c={getRecipients:function(e){return e.length?e.map(function(e){return e.id}):[]},getLearnersForGroups:function(e){var t=e.reduce(function(e,t){var n;return[].concat(o(e),o(null!==(n=t.users.data)&&void 0!==n?n:[]))},[]);return i.m.uniq(t,"id")},getSelectedEntities:function(e,t){return e.find(function(e){var n,a;return(null===(n=e.id)||void 0===n?void 0:n.toString())===(null===(a=t.id)||void 0===a?void 0:a.toString())})?e.filter(function(e){var n,a;return(null===(n=e.id)||void 0===n?void 0:n.toString())!==(null===(a=t.id)||void 0===a?void 0:a.toString())}):[].concat(o(e),[t])},getContactSupportUrl:function(e,t){if(e&&t){var n="/contact-us/support";return t===r.b.NZ&&(n="/contact-us/"),a._.safeUrlConcat(e,n)}}}},7786:(e,t,n)=>{n.d(t,{y:()=>c});var a=n(65858),i=n(2267),r=n(84850);function o(e){return"share"in e&&!!e.share}function l(e){return{"create-existing-classroom":{isValid:o,analyticsOptions:{actionType:a.Vw.Create,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.ExistingClassroom}},"share-existing-classroom":{isValid:function(){return!0},logBaseData:!1,analyticsOptions:{actionType:a.Vw.Share,entity:i.I.getAnalyticsEntity(e.data.entity.type),workflowPhase:a.eu.Complete,descriptor:a.Os.ExistingClassroom,eventVersion:a.eq.V5}},"create-open-classroom":{isValid:o,analyticsOptions:{actionType:a.Vw.Create,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.OpenClassroom}},"share-open-classroom":{isValid:function(){return!0},logBaseData:!1,analyticsOptions:{actionType:a.Vw.Share,entity:i.I.getAnalyticsEntity(e.data.entity.type),workflowPhase:a.eu.Complete,descriptor:a.Os.OpenClassroom,eventVersion:a.eq.V5}},"view-assignment":{isValid:o,analyticsOptions:{actionType:a.Vw.Click,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.ViewAssignment}},"select-existing-classroom-flow":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Click,workflowPhase:a.eu.Start,descriptor:a.Os.ExistingClassroom,entity:a.py.Assign}},"select-open-classroom-flow":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Click,workflowPhase:a.eu.Start,descriptor:a.Os.OpenClassroom,entity:a.py.Assign}},"view-previous-assignment":{isValid:o,analyticsOptions:{actionType:a.Vw.Click,workflowPhase:a.eu.Discard,entity:a.py.Assign,descriptor:a.Os.ViewPreviousAssignment}},"close-assign-popup":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Click,workflowPhase:a.eu.Discard,entity:a.py.Assign,descriptor:a.Os.ClosePopup}},"create-new-classroom":{isValid:function(e){return!!e.classroom},analyticsOptions:{actionType:a.Vw.Create,workflowPhase:a.eu.Next,descriptor:a.Os.CreateClassroom,entity:a.py.Assign}},"select-narrow-selection":{isValid:function(e){return!!e.classroom},analyticsOptions:{actionType:a.Vw.Click,entity:a.py.Assign,workflowPhase:a.eu.Next,descriptor:a.Os.NarrowSelection}},"click-create-classroom":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Click,entity:a.py.Assign,workflowPhase:a.eu.Next,descriptor:a.Os.CreateClassroom}},"copy-embed-html":{isValid:function(){return!0},logBaseData:!1,analyticsOptions:{actionType:a.Vw.Share,workflowPhase:a.eu.Complete,entity:i.I.getAnalyticsEntity(e.data.entity.type),descriptor:a.YM.CopyEmbedHtml,eventVersion:a.eq.V5}},"copy-share-link":{isValid:function(){return!0},logBaseData:!1,analyticsOptions:{actionType:a.Vw.Share,workflowPhase:a.eu.Complete,entity:i.I.getAnalyticsEntity(e.data.entity.type),descriptor:a.YM.CopyLink,eventVersion:a.eq.V5}},"print-qr-code":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Print,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.PrintQrCode}},"download-qr-code":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Download,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.DownloadQrCode}},"request-full-screen":{isValid:function(){return!0},analyticsOptions:{actionType:a.Vw.Click,entity:a.py.Assign,workflowPhase:a.eu.Complete,descriptor:a.Os.FullScreen}}}}function c(e){var t,n=(0,r.X)({analyticsOptions:e.analyticsOptions,baseData:e.data,config:l(e),shouldLog:null===(t=e.shouldLog)||void 0===t||t}),a=n.getData;return{log:n.log,getData:a}}},82664:(e,t,n)=>{n.r(t),n.d(t,{AssignDetailsView:()=>Me});var a=n(32735),i=n(6044),r=n(23481),o=n(20354),l=n(65858),c=n(33518),s=n(18488),u=n(9111),m=n(83345),d=n(99998),p=n(86099),g=n(2510),f=n(51182),v=n(84891),h=n(31453),y=n(19494),b=n(83914),E=n(35223);function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var w="assign.assignDetailsTabs";function C(e){var t=e.tab===e.active;return a.createElement("button",{className:(0,h.A)("rounded-pill d-flex align-items-center gap-1 ps-1",t?"bg-dark text-white":"bg-light"),onClick:function(){return e.onClick(e.tab)}},e.children)}var x={overview:["",""],"share-link":[E.vn.Link,"shareLink"],"qr-code":[E.vn.QrCode,"qrCode"],embed:[E.vn.Code,"embed"],"join-code":[E.vn.Key,"joinCode"],integrations:["","integrations"]},S=["share-link","join-code","qr-code","embed","integrations"];function A(e){var t=S.filter(function(t){var n;return!(null===(n=e.hideTabs)||void 0===n?void 0:n.includes(t))});return t.length?a.createElement("div",{className:"d-flex justify-content-center mb-3 gap-3 flex-wrap"},t.map(function(t){var n,i,r=(i=2,function(e){if(Array.isArray(e))return e}(n=x[t])||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(n,i)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(n,i)||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.")}()),o=r[0],l=r[1];return"integrations"===t?a.createElement(C,Object.assign({tab:t},e,{key:t}),a.createElement(y.C,{size:"sm",noTooltip:!0}),a.createElement(m.x,{namespace:w,phrase:l})):a.createElement(C,Object.assign({tab:t},e,{key:t}),a.createElement(b.x,{svgName:o}),a.createElement(m.x,{namespace:w,phrase:l}))})):a.createElement(a.Fragment,null)}function N(){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1"})),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"endStep"})))}function T(){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1"})),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"step2SignIn"})),a.createElement(v.t.Step,{number:3},a.createElement(m.x,{phrase:"endStep"})))}var j=n(21789),O=n(15611),I=n(14070),L=n(97291),P=n(42648),V=n(98461),F=n(70791);const R=JSON.parse('[{"id":"blackBoard","name":"BlackBoard","icon":"/images/integrations/icons/blackboard.png","link":"https://support.clickvieweducation.com/hc/articles/43194073335321","instanceRegions":[]},{"id":"canvas","name":"Canvas","icon":"/images/integrations/icons/canvas.png","link":"https://support.clickvieweducation.com/hc/articles/42686008655001","instanceRegions":[]},{"id":"compass","name":"Compass","icon":"/images/integrations/icons/compass.png","link":"","instanceRegions":[],"notes":"can\'t find an article"},{"id":"d2lBrightspace","name":"D2L Brightspace","icon":"/images/integrations/icons/brightspace.png","link":"https://support.clickvieweducation.com/hc/articles/42559711867417","instanceRegions":[]},{"id":"edmodo","name":"Edmodo","icon":"/images/integrations/icons/edmodo.png","link":"","instanceRegions":[],"notes":"We don\'t have an article"},{"id":"educationPerfect","name":"Education Perfect","icon":"/images/integrations/icons/education-perfect.png","link":"https://support.clickvieweducation.com/hc/articles/13167768154009","instanceRegions":[]},{"id":"fireFly","name":"FireFly","icon":"/images/integrations/icons/firefly.png","link":"","instanceRegions":[],"notes":"Two old articles: https://www.clickview.co.nz/plugins/firefly/, https://community.fireflylearning.com/s/article/ClickView-Plugin-for-Firefly"},{"id":"frogLearning","name":"Frog Learning","icon":"/images/integrations/icons/frog.png","link":"","instanceRegions":[],"notes":"Users won\'t be able to embed these shares in frog, it\'s an RSS integration."},{"id":"googleClassroom","name":"Google Classroom","icon":"/images/integrations/icons/google-classroom.png","link":"https://support.clickvieweducation.com/hc/articles/4407883106329","instanceRegions":[]},{"id":"itslearning","name":"itslearning","icon":"/images/integrations/icons/its-learning.png","link":"https://support.clickvieweducation.com/hc/articles/42559378556185","instanceRegions":[]},{"id":"microsoftTeams","name":"Microsoft Teams","icon":"/images/integrations/icons/microsoft-teams.png","link":"https://support.clickvieweducation.com/hc/articles/42671122820633","instanceRegions":[]},{"id":"stileEducation","name":"Stile Education","icon":"/images/integrations/icons/stile.png","link":"https://help.stileapp.com/hc/articles/218052537","instanceRegions":[]},{"id":"moodle","name":"Moodle","icon":"/images/integrations/icons/moodle.png","link":"https://support.clickvieweducation.com/hc/articles/42451786827033","instanceRegions":[]},{"id":"seqta","name":"SEQTA","icon":"/images/integrations/icons/seqta.png","link":"https://help.seqta.com.au/s/article/embedding-and-removing-clickview-videos-and-playists","instanceRegions":[]},{"id":"schoolbox","name":"Schoolbox","icon":"/images/integrations/icons/schoolbox.png","link":"","instanceRegions":[],"notes":"Only article I could find is their one: https://help.schoolbox.com.au/homepage/2718"},{"id":"versoLearning","name":"Verso Learning","icon":"/images/integrations/icons/verso.png","link":"","instanceRegions":[],"notes":"https://www.clickview.co.nz/plugins/verso/"},{"id":"schoology","name":"Schoology","icon":"/images/integrations/icons/schoology.png","link":"https://support.clickvieweducation.com/hc/articles/9512518040217","instanceRegions":[]},{"id":"sharePoint","name":"SharePoint","icon":"","link":"","instanceRegions":[],"notes":"This integration is so freaking old we probably don\'t want it here"},{"id":"myEDiary","name":"MyEDiary","icon":"","link":"","instanceRegions":[],"notes":"I don\'t even know WTF this is, I can\'t find it on google, I think we drop it"},{"id":"realSmart","name":"RealSmart","icon":"","link":"","instanceRegions":[],"notes":"No clue"},{"id":"lumio","name":"Lumio","icon":"","link":"","instanceRegions":[],"notes":"can\'t find an article"},{"id":"daymap","name":"Daymap","icon":"","link":"","instanceRegions":[],"notes":"can\'t find an article"},{"id":"smart","name":"Smart","icon":"","link":"","instanceRegions":[],"notes":"can\'t find an article"},{"id":"myEdOnline","name":"myEdOnline","icon":"","link":"","instanceRegions":[]},{"id":"schoolBytes","name":"School Bytes","icon":"","link":"","instanceRegions":[],"notes":"can\'t find an article"},{"id":"softLink","name":"SoftLink","icon":"","link":"","instanceRegions":[]},{"id":"toddle","name":"Toddle","icon":"","link":"https://support.clickvieweducation.com/hc/articles/44934633120665","instanceRegions":[]}]');function B(e){var t=e.onClick?"div":"a";return a.createElement("div",{className:(0,h.A)("col-6 mb-2",e.className)},a.createElement(t,{href:e.onClick?void 0:e.integration.link,className:"d-flex align-items-center border rounded-1 p-2 text-decoration-none hover-bg-light-blue fw-medium cursor-pointer",target:"_blank",rel:"noopener noreferrer",onClick:e.onClick||void 0},a.createElement("span",{className:"d-block ".concat("_cwyZ"),style:{backgroundImage:"url(".concat(e.integration.icon,")")}}),a.createElement("span",{className:"text-center flex-grow-1"},e.integration.name)))}function D(e){var t,n,i=(t=e.shareLink,n=e.onShareAction,t?{googleClassroom:function(){F.L.launchGoogleClassroom(t),n()},microsoftTeams:function(){F.L.launchMicrosoftTeams(t),n()}}:{}),r=R.filter(function(t){var n=!!t.icon&&(!!t.link||i[t.id]);return e.instanceRegion&&t.instanceRegions.length&&(n=t.instanceRegions.includes(e.instanceRegion)),n});return a.createElement("div",{className:"bg-white rounded-3"},a.createElement(P.$B,{autoHeight:!0,autoHeightMax:e.maxHeight||308},a.createElement("div",{className:"container-fluid py-3"},a.createElement("div",{className:"row mx-0 px-2"},r.map(function(t,n){return a.createElement(B,{integration:t,key:n,className:e.itemClassName,onClick:i[t.id]})}),!e.hideSupportLink&&a.createElement("div",{className:"col-12 text-center"},a.createElement(V.d,{href:e.contactSupportLink,className:"btn btn-link text-info p-0",newTab:!0},a.createElement(m.x,{namespace:"assign.integrationList",phrase:"cantFindIntegration"})))))))}var q="assign.assignIntegrations";function z(){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1JoinCode"})),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"step2JoinCode"})),a.createElement(v.t.Step,{number:3},a.createElement(m.x,{phrase:"step4"})))}function U(){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1SignIn"})),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"step2SignIn"})),a.createElement(v.t.Step,{number:3},a.createElement(m.x,{phrase:"step3SignIn"})),a.createElement(v.t.Step,{number:4},a.createElement(m.x,{phrase:"step4"})))}function M(){return a.createElement("div",null,a.createElement("p",null,a.createElement(m.x,{phrase:"requestAccessDescription"})),a.createElement(O.F,{className:"btn btn-outline-dark hover-bg-white",appLink:{application:L.O.SIGN_UP,action:I.e.SignUp.UPGRADE},analyticsData:{},analyticsOptions:{actionType:l.Vw.Click,location:l.LZ.AssignFlowView,entity:l.py.AppLink,descriptor:l.Yu.Upgrade,workflowPhase:l.eu.Start}},a.createElement(m.x,{namespace:q,phrase:"requestAccess"})))}function Z(e){var t=e.showRequestAccess,n=e.joinCode;return t?a.createElement(M,null):n?a.createElement(z,null):a.createElement(U,null)}var J=n(9806),W=n(64197),Q=n(99742);var H="assign.assignOverview",_=r.T.encloseNamespace(H);function G(e){return a.createElement("button",{className:(0,h.A)("rounded ratio ratio-1x1 border border-light hover-bg-light-blue","r9K_x"),onClick:function(){return e.onClick(e.screen)}},a.createElement("div",{className:"d-flex flex-column align-items-center justify-content-center gap-1 p-2 "},e.children))}function X(e){return a.createElement("div",{className:(0,h.A)("d-flex align-items-center justify-content-center","McyhP")},a.createElement("figure",{style:{backgroundImage:"url(".concat(Q.W.Assign.ASSIGN_DETAILS.OVERVIEW_TEXT,")")},className:(0,h.A)("m-0","u6Z4r")}),a.createElement("figure",{style:{backgroundImage:"url(".concat(Q.W.Assign.ASSIGN_DETAILS.OVERVIEW_BG,")")},className:(0,h.A)("position-relative m-0","RtZpT")},a.createElement("div",{className:(0,h.A)("position-absolute","m6eZK")},a.createElement(J.k,{object:e.entity,locationContext:l.LZ.AssignFlowView,thumbnailSize:"md",showVideoCount:!0,onlyCount:!0}))))}var K=n(98269),Y="shared.fullScreen",$=r.T.encloseNamespace(Y);function ee(e){return document.fullscreenEnabled?a.createElement("div",{className:(0,h.A)("vw-100 vh-100 bg-white",!e.isFullScreen&&"d-none"),ref:e.controlsRef},a.createElement("div",{className:"position-absolute top-0 end-0 pe-4 pt-4 z-1"},a.createElement(K.Z,{variant:"outline-dark",className:"d-inline-flex align-items-center gap-1",onClick:function(){document.exitFullscreen()}},a.createElement(m.x,{namespace:Y,phrase:"exitFullScreen"}),a.createElement(b.x,{svgName:E.vn.Close}))),e.children):a.createElement(a.Fragment,null)}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function ne(){var e,t,n=a.useRef(null),i=(e=a.useState(!1),t=2,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,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?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.")}()),r=i[0],o=i[1],l=document.fullscreenEnabled;return a.useEffect(function(){var e;if(n.current){var t=function(){!function(e,t){document.fullscreenElement!==e?t(!1):t(!0)}(n.current,o)};return null===(e=n.current)||void 0===e||e.addEventListener("fullscreenchange",t),function(){var e;return null===(e=n.current)||void 0===e?void 0:e.removeEventListener("fullscreenchange",t)}}},[n.current]),{ref:n,isFullScreen:r,isSupported:l,requestFullScreen:function(){n.current&&l&&n.current.requestFullscreen&&n.current.requestFullscreen()},exitFullScreen:function(){document.exitFullscreen().finally(function(){o(!1)})}}}ee.Button=function(e){if(!document.fullscreenEnabled)return a.createElement(a.Fragment,null);var t=e.text||$("buttonText");return a.createElement("div",{className:"w-100 text-center"},a.createElement(K.Z,{variant:e.variant||"link",className:"d-inline-flex justify-content-center text-info p-0",onClick:e.onClick},a.createElement("span",null,t),!e.hideIcon&&a.createElement(b.x,{svgName:E.vn.NewWindow})))};var ae=n(44645),ie=n(17327),re=n.n(ie),oe=n(56050),le=n(81886),ce=n(29866),se={sm:"oAKIc",md:"Ml3L5",lg:"cWnjp"},ue={sm:100,md:200,lg:400,custom:0};function me(e){var t="custom"===e.size?e.customSize:ue[e.size],n="custom"===e.size?e.containerClassName:se[e.size];return a.createElement("div",{className:(0,h.A)("position-relative d-flex justify-content-center align-items-center flex-column","border border-dark rounded-3 bg-white",n)},a.createElement(ce.QRCode,{id:e.id||"cv-qr-code",value:e.value,bgColor:"white",size:t,logoImage:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAYFBMVEX////4mB34lhX5qEz4kQD4kwD4lAD+79/4lxf4jwD//vv938L5rFb96NP+9On4lQv6tWf+9/D5pUX8z6D6u3n4nzP82LP5pD/7xo/4nSr6s2X6vX77xpH5rVn5pED/+vVbzc80AAACrElEQVR4nO3di3LTMBSE4R7HDjEF3IaWlmvf/y0RlA4RjWNZHqHZo/97Au1k4m6OZPXqCgAAAAAAAAAAAAAAAAAAAAAAAP/BzW3tFZR2tDe1l1DYbhqua6+hrF1n48faiygqJLTxrvYqSvqV0IZ3b2uvo5zfCW26/1B7IcU8J7Ru/772Skr5k9AO/afaSynkJWF43jzWXksZfxNaf1N7MUWcJLT9w1Pt5RRwmtAmjxUuSmgHhxUuTmgOK9y/Cf1VuFcJ3VW41wm9VbgzCa2bPFW4cwntMDqqcGcTuqpwMwkdVbi5hLY/OpnCzSZ0U+HmE4bnjYsKdyFh+DJ6qHAXE1r/tfb6truc0Hr9CreQ0KbP6o/UpYTWDeIVbjGh/BRuOWH4MkpXuJSE1n+pvcwNkhJKT+HSElp3kK1wiQnD80a1wqUm1J3CpSdUncKtSCg6hVuTMFQ4wSncqoSSG6nrEipO4VYmFJzCrU4oN4Vbn1CtwmUkFKtwOQm1NlKzEoaWqlPh8hKG541MhctNaMNOpMJlJ5SpcPkJVTZSNyQUmcJtSahR4bYlVJjCbUwosJG6NaH1D7UjLOAzXPoEvX8PvT9L3f89dN9pVA74ZSeU2eHP/n0oc0qD3/jnA+6dz2ncz9rcz0vdz7zHb7WXvNLavSeJohZh/zCiMkCMsI9/YpQpahHO07yQ2lCLJCacpIpaJPFs4lGqqEXSzpeKFbUIZ4Qli1qEs/ru37fovysWtUjj7z0JTdTmtfz+oft3SAfhohZp9l1uuYnavDbvVBDZ+kzU4t0mDopapL07hlQnavMau+vLS1GLRHfu/XBS1CIt3ZuocEYtRzP3lypufSZq5B5hza3PRE3c5+2vqEX836vv/38j+P//FgAAAAAAAAAAAAAAAAAAAAAAALJ+AoAWHaLlWtXqAAAAAElFTkSuQmCC",logoPaddingStyle:"circle",logoPadding:1,eyeRadius:[{outer:[10,0,0,0],inner:[1,0,0,0]},{outer:[0,10,0,0],inner:[0,1,0,0]},{outer:[0,0,0,10],inner:[0,0,0,1]}],removeQrCodeBehindLogo:!0,ref:e.qrRef}))}function de(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,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pe(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 pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function ge(e){var t=a.useRef();return a.useEffect(function(){var n=setTimeout(function(){var n;null===(n=t.current)||void 0===n||n.download(e.options.type,e.options.name),"function"==typeof e.onDone&&e.onDone()},200);return function(){clearTimeout(n)}},[]),a.createElement("div",{className:"d-none"},a.createElement(me,{size:e.options.size,value:e.value,qrRef:t}))}var fe=n(2102),ve=n(68050),he=n(69111),ye=n(79967);var be="assign.fullScreen",Ee=r.T.encloseNamespace(be);function ke(e){return a.createElement("div",{className:"container p-4"},a.createElement(ve.Z,null,a.createElement(he.Z,null,a.createElement("h3",{className:"text-center"},a.createElement(m.x,{namespace:be,phrase:"watchVideo"})))),a.createElement(ve.Z,{className:"mb-4"},a.createElement(he.Z,{xs:12,sm:8,md:6,lg:3,className:"mx-auto"},a.createElement(J.k,{object:e.entity,thumbnailSize:"md",locationContext:e.locationContext,showVideoMetadata:!0,hideBottomBar:!0}))),e.children)}ke.QrDetails=function(e){var t=(0,ye.k)(),n=t.sm||t.xs?"md":"lg";return a.createElement(ve.Z,null,a.createElement(he.Z,{xs:12,md:10,lg:8,xl:6,className:"bg-light p-4 rounded mx-auto d-flex flex-column align-items-center"},a.createElement("div",{className:"mb-3 text-center"},a.createElement("span",{className:"fs-3 fw-bold"},a.createElement(m.x,{namespace:be,phrase:"scanQr"}))),a.createElement(me,{size:n,value:e.value})))},ke.JoinCode=function(e){return a.createElement(ve.Z,null,a.createElement(he.Z,{xs:12,md:8,lg:5,className:"bg-light p-4 d-block rounded mx-auto"},a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{namespace:be,phrase:"goToLink"})),a.createElement(v.t.Textbox,{value:e.link}),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{namespace:be,phrase:"enterJoinCode"})),a.createElement(v.t.Textbox,{value:e.joinCode,size:"lg"}))))},ke.LinkDetails=function(e){return a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:(0,h.A)("bg-light p-4 d-block rounded mx-auto w-auto","P4XQf")},a.createElement(v.t,{bottomSpacing:"none"},a.createElement(v.t.Textbox,{label:Ee("goToLink"),value:e.link}))))};function we(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ce="assign.assignQrCode",xe=r.T.encloseNamespace(Ce);function Se(e){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1"})),a.createElement(v.t.Textbox,{value:e.link,showCopyButton:!0,onCopy:e.onShareAction}),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"endStep"})))}function Ae(e){return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1"})),a.createElement(v.t.Textbox,{value:e.link,showCopyButton:!0,onCopy:e.onShareAction}),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"step2SignIn"})),a.createElement(v.t.Step,{number:3},a.createElement(m.x,{phrase:"endStep"})))}var Ne=n(86073);function Te(e){var t=function(e){var t="";try{var n=new URL(e);t=n.host+n.pathname}catch(n){t=e}return t}(e.playUrl);return a.createElement(v.t,null,a.createElement(v.t.Step,{number:1},a.createElement(m.x,{phrase:"step1",options:{href:e.playUrl,url:t}})),a.createElement(v.t.Step,{number:2},a.createElement(m.x,{phrase:"step2"})),a.createElement(v.t.Textbox,{value:e.joinCode,align:"center",showCopyButton:!0,onCopy:e.onShareAction}),a.createElement(v.t.Step,{number:3},a.createElement(m.x,{phrase:"step3"})),a.createElement(v.t.Step,{number:4},a.createElement(m.x,{phrase:"step4"})))}function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function Oe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Ie(e,t,n){return(t=function(e){var t=function(e){if("object"!=je(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=je(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==je(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Le=r.T.encloseNamespace("assign.assignDetails"),Pe={overview:{component:function(e){return a.createElement(m.D.Provider,{value:H},a.createElement("div",{className:(0,h.A)("mx-auto","QB4Pm")},a.createElement("div",{className:"d-flex flex-column align-items-center text-center mb-4 gap-3"},a.createElement(X,{entity:e.entity}),a.createElement("h3",{className:"m-0 d-flex flex-column flex-md-row align-items-center gap-2"},a.createElement(b.x,{svgName:E.vn.Check,className:(0,h.A)("d-inline-block svg-container md bg-green rounded-circle text-white")}),a.createElement(m.x,{phrase:"title"})),a.createElement("p",{className:"m-0"},a.createElement(m.x,{phrase:"description"}))),a.createElement(W.i,{text:_("dividerText"),className:"mb-4",noUpperCase:!0}),a.createElement("div",{className:"d-flex justify-content-center gap-3 flex-wrap"},a.createElement(G,{screen:"share-link",onClick:e.onClickTab},a.createElement(b.x,{svgName:E.vn.Link}),a.createElement(m.x,{phrase:"shareLink"})),a.createElement(G,{screen:"qr-code",onClick:e.onClickTab},a.createElement(b.x,{svgName:E.vn.QrCode}),a.createElement(m.x,{phrase:"qrCode"})),a.createElement(G,{screen:"embed",onClick:e.onClickTab},a.createElement(b.x,{svgName:E.vn.Code}),a.createElement(m.x,{phrase:"embed"})),a.createElement(G,{screen:"integrations",onClick:e.onClickTab},a.createElement("span",{className:(0,h.A)("d-inline-flex align-items-center","tTimT")},a.createElement(y.C,{size:"sm",noTooltip:!0})),a.createElement(m.x,{phrase:"integrations"})))))}},"share-link":{component:function(e){var t=ne(),n=j.x.getLink({liteUrl:e.liteUrl,shareLink:e.shareLink,joinCode:e.joinCode});return a.createElement(m.D.Provider,{value:"assign.assignShareLink"},a.createElement("div",null,a.createElement(A,{active:"share-link",onClick:e.onClickTab,hideTabs:e.hideTabs}),a.createElement("div",{className:"bg-light rounded-3 mx-auto py-3 px-sm-5 px-3 d-block ".concat("HrK3n")},e.joinCode?a.createElement(Se,{link:n,onShareAction:e.onShareAction}):a.createElement(Ae,{link:n,onShareAction:e.onShareAction}),a.createElement(ee.Button,{onClick:function(){"function"==typeof e.log&&e.log({type:"request-full-screen",entity:e.entity,flow:e.flow,tab:"share-link"}),t.requestFullScreen(),e.onShareAction()},hideIcon:!0}))),a.createElement(ee,{isFullScreen:t.isFullScreen,controlsRef:t.ref},a.createElement(ke,{entity:e.entity,locationContext:l.LZ.AssignFlowView},a.createElement(ke.LinkDetails,{link:n}))))}},"qr-code":{component:function(e){var t,n,i,r,o,c,s,u=(t=a.useRef(),i=(n=de(a.useState(!1),2))[0],r=n[1],c=(o=de(a.useState(!1),2))[0],s=o[1],{ref:t,isPrinting:i,isDownloading:c,download:function(e){var n=e.name,i=e.size,r=void 0===i?"lg":i,o=e.type,l=void 0===o?"png":o;if(t.current){var c=document.getElementById("print-region");c||le.Q.Ry.throw(new oe.H("Could not find print region in layout"));var u=(0,ae.s)(c);s(!0),u.render(a.createElement(ge,{options:{name:n,size:r,type:l},value:t.current.props.value,onDone:function(){u.unmount(),s(!1)}}))}},print:function(e){var n=e.id,i=e.name,o=e.size,l=void 0===o?"lg":o,c=e.onDone;if(t.current){var s=document.getElementById("print-region");s||le.Q.Ry.throw(new oe.H("Could not find print region in layout"));var u=(0,ae.s)(s);u.render(a.createElement("div",{className:"d-none vw-100 vh-100"},a.createElement("div",{id:n,className:"w-100 h-100 d-flex align-items-center justify-content-center"},a.createElement(me,{size:l,value:t.current.props.value})))),r(!0),window.setTimeout(function(){re()({printable:n,type:"html",documentTitle:i||"ClickView - QRCode",targetStyles:["*"],imageStyle:"*",style:"@page { size: A4; margin: 1.5cm 0; }",onLoadingEnd:function(){"function"==typeof c&&c(),r(!1),u.unmount()},onError:function(){r(!1),u.unmount()}})},200)}}}),d=ne(),p=xe("fileName",{name:e.entity.name}),g=e.joinCode?{1:"step1",2:"stepWatchVideo"}:{1:"step1",2:"step2SignIn",3:"stepWatchVideo"},f=e.joinCode?"".concat(e.shareLink,"?joinCode=").concat(e.joinCode):e.shareLink;return a.createElement(m.D.Provider,{value:Ce},a.createElement("div",null,a.createElement(A,{active:"qr-code",onClick:e.onClickTab,hideTabs:e.hideTabs}),a.createElement("div",{className:"d-block mx-auto ".concat("OCQzr")},a.createElement("div",{className:"container-fluid py-3 bg-light rounded-3 p-3"},a.createElement("div",{className:"row gy-4"},a.createElement("div",{className:"col-lg-7 col-12 d-flex flex-column justify-content-center"},a.createElement(v.t,null,Object.entries(g).map(function(e){var t,n,i=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return we(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?we(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.")}()),r=i[0],o=i[1];return a.createElement(v.t.Step,{number:r,key:r},a.createElement(m.x,{phrase:o}))})),a.createElement("div",{className:"d-flex flex-column flex-md-row gap-2 mb-2"},a.createElement(fe.m,{variant:"outline-dark",className:"w-100",showSpinner:u.isPrinting,spinnerText:xe("printing"),onClick:function(){e.log&&e.log({type:"print-qr-code",entity:e.entity,flow:e.flow});var t=p;u.print({id:t,name:t}),e.onShareAction()}},a.createElement(m.x,{phrase:"printButton"})),a.createElement(fe.m,{showSpinner:u.isDownloading,variant:"outline-dark",className:"w-100",onClick:function(){e.log&&e.log({type:"download-qr-code",entity:e.entity,flow:e.flow}),u.download({name:p}),e.onShareAction()},spinnerText:xe("downloading")},a.createElement(m.x,{phrase:"downloadButton"}))),a.createElement(ee.Button,{onClick:function(){e.log&&e.log({type:"request-full-screen",entity:e.entity,flow:e.flow,tab:"qr-code"}),d.requestFullScreen(),e.onShareAction()},hideIcon:!0})),a.createElement("div",{className:"col-lg-5 col-12"},a.createElement(me,{size:"md",value:f,qrRef:u.ref})))))),a.createElement(ee,{isFullScreen:d.isFullScreen,controlsRef:d.ref},a.createElement(ke,{entity:e.entity,locationContext:l.LZ.AssignFlowView},a.createElement(ke.QrDetails,{value:f}))))}},embed:{component:function(e){return a.createElement(m.D.Provider,{value:"assign.assignEmbed"},a.createElement("div",{className:"w-100"},a.createElement(A,{active:"embed",onClick:e.onClickTab,hideTabs:e.hideTabs}),a.createElement("div",{className:"container-fluid bg-light py-3 bg-light rounded-3 p-3"},a.createElement("div",{className:"row gy-4"},a.createElement("div",{className:"col-lg-5 col-12 d-flex flex-column justify-content-center"},e.joinCode?a.createElement(N,null):a.createElement(T,null)),a.createElement("div",{className:"col-lg-7 col-12 d-flex flex-column-reverse gap-3"},a.createElement(f.l,{analyticsOptions:{},embedUrl:e.embedUrl,entity:e.entity,entityId:e.entityId,entityType:e.entityType,liteUrl:e.liteUrl,shareId:e.shareId,hideLabel:!0,hasInputBg:!0,onCopy:function(t){e.log&&e.log({type:"copy-embed-html",embedDetails:t,id:e.entityId,shareId:e.shareId,shareType:e.shareType}),e.onShareAction()},styling:"normal-v2"}))))))}},integrations:{component:function(e){return a.createElement(m.D.Provider,{value:q},a.createElement("div",null,a.createElement(A,{active:"integrations",onClick:e.onClickTab,hideTabs:e.hideTabs}),a.createElement("div",{className:"container-fluid py-3 bg-light rounded-3 p-3"},a.createElement("div",{className:"row gy-4"},a.createElement("div",{className:"col-12 col-lg-5 d-flex flex-column justify-content-center"},a.createElement(Z,{showRequestAccess:e.showRequestAccess,joinCode:e.joinCode})),a.createElement("div",{className:"col-12 col-lg-7"},a.createElement(D,{instanceRegion:e.instanceRegion,contactSupportLink:e.contactSupportLink,shareLink:j.x.getLink({liteUrl:e.liteUrl,shareLink:e.shareLink,joinCode:e.joinCode}),onShareAction:e.onShareAction}))))))}},"join-code":{component:function(e){var t=ne(),n=Ne._.safeUrlConcat(e.liteUrl,"/play");return e.joinCode?a.createElement(m.D.Provider,{value:"assign.assignJoinCode"},a.createElement("div",null,a.createElement(A,{active:"join-code",onClick:e.onClickTab,hideTabs:e.hideTabs}),a.createElement("div",{className:"bg-light rounded-3 mx-auto py-3 px-sm-5 px-3 d-block ".concat("MdqeM")},a.createElement(Te,{playUrl:n,joinCode:e.joinCode,onShareAction:e.onShareAction}),a.createElement(ee.Button,{onClick:function(){"function"==typeof e.log&&e.log({type:"request-full-screen",entity:e.entity,flow:e.flow,tab:"share-link"}),t.requestFullScreen(),e.onShareAction()},hideIcon:!0}))),a.createElement(ee,{isFullScreen:t.isFullScreen,controlsRef:t.ref},a.createElement(ke,{entity:e.entity,locationContext:l.LZ.AssignFlowView},a.createElement(ke.JoinCode,{joinCode:e.joinCode,link:n})))):a.createElement(a.Fragment,null)}}},Ve=Ie(Ie({},g.y.Open,"open-classroom"),g.y.Classroom,"existing-classroom");function Fe(e){var t,n,i,r,o,l=(r=a.useState(null!==(t=e.initialScreen)&&void 0!==t?t:"share-link"),o=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(r,o)||function(e,t){if(e){if("string"==typeof e)return Oe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Oe(e,t):void 0}}(r,o)||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=l[0],s=l[1],u=e.hideTitle||"overview"===c,m=[];(null===(n=e.sharePincode)||void 0===n?void 0:n.code)||m.push("join-code");var d={entity:e.entity,onClickTab:s,entityId:e.entityId,entityType:e.entityType,liteUrl:e.liteUrl,instanceRegion:e.instanceRegion,joinCode:null===(i=e.sharePincode)||void 0===i?void 0:i.code,shareId:e.share.shareId,embedUrl:e.share.link.shortenedEmbedUrl,shareLink:e.share.link.shortenedUrl,contactSupportLink:e.contactSupportLink,flow:Ve[e.share.type],log:e.log,hideTabs:m,showRequestAccess:e.showRequestAccess,onShareAction:e.onShareAction,shareType:e.share.type},p=Pe[c].component,g=e.title||Le("title");return a.createElement("div",{className:"d-flex flex-column align-items-center justify-content-center py-3 gap-4"},!u&&a.createElement("h3",{className:"mb-0"},a.createElement("span",null,g)),a.createElement(p,Object.assign({},d)))}var Re=n(83351),Be=n(95890),De=n(85287),qe=n(7786),ze="assign.assignDetailsView",Ue=r.T.encloseNamespace(ze);function Me(e){var t,n,r,g=o.a.useGetFetch(),f=(0,d.R)().experience,v=(0,Be._)({entityType:e.entityType,objectId:e.objectId}),h=v.config,y=v.loaded,b=v.entity,E=v.currentUser,k=(0,qe.y)({data:{entity:{id:e.objectId,type:e.entityType}},analyticsOptions:{entity:l.py.Assign,location:l.LZ.Popup}}).log,w=o.a.useBasicFetch(s.o.getShare(e.shareId)),C=(null===(t=w.data)||void 0===t?void 0:t.privacy)===c.e.PinCode,x=o.a.useBasicFetch(C&&s.o.getPincodeByShareId(e.shareId)),S=e.initialDetailsScreen||"overview",A=De.z.getContactSupportUrl(null===(n=h.data)||void 0===n?void 0:n.marketingSiteUrl,null===(r=E.data)||void 0===r?void 0:r.instanceRegion),N=!y||e.loading||!w.data||C&&!x.data,T=e.goToSelectClassroom&&a.createElement("button",{className:"btn btn-link text-info",onClick:e.goToSelectClassroom},a.createElement(m.x,{namespace:ze,phrase:"assignAnother"}));return a.createElement(u.G,{size:"lg",showLoadingSpinner:N,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate,hideTitle:!0},a.createElement(Fe,{title:e.detailsTitle,entityId:e.objectId,entityType:e.entityType,share:w.data,sharePincode:x.data,entity:b.data,liteUrl:h.data.liteUrl,instanceRegion:E.data.instanceRegion,initialScreen:e.initialDetailsScreen||S,contactSupportLink:A,log:k,showRequestAccess:"minimal"===f,onShareAction:function(){g(s.o.updateDateShared(e.shareId))}}),a.createElement(Re.P,{backButtonText:Ue("backButtonText"),nextButtonText:Ue("nextButtonText"),onClickBack:function(){k({type:"close-assign-popup",share:w.data},{workflowPhase:l.eu.Complete}),e.closePopup()},onClickNext:function(){var t=(0,p.pY)(w.data);t&&(k({type:"view-assignment",share:w.data}),i.C$.trigger(t),e.closePopup())},hideCreateClassroomButton:!0,leftComponent:T}))}},84891:(e,t,n)=>{n.d(t,{t:()=>v});var a=n(32735),i=n(59087),r=n.n(i),o=n(31453),l=n(83914),c=n(83345),s=n(35223);const u={orderedListWithBackground:"ezbBL",number:"hs0Fv",code:"h0c9p",large:"_leUV",success:"f_XNL"};function m(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,i,r,o,l=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(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 d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function p(e){var t;return a.createElement("div",{className:(0,o.A)(u.success,"col-12 position-absolute w-100 h-100 start-0 top-0","d-inline-flex align-items-center text-white justify-content-center text-truncate bg-success fs-3",e.show?"opacity-1":"opacity-0")},null!==(t=e.text)&&void 0!==t?t:a.createElement(c.x,{namespace:"shared.instructions",phrase:"copied"}))}var g={none:"mb-0",md:"mb-3",sm:"mb-2",lg:"mb-4"},f={none:"",sm:"gap-2",md:"gap-3",lg:"gap-4"};function v(e){return a.createElement("ol",{className:(0,o.A)("d-flex flex-column",g[e.bottomSpacing||"md"],f[e.spacing||"md"],u.orderedListWithBackground,e.className)},e.children)}v.Step=function(e){return a.createElement("li",{className:"d-flex align-items-center"},a.createElement("div",{className:"align-self-start"},a.createElement("span",{className:"".concat(u.number)},e.number)),a.createElement("div",{className:"w-100"},e.children))},v.Code=function(e){var t=m(a.useState(!1),2),n=t[0],i=t[1];return a.createElement(r(),{onCopy:function(){i(!0),setTimeout(function(){return i(!1)},2e3)},text:e.code},a.createElement("div",{className:(0,o.A)("position-relative bg-white border rounded-3 text-center overflow-hidden fw-semibold cursor-pointer ".concat(u.code),"lg"===e.size&&"py-3 ".concat(u.large),"md"===e.size&&"py-2",e.className)},e.code,a.createElement(l.x,{svgName:s.vn.Copy,size:l.S.Large,className:"ms-2 svg-container d-inline-block lg align-middle"}),a.createElement(p,{show:n})))},v.Textbox=function(e){var t=e.size,n=void 0===t?"sm":t,i=m(a.useState(!1),2),c=i[0],u=i[1];function d(){e.showCopyButton&&(u(!0),"function"==typeof e.onCopy&&e.onCopy(),setTimeout(function(){return u(!1)},2e3))}var g=e.showCopyButton?"text-left cursor-pointer":"text-center",f="left"===e.align?"col-1":"";return"center"===e.align&&(g=""),a.createElement(r(),{onCopy:d,text:e.value},a.createElement("div",null,e.label&&a.createElement("h3",{className:"mb-3 text-center"},e.label),a.createElement("div",{className:(0,o.A)("bg-white border rounded-3 overflow-hidden px-4 py-3 text-truncate mb-0","position-relative align-items-center gx-2 gy-0","sm"===n?"h5":"h1","left"===e.align?"row":"d-flex justify-content-center gap-3",e.showCopyButton?"text-left cursor-pointer":"text-center",e.className)},a.createElement("div",{className:(0,o.A)(g,"text-truncate")},e.value),e.showCopyButton&&a.createElement("div",{className:(0,o.A)(f)},a.createElement(l.x,{svgName:s.vn.Copy,size:l.S.Standard,className:"svg-container d-inline-block std",onClick:d})),e.showCopyButton&&a.createElement(p,{show:c}))))}},99998:(e,t,n)=>{n.d(t,{R:()=>o});var a=n(16714),i=n(22902),r=n(37802);function o(){var e=(0,r.r)(null),t=e.hasShareFlowV2,n=e.hasClassrooms,o=e.isLoadingSettings,l=(0,i.T)(),c=l.hasPermissions,s=l.isLoaded;return{experience:n?c(a.C.ViewClassrooms)?"full":t?"minimal":void 0:"none",loading:o||!s}}}}]);
2
- //# sourceMappingURL=979-6a70a0e616-lite.chunk.js.map