@clickview/lite 0.50.0-rc.4 → 0.50.0-rc.6

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 (94) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/scripts/{1402-d327ed0365-lite.chunk.js → 1402-8c3babb6af-lite.chunk.js} +2 -2
  3. package/dist/scripts/1402-8c3babb6af-lite.chunk.js.map +1 -0
  4. package/dist/scripts/{1437-0db2164033-lite.chunk.js → 1437-2931819506-lite.chunk.js} +2 -2
  5. package/dist/scripts/{1437-0db2164033-lite.chunk.js.map → 1437-2931819506-lite.chunk.js.map} +1 -1
  6. package/dist/scripts/{1518-9961f6d99b-lite.chunk.js → 1518-e6c8ab0c89-lite.chunk.js} +2 -2
  7. package/dist/scripts/1518-e6c8ab0c89-lite.chunk.js.map +1 -0
  8. package/dist/scripts/{1820-006bcd8691-lite.chunk.js → 1820-818cf5a35d-lite.chunk.js} +2 -2
  9. package/dist/scripts/{1820-006bcd8691-lite.chunk.js.map → 1820-818cf5a35d-lite.chunk.js.map} +1 -1
  10. package/dist/scripts/{1895-933141db03-lite.chunk.js → 1895-a799be78c3-lite.chunk.js} +3 -3
  11. package/dist/scripts/{1895-933141db03-lite.chunk.js.map → 1895-a799be78c3-lite.chunk.js.map} +1 -1
  12. package/dist/scripts/{2446-c6b50a79cd-lite.chunk.js → 2446-acc94130ed-lite.chunk.js} +3 -3
  13. package/dist/scripts/{2446-c6b50a79cd-lite.chunk.js.map → 2446-acc94130ed-lite.chunk.js.map} +1 -1
  14. package/dist/scripts/{2703-430c5a5fc1-lite.chunk.js → 2703-6ae830c2e6-lite.chunk.js} +2 -2
  15. package/dist/scripts/2703-6ae830c2e6-lite.chunk.js.map +1 -0
  16. package/dist/scripts/{2724-9b1a944cfb-lite.chunk.js → 2724-ee3a51e0c9-lite.chunk.js} +2 -2
  17. package/dist/scripts/{2724-9b1a944cfb-lite.chunk.js.map → 2724-ee3a51e0c9-lite.chunk.js.map} +1 -1
  18. package/dist/scripts/{3070-4e82411f0c-lite.chunk.js → 3070-07721de8f8-lite.chunk.js} +2 -2
  19. package/dist/scripts/3070-07721de8f8-lite.chunk.js.map +1 -0
  20. package/dist/scripts/{5242-04c52713f2-lite.chunk.js → 5242-76b32478bc-lite.chunk.js} +2 -2
  21. package/dist/scripts/5242-76b32478bc-lite.chunk.js.map +1 -0
  22. package/dist/scripts/{537-92893a696e-lite.chunk.js → 537-850ad2ee25-lite.chunk.js} +3 -3
  23. package/dist/scripts/{537-92893a696e-lite.chunk.js.map → 537-850ad2ee25-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/{5936-59acb26157-lite.chunk.js → 5936-7ad136f2a3-lite.chunk.js} +2 -2
  25. package/dist/scripts/5936-7ad136f2a3-lite.chunk.js.map +1 -0
  26. package/dist/scripts/6181-7a4fc8e1e1-lite.chunk.js +2 -0
  27. package/dist/scripts/6181-7a4fc8e1e1-lite.chunk.js.map +1 -0
  28. package/dist/scripts/{6263-0be2ae1ab4-lite.chunk.js → 6263-a60b811d93-lite.chunk.js} +2 -2
  29. package/dist/scripts/6263-a60b811d93-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{6309-79092eb273-lite.chunk.js → 6309-dd3a8e7f21-lite.chunk.js} +3 -3
  31. package/dist/scripts/{6309-79092eb273-lite.chunk.js.map → 6309-dd3a8e7f21-lite.chunk.js.map} +1 -1
  32. package/dist/scripts/{6489-51de20f6f6-lite.chunk.js → 6489-335e4d9396-lite.chunk.js} +3 -3
  33. package/dist/scripts/{6489-51de20f6f6-lite.chunk.js.map → 6489-335e4d9396-lite.chunk.js.map} +1 -1
  34. package/dist/scripts/6531-835c743f1b-lite.chunk.js +2 -0
  35. package/dist/scripts/6531-835c743f1b-lite.chunk.js.map +1 -0
  36. package/dist/scripts/6741-e0ed9fd6f0-lite.chunk.js +3 -0
  37. package/dist/scripts/6741-e0ed9fd6f0-lite.chunk.js.map +1 -0
  38. package/dist/scripts/{6846-5ae3efe823-lite.chunk.js → 6846-08b00decd8-lite.chunk.js} +2 -2
  39. package/dist/scripts/{6846-5ae3efe823-lite.chunk.js.map → 6846-08b00decd8-lite.chunk.js.map} +1 -1
  40. package/dist/scripts/{7187-814cd6f6db-lite.chunk.js → 7187-93d4aac9eb-lite.chunk.js} +2 -2
  41. package/dist/scripts/{7187-814cd6f6db-lite.chunk.js.map → 7187-93d4aac9eb-lite.chunk.js.map} +1 -1
  42. package/dist/scripts/8055-08b92f8ed7-lite.chunk.js +3 -0
  43. package/dist/scripts/8055-08b92f8ed7-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{8085-ed82fb07da-lite.chunk.js → 8085-cde67e66df-lite.chunk.js} +2 -2
  45. package/dist/scripts/8085-cde67e66df-lite.chunk.js.map +1 -0
  46. package/dist/scripts/8139-f0229a0806-lite.chunk.js +3 -0
  47. package/dist/scripts/8139-f0229a0806-lite.chunk.js.map +1 -0
  48. package/dist/scripts/{8354-a104955138-lite.chunk.js → 8354-411c0c4a3a-lite.chunk.js} +2 -2
  49. package/dist/scripts/8354-411c0c4a3a-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{841-85a91a6576-lite.chunk.js → 841-a60ac16a8c-lite.chunk.js} +3 -3
  51. package/dist/scripts/{841-85a91a6576-lite.chunk.js.map → 841-a60ac16a8c-lite.chunk.js.map} +1 -1
  52. package/dist/scripts/{8987-07d38d2bab-lite.chunk.js → 8987-9fb9a632e7-lite.chunk.js} +2 -2
  53. package/dist/scripts/8987-9fb9a632e7-lite.chunk.js.map +1 -0
  54. package/dist/scripts/{9068-1c0aece2e1-lite.chunk.js → 9068-562c30f718-lite.chunk.js} +2 -2
  55. package/dist/scripts/9068-562c30f718-lite.chunk.js.map +1 -0
  56. package/dist/scripts/{9839-5347f31f8b-lite.chunk.js → 9839-d50dedfab8-lite.chunk.js} +3 -3
  57. package/dist/scripts/9839-d50dedfab8-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{bundle-90f71581a8.min.js → bundle-098294f9a6.min.js} +3 -3
  59. package/dist/scripts/bundle-098294f9a6.min.js.map +1 -0
  60. package/package.json +1 -1
  61. package/dist/scripts/1402-d327ed0365-lite.chunk.js.map +0 -1
  62. package/dist/scripts/1518-9961f6d99b-lite.chunk.js.map +0 -1
  63. package/dist/scripts/2703-430c5a5fc1-lite.chunk.js.map +0 -1
  64. package/dist/scripts/3070-4e82411f0c-lite.chunk.js.map +0 -1
  65. package/dist/scripts/5242-04c52713f2-lite.chunk.js.map +0 -1
  66. package/dist/scripts/5936-59acb26157-lite.chunk.js.map +0 -1
  67. package/dist/scripts/6181-4944b5c6a2-lite.chunk.js +0 -2
  68. package/dist/scripts/6181-4944b5c6a2-lite.chunk.js.map +0 -1
  69. package/dist/scripts/6263-0be2ae1ab4-lite.chunk.js.map +0 -1
  70. package/dist/scripts/6531-d77ba2c5ce-lite.chunk.js +0 -2
  71. package/dist/scripts/6531-d77ba2c5ce-lite.chunk.js.map +0 -1
  72. package/dist/scripts/6741-6222c7b762-lite.chunk.js +0 -3
  73. package/dist/scripts/6741-6222c7b762-lite.chunk.js.map +0 -1
  74. package/dist/scripts/8055-9c259a30c4-lite.chunk.js +0 -3
  75. package/dist/scripts/8055-9c259a30c4-lite.chunk.js.map +0 -1
  76. package/dist/scripts/8085-ed82fb07da-lite.chunk.js.map +0 -1
  77. package/dist/scripts/8139-ec264689fd-lite.chunk.js +0 -3
  78. package/dist/scripts/8139-ec264689fd-lite.chunk.js.map +0 -1
  79. package/dist/scripts/8354-a104955138-lite.chunk.js.map +0 -1
  80. package/dist/scripts/8987-07d38d2bab-lite.chunk.js.map +0 -1
  81. package/dist/scripts/9068-1c0aece2e1-lite.chunk.js.map +0 -1
  82. package/dist/scripts/9839-5347f31f8b-lite.chunk.js.map +0 -1
  83. package/dist/scripts/bundle-90f71581a8.min.js.map +0 -1
  84. /package/dist/scripts/{1895-933141db03-lite.chunk.js.LICENSE.txt → 1895-a799be78c3-lite.chunk.js.LICENSE.txt} +0 -0
  85. /package/dist/scripts/{2446-c6b50a79cd-lite.chunk.js.LICENSE.txt → 2446-acc94130ed-lite.chunk.js.LICENSE.txt} +0 -0
  86. /package/dist/scripts/{537-92893a696e-lite.chunk.js.LICENSE.txt → 537-850ad2ee25-lite.chunk.js.LICENSE.txt} +0 -0
  87. /package/dist/scripts/{6309-79092eb273-lite.chunk.js.LICENSE.txt → 6309-dd3a8e7f21-lite.chunk.js.LICENSE.txt} +0 -0
  88. /package/dist/scripts/{6489-51de20f6f6-lite.chunk.js.LICENSE.txt → 6489-335e4d9396-lite.chunk.js.LICENSE.txt} +0 -0
  89. /package/dist/scripts/{6741-6222c7b762-lite.chunk.js.LICENSE.txt → 6741-e0ed9fd6f0-lite.chunk.js.LICENSE.txt} +0 -0
  90. /package/dist/scripts/{8055-9c259a30c4-lite.chunk.js.LICENSE.txt → 8055-08b92f8ed7-lite.chunk.js.LICENSE.txt} +0 -0
  91. /package/dist/scripts/{8139-ec264689fd-lite.chunk.js.LICENSE.txt → 8139-f0229a0806-lite.chunk.js.LICENSE.txt} +0 -0
  92. /package/dist/scripts/{841-85a91a6576-lite.chunk.js.LICENSE.txt → 841-a60ac16a8c-lite.chunk.js.LICENSE.txt} +0 -0
  93. /package/dist/scripts/{9839-5347f31f8b-lite.chunk.js.LICENSE.txt → 9839-d50dedfab8-lite.chunk.js.LICENSE.txt} +0 -0
  94. /package/dist/scripts/{bundle-90f71581a8.min.js.LICENSE.txt → bundle-098294f9a6.min.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/537-92893a696e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/widgets/items/subject-widget-item/CoverPill.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/left-panel-item.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/LeftPanelItem.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/mock-discover.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/MockDiscover.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/mock-layout.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/MockLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/views/school-level/school-level.scss","file:///app/packages/projects/lite/src/apps/onboarding/views/school-level/OnboardingSchoolLevelView.tsx","file:///app/packages/libs/shared/src/components/widgets/items/subject-widget-item/cover-pill.scss"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { BaseObject, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './cover-pill.scss';\n\nconst namespace = 'shared.subjectWidgetItem';\n\ninterface NamePanelProps {\n name: string;\n multiline?: boolean;\n subtitle?: string;\n}\n\nconst ComingSoonNamePanel = ({ name, multiline }: NamePanelProps) => {\n let wrapperClassName = `${styles.comingSoonPanel} \n d-flex flex-column align-items-center justify-content-center px-3 text-center`;\n\n let textClassName = '';\n\n if (!multiline) {\n wrapperClassName += ' text-nowrap';\n textClassName += ' text-truncate';\n } else {\n textClassName += ` ${styles.clamped} clamp-2`;\n }\n\n return (\n <div className={wrapperClassName}>\n <small className='text-secondary'><Text namespace={namespace} phrase='comingSoon' /></small>\n <p className={`${styles.name} h6`}><span className={textClassName}>{name}</span></p>\n </div>\n );\n};\n\nconst NormalNamePanel = ({ name, multiline, subtitle }: NamePanelProps) => {\n let wrapperClassName = 'px-3 d-flex flex-column justify-content-center';\n let textClassName = `${styles.name} h6`;\n\n if (!multiline) {\n wrapperClassName += ' text-nowrap text-truncate';\n textClassName += ' text-truncate mb-0 pb-1';\n } else {\n textClassName += ' clamp-3 text-start';\n }\n\n return (\n <div className={wrapperClassName}>\n {subtitle && <div className={`text-secondary clamp-1 ${styles.text}`}>{subtitle}</div>}\n <div className={textClassName} title={name}>{name}</div>\n </div>\n );\n};\n\nexport interface CoverPillWidgetItemProps<T extends BaseObject> {\n data: T;\n getChildAppLink?: (data: T) => Core.AppLink;\n getChildAppLinkOptions?: () => Core.AppLinkOptions;\n isLarge?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n availablePresentations?: Presentation[];\n getSubtitle?: (data: T) => string;\n multiline?: boolean;\n}\n\ninterface CoverPillWidgetContentProps<T> extends CoverPillWidgetItemProps<T> {\n coverUrl?: string;\n subtitle?: string;\n isComingSoon?: boolean;\n className?: string;\n imageClassName?: string;\n isSelected?: boolean;\n hideFallback?: boolean;\n hideCheckmark?: boolean;\n}\n\nexport function CoverPillWidgetContent(props: CoverPillWidgetContentProps<BaseObject>): JSX.Element {\n const coverUrl = ImageHelper.createUrl(props.coverUrl, { size: props.isLarge ? ImageSize.Medium : ImageSize.Small });\n\n const childProps = {\n name: props.data.name,\n multiline: props.isLarge || props.multiline,\n subtitle: props.subtitle\n };\n\n return (\n <div\n className={`border d-flex position-relative ${props.className} ${styles.widgetItem} ${props.isSelected ? 'border-success border-2' : ''}`}\n id={`${props.data.id}-${RandomHelper.getRandomInt()}`}\n >\n {props.isSelected && (\n <div className={`${styles.selectedMask} border-2`} />\n )}\n\n <div className={`${styles.imagePanel} ${props.isLarge ? styles.large : ''}`}>\n {props.isSelected && !props.hideCheckmark && (\n <div className={styles.selected}>\n <IconCircle svgName={cvSvgLibrary.Check} svgSize={SvgContainerSize.Large} textVariant='white' variant='green' />\n </div>\n )}\n\n <div\n className={`${styles.image} ${props.imageClassName}`}\n style={props.coverUrl ? { backgroundImage: `url('${coverUrl}')` } : {}}\n />\n {!props.hideFallback && (\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses={props.isLarge ? styles.large : ''}\n />\n )}\n </div>\n\n {props.isComingSoon\n ? <ComingSoonNamePanel {...childProps} />\n : <NormalNamePanel {...childProps} />\n }\n </div>\n );\n}\n\nexport function CoverPillWidgetContentWrapper(props: CoverPillWidgetContentProps<BaseObject>) {\n const appLink = props.getChildAppLink ? props.getChildAppLink(props.data) : null;\n\n return (\n <>\n {appLink ? (\n <AppLink\n className={styles.appLink}\n appLink={appLink}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n appLinkOptions={props.getChildAppLinkOptions?.()}\n >\n <CoverPillWidgetContent {...props} />\n </AppLink>\n ) : (<CoverPillWidgetContent {...props} />)\n }\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"LkdHB\",\"above\":\"ROdbm\",\"below\":\"OzyHx\",\"left\":\"W9EBF\",\"right\":\"zhio2\",\"divider\":\"cdR_p\",\"imageContainer\":\"QZZMF\"};","import React from 'react';\n\nimport styles from './left-panel-item.scss';\n\ninterface LeftPanelItemProps {\n contentPosition?: 'center' | 'right';\n annotationUrl?: string;\n annotationPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n annotationClassName?: string;\n}\n\nLeftPanelItem.defaultProps = {\n contentPosition: 'center'\n};\n\nexport function LeftPanelItem(props: React.PropsWithChildren<LeftPanelItemProps>): JSX.Element {\n function getAnnotationClassName(): string {\n let className = styles.annotation;\n\n switch (props.annotationPosition) {\n case 'top-left': {\n className += ` ${styles.above} ${styles.left}`;\n break;\n }\n\n case 'top-right': {\n className += ` ${styles.above} ${styles.right}`;\n break;\n }\n\n case 'bottom-left': {\n className += ` ${styles.below} ${styles.left}`;\n break;\n }\n\n case 'bottom-right': {\n className += ` ${styles.below} ${styles.right}`;\n break;\n }\n }\n\n if (props.annotationClassName)\n className += ` ${props.annotationClassName}`;\n\n return className;\n }\n\n function getContainerClassName(): string {\n let className = `d-flex align-items-center text-center position-relative w-100 ${styles.imageContainer}`;\n\n if (props.contentPosition === 'center')\n className += ' px-5 justify-content-center';\n\n if (props.contentPosition === 'right')\n className += ' me-n5 justify-content-end';\n\n return className;\n }\n\n return (\n <div className={getContainerClassName()}>\n {!!props.annotationUrl && (\n <div className={getAnnotationClassName()}>\n <img className={`img-fluid`} src={props.annotationUrl} />\n </div>\n )}\n\n {props.children}\n {props.contentPosition === 'right' && (\n <div className={styles.divider} />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"magicTab\":\"H5jzm\",\"subjectPlaceholder\":\"r1L6T\",\"placeholderCover\":\"z9CFT\",\"promotedTopicPlaceholder\":\"PbYs6\",\"promotedTopicPlaceholderText\":\"hZ8Nf\"};","import React from 'react';\n\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Classification, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-discover.scss';\n\ninterface SubjectPlaceholderProps {\n coverUrl?: string;\n}\n\nfunction SubjectPlaceholder(props: SubjectPlaceholderProps): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`d-flex border rounded-3 overflow-hidden ${styles.subjectPlaceholder}`}>\n {props.coverUrl ? (\n <div className={styles.placeholderCover}>\n <img className='img-fluid' src={ImageHelper.createUrl(props.coverUrl, { size: ImageSize.Small })} />\n </div>\n ) : (\n <div className={`${styles.placeholderCover} bg-light-blue`} />\n )}\n </div>\n </li>\n );\n}\n\nfunction PromotedTopicPlaceholder(): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`bg-light-blue rounded-3 w-100 p-1 ${styles.promotedTopicPlaceholder}`} />\n </li>\n );\n}\n\ninterface MockDiscoverProps {\n subjects?: Classification[];\n presentation?: Presentation;\n curriculum?: Presentation;\n editingCurriculum?: boolean;\n}\n\nexport function MockDiscover(props: MockDiscoverProps): JSX.Element {\n const placeholderSubjects = Math.max(12 - (props.subjects?.length ?? 0), 0);\n\n return (\n <MockLayout\n presentation={props.presentation}\n curriculum={props.curriculum}\n editingCurriculum={props.editingCurriculum}\n >\n <div className='px-3 pt-3 w-100 d-flex flex-column align-items-center'>\n {/* Magic tabs */}\n <div className='rounded-3 border overflow-hidden d-flex mb-2'>\n <div className={`bg-light ${styles.magicTab}`} />\n <div className={`${styles.magicTab}`} />\n </div>\n\n {/* Subjects */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2'>\n {props.subjects?.map(subject => {\n return (\n <SubjectPlaceholder key={subject.id} coverUrl={subject.cover?.url} />\n );\n })}\n {new Array(placeholderSubjects).fill(0).map((_, index) => {\n return (\n <SubjectPlaceholder key={index} />\n );\n })}\n </ul>\n\n {/* Promoted topics */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1'>\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n </ul>\n </div>\n </MockLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"AlRQD\",\"logo\":\"L42gR\",\"blackBar\":\"ESCxm\",\"topNav\":\"a3G_4\",\"leftNav\":\"YxGVV\",\"belowHeader\":\"jc_cg\",\"leftNavIcon\":\"U6i6r\",\"leftNavText\":\"LnYlW\",\"presentationPlaceholderIcon\":\"Ljaju\",\"presentationIcon\":\"QdwPq\",\"presentationPlaceholderText\":\"af06V\",\"curriculumIcon\":\"N7T4T\",\"curriculumIconSmall\":\"_6xrUg\",\"curriculumContainer\":\"Z65qX\",\"iconPlaceholder\":\"CKOXL\",\"shadow\":\"zygeJ\",\"presentationName\":\"Oj7Dt\"};","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClickViewLogo, ClickViewPrimaryLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport styles from './mock-layout.scss';\n\nconst namespace = 'onboarding.mockLayout';\n\nfunction LeftNavItem(): JSX.Element {\n return (\n <div className='d-flex align-items-center justify-content-center mb-2 px-3'>\n <div className={`${styles.leftNavIcon} rounded-circle`} />\n <div className={`${styles.leftNavText} rounded-pill`} />\n </div>\n );\n}\n\ninterface MockLayoutProps {\n editingCurriculum?: boolean;\n curriculum?: Presentation;\n presentation?: Presentation;\n}\n\nexport function MockLayout(props: React.PropsWithChildren<MockLayoutProps>): JSX.Element {\n const breakpoints = useBreakpoints();\n \n function getPresentationClass(): string {\n if (!props.presentation)\n return styles.presentationPlaceholderIcon;\n\n switch (TopicsHelper.getMappedPresentationLevel(props.presentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return `bg-indigo ${styles.presentationIcon}`;\n\n case PresentationLearningLevel.Level_3:\n return `bg-blue ${styles.presentationIcon}`;\n\n default:\n case PresentationLearningLevel.Level_2:\n return `bg-green ${styles.presentationIcon}`;\n }\n }\n\n return (\n <div className={`border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100`}>\n {!!props.editingCurriculum && (\n <div className={`w-100 h-100 position-absolute ${styles.shadow}`}>\n <div className={`d-flex align-items-center h-100 w-50 ${styles.curriculumContainer}`}>\n <div className='bg-white rounded-3 border p-3 w-100'>\n <h2 className='h6 text-start'><Text namespace={namespace} phrase='curriculum' /></h2>\n\n {props.curriculum ? (\n <div className='d-flex align-items-center'>\n <div className={`${styles.curriculumIcon} rounded-circle me-2 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n <div className='text-start'>{props.curriculum.name}</div>\n </div>\n ) : (\n <div className='d-flex align-items-center text-secondary'>\n <div className={`me-2 rounded-circle p-1 ${styles.iconPlaceholder}`}>\n <IconCircle svgSize={SvgContainerSize.Large} textVariant='secondary' svgName={cvSvgLibrary.GraduationCap} />\n </div>\n <Text namespace={namespace} phrase='selectCurriculum' />\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Black bar */}\n <div className={`bg-dark d-flex px-3 py-2 ${styles.blackBar}`}>\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle ${styles.dot}`} />\n </div>\n\n {/* Header */}\n <div className={`border-bottom px-3 py-2 d-flex align-items-center ${styles.topNav}`}>\n <div className={`${styles.logo} me-4`}>\n {breakpoints.xs ? (\n <ClickViewPrimaryLogo />\n ) : (\n <ClickViewLogo />\n )}\n </div>\n <div className='form-control w-75 d-flex justify-content-start'>\n <SvgContainer svgName={cvSvgLibrary.Search} />\n </div>\n {!!props.curriculum && (\n <div className={`${styles.curriculumIconSmall} rounded-circle ms-2 me-n1 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n )}\n </div>\n\n <div className={`d-flex ${styles.belowHeader}`}>\n {/* Left nav */}\n <div className={`${styles.leftNav} border-end`}>\n <div className='d-flex flex-column pt-3 h-100'>\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n\n {/* Presentation */}\n <div className='d-flex align-items-end h-100 w-100'>\n <div className='border-top p-3 w-100'>\n <div className='d-flex align-items-center'>\n <div className={`${getPresentationClass()} text-white rounded`}>\n <SvgContainer svgName={cvSvgLibrary.School} size={SvgContainerSize.Large} />\n </div>\n\n {!props.presentation ? (\n <div className={`${styles.presentationPlaceholderText} fw-semibold`}>\n <Text namespace={namespace} phrase='schoolLevel' />\n </div>\n ) : (\n <span className={`fw-semibold text-truncate ${styles.presentationName}`}>{props.presentation.name}</span>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Main content */}\n <div className={`w-100 h-100 overflow-hidden`}>\n {props.children}\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"cover\":\"p3PFT\",\"presentationList\":\"PT_ec\"};","import React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CoverPillWidgetContent } from 'libs/shared/components/widgets/items/subject-widget-item/CoverPill';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useIsKDM } from 'libs/shared/hooks/UseIsKdm';\nimport { CurrentUser, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport { OnboardingScreenHeading } from 'apps/onboarding/components/heading/OnboardingScreenHeading';\nimport { OnboardingScreenInfo } from 'apps/onboarding/components/info/OnboardingScreenInfo';\nimport { OnboardingLayout } from 'apps/onboarding/components/layout/OnboardingLayout';\nimport { LeftPanelItem } from 'apps/onboarding/components/left-panel-item/LeftPanelItem';\nimport { MockDiscover } from 'apps/onboarding/components/mock-views/discover/MockDiscover';\nimport { useOnboardingCallbacks } from 'apps/onboarding/hooks/useOnboardingCallbacks';\nimport { useOnboardingEventLogger } from 'apps/onboarding/hooks/useOnboardingEventLogger';\nimport { OnboardingViewProps } from 'apps/onboarding/interfaces/OnboardingViewProps';\n\nimport styles from './school-level.scss';\n\nconst namespace = 'onboarding.schoolLevel';\n\nexport function OnboardingSchoolLevelView(props: OnboardingViewProps): JSX.Element {\n const {\n onClickBack,\n exitOnboarding,\n completeStepAsync,\n onSaveError\n } = useOnboardingCallbacks(props.redirectUrl);\n const { logEvent } = useOnboardingEventLogger();\n const { availablePresentations, setPresentation } = usePresentation();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const isKDM = useIsKDM();\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const [ selectedPresentation, setSelectedPresentation ] = React.useState<Presentation>();\n\n function onSelectPresentation(presentation: Presentation): void {\n logEvent(UserAction.Select, OnboardingDescriptor.SelectPresentation, {\n presentationId: presentation.id,\n presentationName: presentation.name,\n presentationDescription: presentation.description\n });\n\n setSelectedPresentation(presentation);\n }\n\n async function onClickNext(): Promise<void> {\n logEvent(UserAction.Click, OnboardingDescriptor.Next, {\n presentationId: selectedPresentation.id,\n presentationName: selectedPresentation.name,\n presentationDescription: selectedPresentation.description\n }, {\n preferredPresentationOverride: selectedPresentation\n });\n\n setActiveAudiences(null);\n \n try {\n await setPresentation(selectedPresentation, 'activeAndPreferred');\n await completeStepAsync({ preferredPresentationOverride: selectedPresentation });\n } catch {\n onSaveError();\n return Promise.reject();\n }\n }\n\n function getAnnotation(): string {\n const imageUrls = ImageUrls.OnboardingV2.SchoolLevel;\n const isUS = currentUser.data?.instanceRegion === InstanceRegion.US;\n\n if (!selectedPresentation)\n return imageUrls.ANNOTATION_NONE_SELECTED;\n\n switch (TopicsHelper.getMappedPresentationLevel(selectedPresentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return isKDM ? imageUrls.ANNOTATION_LEVEL_1_ICP : imageUrls.ANNOTATION_LEVEL_1;\n \n case PresentationLearningLevel.Level_2: {\n if (isKDM) {\n return imageUrls.ANNOTATION_LEVEL_2_ICP;\n }\n\n return isUS ? imageUrls.ANNOTATION_LEVEL_2_US : imageUrls.ANNOTATION_LEVEL_2;\n }\n\n case PresentationLearningLevel.Level_3: {\n if (isKDM) {\n return isUS\n ? imageUrls.ANNOTATION_LEVEL_3_ICP_US\n : imageUrls.ANNOTATION_LEVEL_3_ICP;\n }\n\n return isUS ? imageUrls.ANNOTATION_LEVEL_3_US : imageUrls.ANNOTATION_LEVEL_3;\n }\n\n default:\n return imageUrls.ANNOTATION_LEVEL_1;\n }\n }\n\n return (\n <OnboardingLayout namespace={namespace}>\n <OnboardingLayout.Left className='bg-dark-blue d-flex flex-column align-items-end justify-content-center'>\n <LeftPanelItem\n contentPosition='right'\n annotationUrl={getAnnotation()}\n annotationPosition='bottom-left'\n >\n <MockDiscover presentation={selectedPresentation} />\n </LeftPanelItem>\n </OnboardingLayout.Left>\n\n <OnboardingLayout.Right\n hasCustomButtons={false}\n onClickNext={onClickNext}\n onClickBack={onClickBack}\n onClickComeBackLater={exitOnboarding}\n disableNext={!selectedPresentation}\n >\n <OnboardingScreenHeading>\n <Text phrase={isKDM ? 'headingKdm' : 'heading'} />\n </OnboardingScreenHeading>\n\n <OnboardingScreenInfo>\n <Text phrase='info' />\n </OnboardingScreenInfo>\n\n <ul className={`list-unstyled mb-1 ${styles.presentationList}`}>\n {availablePresentations.map(presentation => {\n return (\n <li key={presentation.id} className='mb-2'>\n <DivButton\n onClick={() => onSelectPresentation(presentation)}\n >\n <CoverPillWidgetContent\n data={presentation}\n coverUrl={presentation.cover?.url}\n imageClassName={styles.cover}\n isSelected={presentation.id === selectedPresentation?.id}\n />\n </DivButton>\n </li>\n );\n })}\n </ul>\n\n <OnboardingScreenInfo>\n <Text phrase='dontWorry' />\n </OnboardingScreenInfo>\n </OnboardingLayout.Right>\n </OnboardingLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"appLink\":\"fFjKN\",\"name\":\"A_by9\",\"selectedMask\":\"xSQtR\",\"widgetItem\":\"Ys9W_\",\"text\":\"JfAoy\",\"imagePanel\":\"aUNDc\",\"partialLargeImage\":\"RuLxv\",\"selected\":\"BViJb\",\"image\":\"LkTep\",\"dragHandle\":\"CJqvP\",\"large\":\"R5clw\",\"comingSoonPanel\":\"Wa2PG\",\"editSubjectsItem\":\"gGNFD\",\"allSubjectsItem\":\"IHdlJ\",\"logoContainer\":\"Nzaes\",\"draggingItem\":\"zUOye\",\"partialLargeFallback\":\"FmJP9\",\"partialIcon\":\"sdZuo\"};"],"names":["ComingSoonNamePanel","name","multiline","wrapperClassName","textClassName","className","namespace","phrase","NormalNamePanel","subtitle","title","CoverPillWidgetContent","props","coverUrl","size","isLarge","childProps","data","isSelected","id","hideCheckmark","svgName","svgSize","S","textVariant","variant","imageClassName","style","backgroundImage","hideFallback","type","extraClasses","isComingSoon","CoverPillWidgetContentWrapper","appLink","getChildAppLink","analyticsData","analyticsOptions","appLinkOptions","getChildAppLinkOptions","LeftPanelItem","contentPosition","annotationUrl","annotationPosition","annotationClassName","getAnnotationClassName","src","children","defaultProps","SubjectPlaceholder","ImageHelper","PromotedTopicPlaceholder","MockDiscover","placeholderSubjects","Math","max","subjects","length","MockLayout","presentation","curriculum","editingCurriculum","map","subject","key","cover","url","Array","fill","_","index","LeftNavItem","breakpoints","useBreakpoints","Text","IconCircle","imageUrl","SvgContainer","xs","ClickViewLogo","TopicsHelper","learningLevel","PresentationLearningLevel","getPresentationClass","OnboardingSchoolLevelView","useOnboardingCallbacks","redirectUrl","onClickBack","exitOnboarding","completeStepAsync","onSaveError","logEvent","useOnboardingEventLogger","usePresentation","availablePresentations","setPresentation","currentUser","UserRequests","isKDM","setActiveAudiences","SharedViewModelKeys","undefined","storage","selectedPresentation","setSelectedPresentation","OnboardingLayout","imageUrls","ImageUrls","isUS","instanceRegion","InstanceRegion","ANNOTATION_NONE_SELECTED","ANNOTATION_LEVEL_1_ICP","ANNOTATION_LEVEL_1","ANNOTATION_LEVEL_2_ICP","ANNOTATION_LEVEL_2_US","ANNOTATION_LEVEL_2","ANNOTATION_LEVEL_3_ICP_US","ANNOTATION_LEVEL_3_ICP","ANNOTATION_LEVEL_3_US","ANNOTATION_LEVEL_3","getAnnotation","hasCustomButtons","onClickNext","presentationId","presentationName","presentationDescription","description","preferredPresentationOverride","Promise","reject","onClickComeBackLater","disableNext","OnboardingScreenHeading","OnboardingScreenInfo","DivButton","onClick","onSelectPresentation","CoverPill"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/537-850ad2ee25-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/widgets/items/subject-widget-item/CoverPill.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/left-panel-item.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/LeftPanelItem.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/mock-discover.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/MockDiscover.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/mock-layout.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/MockLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/views/school-level/school-level.scss","file:///app/packages/projects/lite/src/apps/onboarding/views/school-level/OnboardingSchoolLevelView.tsx","file:///app/packages/libs/shared/src/components/widgets/items/subject-widget-item/cover-pill.scss"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { BaseObject, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './cover-pill.scss';\n\nconst namespace = 'shared.subjectWidgetItem';\n\ninterface NamePanelProps {\n name: string;\n multiline?: boolean;\n subtitle?: string;\n}\n\nconst ComingSoonNamePanel = ({ name, multiline }: NamePanelProps) => {\n let wrapperClassName = `${styles.comingSoonPanel} \n d-flex flex-column align-items-center justify-content-center px-3 text-center`;\n\n let textClassName = '';\n\n if (!multiline) {\n wrapperClassName += ' text-nowrap';\n textClassName += ' text-truncate';\n } else {\n textClassName += ` ${styles.clamped} clamp-2`;\n }\n\n return (\n <div className={wrapperClassName}>\n <small className='text-secondary'><Text namespace={namespace} phrase='comingSoon' /></small>\n <p className={`${styles.name} h6`}><span className={textClassName}>{name}</span></p>\n </div>\n );\n};\n\nconst NormalNamePanel = ({ name, multiline, subtitle }: NamePanelProps) => {\n let wrapperClassName = 'px-3 d-flex flex-column justify-content-center';\n let textClassName = `${styles.name} h6`;\n\n if (!multiline) {\n wrapperClassName += ' text-nowrap text-truncate';\n textClassName += ' text-truncate mb-0 pb-1';\n } else {\n textClassName += ' clamp-3 text-start';\n }\n\n return (\n <div className={wrapperClassName}>\n {subtitle && <div className={`text-secondary clamp-1 ${styles.text}`}>{subtitle}</div>}\n <div className={textClassName} title={name}>{name}</div>\n </div>\n );\n};\n\nexport interface CoverPillWidgetItemProps<T extends BaseObject> {\n data: T;\n getChildAppLink?: (data: T) => Core.AppLink;\n getChildAppLinkOptions?: () => Core.AppLinkOptions;\n isLarge?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n availablePresentations?: Presentation[];\n getSubtitle?: (data: T) => string;\n multiline?: boolean;\n}\n\ninterface CoverPillWidgetContentProps<T> extends CoverPillWidgetItemProps<T> {\n coverUrl?: string;\n subtitle?: string;\n isComingSoon?: boolean;\n className?: string;\n imageClassName?: string;\n isSelected?: boolean;\n hideFallback?: boolean;\n hideCheckmark?: boolean;\n}\n\nexport function CoverPillWidgetContent(props: CoverPillWidgetContentProps<BaseObject>): JSX.Element {\n const coverUrl = ImageHelper.createUrl(props.coverUrl, { size: props.isLarge ? ImageSize.Medium : ImageSize.Small });\n\n const childProps = {\n name: props.data.name,\n multiline: props.isLarge || props.multiline,\n subtitle: props.subtitle\n };\n\n return (\n <div\n className={`border d-flex position-relative ${props.className} ${styles.widgetItem} ${props.isSelected ? 'border-success border-2' : ''}`}\n id={`${props.data.id}-${RandomHelper.getRandomInt()}`}\n >\n {props.isSelected && (\n <div className={`${styles.selectedMask} border-2`} />\n )}\n\n <div className={`${styles.imagePanel} ${props.isLarge ? styles.large : ''}`}>\n {props.isSelected && !props.hideCheckmark && (\n <div className={styles.selected}>\n <IconCircle svgName={cvSvgLibrary.Check} svgSize={SvgContainerSize.Large} textVariant='white' variant='green' />\n </div>\n )}\n\n <div\n className={`${styles.image} ${props.imageClassName}`}\n style={props.coverUrl ? { backgroundImage: `url('${coverUrl}')` } : {}}\n />\n {!props.hideFallback && (\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses={props.isLarge ? styles.large : ''}\n />\n )}\n </div>\n\n {props.isComingSoon\n ? <ComingSoonNamePanel {...childProps} />\n : <NormalNamePanel {...childProps} />\n }\n </div>\n );\n}\n\nexport function CoverPillWidgetContentWrapper(props: CoverPillWidgetContentProps<BaseObject>) {\n const appLink = props.getChildAppLink ? props.getChildAppLink(props.data) : null;\n\n return (\n <>\n {appLink ? (\n <AppLink\n className={styles.appLink}\n appLink={appLink}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n appLinkOptions={props.getChildAppLinkOptions?.()}\n >\n <CoverPillWidgetContent {...props} />\n </AppLink>\n ) : (<CoverPillWidgetContent {...props} />)\n }\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"LkdHB\",\"above\":\"ROdbm\",\"below\":\"OzyHx\",\"left\":\"W9EBF\",\"right\":\"zhio2\",\"divider\":\"cdR_p\",\"imageContainer\":\"QZZMF\"};","import React from 'react';\n\nimport styles from './left-panel-item.scss';\n\ninterface LeftPanelItemProps {\n contentPosition?: 'center' | 'right';\n annotationUrl?: string;\n annotationPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n annotationClassName?: string;\n}\n\nLeftPanelItem.defaultProps = {\n contentPosition: 'center'\n};\n\nexport function LeftPanelItem(props: React.PropsWithChildren<LeftPanelItemProps>): JSX.Element {\n function getAnnotationClassName(): string {\n let className = styles.annotation;\n\n switch (props.annotationPosition) {\n case 'top-left': {\n className += ` ${styles.above} ${styles.left}`;\n break;\n }\n\n case 'top-right': {\n className += ` ${styles.above} ${styles.right}`;\n break;\n }\n\n case 'bottom-left': {\n className += ` ${styles.below} ${styles.left}`;\n break;\n }\n\n case 'bottom-right': {\n className += ` ${styles.below} ${styles.right}`;\n break;\n }\n }\n\n if (props.annotationClassName)\n className += ` ${props.annotationClassName}`;\n\n return className;\n }\n\n function getContainerClassName(): string {\n let className = `d-flex align-items-center text-center position-relative w-100 ${styles.imageContainer}`;\n\n if (props.contentPosition === 'center')\n className += ' px-5 justify-content-center';\n\n if (props.contentPosition === 'right')\n className += ' me-n5 justify-content-end';\n\n return className;\n }\n\n return (\n <div className={getContainerClassName()}>\n {!!props.annotationUrl && (\n <div className={getAnnotationClassName()}>\n <img className={`img-fluid`} src={props.annotationUrl} />\n </div>\n )}\n\n {props.children}\n {props.contentPosition === 'right' && (\n <div className={styles.divider} />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"magicTab\":\"H5jzm\",\"subjectPlaceholder\":\"r1L6T\",\"placeholderCover\":\"z9CFT\",\"promotedTopicPlaceholder\":\"PbYs6\",\"promotedTopicPlaceholderText\":\"hZ8Nf\"};","import React from 'react';\n\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Classification, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-discover.scss';\n\ninterface SubjectPlaceholderProps {\n coverUrl?: string;\n}\n\nfunction SubjectPlaceholder(props: SubjectPlaceholderProps): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`d-flex border rounded-3 overflow-hidden ${styles.subjectPlaceholder}`}>\n {props.coverUrl ? (\n <div className={styles.placeholderCover}>\n <img className='img-fluid' src={ImageHelper.createUrl(props.coverUrl, { size: ImageSize.Small })} />\n </div>\n ) : (\n <div className={`${styles.placeholderCover} bg-light-blue`} />\n )}\n </div>\n </li>\n );\n}\n\nfunction PromotedTopicPlaceholder(): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`bg-light-blue rounded-3 w-100 p-1 ${styles.promotedTopicPlaceholder}`} />\n </li>\n );\n}\n\ninterface MockDiscoverProps {\n subjects?: Classification[];\n presentation?: Presentation;\n curriculum?: Presentation;\n editingCurriculum?: boolean;\n}\n\nexport function MockDiscover(props: MockDiscoverProps): JSX.Element {\n const placeholderSubjects = Math.max(12 - (props.subjects?.length ?? 0), 0);\n\n return (\n <MockLayout\n presentation={props.presentation}\n curriculum={props.curriculum}\n editingCurriculum={props.editingCurriculum}\n >\n <div className='px-3 pt-3 w-100 d-flex flex-column align-items-center'>\n {/* Magic tabs */}\n <div className='rounded-3 border overflow-hidden d-flex mb-2'>\n <div className={`bg-light ${styles.magicTab}`} />\n <div className={`${styles.magicTab}`} />\n </div>\n\n {/* Subjects */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2'>\n {props.subjects?.map(subject => {\n return (\n <SubjectPlaceholder key={subject.id} coverUrl={subject.cover?.url} />\n );\n })}\n {new Array(placeholderSubjects).fill(0).map((_, index) => {\n return (\n <SubjectPlaceholder key={index} />\n );\n })}\n </ul>\n\n {/* Promoted topics */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1'>\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n </ul>\n </div>\n </MockLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"AlRQD\",\"logo\":\"L42gR\",\"blackBar\":\"ESCxm\",\"topNav\":\"a3G_4\",\"leftNav\":\"YxGVV\",\"belowHeader\":\"jc_cg\",\"leftNavIcon\":\"U6i6r\",\"leftNavText\":\"LnYlW\",\"presentationPlaceholderIcon\":\"Ljaju\",\"presentationIcon\":\"QdwPq\",\"presentationPlaceholderText\":\"af06V\",\"curriculumIcon\":\"N7T4T\",\"curriculumIconSmall\":\"_6xrUg\",\"curriculumContainer\":\"Z65qX\",\"iconPlaceholder\":\"CKOXL\",\"shadow\":\"zygeJ\",\"presentationName\":\"Oj7Dt\"};","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClickViewLogo, ClickViewPrimaryLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport styles from './mock-layout.scss';\n\nconst namespace = 'onboarding.mockLayout';\n\nfunction LeftNavItem(): JSX.Element {\n return (\n <div className='d-flex align-items-center justify-content-center mb-2 px-3'>\n <div className={`${styles.leftNavIcon} rounded-circle`} />\n <div className={`${styles.leftNavText} rounded-pill`} />\n </div>\n );\n}\n\ninterface MockLayoutProps {\n editingCurriculum?: boolean;\n curriculum?: Presentation;\n presentation?: Presentation;\n}\n\nexport function MockLayout(props: React.PropsWithChildren<MockLayoutProps>): JSX.Element {\n const breakpoints = useBreakpoints();\n \n function getPresentationClass(): string {\n if (!props.presentation)\n return styles.presentationPlaceholderIcon;\n\n switch (TopicsHelper.getMappedPresentationLevel(props.presentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return `bg-indigo ${styles.presentationIcon}`;\n\n case PresentationLearningLevel.Level_3:\n return `bg-blue ${styles.presentationIcon}`;\n\n default:\n case PresentationLearningLevel.Level_2:\n return `bg-green ${styles.presentationIcon}`;\n }\n }\n\n return (\n <div className={`border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100`}>\n {!!props.editingCurriculum && (\n <div className={`w-100 h-100 position-absolute ${styles.shadow}`}>\n <div className={`d-flex align-items-center h-100 w-50 ${styles.curriculumContainer}`}>\n <div className='bg-white rounded-3 border p-3 w-100'>\n <h2 className='h6 text-start'><Text namespace={namespace} phrase='curriculum' /></h2>\n\n {props.curriculum ? (\n <div className='d-flex align-items-center'>\n <div className={`${styles.curriculumIcon} rounded-circle me-2 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n <div className='text-start'>{props.curriculum.name}</div>\n </div>\n ) : (\n <div className='d-flex align-items-center text-secondary'>\n <div className={`me-2 rounded-circle p-1 ${styles.iconPlaceholder}`}>\n <IconCircle svgSize={SvgContainerSize.Large} textVariant='secondary' svgName={cvSvgLibrary.GraduationCap} />\n </div>\n <Text namespace={namespace} phrase='selectCurriculum' />\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Black bar */}\n <div className={`bg-dark d-flex px-3 py-2 ${styles.blackBar}`}>\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle ${styles.dot}`} />\n </div>\n\n {/* Header */}\n <div className={`border-bottom px-3 py-2 d-flex align-items-center ${styles.topNav}`}>\n <div className={`${styles.logo} me-4`}>\n {breakpoints.xs ? (\n <ClickViewPrimaryLogo />\n ) : (\n <ClickViewLogo />\n )}\n </div>\n <div className='form-control w-75 d-flex justify-content-start'>\n <SvgContainer svgName={cvSvgLibrary.Search} />\n </div>\n {!!props.curriculum && (\n <div className={`${styles.curriculumIconSmall} rounded-circle ms-2 me-n1 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n )}\n </div>\n\n <div className={`d-flex ${styles.belowHeader}`}>\n {/* Left nav */}\n <div className={`${styles.leftNav} border-end`}>\n <div className='d-flex flex-column pt-3 h-100'>\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n\n {/* Presentation */}\n <div className='d-flex align-items-end h-100 w-100'>\n <div className='border-top p-3 w-100'>\n <div className='d-flex align-items-center'>\n <div className={`${getPresentationClass()} text-white rounded`}>\n <SvgContainer svgName={cvSvgLibrary.School} size={SvgContainerSize.Large} />\n </div>\n\n {!props.presentation ? (\n <div className={`${styles.presentationPlaceholderText} fw-semibold`}>\n <Text namespace={namespace} phrase='schoolLevel' />\n </div>\n ) : (\n <span className={`fw-semibold text-truncate ${styles.presentationName}`}>{props.presentation.name}</span>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Main content */}\n <div className={`w-100 h-100 overflow-hidden`}>\n {props.children}\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"cover\":\"p3PFT\",\"presentationList\":\"PT_ec\"};","import React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CoverPillWidgetContent } from 'libs/shared/components/widgets/items/subject-widget-item/CoverPill';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useIsKDM } from 'libs/shared/hooks/UseIsKdm';\nimport { CurrentUser, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport { OnboardingScreenHeading } from 'apps/onboarding/components/heading/OnboardingScreenHeading';\nimport { OnboardingScreenInfo } from 'apps/onboarding/components/info/OnboardingScreenInfo';\nimport { OnboardingLayout } from 'apps/onboarding/components/layout/OnboardingLayout';\nimport { LeftPanelItem } from 'apps/onboarding/components/left-panel-item/LeftPanelItem';\nimport { MockDiscover } from 'apps/onboarding/components/mock-views/discover/MockDiscover';\nimport { useOnboardingCallbacks } from 'apps/onboarding/hooks/useOnboardingCallbacks';\nimport { useOnboardingEventLogger } from 'apps/onboarding/hooks/useOnboardingEventLogger';\nimport { OnboardingViewProps } from 'apps/onboarding/interfaces/OnboardingViewProps';\n\nimport styles from './school-level.scss';\n\nconst namespace = 'onboarding.schoolLevel';\n\nexport function OnboardingSchoolLevelView(props: OnboardingViewProps): JSX.Element {\n const {\n onClickBack,\n exitOnboarding,\n completeStepAsync,\n onSaveError\n } = useOnboardingCallbacks(props.redirectUrl);\n const { logEvent } = useOnboardingEventLogger();\n const { availablePresentations, setPresentation } = usePresentation();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const isKDM = useIsKDM();\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const [ selectedPresentation, setSelectedPresentation ] = React.useState<Presentation>();\n\n function onSelectPresentation(presentation: Presentation): void {\n logEvent(UserAction.Select, OnboardingDescriptor.SelectPresentation, {\n presentationId: presentation.id,\n presentationName: presentation.name,\n presentationDescription: presentation.description\n });\n\n setSelectedPresentation(presentation);\n }\n\n async function onClickNext(): Promise<void> {\n logEvent(UserAction.Click, OnboardingDescriptor.Next, {\n presentationId: selectedPresentation.id,\n presentationName: selectedPresentation.name,\n presentationDescription: selectedPresentation.description\n }, {\n preferredPresentationOverride: selectedPresentation\n });\n\n setActiveAudiences(null);\n \n try {\n await setPresentation(selectedPresentation, 'activeAndPreferred');\n await completeStepAsync({ preferredPresentationOverride: selectedPresentation });\n } catch {\n onSaveError();\n return Promise.reject();\n }\n }\n\n function getAnnotation(): string {\n const imageUrls = ImageUrls.OnboardingV2.SchoolLevel;\n const isUS = currentUser.data?.instanceRegion === InstanceRegion.US;\n\n if (!selectedPresentation)\n return imageUrls.ANNOTATION_NONE_SELECTED;\n\n switch (TopicsHelper.getMappedPresentationLevel(selectedPresentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return isKDM ? imageUrls.ANNOTATION_LEVEL_1_ICP : imageUrls.ANNOTATION_LEVEL_1;\n \n case PresentationLearningLevel.Level_2: {\n if (isKDM) {\n return imageUrls.ANNOTATION_LEVEL_2_ICP;\n }\n\n return isUS ? imageUrls.ANNOTATION_LEVEL_2_US : imageUrls.ANNOTATION_LEVEL_2;\n }\n\n case PresentationLearningLevel.Level_3: {\n if (isKDM) {\n return isUS\n ? imageUrls.ANNOTATION_LEVEL_3_ICP_US\n : imageUrls.ANNOTATION_LEVEL_3_ICP;\n }\n\n return isUS ? imageUrls.ANNOTATION_LEVEL_3_US : imageUrls.ANNOTATION_LEVEL_3;\n }\n\n default:\n return imageUrls.ANNOTATION_LEVEL_1;\n }\n }\n\n return (\n <OnboardingLayout namespace={namespace}>\n <OnboardingLayout.Left className='bg-dark-blue d-flex flex-column align-items-end justify-content-center'>\n <LeftPanelItem\n contentPosition='right'\n annotationUrl={getAnnotation()}\n annotationPosition='bottom-left'\n >\n <MockDiscover presentation={selectedPresentation} />\n </LeftPanelItem>\n </OnboardingLayout.Left>\n\n <OnboardingLayout.Right\n hasCustomButtons={false}\n onClickNext={onClickNext}\n onClickBack={onClickBack}\n onClickComeBackLater={exitOnboarding}\n disableNext={!selectedPresentation}\n >\n <OnboardingScreenHeading>\n <Text phrase={isKDM ? 'headingKdm' : 'heading'} />\n </OnboardingScreenHeading>\n\n <OnboardingScreenInfo>\n <Text phrase='info' />\n </OnboardingScreenInfo>\n\n <ul className={`list-unstyled mb-1 ${styles.presentationList}`}>\n {availablePresentations.map(presentation => {\n return (\n <li key={presentation.id} className='mb-2'>\n <DivButton\n onClick={() => onSelectPresentation(presentation)}\n >\n <CoverPillWidgetContent\n data={presentation}\n coverUrl={presentation.cover?.url}\n imageClassName={styles.cover}\n isSelected={presentation.id === selectedPresentation?.id}\n />\n </DivButton>\n </li>\n );\n })}\n </ul>\n\n <OnboardingScreenInfo>\n <Text phrase='dontWorry' />\n </OnboardingScreenInfo>\n </OnboardingLayout.Right>\n </OnboardingLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"appLink\":\"fFjKN\",\"name\":\"A_by9\",\"selectedMask\":\"xSQtR\",\"widgetItem\":\"Ys9W_\",\"text\":\"JfAoy\",\"imagePanel\":\"aUNDc\",\"partialLargeImage\":\"RuLxv\",\"selected\":\"BViJb\",\"image\":\"LkTep\",\"dragHandle\":\"CJqvP\",\"large\":\"R5clw\",\"comingSoonPanel\":\"Wa2PG\",\"editSubjectsItem\":\"gGNFD\",\"allSubjectsItem\":\"IHdlJ\",\"logoContainer\":\"Nzaes\",\"draggingItem\":\"zUOye\",\"partialLargeFallback\":\"FmJP9\",\"partialIcon\":\"sdZuo\"};"],"names":["ComingSoonNamePanel","name","multiline","wrapperClassName","textClassName","className","namespace","phrase","NormalNamePanel","subtitle","title","CoverPillWidgetContent","props","coverUrl","size","isLarge","childProps","data","isSelected","id","hideCheckmark","svgName","svgSize","S","textVariant","variant","imageClassName","style","backgroundImage","hideFallback","type","extraClasses","isComingSoon","CoverPillWidgetContentWrapper","appLink","getChildAppLink","analyticsData","analyticsOptions","appLinkOptions","getChildAppLinkOptions","LeftPanelItem","contentPosition","annotationUrl","annotationPosition","annotationClassName","getAnnotationClassName","src","children","defaultProps","SubjectPlaceholder","ImageHelper","PromotedTopicPlaceholder","MockDiscover","placeholderSubjects","Math","max","subjects","length","MockLayout","presentation","curriculum","editingCurriculum","map","subject","key","cover","url","Array","fill","_","index","LeftNavItem","breakpoints","useBreakpoints","Text","IconCircle","imageUrl","SvgContainer","xs","ClickViewLogo","TopicsHelper","learningLevel","PresentationLearningLevel","getPresentationClass","OnboardingSchoolLevelView","useOnboardingCallbacks","redirectUrl","onClickBack","exitOnboarding","completeStepAsync","onSaveError","logEvent","useOnboardingEventLogger","usePresentation","availablePresentations","setPresentation","currentUser","UserRequests","isKDM","setActiveAudiences","SharedViewModelKeys","undefined","storage","selectedPresentation","setSelectedPresentation","OnboardingLayout","imageUrls","ImageUrls","isUS","instanceRegion","InstanceRegion","ANNOTATION_NONE_SELECTED","ANNOTATION_LEVEL_1_ICP","ANNOTATION_LEVEL_1","ANNOTATION_LEVEL_2_ICP","ANNOTATION_LEVEL_2_US","ANNOTATION_LEVEL_2","ANNOTATION_LEVEL_3_ICP_US","ANNOTATION_LEVEL_3_ICP","ANNOTATION_LEVEL_3_US","ANNOTATION_LEVEL_3","getAnnotation","hasCustomButtons","onClickNext","presentationId","presentationName","presentationDescription","description","preferredPresentationOverride","Promise","reject","onClickComeBackLater","disableNext","OnboardingScreenHeading","OnboardingScreenInfo","DivButton","onClick","onSelectPresentation","CoverPill"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5936],{71020:(e,t,n)=>{n.d(t,{_:()=>u});var r=n(32735),a=n(80247),i=n(34152),l=n(83914),c=n(35223);const o={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u(e){var t,n,u=(t=(0,i.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=u[0],m=u[1];return r.useEffect((function(){var t;e.fetchOnScroll&&m&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[m,e.isFetching]),r.createElement("div",{className:"p-3 text-center ".concat(o.container),ref:d},e.isFetching?r.createElement(a.Z,{as:"span",animation:"border",role:"status",className:o.spinner}):r.createElement(l.x,{svgName:c.vn.ChevronDown,className:"svg-container cursor-pointer",size:l.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},17997:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(32735),a=n(36848),i=n(83345),l=n(22843),c=n(89118),o=n(68626),s=r.memo((function(e){var t,n,s=e.data,u=e.thumbnailSize,d=e.preloadImage,m=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]}),v=null===(n=null===(t=s._timepoints)||void 0===t?void 0:t.value)||void 0===n?void 0:n.length;return r.createElement("div",{className:"flex-shrink-0 px-1 col-6 col-sm-4"},r.createElement(c.u,{type:"static",textPosition:o.z.Independent,video:s,appLink:e.getAppLink(s),imageOptions:{size:u},preload:d,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,setFavourite:e.setFavourite,canFavourite:e.canFavourite,hideDuration:!1,imageCdnUrl:e.imageCdnUrl,isPlugin:e.isPlugin}),r.createElement("div",{className:"mt-2"},r.createElement(l.h,Object.assign({},e,{video:s,appLink:e.getAppLink(s)}))),r.createElement("div",{className:"mt-1"},r.createElement(a.F,{appLink:m,className:"cursor-pointer"},r.createElement(i.x,{namespace:"shared.interactiveWidgetItemV2",phrase:"previewQuestions",options:{count:v,smartCount:v}}))))}))},74696:(e,t,n)=>{n.d(t,{S:()=>s});var r=n(32735),a=n(68050),i=n(69111),l=n(9977),c=n(79967);const o={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function s(e){return r.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(t,n){return r.createElement("div",{className:"d-flex",key:n},e.allowBulkActions&&r.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),r.createElement(u,Object.assign({},e)))})))}function u(e){var t=(0,c.k)(),n="sm"===l.O.getSize(t,"md"),s=e.withReordering&&!t.xs;return r.createElement(a.Z,{className:"".concat(n?"":"py-2"," flex-grow-1")},r.createElement(i.Z,Object.assign({},l.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(n?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),r.createElement(a.Z,null,!!s&&r.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},r.createElement("div",{className:"partial-loading-background ".concat(o.partialDragHandle)})),r.createElement(i.Z,{xs:l.O.getThumbnailColSize(s)},r.createElement("div",{className:"partial-loading-background ".concat(n?"rounded":"rounded-3"," ").concat(o.partialThumbnail)})))),r.createElement(i.Z,Object.assign({},l.O.getDetailsColumns(),{className:n?"pb-2":"px-2"}),r.createElement("div",{className:"partial-loading-background mb-1 ".concat(o.partialName)}),r.createElement("div",{className:"partial-loading-background ".concat(o.partialDescription)})))}s.defaultProps={numVideos:15}},3133:(e,t,n)=>{n.d(t,{R:()=>s});var r=n(32735),a=n(20789),i=n(86794),l=n(2786),c=n(64818);const o={avatarContainer:"kd18L",cvIcon:"smUBc"};function s(e){var t;if(!e.owner&&!e.isClickViewCurated)return r.createElement(r.Fragment,null);if(e.isClickViewCurated)return r.createElement("div",{className:"clamp-1 d-flex align-items-center"},r.createElement("div",{className:"".concat(o.avatarContainer," me-1 border rounded-circle position-relative")},r.createElement(i.b,{className:"me-1 ".concat(o.cvIcon)},r.createElement(l.Sd,null))),"ClickView");var n=c.l.getCommunityName(e.owner);return n?r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"".concat(o.avatarContainer," me-1")},r.createElement(a.q,{imageCdnUrl:e.imageCdnUrl,initials:c.l.getInitials(e.owner.name,e.owner.surname),imageUrl:null===(t=e.owner.avatar)||void 0===t?void 0:t.url})),r.createElement("div",{className:"clamp-1"},n)):r.createElement(r.Fragment,null)}},47862:(e,t,n)=>{n.d(t,{K:()=>d});var r=n(32735),a=n(65858),i=n(36848),l=n(83345),c=n(89118),o=n(3133),s=n(54610),u=n(68626);var d=r.memo((function(e){var t,n=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]});return r.createElement("div",{className:"flex-shrink-0 px-1 ".concat("rXatl")},r.createElement("div",{className:"row m-0 border rounded p-2 h-100"},r.createElement("div",{className:"col-6 p-0"},r.createElement(c.u,{video:e.data,appLink:e.getAppLink(e.data),type:"cosmetic",imageOptions:{size:s.h2.Small},textPosition:u.z.Independent,preload:!0,analyticsOptions:{location:a.LZ.SlidingListItem}})),r.createElement("div",{className:"col-6 p-0"},r.createElement("div",{className:"ps-2"},r.createElement(i.F,{appLink:e.getAppLink(e.data)},r.createElement("h3",{className:"h6 mb-1"},r.createElement("span",{className:"clamp-2"},e.data.name))),r.createElement(o.R,{owner:e.data.owner,isClickViewCurated:null===(t=e.data._isClickViewCurated)||void 0===t?void 0:t.value,imageCdnUrl:e.imageCdnUrl}),r.createElement(i.F,{className:"info-link",appLink:n},r.createElement(l.x,{namespace:"shared.interactiveWidgetItem",phrase:"previewQuestions"}))))))}))},94644:(e,t,n)=>{n.d(t,{r:()=>u});var r=n(50242),a=n(81886),i=n(67058),l=n(14553),c=n(49267),o=n(49075),s={notFound:i.d,forbidden:{rating:l.q,yearLevel:l.q,region:c.a,privacy:l.q},badRequest:o._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var l=Object.assign(Object.assign({},s),t);i&&a.Q.Ry.isStatusCodeError(i)&&(i!==r.o.NotFound?i!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new l.badRequest):n.forbidden||a.Q.Ry.throw(new l.forbidden.privacy):n.notFound||a.Q.Ry.throw(new l.notFound))}}},91286:(e,t,n)=>{n.d(t,{v:()=>l});var r=n(32735),a=n(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,n){var l=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){l.forEach((function(e){(0,a.r)(e.statusCode,t,n)}))}),[i(l),t,n])}},59598:(e,t,n)=>{var r;n.d(t,{K:()=>r}),function(e){e.Resources="resources",e.Interactives="interactives",e.Video="video",e.Clips="clips",e.CurriculumLinks="curriculum-links",e.VideoDetails="video-details",e.RelatedVideos="related-videos",e.ClippedFrom="clipped-from"}(r||(r={}))},84062:(e,t,n)=>{n.d(t,{M:()=>g});var r=n(32735),a=n(17082),i=n(65858),l=n(38647),c=n(16714),o=n(22902),s=n(31908),u=n(26492),d=n(78166),m=n(27638),v=n(22490),p=n(57245);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e){var t,n,g=e.shareLink?i.LZ.PlaySharedInteractive:i.LZ.PlayInteractive,h=(t=r.useState(!0),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return f(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)?f(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.")}()),y=h[0],E=h[1],b=s.M.isVideoTypeArchived(e.interactive),N=r.useMemo((function(){return(0,a.oD)()}),[]),I=(0,m.u)(g),A=I.setFavourite,x=I.canFavourite,C=(0,o.T)().hasPermissions;return r.createElement("div",{className:"px-3"},b&&r.createElement(u.T,{typeId:e.interactive.typeId,hasStudentExperience:!0}),r.createElement("div",{className:"mb-3"},r.createElement(p._,{config:e.config,video:e.interactive,currentUser:e.currentUser,shareLink:e.shareLink,viewKey:e.viewKey,startTime:e.startTime,onShowSummary:function(e){E(!e)},summaryPortalNode:N})),r.createElement("div",null,y&&r.createElement("h1",{className:"h3 d-flex"},e.interactive.name,r.createElement(l.m,{tooltipPlacement:"right",className:"ps-1",video:e.interactive,yearGroups:e.yearGroups}))),r.createElement(a.t0,{node:N}),!C(c.C.StudentExperience)&&r.createElement(d.Z,{currentVideo:e.interactive,yearGroups:e.yearGroups,currentUser:e.currentUser,setFavourite:A,canFavourite:x,relatedVideos:e.relatedVideos,audiences:e.audiences,getVideoAppLink:function(t,n){var r;return v.W.getAppLink(t,Object.assign(Object.assign({},n),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:null===(r=e.shareLink)||void 0===r?void 0:r.id,moviesAndTv:e.queryParams.mtv}))},moviesAndTv:e.queryParams.mtv,isPlugin:e.isPlugin}))}},25758:(e,t,n)=>{n.d(t,{x:()=>q});var r=n(32735),a=n(17082),i=n(23481),l=n(28400),c=n(65858),o=n(83657),s=n(36848),u=n(17997),d=n(83345),m=n(38647),v=n(11518),p=n(47862),f=n(10439),g=n(35429),h=n(5960),y=n(4594),E=n(58704),b=n(37802),N=n(31908),I=n(47938),A=n(78166),x=n(14070),C=n(97291),S=n(10671),w=n(27638),k=n(22490),P=n(83914),V=n(83523),L=n(76177),O=n(35223),T=i.T.encloseNamespace("interactives.previewInteractive");function j(e){return r.createElement("div",{className:"alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center",role:"alert"},e.isArchived?r.createElement("div",{className:"d-flex align-items-center"},r.createElement(P.x,{svgName:O.vn.Archive,size:P.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},T("archivedInfoTitle")),r.createElement("p",{className:"mb-1"},T("archivedInfo")))):r.createElement(d.x,{phrase:"alert"}),e.isPreviewPreventScrubbingEnabled&&r.createElement(L.u,{title:T("previewPreventScrubbingExplain"),trigger:"hover",spanHack:!0},r.createElement("div",{className:"d-flex mt-1 mt-lg-0"},r.createElement("div",{className:"me-2"},r.createElement(d.x,{phrase:"previewPreventScrubbing"})),r.createElement(V.Z,{on:e.isPreviewingPreventScrubbing,onClick:e.toggleStudentMode}))))}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var R="interactives.previewInteractive",U=i.T.encloseNamespace(R);function q(e){var t,n,i,P,V,L,O,T,q,M=e.shareId?c.LZ.PreviewSharedInteractive:c.LZ.PreviewInteractive,D=(0,g.g)(),G=(T=r.useState(!1),q=2,function(e){if(Array.isArray(e))return e}(T)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(T,q)||function(e,t){if(e){if("string"==typeof e)return F(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)?F(e,t):void 0}}(T,q)||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.")}()),_=G[0],Z=G[1],W=N.M.getCanBeConsumed(e.interactive).canConsume,z=r.useMemo((function(){return(0,a.oD)()}),[]),Q=(0,S._)({location:S.i.PlayPage,shareId:e.shareId}),B=(0,w.u)(M),K=B.setFavourite,H=B.canFavourite,$=(0,b.r)(null).hasPlayPageV2;L=_,O=function(){var e,t,n;null===(n=null===(t=null===(e=D.playerRef)||void 0===e?void 0:e.current)||void 0===t?void 0:t.togglePreviewPreventScrubbing)||void 0===n||n.call(t)},r.useEffect((function(){O()}),[L]);var Y,X,J,ee,te=(Y=e.interactive)._parentClip||Y._parentVideo;N.M.isClip(te)?(X=null===(n=null===(t=te.interactives)||void 0===t?void 0:t.data)||void 0===n?void 0:n.filter((function(t){return t.id.toString()!==e.interactive.id.toString()})),J=te.name,ee={application:C.O.CLIPS,action:x.e.Clips.PLAY_CLIP,args:[te.id,l.m.slugify(te.name)]}):(X=null===(P=null===(i=te.interactives)||void 0===i?void 0:i.data)||void 0===P?void 0:P.filter((function(t){return t.id.toString()!==e.interactive.id.toString()})),J=te.name,ee={application:C.O.VIDEOS,action:x.e.Videos.PLAY_VIDEO,args:[te.id,l.m.slugify(te.name)]});var ne=e.interactive.status===h.X.Draft;return r.createElement(d.D.Provider,{value:R},r.createElement("div",{className:"px-4"},r.createElement(I.W,{restrictions:e.interactive._restrictions,yearGroups:e.yearGroups,objectId:e.interactive.id,objectTypeId:y.E.Interactive,canManageVideoAccess:e.canManageVideoAccess}),r.createElement(j,{isPreviewPreventScrubbingEnabled:e.isPreviewPreventScrubbingEnabled,isPreviewingPreventScrubbing:_,toggleStudentMode:function(){Z(!_)},isArchived:N.M.isVideoTypeArchived(e.interactive)}),r.createElement("div",{className:"mb-3"},W&&r.createElement(f.r,{key:e.interactive.id,objectId:e.interactive.id,objectTypeId:e.interactive.typeId,shareId:e.shareId,startTime:null!==(V=e.queryParams.t)&&void 0!==V?V:e.queryParams.startTime,mode:"default",location:"play-page"})),r.createElement("div",{className:"d-flex justify-content-between align-items-center"},r.createElement("div",{className:"inline-block w-100"},r.createElement("div",{className:"ms-2 float-end"},r.createElement(o.e,{actions:Q.getVideoActions(e.interactive),actionsDropdownClassName:"btn btn-outline-dark",fetchMore:function(){return Q.fetchMoreActions(e.interactive)}})),r.createElement("h1",{className:"h3 mb-2"},ne&&r.createElement("div",{className:"badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base"},r.createElement(d.x,{phrase:"draft"})),e.interactive.name,r.createElement(m.m,{tooltipPlacement:"right",className:"ps-1",video:e.interactive,yearGroups:e.yearGroups})),N.M.canViewOriginalVideo(e.interactive)&&r.createElement("div",{className:"mb-1 me-3 clamp-1"},r.createElement(d.x,{phrase:"viewOriginal"})," ",r.createElement(s.F,{appLink:ee,className:"text-info"},J)))),e.interactive.description&&r.createElement("p",null,e.interactive.description),r.createElement("div",{className:"mb-3"},r.createElement(a.t0,{node:z})),!!(null==X?void 0:X.length)&&r.createElement("div",{className:"pb-3"},$?r.createElement(v.kM,{name:U("otherInteractives",{count:X.length}),contents:E.z.Interactives,collection:X,prefetched:!0,getChildAppLink:function(e){return{application:C.O.INTERACTIVES,action:x.e.Interactives.VIEW_INTERACTIVE,args:[e.id,l.m.slugify(e.name)]}},childComponent:u.H,extraChildComponentProps:{yearGroups:e.yearGroups,questionsAppLink:{application:C.O.INTERACTIVES,action:x.e.Interactives.PREVIEW_QUESTIONS},imageCdnUrl:e.config.imageCdnUrl,isPlugin:e.isPlugin},analyticsData:{widgetId:"interactives"}}):r.createElement(v.kM,{name:U("otherInteractives",{count:X.length}),contents:E.z.Interactives,collection:X,prefetched:!0,getChildAppLink:function(e){return{application:C.O.INTERACTIVES,action:x.e.Interactives.VIEW_INTERACTIVE,args:[e.id,l.m.slugify(e.name)]}},childComponent:p.K,extraChildComponentProps:{video:te,questionsAppLink:{application:C.O.INTERACTIVES,action:x.e.Interactives.PREVIEW_QUESTIONS},imageCdnUrl:e.config.imageCdnUrl},analyticsData:{widgetId:"interactives"}})),r.createElement(A.Z,{currentVideo:e.interactive,yearGroups:e.yearGroups,setFavourite:K,canFavourite:H,currentUser:e.currentUser,audiences:e.audiences,relatedVideos:e.relatedVideos,getVideoAppLink:function(t,n){return k.W.getAppLink(t,Object.assign(Object.assign({},n),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv}))},moviesAndTv:e.queryParams.mtv,isPlugin:e.isPlugin})))}},26492:(e,t,n)=>{n.d(t,{T:()=>u});var r=n(32735),a=n(23481),i=n(65858),l=n(83914),c=n(4594),o=n(35223),s="shared.playPage";function u(e){var t=a.T.encloseNamespace(s),n=function(e){switch(e){case c.E.Video:return"video";case c.E.Clip:return"clip";case c.E.Interactive:return"interactive";default:return""}}(e.typeId);return r.createElement("div",{className:"alert bg-light-blue p-3 rounded-3 d-flex justify-content-between align-items-center"},r.createElement(l.x,{svgName:o.vn.Archive,size:l.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},t("archivedInfoTitle",{type:n})),(!e.hasStudentExperience||n===i.py.Video)&&r.createElement("p",{className:"mb-1"},t("archivedInfo",{type:"".concat(n,"s")}))))}},47938:(e,t,n)=>{n.d(t,{W:()=>m});var r=n(32735),a=n(36848),i=n(83914),l=n(83345),c=n(5345),o=n(26361),s=n(14070),u=n(97291),d="shared.playPage";function m(e){var t,n;if(!(null===(n=null===(t=e.restrictions)||void 0===t?void 0:t.value)||void 0===n?void 0:n.length)||!e.yearGroups||!e.canManageVideoAccess)return r.createElement(r.Fragment,null);if(o.l.getWeightedRestriction(e.restrictions.value).type!==c.c.Custom)return r.createElement(r.Fragment,null);var m=o.l.mapRestrictionToClass(e.restrictions),v="".concat(m," fw-semibold p-2 rounded mb-3 d-flex justify-content-between align-items-center");return r.createElement("div",{className:v},r.createElement("div",{className:"d-flex align-items-center"},r.createElement(i.x,{svgName:o.l.mapRestrictionToSvg(e.restrictions),size:i.S.Large}),r.createElement("span",{className:"ps-1"},o.l.mapRestrictionToText(e.restrictions,e.yearGroups))),r.createElement(a.F,{appLink:{application:u.O.DEFAULT,action:s.e.Default.APPROVE_VIDEO,params:{objectId:e.objectId,objectTypeId:e.objectTypeId}},className:"btn btn-outline-dark"},r.createElement(l.x,{namespace:d,phrase:"approve"})))}},78166:(e,t,n)=>{n.d(t,{Z:()=>h});var r=n(32735),a=n(71020),i=n(83345),l=n(74696),c=n(13231),o=n(51365),s=n(22902),u=n(59598),d=n(31908),m=n(10671),v=n(10741),p=n(22490),f=n(82431),g="shared.relatedVideos";function h(e){var t,n,h=(0,m._)({location:m.i.VideoItem}),y=(0,s.T)().hasPermissions;if(!(null===(t=e.currentUser)||void 0===t?void 0:t.isAuthenticated))return r.createElement(r.Fragment,null);if(e.relatedVideos.hasError)return r.createElement(r.Fragment,null);if(e.relatedVideos.hasCompleted&&!(null===(n=e.relatedVideos.videos)||void 0===n?void 0:n.length))return r.createElement(r.Fragment,null);if(!e.relatedVideos.isFetching&&!e.relatedVideos.hasCompleted)return r.createElement(r.Fragment,null);var E=!d.M.isInteractive(e.currentVideo);return r.createElement("section",{id:u.K.RelatedVideos,ref:function(t){var n,r;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&(null===(r=e.relatedVideos.videos)||void 0===r?void 0:r.length)&&e.headingRef.current.set(u.K.RelatedVideos,t)}},r.createElement(o.M.Provider,{value:h},r.createElement("h2",{className:"h4 mb-0"},r.createElement(i.x,{namespace:g,phrase:E?"upNext":"relatedVideos"})),e.relatedVideos.hasCompleted?r.createElement(c.E4,{videos:e.relatedVideos.videos,yearGroups:e.yearGroups,getSubTextAppLink:function(t){return f.j.getSeriesAppLink(t.series,e.moviesAndTv?{mtv:!0}:null)},getVideoAppLink:e.getVideoAppLink,hasPermissions:y,setFavourite:e.setFavourite,canFavourite:e.canFavourite,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:function(e){return v.j.getPreviewQuestionsAppLink(e)},isPlugin:e.isPlugin,getClassroomGuideAppLink:p.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:p.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:p.W.getResourceGuidanceAppLink}):r.createElement(l.S,null),e.relatedVideos.hasMore&&r.createElement(a._,{isFetching:e.relatedVideos.isFetching,fetchNext:e.relatedVideos.fetchNext})))}},44110:(e,t,n)=>{n.d(t,{i:()=>l});var r=n(20354),a=n(89454),i=n(86698),l=function(){var e=(0,i.y)({redirectOnError:!0}),t=e.activePresentation,n=e.getFallbackPresentation,l=t||n();return r.a.useBasicFetch(!!l&&a.O.presentationAudiences(l.id))}},53073:(e,t,n)=>{n.d(t,{f:()=>s});var r=n(20354),a=n(16714),i=n(12754),l=n(31949),c=n(22902),o=n(15311);function s(){var e=(0,c.T)().hasPermissions,t=(0,o.r)().hasProduct,n=r.a.useBasicFetch(l.N.currentUser());return!e(a.C.StudentExperience)&&t(i.x.Primary)&&n.data.isAuthenticated}},97816:(e,t,n)=>{n.d(t,{V:()=>u});var r=n(32735),a=n(20354),i=n(21750),l=n(31949),c=n(1575);function o(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u(e){var t,n,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=a.a.useBasicFetch(l.N.currentUser()),m=r.useRef(new Set),v=e&&(Array.isArray(e)?e.filter(Boolean).map((function(e){return e.id})):e.data.filter(Boolean).map((function(e){return e.id}))),p=(t=r.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||o(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=p[0],g=p[1];r.useEffect((function(){if((null==v?void 0:v.length)&&d.hasCompleted){var e=[];v.forEach((function(t){m.current.has(t)||(e.push(t),m.current.add(t))})),e.length&&g((function(t){var n,r=[].concat(function(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t),[c.R.videoMixinAssocs(e,u.flightNamespace)]);return(null===(n=d.data)||void 0===n?void 0:n.isAuthenticated)&&r.push(i.x.hasCurriculumLinks(e,null,u.flightNamespace)),r}))}}),[null==v?void 0:v.length,d.hasCompleted]),a.a.useBasicFetchAll(f)}}}]);
2
- //# sourceMappingURL=5936-59acb26157-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5936],{71020:(e,t,n)=>{n.d(t,{_:()=>u});var r=n(32735),a=n(80247),i=n(34152),l=n(83914),c=n(35223);const o={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u(e){var t,n,u=(t=(0,i.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=u[0],m=u[1];return r.useEffect((function(){var t;e.fetchOnScroll&&m&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[m,e.isFetching]),r.createElement("div",{className:"p-3 text-center ".concat(o.container),ref:d},e.isFetching?r.createElement(a.Z,{as:"span",animation:"border",role:"status",className:o.spinner}):r.createElement(l.x,{svgName:c.vn.ChevronDown,className:"svg-container cursor-pointer",size:l.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},17997:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(32735),a=n(36848),i=n(83345),l=n(22843),c=n(89118),o=n(68626),s=r.memo((function(e){var t,n,s=e.data,u=e.thumbnailSize,d=e.preloadImage,m=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]}),v=null===(n=null===(t=s._timepoints)||void 0===t?void 0:t.value)||void 0===n?void 0:n.length;return r.createElement("div",{className:"flex-shrink-0 px-1 col-6 col-sm-4"},r.createElement(c.u,{type:"static",textPosition:o.z.Independent,video:s,appLink:e.getAppLink(s),imageOptions:{size:u},preload:d,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,setFavourite:e.setFavourite,canFavourite:e.canFavourite,hideDuration:!1,imageCdnUrl:e.imageCdnUrl,isPlugin:e.isPlugin}),r.createElement("div",{className:"mt-2"},r.createElement(l.h,Object.assign({},e,{video:s,appLink:e.getAppLink(s)}))),r.createElement("div",{className:"mt-1"},r.createElement(a.F,{appLink:m,className:"cursor-pointer"},r.createElement(i.x,{namespace:"shared.interactiveWidgetItemV2",phrase:"previewQuestions",options:{count:v,smartCount:v}}))))}))},74696:(e,t,n)=>{n.d(t,{S:()=>s});var r=n(32735),a=n(68050),i=n(69111),l=n(9977),c=n(79967);const o={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function s(e){return r.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(t,n){return r.createElement("div",{className:"d-flex",key:n},e.allowBulkActions&&r.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),r.createElement(u,Object.assign({},e)))})))}function u(e){var t=(0,c.k)(),n="sm"===l.O.getSize(t,"md"),s=e.withReordering&&!t.xs;return r.createElement(a.Z,{className:"".concat(n?"":"py-2"," flex-grow-1")},r.createElement(i.Z,Object.assign({},l.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(n?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),r.createElement(a.Z,null,!!s&&r.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},r.createElement("div",{className:"partial-loading-background ".concat(o.partialDragHandle)})),r.createElement(i.Z,{xs:l.O.getThumbnailColSize(s)},r.createElement("div",{className:"partial-loading-background ".concat(n?"rounded":"rounded-3"," ").concat(o.partialThumbnail)})))),r.createElement(i.Z,Object.assign({},l.O.getDetailsColumns(),{className:n?"pb-2":"px-2"}),r.createElement("div",{className:"partial-loading-background mb-1 ".concat(o.partialName)}),r.createElement("div",{className:"partial-loading-background ".concat(o.partialDescription)})))}s.defaultProps={numVideos:15}},3133:(e,t,n)=>{n.d(t,{R:()=>s});var r=n(32735),a=n(20789),i=n(86794),l=n(2786),c=n(64818);const o={avatarContainer:"kd18L",cvIcon:"smUBc"};function s(e){var t;if(!e.owner&&!e.isClickViewCurated)return r.createElement(r.Fragment,null);if(e.isClickViewCurated)return r.createElement("div",{className:"clamp-1 d-flex align-items-center"},r.createElement("div",{className:"".concat(o.avatarContainer," me-1 border rounded-circle position-relative")},r.createElement(i.b,{className:"me-1 ".concat(o.cvIcon)},r.createElement(l.Sd,null))),"ClickView");var n=c.l.getCommunityName(e.owner);return n?r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"".concat(o.avatarContainer," me-1")},r.createElement(a.q,{imageCdnUrl:e.imageCdnUrl,initials:c.l.getInitials(e.owner.name,e.owner.surname),imageUrl:null===(t=e.owner.avatar)||void 0===t?void 0:t.url})),r.createElement("div",{className:"clamp-1"},n)):r.createElement(r.Fragment,null)}},47862:(e,t,n)=>{n.d(t,{K:()=>d});var r=n(32735),a=n(65858),i=n(36848),l=n(83345),c=n(89118),o=n(3133),s=n(54610),u=n(68626);var d=r.memo((function(e){var t,n=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]});return r.createElement("div",{className:"flex-shrink-0 px-1 ".concat("rXatl")},r.createElement("div",{className:"row m-0 border rounded p-2 h-100"},r.createElement("div",{className:"col-6 p-0"},r.createElement(c.u,{video:e.data,appLink:e.getAppLink(e.data),type:"cosmetic",imageOptions:{size:s.h2.Small},textPosition:u.z.Independent,preload:!0,analyticsOptions:{location:a.LZ.SlidingListItem}})),r.createElement("div",{className:"col-6 p-0"},r.createElement("div",{className:"ps-2"},r.createElement(i.F,{appLink:e.getAppLink(e.data)},r.createElement("h3",{className:"h6 mb-1"},r.createElement("span",{className:"clamp-2"},e.data.name))),r.createElement(o.R,{owner:e.data.owner,isClickViewCurated:null===(t=e.data._isClickViewCurated)||void 0===t?void 0:t.value,imageCdnUrl:e.imageCdnUrl}),r.createElement(i.F,{className:"info-link",appLink:n},r.createElement(l.x,{namespace:"shared.interactiveWidgetItem",phrase:"previewQuestions"}))))))}))},94644:(e,t,n)=>{n.d(t,{r:()=>u});var r=n(50242),a=n(81886),i=n(67058),l=n(14553),c=n(49267),o=n(49075),s={notFound:i.d,forbidden:{rating:l.q,yearLevel:l.q,region:c.a,privacy:l.q},badRequest:o._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var l=Object.assign(Object.assign({},s),t);i&&a.Q.Ry.isStatusCodeError(i)&&(i!==r.o.NotFound?i!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new l.badRequest):n.forbidden||a.Q.Ry.throw(new l.forbidden.privacy):n.notFound||a.Q.Ry.throw(new l.notFound))}}},91286:(e,t,n)=>{n.d(t,{v:()=>l});var r=n(32735),a=n(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,n){var l=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){l.forEach((function(e){(0,a.r)(e.statusCode,t,n)}))}),[i(l),t,n])}},59598:(e,t,n)=>{var r;n.d(t,{K:()=>r}),function(e){e.Resources="resources",e.Interactives="interactives",e.Video="video",e.Clips="clips",e.CurriculumLinks="curriculum-links",e.VideoDetails="video-details",e.RelatedVideos="related-videos",e.ClippedFrom="clipped-from"}(r||(r={}))},84062:(e,t,n)=>{n.d(t,{M:()=>g});var r=n(32735),a=n(17082),i=n(65858),l=n(38647),c=n(16714),o=n(22902),s=n(31908),u=n(26492),d=n(78166),m=n(27638),v=n(22490),p=n(57245);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e){var t,n,g=e.shareLink?i.LZ.PlaySharedInteractive:i.LZ.PlayInteractive,h=(t=r.useState(!0),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return f(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)?f(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.")}()),y=h[0],E=h[1],b=s.M.isVideoTypeArchived(e.interactive),N=r.useMemo((function(){return(0,a.oD)()}),[]),I=(0,m.u)(g),A=I.setFavourite,x=I.canFavourite,C=(0,o.T)().hasPermissions;return r.createElement("div",{className:"px-3"},b&&r.createElement(u.T,{typeId:e.interactive.typeId,hasStudentExperience:!0}),r.createElement("div",{className:"mb-3"},r.createElement(p._,{config:e.config,video:e.interactive,currentUser:e.currentUser,shareLink:e.shareLink,viewKey:e.viewKey,startTime:e.startTime,onShowSummary:function(e){E(!e)},summaryPortalNode:N})),r.createElement("div",null,y&&r.createElement("h1",{className:"h3 d-flex"},e.interactive.name,r.createElement(l.m,{tooltipPlacement:"right",className:"ps-1",video:e.interactive,yearGroups:e.yearGroups}))),r.createElement(a.t0,{node:N}),!C(c.C.StudentExperience)&&r.createElement(d.Z,{currentVideo:e.interactive,yearGroups:e.yearGroups,currentUser:e.currentUser,setFavourite:A,canFavourite:x,relatedVideos:e.relatedVideos,audiences:e.audiences,getVideoAppLink:function(t,n){var r;return v.W.getAppLink(t,Object.assign(Object.assign({},n),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:null===(r=e.shareLink)||void 0===r?void 0:r.id,moviesAndTv:e.queryParams.mtv}))},moviesAndTv:e.queryParams.mtv,isPlugin:e.isPlugin}))}},25758:(e,t,n)=>{n.d(t,{x:()=>U});var r=n(32735),a=n(17082),i=n(23481),l=n(28400),c=n(65858),o=n(83657),s=n(36848),u=n(17997),d=n(83345),m=n(38647),v=n(11518),p=n(47862),f=n(10439),g=n(35429),h=n(5960),y=n(4594),E=n(58704),b=n(37802),N=n(31908),I=n(47938),A=n(78166),x=n(14070),C=n(97291),S=n(10671),w=n(27638),k=n(22490),P=n(83914),V=n(83523),L=n(76177),O=n(35223),T=i.T.encloseNamespace("interactives.previewInteractive");function j(e){return r.createElement("div",{className:"alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center",role:"alert"},e.isArchived?r.createElement("div",{className:"d-flex align-items-center"},r.createElement(P.x,{svgName:O.vn.Archive,size:P.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},T("archivedInfoTitle")),r.createElement("p",{className:"mb-1"},T("archivedInfo")))):r.createElement(d.x,{phrase:"alert"}),e.isPreviewPreventScrubbingEnabled&&r.createElement(L.u,{title:T("previewPreventScrubbingExplain"),trigger:"hover",spanHack:!0},r.createElement("div",{className:"d-flex mt-1 mt-lg-0"},r.createElement("div",{className:"me-2"},r.createElement(d.x,{phrase:"previewPreventScrubbing"})),r.createElement(V.Z,{on:e.isPreviewingPreventScrubbing,onClick:e.toggleStudentMode}))))}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var R="interactives.previewInteractive",M=i.T.encloseNamespace(R);function U(e){var t,n,i,P,V,L,O,T,U,q=e.shareId?c.LZ.PreviewSharedInteractive:c.LZ.PreviewInteractive,D=(0,g.g)(),G=(T=r.useState(!1),U=2,function(e){if(Array.isArray(e))return e}(T)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(T,U)||function(e,t){if(e){if("string"==typeof e)return F(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)?F(e,t):void 0}}(T,U)||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.")}()),_=G[0],Z=G[1],W=N.M.getCanBeConsumed(e.interactive).canConsume,z=r.useMemo((function(){return(0,a.oD)()}),[]),Q=(0,S._)({location:S.i.PlayPage,shareId:e.shareId}),B=(0,w.u)(q),K=B.setFavourite,H=B.canFavourite,$=(0,b.r)(null).hasPlayPageV2;L=_,O=function(){var e,t,n;null===(n=null===(t=null===(e=D.playerRef)||void 0===e?void 0:e.current)||void 0===t?void 0:t.togglePreviewPreventScrubbing)||void 0===n||n.call(t)},r.useEffect((function(){O()}),[L]);var Y,X,J,ee,te=(Y=e.interactive)._parentClip||Y._parentVideo;N.M.isClip(te)?(X=null===(n=null===(t=te.interactives)||void 0===t?void 0:t.data)||void 0===n?void 0:n.filter((function(t){return t.id.toString()!==e.interactive.id.toString()})),J=te.name,ee={application:C.O.CLIPS,action:x.e.Clips.PLAY_CLIP,args:[te.id,l.m.slugify(te.name)]}):(X=null===(P=null===(i=te.interactives)||void 0===i?void 0:i.data)||void 0===P?void 0:P.filter((function(t){return t.id.toString()!==e.interactive.id.toString()})),J=te.name,ee={application:C.O.VIDEOS,action:x.e.Videos.PLAY_VIDEO,args:[te.id,l.m.slugify(te.name)]});var ne=e.interactive.status===h.X.Draft;return r.createElement(d.D.Provider,{value:R},r.createElement("div",{className:"px-4"},r.createElement(I.W,{restrictions:e.interactive._restrictions,yearGroups:e.yearGroups,objectId:e.interactive.id,objectTypeId:y.E.Interactive,canManageVideoAccess:e.canManageVideoAccess}),r.createElement(j,{isPreviewPreventScrubbingEnabled:e.isPreviewPreventScrubbingEnabled,isPreviewingPreventScrubbing:_,toggleStudentMode:function(){Z(!_)},isArchived:N.M.isVideoTypeArchived(e.interactive)}),r.createElement("div",{className:"mb-3"},W&&r.createElement(f.r,{key:e.interactive.id,objectId:e.interactive.id,objectTypeId:e.interactive.typeId,shareId:e.shareId,startTime:null!==(V=e.queryParams.t)&&void 0!==V?V:e.queryParams.startTime,mode:"default",location:"play-page"})),r.createElement("div",{className:"d-flex justify-content-between align-items-center"},r.createElement("div",{className:"inline-block w-100"},r.createElement("div",{className:"ms-2 float-end"},r.createElement(o.e,{actions:Q.getVideoActions(e.interactive),actionsDropdownClassName:"btn btn-outline-dark",fetchMore:function(){return Q.fetchMoreActions(e.interactive)}})),r.createElement("h1",{className:"h3 mb-2"},ne&&r.createElement("div",{className:"badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base"},r.createElement(d.x,{phrase:"draft"})),e.interactive.name,r.createElement(m.m,{tooltipPlacement:"right",className:"ps-1",video:e.interactive,yearGroups:e.yearGroups})),N.M.canViewOriginalVideo(e.interactive)&&r.createElement("div",{className:"mb-1 me-3 clamp-1"},r.createElement(d.x,{phrase:"viewOriginal"})," ",r.createElement(s.F,{appLink:ee,className:"text-info"},J)))),e.interactive.description&&r.createElement("p",null,e.interactive.description),r.createElement("div",{className:"mb-3"},r.createElement(a.t0,{node:z})),!!(null==X?void 0:X.length)&&r.createElement("div",{className:"pb-3"},$?r.createElement(v.kM,{name:M("otherInteractives",{count:X.length}),contents:E.z.Interactives,collection:X,prefetched:!0,getChildAppLink:function(e){return{application:C.O.INTERACTIVES,action:x.e.Interactives.VIEW_INTERACTIVE,args:[e.id,l.m.slugify(e.name)]}},childComponent:u.H,extraChildComponentProps:{yearGroups:e.yearGroups,questionsAppLink:{application:C.O.INTERACTIVES,action:x.e.Interactives.PREVIEW_QUESTIONS},imageCdnUrl:e.config.imageCdnUrl,isPlugin:e.isPlugin},analyticsData:{widgetId:"interactives"}}):r.createElement(v.kM,{name:M("otherInteractives",{count:X.length}),contents:E.z.Interactives,collection:X,prefetched:!0,getChildAppLink:function(e){return{application:C.O.INTERACTIVES,action:x.e.Interactives.VIEW_INTERACTIVE,args:[e.id,l.m.slugify(e.name)]}},childComponent:p.K,extraChildComponentProps:{video:te,questionsAppLink:{application:C.O.INTERACTIVES,action:x.e.Interactives.PREVIEW_QUESTIONS},imageCdnUrl:e.config.imageCdnUrl},analyticsData:{widgetId:"interactives"}})),r.createElement(A.Z,{currentVideo:e.interactive,yearGroups:e.yearGroups,setFavourite:K,canFavourite:H,currentUser:e.currentUser,audiences:e.audiences,relatedVideos:e.relatedVideos,getVideoAppLink:function(t,n){return k.W.getAppLink(t,Object.assign(Object.assign({},n),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv}))},moviesAndTv:e.queryParams.mtv,isPlugin:e.isPlugin})))}},26492:(e,t,n)=>{n.d(t,{T:()=>u});var r=n(32735),a=n(23481),i=n(65858),l=n(83914),c=n(4594),o=n(35223),s="shared.playPage";function u(e){var t=a.T.encloseNamespace(s),n=function(e){switch(e){case c.E.Video:return"video";case c.E.Clip:return"clip";case c.E.Interactive:return"interactive";default:return""}}(e.typeId);return r.createElement("div",{className:"alert bg-light-blue p-3 rounded-3 d-flex justify-content-between align-items-center"},r.createElement(l.x,{svgName:o.vn.Archive,size:l.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},t("archivedInfoTitle",{type:n})),(!e.hasStudentExperience||n===i.py.Video)&&r.createElement("p",{className:"mb-1"},t("archivedInfo",{type:"".concat(n,"s")}))))}},47938:(e,t,n)=>{n.d(t,{W:()=>m});var r=n(32735),a=n(36848),i=n(83914),l=n(83345),c=n(5345),o=n(26361),s=n(14070),u=n(97291),d="shared.playPage";function m(e){var t,n;if(!(null===(n=null===(t=e.restrictions)||void 0===t?void 0:t.value)||void 0===n?void 0:n.length)||!e.yearGroups||!e.canManageVideoAccess)return r.createElement(r.Fragment,null);if(o.l.getWeightedRestriction(e.restrictions.value).type!==c.c.Custom)return r.createElement(r.Fragment,null);var m=o.l.mapRestrictionToClass(e.restrictions),v="".concat(m," fw-semibold p-2 rounded mb-3 d-flex justify-content-between align-items-center");return r.createElement("div",{className:v},r.createElement("div",{className:"d-flex align-items-center"},r.createElement(i.x,{svgName:o.l.mapRestrictionToSvg(e.restrictions),size:i.S.Large}),r.createElement("span",{className:"ps-1"},o.l.mapRestrictionToText(e.restrictions,e.yearGroups))),r.createElement(a.F,{appLink:{application:u.O.DEFAULT,action:s.e.Default.APPROVE_VIDEO,params:{objectId:e.objectId,objectTypeId:e.objectTypeId}},className:"btn btn-outline-dark"},r.createElement(l.x,{namespace:d,phrase:"approve"})))}},78166:(e,t,n)=>{n.d(t,{Z:()=>h});var r=n(32735),a=n(71020),i=n(83345),l=n(74696),c=n(13231),o=n(51365),s=n(22902),u=n(59598),d=n(31908),m=n(10671),v=n(10741),p=n(22490),f=n(82431),g="shared.relatedVideos";function h(e){var t,n,h=(0,m._)({location:m.i.VideoItem}),y=(0,s.T)().hasPermissions;if(!(null===(t=e.currentUser)||void 0===t?void 0:t.isAuthenticated))return r.createElement(r.Fragment,null);if(e.relatedVideos.hasError)return r.createElement(r.Fragment,null);if(e.relatedVideos.hasCompleted&&!(null===(n=e.relatedVideos.videos)||void 0===n?void 0:n.length))return r.createElement(r.Fragment,null);if(!e.relatedVideos.isFetching&&!e.relatedVideos.hasCompleted)return r.createElement(r.Fragment,null);var E=!d.M.isInteractive(e.currentVideo);return r.createElement("section",{id:u.K.RelatedVideos,ref:function(t){var n,r;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&(null===(r=e.relatedVideos.videos)||void 0===r?void 0:r.length)&&e.headingRef.current.set(u.K.RelatedVideos,t)}},r.createElement(o.M.Provider,{value:h},r.createElement("h2",{className:"h4 mb-0"},r.createElement(i.x,{namespace:g,phrase:E?"upNext":"relatedVideos"})),e.relatedVideos.hasCompleted?r.createElement(c.E4,{videos:e.relatedVideos.videos,yearGroups:e.yearGroups,getSubTextAppLink:function(t){return f.j.getSeriesAppLink(t.series,e.moviesAndTv?{mtv:!0}:null)},getVideoAppLink:e.getVideoAppLink,hasPermissions:y,setFavourite:e.setFavourite,canFavourite:e.canFavourite,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:function(e){return v.j.getPreviewQuestionsAppLink(e)},isPlugin:e.isPlugin,getClassroomGuideAppLink:p.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:p.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:p.W.getResourceGuidanceAppLink}):r.createElement(l.S,null),e.relatedVideos.hasMore&&r.createElement(a._,{isFetching:e.relatedVideos.isFetching,fetchNext:e.relatedVideos.fetchNext})))}},44110:(e,t,n)=>{n.d(t,{i:()=>l});var r=n(20354),a=n(89454),i=n(86698),l=function(){var e=(0,i.y)({redirectOnError:!0}),t=e.activePresentation,n=e.getFallbackPresentation,l=t||n();return r.a.useBasicFetch(!!l&&a.O.presentationAudiences(l.id))}},53073:(e,t,n)=>{n.d(t,{f:()=>s});var r=n(20354),a=n(16714),i=n(12754),l=n(31949),c=n(22902),o=n(15311);function s(){var e=(0,c.T)().hasPermissions,t=(0,o.r)().hasProduct,n=r.a.useBasicFetch(l.N.currentUser());return!e(a.C.StudentExperience)&&t(i.x.Primary)&&n.data.isAuthenticated}},97816:(e,t,n)=>{n.d(t,{V:()=>d});var r=n(32735),a=n(20354),i=n(21750),l=n(31949),c=n(1575),o=n(31908);function s(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e){var t,n,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=a.a.useBasicFetch(l.N.currentUser()),v=r.useRef(new Set),p=function(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(o.M.isVideo(e)||o.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(o.M.isVideo(e)||o.M.isClip(e))})):[]:[]}(e),f=p.map((function(e){return e.id})),g=(t=r.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,c=[],o=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return c}}(t,n)||s(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.")}()),h=g[0],y=g[1];r.useEffect((function(){if((null==f?void 0:f.length)&&m.hasCompleted){var e=[];f.forEach((function(t){v.current.has(t)||(e.push(t),v.current.add(t))})),e.length&&y((function(t){var n,r=[].concat(function(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t),[c.R.videoMixinAssocs(e,d.flightNamespace)]);return(null===(n=m.data)||void 0===n?void 0:n.isAuthenticated)&&r.push(i.x.hasCurriculumLinks(e,null,d.flightNamespace)),r}))}}),[null==f?void 0:f.length,m.hasCompleted]),a.a.useBasicFetchAll(h)}}}]);
2
+ //# sourceMappingURL=5936-7ad136f2a3-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/5936-7ad136f2a3-lite.chunk.js","mappings":"+LACA,SAAgB,UAAY,QAAQ,QAAU,S,sGCmBxC,SAAUA,EAAqBC,GACnC,I,IAAmC,G,GAAX,U,EAAW,E,o4BAA3BC,EAAG,KAAEC,EAAM,KAYnB,OAVA,aAAgB,W,MACTF,EAAMG,eAGND,IAAUF,EAAMI,aAGN,QAAf,EAAAJ,EAAMK,iBAAS,gBAAGL,EAAMM,YAC1B,GAAG,CAAEJ,EAAQF,EAAMI,aAGjB,uBAAKG,UAAS,0BAAqB,aAAoBN,IAAKA,GACzDD,EAAMI,WACH,gBAACI,EAAA,EAAO,CAACC,GAAG,OAAOC,UAAU,SAASC,KAAK,SAASJ,UAAW,YAE/D,gBAACK,EAAA,EAAY,CACXC,QAAS,iBACTN,UAAU,+BACVO,KAAMF,EAAAG,EAAA,MACNC,QAAS,WAAK,MAAC,OAAe,QAAf,EAAAhB,EAAMK,iBAAS,sBAAGL,EAAMM,WAAW,IAM9D,CAhCAP,EAAqBkB,aAAe,CAClCd,eAAe,E,yGCMJe,EAA0B,QAAW,SAASlB,G,QAC3CmB,EAA6CnB,EAAnDoB,KAAmBC,EAAgCrB,EAAhCqB,cAAeC,EAAiBtB,EAAjBsB,aAEpCC,EAAgB,+BACjBvB,EAAMuB,kBAAgB,CACzBC,KAAM,CAACxB,EAAMoB,KAAKK,MAGdC,EAAgD,QAA9B,EAAuB,QAAvB,EAAAP,EAAYQ,mBAAW,eAAEC,aAAK,eAAEC,OAExD,OACE,uBAAKtB,UAAS,qCACZ,gBAAC,IAAc,CACbuB,KAAK,SACLC,aAAc,gBACdC,MAAOb,EACPc,QAASjC,EAAMkC,WAAWf,GAC1BgB,aAAc,CAAErB,KAAMO,GACtBe,QAASd,EACTe,cAAerC,EAAMqC,cACrBC,iBAAkBtC,EAAMsC,iBACxBC,aAAcvC,EAAMuC,aACpBC,aAAcxC,EAAMwC,aACpBC,cAAc,EACdC,YAAa1C,EAAM0C,YACnBC,SAAU3C,EAAM2C,WAGlB,uBAAKpC,UAAU,QACb,gBAAC,IAAa,iBACRP,EAAK,CACTgC,MAAOb,EACPc,QAASjC,EAAMkC,WAAWf,OAI9B,uBAAKZ,UAAU,QACb,gBAAC,IAAO,CAAC0B,QAASV,EAAkBhB,UAAU,kBAC5C,gBAAC,IAAI,CAACqC,UAjDE,iCAiDoBC,OAAO,mBAAmBC,QAAS,CAAEC,MAAOrB,EAAiBsB,WAAYtB,OAM/G,G,6FClEA,SAAgB,eAAiB,QAAQ,YAAc,QAAQ,mBAAqB,QAAQ,iBAAmB,QAAQ,kBAAoB,SCiBrI,SAAUuB,EAAiBjD,GAC/B,OACE,uBAAKO,UAAU,QACZ2C,MAAMlD,EAAMmD,WAAWC,KAAK,MAAMC,KAAI,SAACC,EAAGC,GAAC,OAC1C,uBAAKhD,UAAU,SAASiD,IAAKD,GAC1BvD,EAAMyD,kBAAoB,uBAAKlD,UAAU,yCAC1C,gBAACmD,EAAgB,iBAAK1D,IAClB,IAId,CAEM,SAAU0D,EAAiB1D,GAC/B,IAAM2D,GAAc,EAAAC,EAAA,KAGdC,EAAmB,OADZC,EAAA,UAAwBH,EAAa,MAG5CI,EAAiB/D,EAAMgE,iBAAmBL,EAAYM,GAE5D,OACE,gBAACC,EAAA,EAAG,CAAC3D,UAAS,UAAKsD,EAAU,GAAK,OAAM,iBACtC,gBAACM,EAAA,EAAG,iBAAKL,EAAA,wBAAqC,CAAEvD,UAAS,6CAAwCsD,EAAU,YAAc,uBACvH,gBAACK,EAAA,EAAG,OACCH,GACD,uBAAKxD,UAAU,0DACb,uBAAKA,UAAS,qCAAgC,wBAGlD,gBAAC4D,EAAA,EAAG,CAACF,GAAIH,EAAA,sBAAoCC,IAC3C,uBAAKxD,UAAS,qCAAgCsD,EAAU,UAAY,YAAW,YAAI,yBAIzF,gBAACM,EAAA,EAAG,iBAAKL,EAAA,sBAAmC,CAAEvD,UAAWsD,EAAU,OAAS,SAC1E,uBAAKtD,UAAS,0CAAqC,iBACnD,uBAAKA,UAAS,qCAAgC,yBAItD,CA7CA0C,EAAiBhC,aAAe,CAC9BkC,UAAW,G,4FCdb,SAAgB,gBAAkB,QAAQ,OAAS,SCe7C,SAAUiB,EAAepE,G,MAC7B,IAAKA,EAAMqE,QAAUrE,EAAMsE,mBACzB,OAAO,iCAET,GAAItE,EAAMsE,mBACR,OACE,uBAAK/D,UAAU,qCACb,uBAAKA,UAAS,UAAK,kBAAsB,kDACvC,gBAACgE,EAAA,EAAa,CAAChE,UAAS,eAAU,WAChC,gBAAC,KAAiB,QAEhB,aAMZ,IAAMiE,EAAOC,EAAA,mBAA4BzE,EAAMqE,OAE/C,OAAKG,EAIH,uBAAKjE,UAAU,6BACb,uBAAKA,UAAS,UAAK,kBAAsB,UACvC,gBAACmE,EAAA,EAAM,CACLhC,YAAa1C,EAAM0C,YACnBiC,SAAUF,EAAA,cAAuBzE,EAAMqE,MAAMG,KAAMxE,EAAMqE,MAAMO,SAC/DC,SAA4B,QAAlB,EAAA7E,EAAMqE,MAAMS,cAAM,eAAEC,OAGlC,uBAAKxE,UAAU,WACZiE,IAZE,gCAgBX,C,8HCnCA,IAQaQ,EAAwB,QAAW,SAAShF,G,MACjDuB,EAAgB,+BACjBvB,EAAMuB,kBAAgB,CACzBC,KAAM,CAACxB,EAAMoB,KAAKK,MAGpB,OACE,uBAAKlB,UAAS,6BC/BK,UDgCjB,uBAAKA,UAAU,oCACb,uBAAKA,UAAU,aACb,gBAAC0E,EAAA,EAAc,CACbjD,MAAOhC,EAAMoB,KACba,QAASjC,EAAMkC,WAAWlC,EAAMoB,MAChCU,KAAK,WACLK,aAAc,CAAErB,KAAM,YACtBiB,aAAcmD,EAAA,cACd9C,SAAO,EACPE,iBAAkB,CAAE6C,SAAU,yBAIlC,uBAAK5E,UAAU,aACb,uBAAKA,UAAU,QACb,gBAAC6E,EAAA,EAAO,CAACnD,QAASjC,EAAMkC,WAAWlC,EAAMoB,OACvC,sBAAIb,UAAU,WAAU,wBAAMA,UAAU,WAAWP,EAAMoB,KAAKoD,QAGhE,gBAACJ,EAAA,EAAc,CACbC,MAAOrE,EAAMoB,KAAKiD,MAClBC,mBAAkD,QAA9B,EAAAtE,EAAMoB,KAAKiE,2BAAmB,eAAEzD,MACpDc,YAAa1C,EAAM0C,cAGrB,gBAAC0C,EAAA,EAAO,CAAC7E,UAAU,YAAY0B,QAASV,GACtC,gBAAC+D,EAAA,EAAI,CAAC1C,UA1CF,+BA0CwBC,OAAO,yBAOjD,G,yGExCM0C,EAA8B,CAClCC,SAAU,IACVC,UAAW,CACTC,OAAQ,IACRC,UAAW,IACXC,OAAQ,IACRC,QAAS,KAEXC,WAAY,KAGR,SAAUC,EACdC,GAMkC,IALlCC,EAAA,uDAA+B,CAAC,EAKhCC,EAAA,uDAAgC,CAAC,EAEjC,GAAKF,EAAL,CAGA,IAAIG,EAGFA,EADmB,iBAAVH,EACIA,EAEAA,EAAKI,OAGpB,IAAMC,EAAW,OAAH,wBACTd,GACAU,GAGAE,GAGA,yBAAmCA,KAGpCA,IAAe,aAMfA,IAAe,cAUdD,EAAUJ,YACb,aAAuB,IAAIO,EAASP,YAN/BI,EAAUT,WACb,aAAuB,IAAIY,EAASZ,UAAUI,SAX3CK,EAAUV,UACb,aAAuB,IAAIa,EAASb,UAvBhC,CAuCV,C,6DChFA,SAASc,EAAiBC,GACxB,OAAOA,EAAWlD,KAAI,SAAAmD,GAAG,OAAIA,EAAIL,UAAU,IAAEM,KAAK,IACpD,CAGM,SAAUC,EACdC,EACAC,EACAC,GAEA,IAAMN,EAAarD,MAAM4D,QAAQH,GAAeA,EAAc,CAACA,IAE/D,IAAAI,YAAU,WACRR,EAAWS,SAAQ,SAAAR,IACjB,OAAgBA,EAAIL,WAAYS,EAAcC,EAChD,GACF,GAAG,CAAEP,EAAiBC,GAAaK,EAAcC,GACnD,C,kBCvBA,IAAYI,E,iBAAZ,SAAYA,GACV,wBACA,8BACA,gBACA,gBACA,qCACA,+BACA,iCACA,4BACD,CATD,CAAYA,IAAAA,EAAc,I,iRCuCpB,SAAUC,EAAgBlH,GAC9B,I,IAAMmH,EAAkBnH,EAAMoH,UAC5B,2BACA,qBAE0D,G,EAApB,YAAe,G,EAAK,E,o4BAApDC,EAAW,KAAEC,EAAc,KAE7BC,EAAa,wBAAgCvH,EAAMmB,aAEnDqG,EAAoB,WAAc,kBAAM,SAAsB,GAAE,IAEtE,GAAuC,IAAAC,GAAkBN,GAAjD5E,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACdkF,GAAmB,SAAnBA,eAMR,OACE,uBAAKnH,UAAU,QACZgH,GAAc,gBAAC,IAAc,CAACI,OAAQ3H,EAAMmB,YAAYwG,OAAQC,sBAAoB,IAErF,uBAAKrH,UAAU,QACb,gBAAC,IAAc,CACbsH,OAAQ7H,EAAM6H,OACd7F,MAAOhC,EAAMmB,YACb2G,YAAa9H,EAAM8H,YACnBV,UAAWpH,EAAMoH,UACjBW,QAAS/H,EAAM+H,QACfC,UAAWhI,EAAMgI,UACjBC,cAhBR,SAAuBC,GACrBZ,GAAgBY,EAClB,EAeQV,kBAAmBA,KAKvB,2BACGH,GACC,sBAAI9G,UAAU,aACXP,EAAMmB,YAAYqD,KACnB,gBAAC,IAAkB,CACjB2D,iBAAiB,QACjB5H,UAAU,OACVyB,MAAOhC,EAAMmB,YACbiH,WAAYpI,EAAMoI,eAK1B,gBAAC,KAAS,CAACC,KAAMb,KAEfE,EAAe,wBACf,gBAAC,IAAa,CACZY,aAActI,EAAMmB,YACpBiH,WAAYpI,EAAMoI,WAClBN,YAAa9H,EAAM8H,YACnBvF,aAAcA,EACdC,aAAcA,EACd+F,cAAevI,EAAMuI,cACrBC,UAAWxI,EAAMwI,UACjBC,gBAAiB,SAACC,EAAGC,G,MAAS,sBAA8BD,EAAG,OAAF,wBACxDC,GAAI,CACPC,QAAS5I,EAAM6I,YAAYD,QAC3BE,UAAW9I,EAAM6I,YAAYC,UAC7BC,SAAU/I,EAAM6I,YAAYE,SAC5BC,QAAwB,QAAf,EAAAhJ,EAAMoH,iBAAS,eAAE3F,GAC1BwH,YAAajJ,EAAM6I,YAAYK,M,EAEjCD,YAAajJ,EAAM6I,YAAYK,IAC/BvG,SAAU3C,EAAM2C,WAK1B,C,+WCtGMwG,EAAYC,EAAA,mBADA,mCAUZ,SAAUC,EAAuBrJ,GACrC,OACE,uBAAKO,UAAU,4HAA4HI,KAAK,SAC5IX,EAAMuH,WACN,uBAAKhH,UAAU,6BACb,gBAACK,EAAA,EAAY,CACXC,QAAS,aACTC,KAAMF,EAAAG,EAAA,SACNR,UAAU,uBAGZ,uBAAKA,UAAU,SACb,qBAAGA,UAAU,oBAAoB4I,EAAU,sBAC3C,qBAAG5I,UAAU,QAAQ4I,EAAU,mBAVhB,gBAAC7D,EAAA,EAAI,CAACzC,OAAO,UAcjC7C,EAAMsJ,kCACL,gBAACC,EAAA,EAAO,CACNC,MAAOL,EAAU,kCACjBM,QAAQ,QACRC,UAAQ,GAER,uBAAKnJ,UAAU,uBACb,uBAAKA,UAAU,QAAO,gBAAC+E,EAAA,EAAI,CAACzC,OAAO,6BACnC,gBAAC8G,EAAA,EAAY,CAACC,GAAI5J,EAAM6J,6BAA8B7I,QAAShB,EAAM8J,sBAMjF,C,sGCbA,IAAM,EAAY,kCACZ,EAAYV,EAAA,mBAAiC,GAsB7C,SAAUW,EAAmB/J,G,cC1DjCgK,EACAC,E,ID0DM9C,EAAkBnH,EAAMgJ,QAAU,8BAA2C,wBAE7EkB,GAAgB,SAEyE,G,EAArB,YAAe,G,EAAM,E,o4BAAvFL,EAA4B,KAAEM,EAA+B,KAE7DC,EAAeC,EAAA,mBAA6BrK,EAAMmB,aAAlDiJ,WAEFE,EAAyB,WAAc,kBAAM,SAAsB,GAAE,IAErEC,GAAe,EAAAC,EAAA,GAAgB,CACnCrF,SAAU,aACV6D,QAAShJ,EAAMgJ,UAGjB,GAAuC,EAAAyB,EAAAhD,GAAkBN,GAAjD5E,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACdkI,GAAkB,EAAAC,EAAA,GAAY,MAA9BD,cC3ERV,ED6E6BH,EC5E7BI,ED8EA,W,UACiE,QAA/D,EAAgC,QAAhC,EAAuB,QAAvB,EAAAC,EAAcU,iBAAS,eAAEC,eAAO,eAAEC,qCAA6B,gBACjE,EC9EA,aAAgB,WACdb,GACF,GAAG,CAACD,IDkFJ,IAjDsB7I,EAmDlB4J,EACAC,EACAC,GAJEC,IAjDgB/J,EAiDanB,EAAMmB,aAhDtBgK,aAAehK,EAAYiK,aAsD1Cf,EAAA,SAAmBa,KACrBH,EAAkD,QAA9B,EAAwB,QAAxB,EAAAG,GAAYG,oBAAY,eAAEjK,YAAI,eAAEkK,QAAO,SAAA/H,GACzD,OAAOA,EAAE9B,GAAG8J,aAAevL,EAAMmB,YAAYM,GAAG8J,UAClD,IACAP,EAAaE,GAAY1G,KACzByG,GAAc,CACZO,YAAa,UACbC,OAAQ,oBACRjK,KAAM,CAAE0J,GAAYzJ,GAAIiK,EAAA,UAAmBR,GAAY1G,UAGzDuG,EAAkD,QAA9B,EAAwB,QAAxB,EAAAG,GAAYG,oBAAY,eAAEjK,YAAI,eAAEkK,QAAO,SAAA/H,GACzD,OAAOA,EAAE9B,GAAG8J,aAAevL,EAAMmB,YAAYM,GAAG8J,UAClD,IACAP,EAAaE,GAAY1G,KACzByG,GAAc,CACZO,YAAa,WACbC,OAAQ,sBACRjK,KAAM,CAAE0J,GAAYzJ,GAAIiK,EAAA,UAAmBR,GAAY1G,SAI3D,IAAMmH,GAAU3L,EAAMmB,YAAYiF,SAAWwF,EAAA,QAE7C,OACE,gBAAC,aAAiC,CAAChK,MAAO,GACxC,uBAAKrB,UAAU,QAEb,gBAACsL,EAAA,EAAiB,CAChBC,aAAc9L,EAAMmB,YAAY4K,cAChC3D,WAAYpI,EAAMoI,WAClB4D,SAAUhM,EAAMmB,YAAYM,GAC5BwK,aAAcC,EAAA,cACdC,qBAAsBnM,EAAMmM,uBAG9B,gBAAC9C,EAAsB,CACrBC,iCAAkCtJ,EAAMsJ,iCACxCO,6BAA8BA,EAC9BC,kBAjDR,WACEK,GAAiCN,EACnC,EAgDQtC,WAAY8C,EAAA,sBAAgCrK,EAAMmB,eAGpD,uBAAKZ,UAAU,QACZ6J,GACC,gBAACgC,EAAA,EAAoB,CACnB5I,IAAKxD,EAAMmB,YAAYM,GACvBuK,SAAUhM,EAAMmB,YAAYM,GAC5BwK,aAAcjM,EAAMmB,YAAYwG,OAChCqB,QAAShJ,EAAMgJ,QACfhB,UAA8B,QAAnB,EAAAhI,EAAM6I,YAAYwD,SAAC,QAAIrM,EAAM6I,YAAYb,UACpDsE,KAAK,UACLnH,SAAS,eAIf,uBAAK5E,UAAU,qDACb,uBAAKA,UAAU,sBACb,uBAAKA,UAAU,kBACb,gBAACgM,EAAA,EAAgB,CACfC,QAASjC,EAAakC,gBAAgBzM,EAAMmB,aAC5CuL,yBAAyB,uBACzBC,UAAW,kBAAMpC,EAAaqC,iBAAiB5M,EAAMmB,YAAY,KAIrE,sBAAIZ,UAAU,WACXoL,IACC,uBAAKpL,UAAS,oEACZ,gBAAC+E,EAAA,EAAI,CAACzC,OAAO,WAGhB7C,EAAMmB,YAAYqD,KACnB,gBAACqI,EAAA,EAAkB,CACjB1E,iBAAiB,QACjB5H,UAAU,OACVyB,MAAOhC,EAAMmB,YACbiH,WAAYpI,EAAMoI,cAGrBiC,EAAA,uBAAiCrK,EAAMmB,cACtC,uBAAKZ,UAAU,qBACb,gBAAC+E,EAAA,EAAI,CAACzC,OAAO,iBAAiB,IAAM,gBAACuC,EAAA,EAAO,CAACnD,QAASgJ,GAAa1K,UAAU,aAAayK,MAMjGhL,EAAMmB,YAAY2L,aACjB,yBAAI9M,EAAMmB,YAAY2L,aAGxB,uBAAKvM,UAAU,QACb,gBAAC,KAAS,CAAC8H,KAAMiC,QAGhBS,aAAiB,EAAjBA,EAAmBlJ,SACpB,uBAAKtB,UAAU,QACXmK,EAyBA,gBAAC,KAAW,CACVlG,KAAM,EAAU,oBAAqB,CAAEzB,MAAOgI,EAAkBlJ,SAChEkL,SAAUC,EAAA,eACVC,WAAYlC,EACZmC,YAAU,EACVC,gBAAiB,SAAChM,GAChB,MAAO,CACLqK,YAAa,iBACbC,OAAQ,kCACRjK,KAAM,CAAEL,EAAYM,GAAIiK,EAAA,UAAmBvK,EAAYqD,OAE3D,EACA4I,eAAgBlM,EAAA,EAChBmM,yBAA0B,CACxBjF,WAAYpI,EAAMoI,WAClB7G,iBAAkB,CAChBiK,YAAa,iBACbC,OAAQ,oCAEV/I,YAAa1C,EAAM6H,OAAOnF,YAC1BC,SAAU3C,EAAM2C,UAElBN,cAAe,CAAEiL,SAAU,kBA9C7B,gBAAC,KAAW,CACV9I,KAAM,EAAU,oBAAqB,CAAEzB,MAAOgI,EAAkBlJ,SAChEkL,SAAUC,EAAA,eACVC,WAAYlC,EACZmC,YAAU,EACVC,gBAAiB,SAAChM,GAChB,MAAO,CACLqK,YAAa,iBACbC,OAAQ,kCACRjK,KAAM,CAAEL,EAAYM,GAAIiK,EAAA,UAAmBvK,EAAYqD,OAE3D,EACA4I,eAAgBpI,EAAA,EAChBqI,yBAA0B,CACxBrL,MAAOkJ,GACP3J,iBAAkB,CAChBiK,YAAa,iBACbC,OAAQ,oCAEV/I,YAAa1C,EAAM6H,OAAOnF,aAE5BL,cAAe,CAAEiL,SAAU,mBA+BnC,gBAACC,EAAA,EAAa,CACZjF,aAActI,EAAMmB,YACpBiH,WAAYpI,EAAMoI,WAClB7F,aAAcA,EACdC,aAAcA,EACdsF,YAAa9H,EAAM8H,YACnBU,UAAWxI,EAAMwI,UACjBD,cAAevI,EAAMuI,cACrBE,gBAAiB,SAACC,EAAGC,GAAI,OAAK6E,EAAA,aAA8B9E,EAAG,OAAF,wBACxDC,GAAI,CACPC,QAAS5I,EAAM6I,YAAYD,QAC3BE,UAAW9I,EAAM6I,YAAYC,UAC7BC,SAAU/I,EAAM6I,YAAYE,SAC5BC,QAAShJ,EAAMgJ,QACfC,YAAajJ,EAAM6I,YAAYK,MAC/B,EACFD,YAAajJ,EAAM6I,YAAYK,IAC/BvG,SAAU3C,EAAM2C,YAK1B,C,wGEnQMC,EAAY,kBAoBZ,SAAU6K,EAAezN,GAC7B,IAAMmJ,EAAY,qBAAiCvG,GAC7Cd,EAfR,SAAmB6F,GACjB,OAAQA,GACN,KAAK,UACH,MAAO,QACT,KAAK,SACH,MAAO,OACT,KAAK,gBACH,MAAO,cACT,QACE,MAAO,GAEb,CAIe+F,CAAU1N,EAAM2H,QAE7B,OACE,uBAAKpH,UAAU,uFACb,gBAAC,IAAY,CACXM,QAAS,aACTC,KAAM,EAAAC,EAAA,SACNR,UAAU,uBAGZ,uBAAKA,UAAU,SACb,qBAAGA,UAAU,oBAAoB4I,EAAU,oBAAqB,CAAErH,KAAAA,OAC/D9B,EAAM4H,sBAAwB9F,IAAS,aACxC,qBAAGvB,UAAU,QAAQ4I,EAAU,eAAgB,CAAErH,KAAM,GAAF,OAAKA,EAAI,SAKxE,C,8HCrCMc,EAAY,kBAUZ,SAAUiJ,EAAkB7L,G,QAChC,KAA8B,QAAzB,EAAkB,QAAlB,EAAAA,EAAM8L,oBAAY,eAAElK,aAAK,eAAEC,UAAW7B,EAAMoI,aAAepI,EAAMmM,qBACpE,OAAO,iCAIT,GAFoB,2BAAyCnM,EAAM8L,aAAalK,OAEhEE,OAAS,WACvB,OAAO,iCAET,IAAM6L,EAAgB,0BAAwC3N,EAAM8L,cAC9DvL,EAAY,GAAH,OAAMoN,EAAa,mFAElC,OACE,uBAAKpN,UAAWA,GACd,uBAAKA,UAAU,6BACb,gBAAC,IAAY,CACXM,QAAS,wBAAsCb,EAAM8L,cACrDhL,KAAM,EAAAC,EAAA,QAER,wBAAMR,UAAU,QACb,yBAAuCP,EAAM8L,aAAc9L,EAAMoI,cAItE,gBAAC,IAAO,CACNnG,QAAS,CACPuJ,YAAa,YACbC,OAAQ,0BACRmC,OAAQ,CACN5B,SAAUhM,EAAMgM,SAChBC,aAAcjM,EAAMiM,eAGxB1L,UAAU,wBAEV,gBAAC,IAAI,CAACqC,UAAWA,EAAWC,OAAO,aAI3C,C,sLCxCMD,EAAY,uBAgBZ,SAAU2K,EAAcvN,G,QACtBuK,GAAe,OAAgB,CAAEpF,SAAU,gBACzCuC,GAAmB,SAAnBA,eAER,KAAsB,QAAjB,EAAA1H,EAAM8H,mBAAW,eAAE+F,iBACtB,OAAO,iCAET,GAAI7N,EAAMuI,cAAcuF,SACtB,OAAO,iCAET,GAAI9N,EAAMuI,cAAcwF,gBAA2C,QAA1B,EAAA/N,EAAMuI,cAAcyF,cAAM,eAAEnM,QACnE,OAAO,iCAET,IAAK7B,EAAMuI,cAAcnI,aAAeJ,EAAMuI,cAAcwF,aAC1D,OAAO,iCAGT,IAAME,GAAe,kBAA0BjO,EAAMsI,cAErD,OACE,2BACE7G,GAAI,kBACJxB,IAAK,SAAAiO,G,QACFA,IAAsB,QAAhB,EAAAlO,EAAMmO,kBAAU,eAAEtD,WACM,QAA1B,EAAA7K,EAAMuI,cAAcyF,cAAM,eAAEnM,SAC9B7B,EAAMmO,WAAWtD,QAAQuD,IAAI,kBAA8BF,EAChE,GAEA,gBAAC,aAA4B,CAACtM,MAAO2I,GACnC,sBAAIhK,UAAU,WACZ,gBAAC,IAAI,CAACqC,UAAWA,EAAWC,OAAQoL,EAAc,SAAW,mBAE9DjO,EAAMuI,cAAcwF,aACnB,gBAAC,KAAS,CACRC,OAAQhO,EAAMuI,cAAcyF,OAC5B5F,WAAYpI,EAAMoI,WAClBiG,kBAAmB,SAAArM,GACjB,OAAO,qBAAqCA,EAAMsM,OAAQtO,EAAMiJ,YAAc,CAAEC,KAAK,GAAS,KAChG,EACAT,gBAAiBzI,EAAMyI,gBACvBf,eAAgBA,EAChBnF,aAAcvC,EAAMuC,aACpBC,aAAcxC,EAAMwC,aACpB+L,sBAAuBvO,EAAMwI,UAC7BgG,2BAA4B,SAAArN,GAAW,OAAI,+BAA8CA,EAAY,EACrGwB,SAAU3C,EAAM2C,SAChB8L,yBAA0B,6BAC1BC,8BAA+B,kCAC/BC,2BAA4B,iCAE5B,gBAAC,IAAgB,MAEpB3O,EAAMuI,cAAcqG,SACnB,gBAAC,IAAoB,CACnBxO,WAAYJ,EAAMuI,cAAcnI,WAChCC,UAAWL,EAAMuI,cAAclI,aAM3C,C,wEC5FawO,EAA2B,WACtC,OAAwD,OAAgB,CAAEC,iBAAiB,IAAnFC,EAAkB,EAAlBA,mBAAoBC,EAAuB,EAAvBA,wBAEtBC,EAAeF,GAAsBC,IAO3C,OALkB,oBACdC,GACF,0BAAuCA,EAAaxN,IAIxD,C,yGCTM,SAAUyN,IACd,IAAQxH,GAAmB,SAAnBA,eACAyH,GAAe,SAAfA,WACFrH,EAAc,kBAAkC,mBAEtD,OAAQJ,EAAe,wBACrByH,EAAW,cACXrH,EAAY1G,KAAKyM,eACrB,C,8dCgBM,SAAUuB,EAAcC,GAA+C,I,IAA/BvM,EAAA,uDAA6B,CAAC,EACpEgF,EAAc,kBAAkC,mBAEhDwH,EAAiB,SAA0B,IAAIC,KAE/CvB,EA1BR,SAAyBqB,GACvB,OAAKA,EAGDnM,MAAM4D,QAAQuI,GACTA,EAAQ/D,QAAO,SAAAkE,GAAC,QAAMA,IAAM,YAAoBA,IAAM,WAAmBA,GAAG,IAEjF,SAAUH,EACLA,EAAQjO,KAAKkK,QAAO,SAAAkE,GAAC,QAAMA,IAAM,YAAoBA,IAAM,WAAmBA,GAAG,IAEnF,GARE,EASX,CAeiBC,CAAgBJ,GAEzBK,EAAW1B,EAAO3K,KAAI,SAAAqF,GAAC,OAAIA,EAAEjH,EAAE,IAE+B,G,EAApC,WAAiC,I,EAAG,E,unBAA5DkO,EAAO,KAAEC,EAAU,KAE3B,aAAgB,WACd,IAAKF,aAAQ,EAARA,EAAU7N,SAAWiG,EAAYiG,aAAtC,CAGA,IAAM8B,EAA6B,GAEnCH,EAAS1I,SAAQ,SAAAvF,GACV6N,EAAezE,QAAQiF,IAAIrO,KAC9BoO,EAAiBE,KAAKtO,GACtB6N,EAAezE,QAAQmF,IAAIvO,GAE/B,IAEKoO,EAAiBhO,QAGtB+N,GAAW,SAAAK,G,MACHC,EAAc,GAAH,O,yWAAA,CACZD,GAAC,CACJ,qBAA+BJ,EAAkB/M,EAAQqN,mBAM3D,OAHoB,QAAhB,EAAArI,EAAY1G,YAAI,eAAEyM,kBACpBqC,EAAYH,KAAK,uBAA0CF,EAAkB,KAAM/M,EAAQqN,kBAEtFD,CACT,GAxBQ,CAyBV,GAAG,CAAER,aAAQ,EAARA,EAAU7N,OAAQiG,EAAYiG,eAEnC,qBAAwB4B,EAC1B,C","sources":["file:///app/packages/libs/shared/src/components/infinite-scroll-footer/infinite-scroll-footer.scss","file:///app/packages/libs/shared/src/components/infinite-scroll-footer/InfiniteScrollFooter.tsx","file:///app/packages/libs/shared/src/components/play-page-v2/interactives-widget/InteractiveWidgetItemV2.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/components/video-owner-text/video-owner-text.scss","file:///app/packages/libs/shared/src/components/video-owner-text/VideoOwnerText.tsx","file:///app/packages/libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx","file:///app/packages/libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/interfaces/PlayPageAnchor.ts","file:///app/packages/projects/lite/src/apps/interactives/components/play-interactive/PlayInteractive.tsx","file:///app/packages/projects/lite/src/apps/interactives/components/preview-interactive/InteractiveAlertBanner.tsx","file:///app/packages/projects/lite/src/apps/interactives/components/preview-interactive/PreviewInteractive.tsx","file:///app/packages/projects/lite/src/apps/interactives/hooks/interactiveHooks.tsx","file:///app/packages/projects/lite/src/shared/components/play-page/ArchivedBanner.tsx","file:///app/packages/projects/lite/src/shared/components/play-page/RestrictionBanner.tsx","file:///app/packages/projects/lite/src/shared/components/related-videos/RelatedVideos.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useShouldPreviewInteractive.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"container\":\"VwD1b\",\"spinner\":\"eJ85e\"};","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\nimport { useInView } from 'react-intersection-observer';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './infinite-scroll-footer.scss';\n\ninterface InfiniteScrollFooterProps {\n isFetching: boolean;\n fetchNext?: (nextCursor: string) => void;\n nextCursor?: string;\n fetchOnScroll?: boolean;\n}\n\nInfiniteScrollFooter.defaultProps = {\n fetchOnScroll: false\n};\n\nexport function InfiniteScrollFooter(props: InfiniteScrollFooterProps): React.ReactElement {\n const [ ref, inView ] = useInView();\n\n React.useEffect(() => {\n if (!props.fetchOnScroll)\n return;\n\n if (!inView || props.isFetching)\n return;\n\n props.fetchNext?.(props.nextCursor);\n }, [ inView, props.isFetching ]);\n\n return (\n <div className={`p-3 text-center ${styles.container}`} ref={ref}>\n {props.isFetching\n ? <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n : (\n <SvgContainer\n svgName={cvSvgLibrary.ChevronDown}\n className='svg-container cursor-pointer'\n size={SvgContainerSize.Large}\n onClick={() => props.fetchNext?.(props.nextCursor)}\n />\n )\n }\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ThumbnailText } from 'libs/shared/components/thumbnails/thumbnail-text/ThumbnailText';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { CanFavouriteFunc, FavouriteFunc, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.interactiveWidgetItemV2';\n\nexport interface InteractiveWidgetItemV2Props extends FixedWidgetItemProps<InteractiveMetadata> {\n imageCdnUrl: string;\n questionsAppLink: Core.AppLink;\n setFavourite?: FavouriteFunc;\n canFavourite?: CanFavouriteFunc;\n yearGroups: YearGroup[];\n isPlugin: boolean;\n}\n\nexport const InteractiveWidgetItemV2 = React.memo(function(props: InteractiveWidgetItemV2Props): JSX.Element {\n const { data: interactive, thumbnailSize, preloadImage } = props;\n\n const questionsAppLink: Core.AppLink = {\n ...props.questionsAppLink,\n args: [props.data.id]\n };\n\n const questionsNumber = interactive._timepoints?.value?.length;\n\n return (\n <div className={`flex-shrink-0 px-1 col-6 col-sm-4`}>\n <VideoThumbnail\n type='static'\n textPosition={ThumbnailTextPosition.Independent}\n video={interactive}\n appLink={props.getAppLink(interactive)}\n imageOptions={{ size: thumbnailSize }}\n preload={preloadImage}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n hideDuration={false}\n imageCdnUrl={props.imageCdnUrl}\n isPlugin={props.isPlugin}\n />\n\n <div className='mt-2'>\n <ThumbnailText\n {...props}\n video={interactive}\n appLink={props.getAppLink(interactive)}\n />\n </div>\n\n <div className='mt-1'>\n <AppLink appLink={questionsAppLink} className='cursor-pointer'>\n <Text namespace={namespace} phrase='previewQuestions' options={{ count: questionsNumber, smartCount: questionsNumber }}/>\n </AppLink>\n </div>\n\n </div>\n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","// extracted by mini-css-extract-plugin\nexport default {\"avatarContainer\":\"kd18L\",\"cvIcon\":\"smUBc\"};","import React from 'react';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { ClickViewPlayLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { User } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport styles from './video-owner-text.scss';\n\ninterface VideoOwnerTextProps {\n owner: User;\n isClickViewCurated: boolean;\n imageCdnUrl: string;\n}\n\nexport function VideoOwnerText(props: VideoOwnerTextProps): JSX.Element {\n if (!props.owner && !props.isClickViewCurated)\n return <></>;\n\n if (props.isClickViewCurated) {\n return (\n <div className='clamp-1 d-flex align-items-center'>\n <div className={`${styles.avatarContainer} me-1 border rounded-circle position-relative`}>\n <SvgContainer2 className={`me-1 ${styles.cvIcon}`}>\n <ClickViewPlayLogo />\n </SvgContainer2>\n </div>\n ClickView\n </div>\n );\n }\n\n const name = UserHelper.getCommunityName(props.owner);\n\n if (!name)\n return <></>;\n\n return (\n <div className='d-flex align-items-center'>\n <div className={`${styles.avatarContainer} me-1`}>\n <Avatar\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(props.owner.name, props.owner.surname)}\n imageUrl={props.owner.avatar?.url}\n />\n </div>\n <div className='clamp-1'>\n {name}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoOwnerText } from 'libs/shared/components/video-owner-text/VideoOwnerText';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Clip, InteractiveMetadata, Video } from 'libs/shared/interfaces';\n\nimport styles from './interactive-widget-item.scss';\n\nconst namespace = 'shared.interactiveWidgetItem';\n\nexport interface InteractiveWidgetItemProps extends FixedWidgetItemProps<InteractiveMetadata> {\n video: Video | Clip;\n questionsAppLink: Core.AppLink;\n imageCdnUrl: string;\n}\n\nexport const InteractiveWidgetItem = React.memo(function(props: InteractiveWidgetItemProps): JSX.Element {\n const questionsAppLink: Core.AppLink = {\n ...props.questionsAppLink,\n args: [props.data.id]\n };\n\n return (\n <div className={`flex-shrink-0 px-1 ${styles.item}`}>\n <div className='row m-0 border rounded p-2 h-100'>\n <div className='col-6 p-0'>\n <VideoThumbnail\n video={props.data}\n appLink={props.getAppLink(props.data)}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n preload\n analyticsOptions={{ location: LocationContext.SlidingListItem }}\n />\n </div>\n\n <div className='col-6 p-0'>\n <div className='ps-2'>\n <AppLink appLink={props.getAppLink(props.data)}>\n <h3 className='h6 mb-1'><span className='clamp-2'>{props.data.name}</span></h3>\n </AppLink>\n\n <VideoOwnerText\n owner={props.data.owner}\n isClickViewCurated={props.data._isClickViewCurated?.value}\n imageCdnUrl={props.imageCdnUrl}\n />\n\n <AppLink className='info-link' appLink={questionsAppLink}>\n <Text namespace={namespace} phrase='previewQuestions' />\n </AppLink>\n </div>\n </div>\n </div>\n </div>\n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"rXatl\"};","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","export enum PlayPageAnchor {\n Resources = 'resources',\n Interactives = 'interactives',\n Video = 'video',\n Clips = 'clips',\n CurriculumLinks = 'curriculum-links',\n VideoDetails = 'video-details',\n RelatedVideos = 'related-videos',\n ClippedFrom='clipped-from'\n}","import React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { CheckMarkStatus } from 'libs/shared/components/check-mark-button/CheckMarkButton';\nimport { RestrictionPadlock } from 'libs/shared/components/video-list/components/restriction-padlock/RestrictionPadlock';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, CurrentUser, InteractiveMetadata, PlayerViewKey, PresentationAudience, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\ninterface PlayInteractiveProps {\n interactive: InteractiveMetadata;\n yearGroups: YearGroup[];\n currentUser: CurrentUser;\n config: Config;\n audiences: PresentationAudience[];\n queryParams: PlayViewQueryParams;\n viewKey: PlayerViewKey;\n startTime?: number;\n endTime?: number;\n\n // Share view only\n shareLink?: UnionShareObject;\n sharerInstanceRegion?: string;\n checkMarkStatus?: CheckMarkStatus;\n relatedVideos: RelatedVideosHash;\n isPlugin: boolean;\n}\n\nexport function PlayInteractive(props: PlayInteractiveProps): JSX.Element {\n const locationContext = props.shareLink ?\n LocationContext.PlaySharedInteractive :\n LocationContext.PlayInteractive;\n\n const [ showHeading, setShowHeading ] = React.useState(true);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.interactive);\n\n const summaryPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n const { setFavourite, canFavourite } = useLiteFavourites(locationContext);\n const { hasPermissions } = usePermissions();\n\n function onShowSummary(showing: boolean): void {\n setShowHeading(!showing);\n }\n\n return (\n <div className='px-3'>\n {isArchived && <ArchivedBanner typeId={props.interactive.typeId} hasStudentExperience />}\n\n <div className='mb-3'>\n <LitePlayerView\n config={props.config}\n video={props.interactive}\n currentUser={props.currentUser}\n shareLink={props.shareLink}\n viewKey={props.viewKey}\n startTime={props.startTime}\n onShowSummary={onShowSummary}\n summaryPortalNode={summaryPortalNode}\n />\n </div>\n {/* This wrapping div is here because react seems to not want to play nice\n with adding or removing a node just ahead of an OutPortal */}\n <div>\n {showHeading &&\n <h1 className='h3 d-flex'>\n {props.interactive.name}\n <RestrictionPadlock\n tooltipPlacement='right'\n className='ps-1'\n video={props.interactive}\n yearGroups={props.yearGroups}\n />\n </h1>\n }\n </div>\n <OutPortal node={summaryPortalNode}></OutPortal>\n\n {!hasPermissions(PermissionName.StudentExperience) && (\n <RelatedVideos\n currentVideo={props.interactive}\n yearGroups={props.yearGroups}\n currentUser={props.currentUser}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n relatedVideos={props.relatedVideos}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareLink?.id,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n isPlugin={props.isPlugin}\n />\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveAlertBannerProps {\n isPreviewPreventScrubbingEnabled: boolean;\n isPreviewingPreventScrubbing: boolean;\n toggleStudentMode: () => void;\n isArchived: boolean;\n}\n\nexport function InteractiveAlertBanner(props: InteractiveAlertBannerProps): JSX.Element {\n return (\n <div className='alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center' role='alert'>\n {!props.isArchived ? <Text phrase='alert' /> : (\n <div className='d-flex align-items-center'>\n <SvgContainer\n svgName={cvSvgLibrary.Archive}\n size={SvgContainerSize.Standard}\n className='me-2 svg-container'\n />\n \n <div className='w-100'>\n <p className='fw-semibold mb-0'>{getPhrase('archivedInfoTitle')}</p>\n <p className='mb-1'>{getPhrase('archivedInfo')}</p>\n </div>\n </div>\n )}\n {props.isPreviewPreventScrubbingEnabled && (\n <Tooltip\n title={getPhrase('previewPreventScrubbingExplain')}\n trigger='hover'\n spanHack\n >\n <div className='d-flex mt-1 mt-lg-0'>\n <div className='me-2'><Text phrase='previewPreventScrubbing'/></div>\n <ToggleSwitch on={props.isPreviewingPreventScrubbing} onClick={props.toggleStudentMode} />\n </div>\n </Tooltip>\n )}\n </div>\n );\n}","import * as React from 'react';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { InteractiveWidgetItemV2, InteractiveWidgetItemV2Props } from 'libs/shared/components/play-page-v2/interactives-widget/InteractiveWidgetItemV2';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { RestrictionPadlock } from 'libs/shared/components/video-list/components/restriction-padlock/RestrictionPadlock';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Clip, Config, CurrentUser, Interactive, InteractiveMetadata, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { InteractiveAlertBanner } from 'apps/interactives/components/preview-interactive/InteractiveAlertBanner';\nimport { usePreviewPreventInteractive } from 'apps/interactives/hooks/interactiveHooks';\n\nconst namespace = 'interactives.previewInteractive';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getSourceVideo(interactive: InteractiveMetadata): Clip | Video {\n return interactive._parentClip || interactive._parentVideo;\n}\n\ninterface PreviewInteractiveProps {\n interactive: InteractiveMetadata;\n yearGroups: YearGroup[];\n config: Config;\n currentUser: CurrentUser;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n isPreviewPreventScrubbingEnabled: boolean;\n relatedVideos: RelatedVideosHash;\n canManageVideoAccess: boolean;\n isPlugin: boolean;\n\n // Share view only\n shareId?: string;\n}\n\nexport function PreviewInteractive(props: PreviewInteractiveProps): JSX.Element {\n const locationContext = props.shareId ? LocationContext.PreviewSharedInteractive : LocationContext.PreviewInteractive;\n\n const playerContext = usePlayerContext();\n\n const [ isPreviewingPreventScrubbing, setIsPreviewingPreventScrubbing ] = React.useState(false);\n\n const { canConsume } = VideoHelper.getCanBeConsumed(props.interactive);\n\n const questionListPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n \n const videoActions = useVideoActions({\n location: VideoActionsLocation.PlayPage,\n shareId: props.shareId\n });\n\n const { setFavourite, canFavourite } = useLiteFavourites(locationContext);\n const { hasPlayPageV2 } = useSettings(null);\n\n usePreviewPreventInteractive(isPreviewingPreventScrubbing, togglePreviewPreventScrubbing);\n\n function togglePreviewPreventScrubbing() {\n playerContext.playerRef?.current?.togglePreviewPreventScrubbing?.();\n }\n\n function toggleStudentMode() {\n setIsPreviewingPreventScrubbing(!isPreviewingPreventScrubbing);\n }\n\n const sourceVideo = getSourceVideo(props.interactive);\n\n let otherInteractives: InteractiveMetadata[];\n let backToName: string;\n let backAppLink: Core.AppLink;\n\n if (VideoHelper.isClip(sourceVideo)) {\n otherInteractives = sourceVideo.interactives?.data?.filter(i => {\n return i.id.toString() !== props.interactive.id.toString();\n });\n backToName = sourceVideo.name;\n backAppLink = {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ sourceVideo.id, TextHelper.slugify(sourceVideo.name) ]\n };\n } else {\n otherInteractives = sourceVideo.interactives?.data?.filter(i => {\n return i.id.toString() !== props.interactive.id.toString();\n });\n backToName = sourceVideo.name;\n backAppLink = {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ sourceVideo.id, TextHelper.slugify(sourceVideo.name) ]\n };\n }\n\n const isDraft = props.interactive.status === CurationStatus.Draft;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='px-4'>\n\n <RestrictionBanner\n restrictions={props.interactive._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.interactive.id}\n objectTypeId={MasterType.Interactive}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n <InteractiveAlertBanner\n isPreviewPreventScrubbingEnabled={props.isPreviewPreventScrubbingEnabled}\n isPreviewingPreventScrubbing={isPreviewingPreventScrubbing}\n toggleStudentMode={toggleStudentMode}\n isArchived={VideoHelper.isVideoTypeArchived(props.interactive)}\n />\n\n <div className='mb-3'>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.interactive.id}\n objectId={props.interactive.id}\n objectTypeId={props.interactive.typeId}\n shareId={props.shareId}\n startTime={props.queryParams.t ?? props.queryParams.startTime}\n mode='default'\n location='play-page'\n />\n }\n </div>\n <div className='d-flex justify-content-between align-items-center'>\n <div className='inline-block w-100'>\n <div className='ms-2 float-end'>\n <ActionsComponent\n actions={videoActions.getVideoActions(props.interactive)}\n actionsDropdownClassName='btn btn-outline-dark'\n fetchMore={() => videoActions.fetchMoreActions(props.interactive)}\n />\n </div>\n\n <h1 className='h3 mb-2'>\n {isDraft && (\n <div className={`badge draft-badge me-2 align-bottom flex-shrink-0 h-auto lh-base`}>\n <Text phrase='draft' />\n </div>\n )}\n {props.interactive.name}\n <RestrictionPadlock\n tooltipPlacement='right'\n className='ps-1'\n video={props.interactive}\n yearGroups={props.yearGroups}\n />\n </h1>\n {VideoHelper.canViewOriginalVideo(props.interactive) &&\n <div className='mb-1 me-3 clamp-1'>\n <Text phrase='viewOriginal' />&nbsp;<AppLink appLink={backAppLink} className='text-info'>{backToName}</AppLink>\n </div>\n }\n </div>\n </div>\n\n {props.interactive.description &&\n <p>{props.interactive.description}</p>\n }\n\n <div className='mb-3'>\n <OutPortal node={questionListPortalNode}></OutPortal>\n </div>\n\n {!!otherInteractives?.length && (\n <div className='pb-3'>\n {!hasPlayPageV2 ? (\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('otherInteractives', { count: otherInteractives.length })}\n contents={WidgetContents.Interactives}\n collection={otherInteractives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: sourceVideo,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.config.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n ) : (\n <FixedWidget<InteractiveWidgetItemV2Props>\n name={getPhrase('otherInteractives', { count: otherInteractives.length })}\n contents={WidgetContents.Interactives}\n collection={otherInteractives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItemV2}\n extraChildComponentProps={{\n yearGroups: props.yearGroups,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.config.imageCdnUrl,\n isPlugin: props.isPlugin\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n )}\n </div>\n )}\n\n <RelatedVideos\n currentVideo={props.interactive}\n yearGroups={props.yearGroups}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n relatedVideos={props.relatedVideos}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n isPlugin={props.isPlugin}\n />\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nexport function usePreviewPreventInteractive(\n previewPreventInteractive: boolean,\n togglePreviewPreventInteractive: () => void\n): void {\n React.useEffect(() => {\n togglePreviewPreventInteractive();\n }, [previewPreventInteractive]);\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType } from 'libs/analytics/interfaces';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.playPage';\n\ninterface ArchivedBannerProps {\n typeId: MasterType;\n hasStudentExperience: boolean;\n}\n\nfunction mapTypeId(typeId: MasterType): string {\n switch (typeId) {\n case MasterType.Video:\n return 'video';\n case MasterType.Clip:\n return 'clip';\n case MasterType.Interactive:\n return 'interactive';\n default:\n return '';\n }\n}\n\nexport function ArchivedBanner(props: ArchivedBannerProps): JSX.Element {\n const getPhrase = LanguageService.encloseNamespace(namespace);\n const type = mapTypeId(props.typeId);\n\n return (\n <div className='alert bg-light-blue p-3 rounded-3 d-flex justify-content-between align-items-center'>\n <SvgContainer\n svgName={cvSvgLibrary.Archive}\n size={SvgContainerSize.Standard}\n className='me-2 svg-container'\n />\n \n <div className='w-100'>\n <p className='fw-semibold mb-0'>{getPhrase('archivedInfoTitle', { type })}</p>\n {(!props.hasStudentExperience || type === EntityType.Video) && (\n <p className='mb-1'>{getPhrase('archivedInfo', { type: `${type}s` })}</p>\n )}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { RestrictionType } from 'libs/shared/enums/RestrictionType';\nimport { Restrictions, YearGroup } from 'libs/shared/interfaces';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.playPage';\n\ninterface RestrictionBannerProps {\n restrictions: Restrictions;\n yearGroups: YearGroup[];\n objectId: string;\n objectTypeId: MasterType;\n canManageVideoAccess: boolean;\n}\n\nexport function RestrictionBanner(props: RestrictionBannerProps): JSX.Element {\n if (!props.restrictions?.value?.length || !props.yearGroups || !props.canManageVideoAccess)\n return <></>;\n\n const restriction = RestrictionHelper.getWeightedRestriction(props.restrictions.value);\n\n if (restriction.type !== RestrictionType.Custom)\n return <></>;\n\n const baseClassName = RestrictionHelper.mapRestrictionToClass(props.restrictions);\n const className = `${baseClassName} fw-semibold p-2 rounded mb-3 d-flex justify-content-between align-items-center`;\n\n return (\n <div className={className}>\n <div className='d-flex align-items-center'>\n <SvgContainer\n svgName={RestrictionHelper.mapRestrictionToSvg(props.restrictions)}\n size={SvgContainerSize.Large}\n />\n <span className='ps-1'>\n {RestrictionHelper.mapRestrictionToText(props.restrictions, props.yearGroups)}\n </span>\n </div>\n \n <AppLink\n appLink={{\n application: AppChannels.DEFAULT,\n action: Actions.Default.APPROVE_VIDEO,\n params: {\n objectId: props.objectId,\n objectTypeId: props.objectTypeId\n }\n }}\n className='btn btn-outline-dark'\n >\n <Text namespace={namespace} phrase='approve' />\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CanFavouriteFunc, CurrentUser, FavouriteFunc, PresentationAudience, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.relatedVideos';\n\ninterface RelatedVideosProps {\n currentVideo: VideoTypes;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n currentUser: CurrentUser;\n audiences: PresentationAudience[];\n getVideoAppLink: (video: VideoTypes, opts: GetVideoAppLinkOptions) => Core.AppLink;\n moviesAndTv: boolean;\n isPlugin: boolean;\n headingRef?: React.MutableRefObject<Map<PlayPageAnchor, HTMLElement>>;\n}\n\nexport function RelatedVideos(props: RelatedVideosProps): JSX.Element {\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const { hasPermissions } = usePermissions();\n\n if (!props.currentUser?.isAuthenticated) // Don't render if user is unauthenticated\n return <></>;\n\n if (props.relatedVideos.hasError) // Don't render if request has errored\n return <></>;\n\n if (props.relatedVideos.hasCompleted && !props.relatedVideos.videos?.length) // Don't render if response is empty\n return <></>;\n\n if (!props.relatedVideos.isFetching && !props.relatedVideos.hasCompleted) // Don't render if request is never made\n return <></>;\n\n // We don't support autoplaying from interactives. This means the related videos heading won't say \"Up next\"\n const canAutoplay = !VideoHelper.isInteractive(props.currentVideo);\n\n return (\n <section\n id={PlayPageAnchor.RelatedVideos}\n ref={el => {\n (el && props.headingRef?.current\n && !!props.relatedVideos.videos?.length)\n && props.headingRef.current.set(PlayPageAnchor.RelatedVideos, el);\n }}\n >\n <VideoActionsContext.Provider value={videoActions}>\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase={canAutoplay ? 'upNext' : 'relatedVideos'} />\n </h2>\n {props.relatedVideos.hasCompleted ? (\n <VideoList\n videos={props.relatedVideos.videos}\n yearGroups={props.yearGroups}\n getSubTextAppLink={video => {\n return SeriesAppLinkHelper.getSeriesAppLink(video.series, props.moviesAndTv ? { mtv: true } : null);\n }}\n getVideoAppLink={props.getVideoAppLink}\n hasPermissions={hasPermissions}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n ) : <PartialVideoList />\n }\n {props.relatedVideos.hasMore && (\n <InfiniteScrollFooter\n isFetching={props.relatedVideos.isFetching}\n fetchNext={props.relatedVideos.fetchNext}\n />\n )}\n </VideoActionsContext.Provider>\n </section>\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};","import { Flight } from 'libs/common/flight';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nexport function useShouldPreviewInteractive() {\n const { hasPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n return !hasPermissions(PermissionName.StudentExperience) &&\n hasProduct(ProductId.Primary) &&\n currentUser.data.isAuthenticated;\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, ClipCollection, CurrentUser, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ntype Types = Video[] | VideoCollection | Clip[] | ClipCollection;\n\nfunction getValidObjects(objects: Types): (Video | Clip)[] {\n if (!objects)\n return [];\n\n if (Array.isArray(objects))\n return objects.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n if ('data' in objects)\n return objects.data.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n return [];\n}\n\ninterface VideoMixinOptions {\n /**\n * If the videos that are having new data mixed into are sitting on an explicit Flight namespace,\n * providing that namespace here is required\n */\n flightNamespace?: string;\n}\n\nexport function useVideoMixin(objects: Types, options: VideoMixinOptions = {}): void {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const hydratedVideos = React.useRef<Set<string>>(new Set<string>());\n\n const videos = getValidObjects(objects);\n\n const videoIds = videos.map(v => v.id);\n\n const [ request, setRequest ] = React.useState<Flight.Request[]>([]);\n\n React.useEffect(() => {\n if (!videoIds?.length || !currentUser.hasCompleted)\n return;\n\n const unhydratedVideos: string[] = [];\n\n videoIds.forEach(id => {\n if (!hydratedVideos.current.has(id)) {\n unhydratedVideos.push(id);\n hydratedVideos.current.add(id);\n }\n });\n \n if (!unhydratedVideos.length)\n return;\n\n setRequest(r => {\n const newRequests = [\n ...r,\n VideoRequests.videoMixinAssocs(unhydratedVideos, options.flightNamespace)\n ];\n\n if (currentUser.data?.isAuthenticated)\n newRequests.push(ClassificationRequests.hasCurriculumLinks(unhydratedVideos, null, options.flightNamespace));\n\n return newRequests;\n });\n }, [ videoIds?.length, currentUser.hasCompleted ]);\n\n Flight.useBasicFetchAll(request);\n}"],"names":["InfiniteScrollFooter","props","ref","inView","fetchOnScroll","isFetching","fetchNext","nextCursor","className","Spinner","as","animation","role","SvgContainer","svgName","size","S","onClick","defaultProps","InteractiveWidgetItemV2","interactive","data","thumbnailSize","preloadImage","questionsAppLink","args","id","questionsNumber","_timepoints","value","length","type","textPosition","video","appLink","getAppLink","imageOptions","preload","analyticsData","analyticsOptions","setFavourite","canFavourite","hideDuration","imageCdnUrl","isPlugin","namespace","phrase","options","count","smartCount","PartialVideoList","Array","numVideos","fill","map","_","i","key","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","VideoOwnerText","owner","isClickViewCurated","SvgContainer2","name","UserHelper","Avatar","initials","surname","imageUrl","avatar","url","InteractiveWidgetItem","VideoThumbnail","ThumbnailTextPosition","location","AppLink","_isClickViewCurated","Text","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","isArray","useEffect","forEach","PlayPageAnchor","PlayInteractive","locationContext","shareLink","showHeading","setShowHeading","isArchived","summaryPortalNode","u","hasPermissions","typeId","hasStudentExperience","config","currentUser","viewKey","startTime","onShowSummary","showing","tooltipPlacement","yearGroups","node","currentVideo","relatedVideos","audiences","getVideoAppLink","v","opts","context","queryParams","contextId","playNext","shareId","moviesAndTv","mtv","getPhrase","LanguageService","InteractiveAlertBanner","isPreviewPreventScrubbingEnabled","Tooltip","title","trigger","spanHack","ToggleSwitch","on","isPreviewingPreventScrubbing","toggleStudentMode","PreviewInteractive","previewPreventInteractive","togglePreviewPreventInteractive","playerContext","setIsPreviewingPreventScrubbing","canConsume","VideoHelper","questionListPortalNode","videoActions","useVideoActions","useLiteFavourites","hasPlayPageV2","useSettings","playerRef","current","togglePreviewPreventScrubbing","otherInteractives","backToName","backAppLink","sourceVideo","_parentClip","_parentVideo","interactives","filter","toString","application","action","TextHelper","isDraft","CurationStatus","RestrictionBanner","restrictions","_restrictions","objectId","objectTypeId","MasterType","canManageVideoAccess","GlobalPlayerConsumer","t","mode","Actions","actions","getVideoActions","actionsDropdownClassName","fetchMore","fetchMoreActions","RestrictionPadlock","description","contents","WidgetContents","collection","prefetched","getChildAppLink","childComponent","extraChildComponentProps","widgetId","RelatedVideos","VideoAppLinkHelper","ArchivedBanner","mapTypeId","baseClassName","params","isAuthenticated","hasError","hasCompleted","videos","canAutoplay","el","headingRef","set","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","hasMore","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","useShouldPreviewInteractive","hasProduct","useVideoMixin","objects","hydratedVideos","Set","o","getValidObjects","videoIds","request","setRequest","unhydratedVideos","has","push","add","r","newRequests","flightNamespace"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6181],{26512:(e,t,n)=>{n.r(t),n.d(t,{MyVideosView:()=>K});var a=n(32735),i=n(70680),r=n(23481),l=n(20354),o=n(28400),c=n(65858),s=n(43500),u=n(73518),d=n(83834),p=n(65403),m=n(10874),v=n(37395),f=n(4201),h=n(83345),g=n(74696),y=n(30254),E=n(13231),k=n(51365),A=n(16714),b=n(39151),V=n(1666),w=n(31949),L=n(299),F=n(91286),C=n(22902),M=n(79612),S=n(35223),x=n(35949),N=n(73417),B=n(14070),O=n(97291),I=n(51855),D=n(27638),T=n(44110),P=n(97816),_=n(10741),R=n(22490),j=n(98860),G=n(12617),U=n(45967),H=n(65202),W=n(74796),Y=n(14305),Q=n(61970),X=n(82431),Z=n(26859),$=n(18097);const q={uploadingList:"wg7hV"};var J="default.myVideos";function K(e){var t,n,K,z,ee,te,ne,ae,ie,re;(0,M.M)({title:r.T.getPhrase(J,"pageTitle")});var le=(0,i.I0)(),oe=(0,D.u)(c.LZ.VideoThumbnail),ce=oe.setFavourite,se=oe.canFavourite,ue=(0,C.T)(),de=ue.hasPermissions,pe=ue.hasLocalPermissions,me=(0,U.q)().handleDragEnd,ve=(0,I.G)().isPlugin,fe=(0,f.of)().focusSearchBar,he=l.a.useBasicFetch(w.N.currentUser()),ge=l.a.useBasicFetch((null===(t=he.data)||void 0===t?void 0:t.isAuthenticated)&&V.h.yearGroups(he.data.customerId)),ye=l.a.useBasicFetch(b.L.config()),Ee=l.a.useBasicFetch((null===(n=he.data)||void 0===n?void 0:n.isAuthenticated)&&w.N.workspace()),ke=null===(z=null===(K=Ee.data)||void 0===K?void 0:K.categoryTree)||void 0===z?void 0:z.id,Ae=(0,j.P)(ke),be=(0,Q.y)(),Ve=(0,Q.W)(null===(ee=Ee.data)||void 0===ee?void 0:ee.id,null===(te=Ee.data)||void 0===te?void 0:te.categoryTree.id),we=(0,T.i)(),Le=(0,W.f)(),Fe=function(e,t){return Ee.data?G.E.videos(ke,e,t):null},Ce=!pe(A.E.ViewMyVideosLanding)&&he.hasCompleted,Me=l.a.useBasicFetch(Ce&&Fe(e.cursor,e.typeFilter));(0,F.v)(Me);var Se=(0,H.J)({onRemove:function(e,t){return l.a.getFetch(le)(Fe(e,t))}}),xe=Se.uploadingVideos,Ne=Se.onClickAlternate,Be=Se.onClickDelete,Oe=Se.processingIds,Ie=null===(ae=null===(ne=Me.data)||void 0===ne?void 0:ne.data)||void 0===ae?void 0:ae.filter((function(e){return!Oe[e.id]}));(0,P.V)(Ie);var De=(0,L.X)(Ie);if(pe(A.E.ViewMyVideosLanding))return a.createElement(Y.V,null);function Te(){return{action:B.e.MyVideos.MY_VIDEOS,application:O.O.MY_VIDEOS,params:{cursor:e.cursor,previous:e.previous,type:e.typeFilter}}}return a.createElement(k.M.Provider,{value:be},a.createElement("div",{className:"px-3"},a.createElement(N.T,null),a.createElement("div",{className:"d-flex justify-content-between"},a.createElement("h1",{className:"h2 mb-0"},a.createElement(h.x,{namespace:J,phrase:"header"})),a.createElement("div",null,a.createElement("div",{className:"d-sm-none"},a.createElement(Z.c,{canUpload:de(A.C.UploadVideo)})),a.createElement("div",{className:"ms-2 d-sm-inline-block d-none"},a.createElement(m.h,{svgName:S.vn.Search,appLink:{application:O.O.SEARCH,action:B.e.Search.HOME,params:{source:s.fi.MyVideos}},className:"btn btn-outline-dark me-2",onClick:fe,analyticsData:{},analyticsOptions:{entity:c.py.SearchResults,location:c.LZ.MyVideos,actionType:c.Vw.Click,descriptor:c.Bk.MyVideos}},a.createElement(h.x,{namespace:J,phrase:"searchMyVideos"})),a.createElement(m.h,{svgName:S.vn.Plus,appLink:{application:O.O.MY_VIDEOS,action:B.e.MyVideos.ADD_FOLDER,args:[null===(ie=Ee.data)||void 0===ie?void 0:ie.id]},className:"btn btn-outline-dark"},a.createElement(h.x,{namespace:J,phrase:"addFolder"}))))),a.createElement("hr",null),a.createElement(u.p,{handleDragEnd:me,dragOverlayComponent:x.U,source:Ee.data},a.createElement("div",null,!(null==Ae?void 0:Ae.hasCompleted)&&a.createElement(p.i,null),!!(null===(re=null==Ae?void 0:Ae.items)||void 0===re?void 0:re.length)&&a.createElement("div",{className:"mx-n2"},a.createElement(d.$,{folders:Ae.items,getAppLink:function(e){return{application:O.O.MY_VIDEOS,action:B.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(e.name)]}},expandFolders:!1,getFolderActions:function(e){return Le("folder",e)},drag:!0,drop:!0})),a.createElement(y.X,{allowBulkAction:!0,allowFilter:!0,checkboxHelper:De,getVideosBulkAction:Ve,locationContext:c.LZ.MyVideos,typeFilter:e.typeFilter,getAppLink:function(){return Te()}}),!!(null==xe?void 0:xe.length)&&a.createElement("div",{className:"position-relative ".concat(q.uploadingList)},xe.map((function(e){return a.createElement($.X,{item:e,onClickAlternate:Ne,onClickDelete:Be,key:e.id,allowBulkAction:!0})}))),function(){var t,n,i;return he.data&&Me.data?Ie.length||xe.length?a.createElement(a.Fragment,null,a.createElement(E.E4,{videos:Ie,yearGroups:ge.data,getVideoAppLink:R.W.getAppLink,getSubTextAppLink:function(e){return X.j.getSeriesAppLink(e.series)},setFavourite:ce,canFavourite:se,presentationAudiences:we.data,canRemovePrivateVideos:!0,allowBulkAction:!0,getVideosBulkAction:Ve,typeFilter:e.typeFilter,checkboxHelper:De,hasPermissions:de,drag:!0,imageCdnUrl:null===(t=ye.data)||void 0===t?void 0:t.imageCdnUrl,getPreviewQuestionsAppLink:function(e){return _.j.getPreviewQuestionsAppLink(e)},isPlugin:ve,getClassroomGuideAppLink:R.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:R.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:R.W.getResourceGuidanceAppLink}),!!(null===(i=null===(n=Me.data)||void 0===n?void 0:n.pagination)||void 0===i?void 0:i.cursors)&&a.createElement(v.t,{appLink:Te(),cursors:{next:Me.data.pagination.cursors.next,previous:e.cursor},buttonVariant:"outline-dark",className:"py-2 float-end",scrollTop:!0,prevHack:!0})):a.createElement(Y.K,null):a.createElement("div",{className:"mx-n2"},a.createElement(g.S,{allowBulkActions:!0}))}()))))}},73417:(e,t,n)=>{n.d(t,{T:()=>u});var a=n(32735),i=n(11607),r=n(83914),l=n(83345),o=n(87348),c=n(35223),s="shared.upgradeFeedbackBanner";function u(){var e=(0,o.Q)(),t=e.showFeedbackBanner,n=e.dismissFeedbackBanner;return t?a.createElement("div",{className:"alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center"},a.createElement(l.x,{namespace:s,phrase:"message",options:{url:"https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look"}}),a.createElement(i.L,{onClick:n},a.createElement(r.x,{svgName:c.vn.Close,className:"ms-2 svg-container"}))):a.createElement(a.Fragment,null)}},97816:(e,t,n)=>{n.d(t,{V:()=>d});var a=n(32735),i=n(20354),r=n(21750),l=n(31949),o=n(1575),c=n(31908);function s(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function d(e){var t,n,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=i.a.useBasicFetch(l.N.currentUser()),m=a.useRef(new Set),v=function(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(c.M.isVideo(e)||c.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(c.M.isVideo(e)||c.M.isClip(e))})):[]:[]}(e),f=v.map((function(e){return e.id})),h=(t=a.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,i,r,l,o=[],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)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return o}}(t,n)||s(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.")}()),g=h[0],y=h[1];a.useEffect((function(){if((null==f?void 0:f.length)&&p.hasCompleted){var e=[];f.forEach((function(t){m.current.has(t)||(e.push(t),m.current.add(t))})),e.length&&y((function(t){var n,a=[].concat(function(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t),[o.R.videoMixinAssocs(e,d.flightNamespace)]);return(null===(n=p.data)||void 0===n?void 0:n.isAuthenticated)&&a.push(r.x.hasCurriculumLinks(e,null,d.flightNamespace)),a}))}}),[null==f?void 0:f.length,p.hasCompleted]),i.a.useBasicFetchAll(g)}}}]);
2
+ //# sourceMappingURL=6181-7a4fc8e1e1-lite.chunk.js.map