@clickview/lite 0.84.0 → 0.84.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +2 -2
- package/dist/css/4945-lite-72ae59fcab.chunk.css +2 -0
- package/dist/css/8852-lite-84d6357a79.chunk.css +1 -0
- package/dist/css/{lite-app-b4540a3be1.css → lite-app-084c45f90e.css} +2 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1202-d96ad80884-lite.chunk.js → 1202-5473d9962d-lite.chunk.js} +2 -2
- package/dist/scripts/{1202-d96ad80884-lite.chunk.js.map → 1202-5473d9962d-lite.chunk.js.map} +1 -1
- package/dist/scripts/171-acb1ef0ae4-lite.chunk.js +2 -0
- package/dist/scripts/171-acb1ef0ae4-lite.chunk.js.map +1 -0
- package/dist/scripts/1726-b08dde1407-lite.chunk.js +2 -0
- package/dist/scripts/1726-b08dde1407-lite.chunk.js.map +1 -0
- package/dist/scripts/1912-52e57d9f16-lite.chunk.js +2 -0
- package/dist/scripts/1912-52e57d9f16-lite.chunk.js.map +1 -0
- package/dist/scripts/{289-669c0c8222-lite.chunk.js → 289-190caa6455-lite.chunk.js} +2 -2
- package/dist/scripts/{289-669c0c8222-lite.chunk.js.map → 289-190caa6455-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3249-0b55dec380-lite.chunk.js → 3249-08a22f8aaf-lite.chunk.js} +2 -2
- package/dist/scripts/3249-08a22f8aaf-lite.chunk.js.map +1 -0
- package/dist/scripts/3840-df2873e349-lite.chunk.js +2 -0
- package/dist/scripts/3840-df2873e349-lite.chunk.js.map +1 -0
- package/dist/scripts/4006-5078eb2c01-lite.chunk.js +3 -0
- package/dist/scripts/4006-5078eb2c01-lite.chunk.js.map +1 -0
- package/dist/scripts/4525-2ade147f5d-lite.chunk.js +2 -0
- package/dist/scripts/4525-2ade147f5d-lite.chunk.js.map +1 -0
- package/dist/scripts/4945-fbbb21cf54-lite.chunk.js +2 -0
- package/dist/scripts/4945-fbbb21cf54-lite.chunk.js.map +1 -0
- package/dist/scripts/4985-6bdacf82c1-lite.chunk.js +2 -0
- package/dist/scripts/4985-6bdacf82c1-lite.chunk.js.map +1 -0
- package/dist/scripts/5002-c0f45922c6-lite.chunk.js +2 -0
- package/dist/scripts/5002-c0f45922c6-lite.chunk.js.map +1 -0
- package/dist/scripts/516-94eeca32e7-lite.chunk.js +2 -0
- package/dist/scripts/516-94eeca32e7-lite.chunk.js.map +1 -0
- package/dist/scripts/5270-55334d53e9-lite.chunk.js +2 -0
- package/dist/scripts/5270-55334d53e9-lite.chunk.js.map +1 -0
- package/dist/scripts/5579-7d9081e134-lite.chunk.js +2 -0
- package/dist/scripts/{5579-a9c152057f-lite.chunk.js.map → 5579-7d9081e134-lite.chunk.js.map} +1 -1
- package/dist/scripts/5712-37a97adc65-lite.chunk.js +2 -0
- package/dist/scripts/5712-37a97adc65-lite.chunk.js.map +1 -0
- package/dist/scripts/639-0bf7cc53f9-lite.chunk.js +2 -0
- package/dist/scripts/639-0bf7cc53f9-lite.chunk.js.map +1 -0
- package/dist/scripts/6909-b5717e92e8-lite.chunk.js +2 -0
- package/dist/scripts/6909-b5717e92e8-lite.chunk.js.map +1 -0
- package/dist/scripts/7459-c1882c6f0d-lite.chunk.js +3 -0
- package/dist/scripts/7459-c1882c6f0d-lite.chunk.js.map +1 -0
- package/dist/scripts/7604-5d2ba346e2-lite.chunk.js +3 -0
- package/dist/scripts/7604-5d2ba346e2-lite.chunk.js.map +1 -0
- package/dist/scripts/{7617-9d34c841e6-lite.chunk.js → 7617-899a1d0cb1-lite.chunk.js} +2 -2
- package/dist/scripts/7617-899a1d0cb1-lite.chunk.js.map +1 -0
- package/dist/scripts/7742-95097c976d-lite.chunk.js +2 -0
- package/dist/scripts/7742-95097c976d-lite.chunk.js.map +1 -0
- package/dist/scripts/{7843-f6033528ce-lite.chunk.js → 7843-fc9ddb3b52-lite.chunk.js} +2 -2
- package/dist/scripts/7843-fc9ddb3b52-lite.chunk.js.map +1 -0
- package/dist/scripts/{7867-14c692e69c-lite.chunk.js → 7867-589c7bd788-lite.chunk.js} +3 -3
- package/dist/scripts/7867-589c7bd788-lite.chunk.js.map +1 -0
- package/dist/scripts/{787-dcb3a0a26c-lite.chunk.js → 787-5c7976e8cb-lite.chunk.js} +2 -2
- package/dist/scripts/{787-dcb3a0a26c-lite.chunk.js.map → 787-5c7976e8cb-lite.chunk.js.map} +1 -1
- package/dist/scripts/8056-a3d8fa8728-lite.chunk.js +2 -0
- package/dist/scripts/8056-a3d8fa8728-lite.chunk.js.map +1 -0
- package/dist/scripts/{8672-6967ce8a23-lite.chunk.js → 8672-5637204ae3-lite.chunk.js} +2 -2
- package/dist/scripts/{8672-6967ce8a23-lite.chunk.js.map → 8672-5637204ae3-lite.chunk.js.map} +1 -1
- package/dist/scripts/8852-c39595da59-lite.chunk.js +2 -0
- package/dist/scripts/8852-c39595da59-lite.chunk.js.map +1 -0
- package/dist/scripts/8944-022dbd6a0b-lite.chunk.js +2 -0
- package/dist/scripts/8944-022dbd6a0b-lite.chunk.js.map +1 -0
- package/dist/scripts/9742-c839ec5abb-lite.chunk.js +2 -0
- package/dist/scripts/9742-c839ec5abb-lite.chunk.js.map +1 -0
- package/dist/scripts/{8133-ffcff3b7fc-lite.chunk.js → 9803-9a666cfdef-lite.chunk.js} +3 -3
- package/dist/scripts/9803-9a666cfdef-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-375332cf3f.min.js +3 -0
- package/dist/scripts/{bundle-2bbba2aa8b.min.js.map → bundle-375332cf3f.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/171-36c7520c9c-lite.chunk.js +0 -2
- package/dist/scripts/171-36c7520c9c-lite.chunk.js.map +0 -1
- package/dist/scripts/1726-c79cf77a51-lite.chunk.js +0 -2
- package/dist/scripts/1726-c79cf77a51-lite.chunk.js.map +0 -1
- package/dist/scripts/1912-1f78dc635a-lite.chunk.js +0 -2
- package/dist/scripts/1912-1f78dc635a-lite.chunk.js.map +0 -1
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js +0 -2
- package/dist/scripts/2074-39b86b9a22-lite.chunk.js.map +0 -1
- package/dist/scripts/3249-0b55dec380-lite.chunk.js.map +0 -1
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js +0 -2
- package/dist/scripts/3840-98c79fc0d8-lite.chunk.js.map +0 -1
- package/dist/scripts/3893-2856933742-lite.chunk.js +0 -2
- package/dist/scripts/3893-2856933742-lite.chunk.js.map +0 -1
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js +0 -3
- package/dist/scripts/4006-9dfe9cec1b-lite.chunk.js.map +0 -1
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js +0 -2
- package/dist/scripts/4985-bdfa839f8f-lite.chunk.js.map +0 -1
- package/dist/scripts/5002-7514146621-lite.chunk.js +0 -2
- package/dist/scripts/5002-7514146621-lite.chunk.js.map +0 -1
- package/dist/scripts/5270-d407e1ae84-lite.chunk.js +0 -2
- package/dist/scripts/5270-d407e1ae84-lite.chunk.js.map +0 -1
- package/dist/scripts/5579-a9c152057f-lite.chunk.js +0 -2
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js +0 -2
- package/dist/scripts/5712-e784cfe89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6909-a9b8930e37-lite.chunk.js +0 -2
- package/dist/scripts/6909-a9b8930e37-lite.chunk.js.map +0 -1
- package/dist/scripts/7401-833bc4a088-lite.chunk.js +0 -2
- package/dist/scripts/7401-833bc4a088-lite.chunk.js.map +0 -1
- package/dist/scripts/7604-f664281904-lite.chunk.js +0 -3
- package/dist/scripts/7604-f664281904-lite.chunk.js.map +0 -1
- package/dist/scripts/7617-9d34c841e6-lite.chunk.js.map +0 -1
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js +0 -2
- package/dist/scripts/7742-342db3ce4f-lite.chunk.js.map +0 -1
- package/dist/scripts/7843-f6033528ce-lite.chunk.js.map +0 -1
- package/dist/scripts/7867-14c692e69c-lite.chunk.js.map +0 -1
- package/dist/scripts/8056-eec7c2fda0-lite.chunk.js +0 -2
- package/dist/scripts/8056-eec7c2fda0-lite.chunk.js.map +0 -1
- package/dist/scripts/8133-ffcff3b7fc-lite.chunk.js.map +0 -1
- package/dist/scripts/8364-ff63447d36-lite.chunk.js +0 -3
- package/dist/scripts/8364-ff63447d36-lite.chunk.js.map +0 -1
- package/dist/scripts/8944-b56c3e61fc-lite.chunk.js +0 -2
- package/dist/scripts/8944-b56c3e61fc-lite.chunk.js.map +0 -1
- package/dist/scripts/9742-5f99d74bb0-lite.chunk.js +0 -2
- package/dist/scripts/9742-5f99d74bb0-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-2bbba2aa8b.min.js +0 -3
- /package/dist/css/{2074-lite-ac8da6c78b.chunk.css → 4525-lite-ac8da6c78b.chunk.css} +0 -0
- /package/dist/css/{8364-lite-db31e36b79.chunk.css → 7459-lite-db31e36b79.chunk.css} +0 -0
- /package/dist/scripts/{4006-9dfe9cec1b-lite.chunk.js.LICENSE.txt → 4006-5078eb2c01-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7604-f664281904-lite.chunk.js.LICENSE.txt → 7459-c1882c6f0d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7867-14c692e69c-lite.chunk.js.LICENSE.txt → 7604-5d2ba346e2-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8133-ffcff3b7fc-lite.chunk.js.LICENSE.txt → 7867-589c7bd788-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8364-ff63447d36-lite.chunk.js.LICENSE.txt → 9803-9a666cfdef-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-2bbba2aa8b.min.js.LICENSE.txt → bundle-375332cf3f.min.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/289-669c0c8222-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/components/pending-indicator/PendingIndicator.tsx","file:///app/packages/libs/shared/src/apps/analytics/utils/StudentTableUtils.ts","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicator.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicatorUtils.ts","file:///app/packages/libs/shared/src/constants/DragOverlayStyles.ts","file:///app/packages/libs/shared/src/components/table/TableUtils.ts","file:///app/packages/libs/shared/src/components/table/table.scss","file:///app/packages/libs/shared/src/components/table/Table.tsx","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/questions/InteractiveInsightsQuestionsDemoView.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/percentage-indicator.scss"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PercentageIndicator } from 'libs/shared/components/percentage-indicator/PercentageIndicator';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nconst namespace = 'interactives.pendingIndicator';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getClassName(props: PendingIndicatorProps): string {\n let className = 'd-flex align-items-center h-100';\n\n className += props.showLabel ? ' justify-content-between' : ' justify-content-center';\n\n if (props.className)\n className += ` ${props.className}`;\n\n return className;\n}\n\ninterface PendingIndicatorProps {\n title?: string;\n className?: string;\n showLabel?: boolean;\n tooltipClassName?: string;\n showIndicator?: boolean;\n}\n\nexport function PendingIndicator(props: PendingIndicatorProps): JSX.Element {\n const { title, showLabel, tooltipClassName, showIndicator = true } = props;\n\n const Indicator = () => (\n <div className={getClassName(props)}>\n {!!showLabel &&\n <em>{getPhrase('pending')}</em>\n }\n {!!showIndicator &&\n <PercentageIndicator />\n }\n </div>\n );\n\n if (!title)\n return <Indicator />;\n\n return (\n <Tooltip title={title} spanHack spanHackClassName={tooltipClassName || 'h-100 w-100 d-flex align-items-center'}>\n <Indicator />\n </Tooltip>\n );\n}","import { SortingRule } from 'react-table';\n\nimport { ResultsSummary } from 'libs/shared/apps/analytics/interfaces/ResultsSummary';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\n\nexport type SortStudentsBy = 'score_desc' | 'score_asc';\n\nexport function getSortStudents(sortBy: SortStudentsBy, id: string): SortingRule<any>[] {\n switch (sortBy) {\n case 'score_desc': return [{ id, desc: true }];\n case 'score_asc': return [{ id, desc: false }];\n default: return [];\n }\n}\n\nexport type FilterStudentsBy = 'not_completed' | 'marking_required' | 'helping_hand';\n\nexport function shouldFilterStudent(filter: FilterStudentsBy, summary: ResultsSummary): boolean {\n if (filter === 'marking_required' && !summary.awaitingMarking)\n return true;\n\n if (filter === 'helping_hand' && summary.percentCorrect >= ScoreThresholdInsights.HIGH)\n return true;\n\n if (filter === 'not_completed' && !summary.unanswered)\n return true;\n \n return false;\n}\n\n","import React from 'react';\n\nimport { ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport {\n getCircleClassName,\n getCircleContainerClassName,\n getCircleRadius,\n getColouredLabelClassName,\n getFormattedPercentage,\n getPercentageToFixed,\n isPending,\n ProgressCircleSize\n} from './PercentageIndicatorUtils';\n\nimport styles from './percentage-indicator.scss';\n\ninterface ProgressCircleProps {\n size: ProgressCircleSize;\n scoreThresholds?: ScoreThresholds;\n percentage?: number;\n}\n\nfunction ProgressCircle(props: ProgressCircleProps): JSX.Element {\n const ref = React.useCallback((circle: SVGCircleElement) => {\n if (!circle)\n return;\n\n const radius = circle.r.baseVal.value;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - props.percentage * circumference;\n\n circle.style.strokeDasharray = `${circumference} ${circumference}`;\n circle.style.strokeDashoffset = offset.toString();\n }, [props.percentage]);\n\n return (\n <svg>\n <circle r={getCircleRadius(props.size)} className={styles.backgroundCircle} />\n {!isPending(props.percentage) &&\n <circle\n ref={ref}\n r={getCircleRadius(props.size)}\n className={getCircleClassName(props.percentage, props.scoreThresholds)}\n />\n }\n </svg>\n );\n}\n\nexport enum PercentageIndicatorLayout {\n CircleOnly = 'circle_only',\n LabelOnly = 'label_only',\n LabelBefore = 'label_before',\n LabelInside = 'label_inside'\n}\n\ninterface PercentageIndicatorProps {\n layout: PercentageIndicatorLayout;\n percentage?: number; // Between 0 and 1 or undefined for pending\n className?: string;\n customLabel?: string;\n scoreThresholds?: ScoreThresholds;\n size?: ProgressCircleSize;\n}\n\nPercentageIndicator.defaultProps = {\n layout: PercentageIndicatorLayout.CircleOnly\n};\n\nexport function PercentageIndicator(props: PercentageIndicatorProps): JSX.Element {\n const percentageToFixed = getPercentageToFixed(props.percentage);\n\n const size = props.size ||\n (props.layout === PercentageIndicatorLayout.LabelInside\n ? ProgressCircleSize.Large\n : ProgressCircleSize.Small\n );\n\n const label = props.customLabel || getFormattedPercentage(percentageToFixed);\n\n if (props.layout === PercentageIndicatorLayout.LabelOnly)\n return (\n <span className={getColouredLabelClassName(percentageToFixed)}>\n {label}\n </span>\n );\n\n return (\n <div className={`d-flex align-items-center justify-content-between ${props.className ?? ''}`}>\n {props.layout === PercentageIndicatorLayout.LabelBefore &&\n <span className='me-2'>\n {label}\n </span>\n }\n <div className={getCircleContainerClassName(size, percentageToFixed)}>\n <ProgressCircle percentage={percentageToFixed} size={size} scoreThresholds={props.scoreThresholds} />\n {props.layout === PercentageIndicatorLayout.LabelInside &&\n <span className={styles.centredPercentageText}>\n {label}\n </span>\n }\n </div>\n </div>\n );\n}","import { ScoreThresholdDefaults, ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport styles from './percentage-indicator.scss';\n\n/**\n * Values for width and strokeWidth are taken from progress-circle.scss.\n * If either are changed, they must be updated in both places.\n */\nconst CIRCLE_WIDTH = 2; // rem\nconst CIRCLE_WIDTH_LG = 5.8; // rem\nconst CIRCLE_STROKE_WIDTH = 0.2; // rem\nconst CIRCLE_STROKE_WIDTH_LG = 0.36; // rem\n \nexport enum ProgressCircleSize {\n Small = 'small',\n Large = 'large',\n ExtraSmall = 'extraSmall'\n}\n\nconst ProgressCircleSizeMap = {\n [ProgressCircleSize.ExtraSmall]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Small]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Large]: {\n size: CIRCLE_WIDTH_LG\n }\n};\n\n/**\n * radius = width / 2 - strokeWidth * 2\n */\nexport function getCircleRadius(size: ProgressCircleSize): string {\n const width = ProgressCircleSizeMap[size].size;\n const strokeWidth = size === ProgressCircleSize.Large ? CIRCLE_STROKE_WIDTH_LG : CIRCLE_STROKE_WIDTH;\n return `${width / 2 - strokeWidth * 2}rem`;\n}\n \nexport function getCircleClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return styles.circleSuccess;\n \n if (percentage >= scoreThresholds.MODERATE)\n return styles.circleWarning;\n \n return styles.circleDanger;\n}\n \nexport function getColouredLabelClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return 'text-success';\n \n if (percentage >= scoreThresholds.MODERATE)\n return 'text-warning';\n \n return 'text-danger';\n}\n \nexport function getCircleContainerClassName(size: ProgressCircleSize, percentage?: number): string {\n let className = `d-inline-block ${styles.circleContainer}`;\n \n if (size === ProgressCircleSize.Large)\n className += ` ${styles.lgCircleContainer}`;\n\n if (size === ProgressCircleSize.ExtraSmall)\n className += ` ${styles.xsCircleContainer}`;\n\n if (isPending(percentage))\n className += ` ${styles.pendingCircle}`;\n \n return className;\n}\n\nexport function getPercentageToFixed(percentage?: number): number | undefined {\n if (isPending(percentage))\n return;\n \n return +percentage.toFixed(2);\n}\n \nexport function getFormattedPercentage(percentage?: number): string {\n if (isPending(percentage))\n return `--%`;\n\n return `${Math.round(percentage * 100)}%`;\n}\n\nexport function isPending(percentage?: number): boolean {\n return typeof percentage !== 'number';\n}","export const DragOverlayStyles = { opacity: '0.8', cursor: 'grabbing' };","import React from 'react';\nimport { PluginHook, useBlockLayout, useFilters, useFlexLayout, useGlobalFilter, useRowSelect, useSortBy } from 'react-table';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface PluginOptions {\n allowFiltering?: boolean;\n allowGlobalFiltering?: boolean;\n layout?: 'flex' | 'block';\n}\n\nexport function getPlugins<T extends HashObject>(props: PluginOptions): PluginHook<T>[] {\n let plugins: PluginHook<T>[] = [\n useSortBy,\n useRowSelect,\n props.layout === 'flex' ? useFlexLayout : useBlockLayout\n ];\n\n if (props.allowFiltering)\n plugins = [\n ...plugins,\n useFilters\n ];\n\n if (props.allowGlobalFiltering)\n plugins = [\n ...plugins,\n useGlobalFilter\n ];\n\n return plugins;\n}\n\nexport function getSelectedRowIds(ids: string[]): Record<string, boolean> {\n const idHash: Record<string, boolean> = {};\n\n ids.forEach(id => idHash[id] = true);\n\n return idHash;\n}\n\ninterface TableScrollState {\n canScrollLeft: boolean;\n canScrollRight: boolean;\n}\n\nfunction calculateScrollState(ref: React.MutableRefObject<HTMLDivElement>): TableScrollState {\n const canScrollLeft = ref.current?.scrollLeft > 0;\n const canScrollRight = (ref.current?.scrollLeft + 1) < ref.current?.scrollWidth - ref.current?.clientWidth;\n\n return { canScrollLeft, canScrollRight };\n}\n\ninterface UseTableScroll {\n ref: (el: HTMLDivElement) => void;\n scrollState: TableScrollState;\n scroll: (scrollBy: number) => void;\n}\n\nexport function useTableScroll(): UseTableScroll {\n const elRef = React.useRef<HTMLDivElement>(null);\n const [ scrollState, setScrollState ] = React.useState<TableScrollState>(calculateScrollState(elRef));\n\n function onScroll(): void {\n setScrollState(calculateScrollState(elRef));\n }\n\n function scroll(scrollBy: number): void {\n elRef.current?.scrollBy({ left: scrollBy, top: 0, behavior: 'smooth' });\n }\n\n const throttledOnScroll = FunctionHelper.throttle(onScroll, 200);\n\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (elRef.current) {\n elRef.current?.removeEventListener('scroll', throttledOnScroll);\n }\n\n if (el) {\n setScrollState(calculateScrollState(elRef));\n el.addEventListener('scroll', throttledOnScroll);\n }\n\n elRef.current = el;\n }, []);\n\n React.useEffect(() => {\n if (elRef?.current) {\n setScrollState(calculateScrollState(elRef));\n }\n }, [elRef]);\n\n return { ref, scrollState, scroll };\n}","// extracted by mini-css-extract-plugin\nexport default {\"sortIndicator\":\"gFhu0\",\"scrollContainer\":\"sWUp9\",\"scrollbarTrack\":\"Vn2qM\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport {\n Cell,\n Column as BaseColumn,\n HeaderGroup,\n HeaderProps as BaseHeaderProps,\n IdType,\n Row,\n SortingRule,\n TableOptions,\n TableRowProps,\n useTable } from 'react-table';\nimport { DragEndEvent } from '@dnd-kit/core';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SortableContainerWrapper } from 'libs/shared/components/sortable/SortableContainerWrapper';\nimport { PropsWithSortableItemProps, SortableItemWrapper } from 'libs/shared/components/sortable/SortableItemWrapper';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { DragOverlayStyles } from 'libs/shared/constants/DragOverlayStyles';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getPlugins, getSelectedRowIds, useTableScroll } from './TableUtils';\n\nimport styles from './table.scss';\n\nexport interface TableTheme {\n table?: string;\n header?: string;\n headerRow?: string;\n headerCell?: string;\n body?: string;\n row?: string | ((row: Row<any>) => string);\n selectedRow?: string;\n cell?: string | ((row?: Row<any>, cell?: Cell<any, any>) => string);\n sortIndicator?: string;\n}\n\nexport type HeaderProps<T extends HashObject> = BaseHeaderProps<T> & {\n renderSortIndicator: () => void;\n}\n\nexport type Column<T extends HashObject> = BaseColumn<T> & {\n hideSortIndicator?: boolean;\n}\n\ninterface SortIndicatorProps<T extends HashObject> {\n column: HeaderGroup<T>;\n theme?: TableTheme;\n}\n\nfunction SortIndicator<T extends HashObject>(props: SortIndicatorProps<T>): JSX.Element {\n if (!props.column.canSort)\n return <></>;\n\n return (\n <span\n className={\n `${styles.sortIndicator}\n ${!props.column.isSorted ? 'text-secondary' : ''}\n ${props.theme?.sortIndicator ?? ''}`\n }\n >\n <SvgContainer\n svgName={(props.column.isSortedDesc || !props.column.isSorted)\n ? cvSvgLibrary.ArrowRight\n : cvSvgLibrary.ArrowLeft\n }\n size={SvgContainerSize.Small}\n />\n </span>\n );\n}\n\ninterface BaseTableProps<T extends HashObject> {\n /**\n * Must be memoized.\n */\n data: T[];\n\n /**\n * Must be memoized.\n * \n * For documentation on Column Options, see https://react-table.tanstack.com/docs/api/useTable#column-options\n */\n columns: Column<T>[];\n\n theme?: TableTheme;\n\n onSelectRow?: (row: Row<T>) => void;\n\n onSelectCell?: (cell: Cell<T>) => void;\n\n onRowMouseOver?: (row: Row<T>) => void;\n\n onRowMouseLeave?: (row: Row<T>) => void;\n\n allowSelectMultipleRows?: boolean;\n\n initialSelectedRowIds?: string[];\n\n getRowId?: (row: T) => string;\n\n getRowAppLink?: (row: Row<T>) => Core.AppLink;\n\n enableSort?: boolean;\n\n manualSort?: boolean;\n\n onSort?: (sortingRule: SortingRule<T>[]) => void;\n \n // Opt-in to utilise react-table's useFilter hook.\n allowFiltering?: boolean;\n\n // Opt-in to utilise react-table's useGlobalFilter hook.\n allowGlobalFiltering?: boolean;\n\n // Use either a flex layout or a block layout. Default is flex.\n layout?: 'flex' | 'block';\n\n // Used by useGlobalFilter hook, needs to be enabled by prop above.\n globalFilter?: string;\n\n // Set initial state of hidden columns in react-table.\n hiddenColumns?: IdType<T>[];\n\n // Determine whether hidden columns should be preserved on a table update event.\n autoResetHiddenColumns?: boolean;\n\n // Determine whether sort order state should be preserved on a table update event.\n autoResetSortBy?: boolean;\n\n // Determine whether rows are sortable by drag and drop\n enableSortableRows?: boolean;\n\n onSortingRowsEnd?: (event: DragEndEvent) => void;\n\n // Set initial state of sorting in react-table\n initialSortBy?: SortingRule<T>[];\n\n emptyState?: JSX.Element;\n}\n \ntype SortableRowProps = PropsWithSortableItemProps<TableRowProps>;\n\nfunction BaseTable<T extends HashObject>(props: BaseTableProps<T>): JSX.Element {\n const tableOptions: TableOptions<T> = {\n columns: props.columns,\n data: props.data,\n disableSortBy: !props.enableSort,\n manualSortBy: props.manualSort,\n autoResetHiddenColumns: props.autoResetHiddenColumns,\n autoResetSortBy: props.autoResetSortBy,\n initialState: {\n sortBy: props.initialSortBy || []\n }\n };\n\n if (props.initialSelectedRowIds)\n tableOptions.initialState = { selectedRowIds: getSelectedRowIds(props.initialSelectedRowIds) };\n\n if (props.getRowId)\n tableOptions.getRowId = props.getRowId;\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n toggleAllRowsSelected,\n setGlobalFilter,\n setHiddenColumns,\n state: { sortBy }\n } = useTable<T>(tableOptions, ...getPlugins<T>({ ...props }));\n\n function getTableRowsClass(row: Row<T>) {\n let className = FunctionHelper.isFunction(props.theme?.row)\n ? props.theme.row(row)\n : props.theme?.row ?? '';\n\n if (row.isSelected && props.theme?.selectedRow)\n className += ` ${props.theme?.selectedRow}`;\n\n if (props.onSelectRow)\n className += ' cursor-pointer';\n\n if (props.enableSortableRows)\n className += ' cursor-grab';\n\n return className;\n }\n\n function renderTableRows() {\n if (!rows.length && props.emptyState)\n return props.emptyState;\n \n return rows.map(row => {\n prepareRow(row);\n \n const className = getTableRowsClass(row);\n const rowAppLink = !!props.getRowAppLink && props.getRowAppLink(row);\n\n function onClickRow(): void {\n if (!props.onSelectRow)\n return;\n\n if (!props.allowSelectMultipleRows)\n toggleAllRowsSelected(false);\n \n props.onSelectRow(row);\n row.toggleRowSelected(true);\n }\n\n function getSortableProps(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any) {\n if ('dragAttributes' in props && 'dragListeners' in props) {\n return {\n ...props.dragAttributes,\n ...props.dragListeners,\n 'aria-roledescription': 'Sortable row',\n ref\n };\n }\n\n return {};\n }\n\n function renderRow(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any): JSX.Element {\n const sortableProps = getSortableProps(props, ref);\n\n if (rowAppLink) {\n return (\n <div\n role='row'\n key={row.id}\n >\n <AppLink\n {...props}\n {...sortableProps}\n className={className}\n appLink={rowAppLink}\n >\n {renderCells(row)}\n </AppLink>\n </div>\n );\n }\n\n return (\n <div\n {...props}\n {...sortableProps}\n key={row.id}\n role='row'\n className={className}\n onClick={onClickRow}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n const rowProps = row.getRowProps();\n\n if (props.enableSortableRows) {\n return (\n <SortableItemWrapper\n id={row.original.id}\n key={row.id}\n childProps={rowProps}\n childComponent={React.forwardRef(\n (props: SortableRowProps, ref: React.LegacyRef<HTMLDivElement>) => (renderRow(props, ref))\n )}\n />\n );\n }\n\n return renderRow(rowProps);\n });\n }\n\n function getDragOverlayClassName(theme: TableTheme): string {\n let className = 'g-0 ';\n\n if (theme)\n className += theme.row;\n\n return className;\n }\n\n function getDragOverlay(id: string) {\n const rowIndex = rows.findIndex(item => item.original.id === id);\n const row = rows[rowIndex];\n \n return (\n <div\n {...props}\n className={getDragOverlayClassName(props.theme)}\n style={DragOverlayStyles}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n function getCellClassName(row: Row<T>, cell: Cell<T>): string {\n let cellClassName = '';\n\n if (typeof props.theme?.cell === 'function')\n cellClassName = props.theme.cell(row, cell);\n\n if (typeof props.theme?.cell === 'string')\n cellClassName = props.theme.cell;\n\n if (props.onSelectCell)\n cellClassName += ' cursor-pointer';\n\n return cellClassName;\n }\n\n function renderCells(row: Row<T>): JSX.Element[] {\n return row.cells.map(cell => {\n const cellClassName = getCellClassName(row, cell);\n\n function onClickCell(): void {\n props.onSelectCell && props.onSelectCell(cell);\n }\n\n return (\n <div key={cell.column.id} {...cell.getCellProps()} className={cellClassName} onClick={onClickCell} >\n {cell.render('Cell')}\n </div>\n );\n });\n }\n\n React.useEffect(() => {\n if (!props.onSort)\n return;\n\n props.onSort(sortBy);\n }, [sortBy]);\n\n React.useEffect(() => {\n if (!props.globalFilter)\n return;\n\n setGlobalFilter(props.globalFilter);\n }, [props.globalFilter]);\n\n React.useEffect(() => {\n if (!props.hiddenColumns)\n return;\n\n setHiddenColumns(props.hiddenColumns);\n }, [props.hiddenColumns && props.hiddenColumns.length]);\n\n return (\n <div {...getTableProps()} className={props.theme?.table ?? ''}>\n <div className={props.theme?.header ?? ''}>\n {headerGroups.map(headerGroup => (\n <div {...headerGroup.getHeaderGroupProps()} className={props.theme?.headerRow ?? ''}>\n {headerGroup.headers.map(column => (\n <div {...column.getHeaderProps(column.getSortByToggleProps())} className={props.theme?.headerCell ?? ''}>\n {column.render('Header', { renderSortIndicator: () => <SortIndicator column={column} theme={props.theme} /> })}\n {!(column as Column<T>).hideSortIndicator &&\n <SortIndicator column={column} theme={props.theme} />\n }\n </div>\n ))}\n </div>\n ))}\n </div>\n <div {...getTableBodyProps()} className={props.theme?.body ?? ''}>\n { props.enableSortableRows ? (\n <SortableContainerWrapper\n ids={rows.map(row => row.original.id)}\n getDragOverlay={getDragOverlay}\n onSortEnd={props.onSortingRowsEnd}\n >\n {renderTableRows()}\n </SortableContainerWrapper>\n ) : (\n renderTableRows()\n )}\n </div>\n </div>\n );\n}\n\ninterface TableProps<T extends HashObject> extends BaseTableProps<T> {\n enableSlider?: boolean;\n scrollIncrement?: number;\n scrollContainerClassName?: string;\n scrollable?: boolean;\n initialSortBy?: SortingRule<T>[];\n}\n\nTable.defaultProps = {\n scrollIncrement: 250,\n scrollable: false,\n layout: 'flex'\n};\n\nexport function Table<T extends HashObject>(props: TableProps<T>): JSX.Element {\n const { enableSlider, scrollIncrement, scrollable, ...tableProps } = props;\n\n const { ref, scrollState, scroll } = useTableScroll();\n\n if (scrollable) {\n return (\n <Scrollbars\n renderTrackHorizontal={() => <div className={styles.scrollbarTrack} />}\n autoHeightMax={10000}\n autoHeight\n >\n <BaseTable {...tableProps} />\n </Scrollbars>\n );\n }\n\n if (!enableSlider)\n return <BaseTable {...tableProps} />;\n\n function onClickScroll(direction: 'left' | 'right'): void {\n scroll(scrollIncrement * (direction === 'right' ? 1 : -1));\n }\n\n return (\n <div className='mx-n4 overflow-x-hidden overflow-y-hidden'>\n <div className='px-4'>\n <div className='position-relative'>\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => onClickScroll('left')}\n hide={!scrollState.canScrollLeft}\n />\n <div className={`${styles.scrollContainer} ${props.scrollContainerClassName}`} ref={ref}>\n <BaseTable {...tableProps } />\n </div>\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => onClickScroll('right')}\n hide={!scrollState.canScrollRight}\n />\n </div>\n </div>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: Share = {\n type: ShareType.Link,\n privacy: SharePrivacy.JustMySchool,\n objectId: '0',\n objectTypeId: MasterType.Interactive,\n viewCount: 28,\n accessCount: 15,\n dateCreated: new Date().toISOString(),\n dateShared: new Date().toISOString(),\n expireDate: null,\n link: {\n shortenedEmbedUrl: '',\n shortenedUrl: ''\n },\n shareId: '0',\n ownerCustomerId: 0,\n ownerId: 0,\n recipients: [],\n options: {\n preventScrubbing: false,\n immediateFeedback: false\n }\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE: Share = {\n ...DEMO_INSIGHTS_SHARE,\n type: ShareType.Open,\n expireDate: DateHelper.add(new Date(DEMO_INSIGHTS_SHARE.dateCreated), 30, 'days').toISOString(),\n privacy: SharePrivacy.PinCode\n};\n\nexport const DEMO_INSIGHTS_SHARE_TABLE_DATA: MySharesTableData = {\n share: DEMO_INSIGHTS_SHARE,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString()\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA: MySharesTableData = {\n ...DEMO_INSIGHTS_SHARE_TABLE_DATA,\n share: DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE\n};\n\nexport const DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_OPEN_CLASSROOM_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsQuestions } from 'apps/my-shares/components/interactive-insights-questions/InteractiveInsightsQuestions';\nimport { DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE, DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.interactiveInsightsQuestionsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsQuestionsViewProps {\n interactionId: string;\n sortBy: SortStudentsBy;\n type?: ShareType;\n}\n\nexport function InteractiveInsightsQuestionsDemoView(props: InteractiveInsightsQuestionsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InsightsDemoRequests.interactiveMetadata()\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(InsightsDemoRequests.interactive());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const results = Flight.useBasicFetch<InteractiveResultSet>(InsightsDemoRequests.interactiveResults());\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n const hasDataLoaded = interactive.data && interactiveMetadata.data && !!results.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n\n const share = props.type === ShareType.Open ? DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE : DEMO_INSIGHTS_SHARE;\n\n return (\n <div className='px-3'>\n <InsightsHeader\n tabs={getInsightsDemoInteractiveTabs(interactiveMetadata.data?.id, 'questions', params, props.type)}\n video={interactiveMetadata.data}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n share={{\n ...share,\n objectId: interactiveMetadata.data?.id\n }}\n yearGroups={[]}\n markingRequired={props.type !== ShareType.Open}\n isDemo\n hasData\n />\n\n <InteractiveInsightsQuestions\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n interactionId={props.interactionId}\n config={config.data}\n sortBy={props.sortBy}\n isFetching={results.isFetching || interactive.isFetching}\n anonymiseUsers={anonymiseUsers}\n results={results.data}\n hasDataLoaded={hasDataLoaded}\n isDemo\n />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"circleContainer\":\"p8Vgz\",\"backgroundCircle\":\"asGGE\",\"circleSuccess\":\"PXLNj\",\"circleWarning\":\"ZckRN\",\"circleDanger\":\"slBRg\",\"lgCircleContainer\":\"N8KCI\",\"xsCircleContainer\":\"RPqZ2\",\"pendingCircle\":\"DKrcq\",\"centredPercentageText\":\"tpmLR\"};"],"names":["getPhrase","getClassName","props","className","showLabel","PendingIndicator","title","tooltipClassName","showIndicator","Indicator","spanHack","spanHackClassName","getSortStudents","sortBy","id","desc","shouldFilterStudent","filter","summary","awaitingMarking","percentCorrect","unanswered","PercentageIndicatorLayout","ProgressCircle","ref","circle","radius","r","baseVal","value","circumference","Math","PI","offset","percentage","style","strokeDasharray","strokeDashoffset","toString","size","scoreThresholds","PercentageIndicator","percentageToFixed","layout","LabelInside","label","customLabel","LabelOnly","LabelBefore","defaultProps","CircleOnly","ProgressCircleSize","CIRCLE_STROKE_WIDTH","CIRCLE_STROKE_WIDTH_LG","ProgressCircleSizeMap","ExtraSmall","Small","Large","getCircleRadius","width","strokeWidth","getCircleClassName","HIGH","MODERATE","getColouredLabelClassName","getCircleContainerClassName","isPending","getPercentageToFixed","toFixed","getFormattedPercentage","round","DragOverlayStyles","opacity","cursor","calculateScrollState","canScrollLeft","current","scrollLeft","canScrollRight","scrollWidth","clientWidth","SortIndicator","column","canSort","isSorted","theme","sortIndicator","SvgContainer","svgName","isSortedDesc","S","BaseTable","ids","idHash","tableOptions","columns","data","disableSortBy","enableSort","manualSortBy","manualSort","autoResetHiddenColumns","autoResetSortBy","initialState","initialSortBy","initialSelectedRowIds","selectedRowIds","forEach","getRowId","useTable","plugins","useSortBy","useRowSelect","useFlexLayout","useBlockLayout","allowFiltering","useFilters","allowGlobalFiltering","useGlobalFilter","getPlugins","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","toggleAllRowsSelected","setGlobalFilter","setHiddenColumns","state","renderTableRows","length","emptyState","map","row","FunctionHelper","isSelected","selectedRow","onSelectRow","enableSortableRows","getTableRowsClass","rowAppLink","getRowAppLink","onClickRow","allowSelectMultipleRows","toggleRowSelected","renderRow","sortableProps","dragAttributes","dragListeners","getSortableProps","role","key","AppLink","appLink","renderCells","onClick","rowProps","getRowProps","SortableItemWrapper","original","childProps","childComponent","cells","cell","cellClassName","onSelectCell","getCellClassName","getCellProps","render","onSort","globalFilter","hiddenColumns","table","header","headerGroup","getHeaderGroupProps","headerRow","headers","getHeaderProps","getSortByToggleProps","headerCell","renderSortIndicator","hideSortIndicator","body","SortableContainerWrapper","getDragOverlay","rowIndex","findIndex","item","onSortEnd","onSortingRowsEnd","Table","enableSlider","scrollIncrement","scrollable","tableProps","elRef","scrollState","setScrollState","throttledOnScroll","el","removeEventListener","addEventListener","scroll","scrollBy","left","top","behavior","useTableScroll","renderTrackHorizontal","autoHeightMax","autoHeight","onClickScroll","direction","WidgetButton","W","hide","scrollContainerClassName","InsightsDemoRequests","interactive","url","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","DEMO_INSIGHTS_SHARE","type","privacy","objectId","objectTypeId","viewCount","accessCount","dateCreated","Date","toISOString","dateShared","expireDate","link","shortenedEmbedUrl","shortenedUrl","shareId","ownerCustomerId","ownerId","recipients","options","preventScrubbing","immediateFeedback","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE","DEMO_INSIGHTS_SHARE_TABLE_DATA","share","sharedObject","shareRecipients","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK","DEMO_INSIGHTS_ACTION","group","InteractiveInsightsQuestionsDemoView","anonymiseUsers","config","audienceAppLinkParams","dateRangeAppLinkParams","results","video","name","hasDataLoaded","params","tabs","yearGroups","markingRequired","isDemo","hasData","interactionId","isFetching"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/289-190caa6455-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/components/pending-indicator/PendingIndicator.tsx","file:///app/packages/libs/shared/src/apps/analytics/utils/StudentTableUtils.ts","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicator.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicatorUtils.ts","file:///app/packages/libs/shared/src/constants/DragOverlayStyles.ts","file:///app/packages/libs/shared/src/components/table/TableUtils.ts","file:///app/packages/libs/shared/src/components/table/table.scss","file:///app/packages/libs/shared/src/components/table/Table.tsx","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/questions/InteractiveInsightsQuestionsDemoView.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/percentage-indicator.scss"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PercentageIndicator } from 'libs/shared/components/percentage-indicator/PercentageIndicator';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nconst namespace = 'interactives.pendingIndicator';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getClassName(props: PendingIndicatorProps): string {\n let className = 'd-flex align-items-center h-100';\n\n className += props.showLabel ? ' justify-content-between' : ' justify-content-center';\n\n if (props.className)\n className += ` ${props.className}`;\n\n return className;\n}\n\ninterface PendingIndicatorProps {\n title?: string;\n className?: string;\n showLabel?: boolean;\n tooltipClassName?: string;\n showIndicator?: boolean;\n}\n\nexport function PendingIndicator(props: PendingIndicatorProps): JSX.Element {\n const { title, showLabel, tooltipClassName, showIndicator = true } = props;\n\n const Indicator = () => (\n <div className={getClassName(props)}>\n {!!showLabel &&\n <em>{getPhrase('pending')}</em>\n }\n {!!showIndicator &&\n <PercentageIndicator />\n }\n </div>\n );\n\n if (!title)\n return <Indicator />;\n\n return (\n <Tooltip title={title} spanHack spanHackClassName={tooltipClassName || 'h-100 w-100 d-flex align-items-center'}>\n <Indicator />\n </Tooltip>\n );\n}","import { SortingRule } from 'react-table';\n\nimport { ResultsSummary } from 'libs/shared/apps/analytics/interfaces/ResultsSummary';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\n\nexport type SortStudentsBy = 'score_desc' | 'score_asc';\n\nexport function getSortStudents(sortBy: SortStudentsBy, id: string): SortingRule<any>[] {\n switch (sortBy) {\n case 'score_desc': return [{ id, desc: true }];\n case 'score_asc': return [{ id, desc: false }];\n default: return [];\n }\n}\n\nexport type FilterStudentsBy = 'not_completed' | 'marking_required' | 'helping_hand';\n\nexport function shouldFilterStudent(filter: FilterStudentsBy, summary: ResultsSummary): boolean {\n if (filter === 'marking_required' && !summary.awaitingMarking)\n return true;\n\n if (filter === 'helping_hand' && summary.percentCorrect >= ScoreThresholdInsights.HIGH)\n return true;\n\n if (filter === 'not_completed' && !summary.unanswered)\n return true;\n \n return false;\n}\n\n","import React from 'react';\n\nimport { ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport {\n getCircleClassName,\n getCircleContainerClassName,\n getCircleRadius,\n getColouredLabelClassName,\n getFormattedPercentage,\n getPercentageToFixed,\n isPending,\n ProgressCircleSize\n} from './PercentageIndicatorUtils';\n\nimport styles from './percentage-indicator.scss';\n\ninterface ProgressCircleProps {\n size: ProgressCircleSize;\n scoreThresholds?: ScoreThresholds;\n percentage?: number;\n}\n\nfunction ProgressCircle(props: ProgressCircleProps): JSX.Element {\n const ref = React.useCallback((circle: SVGCircleElement) => {\n if (!circle)\n return;\n\n const radius = circle.r.baseVal.value;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - props.percentage * circumference;\n\n circle.style.strokeDasharray = `${circumference} ${circumference}`;\n circle.style.strokeDashoffset = offset.toString();\n }, [props.percentage]);\n\n return (\n <svg>\n <circle r={getCircleRadius(props.size)} className={styles.backgroundCircle} />\n {!isPending(props.percentage) &&\n <circle\n ref={ref}\n r={getCircleRadius(props.size)}\n className={getCircleClassName(props.percentage, props.scoreThresholds)}\n />\n }\n </svg>\n );\n}\n\nexport enum PercentageIndicatorLayout {\n CircleOnly = 'circle_only',\n LabelOnly = 'label_only',\n LabelBefore = 'label_before',\n LabelInside = 'label_inside'\n}\n\ninterface PercentageIndicatorProps {\n layout: PercentageIndicatorLayout;\n percentage?: number; // Between 0 and 1 or undefined for pending\n className?: string;\n customLabel?: string;\n scoreThresholds?: ScoreThresholds;\n size?: ProgressCircleSize;\n}\n\nPercentageIndicator.defaultProps = {\n layout: PercentageIndicatorLayout.CircleOnly\n};\n\nexport function PercentageIndicator(props: PercentageIndicatorProps): JSX.Element {\n const percentageToFixed = getPercentageToFixed(props.percentage);\n\n const size = props.size ||\n (props.layout === PercentageIndicatorLayout.LabelInside\n ? ProgressCircleSize.Large\n : ProgressCircleSize.Small\n );\n\n const label = props.customLabel || getFormattedPercentage(percentageToFixed);\n\n if (props.layout === PercentageIndicatorLayout.LabelOnly)\n return (\n <span className={getColouredLabelClassName(percentageToFixed)}>\n {label}\n </span>\n );\n\n return (\n <div className={`d-flex align-items-center justify-content-between ${props.className ?? ''}`}>\n {props.layout === PercentageIndicatorLayout.LabelBefore &&\n <span className='me-2'>\n {label}\n </span>\n }\n <div className={getCircleContainerClassName(size, percentageToFixed)}>\n <ProgressCircle percentage={percentageToFixed} size={size} scoreThresholds={props.scoreThresholds} />\n {props.layout === PercentageIndicatorLayout.LabelInside &&\n <span className={styles.centredPercentageText}>\n {label}\n </span>\n }\n </div>\n </div>\n );\n}","import { ScoreThresholdDefaults, ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport styles from './percentage-indicator.scss';\n\n/**\n * Values for width and strokeWidth are taken from progress-circle.scss.\n * If either are changed, they must be updated in both places.\n */\nconst CIRCLE_WIDTH = 2; // rem\nconst CIRCLE_WIDTH_LG = 5.8; // rem\nconst CIRCLE_STROKE_WIDTH = 0.2; // rem\nconst CIRCLE_STROKE_WIDTH_LG = 0.36; // rem\n \nexport enum ProgressCircleSize {\n Small = 'small',\n Large = 'large',\n ExtraSmall = 'extraSmall'\n}\n\nconst ProgressCircleSizeMap = {\n [ProgressCircleSize.ExtraSmall]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Small]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Large]: {\n size: CIRCLE_WIDTH_LG\n }\n};\n\n/**\n * radius = width / 2 - strokeWidth * 2\n */\nexport function getCircleRadius(size: ProgressCircleSize): string {\n const width = ProgressCircleSizeMap[size].size;\n const strokeWidth = size === ProgressCircleSize.Large ? CIRCLE_STROKE_WIDTH_LG : CIRCLE_STROKE_WIDTH;\n return `${width / 2 - strokeWidth * 2}rem`;\n}\n \nexport function getCircleClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return styles.circleSuccess;\n \n if (percentage >= scoreThresholds.MODERATE)\n return styles.circleWarning;\n \n return styles.circleDanger;\n}\n \nexport function getColouredLabelClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return 'text-success';\n \n if (percentage >= scoreThresholds.MODERATE)\n return 'text-warning';\n \n return 'text-danger';\n}\n \nexport function getCircleContainerClassName(size: ProgressCircleSize, percentage?: number): string {\n let className = `d-inline-block ${styles.circleContainer}`;\n \n if (size === ProgressCircleSize.Large)\n className += ` ${styles.lgCircleContainer}`;\n\n if (size === ProgressCircleSize.ExtraSmall)\n className += ` ${styles.xsCircleContainer}`;\n\n if (isPending(percentage))\n className += ` ${styles.pendingCircle}`;\n \n return className;\n}\n\nexport function getPercentageToFixed(percentage?: number): number | undefined {\n if (isPending(percentage))\n return;\n \n return +percentage.toFixed(2);\n}\n \nexport function getFormattedPercentage(percentage?: number): string {\n if (isPending(percentage))\n return `--%`;\n\n return `${Math.round(percentage * 100)}%`;\n}\n\nexport function isPending(percentage?: number): boolean {\n return typeof percentage !== 'number';\n}","export const DragOverlayStyles = { opacity: '0.8', cursor: 'grabbing' };","import React from 'react';\nimport { PluginHook, useBlockLayout, useFilters, useFlexLayout, useGlobalFilter, useRowSelect, useSortBy } from 'react-table';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface PluginOptions {\n allowFiltering?: boolean;\n allowGlobalFiltering?: boolean;\n layout?: 'flex' | 'block';\n}\n\nexport function getPlugins<T extends HashObject>(props: PluginOptions): PluginHook<T>[] {\n let plugins: PluginHook<T>[] = [\n useSortBy,\n useRowSelect,\n props.layout === 'flex' ? useFlexLayout : useBlockLayout\n ];\n\n if (props.allowFiltering)\n plugins = [\n ...plugins,\n useFilters\n ];\n\n if (props.allowGlobalFiltering)\n plugins = [\n ...plugins,\n useGlobalFilter\n ];\n\n return plugins;\n}\n\nexport function getSelectedRowIds(ids: string[]): Record<string, boolean> {\n const idHash: Record<string, boolean> = {};\n\n ids.forEach(id => idHash[id] = true);\n\n return idHash;\n}\n\ninterface TableScrollState {\n canScrollLeft: boolean;\n canScrollRight: boolean;\n}\n\nfunction calculateScrollState(ref: React.MutableRefObject<HTMLDivElement>): TableScrollState {\n const canScrollLeft = ref.current?.scrollLeft > 0;\n const canScrollRight = (ref.current?.scrollLeft + 1) < ref.current?.scrollWidth - ref.current?.clientWidth;\n\n return { canScrollLeft, canScrollRight };\n}\n\ninterface UseTableScroll {\n ref: (el: HTMLDivElement) => void;\n scrollState: TableScrollState;\n scroll: (scrollBy: number) => void;\n}\n\nexport function useTableScroll(): UseTableScroll {\n const elRef = React.useRef<HTMLDivElement>(null);\n const [ scrollState, setScrollState ] = React.useState<TableScrollState>(calculateScrollState(elRef));\n\n function onScroll(): void {\n setScrollState(calculateScrollState(elRef));\n }\n\n function scroll(scrollBy: number): void {\n elRef.current?.scrollBy({ left: scrollBy, top: 0, behavior: 'smooth' });\n }\n\n const throttledOnScroll = FunctionHelper.throttle(onScroll, 200);\n\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (elRef.current) {\n elRef.current?.removeEventListener('scroll', throttledOnScroll);\n }\n\n if (el) {\n setScrollState(calculateScrollState(elRef));\n el.addEventListener('scroll', throttledOnScroll);\n }\n\n elRef.current = el;\n }, []);\n\n React.useEffect(() => {\n if (elRef?.current) {\n setScrollState(calculateScrollState(elRef));\n }\n }, [elRef]);\n\n return { ref, scrollState, scroll };\n}","// extracted by mini-css-extract-plugin\nexport default {\"sortIndicator\":\"gFhu0\",\"scrollContainer\":\"sWUp9\",\"scrollbarTrack\":\"Vn2qM\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport {\n Cell,\n Column as BaseColumn,\n HeaderGroup,\n HeaderProps as BaseHeaderProps,\n IdType,\n Row,\n SortingRule,\n TableOptions,\n TableRowProps,\n useTable } from 'react-table';\nimport { DragEndEvent } from '@dnd-kit/core';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SortableContainerWrapper } from 'libs/shared/components/sortable/SortableContainerWrapper';\nimport { PropsWithSortableItemProps, SortableItemWrapper } from 'libs/shared/components/sortable/SortableItemWrapper';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { DragOverlayStyles } from 'libs/shared/constants/DragOverlayStyles';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getPlugins, getSelectedRowIds, useTableScroll } from './TableUtils';\n\nimport styles from './table.scss';\n\nexport interface TableTheme {\n table?: string;\n header?: string;\n headerRow?: string;\n headerCell?: string;\n body?: string;\n row?: string | ((row: Row<any>) => string);\n selectedRow?: string;\n cell?: string | ((row?: Row<any>, cell?: Cell<any, any>) => string);\n sortIndicator?: string;\n}\n\nexport type HeaderProps<T extends HashObject> = BaseHeaderProps<T> & {\n renderSortIndicator: () => void;\n}\n\nexport type Column<T extends HashObject> = BaseColumn<T> & {\n hideSortIndicator?: boolean;\n}\n\ninterface SortIndicatorProps<T extends HashObject> {\n column: HeaderGroup<T>;\n theme?: TableTheme;\n}\n\nfunction SortIndicator<T extends HashObject>(props: SortIndicatorProps<T>): JSX.Element {\n if (!props.column.canSort)\n return <></>;\n\n return (\n <span\n className={\n `${styles.sortIndicator}\n ${!props.column.isSorted ? 'text-secondary' : ''}\n ${props.theme?.sortIndicator ?? ''}`\n }\n >\n <SvgContainer\n svgName={(props.column.isSortedDesc || !props.column.isSorted)\n ? cvSvgLibrary.ArrowRight\n : cvSvgLibrary.ArrowLeft\n }\n size={SvgContainerSize.Small}\n />\n </span>\n );\n}\n\ninterface BaseTableProps<T extends HashObject> {\n /**\n * Must be memoized.\n */\n data: T[];\n\n /**\n * Must be memoized.\n * \n * For documentation on Column Options, see https://react-table.tanstack.com/docs/api/useTable#column-options\n */\n columns: Column<T>[];\n\n theme?: TableTheme;\n\n onSelectRow?: (row: Row<T>) => void;\n\n onSelectCell?: (cell: Cell<T>) => void;\n\n onRowMouseOver?: (row: Row<T>) => void;\n\n onRowMouseLeave?: (row: Row<T>) => void;\n\n allowSelectMultipleRows?: boolean;\n\n initialSelectedRowIds?: string[];\n\n getRowId?: (row: T) => string;\n\n getRowAppLink?: (row: Row<T>) => Core.AppLink;\n\n enableSort?: boolean;\n\n manualSort?: boolean;\n\n onSort?: (sortingRule: SortingRule<T>[]) => void;\n \n // Opt-in to utilise react-table's useFilter hook.\n allowFiltering?: boolean;\n\n // Opt-in to utilise react-table's useGlobalFilter hook.\n allowGlobalFiltering?: boolean;\n\n // Use either a flex layout or a block layout. Default is flex.\n layout?: 'flex' | 'block';\n\n // Used by useGlobalFilter hook, needs to be enabled by prop above.\n globalFilter?: string;\n\n // Set initial state of hidden columns in react-table.\n hiddenColumns?: IdType<T>[];\n\n // Determine whether hidden columns should be preserved on a table update event.\n autoResetHiddenColumns?: boolean;\n\n // Determine whether sort order state should be preserved on a table update event.\n autoResetSortBy?: boolean;\n\n // Determine whether rows are sortable by drag and drop\n enableSortableRows?: boolean;\n\n onSortingRowsEnd?: (event: DragEndEvent) => void;\n\n // Set initial state of sorting in react-table\n initialSortBy?: SortingRule<T>[];\n\n emptyState?: JSX.Element;\n}\n \ntype SortableRowProps = PropsWithSortableItemProps<TableRowProps>;\n\nfunction BaseTable<T extends HashObject>(props: BaseTableProps<T>): JSX.Element {\n const tableOptions: TableOptions<T> = {\n columns: props.columns,\n data: props.data,\n disableSortBy: !props.enableSort,\n manualSortBy: props.manualSort,\n autoResetHiddenColumns: props.autoResetHiddenColumns,\n autoResetSortBy: props.autoResetSortBy,\n initialState: {\n sortBy: props.initialSortBy || []\n }\n };\n\n if (props.initialSelectedRowIds)\n tableOptions.initialState = { selectedRowIds: getSelectedRowIds(props.initialSelectedRowIds) };\n\n if (props.getRowId)\n tableOptions.getRowId = props.getRowId;\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n toggleAllRowsSelected,\n setGlobalFilter,\n setHiddenColumns,\n state: { sortBy }\n } = useTable<T>(tableOptions, ...getPlugins<T>({ ...props }));\n\n function getTableRowsClass(row: Row<T>) {\n let className = FunctionHelper.isFunction(props.theme?.row)\n ? props.theme.row(row)\n : props.theme?.row ?? '';\n\n if (row.isSelected && props.theme?.selectedRow)\n className += ` ${props.theme?.selectedRow}`;\n\n if (props.onSelectRow)\n className += ' cursor-pointer';\n\n if (props.enableSortableRows)\n className += ' cursor-grab';\n\n return className;\n }\n\n function renderTableRows() {\n if (!rows.length && props.emptyState)\n return props.emptyState;\n \n return rows.map(row => {\n prepareRow(row);\n \n const className = getTableRowsClass(row);\n const rowAppLink = !!props.getRowAppLink && props.getRowAppLink(row);\n\n function onClickRow(): void {\n if (!props.onSelectRow)\n return;\n\n if (!props.allowSelectMultipleRows)\n toggleAllRowsSelected(false);\n \n props.onSelectRow(row);\n row.toggleRowSelected(true);\n }\n\n function getSortableProps(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any) {\n if ('dragAttributes' in props && 'dragListeners' in props) {\n return {\n ...props.dragAttributes,\n ...props.dragListeners,\n 'aria-roledescription': 'Sortable row',\n ref\n };\n }\n\n return {};\n }\n\n function renderRow(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any): JSX.Element {\n const sortableProps = getSortableProps(props, ref);\n\n if (rowAppLink) {\n return (\n <div\n role='row'\n key={row.id}\n >\n <AppLink\n {...props}\n {...sortableProps}\n className={className}\n appLink={rowAppLink}\n >\n {renderCells(row)}\n </AppLink>\n </div>\n );\n }\n\n return (\n <div\n {...props}\n {...sortableProps}\n key={row.id}\n role='row'\n className={className}\n onClick={onClickRow}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n const rowProps = row.getRowProps();\n\n if (props.enableSortableRows) {\n return (\n <SortableItemWrapper\n id={row.original.id}\n key={row.id}\n childProps={rowProps}\n childComponent={React.forwardRef(\n (props: SortableRowProps, ref: React.LegacyRef<HTMLDivElement>) => (renderRow(props, ref))\n )}\n />\n );\n }\n\n return renderRow(rowProps);\n });\n }\n\n function getDragOverlayClassName(theme: TableTheme): string {\n let className = 'g-0 ';\n\n if (theme)\n className += theme.row;\n\n return className;\n }\n\n function getDragOverlay(id: string) {\n const rowIndex = rows.findIndex(item => item.original.id === id);\n const row = rows[rowIndex];\n \n return (\n <div\n {...props}\n className={getDragOverlayClassName(props.theme)}\n style={DragOverlayStyles}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n function getCellClassName(row: Row<T>, cell: Cell<T>): string {\n let cellClassName = '';\n\n if (typeof props.theme?.cell === 'function')\n cellClassName = props.theme.cell(row, cell);\n\n if (typeof props.theme?.cell === 'string')\n cellClassName = props.theme.cell;\n\n if (props.onSelectCell)\n cellClassName += ' cursor-pointer';\n\n return cellClassName;\n }\n\n function renderCells(row: Row<T>): JSX.Element[] {\n return row.cells.map(cell => {\n const cellClassName = getCellClassName(row, cell);\n\n function onClickCell(): void {\n props.onSelectCell && props.onSelectCell(cell);\n }\n\n return (\n <div key={cell.column.id} {...cell.getCellProps()} className={cellClassName} onClick={onClickCell} >\n {cell.render('Cell')}\n </div>\n );\n });\n }\n\n React.useEffect(() => {\n if (!props.onSort)\n return;\n\n props.onSort(sortBy);\n }, [sortBy]);\n\n React.useEffect(() => {\n if (!props.globalFilter)\n return;\n\n setGlobalFilter(props.globalFilter);\n }, [props.globalFilter]);\n\n React.useEffect(() => {\n if (!props.hiddenColumns)\n return;\n\n setHiddenColumns(props.hiddenColumns);\n }, [props.hiddenColumns && props.hiddenColumns.length]);\n\n return (\n <div {...getTableProps()} className={props.theme?.table ?? ''}>\n <div className={props.theme?.header ?? ''}>\n {headerGroups.map(headerGroup => (\n <div {...headerGroup.getHeaderGroupProps()} className={props.theme?.headerRow ?? ''}>\n {headerGroup.headers.map(column => (\n <div {...column.getHeaderProps(column.getSortByToggleProps())} className={props.theme?.headerCell ?? ''}>\n {column.render('Header', { renderSortIndicator: () => <SortIndicator column={column} theme={props.theme} /> })}\n {!(column as Column<T>).hideSortIndicator &&\n <SortIndicator column={column} theme={props.theme} />\n }\n </div>\n ))}\n </div>\n ))}\n </div>\n <div {...getTableBodyProps()} className={props.theme?.body ?? ''}>\n { props.enableSortableRows ? (\n <SortableContainerWrapper\n ids={rows.map(row => row.original.id)}\n getDragOverlay={getDragOverlay}\n onSortEnd={props.onSortingRowsEnd}\n >\n {renderTableRows()}\n </SortableContainerWrapper>\n ) : (\n renderTableRows()\n )}\n </div>\n </div>\n );\n}\n\ninterface TableProps<T extends HashObject> extends BaseTableProps<T> {\n enableSlider?: boolean;\n scrollIncrement?: number;\n scrollContainerClassName?: string;\n scrollable?: boolean;\n initialSortBy?: SortingRule<T>[];\n}\n\nTable.defaultProps = {\n scrollIncrement: 250,\n scrollable: false,\n layout: 'flex'\n};\n\nexport function Table<T extends HashObject>(props: TableProps<T>): JSX.Element {\n const { enableSlider, scrollIncrement, scrollable, ...tableProps } = props;\n\n const { ref, scrollState, scroll } = useTableScroll();\n\n if (scrollable) {\n return (\n <Scrollbars\n renderTrackHorizontal={() => <div className={styles.scrollbarTrack} />}\n autoHeightMax={10000}\n autoHeight\n >\n <BaseTable {...tableProps} />\n </Scrollbars>\n );\n }\n\n if (!enableSlider)\n return <BaseTable {...tableProps} />;\n\n function onClickScroll(direction: 'left' | 'right'): void {\n scroll(scrollIncrement * (direction === 'right' ? 1 : -1));\n }\n\n return (\n <div className='mx-n4 overflow-x-hidden overflow-y-hidden'>\n <div className='px-4'>\n <div className='position-relative'>\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => onClickScroll('left')}\n hide={!scrollState.canScrollLeft}\n />\n <div className={`${styles.scrollContainer} ${props.scrollContainerClassName}`} ref={ref}>\n <BaseTable {...tableProps } />\n </div>\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => onClickScroll('right')}\n hide={!scrollState.canScrollRight}\n />\n </div>\n </div>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: Share = {\n type: ShareType.Link,\n privacy: SharePrivacy.JustMySchool,\n objectId: '0',\n objectTypeId: MasterType.Interactive,\n viewCount: 28,\n accessCount: 15,\n dateCreated: new Date().toISOString(),\n dateShared: new Date().toISOString(),\n expireDate: null,\n link: {\n shortenedEmbedUrl: '',\n shortenedUrl: ''\n },\n shareId: '0',\n ownerCustomerId: 0,\n ownerId: 0,\n recipients: [],\n options: {\n preventScrubbing: false,\n immediateFeedback: false\n }\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE: Share = {\n ...DEMO_INSIGHTS_SHARE,\n type: ShareType.Open,\n expireDate: DateHelper.add(new Date(DEMO_INSIGHTS_SHARE.dateCreated), 30, 'days').toISOString(),\n privacy: SharePrivacy.PinCode\n};\n\nexport const DEMO_INSIGHTS_SHARE_TABLE_DATA: MySharesTableData = {\n share: DEMO_INSIGHTS_SHARE,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString()\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA: MySharesTableData = {\n ...DEMO_INSIGHTS_SHARE_TABLE_DATA,\n share: DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE\n};\n\nexport const DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_OPEN_CLASSROOM_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { SortStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsQuestions } from 'apps/my-shares/components/interactive-insights-questions/InteractiveInsightsQuestions';\nimport { DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE, DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.interactiveInsightsQuestionsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsQuestionsViewProps {\n interactionId: string;\n sortBy: SortStudentsBy;\n type?: ShareType;\n}\n\nexport function InteractiveInsightsQuestionsDemoView(props: InteractiveInsightsQuestionsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InsightsDemoRequests.interactiveMetadata()\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(InsightsDemoRequests.interactive());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const results = Flight.useBasicFetch<InteractiveResultSet>(InsightsDemoRequests.interactiveResults());\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n const hasDataLoaded = interactive.data && interactiveMetadata.data && !!results.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n\n const share = props.type === ShareType.Open ? DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE : DEMO_INSIGHTS_SHARE;\n\n return (\n <div className='px-3'>\n <InsightsHeader\n tabs={getInsightsDemoInteractiveTabs(interactiveMetadata.data?.id, 'questions', params, props.type)}\n video={interactiveMetadata.data}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n share={{\n ...share,\n objectId: interactiveMetadata.data?.id\n }}\n yearGroups={[]}\n markingRequired={props.type !== ShareType.Open}\n isDemo\n hasData\n />\n\n <InteractiveInsightsQuestions\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n interactionId={props.interactionId}\n config={config.data}\n sortBy={props.sortBy}\n isFetching={results.isFetching || interactive.isFetching}\n anonymiseUsers={anonymiseUsers}\n results={results.data}\n hasDataLoaded={hasDataLoaded}\n isDemo\n />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"circleContainer\":\"p8Vgz\",\"backgroundCircle\":\"asGGE\",\"circleSuccess\":\"PXLNj\",\"circleWarning\":\"ZckRN\",\"circleDanger\":\"slBRg\",\"lgCircleContainer\":\"N8KCI\",\"xsCircleContainer\":\"RPqZ2\",\"pendingCircle\":\"DKrcq\",\"centredPercentageText\":\"tpmLR\"};"],"names":["getPhrase","getClassName","props","className","showLabel","PendingIndicator","title","tooltipClassName","showIndicator","Indicator","spanHack","spanHackClassName","getSortStudents","sortBy","id","desc","shouldFilterStudent","filter","summary","awaitingMarking","percentCorrect","unanswered","PercentageIndicatorLayout","ProgressCircle","ref","circle","radius","r","baseVal","value","circumference","Math","PI","offset","percentage","style","strokeDasharray","strokeDashoffset","toString","size","scoreThresholds","PercentageIndicator","percentageToFixed","layout","LabelInside","label","customLabel","LabelOnly","LabelBefore","defaultProps","CircleOnly","ProgressCircleSize","CIRCLE_STROKE_WIDTH","CIRCLE_STROKE_WIDTH_LG","ProgressCircleSizeMap","ExtraSmall","Small","Large","getCircleRadius","width","strokeWidth","getCircleClassName","HIGH","MODERATE","getColouredLabelClassName","getCircleContainerClassName","isPending","getPercentageToFixed","toFixed","getFormattedPercentage","round","DragOverlayStyles","opacity","cursor","calculateScrollState","canScrollLeft","current","scrollLeft","canScrollRight","scrollWidth","clientWidth","SortIndicator","column","canSort","isSorted","theme","sortIndicator","SvgContainer","svgName","isSortedDesc","S","BaseTable","ids","idHash","tableOptions","columns","data","disableSortBy","enableSort","manualSortBy","manualSort","autoResetHiddenColumns","autoResetSortBy","initialState","initialSortBy","initialSelectedRowIds","selectedRowIds","forEach","getRowId","useTable","plugins","useSortBy","useRowSelect","useFlexLayout","useBlockLayout","allowFiltering","useFilters","allowGlobalFiltering","useGlobalFilter","getPlugins","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","toggleAllRowsSelected","setGlobalFilter","setHiddenColumns","state","renderTableRows","length","emptyState","map","row","FunctionHelper","isSelected","selectedRow","onSelectRow","enableSortableRows","getTableRowsClass","rowAppLink","getRowAppLink","onClickRow","allowSelectMultipleRows","toggleRowSelected","renderRow","sortableProps","dragAttributes","dragListeners","getSortableProps","role","key","AppLink","appLink","renderCells","onClick","rowProps","getRowProps","SortableItemWrapper","original","childProps","childComponent","cells","cell","cellClassName","onSelectCell","getCellClassName","getCellProps","render","onSort","globalFilter","hiddenColumns","table","header","headerGroup","getHeaderGroupProps","headerRow","headers","getHeaderProps","getSortByToggleProps","headerCell","renderSortIndicator","hideSortIndicator","body","SortableContainerWrapper","getDragOverlay","rowIndex","findIndex","item","onSortEnd","onSortingRowsEnd","Table","enableSlider","scrollIncrement","scrollable","tableProps","elRef","scrollState","setScrollState","throttledOnScroll","el","removeEventListener","addEventListener","scroll","scrollBy","left","top","behavior","useTableScroll","renderTrackHorizontal","autoHeightMax","autoHeight","onClickScroll","direction","WidgetButton","W","hide","scrollContainerClassName","InsightsDemoRequests","interactive","url","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","DEMO_INSIGHTS_SHARE","type","privacy","objectId","objectTypeId","viewCount","accessCount","dateCreated","Date","toISOString","dateShared","expireDate","link","shortenedEmbedUrl","shortenedUrl","shareId","ownerCustomerId","ownerId","recipients","options","preventScrubbing","immediateFeedback","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE","DEMO_INSIGHTS_SHARE_TABLE_DATA","share","sharedObject","shareRecipients","DEMO_INSIGHTS_OPEN_CLASSROOM_SHARE_TABLE_DATA","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_OPEN_CLASSROOM_APPLINK","DEMO_INSIGHTS_ACTION","group","InteractiveInsightsQuestionsDemoView","anonymiseUsers","config","audienceAppLinkParams","dateRangeAppLinkParams","results","video","name","hasDataLoaded","params","tabs","yearGroups","markingRequired","isDemo","hasData","interactionId","isFetching"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3249],{72632:(e,t,n)=>{n.d(t,{l:()=>y});var r=n(32735),a=n(23481),o=n(31453),l=n(49985),s=n(65858),c=n(30357),i=n(64249),A=n(66257),m=n(83345),u=n(26450);const d={embedHtmlInput:"mwvd0",copyBtnContainer:"myePx"};function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){i=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(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)?g(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(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 v="share.copyEmbedHtml",f=a.T.encloseNamespace(v);function y(e){var t=u.i.getEmbedResolutions(),n=p(r.useState(!!e.showEmbedCopiedText),2),a=n[0],g=n[1],y=p(r.useState(!1),2),h=y[0],E=y[1],b=p(r.useState(t.find(function(e){return"100%"===e.width})),2),C=b[0],w=b[1];r.useEffect(function(){e.showEmbedCopiedText&&setTimeout(function(){return g(!1)},2e3)},[e.showEmbedCopiedText]);var z=p(r.useState(!1),2),x=z[0],N=z[1],B=u.i.buildEmbedUrl({embedUrl:e.embedUrl,host:e.liteUrl,shareId:e.shareId,autoplay:h}),L=u.i.getEmbedString({url:B,size:C});return r.createElement(m.D.Provider,{value:v},r.createElement(A.k,{value:L,onCopy:function(){g(!0),setTimeout(function(){return g(!1)},2e3),x||(N(!0),"function"!=typeof e.onCopy?l.k.logUserAction(Object.assign(Object.assign({},e.entity),{embedDetails:{size:C,autoplay:h}}),l.k.mergeOptions(i.I.getAnalyticsOptions(e.entityType),[{actionType:s.Vw.Share,descriptor:s.YM.CopyEmbedHtml,eventVersion:s.eq.V3},e.analyticsOptions])):e.onCopy({size:C,autoplay:h}))},copiedText:"normal-v2"===e.styling?f("copiedV2"):f("copied"),copyText:f("copy"),showCopiedText:a,styling:e.styling,extraButtonClassNames:(0,o.A)("position-absolute bottom-0 end-0",d.copyBtnContainer),hasInputBg:e.hasInputBg,label:e.hideLabel?void 0:f("label"),textarea:!0}),r.createElement(c.V,{autoplay:h,setAutoplay:E,videoSize:C,setVideoSize:w,videoSizes:t}))}y.defaultProps={styling:"normal"}},30357:(e,t,n)=>{n.d(t,{V:()=>c});var r=n(32735),a=n(23999),o=n(89965),l=n(83345),s="share.embedSize";function c(e){var t=e.autoplay,n=e.setAutoplay,c=e.videoSize,i=e.setVideoSize,A=e.videoSizes;return r.createElement("div",{className:"d-flex align-items-center"},!!A.length&&r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1"},r.createElement(l.x,{namespace:s,phrase:"videoSize"})),r.createElement("div",{className:"pe-3"},r.createElement(a.Z,null,r.createElement(a.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},c.label),r.createElement(a.Z.Menu,null,A.map(function(e){return r.createElement(a.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return i(e)}},e.label)}))))),r.createElement("div",{className:"me-2"},r.createElement(l.x,{namespace:s,phrase:"autoplay"})),r.createElement(o.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}},19494:(e,t,n)=>{n.d(t,{C:()=>m});var r=n(32735),a=n(23481),o=n(31453),l=n(36532);function s(){return r.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},r.createElement("circle",{cx:"12",cy:"12",r:"12",fill:"url(#pattern0)"}),r.createElement("defs",null,r.createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},r.createElement("use",{xlinkHref:"#image0_3558_14996",transform:"scale(0.00520833)"})),r.createElement("image",{id:"image0_3558_14996",width:"192",height:"192",xlinkHref:"data:image/png;base64,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"})))}function c(){return r.createElement("svg",{viewBox:"0 0 40 40",fill:"none"},r.createElement("path",{d:"M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z",fill:"#fff"}),r.createElement("path",{d:"M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z",fill:"#fff"}))}var i=n(13524),A="share.shareIntegrations";function m(e){var t=(0,o.A)(i.Z.avatar,"sm"===(null==e?void 0:e.size)&&i.Z.small,"sm"!==(null==e?void 0:e.size)&&"border","rounded-circle overflow-hidden");return r.createElement(l.u,{title:a.T.getPhrase(A,"shareThroughIntegrations"),spanHack:!0,disable:e.noTooltip},r.createElement("ul",{className:"list-unstyled d-flex mb-0"},r.createElement("li",{className:t,style:{zIndex:1}},r.createElement(s,null)),r.createElement("li",{className:"".concat(t," ").concat(i.Z.msTeamsContainer),style:{zIndex:0}},r.createElement(c,null))))}},66257:(e,t,n)=>{n.d(t,{k:()=>d});var r=n(32735),a=n(80130),o=n(59087),l=n(23481),s=n(31453),c=n(35223),i=n(91693);const A={normal:"Q1UGv",copyBtn:"J3fBx",embedHtmlInput:"RcwAD"};function m(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 u=l.T.encloseNamespace("shared.copyInput");function d(e){var t,n,l=(t=r.useState(e.showCopiedText||!1),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,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){i=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return m(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)?m(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=l[0],p=l[1];function g(){setTimeout(function(){return p(!1)},2e3)}function v(){e.onCopy&&e.onCopy(),d||(p(!0),g())}r.useEffect(function(){e.showCopiedText&&g()},[e.showCopiedText]);var f=r.createElement("div",{className:"normal-v2"===e.styling?"d-flex flex-row gap-2 position-relative w-100":"input-group"},e.textarea?r.createElement("textarea",{className:(0,s.A)("form-control rounded w-100 h-100",!e.hasInputBg&&A.embedHtmlInput),spellCheck:!1,value:e.value,rows:7,readOnly:!0}):r.createElement("input",{type:"text",autoComplete:"off",className:(0,s.A)("form-control","normal"===e.styling&&e.styling),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(function(){return"normal-v2"===e.styling?r.createElement(o.CopyToClipboard,{text:e.value,onCopy:v},r.createElement(i.h,{role:d?"status":"",svgName:d?c.vn.Check:c.vn.Copy,className:(0,s.A)(A.copyBtn,"btn py-0 text-nowrap",d?"btn-success text-white":"btn-outline-dark border-secondary",e.extraButtonClassNames)},d?e.copiedText||u("copiedLink"):e.copyText||u("copy"))):r.createElement(o.CopyToClipboard,{text:e.value,onCopy:v},r.createElement("button",{role:d?"status":"",className:(0,s.A)("btn btn-outline-dark border border-secondary py-0 text-nowrap",e.extraButtonClassNames)},d?e.copiedText||u("copied"):e.copyText||u("copy")))},null));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),f):f}d.defaultProps={styling:"normal"}},41661:(e,t,n)=>{var r;n.d(t,{D:()=>r}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(r||(r={}))},40841:(e,t,n)=>{n.d(t,{_:()=>s});var r=n(23481),a=n(41661),o=n(65728),l=r.T.encloseNamespace("shared.shared-utils"),s={getShareIntegrations:function(e,t){return[{id:a.D.GoogleClassroom,name:l("googleClassroom"),enabled:e,settingName:o.E.ShareToGoogleClassroom},{id:a.D.MicrosoftTeams,name:l("msftTeams"),enabled:t,settingName:o.E.ShareToMicrosoftTeams}]}}},13524:(e,t,n)=>{n.d(t,{Z:()=>r});const r={hoverable:"bLxv5",msTeamsContainer:"mPAD2",avatar:"qmP52",small:"ul1RN"}}}]);
|
|
2
|
-
//# sourceMappingURL=3249-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3249],{72632:(e,t,n)=>{n.d(t,{l:()=>y});var r=n(32735),a=n(23481),o=n(31453),l=n(49985),s=n(65858),c=n(30357),i=n(64249),A=n(66257),m=n(83345),u=n(26450);const d={embedHtmlInput:"mwvd0",copyBtnContainer:"myePx"};function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){i=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(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)?g(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(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 v="share.copyEmbedHtml",f=a.T.encloseNamespace(v);function y(e){var t=u.i.getEmbedResolutions(),n=p(r.useState(!!e.showEmbedCopiedText),2),a=n[0],g=n[1],y=p(r.useState(!1),2),h=y[0],E=y[1],b=p(r.useState(t.find(function(e){return"100%"===e.width})),2),C=b[0],w=b[1];r.useEffect(function(){e.showEmbedCopiedText&&setTimeout(function(){return g(!1)},2e3)},[e.showEmbedCopiedText]);var x=p(r.useState(!1),2),z=x[0],N=x[1],B=u.i.buildEmbedUrl({embedUrl:e.embedUrl,host:e.liteUrl,shareId:e.shareId,autoplay:h}),L=u.i.getEmbedString({url:B,size:C});return r.createElement(m.D.Provider,{value:v},r.createElement(A.k,{value:L,onCopy:function(){g(!0),setTimeout(function(){return g(!1)},2e3),z||(N(!0),"function"!=typeof e.onCopy?l.k.logUserAction(Object.assign(Object.assign({},e.entity),{embedDetails:{size:C,autoplay:h}}),l.k.mergeOptions(i.I.getAnalyticsOptions(e.entityType),[{actionType:s.Vw.Share,descriptor:s.YM.CopyEmbedHtml,eventVersion:s.eq.V3},e.analyticsOptions])):e.onCopy({size:C,autoplay:h}))},copiedText:"normal-v2"===e.styling?f("copiedV2"):f("copied"),copyText:f("copy"),showCopiedText:a,styling:e.styling,extraButtonClassNames:(0,o.A)("position-absolute bottom-0 end-0",d.copyBtnContainer),hasInputBg:e.hasInputBg,label:e.hideLabel?void 0:f("label"),textarea:!0}),r.createElement(c.V,{autoplay:h,setAutoplay:E,videoSize:C,setVideoSize:w,videoSizes:t}))}y.defaultProps={styling:"normal"}},30357:(e,t,n)=>{n.d(t,{V:()=>c});var r=n(32735),a=n(23999),o=n(89965),l=n(83345),s="share.embedSize";function c(e){var t=e.autoplay,n=e.setAutoplay,c=e.videoSize,i=e.setVideoSize,A=e.videoSizes;return r.createElement("div",{className:"d-flex align-items-center"},!!A.length&&r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1"},r.createElement(l.x,{namespace:s,phrase:"videoSize"})),r.createElement("div",{className:"pe-3"},r.createElement(a.Z,null,r.createElement(a.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},c.label),r.createElement(a.Z.Menu,null,A.map(function(e){return r.createElement(a.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return i(e)}},e.label)}))))),r.createElement("div",{className:"me-2"},r.createElement(l.x,{namespace:s,phrase:"autoplay"})),r.createElement(o.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}},19494:(e,t,n)=>{n.d(t,{C:()=>m});var r=n(32735),a=n(23481),o=n(31453),l=n(36532);function s(){return r.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},r.createElement("circle",{cx:"12",cy:"12",r:"12",fill:"url(#pattern0)"}),r.createElement("defs",null,r.createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},r.createElement("use",{xlinkHref:"#image0_3558_14996",transform:"scale(0.00520833)"})),r.createElement("image",{id:"image0_3558_14996",width:"192",height:"192",xlinkHref:"data:image/png;base64,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"})))}function c(){return r.createElement("svg",{viewBox:"0 0 40 40",fill:"none"},r.createElement("path",{d:"M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z",fill:"#fff"}),r.createElement("path",{d:"M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z",fill:"#fff"}))}var i=n(13524),A="share.shareIntegrations";function m(e){var t=(0,o.A)(i.Z.avatar,"sm"===(null==e?void 0:e.size)&&i.Z.small,"sm"!==(null==e?void 0:e.size)&&"border","rounded-circle overflow-hidden");return r.createElement(l.u,{title:a.T.getPhrase(A,"shareThroughIntegrations"),spanHack:!0,disable:e.noTooltip},r.createElement("ul",{className:"list-unstyled d-flex mb-0"},r.createElement("li",{className:t,style:{zIndex:1}},r.createElement(s,null)),r.createElement("li",{className:"".concat(t," ").concat(i.Z.msTeamsContainer),style:{zIndex:0}},r.createElement(c,null))))}},66257:(e,t,n)=>{n.d(t,{k:()=>d});var r=n(32735),a=n(80130),o=n(59087),l=n(23481),s=n(31453),c=n(35223),i=n(91693);const A={normal:"Q1UGv",copyBtn:"J3fBx",embedHtmlInput:"RcwAD"};function m(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 u=l.T.encloseNamespace("shared.copyInput");function d(e){var t,n,l=(t=r.useState(e.showCopiedText||!1),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,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){i=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return m(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)?m(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=l[0],p=l[1];function g(){setTimeout(function(){return p(!1)},2e3)}function v(){e.onCopy&&e.onCopy(),d||(p(!0),g())}r.useEffect(function(){e.showCopiedText&&g()},[e.showCopiedText]);var f=r.createElement("div",{className:"normal-v2"===e.styling?"d-flex flex-row gap-2 position-relative w-100":"input-group"},e.textarea?r.createElement("textarea",{className:(0,s.A)("form-control rounded w-100 h-100",!e.hasInputBg&&A.embedHtmlInput,e.textAreaClassName),spellCheck:!1,value:e.value,rows:e.rows||7,readOnly:!0}):r.createElement("input",{type:"text",autoComplete:"off",className:(0,s.A)("form-control","normal"===e.styling&&e.styling),spellCheck:!1,value:e.value,readOnly:!0}),r.createElement(function(){return"normal-v2"===e.styling?r.createElement(o.CopyToClipboard,{text:e.value,onCopy:v},r.createElement(i.h,{role:d?"status":"",svgName:d?c.vn.Check:c.vn.Copy,className:(0,s.A)(A.copyBtn,"btn py-0 text-nowrap",d?"btn-success text-white":"btn-outline-dark border-secondary",e.extraButtonClassNames)},d?e.copiedText||u("copiedLink"):e.copyText||u("copy"))):r.createElement(o.CopyToClipboard,{text:e.value,onCopy:v},r.createElement("button",{role:d?"status":"",className:(0,s.A)("btn btn-outline-dark border border-secondary py-0 text-nowrap",e.extraButtonClassNames)},d?e.copiedText||u("copied"):e.copyText||u("copy")))},null));return e.label?r.createElement(a.Z.Group,{className:"form-group"},r.createElement(a.Z.Label,null,e.label),f):f}d.defaultProps={styling:"normal"}},41661:(e,t,n)=>{var r;n.d(t,{D:()=>r}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(r||(r={}))},40841:(e,t,n)=>{n.d(t,{_:()=>s});var r=n(23481),a=n(41661),o=n(65728),l=r.T.encloseNamespace("shared.shared-utils"),s={getShareIntegrations:function(e,t){return[{id:a.D.GoogleClassroom,name:l("googleClassroom"),enabled:e,settingName:o.E.ShareToGoogleClassroom},{id:a.D.MicrosoftTeams,name:l("msftTeams"),enabled:t,settingName:o.E.ShareToMicrosoftTeams}]}}},13524:(e,t,n)=>{n.d(t,{Z:()=>r});const r={hoverable:"bLxv5",msTeamsContainer:"mPAD2",avatar:"qmP52",small:"ul1RN"}}}]);
|
|
2
|
+
//# sourceMappingURL=3249-08a22f8aaf-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/3249-08a22f8aaf-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/copy-embed-html.scss","file:///app/packages/libs/shared/src/apps/share/components/copy-embed-html/CopyEmbedHtml.tsx","file:///app/packages/libs/shared/src/apps/share/components/embed-size/EmbedSize.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/GoogleClassroomAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/avatars/MicrosoftTeamsAvatar.tsx","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/ShareIntegrationsStack.tsx","file:///app/packages/libs/shared/src/components/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/packages/libs/shared/src/apps/share/views/share/components/share-integrations/share-integrations.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"embedHtmlInput\":\"mwvd0\",\"copyBtnContainer\":\"myePx\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { EmbedSize } from 'libs/shared/apps/share/components/embed-size/EmbedSize';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\nimport { BaseObject, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport styles from './copy-embed-html.scss';\n\nconst namespace = 'share.copyEmbedHtml';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface EmbedDetails {\n size: EmbedResolution;\n autoplay: boolean;\n}\n\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\n entity: BaseObject;\n entityType: SharableEntityType;\n liteUrl: string;\n entityId: string;\n shareId: string;\n embedUrl: string;\n hideLabel?: boolean;\n hasInputBg?: boolean;\n onCopy?: (details: EmbedDetails) => void;\n showEmbedCopiedText?: boolean;\n styling?: 'greyed' | 'normal' | 'normal-v2';\n}>;\n\nCopyEmbedHtml.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\n const videoSizes = EmbedHelper.getEmbedResolutions();\n\n const [ copied, setCopied ] = React.useState<boolean>(!!props.showEmbedCopiedText);\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\n\n /**\n * When going to the CopyEmbedView from the CreateShareView we want to show the copied text\n * for a short period of time.\n * - Sha\n */\n React.useEffect(() => {\n if (!props.showEmbedCopiedText)\n return;\n\n setTimeout(() => setCopied(false), 2000);\n }, [props.showEmbedCopiedText]);\n\n const [ logged, setLogged ] = React.useState(false);\n function onCopy(): void {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n\n // Because our users are double clickers\n if (logged)\n return;\n\n setLogged(true);\n\n if (typeof props.onCopy === 'function') {\n props.onCopy({\n size: videoSize,\n autoplay\n });\n return;\n }\n\n AnalyticsHelper.logUserAction({\n ...props.entity,\n embedDetails: {\n size: videoSize,\n autoplay\n }\n }, AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(props.entityType), [\n {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.CopyEmbedHtml,\n eventVersion: EventVersion.V3\n },\n props.analyticsOptions\n ]));\n }\n\n const url = EmbedHelper.buildEmbedUrl({\n embedUrl: props.embedUrl,\n host: props.liteUrl,\n shareId: props.shareId,\n autoplay\n });\n \n const embedString = EmbedHelper.getEmbedString({\n url,\n size: videoSize\n });\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <CopyInput\n value={embedString}\n onCopy={onCopy}\n copiedText={props.styling === 'normal-v2' ? getPhrase('copiedV2') : getPhrase('copied')}\n copyText={getPhrase('copy')}\n showCopiedText={copied}\n styling={props.styling}\n extraButtonClassNames={classNames('position-absolute bottom-0 end-0', styles.copyBtnContainer)}\n hasInputBg={props.hasInputBg}\n label={props.hideLabel ? undefined : getPhrase('label')}\n textarea\n />\n <EmbedSize\n autoplay={autoplay}\n setAutoplay={setAutoplay}\n videoSize={videoSize}\n setVideoSize={setVideoSize}\n videoSizes={videoSizes}\n />\n </LanguageNamespaceContext.Provider>\n );\n}\n","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nconst namespace = 'share.embedSize';\n\ninterface EmbedSizeProps {\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n}\n\nexport function EmbedSize(props: EmbedSizeProps): React.ReactElement {\n const {\n autoplay,\n setAutoplay,\n videoSize,\n setVideoSize,\n videoSizes\n } = props;\n\n return (\n <div className='d-flex align-items-center'>\n {!!videoSizes.length &&\n <>\n <div className='me-1'>\n <Text namespace={namespace} phrase='videoSize' />\n </div>\n <div className='pe-3'>\n <Dropdown>\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\n {videoSize.label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n {videoSizes.map(size => (\n <Dropdown.Item\n key={`${size.width}x${size.height}`}\n onClick={() => setVideoSize(size)}\n >\n {size.label}\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </>\n }\n <div className='me-2'>\n <Text namespace={namespace} phrase='autoplay' />\n </div>\n <Checkbox id='autoplay-checkbox' checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\n </div>\n );\n}","import React from 'react';\n\nexport function GoogleClassroomAvatar(): JSX.Element {\n return (\n <svg width='24' height='24' viewBox='0 0 24 24' fill='none'>\n <circle cx='12' cy='12' r='12' fill='url(#pattern0)'/>\n <defs>\n <pattern id='pattern0' patternContentUnits='objectBoundingBox' width='1' height='1'>\n <use xlinkHref='#image0_3558_14996' transform='scale(0.00520833)'/>\n </pattern>\n <image id='image0_3558_14996' width='192' height='192' xlinkHref='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAAXNSR0IArs4c6QAAJ41JREFUeAHtfQm0XFWZ7r+r7jxPuTeXhExkgISYNFOGmwBJUEB8IPSD1whERXR1A22Cgv2WT1TQ7tUNCIRW2vVE1ESkF3SDgAr4TBgyQQANhgAhIQNJCPfmDrm581B13v+dupXUrVtn71OnTp2a9r9W1Rn2/O/vP3v6978FaXKNA8a2ceOp35hFgmYRGVPJMGrJEHUk+Ep8JaOcr4X8voDEyBWpCzHI7wbMK/GV6Dj/2jhsG4dtZQ/47ePnXVQodomFLc0IpilxDojEo8itGIx9U4roSN8MGh6axYA83QS7YQJ+JnOi0iNudLKw7OK0dnH6u1h4dlFe/i5qLN4tpu7v9ygPWZGMFgBFNRo75xRQR8sCMgLLyaDl7H0hXwsUwVLkLLgVode4pdlAPv8Gqq7fJubsHExRZjIiWS0AUdVkGFf7aeOGsxlIy0YAv4S/sCVR3jLjUYhezugmLgsLBP8WL/+zEE8GMiPz3uRSCwDz2ezWHO65nILBaxnsy/iVV10Zb2r5ZCroOr3E44rf0MSK53R3iUdWJ3mTW3eGYQjaXL+EgoEb+Et/DZc+W0FvVbEsDPQEd5XWUlPLZiGEYeUxm9/nnAAYW8ZNp2HjBqIggD81myvXdtkE7SPyraM8sU4sPrrHdrgs8JgTAmAOZNuPXE9BuonrbFEW1Fsyi7CVxwuPUE3jr3NhAJ3VAmBsmVhMgb6vMvDv4J7+xGSiBnEPGj76aLiM9uI3VE6fBIqo18ijnmAedRv5fOUf8T0/410Pu4FKxTCV+oapjH+lhPshKhND5rsSdhvv76dp+V00La+bJvGvQATNcMn9E4e4i3QP5RU/IhYf6ktuWqmLPSsFwNhUV86D2Zu5i/MNvta7zd4+w087BqvpQwb53mH+mdcyOhgopSAPLZJJPu6qn+rvMYUhJBRddBoLx9yCDioWSZjgEaKFBeF+Hjw/LJa0diWzbKmIO7m15XGJ+ItfQ8P9q7h//48M/mq3kseXfftgDW0ZGEdb++vN+yF+l06Uz63C/IJ2WlTUQosLj5r3rrYUgjrI8D1E+UUPcYvQnk5lTyQvWSEAxpvTKqm389sM+pu5q1OWCEMQNsBf8R1D1bSlnwE/UE9vDtTSAH/1M4kKuTU4t7CVFrIwLC46SnPzO8jvykSP6OYW4WEqqfwXcc7ezkziSay8ZrwAGK/UXceg/xH/GmIVMJ537w5W0VO9k+jZ3lOplfvv2UR1PI64vOQgXVXyEc0uOOZC0cQnPIt+u7ig9TEXIktZFBkrAMarNbO5An7CffwLE+Fec6CYnmHAP9UzmT4YqkgkqowJOzP/OF1VeoCuYIFo8Cc4vhXiZf743CLOb383YxgQkdGMEwDj7YZS6hz+LjP9Nu7y5EeUxfYtBrEv9E2gp3sm0eb+Bo4mNwmV31TUTFeWfkSXFB92PogWNMQfoweoMu9uMa+5J5O4mVECYGyqvYqnWR5kxJ7qhMnHeRpybfd0erRrOh0Lpqk+m5OCuRCmyjdIN5bvoZVlu6mCp2MdkaCD5BOrxZK2pxyFT0GgjBAAY3NDPasf/4L581knPGoLFtIvGPRru04z5+OdxJErYbD+sLL8Q/oyC0OtD1sTHJCg35M//0bR1NziILSnQdJeAHhOfxl/9R/jvn5jvJxB//7/Hp9Bj/dM430qmTWLE29Z3fZfxLNI15bupa9V7HY2ThDiCLcG1/HawUtu583N+NJWAAzj+z7a+NB3uLDf4y5PXJPuLcEiWnNsNv1372RzddZNhuVaXFhL+NuSA7Sq6l2q98W510bwGjzRXbT06z8U4vteLF/HXT1pKQDGa/UNNBjAV39FPCXC/P3a7tPogc7ZuqsTD+Ns+EXX6LbKd3mM8GH86wlCrKcC/3XpuJUz7QTAeLV2BX/xeW45vnn9t3il9s72s+j9oVzTaraBXhe9nJ7fST+o+TOdzavO8ZFo5gW068T5bevjC5dc33F1LZKZFXR5jFfr7mLg/zEe8LcHCuif2s+mq5uXafAns4JG4sYHBrwGz8F7+4QPmvFH1LHZvbUfMKk+06IFMHZPL6SPO37DDLrKbmkxd/+f3VPpns4zqVNPadplm6v+Knnq9FuV79Dfle3jj3scJMR/U2P1dWLGHofTTHGkpfAaV74VcTlyNl6rqaBB8Uw8K7pHWU1hddu5pp6Oo0R1IFc5sKiwhR6sfYPGsbqFbcIKcoFxhVjYDhMwKaOUCoBpR6cv8DyXfr5dDmxm5bTbGPzZpqtjt/zp6g+6Rg+wEDSxMMRB26nYf6k47yjrFaWGUiYAoa2JgRd5wDvNTtExw/PQ8TPox/zLVdUFO3xKpR+A6daK9+jr/LOteSpoL+X5L07VVsyUCAAPhM7i/v7z3O2xtVkF8/qrWs+j11kfX1P6c2ABq2Cvqdtmf90Am25IXCrOb/2z16XzXACMV2qX84jptwx+NhOopo2srPYN7vJAnUFT5nAAahT3c5doKSvb2SIhurhp/7y4oG2DLf8uefJUAEzwE/2Bv/620PxL1t/5wbF5usvjUmV7HQ3AdWfV2/Ql1iuyR2zZjvW9vBQCzwRgpNvzst0v/708vfkfx2fZ45v2ldYc+IeKXXQHT5faIrQEJC70qjvkiQCEBrzBzXb6/Bjs/p+Ov6Eneqba4pf2lBkcuKZ0H/1z9V/sDY4xJsjzNXkxME66AIRMhgcY/OrZHuy7vbVtAa3vi1vxMzNQkOO5XFF8hH5c+zpbeLdhvQKzQ0X+pmRPkSZVAMxFrgF6hetdOc+PzSo3tTaZG9BzHCdZXfxzCtvokbrNvOmGN5GpaTsV0gXJXCxLmi6Qqd6AFV4b4Mc05/86eqEGvxoQGe8DFjZQ16hzGzQfWgImlmx4duIlKQJgKjtBt8fGhnV8+b94dCntGsyNDelOKinbwqCuUeeoeyUBQ4ylZCnQJaULZGp1GkHeuC4n9PlvYEbgq6Ap9ziA7tC6cRttjgl8d/PM0Pfc5pLrAmDq80OlWbGLC7M9f9+2SA943a7RDIsPA+Of1m5Vzw6Zu8vEZ9zeT+BqF8jcyYXNLArwo44w1alnezIMrUnILjAALCgJmGJsmRhTerbvwTUBMPto2MZoYycXFrn0PL/9Ssp2n8ACMKEm3lTDGHNzPOCaAJgb2G3s4YV6g17hVVd1rvkAJoANJQFjIWMJSq92PLgyBgiZLgn+SdX1gWLbl47ymXN2cqb95BwHAMZfjtukVqDDeMDnu8gNkysJC4BptCowvJ2nPKXLt5j3vezIRVqrM+dgHV+BoUX6+8Y/qVWpYXfInzc/UeNbiXeBAkOPqsCPGR/o82uV5vjAkIu+gRFgBZiREj64wF6ClJAAmLY6DbpMlYc1vItLb2ZRcUm7hzkArAAzSmLsmRhUerT2oBAz64AhK81D73GHXmqoFnt4V7Ys1f1+a1ZqlxgcADDX1m9U7zGGQd7K/DOcWqV23gLARLkC/LDegA3setAbo4b1KykHgBlgBxiSEjBomsuX+rJ0dNQChA6nIB74WtvnRwGu5y8/jhjSpDnglAMwufJrbgmkQDXPJ6D5Tg7pcNgC4GQWa/CjsDBapcHvtNp1uDAHgCFgSUomFhmTDihuATDP5FJoecJkHiy2adIccIMDwJLSDCNjMnReXHwpxiUA5mmMZNynSuLfOudqc4UqJml32xyA6UtgSk3Gj0IYVfsM+4hLAMyjSMkYHw4c6worzU/2TInlpN9pDjjmADAFbMmJdYVwXG4cJB1bRMZjHkI91HeAld0sz+HF4sX/aF6hrTRHMk7fu8YBmGZ/rmG9QnWazzHOL55s9zBv+y2AeQK7NfhRyl/1TNfgd626dUTRHIBpdhyAIifGqIlVua+wq60WgJXdyikYPMAzP9XhgNFX6Ppc9PFn9Mks0YzRz65yACfV/OmUP8p1hQR1sLLcZFaWYxtDcrLXAhjGzTLwI4kH9bFEck5rV1c40G3km+e/SSPDhxqYtUHKFoD7/sU03LefI7Rc0fqET2O88Mgl+kA6GwzXXhLnAA7ue6XxBfnplaZxreIpPBbok6WobgECfV+VgR+R/4yPIh001FHJMqLdNAfscgBYw/G3UsIHG9hVkBS1xs45Bbz14A5ZHFBfxTm8mjQHvOQAMKdUr2fsmhiWZEwqANR65Aae9pwoCU+Pds3Qh1DLGKTdksIBHHz+C+UWSsZu+5HrZRmQCwDRV2SBYdhoXZf++st4pN2Sx4G1Xaexca08eQJBuknmwTK0adF5KLBIFnht93Q97SljUJTb6VUTaEXjp+jccdOpvriSxhVVmlqOLf3HqaXvGL3Zuoc2fPwOvXvsYFRI/RiLA5gRWts9wzyWKZb7yLtFwLKVpWnLWSC27nY3GcE7rSLu4yao6ePP0jF9RKkVi068//SEebR6zudoajkflWuD9nfzEUPvPEcvHt5uw3due6nio1o3n/IHKpZZnBbWVuViCoBhsE7DxtoPee5/qhV7n+6ZRN9sP9fKWb9nDpxSUkP3nfdFml9ryUYpn95u30+3v/5LOtwb76ns0mizzvFHNW/QlaUfWZdL0D5a2naaEGLM3qzYY4DN9bBdIq21p3snWSeoXegc7uY8ufx2x+AHC+fVTKEnV9zBXSbFlF+O81uJRWAZmI5BsQUgGODZH2tq5oWvzWzjR1NsDgD8P19yC1UXWuoNxg4Y421VQSn9fOnNWghi8Cb8ClgEJqVkgekxAmDsm1LEX/9rZJE903sqe9EUiwPo9qxZcCPl+/yxnB29yxN+enDBl2kCx61pLAeARWBSSoxpE9tRnsYIAB3uuZz9VEb5G/X4VM/kUc/64SQH0Od348t/MsbQHeK8b8GXol/r5xEO2MBk5Qi2R/FsrAAEg18Y5SPqYedgFX0wpA+ziGKL+fiZCfMT6vPHijPyHcYEF3MamsZyAJgENqUUDF4b7T5KAAzjarTby6I9RT4rBxyRnnPsfvWZn0t6iVd5kEbSC5GkBJTYNIxlIxg/kYNRAkAbN5zNim+Wn3fs+HpW1dc6EXVu3ZxRNZGmlFkqzLrGDKSBtDSN5QCwqTCpWGliPCLoaAEwaHmE25jbHUPV1KoyVDQmVG68WN5oZ9O2O7xYcYp3abmTY29iATaBUSmJ0T2c0QJAcgHY0j9OGncuO0K9wSs6p867tLwqk1vpKDEa9ZE/IQCm2qigJllGtKEra+7UFysGYNZB43bxMq24M5fiADYwuiRSRfqEAFBHywLu/5dY5R+bEPRpjlbcIaovshw6WQdy6OJlWg6zmLJgwKh0cxYwDqyP0EltUCMg7f9vZ5ssONY0U8jPC1HVhSXmnHxxXuGJhamhYID6hgepY6CLf70U4OdcpmzjEzAKrJ5X2GpdrSGsb4SHCAFQ9P/ZZnsmkGAF48bSahpfUkV5MVZj/X4fFfnzWTBKaZjB/0nvMTrS08Er24mtbUOleUqZNzxCWolSqviUaL7thN/CWJULgIn1uxCX2QUaWSJeKIt8a3/yp/hk6dtxK/Dl0eyaiTSxrDYm+KPjgIDAL8IgbCIEfX6vKNG0UsknL3hkA6sLw2oRoTHAwd6Z/AEssMocdP/RrKQzmZVaeyqV5ivsyccoBMLM5rCJCAE2s3hFiaSVaj55wSNgFZi1JGD9SJ+pYhsSADE8y9IzO/x1sJqG0tjqA5rzGVWNCQEYwEAciMsJrf94h5NgjsI4TSsd+OSowHEGAlZ3MGalNDxkYj4kAEEhFYAPh8ulcaXaEX1+J1/+6HwjDsTlhN47doj2d7c4CRpXGKSBtJxQOvDJSb6dhNmjwqwhTke8Iy0ASQVg71D6CgBmMTDgdYsQF+J0Qmve+Z2TYHGFcZpGOvEprgI79KzErAhhPiQAhkIAVNLkMJNuBMNUZ6zZHqdxIy7E6YSwhxfbGJNFf+W4ne4TTic+JYs/kfHuVWF2BPMZ3wIkS/c+kpnx3GMPb8dAdzxBbPk9NthDt2/7lS2/sTylG59i5dHNd8oWgIyZSM9nbBs3XqYBilW1QwFnX0Q3C2QVFxa53KZE4sQG9tWv/4KGDfcW2BDXqq0/p0M9bY6LmkiZrBJNRpxWacX7HpiVrgjzpi9g38dm3aT9/wOBMgqqTu2ON3cu+ndz62E4W4nG+cbR3fSVjQ+70hLgy/+VV39CbyQ4zZpomcK8ibwmI87I+BO5B2aBXSkx9n086ycVAHVTIk0iZx0hBNdsuI+2t+1zzAP0+RFHouB3nIEMD6jELmOflz+NqbJy7h1WSJEssAdu0O2BeoObhDjdIHSHvvDyA4StkqvmXBaXYayHdv6OXjj0FzeyYcaRznxyrZBREamxa0zN4/5/bVS4UY/Nw/GvrI6KIMkPfcMDpm6Pm8lAWc5N+iPPDuGHnVzYOBMyjVjFphErzGU3L0wjZgKf3OQ54lJil7HPAiDquBWwTLvHSExHxjJilxww4+L2DAc0RZNBWMAyF7HeS0bs8jgziU/ykth3VWKXsc9jAHkL0MMWoNOZoNIMrU63CHEhzmyjXOSTEruMfe48owWwpm6V+WnroJ64QJ8fKs1uEeLKxj0CucgnNXbRAhgk3crUQ+ndAgD40OfvGepPWAYQB+LKVso1Pqmxa5RjGtRSDRpA6E3zMQDyiM0su48docHgMB4dEcIijkQ3xjhK3KNAucYnNXZFIbcAhlQA1M2IR7WnSAYAfrftoKOWAF9+hE1EgBTZSxvnXOKTEruM/TwSopCFwLKCetJ8DBCZcbNy2w9Jt0RG+ndzS2RkvOl+nyt8UmKXsY91AGkLoJxKSrPaRjP/cU87Nfd1mlqdmCKFzkp42T60KX7AVFPI5U3xucAnJXbNFiDNAOxWdjDr0drXZf7cijPeeBrYVtAZfC7Y6SNmEysLSqgiv5gq2eZ/OW++wRXUyfo+XdwNw/X4UB9fe83NNe+b6waHWZjdm+WKLkM68Ck6T14+ows0yK2A5ekCpWKYjskbCS/zm9ZpfYqtNy9rPJPm1kyi0ysnUo3NAzJwWB5+VtTOi33vdx6iHe0f0UtH3iHoCGlScwDYlRJjXxiv1GDez3JL1dIjl9Lh4fRVh5YWMMmOfuGjc+pOo0+zrg/sdeKL7wWhRcC+4P/H6hVvtn7IBmGDXiSbcWlMyOuljY3Py/J9LNwCWHoq8ymkyDJk9jrUsQ7PyukX0v+cuohwhJHXBEH7wmlLzR/Upf9r31Zau+dlanXBXpDXZUlmekrscgsAbdABWSbYfJTMOafcJrPhqxtnrqArJp+XkAUKN5kGAbxp1kW0csaF9MyBbfToB+vpAB+zqolIjV1jgAVAsOaX9TRoqW8o53nZWFJNd8z9PF08cT6vGzozm5JsJsKsy9VTF5ut0ouHttO9O35LR3qzd1XbDj9tYPc4WgCJEUWiMpE5AoDD5EryC9lESiGV8NQnQIFN7nncV8/zhyw9DAcCvF0xaCrQYT68l9Wpe4YGqJd/sbYxopvzrU9dSWV56a0WHgYEBPSSiX9DS8afQff89WmzexR2C1+Twadw3Ol0tYHdNqhD80ZTWQuQ3l2gorwCnm0p51+pCX5VBeT780ZpN9XSSZMvEIL2gR7+dVFNQRndffa1tLheumFOlVzK3CGwd591LQvDWfTdtx6n9sHupPCp3+W9E24yrFQ1fmXs8yCYWwBr/FOJairJzRzbjMvHX/T6Yp46LK7gRS7pOp7NGEPe0Hrgd9mks+jvZ11MxX734o4rIy56hgA/95lv0093veiayZYwnyaWsQlCFoCjfcephRceg2k2G6UUAMY+K8OhBbCm8f7EtSytY4/PBdOOp5TW0Ly6KTSpvM5V8Idzcn7DbFo9+3NZAf5wmSDIKBPK5jbhA4S6QJ2gblBH6UINPhV2RSsGwftkXaBp+cnZHRUvk7CoNKWi3lUjWNF5WMRfyxtnrIh+nRXPGBugbENsYmVryy7XywRVE1jahmW9/cdbuBvpvm2keDOtxq7Yh/0AUm5My0ttQTBgm1Y5nqaz4Vo3LcBFM3NW5QS6acZF0a+z7hllRFmTRagj1BXqDHWXSlJi1xC7+LQIIRWASSwAPiEZJCSxhAU8YJ3DZsvrik4OVJORHJrxr838dFo138koJ+JEFwVldXPsFCuvqDPUHeowFQTMArtSKmQBEOcd/YQ9dVp5LBBBOtXfY+WctPeYrTm9eiIV8mkuyaYrJy2gWp5JyhVCWVHmZBPqDnWIuvSagFlgV0KdYmFL88iIRXwg8UjKpkQW2IEbms4zqie4bu4kVlagobls/JmxnLL6HcqMsiebcBwV6tLr7pASsyLU8wkJgFCMAzweCJ9aUcvg92YKckHdDN4r4P0XKtnAU8WPMqPsXhDqEnXqJakHwCHMhwRAORD2biYIC1sy1WC3mTivRmoYz+3k0io+L8uOOkXdekXT8hSYHfnohwTAZ0gHwqd52AI08OKWlzTeIxVmL8tkNy2vy+5l3Soxa4QwHxIAf/77MqbNLeigfPmAQhY8LrcKVmnwklKhzuxl+WRpeV32Co9Ux4FVYFZKefnmRz8kAI3Fu3mdxNIgZrEI0PyCdml8bjkW+pI/6xOZ13RauYzMlxf3Xpfdixk98A1YBWatSQzQuHJz4scUADF1P9aMX7MOQLSoqEXm7JqbT6SnurFrBczhiLyqWyVWBb0mZuwZQFWEWgDcCdqAixUtLtSbLKx4o9+nFwfUWDVOYD1CAPwnXsYqDpqVQmmzEiuUfqc54C0HgFFld913EusnBaC6/nXWDLU0i4xVtXMKpYqj3pZUp6Y5EIMD5xa2yleAgfHq+m3hoCcEQMzZiUHwprBDrOuiQm/GAbHS1u80B+xwYKG6q75pBOtmdCcEwHwy6CVZIouL9DhAxh/tlnoOKDEaNdYdLQBRjtHFmZvfQXVptEEmOn/6Obc5AGwCo1LyjZ7sGS0AS5e/xYEtNUP9rGJ6eclBafzaUXMgVRwANoFRCXXS4uV/jnQfM+luvFr7NJtK/Hykp8j7dwer6HPN2blrKrKc+j7zOPC7hvU0u0BiR1WI34rz266MLNnoFgAuPt/jkR6i75HAzPzj0a/1s+ZASjkATErBj9wJ4zfRmRwrABNKn2VPlt0gRHBV6YHoePSz5kBKOWADk500seK56EyOEQBTLULQE9EeI5+v4L7WmL5TpAd9rzngIQeARWBSSozpEZWfUd7GCIDp6vOvG+Ur6qHB30dNRc1Rb/Wj5kBqOAAsApNS8vnXxnKPLQBNLZv4E8/mUqzpytKPrB21i+aAhxxQYhFYbmrZHCtLMQVACMwl+aStwCXFh6nKZ6lBHSst/U5zwHUOAIPAopx860KYHusrpgCY3vKEVACgb31j+Z6xMeo3mgMecgAYlOv+c2YkWLYUALH4KNC9VVaWlWV7Msp6tKws2i3zOADrzyvLdqsyvnUEyzH9WQrAiO+fxww18rKCzw5YWf6hzIt20xxIGgeAvQqVBWgfPSLLgFwA6hq5GyQOySL4MjdBRXqfgIxF2i0JHADmgD05MXZrGn8t8yMVAFNt1Ef3yiKo9Q3QtaV7ZV60m+aA6xwA5oA9KQm6J1L1OZZfqQCYAfzFP+ONMtKNAF+r2C3fhBArZf1Oc8AhB7A5C5iTEjCbVyzt/iC8UgDE4kN9vCZwvywxLEL8bYlWj5DxSLu5xwFgTbnwxZg1satIVikAZnghHmYhkCpar6p6V88IKZitnRPnAGZ+gDUpAavArA2yJQBiSSvbmfP9uyy+ej6N47ZKRcZkEWg3zQEbHADGgDUpGb6HQpiV+jIdbQmA6TOvaA3PCEkNrq8s+5BOz5cqkqpzpH1oDlhwANgCxuTEGM0vekju56SrbQHg/lQ7d4OkzQp24/ygZtSGm5Mp6TvNgQQ5AGwpdnzBvtXDJlZtpmVbAMz4Sir/hVOQqoGezfaDri7dbzN57U1zwB4HgClgS07iEzIxKvcV6RqXAIhz9nL/RnwzMoJY9/9UuYMqtaJcLNbodw44ACwBU2oSt4cwqvYZ9hGXACCQuKD1MR5hvxyOINa1xj9I36p8J5aTfqc5EDcHgCVgSkqMSRObUk9jHeMWgFAUxi3c1xoaG93JN39Xto+0Ia2T/NB3zjgADAFLUjKxyJh0QI4EQJzfzvOd4gFZetim9mDtG9qOkIxJ2k3KAdj5AYbU22/FAyFMSqOL6ehIAMyYKvPu5pwdjBnryMtxXIAHbBVAFot2y0UOAPTADjAkJWAQWHRIjgVAzGvu4QOEV6vSbeIm7NaK91TetLvmwCgOADPAjpIYgyYWlR5je3AsAIhOLGl7iluB38eO+uTbr3NhFqiNlp4MoO9ymgPACjCjJMaeiUGlR2sPCQmAGa0//0aeFTpinQROJzdoTd02tfqqLBLtlhMcgIozsKJe8GLMAXsJUsICIJqaW7grdB23BEFZXqC/cb8eD8hYlPNu6PcDI0pdH2CNMWdiL0GuJSwASJ8Vj17iy12qvCxl+y13Vr2t8qbdc5QDwAYwYoPuGsGcDa9yL64IgJnE0q//kLtC6+XJEX2Jt7H9Q4X0WGJVFNo9CzkATAAbSgLGgDWXSD3FGkdCxmv1DTQQ4E+80aAK9r/bz6IneqaqvGn3HODANaX76F9tKVGyHlqhf55Y2GKrmbDDOvdaAE7NzJgg5XgAGfvn6r/QimLp2NlO/rWfDOcAMAAsKAn9fsaWm+BHmq4KACJk++vcDfIpmyiM8n9c+7o+eA9My1HCoYvAgHLGx+SP74chbLnLLNcFwMze0lt5QCyeUmUVR1o+UreZZhXo8wZUvMo2d9Q56t7e0buMJRNT7nPB1TFAZPaM3dML6UjHC3zazIWR72PdtwSL6ItHl9KuwYpYzvpdlnEA4P/VuI3q6U6UG5rHjdWXhE92d5sVSRMAZNR4raaCBugVvp2vyvjxYD7d1NpEbw7Uqrxq9wzmALo9+PLDqqAN2k6FdIFY2J60LkJSBQAFNLaNG0/9gc1k0DRVgQcMP93atoDW9zWqvGr3DOQABrzo89vq9gjaS0X+JnHe0U+SWdTkjAEicmwWIM9/MTdlSs0mMOantVsJ02KasosDqFPUrT3ww6iV/+Jkgx8cTnoLEK5G49W6s7g9eJnHBOXhd7LrvZ1n0n8cnyXzot0yhANY5LrD7g5BIboYlheK81s9sa7gmQCgroxXapfz5Q98V2in7n7ZNZ1+cGwe9540ZSIHAC6oN9ha4TULKGDs87PigrYNXpXXUwFAoUwhEPRbuy3Bxv4G+kbbudQWtCUzXvFNp6PgALQ6odhmU7cHsz1d/KX7vJfgRxE8FwAkOtIdep6FoB7PKsI06arW8+j1gXEqr9o9DTgAfX6oNCu1OsN5NceH4lKvuj3hZHFNiQAgYWPLuOk0HHjRzuwQ/AcMQWuOn0E/4Z/uEoEj6UcA0y28kWUV/+yt7nIAzPZgwBs6kcjzQqVMAFBSc4q0L/A83yrXCcKc2TxQT7dxl6g1UBR+pa9pwAFsYMceXlvbGE/mdzsV+y/1YrbnZJKj71IqAMiKuVg2KJ6xs2IczvpRBv9qFoKtLAyaUs8BmC6B9QblBvbIrGKFt8C4IpmLXJHJWd2nXACQMVNt4uOO3/DdVVYZjX6PbtB/dk+le3i6tDNYEO2snz3gACy2wWgV7PbEByTW7Tml+gvJUm+Ip+jx5TuemOP0axjf99HGH3+PKPgd7uTbXqBrDxTQv3XOpSd7psSZovaeCAdgqxPmCpUW2yITMbfNsqYwK7YJ8X3pFtrIYMm8TxsBCBfSeLV2BQvAY9waKDfVhMPg+tZgDd3Jm2zeH6qMfK3vXeYATJTDSrPaUG10wryZBfr8prp8tFvqntNOAMAKc2fZYOAxHhesiIc1mCn6Vc90evDYGdRt5McTVPtVcAAns6yueo++WLrH/gxPOE5sYyzwu76ZJRx9Ite0FAAUKNQleug7fPu9eLpECIt1gzXHZtN/9U6mIcN2bwpBNUVxAAfS4UwuHEtke14/HEfIUshd2MObLl2ecNbC17QVgHAGjU11yyhooDWIW0X0k0Ax/ez4DHq8Zxr1s6apJvscwDm8OIoUpzEqD6SLFS1sRcF0SchiSCwfafEu7QUAXDI2N9RTYOhRbgkuc8I1qFE82jWD1nVN010jBQPR1cEJ7DiEWnkOr1VcsBbIRqvcsNtjlYRb7zNCAMKFNTbVXsWtwYMsCKeG38Vzxaabtd3TWRim0zE9dTqKdVU8pXkjg35l2R67m1VGhTcfYKgWtjphMjNDKKMEADw13m4opc7h7/LdbSwIjka6fdwdeqF3Aj3dO4k2s7JdrqpWoPKb2BDVlSUf0SUlh6mYuz2OyLTPz+by2UpzIoZqHaWdYKCME4BweY1Xa2azIslP4llBDoeNvDbzOOGZ3lPpqZ7J9MFQbuxJnpl/nK4qPUBXlBx01r+PZCBWdMm4xal9/sioUnGfsQIQZpbxSt11XAH38W98+J3T687BKrNVeJYFItt0jaCrczkDHl/7OQXHnLIoIhwOSxTfdHIsUUQkKb/NeAEAB403p1VSb+e3uS9zMz+VJcpVrCfsGKqmLf3jTH0jbNTHfuVMImw9xAZ06OksLjpKc/M74p+/j1lgPocXx+XyaYzxHkgXM7oUv8wKAQjz0NgysYaG+1exOsU/sjBUh98neh3ktYTtvNK8hfcjbO2vN+/TbX0hn+fr5/MxoouKGPCsj497zOG7RoI62ODZvxMfmB7PObyupZ+kiLJKAMI84rWDch4b3MxC8A2+uq4yikH0jsFq2jNcTnuH+DdyPRQo4Umq5LLUxxb1Jvp7aVp+F03L4x9fp/N1bkGH80FsmHGxrtisIuh+3rH1MM/p837d7KLk1laKecUtQjEF+r7KViXv4K7RxGRnBy3FgUDZiFCUUfNwEfUYedTD06/dQb7ypFUvP5v3eOZ7UKkYplLfMJXxrwT3fAAn7kvZdg7cGvL6GezdJtgn+7vd/bJbMkUcYpXEe8lf/DP+4vdZestwh6wWgHDdGDvnFFD7ketZEG7id4vC7/U1Jge2MvAfoZrGX4s5OxWH88YMn1Evc0IAImsktBXTWMnjhOu5izQ10i1n7wXt4/79OsoT61K1NTFVvM85AQgz2jC4s765fgkFAzewIFzD73NNj7qT+/ZPkM+/jppaNgnBg4scpJwVgMi6NvZNKaLDPZdTMHgtv1/OA+dsXRFj0IuXyOd7nCaUPium7lccwhvJpey81wIQVa+GcbWfNm44m1sFGPFazl/JJhaIkihvmfEoRC9ndBOX5SUuxwZauvwtIZ50qO+QGUWON5daABQcMwfQHS0LyAhwy2AKxUK+pucmZEEYtL5mgl34N1B1/eu5MJBVVKHUWQuAlD1jHc3u0sHemSSGZ1FQzGKwzWKBGLl61nXqZDWEDzjtXZz2LvIZu1j9+H1qLN6tuzVj60z2RguAjDtxuoVMwRthYZjCaw91ZIg6EgYfesBXgmFgUchdqgLui4euSEOIQX43YF6JrwQDsUYrh23jsK38vo3f7TPBXiR2pdKOTpwsSXvv/x8AJDjD09C0zQAAAABJRU5ErkJggg=='/>\n </defs>\n </svg>\n );\n}","import React from 'react';\n\nexport function MicrosoftTeamsAvatar(): JSX.Element {\n return (\n <svg viewBox='0 0 40 40' fill='none'>\n <path d='M29.692 15.31c.58 0 1.146-.173 1.628-.5a2.96 2.96 0 001.078-1.331 3.004 3.004 0 00-.634-3.235 2.918 2.918 0 00-1.5-.812 2.894 2.894 0 00-1.693.169 2.938 2.938 0 00-1.314 1.093 2.997 2.997 0 00.364 3.748 2.91 2.91 0 002.071.869zM20.043 26.267V13.849a.9.9 0 00-.259-.633.877.877 0 00-.624-.262H6.883a.877.877 0 00-.624.262.9.9 0 00-.259.633v12.418c0 .24.092.469.257.64.165.172.39.27.626.276H19.16a.899.899 0 00.626-.276.923.923 0 00.257-.64zm-3.51-10.389v1.92h-2.37v6.68H11.88V17.93H9.51v-2.182h7.022v.13z' fill='#fff'/>\n <path d='M21.874 14.132v.917a4.03 4.03 0 002.05-1.47c.512-.699.79-1.545.793-2.415 0-1.1-.431-2.154-1.199-2.932a4.065 4.065 0 00-2.893-1.214 4.065 4.065 0 00-2.894 1.214 4.175 4.175 0 00-1.199 2.932h2.391a2.996 2.996 0 012.061.887c.55.552.868 1.297.89 2.081zM26.332 17.1h-4.458v8.883c0 .8-.309 1.566-.86 2.138-.552.57-1.302.9-2.091.917h-4.588a7.047 7.047 0 003.265 3.317c1.427.7 3.046.887 4.593.532a6.99 6.99 0 003.918-2.486 7.152 7.152 0 001.535-4.418v-7.551a1.348 1.348 0 00-.385-.942 1.313 1.313 0 00-.929-.39zM32.772 17.1h-3.597c.206.414.316.87.323 1.332v7.551a9.1 9.1 0 01-.516 2.859c.236.021.474.021.71 0a4.28 4.28 0 003.046-1.278A4.394 4.394 0 0034 24.477v-6.045c0-.339-.126-.665-.354-.912a1.307 1.307 0 00-.874-.42z' fill='#fff'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nimport { GoogleClassroomAvatar } from './avatars/GoogleClassroomAvatar';\nimport { MicrosoftTeamsAvatar } from './avatars/MicrosoftTeamsAvatar';\n\nimport styles from './share-integrations.scss';\n\nconst namespace = 'share.shareIntegrations';\n\ninterface ShareIntegrationsStackProps {\n size?: 'sm' | 'md';\n noTooltip?: boolean;\n}\n\nexport function ShareIntegrationsStack(props?: ShareIntegrationsStackProps): JSX.Element {\n const className = classNames(\n styles.avatar,\n props?.size === 'sm' && styles.small,\n props?.size !== 'sm' && 'border',\n 'rounded-circle overflow-hidden'\n );\n\n return (\n <Tooltip title={LanguageService.getPhrase(namespace, 'shareThroughIntegrations')} spanHack disable={props.noTooltip}>\n <ul className='list-unstyled d-flex mb-0'>\n <li className={className} style={{ zIndex: 1 }}>\n <GoogleClassroomAvatar />\n </li>\n\n <li className={`${className} ${styles.msTeamsContainer}`} style={{ zIndex: 0 }}>\n <MicrosoftTeamsAvatar />\n </li>\n </ul>\n </Tooltip>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\",\"embedHtmlInput\":\"RcwAD\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { IconButton } from '../icon-button/IconButton';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal' | 'normal-v2';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n showCopiedText?: boolean;\n extraButtonClassNames?: string;\n textarea?: boolean;\n hasInputBg?: boolean;\n rows?: number;\n textAreaClassName?: string;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ localShowCopiedText, setLocalShowCopiedText ] = React.useState(props.showCopiedText || false);\n\n function revertLocalShowCopiedText() {\n setTimeout(() => setLocalShowCopiedText(false), 2000);\n }\n\n function onCopy(): void {\n if (props.onCopy)\n props.onCopy();\n\n if (localShowCopiedText)\n return;\n\n setLocalShowCopiedText(true);\n revertLocalShowCopiedText();\n }\n\n React.useEffect(() => {\n if (!props.showCopiedText)\n return;\n \n revertLocalShowCopiedText();\n }, [props.showCopiedText]);\n\n function Button() {\n if (props.styling === 'normal-v2') {\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <IconButton\n role={localShowCopiedText ? 'status' : ''}\n svgName={localShowCopiedText ? cvSvgLibrary.Check : cvSvgLibrary.Copy}\n className={classNames(\n styles.copyBtn,\n 'btn py-0 text-nowrap',\n localShowCopiedText ? 'btn-success text-white' : 'btn-outline-dark border-secondary',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copiedLink') :\n props.copyText || getPhrase('copy')\n }\n </IconButton>\n </CopyToClipboard>\n );\n }\n\n return (\n <CopyToClipboard text={props.value} onCopy={onCopy}>\n <button\n role={localShowCopiedText ? 'status' : ''}\n className={classNames(\n 'btn btn-outline-dark border border-secondary py-0 text-nowrap',\n props.extraButtonClassNames\n )}\n >\n {localShowCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n );\n }\n\n const input = (\n <div className={props.styling === 'normal-v2' ? 'd-flex flex-row gap-2 position-relative w-100' : 'input-group'}>\n {props.textarea\n ? <textarea\n className={classNames('form-control rounded w-100 h-100', !props.hasInputBg && styles.embedHtmlInput, props.textAreaClassName)}\n spellCheck={false}\n value={props.value}\n rows={props.rows || 7}\n readOnly\n />\n : <input\n type='text'\n autoComplete='off'\n className={classNames(\n 'form-control',\n props.styling === 'normal' && props.styling\n )}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n }\n \n <Button />\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"hoverable\":\"bLxv5\",\"msTeamsContainer\":\"mPAD2\",\"avatar\":\"qmP52\",\"small\":\"ul1RN\"};"],"names":["namespace","getPhrase","LanguageService","CopyEmbedHtml","props","videoSizes","EmbedHelper","showEmbedCopiedText","copied","setCopied","autoplay","setAutoplay","find","s","width","videoSize","setVideoSize","setTimeout","logged","setLogged","url","embedUrl","host","liteUrl","shareId","embedString","size","value","CopyInput","onCopy","AnalyticsHelper","entity","embedDetails","ShareViewHelper","entityType","actionType","descriptor","eventVersion","analyticsOptions","copiedText","styling","copyText","showCopiedText","extraButtonClassNames","hasInputBg","label","hideLabel","undefined","textarea","EmbedSize","defaultProps","className","length","phrase","id","variant","map","key","height","onClick","checked","onChange","GoogleClassroomAvatar","viewBox","fill","cx","cy","r","patternContentUnits","xlinkHref","transform","MicrosoftTeamsAvatar","d","ShareIntegrationsStack","Tooltip","title","spanHack","disable","noTooltip","style","zIndex","localShowCopiedText","setLocalShowCopiedText","revertLocalShowCopiedText","input","textAreaClassName","spellCheck","rows","readOnly","type","autoComplete","CopyToClipboard","text","IconButton","role","svgName","Form","IntegrationId","IntegrationHelper","getShareIntegrations","googleClassroomSetting","msftTeamsSetting","name","enabled","settingName"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3840],{22406:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(32735),r=n(23481),i=n(83914),o=n(36532),l=n(35223);const s={tag:"XRj8d",tooltip:"X6mLk"};var c="specialEventCalendar.comingSoonTag";function u(e){return a.createElement(o.u,{title:r.T.getPhrase(c,"tooltip"),spanHackClassName:"d-block ".concat(s.tooltip),spanHack:!0},a.createElement("div",{className:"d-flex text-dark align-items-center ".concat(s.tag," ").concat(e.className)},a.createElement(i.x,{svgName:l.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(c,"comingSoon")))}},78408:(e,t,n)=>{n.d(t,{s:()=>o});var a=n(32735),r=n(15611);const i={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function o(e){var t,n,o;return a.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(n=e.theme)||void 0===n?void 0:n.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a.createElement("div",{className:"position-relative ".concat(i.dateItem)},a.createElement("div",{className:"".concat(null===(o=e.theme)||void 0===o?void 0:o.background," py-1 ").concat(i.label," d-flex align-items-center justify-content-center")},e.label?e.label:a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return i.bodyRange;case"day":return i.bodyDay;case"month":return i.bodyMonth}}()," ").concat(i.body," my-2")},e.body.text),a.createElement("div",{className:"mb-0 ".concat(i.month)},e.month)))}},49087:(e,t,n)=>{n.d(t,{G:()=>i});var a=n(1048),r=n(4594),i={isPlaylist:function(e){return(null==e?void 0:e.typeId)===r.E.Playlist},isOwner:function(e,t){var n;return!(!t||!e||a.t.isEmpty(e._liteOwner))&&e._liteOwner.id.toString()===(null===(n=t.id)||void 0===n?void 0:n.toString())},getVideoCount:function(e){var t,n,a;if(e){var r=0;return(null===(t=e.videos)||void 0===t?void 0:t.count)&&(r+=e.videos.count),(null===(n=e.clips)||void 0===n?void 0:n.count)&&(r+=e.clips.count),(null===(a=e.interactives)||void 0===a?void 0:a.count)&&(r+=e.interactives.count),r}}}},67814:(e,t,n)=>{n.d(t,{p:()=>P,v:()=>k});var a=n(32735),r=n(110),i=n(50690),o=n(22406),l=n(78408),s=n(83657),c=n(23481),u=n(15611),d=n(83914),m=n(35223),p="shared.backButton";function f(e){var t=Object.assign({textShadow:!0},e),n=t.backToName,r=t.appLink,i=t.color,o=t.extraClasses,l=t.textShadow,s=n?c.T.getPhrase(p,"backTo",{backToName:n}):c.T.getPhrase(p,"back"),f="black"===i?"":"text-white",v=l?"text-shadow":"";return a.createElement(u.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(o," ").concat(f," ").concat(v)},a.createElement(d.x,{svgName:m.vn.ChevronLeft,size:d.S.Medium}),a.createElement("span",{className:"ms-1"},s))}f.defaultProps={color:"black",extraClasses:""};var v=n(4527),y=n(83345),h=n(7733),g=n(10587),b=n(94232),C=n(54610),w=n(79967),E=n(9085),S=n(67453);const I={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var A="".concat(g.y[C.__.Banners].width,":").concat(g.y[C.__.Banners].height);function O(e){return e.length<160?"h1":I.headingLarge}var P=a.memo(function(e){var t,n,c,u,d=e.heading,m=e.banner,p=e.imageCdnUrl,g=e.actions,P=e.sortComponent,k=e.blockColourClass,L=e.specialEvent,N=a.useContext(b.n),x=(0,w.k)().xxl?1920:1200,j=a.useMemo(function(){if(!L||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return L.endDate?L.startDate<=t&&L.endDate>=t:L.startDate===t},[L]),F=e.imageOptions||{width:x,ratio:A,resizeType:C.Nq.Cover},T=!!m&&!!p&&S.j.createBannerUrl(m,{fallbackBaseUrl:p,fallbackCategoryName:d,type:C.__.Banners},F),V={className:"banner banner-header ".concat(e.bannerClassName),style:T?{backgroundImage:"url('".concat(T,"')")}:{}};!m&&k&&(delete V.style,V.className+=" ".concat(k));var D=e.detailsComponent,M=(0,E.x)(e.heading,h.o);return i.b.renderInPortalIfExists(a.createElement("header",Object.assign({},V),a.createElement("div",{className:"container ".concat(I.container," position-relative inner-banner")},e.backButtonAppLink&&a.createElement("div",{className:"pt-3"},a.createElement(f,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),a.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(I.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?I.bannerContentWithLogo:""))},!!L&&a.createElement("div",{className:"position-relative ".concat(I.specialEventContainer)},a.createElement(l.s,{body:{type:L.endDate?"range":"day",text:L.endDate?"".concat(r.O.format(L.startDate,"DD"),"-").concat(r.O.format(L.endDate,"DD")):r.O.format(L.startDate,"DD")},month:function(e){return e.endDate?r.O.isSame(e.startDate,e.endDate,"month")?r.O.format(e.startDate,"MMMM"):"".concat(r.O.format(e.startDate,"MMM")," - ").concat(r.O.format(e.endDate,"MMM")):r.O.format(e.startDate,"MMMM")}(L),theme:e.calendarTheme})),a.createElement("div",null,j&&a.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},a.createElement(y.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&a.createElement(o.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),a.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(n=e.logo)||void 0===n?void 0:n.url)&&a.createElement("div",{className:"".concat(I.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(M)},a.createElement(v.w,{src:S.j.createUrl(null===(c=e.logo)||void 0===c?void 0:c.url,{size:C.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),a.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(I.heading," ").concat(O(d)," ").concat(e.alignLogoLeft?"w-50":"")},d,D&&a.createElement(D,null)))),!!g&&a.createElement("div",{className:I.actionsContainer},a.createElement(s.e,{actions:g,sortComponent:P,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(u=e.logo)||void 0===u?void 0:u.url)&&a.createElement("div",{className:I.logoContainer},a.createElement("img",{src:S.j.createUrl(e.logo.url,{size:C.h2.Medium}),className:"rounded-circle"})))),null==N?void 0:N.container)},function(e,t){var n,a;return e.actions===t.actions&&e.heading===t.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(a=t.logo)||void 0===a?void 0:a.url)});function k(){var e=a.useContext(b.n);return i.b.renderInPortalIfExists(a.createElement("div",{className:"partial-banner partial-loading-background ".concat(I.banner)}),null==e?void 0:e.container)}},94644:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(50242),r=n(81886),i=n(67058),o=n(14553),l=n(49267),s=n(49075),c={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:l.a,privacy:o.q},badRequest:s._,internalServerError:s._};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 o=Object.assign(Object.assign({},c),t);i&&r.Q.Ry.isStatusCodeError(i)&&(i!==a.o.InternalServer?i!==a.o.NotFound?i!==a.o.Forbidden?n.badRequest||r.Q.Ry.throw(new o.badRequest):n.forbidden||r.Q.Ry.throw(new o.forbidden.privacy):n.notFound||r.Q.Ry.throw(new o.notFound):n.internalServerError||r.Q.Ry.throw(new s._))}}},39902:(e,t,n)=>{n.d(t,{FN:()=>f,SW:()=>v,fh:()=>p});var a=n(32735),r=n(20354),i=n(75896);function o(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)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){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,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n},m=50;function p(e,t){var n=i.m.chunk(e,m).map(function(e){return t(i.m.uniq(e))}),a=r.a.useBasicFetchAll(n),o=i.m.flatten(a.data),l=a.data.length?o.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))},{}):null;return{itemsArr:o,items:l,isFetching:a.isFetching,hasCompleted:a.hasCompleted}}function f(e,t,n){var r=null!=n?n:function(e){return"object"===c(e)?e.id:e},i=v({getRequest:t,_getKey:n}),o=i.fetchItems,l=d(i,["fetchItems"]);return a.useEffect(function(){(null==e?void 0:e.length)&&o(e)},[null==e?void 0:e.map(r).join(",")]),l}function v(e){var t,n,s,d,p,f=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===c(e)?e.id:e},v=a.useRef(new Set),y=(d=a.useState([]),p=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(d,p)||l(d,p)||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=y[0],g=y[1],b=r.a.useBasicFetchAll(h),C=i.m.flatten(b.data),w=b.data.length?C.reduce(function(e,t){return Object.assign(Object.assign({},e),u({},f(t),t))},{}):null;return{hasFirstRequestCompleted:!!(null===(s=null===(n=b.responses)||void 0===n?void 0:n[0])||void 0===s?void 0:s.hasCompleted),itemsArr:C,items:w,isFetching:b.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var n=[];t.forEach(function(e){var t=f(e);v.current.has(t)||(n.push(e),v.current.add(t))}),n.length&&g(function(t){return[].concat(o(t),o(i.m.chunk(n,m).map(e.getRequest)))})}}}}},91286:(e,t,n)=>{n.d(t,{v:()=>o});var a=n(32735),r=n(94644);function i(e){return e.map(function(e){return e.statusCode}).join(":")}function o(e,t,n){var o=Array.isArray(e)?e:[e];(0,a.useEffect)(function(){o.forEach(function(e){(0,r.r)(e.statusCode,t,n)})},[i(o),t,n])}},60115:(e,t,n)=>{n.d(t,{K:()=>c});var a=n(32735),r=n(50242),i=n(91967),o=400,l=n(45719);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t,n,c,u,d){var m,p,f,v,y=(m=(0,a.useState)(0),p=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(m,p)||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}}(m,p)||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=y[0],g=y[1],b=t,C=(0,l.P)(function(t){if(!e)return null;var n=e(t);return n?n.key:null},c,u);return f={fetchNextPage:function(){if(t&&e&&C)return g(function(e){return e+1}),b(C.nextCursor)},hasMore:!!(null==C?void 0:C.nextCursor),isFetching:null==C?void 0:C.isFetching,scrollContainer:d},v=function(){if(!f.isFetching){if(f.scrollContainer){var e=f.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-o)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-o)return;f.fetchNextPage()}},(0,a.useEffect)(function(){var e=i.q.throttle(v,200),t=f.scrollContainer||window;return f.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}},[f.hasMore,f.fetchNextPage,f.scrollContainer]),(0,a.useEffect)(function(){C&&C.shouldInitialFetch&&t&&(b(),g(function(e){return e+1}))},[null==C?void 0:C.shouldInitialFetch,t]),(0,a.useEffect)(function(){var e,t;if((null==C?void 0:C.statusCode)&&i.q.isFunction(n)){var a=+(null===(t=null===(e=C.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==r.k.ClientError&&a!==r.k.ServerError||n(h,C.statusCode)}},[null==C?void 0:C.statusCode]),{items:null==C?void 0:C.items,hasMore:!!(null==C?void 0:C.nextCursor),nextCursor:null==C?void 0:C.nextCursor,isFetching:null==C?void 0:C.isFetching,totalItems:null==C?void 0:C.totalItems,hasFirstPageCompleted:null==C?void 0:C.hasFirstPageCompleted}}},63719:(e,t,n)=>{n.d(t,{h:()=>l});var a=n(32735),r=n(77316);function i(e,t){if(e){if("string"==typeof e)return o(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)?o(e,t):void 0}}function o(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 l(e){var t,n,l=(t=a.useMemo(function(){return r.p.getBuilder()},[]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(t,n)||i(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.")}()),s=l[0],c=(0,l[1])(s);return c&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(c),[Object.assign(Object.assign({},e),{active:!0})]):c}},93840:(e,t,n)=>{n.r(t),n.d(t,{PlaylistView:()=>De});var a=n(32735),r=n(70680),i=n(23481),o=n(81886),l=n(20354),s=n(65858),c=n(49087),u=n(87801),d=n(51365),m=n(16714),p=n(183),f=n(89454),v=n(21750),y=n(39151),h=n(1666),g=n(5112),b=n(31949),C=n(69883),w=n(63719),E=n(56520),S=n(91286),I=n(60115),A=n(22902);function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var P=n(79612),k=n(76753),L=n(54569),N=n(31908),x=n(47430),j=n(14070),F=n(97291),T=n(58321),V=n(7179),D=n(97816),M=n(10741),U=n(33192),B=n(22490),R=n(110),_=n(28400),G=n(97392),H=n(83345),Y="playlists.playlistHeaderDetails",q=function(e){var t=e.className;return a.createElement("span",{className:t},"•")};function W(e){var t=e._liteOwner;if(t)return t.name&&t.surname?_.m.toTitleCase(t.name+" "+t.surname.substring(0,1)):t.name?t.name.split(" ")[0]:void 0}function Q(e){var t,n,r=c.G.isOwner(e.playlist,e.currentUser),i=null===(t=e.playlist.followers)||void 0===t?void 0:t.count,o=function(e){if(!e.contentModifiedDate)return"";var t=new Date,n=R.O.convertUTCToLocal(e.contentModifiedDate);return R.O.isBefore(n,R.O.subtract(t,1,"month"))?"":R.O.fromNow(n)}(e.playlist);return a.createElement("div",{className:e.detailsClassName},!e.hideOwnerName&&!r&&a.createElement(a.Fragment,null,(null===(n=e.playlist._isClickViewCurated)||void 0===n?void 0:n.value)?a.createElement(a.Fragment,null,a.createElement("div",{className:e.clickViewAvatarClassName},a.createElement(G.F,null)),a.createElement("span",null,"ClickView")):a.createElement(H.x,{namespace:Y,phrase:"createdBy",options:{user:W(e.playlist)}}),a.createElement(q,{className:e.separatorClassName})),"number"==typeof e.totalVideos&&a.createElement(H.x,{namespace:Y,phrase:"videos",options:{smartCount:e.totalVideos}}),i>0&&a.createElement(a.Fragment,null,a.createElement(q,{className:e.separatorClassName}),a.createElement(H.x,{namespace:Y,phrase:"followers",options:{smartCount:i}})),!!o&&a.createElement(a.Fragment,null,a.createElement(q,{className:e.separatorClassName}),a.createElement(H.x,{namespace:Y,phrase:"lastUpdated",options:{timeAgo:o}})))}var Z=n(67814),$=n(49935),z=n(7733),X=n(86764),J=n(3747),K=n(37802),ee=n(9085),te=n(46390),ne=n(55796);const ae={partialDescription:"vDX0m"};function re(){return a.createElement(a.Fragment,null,a.createElement(Z.v,null),a.createElement("div",{className:"mb-2"},a.createElement("div",{className:"partial-loading-background my-2 border-bottom ".concat(ae.partialDescription)})))}var ie=n(49985),oe=n(80783),le=n(35223),se=n(40254),ce=i.T.encloseNamespace("playlists.playlistHeader"),ue={getPlaylistActions:function(e,t){var n,a,r,i,o,l,u=t.isAuthenticated,d=t.isPlugin,m=t.isMobile,p=t.setIsFollowing,f=t.isFollowing,v=t.setShowFollowSpinner,y=t.showFollowSpinner,h=t.isUserCurator,g=t.openInCuratorLink,b={id:e.playlist.id,name:e.playlist.name,followerCount:null===(n=e.playlist.followers)||void 0===n?void 0:n.count,videoCount:null===(a=e.playlist.videos)||void 0===a?void 0:a.count,interactiveCount:null===(r=e.playlist.interactives)||void 0===r?void 0:r.count,clipCount:null===(i=e.playlist.clips)||void 0===i?void 0:i.count,isClickViewPlaylist:null===(o=e.playlist._isClickViewCurated)||void 0===o?void 0:o.value},C={location:s.LZ.Banner,entity:s.py.Playlist,workflowPhase:s.eu.Start},w=[];if(!u)return w;if(t.isGuest)return w;var S=c.G.isOwner(e.playlist,e.currentUser),I=oe.z.hideAssignButtonOnVideoActions(e.currentUser),A=t.hasShareFlowV2&&!t.isStudent&&!I;return d||(e.playAllAppLink&&w.push({label:ce("playAll"),appLink:e.playAllAppLink,svgName:le.vn.Play,className:m?"":"btn btn-outline-dark me-2",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Play})}),A&&w.push({label:ce("assign"),appLink:se.W.flowSelector({entityType:"playlist",objectId:e.playlist.id}),svgName:le.vn.Classrooms,className:m?"":"btn btn-outline-dark me-2",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Share,entity:s.py.Assign})}),h&&w.push({label:(0,E.eR)(),href:g,openInNewTab:!0}),w.push({label:!A&&ce("share"),tooltip:A&&ce("share"),appLink:{application:F.O.SHARE,action:j.e.Share.SHARE,args:[e.playlist.id],params:{entityType:"playlist"}},svgName:t.hasShareFlowV2?le.vn.Link:le.vn.Share,className:m?"":"btn btn-outline-dark me-2 align-self-stretch",button:!m,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Share,eventVersion:s.eq.V3})})),S||w.push({label:ce(f?"following":"follow"),onClick:function(){p(!f),v(!0),e.follow(!f,function(){v(!1),ie.k.logUserAction(b,Object.assign(Object.assign({},C),{actionType:s.Vw.Follow,descriptor:f?s.DL.Off:s.DL.On,workflowPhase:s.eu.Complete}))},function(){v(!1),p(f)})},svgName:f?le.vn.BellFilled:le.vn.Bell,className:m?"":"btn follow-btn btn-".concat(f?"outline-dark":"dark"," me-2"),button:!m,showSpinner:y}),S&&(w.push({label:ce("edit"),appLink:{application:F.O.PLAYLISTS,action:j.e.Playlists.EDIT_PLAYLIST,args:[e.playlist.id]},svgName:le.vn.Edit,button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Edit})}),w.push({label:ce("delete"),appLink:{application:F.O.PLAYLISTS,action:j.e.Playlists.DELETE_PLAYLIST,args:[e.playlist.id]},svgName:le.vn.Delete,className:"text-danger",button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Delete})})),(null===(l=e.playlist._isClickViewCurated)||void 0===l?void 0:l.value)&&w.push({label:ce("copy"),appLink:{application:F.O.PLAYLISTS,action:j.e.Playlists.COPY_PLAYLIST,args:[e.playlist.id]},button:!1,analyticsData:b,analyticsOptions:Object.assign(Object.assign({},C),{actionType:s.Vw.Copy})}),w}};const de={clickViewAvatar:"PHe9c"};function me(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pe(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function fe(e){var t=(0,te.G)().isPlugin,n=(0,A.T)(),r=n.hasPermissions,i=n.getGatedPermission,o=(0,K.r)(null).hasShareFlowV2,l=me(a.useState(e.isFollowing),2),s=l[0],c=l[1],u=me(a.useState(!1),2),d=u[0],p=u[1];a.useEffect(function(){return c(e.isFollowing)},[e.isFollowing]);var f=(0,J.a)(X.r.XS);if(e.showPartialLoading)return a.createElement(re,null);var v=e.playlist.description,y=ue.getPlaylistActions(e,{isAuthenticated:e.currentUser.isAuthenticated,isPlugin:t,isMobile:f,setIsFollowing:c,isFollowing:s,setShowFollowSpinner:p,showFollowSpinner:d,isUserCurator:e.isUserCurator,openInCuratorLink:e.openInCuratorLink,hasShareFlowV2:o,isStudent:r(m.C.StudentExperience),isGuest:r(m.C.GuestExperience)}),h=e.getBreadcrumbs();return a.createElement(a.Fragment,null,a.createElement(Z.p,{heading:e.playlist.name,banner:e.playlist.banner,imageCdnUrl:e.imageCdnUrl,actions:y.length&&y,actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:(0,ee.x)(e.playlist.name,z.o),detailsComponent:function(){return a.createElement(Q,{playlist:e.playlist,currentUser:e.currentUser,detailsClassName:"mb-n1 font-size-normal fw-normal mt-1",clickViewAvatarClassName:de.clickViewAvatar,separatorClassName:"mx-1",totalVideos:e.totalVideos})}}),(!!v||!!(null==h?void 0:h.length))&&a.createElement("div",{className:"border-bottom py-3"},!e.playlist||e.classificationId&&!e.topicPath?a.createElement($.b2,null):a.createElement("div",{className:"pb-2"},"soft-gate"===i(m.C.CreatePlaylist)&&a.createElement(ne.Z,null),a.createElement($.Oo,{breadcrumbs:h})),!!v&&a.createElement("p",{className:"mb-0"},v)))}var ve=n(56050),ye=n(91967),he=n(83914),ge=n(1860),be=n(3534);function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var we=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function Ee(e){var t,n,r=e.onSortComplete,i=e.onSortStart,l=e.showPartialLoading,s=we(e,["onSortComplete","onSortStart","showPartialLoading"]),c=(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,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Ce(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)?Ce(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.")}()),u=c[0],d=c[1];return l?a.createElement(ge.S,{withReordering:e.canEdit||e.showIndexes}):e.canEdit?a.createElement(be.NB,Object.assign({},s,{currentSortingIndex:u,onSortStart:function(t){var n=e.videos.findIndex(function(e){return e.id.toString()===t.active.id.toString()});d(n),ye.q.isFunction(i)&&i(n)},onSortEnd:function(t){d(null);var n=t.active,a=t.over,i=e.videos.findIndex(function(e){return e.id.toString()===n.id.toString()}),l=e.videos.findIndex(function(e){return e.id.toString()===a.id.toString()});ye.q.isFunction(r)?r(i,l):o.Q.Ry.throw(new ve.H("An onSortComplete callback function must be passed to SortableVideoListComponent"))},dragHandleIcon:le.vn.Hamburger,dragHandleIconSize:he.S.XXL,presentationAudiences:e.presentationAudiences})):a.createElement(be.E4,Object.assign({},s))}var Se=n(97958),Ie=n(99742),Ae="playlists.playlistEmptyState";function Oe(){return a.createElement(H.D.Provider,{value:Ae},a.createElement(Se.u,null,a.createElement(Se.u.Image,{src:Ie.W.EmptyStates.Playlists.PLAYLIST_VIDEOS}),a.createElement(Se.u.Heading,null,a.createElement(H.x,{phrase:"heading"})),a.createElement(Se.u.Info,null,a.createElement(H.x,{phrase:"info"}))))}n(75896);var Pe=n(81493),ke=n(9680),Le=n(10671);function Ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var xe=i.T.encloseNamespace("playlists.playlist");function je(e,t,n){ie.k.logUserAction({id:t,playlistId:e},{location:s.LZ.VideoList,entity:s.py.Video,actionType:s.Vw.Move,workflowPhase:n})}var Fe={notFound:Pe.N,forbidden:{privacy:ke.J}};function Te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ve=i.T.encloseNamespace("playlists.playlist");function De(e){var t,n,i,R,_,G,H,Y,q,W,Q,Z,$,z,X,J=(0,r.I0)(),K=(0,C.Z)(),ee=l.a.useBasicFetch(y.L.config()),te=l.a.useBasicFetch(b.N.currentUser()),ne=(0,E.R0)(),ae=ne.isUserCurator,re=ne.getOpenInCurationStudioLink,ie=(0,A.T)(),oe=ie.hasPermissions,se=(0,ie.getGatedPermission)(m.C.CreatePlaylist),ce=l.a.useBasicFetch((null===(t=te.data)||void 0===t?void 0:t.isAuthenticated)&&h.h.yearGroups(te.data.customerId)),ue=l.a.useBasicFetch(e.classificationId&&v.x.path(e.classificationId)),de=l.a.useBasicFetch(e.classificationId&&v.x.classification(e.classificationId,null===(n=te.data)||void 0===n?void 0:n.id)),me=l.a.useBasicFetch(de.hasCompleted&&v.x.presentationById(null===(i=de.data)||void 0===i?void 0:i.presentationId)),pe=(null===(R=te.data)||void 0===R?void 0:R.isAuthenticated)?!e.classificationId||me.hasCompleted:!!(null===(_=me.data)||void 0===_?void 0:_.id),ve=l.a.useBasicFetch(pe&&f.O.presentationAudiences(null===(G=me.data)||void 0===G?void 0:G.id)),ye=(0,T.U)({locationContext:s.LZ.VideoThumbnail,mtv:e.moviesAndTv,sharedPlaylist:!!e.shareId}).commonVideoProps,he=e.shareId?g.C.getSharedPlaylist(e.playlistId,e.shareId):g.C.getPlaylist(e.playlistId),ge=e.shareId?g.C.getSharedPlaylistVideosCount(e.playlistId,e.shareId):g.C.getPlaylistVideosCount(e.playlistId),be=l.a.useBasicFetch(he),Ce=l.a.useBasicFetch(ge),we=function(e,t,n){var a=(0,Le._)({location:Le.i.VideoItem,shareId:n});return c.G.isOwner(e,t)?Object.assign(Object.assign({},a),{getVideoActions:function(t,n){var r,i=N.M.getCanBeConsumed(t).canConsume,o={label:xe("removeFromPlaylist"),button:!1,svgName:le.vn.Delete,appLink:{application:F.O.PLAYLISTS,action:j.e.Playlists.REMOVE_VIDEO_FROM_PLAYLIST,args:[t.id,e.id],params:{typeId:t.typeId}},className:"text-danger",analyticsOptions:{entity:s.py.Video,actionType:s.Vw.Dissociate,location:s.LZ.VideoListItem,workflowPhase:s.eu.Start,descriptor:s.iF.Playlist},analyticsData:{id:t.id,playlistId:e.id},group:"delete"};return i?[].concat(function(e){if(Array.isArray(e))return Ne(e)}(r=a.getVideoActions(t,n))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return Ne(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)?Ne(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[o]):[o]}}):a}(be.data,te.data,e.shareId);(0,S.v)(be,Fe);var Se=function(t){return e.shareId?g.C.getSharedPlaylistVideos(e.playlistId,e.shareId,t):g.C.getPlaylistVideos(e.playlistId,t)},Ie=l.a.useBasicFetch((null===(H=te.data)||void 0===H?void 0:H.id)&&g.C.getIsFollowingPlaylist(e.playlistId,null===(Y=te.data)||void 0===Y?void 0:Y.id)),Ae=function(e){l.a.getFetch(J)(Se(e))},Pe=(0,I.K)(Se,Ae),ke=Pe.items,De=Pe.hasMore,Me=Pe.isFetching;(0,D.V)(ke);var Ue,Be,Re,_e,Ge,He,Ye=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Te(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Te(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((Ue=ke,Ge=(0,a.useState)(),He=2,Be=function(e){if(Array.isArray(e))return e}(Ge)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(Ge,He)||function(e,t){if(e){if("string"==typeof e)return O(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)?O(e,t):void 0}}(Ge,He)||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.")}(),Re=Be[0],_e=Be[1],(0,a.useEffect)(function(){Re&&(Ue.length!==Re.length||function(e,t){var n=!0;if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(e[a].id!==t[a].id){n=!1;break}return n}(Ue,Re))&&_e(null)},[Ue]),[Re,_e]),2),qe=Ye[0],We=Ye[1];(0,V.P)({id:e.playlistId,app:"playlists",shareId:e.shareId}),(0,P.M)(k.CG.getPlaylistMetadata({content:be.data,phraseContext:{phraseHandler:Ve,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:U.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1}));var Qe=!!ke&&0===ke.length,Ze=function(t,n){var a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return B.W.getAppLink(t,Object.assign(Object.assign({},r),{contextId:e.playlistId,context:p.Q.Playlist,shareId:e.shareId,moviesAndTv:e.moviesAndTv,playNext:n,includeContext:(null===(a=te.data)||void 0===a?void 0:a.isAuthenticated)||!!e.shareId}))},$e=!(null===(q=te.data)||void 0===q?void 0:q.isAuthenticated)||!!Ie.hasCompleted,ze=null==ke?void 0:ke.find(function(e){var t;return null===(t=N.M.getCanBeConsumed(e))||void 0===t?void 0:t.canConsume}),Xe=c.G.isOwner(be.data,te.data),Je=ke&&te.data&&ee.data,Ke=(0,w.h)({name:null===(W=be.data)||void 0===W?void 0:W.name});return"hard-gate"===se?a.createElement("div",{className:"bg-white px-3"},a.createElement(x.f,{feature:"playlists"})):a.createElement(d.M.Provider,{value:(null===(Q=te.data)||void 0===Q?void 0:Q.isAuthenticated)&&we},a.createElement("div",{className:"bg-white px-3"},a.createElement(fe,{playlist:be.data,currentUser:te.data,isFollowing:null===(Z=Ie.data)||void 0===Z?void 0:Z.isFollowing,follow:function(t,n,a){var r,i=t?g.C.followPlaylist:g.C.unfollowPlaylist;l.a.fetch(J,i(e.playlistId,null===(r=te.data)||void 0===r?void 0:r.id,n,function(){a(),K.error(Ve(t?"followError":"unfollowError"))}))},playAllAppLink:ze&&Ze(ze,!0),showPartialLoading:!be.data||!Je||!$e,imageCdnUrl:!!ee.data&&ee.data.imageCdnUrl,getBreadcrumbs:function(){return e.hideBreadCrumbs?null:Ke},topicPath:ue.data,moviesAndTv:e.moviesAndTv,classificationId:e.classificationId,isUserCurator:ae,openInCuratorLink:re(null===($=be.data)||void 0===$?void 0:$.typeId,null===(z=be.data)||void 0===z?void 0:z.id),totalVideos:c.G.getVideoCount(Ce.data)}),a.createElement("div",{className:"mt-2"},Qe?a.createElement(Oe,null):a.createElement(Ee,{videos:qe||ke,yearGroups:ce.data,playlistId:!!be.data&&be.data.id,onSortStart:function(t){var n=ke[t];n&&je(e.playlistId,n.id,s.eu.Start)},onSortComplete:function(t,n){if(t!==n){var a=ke[t];if(a){var r=L.l.reorder(ke,t,n),i=r.reorderedItems,o=r.reorderRequest;We(i),je(e.playlistId,a.id,s.eu.Complete),l.a.fetch(J,g.C.reorderVideos(e.playlistId,o,null,function(){We(null)}))}}},canEdit:Xe,showPartialLoading:!Je,getVideoAppLink:function(e,t){return Ze(e,!1,t)},showSignIn:!(null===(X=te.data)||void 0===X?void 0:X.isAuthenticated),getSignInAppLink:function(e){var t=o.Q.C$.getHref(e),n="/"!==t?{redirectUrl:t}:{};return{application:F.O.DEFAULT,action:j.e.Default.CHALLENGE,params:n}},canRemovePrivateVideos:Xe,presentationAudiences:e.moviesAndTv?null:ve.data,showIndexes:!0,hasPermissions:oe,getPreviewQuestionsAppLink:function(e){return M.j.getPreviewQuestionsAppLink(e)},commonVideoProps:ye})),(De||Me)&&a.createElement(u._,{isFetching:Me,fetchNext:Ae})))}},55796:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(32735),r=n(65858),i=n(15611),o=n(83914),l=n(83345),s=n(35223),c=n(14070),u=n(97291),d="signUp.gateBanner";function m(){return a.createElement("div",{role:"alert",className:"bg-light-indigo text-indigo rounded p-2 mb-4 d-flex align-items-center"},a.createElement(o.x,{svgName:s.vn.StarOutline,size:o.S.Large}),a.createElement(l.x,{namespace:d,phrase:"softGate"})," ",a.createElement(i.F,{appLink:{application:u.O.SIGN_UP,action:c.e.SignUp.PREMIUM_FEATURES},className:"indigo-link text-indigo text-underline d-inline",analyticsData:{},analyticsOptions:{actionType:r.Vw.Click,location:r.LZ.GatedBanner,entity:r.py.AppLink,descriptor:r.Yu.PremiumFeatures}},a.createElement(l.x,{namespace:d,phrase:"learnMore"})))}},47430:(e,t,n)=>{n.d(t,{f:()=>f});var a=n(32735),r=n(23481),i=n(65858),o=n(97958),l=n(83345),s=n(99742),c=n(14070),u=n(97291),d="shared.hardGateEmptyState",m=r.T.encloseNamespace(d),p={insights:{headingPhrase:"insightsHeading",descriptionPhrase:"insightsDescription",ctaPhrase:"insightsCta",imageUrl:s.W.ReverseTrial.INTERACTIVE},"my-videos":{headingPhrase:"myVideosHeading",descriptionPhrase:"myVideosDescription",ctaPhrase:"myVideosCta",imageUrl:s.W.EmptyStates.MY_VIDEOS_PUBLIC},playlists:{headingPhrase:"playlistsHeading",descriptionPhrase:"playlistsDescription",ctaPhrase:"playlistsCta",imageUrl:s.W.EmptyStates.Playlists.PLAYLISTS_PUBLIC},clip:{headingPhrase:"clipHeading",descriptionPhrase:"clipDescription",ctaPhrase:"clipCta",imageUrl:s.W.ReverseTrial.CLIP}};function f(e){var t=p[e.feature];return a.createElement(o.u,null,a.createElement(o.u.Image,{src:t.imageUrl}),a.createElement(o.u.Heading,null,a.createElement(l.x,{namespace:d,phrase:t.headingPhrase})),a.createElement(o.u.Info,{className:"w-75"},a.createElement(l.x,{namespace:d,phrase:t.descriptionPhrase})," "),a.createElement(o.u.Cta,{text:m(t.ctaPhrase),appLink:{application:u.O.SIGN_UP,action:c.e.SignUp.PREMIUM_FEATURES},analyticsData:{},analyticsOptions:{actionType:i.Vw.Click,location:i.LZ.GatedEmptyState,entity:i.py.AppLink,descriptor:i.Yu.PremiumFeatures},className:"btn btn-dark mb-3"}),e.extraCta)}},58321:(e,t,n)=>{n.d(t,{U:()=>f});var a=n(20354),r=n(16714),i=n(39151),o=n(1666),l=n(31949),s=n(22902),c=n(37802),u=n(22490),d=n(82431),m=n(46390),p=n(27638);function f(e){var t,n,f,v=e||{},y=v.locationContext,h=v.mtv,g=v.flightNamespace,b=v.sharedPlaylist,C=(0,m.G)(),w=C.isPlugin,E=C.params,S=(0,p.u)(y,g),I=S.setFavourite,A=S.canFavourite,O=(0,c.r)(null),P=O.hasTopicDirectories,k=O.isLoadingSettings,L=(0,s.T)(),N=L.hasPermissions,x=L.isLoaded,j=N(r.C.StudentExperience),F=N(r.C.GuestExperience),T=a.a.useBasicFetch(i.L.config()),V=a.a.useBasicFetch(l.N.currentUser()),D=a.a.useBasicFetch((null===(t=V.data)||void 0===t?void 0:t.isAuthenticated)&&o.h.yearGroups(V.data.customerId));return{hasCommonVideoPropsCompleted:!k&&x&&T.hasCompleted&&V.hasCompleted&&(!(null===(n=V.data)||void 0===n?void 0:n.isAuthenticated)||D.hasCompleted),commonVideoProps:{subTextType:"series",getSubTextAppLink:function(e){var t;return"series"in e?b&&!(null===(t=V.data)||void 0===t?void 0:t.isAuthenticated)?null:d.j.getSeriesAppLink(e.series,{mtv:h}):null},isPlugin:w,isPluginPopup:!!(null==E?void 0:E.popup),canFavourite:A,setFavourite:I,imageCdnUrl:null===(f=T.data)||void 0===f?void 0:f.imageCdnUrl,yearGroups:D.data,getClassroomGuideAppLink:u.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:u.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:u.W.getResourceGuidanceAppLink,showNewVideoIndicator:P,companyLogoFallbackUrl:null,hasStudentExperience:j,hasGuestExperience:F}}}},97816:(e,t,n)=>{n.d(t,{V:()=>l,l:()=>s});var a=n(1575),r=n(39902),i=n(31908);function o(e){return e?Array.isArray(e)?e.filter(function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))}):"data"in e?e.data.filter(function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))}):[]:[]}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=o(e).map(function(e){return e.id});(0,r.FN)(n,function(e){return a.R.videoMixinAssocs(e,t.flightNamespace)},null)}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,r.SW)({getRequest:function(t){return a.R.videoMixinAssocs(t,e.flightNamespace)}}).fetchItems;return{fetchObjects:function(e){return t(o(e).map(function(e){return e.id}))}}}}}]);
|
|
2
|
+
//# sourceMappingURL=3840-df2873e349-lite.chunk.js.map
|