@clickview/lite 0.75.0-rc.3 → 0.75.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/104-0c03791b45-lite.chunk.js +2 -0
- package/dist/scripts/104-0c03791b45-lite.chunk.js.map +1 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js +2 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js.map +1 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js +2 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js.map +1 -0
- package/dist/scripts/{1199-6522b1d291-lite.chunk.js → 1199-d2fcbb547e-lite.chunk.js} +1 -1
- package/dist/scripts/1199-d2fcbb547e-lite.chunk.js.map +1 -0
- package/dist/scripts/{1221-894d8474d5-lite.chunk.js → 1221-1109d5379d-lite.chunk.js} +2 -2
- package/dist/scripts/1221-1109d5379d-lite.chunk.js.map +1 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js +2 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js.map +1 -0
- package/dist/scripts/{1610-bf848cce4d-lite.chunk.js → 1610-bb6eff2ff1-lite.chunk.js} +2 -2
- package/dist/scripts/1610-bb6eff2ff1-lite.chunk.js.map +1 -0
- package/dist/scripts/{218-297de74688-lite.chunk.js → 218-f6cc4a3b6a-lite.chunk.js} +2 -2
- package/dist/scripts/218-f6cc4a3b6a-lite.chunk.js.map +1 -0
- package/dist/scripts/{2968-c4c0114915-lite.chunk.js → 2968-13e56eeff8-lite.chunk.js} +1 -1
- package/dist/scripts/2968-13e56eeff8-lite.chunk.js.map +1 -0
- package/dist/scripts/3597-eaae787997-lite.chunk.js +3 -0
- package/dist/scripts/3597-eaae787997-lite.chunk.js.map +1 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js +2 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js.map +1 -0
- package/dist/scripts/{4722-d96da2a258-lite.chunk.js → 4722-9eb591621a-lite.chunk.js} +3 -3
- package/dist/scripts/4722-9eb591621a-lite.chunk.js.map +1 -0
- package/dist/scripts/{5153-acc6c13153-lite.chunk.js → 5153-cf62a95421-lite.chunk.js} +2 -2
- package/dist/scripts/5153-cf62a95421-lite.chunk.js.map +1 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js +3 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js.map +1 -0
- package/dist/scripts/{6790-c8a9efba50-lite.chunk.js → 6790-36ce6dda04-lite.chunk.js} +1 -1
- package/dist/scripts/6790-36ce6dda04-lite.chunk.js.map +1 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js +2 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js.map +1 -0
- package/dist/scripts/{7438-88d11bb89a-lite.chunk.js → 7438-38f60d3e8e-lite.chunk.js} +1 -1
- package/dist/scripts/7438-38f60d3e8e-lite.chunk.js.map +1 -0
- package/dist/scripts/{8856-02dd2e486c-lite.chunk.js → 8856-4da691f96f-lite.chunk.js} +1 -1
- package/dist/scripts/8856-4da691f96f-lite.chunk.js.map +1 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js +2 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js.map +1 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js +2 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js.map +1 -0
- package/dist/scripts/{9134-19912ca3ee-lite.chunk.js → 9134-a6a5fc92cf-lite.chunk.js} +1 -1
- package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js.map +1 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js +3 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-828ca65de8.min.js → bundle-fc60888464.min.js} +3 -3
- package/dist/scripts/{bundle-828ca65de8.min.js.map → bundle-fc60888464.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/104-7abe2b09dd-lite.chunk.js +0 -2
- package/dist/scripts/104-7abe2b09dd-lite.chunk.js.map +0 -1
- package/dist/scripts/1074-2ab8b03e30-lite.chunk.js +0 -2
- package/dist/scripts/1074-2ab8b03e30-lite.chunk.js.map +0 -1
- package/dist/scripts/1199-6522b1d291-lite.chunk.js.map +0 -1
- package/dist/scripts/1221-894d8474d5-lite.chunk.js.map +0 -1
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js +0 -2
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js.map +0 -1
- package/dist/scripts/1610-bf848cce4d-lite.chunk.js.map +0 -1
- package/dist/scripts/218-297de74688-lite.chunk.js.map +0 -1
- package/dist/scripts/2968-c4c0114915-lite.chunk.js.map +0 -1
- package/dist/scripts/4185-1f65c7adc9-lite.chunk.js +0 -2
- package/dist/scripts/4185-1f65c7adc9-lite.chunk.js.map +0 -1
- package/dist/scripts/4722-d96da2a258-lite.chunk.js.map +0 -1
- package/dist/scripts/5153-acc6c13153-lite.chunk.js.map +0 -1
- package/dist/scripts/6756-e90680dfcd-lite.chunk.js +0 -3
- package/dist/scripts/6756-e90680dfcd-lite.chunk.js.map +0 -1
- package/dist/scripts/6790-c8a9efba50-lite.chunk.js.map +0 -1
- package/dist/scripts/7148-432ab72091-lite.chunk.js +0 -2
- package/dist/scripts/7148-432ab72091-lite.chunk.js.map +0 -1
- package/dist/scripts/7438-88d11bb89a-lite.chunk.js.map +0 -1
- package/dist/scripts/8687-549a2d9278-lite.chunk.js +0 -3
- package/dist/scripts/8687-549a2d9278-lite.chunk.js.map +0 -1
- package/dist/scripts/8856-02dd2e486c-lite.chunk.js.map +0 -1
- package/dist/scripts/9003-1db925f5ec-lite.chunk.js +0 -2
- package/dist/scripts/9003-1db925f5ec-lite.chunk.js.map +0 -1
- package/dist/scripts/9042-1a42fcbba2-lite.chunk.js +0 -2
- package/dist/scripts/9042-1a42fcbba2-lite.chunk.js.map +0 -1
- package/dist/scripts/9134-19912ca3ee-lite.chunk.js.map +0 -1
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js +0 -3
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js.map +0 -1
- /package/dist/css/{8687-lite-6787cc731a.chunk.css → 3597-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/css/{9528-lite-6787cc731a.chunk.css → 9620-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/scripts/{1221-894d8474d5-lite.chunk.js.LICENSE.txt → 1221-1109d5379d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4722-d96da2a258-lite.chunk.js.LICENSE.txt → 3597-eaae787997-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5153-acc6c13153-lite.chunk.js.LICENSE.txt → 4722-9eb591621a-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6756-e90680dfcd-lite.chunk.js.LICENSE.txt → 5153-cf62a95421-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8687-549a2d9278-lite.chunk.js.LICENSE.txt → 6756-cfd00009e4-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9528-2b478f4ca8-lite.chunk.js.LICENSE.txt → 9620-3746c84350-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-828ca65de8.min.js.LICENSE.txt → bundle-fc60888464.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1199-d2fcbb547e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/utils/AnalyticsRequestUtils.ts","file:///app/packages/libs/shared/src/apps/analytics/flight-requests/InteractiveResultsRequests.ts","file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/hooks/UseBatchFetch.ts","file:///app/packages/libs/shared/src/apps/share/components/shared-object-title/SharedObjectTitle.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/share-status-indicator/share-status-indicator.scss","file:///app/packages/libs/shared/src/apps/share-v2/components/share-status-indicator/ShareStatusIndicator.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table-row/my-shares-table-row.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table-row/MySharesTableRow.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/MySharesTableUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/MySharesTable.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/partial-loading/partial-my-shares-table.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable.tsx","file:///app/packages/projects/lite/src/shared/hooks/useSharesTable.ts"],"sourcesContent":["import { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\nexport function getAnalyticsRequestKey(baseKey: string, filter: AnalyticsRequestFilter, extra?: string): string {\n if (!filter)\n return baseKey;\n\n let key = `${baseKey}:${filter.start}:${filter.end}`;\n\n const userIdKey = Array.isArray(filter.userId) ? filter.userId.sort().join(':') : filter.userId;\n const groupIdKey = Array.isArray(filter.groupId) ? filter.groupId.sort().join(':') : filter.groupId;\n const customerIdKey = Array.isArray(filter.customerId) ? filter.customerId.sort().join(':') : filter.customerId;\n\n if (userIdKey)\n key += `:${userIdKey}`;\n\n if (groupIdKey)\n key += `:${groupIdKey}`;\n\n if (customerIdKey)\n key += `:${customerIdKey}`;\n\n if (extra)\n key += `:${extra}`;\n\n return key;\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nimport { MarkInteractiveAnswer } from 'libs/shared/apps/analytics/interfaces/MarkInteractiveAnswer';\nimport { InteractiveResultsReport } from 'libs/shared/apps/analytics/interfaces/requests/InteractiveResultsReport';\nimport { InteractivesPendingReviewsRequest } from 'libs/shared/apps/analytics/interfaces/requests/InteractivesPendingReviewsRequest';\nimport { AnalyticsRequestFilter, CurrentUser, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\ninterface InteractiveResultFilters {\n currentUserId: string;\n currentCustomerId: string;\n dateRange?: { start: string, end: string }\n userIds?: string | string[];\n classroomsAndGroups?: string | string[];\n}\n\nfunction getInteractiveResultFilters(\n currentUser: CurrentUser,\n filter: AnalyticsRequestFilter\n): InteractiveResultFilters {\n return {\n currentUserId: currentUser.id,\n currentCustomerId: currentUser.customerId,\n dateRange: filter ? { start: filter.start, end: filter.end } : undefined,\n userIds: filter?.userId,\n classroomsAndGroups: filter?.groupId\n };\n}\n\nexport const InteractiveResultsRequests = {\n /** \n * This endpoint returns data with a lot of duplicated ids,\n * e.g. student answers to the same question will have the same id.\n * Because of that, we don't normalize.\n */\n interactiveResultSet(\n interactiveId: string,\n interactiveMetadataId: string,\n currentUser: CurrentUser,\n filter?: AnalyticsRequestFilter,\n includePublicResults?: boolean,\n success?: (data: InteractiveResultSet) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: includePublicResults ?\n `/api/domain/v3/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}` :\n `/api/domain/v2/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: getAnalyticsRequestKey(`interactive:result:set:${interactiveId}:${interactiveMetadataId}`, filter),\n data: getInteractiveResultFilters(currentUser, filter),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n },\n \n /**\n * As the response from `interactiveResultSet` isn't normalised, we need to invalidate the cache\n * to update the results data.\n */\n mark(\n interactiveId: string,\n interactiveMetadataId: string,\n answerId: string,\n data: MarkInteractiveAnswer,\n success?: () => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/answers/${answerId}`,\n key: `mark:answer:${answerId}:${data.resultId}`,\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`,\n success,\n error,\n always\n };\n },\n\n pendingReviews(data: InteractivesPendingReviewsRequest): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/pending-reviews/summary`,\n key: `interactives:pending:reviews`,\n type: HttpVerbs.POST,\n data\n };\n },\n\n interactiveResultsReport(data: InteractiveResultsReport): Flight.Request {\n return {\n url: '/api/domain/v3/analytics/interactives/report',\n key: 'interactive:results:report',\n data,\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n scopeId?: string;\n objectTypeId?: number;\n type?: ShareType[];\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest\n ): Flight.Request {\n return {\n url: '{gateway}/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [ 'sent:share-v2', `get:share-v2:shares:object:${data.objectId}` ]\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `update:share-v2`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ]\n };\n },\n \n deleteShare(\n shareId: string\n ): Flight.Request {\n return {\n type: HttpVerbs.DELETE,\n url: `{gateway}/v2/shares/${shareId}`,\n key: `delete:share-v2`,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', 'sent:share-v2', `share-v2:${shareId}` ]\n };\n },\n\n getShare(\n shareId: string\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {}\n ): Flight.Request {\n const key = Object.values(params).sort().join(':');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/sent', params),\n key: `sent:share-v2:${key}`,\n type: HttpVerbs.GET,\n normalize: false\n };\n },\n\n getShareLink(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n normalizeOptions\n };\n },\n\n createShareLink(\n data: CreateShareLinkRequest\n ): Flight.Request {\n return {\n type: HttpVerbs.POST,\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { ...data }),\n key: `create:share-v2:permanent-link:object:${data.objectId}`,\n invalidationKeys: [ `share-v2:permanent-link:object:${data.objectId}`, 'sent:share-v2' ],\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n },\n \n getSharesByObjectId(\n objectId: string | number\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n createSharePincode(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `create:share-v2:${shareId}:pincode`,\n type: HttpVerbs.POST\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n },\n\n getPincodeByCode(code: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n }\n};\n","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nconst CHUNK_SIZE = 50;\n\nexport interface UseBatchFetchResult<T extends BaseObject> {\n itemsArr: T[];\n items: { [key: string]: T} | null;\n isFetching: boolean;\n hasCompleted: boolean;\n}\n\n/**\n * Used to fetch multiple items by id with Flight. Will fetch 25 items at a time firing off multiple\n * requests if there are more than 25 items.\n * This will return items as null until we have all our items. Items will be returned as an object with\n * their ids as they key for easy mapping\n * \n * @param itemIds \n * @param getRequest \n */\nexport function useBatchFetch<T extends BaseObject>(\n itemIds: string[],\n getRequest: (ids: string[]) => Flight.Request\n): UseBatchFetchResult<T> {\n const chunks = ArrayHelper.chunk<string>(itemIds, CHUNK_SIZE);\n\n const requests = chunks.map(chunk => getRequest(ArrayHelper.uniq(chunk)));\n\n const responses = Flight.useBasicFetchAll<T[]>(requests);\n\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce((acc, item) => ({ ...acc, [item.id]: item }), {})\n : null;\n\n return {\n itemsArr,\n items,\n isFetching: responses.isFetching,\n hasCompleted: responses.hasCompleted\n };\n}\n\n/**\n * When you need the useBatchFetch() behavior, but your list of objects to hydrate\n * will grow, such as on a scrolling page. useGrowingBatchFetch() will use local state\n * to determine what we've already built a request for and what items are new\n * as to not re-fetch items - Sha\n */\nexport function useGrowingBatchFetch<TResponse, TObjects = string>(\n objs: TObjects[],\n getRequest: (items: TObjects[]) => Flight.Request,\n _getKey?: (obj: TObjects) => string\n) {\n const getKey = _getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const { fetchItems, ...data } = useGrowingBatchFetchFunc<TResponse, TObjects>({ getRequest, _getKey });\n\n React.useEffect(() => {\n if (!objs?.length)\n return;\n\n fetchItems(objs);\n }, [objs?.map(getKey).join(',')]);\n\n return data;\n}\n\ninterface UseGrowingBatchFetchFuncOptions<TObjects> {\n getRequest: (items: TObjects[]) => Flight.Request;\n _getKey?: (obj: TObjects) => string;\n}\n\n/**\n * When you need the useGrowingBatchFetch() behaviour, but need to trigger the\n * fetch manually and update the objects - Nish \n */\nexport function useGrowingBatchFetchFunc<TResponse, TObjects = string>(\n options: UseGrowingBatchFetchFuncOptions<TObjects>\n) {\n const getKey = options._getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const fetchedItems = React.useRef<Set<string>>(new Set<string>());\n const [ requests, setRequests ] = React.useState<Flight.Request[]>([]);\n\n function fetchItems(objs: TObjects[]) {\n if (!objs?.length)\n return;\n\n const unfetchedItems: TObjects[] = [];\n \n objs.forEach(obj => {\n const key = getKey(obj);\n\n if (fetchedItems.current.has(key))\n return;\n\n unfetchedItems.push(obj);\n fetchedItems.current.add(key);\n });\n \n if (!unfetchedItems.length)\n return;\n \n setRequests(r => ([ ...r, ...ArrayHelper.chunk<TObjects>(unfetchedItems, CHUNK_SIZE).map(options.getRequest) ]));\n }\n\n const responses = Flight.useBasicFetchAll<TResponse[]>(requests);\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce<Record<string, TResponse>>((acc, item) => ({ ...acc, [getKey(item)]: item }), {})\n : null;\n\n return {\n hasFirstRequestCompleted: !!responses.responses?.[0]?.hasCompleted,\n itemsArr,\n items,\n isFetching: responses.isFetching,\n fetchItems\n };\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { SharableEntity, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst namespace = 'shared.sharedObjectTitle';\n\ninterface SharedObjectTitleProps {\n sharedObject: SharableEntity;\n getObjectAppLink?: (object: BaseObject) => Core.AppLink;\n titleClassName?: string;\n subTextClassName?: string;\n}\n\nexport function SharedObjectTitle(props: SharedObjectTitleProps) {\n const { sharedObject, titleClassName, subTextClassName } = props;\n const subTextPhrase = getSubTextPhrase();\n const titleAppLink = props.getObjectAppLink?.(sharedObject);\n\n if (!sharedObject.name) {\n return <Text namespace={namespace} phrase='videoUnavailable' />;\n }\n\n if (VideoHelper.isVideoType(sharedObject) && !VideoHelper.getCanBeConsumed(sharedObject)?.canNavigate) {\n return (\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n );\n }\n\n function getSubTextPhrase(): string {\n switch (sharedObject.typeId) {\n case MasterType.Series: return 'series';\n case MasterType.Playlist: return 'playlist';\n }\n }\n\n return (\n <div>\n {VideoHelper.isVideoType(sharedObject) && (\n <VideoSubText\n type='series'\n video={sharedObject}\n appLink={'series' in sharedObject && sharedObject.series ? props.getObjectAppLink?.(sharedObject.series) : null}\n analyticsOptions={{ location: LocationContext.Insights }}\n className={`d-inline clamp-1 ${subTextClassName ?? ''}`}\n />\n )}\n\n { subTextPhrase &&\n <TitleSubText>\n <Text namespace={namespace} phrase={subTextPhrase} />\n </TitleSubText>\n }\n\n { titleAppLink ? (\n <AppLink\n appLink={titleAppLink}\n className='clamp-1'\n analyticsData={{ id: sharedObject.id, name: sharedObject.name }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(sharedObject.type),\n actionType: UserAction.Click,\n location: LocationContext.MyShares\n }}\n >\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n </AppLink>\n ) : (\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"indicator\":\"sybF_\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nimport styles from './share-status-indicator.scss';\n\nconst namespace = 'share-v2.shareStatusIndicator';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nenum ShareIndicatorStatus {\n Active,\n Expired,\n MarkingRequired\n}\n\nconst statusIndicatorLabels = {\n [ShareIndicatorStatus.Active]: () => getPhrase('activeStatusLabel'),\n [ShareIndicatorStatus.Expired]: () => getPhrase('expiredStatusLabel'),\n [ShareIndicatorStatus.MarkingRequired]: () => getPhrase('markingRequiredStatusLabel')\n};\n\nconst statusIndicatorColors = {\n [ShareIndicatorStatus.Active]: 'bg-success',\n [ShareIndicatorStatus.Expired]: 'bg-danger',\n [ShareIndicatorStatus.MarkingRequired]: 'bg-blue'\n};\n\nconst statusIndicatorTooltips = {\n [ShareIndicatorStatus.Active]: () => getPhrase('activeStatusTooltip'),\n [ShareIndicatorStatus.Expired]: () => getPhrase('expiredStatusTooltip'),\n [ShareIndicatorStatus.MarkingRequired]: () => getPhrase('markingRequiredStatusTooltip')\n};\n\nfunction determineStatus(props: ShareStatusIndicatorProps): ShareIndicatorStatus {\n if (props.markingRequired)\n return ShareIndicatorStatus.MarkingRequired;\n\n if (ShareHelper.hasShareExpired(props.share))\n return ShareIndicatorStatus.Expired;\n\n return ShareIndicatorStatus.Active;\n}\n\nfunction getTooltip(status: ShareIndicatorStatus, expireDate: string): string {\n if (status === ShareIndicatorStatus.Active && expireDate) {\n const localDate = DateHelper.convertUTCToLocal(expireDate);\n const formattedDate = DateHelper.format(localDate, 'MMMM Do');\n\n return getPhrase('expiryTooltip', { date: formattedDate });\n }\n\n return statusIndicatorTooltips[status]();\n}\n\ninterface ShareStatusIndicatorProps {\n share: Share;\n markingRequired: boolean;\n}\n\nexport function ShareStatusIndicator(props: ShareStatusIndicatorProps) {\n const status = determineStatus(props);\n const tooltip = getTooltip(status, props.share.expireDate);\n const color = statusIndicatorColors[status];\n\n function renderDisplayText() {\n const label = statusIndicatorLabels[status]();\n const expireDate = props.share.expireDate;\n \n if (status === ShareIndicatorStatus.Active && expireDate) {\n const remainingDays = ShareHelper.calculateDaysToExpiry(props.share);\n const hint = getPhrase('expiryHint', { smartCount: remainingDays });\n\n return (\n <p className='mb-0'>\n {label} · {hint}\n </p>\n );\n }\n\n return (\n <p className='mb-0'>\n {label}\n </p>\n );\n }\n\n return (\n <Tooltip title={tooltip} spanHack spanHackClassName='d-inline-flex'>\n <div className='d-flex align-items-center'>\n <div className={`${styles.indicator} ${color} me-2 flex-shrink-0`} />\n {renderDisplayText()}\n </div>\n </Tooltip>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"thumbnailContainer\":\"XNQc8\",\"tableRow\":\"R3dYa\",\"viewCta\":\"ssCq6\"};","import React from 'react';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { SharedObjectImage } from 'libs/shared/apps/share/components/shared-object-image/SharedObjectImage';\nimport { SharedObjectTitle } from 'libs/shared/apps/share/components/shared-object-title/SharedObjectTitle';\nimport { ShareStatusIndicator } from 'libs/shared/apps/share-v2/components/share-status-indicator/ShareStatusIndicator';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { ActionsDropdown } from 'libs/shared/components/actions/ActionsDropdown';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getInsightsOverviewAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nimport styles from './my-shares-table-row.scss';\n\nconst namespace = 'myShares.tableRow';\n\ninterface MySharesTableHeadingProps {\n heading: string;\n isFirst: boolean;\n}\n\nexport function MySharesTableHeading(props: MySharesTableHeadingProps) {\n return (\n <div className='d-flex'>\n <div className={`col-auto ${styles.thumbnailContainer}`}>\n <p className='fw-semibold mb-2'>{props.heading}</p>\n </div>\n \n <div className={`${props.isFirst ? 'd-flex' : 'd-none'} col align-items-center`}>\n <div className='col-10 col-md-4' />\n\n <div className='d-none d-md-flex col-6'>\n <div className='col-4'>\n <p className='fw-semibold mb-2'><Text namespace={namespace} phrase='viewsHeading' /></p>\n </div>\n\n <div className='col-3'>\n <p className='fw-semibold mb-2'><Text namespace={namespace} phrase='viewedByHeading' /></p>\n </div>\n\n <div className='col-5'>\n <p className='fw-semibold mb-2'><Text namespace={namespace} phrase='statusHeading' /></p>\n </div>\n </div>\n\n <div className='col-2' />\n </div>\n </div>\n );\n}\n\ninterface MySharesTableRowProps extends React.PropsWithChildren {\n shareData: MySharesTableData;\n breakpoints?: Breakpoints;\n getObjectActions: (row: MySharesTableData) => ActionOptions[];\n yearGroups: YearGroup[];\n imageCdnUrl: string;\n className?: string;\n}\n\nexport function MySharesTableRow(props: MySharesTableRowProps) {\n const { shareData } = props;\n const sharedObject = shareData.sharedObject;\n const isCollection = sharedObject.typeId === MasterType.Playlist || sharedObject.typeId === MasterType.Series;\n const appLink = getInsightsOverviewAppLink(shareData.share);\n\n function renderViewCount() {\n if (isCollection)\n return <p className='mb-0'>-</p>;\n\n return (\n <p className='mb-0'>\n <Text namespace={namespace} phrase='views' options={{ smartCount: shareData.share.viewCount }} />\n </p>\n );\n }\n\n function renderViewedBy() {\n if (isCollection)\n return <p className='mb-0'>-</p>;\n\n return (\n <div className='d-flex align-items-center'>\n <SvgContainer svgName={cvSvgLibrary.User} size={SvgContainerSize.Standard} className='me-2 svg-container' />\n <p className='mb-0'>{shareData.share.accessCount}</p>\n </div>\n );\n }\n\n return (\n <div className={`position-relative hover-bg-light-blue ${styles.tableRow} ${props.className ?? ''}`}>\n <AppLink appLink={appLink} className={`p-2 cursor-pointer d-flex text-decoration-none`}>\n <div className={`col-auto ${styles.thumbnailContainer}`}>\n <SharedObjectImage\n object={sharedObject}\n showVideoMetadata\n locationContext={LocationContext.MyShares}\n imageOptions={{ size: ImageSize.Medium }}\n showCollectionMask={false}\n showVideoCount\n onlyCount\n />\n </div>\n \n <div className='col d-flex align-items-center'>\n <div className='px-3 col-10 col-md-4'>\n <SharedObjectTitle sharedObject={shareData.sharedObject} />\n </div>\n\n <div className='d-none d-md-flex col-6'>\n <div className='col-4'>\n {renderViewCount()}\n </div>\n\n <div className='col-3'>\n {renderViewedBy()}\n </div>\n\n <div className='col-5'>\n <ShareStatusIndicator share={shareData.share} markingRequired={shareData.pendingReview > 0} />\n </div>\n </div>\n </div>\n </AppLink>\n <div className='position-absolute end-0 top-0 bottom-0 d-flex align-items-center pe-2'>\n <AppLink appLink={appLink} className={`me-4 text-info d-none ${styles.viewCta}`}>\n <Text namespace={namespace} phrase='viewCta' />\n </AppLink>\n <ActionsDropdown\n dropdownToggleSvgSize={SvgContainerSize.Standard}\n actions={props.getObjectActions(shareData)}\n dropdownToggleClassName='btn btn-link'\n />\n </div>\n </div>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { ShareHelper } from 'libs/shared/apps/share/utils/ShareHelper';\nimport { SharableEntity, SharableRecipient } from 'libs/shared/apps/share/views/share/ShareViewHelper';\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 { MasterType } from 'libs/shared/enums/MasterType';\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\n\nconst namespace = 'myShares.mySharesTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getDateShared(share: Share): string {\n if (share.type === ShareType.Link || !share?.recipients?.length)\n return share.dateCreated;\n\n const datesCreated = share.recipients.map(r => r.dateCreated);\n\n if (!datesCreated.length)\n return '';\n\n datesCreated.sort((date1, date2) => {\n if (DateHelper.isSame(date1, date2))\n return 0;\n\n return DateHelper.isAfter(date1, date2) ? 1 : -2;\n });\n\n return ArrayHelper.last(datesCreated);\n}\n\nexport interface MySharesTableData {\n share: Share;\n sharedObject: SharableEntity;\n dateShared: string;\n shareRecipients?: SharableRecipient[];\n pendingReview?: number;\n privacy?: SharePrivacy;\n}\n\ntype TableDataGroupings = { [date: string]: MySharesTableData[] };\n\nexport function useGetMySharesData(\n sentShares: Share[],\n sharedObjects: Record<string, SharableEntity>,\n shareRecipients: Record<string, SharableRecipient>,\n groupByDate: boolean,\n interactivesPendingReviews: InteractivesPendingReviews[]\n): TableDataGroupings {\n const tableData: MySharesTableData[] = [];\n\n const interactivesPendingReviewsMap = interactivesPendingReviews\n ?.reduce<Record<string, InteractivesPendingReviews>>(\n (map, obj) => ({ [obj.interactiveId]: obj, ...map }),\n {}\n );\n\n sentShares.forEach(s => {\n const sharedObject = sharedObjects?.[s.objectId];\n\n let recipients: SharableRecipient[] | null = null;\n\n if (s.type === ShareType.Classroom) {\n recipients = [];\n\n s.recipients?.forEach(r => {\n const recipient = shareRecipients?.[r.recipientId];\n\n if (recipient)\n recipients.push(recipient);\n });\n }\n\n // Skip if we don't have access to the shared object (e.g. if it's been deleted)\n if (sharedObject) {\n const pendingReview = sharedObject.typeId === MasterType.Interactive &&\n interactivesPendingReviewsMap?.[(sharedObject as InteractiveMetadata).interactiveId];\n\n tableData.push({\n share: s,\n sharedObject,\n shareRecipients: recipients,\n dateShared: getDateShared(s),\n pendingReview: pendingReview?.pendingReviewCount,\n privacy: s.privacy\n });\n }\n });\n\n if (!groupByDate)\n return { [getPhrase('title')]: tableData };\n\n return ShareHelper.groupByDateShared(tableData);\n}","import React from 'react';\n\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { SharableEntity, SharableRecipient } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { YearGroup } from 'libs/shared/interfaces';\n\nimport { MySharesTableData, useGetMySharesData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\nimport { MySharesTableHeading, MySharesTableRow } from 'apps/my-shares/components/my-shares-table-row/MySharesTableRow';\n\ninterface MySharesTableProps {\n sentShares: Share[];\n sharedObjects: Record<string, SharableEntity>;\n shareRecipients: Record<string, SharableRecipient>;\n interactivesPendingReview: InteractivesPendingReviews[];\n getObjectActions: (row: MySharesTableData) => ActionOptions[];\n groupByDateShared?: boolean;\n showStatus?: boolean;\n showViewCount?: boolean;\n dependencies?: any[];\n breakpoints?: Breakpoints;\n hasDemoInsights?: boolean;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n}\n\nexport function MySharesTable(props: MySharesTableProps): JSX.Element {\n const data = useGetMySharesData(\n props.sentShares,\n props.sharedObjects,\n props.shareRecipients,\n !!props.groupByDateShared,\n props.interactivesPendingReview\n );\n\n return (\n <>\n {Object.keys(data).map((heading, headingIdx) => (\n <div key={headingIdx}>\n <MySharesTableHeading heading={heading} isFirst={!props.hasDemoInsights && headingIdx === 0} />\n\n <div className='d-flex flex-column mb-4'>\n {data[heading].map((shareData, index) => (\n <MySharesTableRow\n key={index}\n shareData={shareData}\n getObjectActions={props.getObjectActions}\n breakpoints={props.breakpoints}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n />\n ))}\n </div>\n </div>\n ))}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myShares.mySharesTableEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function MySharesTableEmptyState(): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Share.SHARED_BY_ME} size='small' />\n <EmptyState.Heading>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info>{getPhrase('info')}</EmptyState.Info>\n <EmptyState.Cta appLink={{ application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME }} text={getPhrase('cta')} />\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"iWHol\",\"thumbnailContainer\":\"zrcDh\"};","import React from 'react';\n\nimport styles from './partial-my-shares-table.scss';\n\ninterface PartialHeadingProps {\n isFirst?: boolean;\n}\n\nexport function PartialHeading(props: PartialHeadingProps) {\n return (\n <div className='d-flex'>\n <div className={`col-auto ${styles.thumbnailContainer}`}>\n <div className={`partial-loading-background mb-2`}> </div>\n </div>\n \n <div className={`${props.isFirst ? 'd-flex' : 'd-none'} col align-items-center`}>\n <div className='col-10 col-md-4' />\n\n <div className='d-none d-md-flex col-6'>\n <div className='col-4'>\n <div className={`partial-loading-background mb-2 ${styles.heading}`}> </div>\n </div>\n\n <div className='col-3'>\n <div className={`partial-loading-background mb-2 ${styles.heading}`}> </div>\n </div>\n\n <div className='col-5'>\n <div className={`partial-loading-background mb-2 ${styles.heading}`}> </div>\n </div>\n </div>\n\n <div className='col-2' />\n </div>\n </div>\n );\n}\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`p-2 d-flex`}>\n <div className={`col-auto ${styles.thumbnailContainer}`}>\n <div className={`partial-loading-background rounded ratio ratio-16x9`} />\n </div>\n \n <div className='col d-flex align-items-center'>\n <div className='px-3 col-10 col-md-4'>\n <div className={`partial-loading-background w-75`}> </div>\n </div>\n\n <div className='d-none d-md-flex col-6'>\n <div className='col-4'>\n <div className={`partial-loading-background w-50`}> </div>\n </div>\n\n <div className='col-3'>\n <div className={`partial-loading-background w-50`}> </div>\n </div>\n\n <div className='col-5'>\n <div className={`partial-loading-background w-75`}> </div>\n </div>\n </div>\n\n <div className='col-2 d-flex justify-content-end align-items-center'>\n <div className={`partial-loading-background w-25`}> </div>\n </div>\n </div>\n </div>\n );\n}\n\nexport function PartialMySharesTable(): JSX.Element {\n return (\n <>\n <div>\n <PartialHeading isFirst={true} />\n\n <div className='d-flex flex-column rounded-3 mb-4 border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n\n <div>\n <PartialHeading />\n\n <div className='d-flex flex-column rounded-3 mb-4 border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n\n <div>\n <PartialHeading />\n\n <div className='d-flex flex-column rounded-3 mb-4 border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import { Flight } from 'libs/common/react/index';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { InteractiveResultsRequests } from 'libs/shared/apps/analytics/flight-requests/InteractiveResultsRequests';\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { ShareRequests as ShareRequestsV1 } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { SharableRecipient } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { GetSentSharesParams, ShareRequests as ShareRequestsV2 } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { SharableEntity } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { UseBatchFetchResult, useGrowingBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { BaseObject, Config, CurrentUser, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nexport function getBatchFetchResultAsArray(result: UseBatchFetchResult<BaseObject>): BaseObject[] {\n return result.items ? Object.values(result.items) : [];\n}\n\ninterface UseSharesTableOptions {\n params?: GetSentSharesParams;\n interactiveInsights?: boolean;\n shouldFetch: boolean;\n}\n\nexport function useSharesTable({ params, interactiveInsights, shouldFetch }: UseSharesTableOptions) {\n const fetch = Flight.useGetFetch();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n /**\n * Fetch sent shares\n */\n const getRequest = (cursor?: string) => shouldFetch && ShareRequestsV2.getSentShares({\n cursor,\n ...params\n });\n const fetchNext = (cursor?: string) => fetch(getRequest(cursor));\n const {\n items: sentShares,\n hasMore,\n isFetching: isFetchingSentShares,\n nextCursor,\n hasFirstPageCompleted\n } = useInfiniteList<Share>(getRequest, fetchNext);\n\n /**\n * Fetch shared objects\n */\n const sharedObjects = useGrowingBatchFetch<SharableEntity>(\n sentShares?.map(obj => obj.objectId.toString()),\n ShareRequestsV1.sharedObjectsById\n );\n\n /**\n * Fetch recipients\n */\n const shareRecipients = useGrowingBatchFetch<SharableRecipient>(\n ShareHelper.getFlattenedRecipients(sentShares ?? []).map(obj => obj.recipientId.toString()),\n objs => (ShareRequestsV1.getRecipientsById(objs, currentUser.data.customerId))\n );\n\n /**\n * Fetch which interactives required marking\n */\n const interactivesPendingReview = useGrowingBatchFetch<InteractivesPendingReviews, SharableEntity>(\n interactiveInsights ? ObjectHelper.values(sharedObjects.items || []) : [],\n objs => InteractiveResultsRequests.pendingReviews({\n interactives: objs\n .filter(VideoHelper.isInteractive)\n .map(obj => ({ interactiveId: obj.interactiveId, metadataId: obj.id })),\n filters: {\n currentCustomerId: currentUser.data.customerId,\n currentUserId: currentUser.data.id\n }\n }),\n obj => `${obj.id}:${'interactiveId' in obj ? obj.interactiveId : ''}`\n );\n \n const isFetching = isFetchingSentShares\n || sharedObjects.isFetching\n || shareRecipients.isFetching\n || interactivesPendingReview.isFetching\n || yearGroups.isFetching;\n\n const showPartialLoading = !hasFirstPageCompleted || (sentShares?.length && !sharedObjects.hasFirstRequestCompleted);\n\n return {\n sentShares,\n sharedObjects,\n shareRecipients,\n yearGroups: yearGroups.data,\n interactivesPendingReview,\n isFetching,\n showPartialLoading,\n nextCursor,\n hasMore,\n fetchNext,\n imageCdnUrl: config.data?.imageCdnUrl\n };\n}"],"names":["getAnalyticsRequestKey","baseKey","filter","extra","key","start","end","userIdKey","Array","isArray","userId","sort","join","groupIdKey","groupId","customerIdKey","customerId","getInteractiveResultFilters","currentUser","currentUserId","id","currentCustomerId","dateRange","undefined","userIds","classroomsAndGroups","InteractiveResultsRequests","interactiveResultSet","interactiveId","interactiveMetadataId","includePublicResults","success","error","always","url","data","type","HttpVerbs","normalize","mark","answerId","resultId","invalidationKeys","pendingReviews","interactiveResultsReport","normalizeOptions","namespace","ShareRequests","createShare","objectId","updateShare","shareId","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","getShareLink","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","CHUNK_SIZE","useBatchFetch","itemIds","getRequest","requests","map","chunk","responses","itemsArr","items","length","reduce","acc","item","isFetching","hasCompleted","useGrowingBatchFetch","objs","_getKey","getKey","obj","useGrowingBatchFetchFunc","fetchItems","options","fetchedItems","Set","setRequests","hasFirstRequestCompleted","unfetchedItems","forEach","current","has","push","add","r","SharedObjectTitle","props","sharedObject","titleClassName","subTextClassName","subTextPhrase","typeId","MasterType","getSubTextPhrase","titleAppLink","getObjectAppLink","name","VideoHelper","canNavigate","className","VideoSubText","video","appLink","series","analyticsOptions","location","TitleSubText","Text","phrase","AppLink","analyticsData","entity","ShareViewHelper","actionType","ShareIndicatorStatus","getPhrase","LanguageService","statusIndicatorLabels","Active","Expired","MarkingRequired","statusIndicatorColors","statusIndicatorTooltips","ShareStatusIndicator","status","markingRequired","ShareHelper","share","determineStatus","tooltip","expireDate","localDate","DateHelper","formattedDate","date","getTooltip","color","Tooltip","title","spanHack","spanHackClassName","label","remainingDays","hint","smartCount","renderDisplayText","MySharesTableHeading","heading","isFirst","MySharesTableRow","shareData","isCollection","SharedObjectImage","object","showVideoMetadata","locationContext","imageOptions","size","showCollectionMask","showVideoCount","onlyCount","viewCount","SvgContainer","svgName","S","accessCount","pendingReview","ActionsDropdown","dropdownToggleSvgSize","actions","getObjectActions","dropdownToggleClassName","getDateShared","ShareType","recipients","dateCreated","datesCreated","date1","date2","ArrayHelper","MySharesTable","sentShares","sharedObjects","shareRecipients","groupByDate","interactivesPendingReviews","tableData","interactivesPendingReviewsMap","groupByDateShared","interactivesPendingReview","s","recipient","recipientId","dateShared","pendingReviewCount","privacy","keys","headingIdx","hasDemoInsights","index","breakpoints","imageCdnUrl","yearGroups","MySharesTableEmptyState","src","application","action","text","PartialHeading","PartialRow","PartialMySharesTable","useSharesTable","interactiveInsights","shouldFetch","fetch","config","isAuthenticated","cursor","fetchNext","hasMore","isFetchingSentShares","nextCursor","hasFirstPageCompleted","toString","I","interactives","metadataId","filters","showPartialLoading"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see 1221-
|
|
1
|
+
/*! For license information please see 1221-1109d5379d-lite.chunk.js.LICENSE.txt */
|
|
2
2
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1221],{18488:(e,t,r)=>{r.d(t,{o:()=>c});var n=r(99940),a=r(97395),o={namespace:"share-v2"},c={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:n.k.POST,data:e,normalizeOptions:o,invalidationKeys:["sent:share-v2","get:share-v2:shares:object:".concat(e.objectId)]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:n.k.PUT,data:t,normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)]}},deleteShare:function(e){return{type:n.k.DELETE,url:"{gateway}/v2/shares/".concat(e),key:"delete:share-v2",normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","sent:share-v2","share-v2:".concat(e)]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:n.k.GET,normalizeOptions:o}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.values(e).sort().join(":");return{url:a._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:n.k.GET,normalize:!1}},getShareLink:function(e){return{url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:o}},createShareLink:function(e){return{type:n.k.POST,url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",Object.assign({},e)),key:"create:share-v2:permanent-link:object:".concat(e.objectId),invalidationKeys:["share-v2:permanent-link:object:".concat(e.objectId),"sent:share-v2"],normalizeOptions:o}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}},getSharesByObjectId:function(e){return{url:"{gateway}/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:o}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:n.k.POST}},getPincodeByShareId:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}},getPincodeByCode:function(e){return{url:"{gateway}/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}}}},66122:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(32735);function a(e){return n.createElement("span",{id:"".concat(e.name,"Error"),className:"".concat(e.className," invalid-feedback d-block"),role:"status"},e.children)}},93681:(e,t,r)=>{r.d(t,{o:()=>d});var n=r(32735),a=r(31453),o=r(2786),c=r(4594);const i="s6wnJ",l="UFQ2T",u="Tp9_3";function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(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 f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e){switch(e){case c.E.Video:case c.E.Interactive:case c.E.Clip:return"y0V3Z";case c.E.Subject:case c.E.Playlist:return"x3h8F";case c.E.Series:return"Wrg5x";default:return""}}function d(e){return n.createElement("div",{className:"d-flex"},e.children)}var m={cover:u,full:"AlF2T"},v={base:"uQ2rm",full:""};d.NarrowContent=function(e){return n.createElement("div",{className:"".concat("INvJ0"," mx-auto w-100 ").concat(e.className?e.className:"")},e.children)},d.Left=function(e){return n.createElement("div",{className:"".concat(i," ").concat(e.className?e.className:"")},e.children)},d.LeftImage=function(e){var t=s(n.useState(!1),2),r=t[0],a=t[1],o=s(n.useState(""),2),c=o[0],f=o[1];return n.useEffect((function(){if(e.imageUrl){var t=new Image;return t.onload=function(){return a(!0)},t.src=e.imageUrl,function(){return t.onload=null}}var r=e.fallbackImages[Math.floor(Math.random()*e.fallbackImages.length)];f(r.bgUrl)}),[e.imageUrl]),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(u," bg-light"),style:{backgroundImage:c?"url('".concat(c,"')"):""}},r&&n.createElement(n.Fragment,null,n.createElement("div",{className:"Mtlg9",style:{backgroundImage:"url('".concat(e.imageUrl,"')")}}),n.createElement("div",{className:"".concat("NxEjh"," ").concat(h(e.objectType))},n.createElement("div",{className:"NN9cV"},n.createElement("img",{className:"PkJ8J",src:e.imageUrl,alt:e.title})))))},d.LeftImageWithBackground=function(e){var t={backgroundImage:e.imageUrl?'url("'.concat(e.imageUrl,'")'):""};return e.backgroundColor&&(t.backgroundColor=e.backgroundColor),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(m[e.imageSize||"cover"]," d-flex align-items-center"),style:t,title:e.title})},d.Right=function(e){return n.createElement("div",{className:"".concat("eoZzJ"," ").concat(e.className?e.className:"")},e.children)},d.Header=function(e){var t,r=(null==e?void 0:e.logoComponent)||o.$S;return n.createElement("div",{className:"position-relative"},!!e.bannerComponent&&e.bannerComponent,n.createElement("div",{className:(0,a.A)("YHNgA","position-absolute",null===(t=e.className)||void 0===t?void 0:t.logoContainer)},n.createElement(r,null)),e.children)},d.Content=function(e){return n.createElement("div",{className:(0,a.A)("RVyLM","d-flex flex-column justify-content-center h-100",null==e?void 0:e.className)},e.children)},d.ContentBody=function(e){var t=v[e.width||"base"];return n.createElement("div",{className:(0,a.A)("aLd5V",t,"m-auto p-3",e.className)},e.children)},d.Buttons=function(e){return n.createElement("div",{className:(0,a.A)("position-fixed bg-white d-flex align-items-center","ZW85Q",null==e?void 0:e.className)},e.children)}},75608:(e,t,r)=>{r.d(t,{a:()=>d});var n=r(20354),a=r(30439),o=r(4594),c=r(21750),i=r(43012),l=r(20768),u=r(5112),s=r(60011),f=r(31949),h=r(1575);function d(e){var t=n.a.useBasicFetch(f.N.currentUser()),r=n.a.useBasicFetch(a.o.getShareObject(e)),d=function(){if(!r.data||!t.data)return null;switch(r.data.objectTypeId){case o.E.Video:return h.R.publicVideo(r.data.objectId,e);case o.E.Clip:return i.e.publicClip(r.data.objectId,e);case o.E.Interactive:return l.b.publicInteractiveMetadata(r.data.objectId,e);case o.E.Playlist:return u.C.getSharedPlaylist(r.data.objectId,e);case o.E.Subject:return c.x.classification(r.data.objectId,t.data.id);case o.E.Series:return s.J.sharedSeries(r.data.objectId,e)}}();return n.a.useBasicFetch(d).data}},61221:(e,t,r)=>{r.r(t),r.d(t,{VideoPincodeView:()=>L});var n=r(32735),a=r(50242),o=r(23481),c=r(81886),i=r(20354),l=r(64249),u=r(18488),s=r(66122),f=r(93681),h=r(2102),d=r(83345),m=r(54610),v=r(67453),p=r(97027),y=r(71214),g=r(75608);const b={formContainer:"ldJEo",toggleEye:"VUsmU",input:"DRd0y"};function E(e){return E="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},E(e)}function w(){w=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},c=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof y?t:y,c=Object.create(o.prototype),i=new U(n||[]);return a(c,"_invoke",{value:P(e,r,i)}),c}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var h="suspendedStart",d="suspendedYield",m="executing",v="completed",p={};function y(){}function g(){}function b(){}var k={};u(k,c,(function(){return this}));var j=Object.getPrototypeOf,N=j&&j(j(_([])));N&&N!==r&&n.call(N,c)&&(k=N);var S=b.prototype=y.prototype=Object.create(k);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function r(a,o,c,i){var l=f(e[a],e,o);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==E(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,c,i)}),(function(e){r("throw",e,c,i)})):t.resolve(s).then((function(e){u.value=e,c(u)}),(function(e){return r("throw",e,c,i)}))}i(l.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function P(t,r,n){var a=h;return function(o,c){if(a===m)throw Error("Generator is already running");if(a===v){if("throw"===o)throw c;return{value:e,done:!0}}for(n.method=o,n.arg=c;;){var i=n.delegate;if(i){var l=I(i,n);if(l){if(l===p)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===h)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=m;var u=f(t,r,n);if("normal"===u.type){if(a=n.done?v:d,u.arg===p)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=v,n.method="throw",n.arg=u.arg)}}}function I(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,I(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var o=f(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,p;var c=o.arg;return c?c.done?(r[t.resultName]=c.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,p):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function _(t){if(t||""===t){var r=t[c];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(E(t)+" is not iterable")}return g.prototype=b,a(S,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:g,configurable:!0}),g.displayName=u(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,l,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(L.prototype),u(L.prototype,i,(function(){return this})),t.AsyncIterator=L,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var c=new L(s(e,r,n,a),o);return t.isGeneratorFunction(r)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},x(S),u(S,l,"Generator"),u(S,c,(function(){return this})),u(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=_,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(C),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return i.type="throw",i.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var c=this.tryEntries[o],i=c.completion;if("root"===c.tryLoc)return a("end");if(c.tryLoc<=this.prev){var l=n.call(c,"catchLoc"),u=n.call(c,"finallyLoc");if(l&&u){if(this.prev<c.catchLoc)return a(c.catchLoc,!0);if(this.prev<c.finallyLoc)return a(c.finallyLoc)}else if(l){if(this.prev<c.catchLoc)return a(c.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return a(c.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var c=o?o.completion:{};return c.type=e,c.arg=t,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(c)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;C(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:_(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),p}},t}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return j(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(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 j(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var N=function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{l(n.next(e))}catch(e){o(e)}}function i(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,i)}l((n=n.apply(e,t||[])).next())}))},S="share.videoPincode",x=o.T.encloseNamespace(S);function L(e){var t,r=k(n.useState(null!==(t=e.pincode)&&void 0!==t?t:""),2),o=r[0],E=r[1],j=k(n.useState(!1),2),L=j[0],P=j[1],I=k(n.useState(""),2),O=I[0],C=I[1],U=i.a.useGetFetchAsync(),_=(0,g.a)(e.shareId);if(!_)return n.createElement(n.Fragment,null);var T=v.j.createUrl(l.I.getImageUrl(_),{size:m.h2.Large});return n.createElement(f.o,null,n.createElement(f.o.LeftImage,{title:_.name,imageUrl:T,objectType:_.typeId,fallbackImages:p.Hq}),n.createElement(f.o.Right,null,n.createElement(f.o.Header,null),n.createElement(f.o.Content,null,n.createElement(f.o.NarrowContent,null,n.createElement("form",{onSubmit:function(t){var r,n;return N(this,void 0,void 0,w().mark((function i(){var l,s,f;return w().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(t.preventDefault(),o){i.next=3;break}return i.abrupt("return");case 3:return P(!0),i.prev=4,i.next=7,U(u.o.getPincodeByCode(o));case 7:if((null==(l=i.sent)?void 0:l.shareId)===e.shareId){i.next=12;break}return C(x("incorrectPincodeError")),P(!1),i.abrupt("return");case 12:"string"!=typeof(s=Object.assign({},e.appLink)).params&&(null===(r=s.params)||void 0===r||delete r.joinCode),y.h.setPincode(e.shareId,o),f=c.Q.C$.getHref(s),c.Q.Ab.PageLoad(f),i.next=27;break;case 19:if(i.prev=19,i.t0=i.catch(4),(null===(n=i.t0.responseJSON)||void 0===n?void 0:n.status)!==a.o.NotFound){i.next=25;break}return C(x("incorrectPincodeError")),P(!1),i.abrupt("return");case 25:C(x("ajaxErrorMessage")),P(!1);case 27:case"end":return i.stop()}}),i,null,[[4,19]])})))},className:"position-relative"},n.createElement("div",{className:"form-group"},n.createElement("label",{className:"h2",htmlFor:"link-password"},n.createElement(d.x,{namespace:S,phrase:"info"})),n.createElement("input",{id:"link-password",type:"text",className:"form-control form-control-lg ".concat(b.input," ").concat(O?"is-invalid":""),placeholder:x("placeholder"),onChange:function(e){return E(e.target.value)},value:o,autoComplete:"off","aria-errormessage":"linkPasswordError"}),O&&n.createElement(s.A,{className:"mb-3",name:"linkPassword"},O)),n.createElement(h.m,{variant:"dark",showSpinner:L,type:"submit",className:"w-100 mt-3 btn-lg",disabled:L||!o},n.createElement(d.x,{namespace:S,phrase:"confirm"})))))))}},97027:(e,t,r)=>{r.d(t,{Hq:()=>f,Zf:()=>m});var n=r(32735),a=r(54610),o=r(4594),c=r(67453),i=r(99742);const l={left:"vIypY",leftTextImage:"YViNj",right:"MkD4u",blur:"X6mCh",imageContainer:"bc7kz",imagePosition:"JOhEj",image:"Ef2QR",thumbnail:"Gdurb",tallposter:"fjVNK",cover:"o3j31",linksContainer:"AT9Dk"};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var f=[{bgUrl:i.W.LaunchPad.BG_1},{bgUrl:i.W.LaunchPad.BG_2},{bgUrl:i.W.LaunchPad.BG_3},{bgUrl:i.W.LaunchPad.BG_4},{bgUrl:i.W.LaunchPad.BG_5}],h=[{bgUrl:i.W.LaunchPad.PRODUCT.BG_1},{bgUrl:i.W.LaunchPad.PRODUCT.BG_2},{bgUrl:i.W.LaunchPad.PRODUCT.BG_3},{bgUrl:i.W.LaunchPad.PRODUCT.BG_4},{bgUrl:i.W.LaunchPad.PRODUCT.BG_5},{bgUrl:i.W.LaunchPad.PRODUCT.BG_6},{bgUrl:i.W.LaunchPad.PRODUCT.BG_7},{bgUrl:i.W.LaunchPad.PRODUCT.BG_8},{bgUrl:i.W.LaunchPad.PRODUCT.BG_9}];function d(e){switch(e){case o.E.Video:case o.E.Interactive:case o.E.Clip:return l.thumbnail;case o.E.Subject:case o.E.Playlist:return l.cover;case o.E.Series:return l.tallposter;default:return""}}function m(e){var t,r=u(n.useState(!1),2),o=r[0],i=r[1],s=u(n.useState(""),2),f=s[0],m=s[1],v=c.j.createUrl(e.imageUrl,{size:a.h2.Large}),p=h;return n.useEffect((function(){if(!v&&p&&0!==p.length){var e,t=(e=p)[Math.floor(Math.random()*e.length)];t.bgUrl&&m(t.bgUrl)}}),[]),n.useEffect((function(){if(v){var e=new Image;return e.onload=function(){return i(!0)},e.src=v,function(){return e.onload=null}}}),[]),n.createElement("div",{className:"d-flex"},e.leftComponent?e.leftComponent():n.createElement("div",{className:"".concat(l.left," ").concat(f?"bg-blue d-flex align-items-center":"bg-light")},f?n.createElement("img",{className:"img-fluid",src:f,draggable:!1}):o&&n.createElement(n.Fragment,null,n.createElement("div",{className:l.blur,style:{backgroundImage:"url('".concat(v,"')")}}),n.createElement("div",{className:"".concat(l.imageContainer," ").concat(d(e.objectType))},n.createElement("div",{className:l.imagePosition},n.createElement("img",{className:l.image,src:v,alt:e.title}))))),n.createElement("div",{className:"".concat(l.right," bg-white d-flex flex-column")},n.createElement("div",{className:"position-absolute d-flex align-items-center ".concat(l.linksContainer)},null===(t=e.links)||void 0===t?void 0:t.map((function(e,t){return e.hide?n.createElement(n.Fragment,{key:t}):n.createElement("a",{key:t,href:e.url,className:"info-link fw-semibold",onClick:e.onClick},e.text)}))),e.children))}}}]);
|
|
3
|
-
//# sourceMappingURL=1221-
|
|
3
|
+
//# sourceMappingURL=1221-1109d5379d-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1221-1109d5379d-lite.chunk.js","mappings":";8JASMA,EAA4C,CAChDC,UAAW,YAUAC,EAAgB,CAC3BC,YAAW,SACTC,GAEA,MAAO,CACLC,IAAK,sBACLC,IAAK,kBACLC,KAAM,SACNH,KAAAA,EACAJ,iBAAAA,EACAQ,iBAAkB,CAAE,gBAAiB,8BAAF,OAAgCJ,EAAKK,WAE5E,EAEAC,YAAW,SACTC,EACAP,GAEA,MAAO,CACLC,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,kBACLC,KAAM,QACNH,KAAAA,EACAJ,iBAAAA,EACAQ,iBAAkB,CAAE,iCAAkC,YAAF,OAAcG,IAEtE,EAEAC,YAAW,SACTD,GAEA,MAAO,CACLJ,KAAM,WACNF,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,kBACLN,iBAAAA,EACAQ,iBAAkB,CAAE,iCAAkC,gBAAiB,YAAF,OAAcG,IAEvF,EAEAE,SAAQ,SACNF,GAEA,MAAO,CACLN,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,YAAF,OAAcK,GACjBG,cAAe,YAAF,OAAcH,GAC3BJ,KAAM,QACNP,iBAAAA,EAEJ,EAEAe,cAAa,WACqB,IAAhCC,EAAA,uDAA8B,CAAC,EAEzBV,EAAMW,OAAOC,OAAOF,GAAQG,OAAOC,KAAK,KAE9C,MAAO,CACLf,IAAM,eAAqB,2BAA4BW,GACvDV,IAAK,iBAAF,OAAmBA,GACtBC,KAAM,QACNc,WAAW,EAEf,EAEAC,aAAY,SACVC,GAEA,MAAO,CACLlB,IAAK,eAAqB,qCAAsC,CAAEI,SAAUc,IAC5EjB,IAAK,kCAAF,OAAoCiB,GACvCvB,iBAAAA,EAEJ,EAEAwB,gBAAe,SACbpB,GAEA,MAAO,CACLG,KAAM,SACNF,IAAK,eAAqB,qCAAsC,OAAF,UAAOD,IACrEE,IAAK,yCAAF,OAA2CF,EAAKK,UACnDD,iBAAkB,CAAC,kCAAD,OAAoCJ,EAAKK,UAAY,iBACvET,iBAAAA,EAEJ,EAEAyB,WAAU,SAACF,GACT,MAAO,CACLlB,IAAK,wBAAF,OAA0BkB,EAAE,WAC/BjB,IAAK,WAAF,OAAaiB,GAChBF,WAAW,EAEf,EAEAK,oBAAmB,SACjBjB,GAEA,MAAO,CACLJ,IAAK,+BAAF,OAAiCI,GACpCH,IAAK,8BAAF,OAAgCG,GACnCF,KAAM,QACNP,iBAAAA,EAEJ,EAEA2B,mBAAkB,SAAChB,GACjB,MAAO,CACLN,IAAK,uBAAF,OAAyBM,EAAO,YACnCL,IAAK,mBAAF,OAAqBK,EAAO,YAC/BJ,KAAM,SAEV,EAEAqB,oBAAmB,SAACjB,GAClB,MAAO,CACLN,IAAK,uBAAF,OAAyBM,EAAO,YACnCL,IAAK,gBAAF,OAAkBK,EAAO,YAEhC,EAEAkB,iBAAgB,SAACC,GACf,MAAO,CACLzB,IAAK,oCAAF,OAAsCyB,GACzCxB,IAAK,wBAAF,OAA0BwB,GAEjC,oDC3II,SAAUC,EAAaC,GAC3B,OACE,wBAAMT,GAAE,UAAKS,EAAMC,KAAI,SAASC,UAAS,UAAKF,EAAME,UAAS,6BAA6BC,KAAK,UAAUH,EAAMI,SAEnH,kFCVA,QAAuB,QAAvB,EAA+C,QAA/C,EAAiE,wgCCQjE,SAASC,EAA0BC,GACjC,OAAQA,GACN,KAAKC,EAAA,QACL,KAAKA,EAAA,cACL,KAAKA,EAAA,OACH,MDbwR,QCe1R,KAAKA,EAAA,UACL,KAAKA,EAAA,WACH,MDjB6T,QCmB/T,KAAKA,EAAA,SACH,MDpB6S,QCsB/S,QACE,MAAO,GAEb,CAKM,SAAUC,EAAYR,GAC1B,OACE,uBAAKE,UAAU,UACZF,EAAMI,SAGb,CAuEA,IAAMK,EAAiD,CACrDC,MAAO,EACPC,KD7GgF,SCuL5EC,EAAkE,CACtEC,KDxLiX,QCyLjXF,KAAM,IAgBRH,EAAYM,cACZ,SAAuBd,GACrB,OACE,uBAAKE,UAAS,UD5M+H,QC4MtG,0BAAkBF,EAAME,UAAYF,EAAME,UAAY,KAC1FF,EAAMI,SAGb,EAyCAI,EAAYO,KA9MZ,SAAmBf,GACjB,OACE,uBAAKE,UAAS,UAAK,EAAW,YAAIF,EAAME,UAAYF,EAAME,UAAY,KACnEF,EAAMI,SAGb,EAyMAI,EAAYQ,UA5LZ,SAAmBhB,GACjB,IAAyD,IAArB,YAAe,GAAM,GAAjDiB,EAAS,KAAEC,EAAY,KACuB,IAA1B,WAAuB,IAAG,GAA9CC,EAAK,KAAEC,EAAQ,KAevB,OAbA,aAAgB,WACd,GAAKpB,EAAMqB,SAAX,CAMA,IAAMC,EAAM,IAAIC,MAGhB,OAFAD,EAAIE,OAAS,kBAAMN,GAAa,EAAK,EACrCI,EAAIG,IAAMzB,EAAMqB,SACT,kBAAMC,EAAIE,OAAS,IAAI,CAL7B,CAHC,IAAM,EAAQxB,EAAM0B,eAAeC,KAAKC,MAAMD,KAAKE,SAAW7B,EAAM0B,eAAeI,SACnFV,EAAS,EAAMW,MAQnB,GAAG,CAAC/B,EAAMqB,WAGR,uBACEnB,UAAS,UAAK,EAAW,YAAI,EAAoB,YAAI,EAAc,aACnE8B,MAAO,CAAEC,gBAAiBd,EAAQ,QAAH,OAAWA,EAAK,MAAO,KAErDF,GACC,gCACE,uBAAKf,UDtF0L,QCsFlK8B,MAAO,CAAEC,gBAAiB,QAAF,OAAUjC,EAAMqB,SAAQ,SAC7E,uBAAKnB,UAAS,UDvF0M,QCuFhL,YAAIG,EAA0BL,EAAMM,cAC1E,uBAAKJ,UDxFyO,SCyF5O,uBAAKA,UDzFuP,QCyF9NuB,IAAKzB,EAAMqB,SAAUa,IAAKlC,EAAMmC,WAO5E,EA2JA3B,EAAY4B,wBA3IZ,SAAiCpC,GAC/B,IAAMqC,EAAgC,CACpCJ,gBAAiBjC,EAAMqB,SAAW,QAAH,OAAWrB,EAAMqB,SAAQ,MAAO,IAMjE,OAHIrB,EAAMsC,kBACRD,EAASC,gBAAkBtC,EAAMsC,iBAGjC,uBACEpC,UAAS,UAAK,EAAW,YAAI,EAAoB,YAAIO,EAAaT,EAAMuC,WAAa,SAAQ,8BAC7FP,MAAOK,EACPF,MAAOnC,EAAMmC,OAGnB,EA6HA3B,EAAYgC,MAvHN,SAAqBxC,GACzB,OACE,uBAAKE,UAAS,UDvIgF,QCuI/D,YAAIF,EAAME,UAAYF,EAAME,UAAY,KACpEF,EAAMI,SAGb,EAkHAI,EAAYiC,OAvGZ,SAAgBzC,SACR0C,GAAgB1C,aAAK,EAALA,EAAO2C,gBAAiBC,EAAA,GAE9C,OACE,uBAAK1C,UAAU,uBACVF,EAAM6C,iBACP7C,EAAM6C,gBAER,uBAAK3C,WAAW,OD9J0I,QC8JlH,oBAAoC,QAAf,EAAAF,EAAME,iBAAS,eAAE4C,gBAC5E,gBAACJ,EAAa,OAEf1C,EAAMI,SAGb,EA0FAI,EAAYuC,QApFZ,SAAiB/C,GACf,OACE,uBAAKE,WAAW,OD5KqG,QC4KrE,kDAAmDF,aAAK,EAALA,EAAOE,YACvGF,EAAMI,SAGb,EA+EAI,EAAYwC,YAnEZ,SAAqBhD,GACnB,IAAMiD,EAAiBrC,EAAkBZ,EAAMkD,OAAS,QACxD,OACE,uBAAKhD,WAAW,OD/LqU,QC+LtS+C,EAAgB,aAAcjD,EAAME,YAChFF,EAAMI,SAGb,EA6DAI,EAAY2C,QA1CZ,SAAiBnD,GACf,OACE,uBAAKE,WAAW,OAAW,oDDxN2J,QCwN9EF,aAAK,EAALA,EAAOE,YAC5GF,EAAMI,SAGb,mJChNM,SAAUgD,EAA0BzE,GACxC,IAAM0E,EAAc,kBAAkC,mBAChDC,EAAY,kBAAgC,mBAA6B3E,IAsBzE4E,EApBN,WACE,IAAKD,EAAUlF,OAASiF,EAAYjF,KAClC,OAAO,KAET,OAAQkF,EAAUlF,KAAKoF,cACrB,KAAK,UACH,OAAO,gBAA0BF,EAAUlF,KAAKK,SAAUE,GAC5D,KAAK,SACH,OAAO,eAAwB2E,EAAUlF,KAAKK,SAAUE,GAC1D,KAAK,gBACH,OAAO,8BAA8C2E,EAAUlF,KAAKK,SAAUE,GAChF,KAAK,aACH,OAAO,sBAAmC2E,EAAUlF,KAAKK,SAAUE,GACrE,KAAK,YACH,OAAO,mBAAsC2E,EAAUlF,KAAKK,SAAU4E,EAAYjF,KAAKmB,IACzF,KAAK,WACH,OAAO,iBAA4B+D,EAAUlF,KAAKK,SAAUE,GAElE,CAEwB8E,GAGxB,OAFiB,kBAAwBF,GAEzBnF,IAClB,6OCxCA,SAAgB,cAAgB,QAAQ,UAAY,QAAQ,MAAQ,u3PCuB9DH,EAAY,qBACZyF,EAAYC,EAAA,mBAAiC1F,GAU7C,SAAU2F,EAAiB5D,SACoC,IAAnC,WAA4B,QAAb,EAAAA,EAAM6D,eAAO,QAAI,IAAG,GAA3DA,EAAO,KAAEC,EAAU,KACkC,IAArB,YAAe,GAAM,GAArDC,EAAW,KAAEC,EAAc,KACyB,IAAlB,WAAe,IAAG,GAApDC,EAAY,KAAEC,EAAe,KAE/BC,EAAa,uBAEbC,GAAiB,EAAAhB,EAAA,GAAuCpD,EAAMrB,SAqCpE,IAAKyF,EACH,OAAO,iCAET,IAAMC,EAAeC,EAAA,YAAsBC,EAAA,cAA4BH,GAAiB,CAAEI,KAAM,aAEhG,OACE,gBAAChE,EAAA,EAAW,KACV,gBAACA,EAAA,YAAqB,CACpB2B,MAAOiC,EAAenE,KACtBoB,SAAUgD,EACV/D,WAAY8D,EAAeK,OAC3B/C,eAAgB,OAElB,gBAAClB,EAAA,QAAiB,KAChB,gBAACA,EAAA,SAAkB,MACnB,gBAACA,EAAA,UAAmB,KAClB,gBAACA,EAAA,gBAAyB,KACxB,wBAAMkE,SApDhB,SAAwBC,yIACH,GAAnBA,EAAEC,iBAEGf,EAAO,iDAMU,OAHtBG,GAAe,GAAM,kBAGOG,EAAyBjG,EAAA,mBAA+B2F,IAAS,OAA1E,IAEbgB,OAFEA,EAAc,EAAH,WAEF,EAAXA,EAAalG,WAAYqB,EAAMrB,QAAO,iBAElB,OADtBuF,EAAgBR,EAAU,0BAC1BM,GAAe,GAAO,2BAKY,iBAD9Bc,EAAoB,OAAH,UAAQ9E,EAAM+E,UACZ/F,SAAsD,QAAxB,EAAA8F,EAAkB9F,cAAM,gBAAEgG,UAEjFC,EAAA,aAAkCjF,EAAMrB,QAASkF,GAC3CqB,EAAO,eAA2BJ,GACxC,gBAA4BI,GAAM,sDAEZ,QAAlB,OAAMC,oBAAY,eAAEC,UAAWC,EAAA,WAAmB,iBAE9B,OADtBnB,EAAgBR,EAAU,0BAC1BM,GAAe,GAAO,2BAIxBE,EAAgBR,EAAU,qBAC1BM,GAAe,GAAO,yDAEzB,EAmBmC9D,UAAU,qBAClC,uBAAKA,UAAU,cACb,yBAAOA,UAAU,KAAKoF,QAAQ,iBAC5B,gBAACC,EAAA,EAAI,CAACtH,UAAWA,EAAWuH,OAAO,UAErC,yBACEjG,GAAG,gBACHhB,KAAK,OACL2B,UAAS,uCAAkC,QAAY,YAAI+D,EAAe,aAAe,IACzFwB,YAAa/B,EAAU,eACvBgC,SAAU,SAAAf,GAAC,OAAIb,EAAWa,EAAEgB,OAAOC,MAAM,EACzCA,MAAO/B,EACPgC,aAAa,MAAK,oBACA,sBAGnB5B,GACC,gBAAClE,EAAA,EAAY,CAACG,UAAU,OAAOD,KAAK,gBAAgBgE,IAIxD,gBAAC6B,EAAA,EAAa,CACZC,QAAQ,OACRhC,YAAaA,EACbxF,KAAK,SACL2B,UAAU,oBACV8F,SAAUjC,IAAgBF,GAE1B,gBAAC0B,EAAA,EAAI,CAACtH,UAAWA,EAAWuH,OAAO,iBAQnD,wGCnIA,SAAgB,KAAO,QAAQ,cAAgB,QAAQ,MAAQ,QAAQ,KAAO,QAAQ,eAAiB,QAAQ,cAAgB,QAAQ,MAAQ,QAAQ,UAAY,QAAQ,WAAa,QAAQ,MAAQ,QAAQ,eAAiB,ygCCS1N,IAAMS,EAA4B,CACvC,CAAElE,MAAOmE,EAAA,kBACT,CAAEnE,MAAOmE,EAAA,kBACT,CAAEnE,MAAOmE,EAAA,kBACT,CAAEnE,MAAOmE,EAAA,kBACT,CAAEnE,MAAOmE,EAAA,mBAGEC,EAAoC,CAC/C,CAAEpE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,0BACT,CAAEnE,MAAOmE,EAAA,2BAYX,SAAS7F,EAA0BC,GACjC,OAAQA,GACN,KAAKC,EAAA,QACL,KAAKA,EAAA,cACL,KAAKA,EAAA,OACH,OAAO,YAET,KAAKA,EAAA,UACL,KAAKA,EAAA,WACH,OAAO,QAET,KAAKA,EAAA,SACH,OAAO,aAET,QACE,MAAO,GAEb,CAyBM,SAAU6F,EAAUpG,SACiC,IAArB,YAAe,GAAM,GAAjDiB,EAAS,KAAEC,EAAY,KACuB,IAA1B,WAAuB,IAAG,GAA9CC,EAAK,KAAEC,EAAQ,KAEjBC,EAAWiD,EAAA,YAAsBtE,EAAMqB,SAAU,CAAEmD,KAAM,aACzD6B,EAAaF,EAuBnB,OArBA,aAAgB,WACd,IAAI9E,GAAagF,GAAoC,IAAtBA,EAAWvE,OAA1C,CAGA,IAfoBwE,EAednF,GAfcmF,EAeSD,GAdf1E,KAAKC,MAAMD,KAAKE,SAAWyE,EAASxE,SAgB9CX,EAAMY,OACRX,EAASD,EAAMY,MALT,CAOV,GAAG,IAEH,aAAgB,WACd,GAAKV,EAAL,CAGA,IAAMC,EAAM,IAAIC,MAGhB,OAFAD,EAAIE,OAAS,kBAAMN,GAAa,EAAK,EACrCI,EAAIG,IAAMJ,EACH,kBAAMC,EAAIE,OAAS,IAAI,CALtB,CAMV,GAAG,IAGD,uBAAKtB,UAAU,UACXF,EAAMuG,cACNvG,EAAMuG,gBAEN,uBACErG,UAAS,UAAK,OAAW,YAAIiB,EAAQ,oCAAsC,aAE1EA,EACC,uBAAKjB,UAAU,YAAYuB,IAAKN,EAAOqF,WAAW,IACjDvF,GACC,gCACE,uBAAKf,UAAW,OAAa8B,MAAO,CAAEC,gBAAiB,QAAF,OAAUZ,EAAQ,SACvE,uBAAKnB,UAAS,UAAK,iBAAqB,YAAIG,EAA0BL,EAAMM,cAC1E,uBAAKJ,UAAW,iBACd,uBAAKA,UAAW,QAAcuB,IAAKJ,EAAUa,IAAKlC,EAAMmC,YAQtE,uBAAKjC,UAAS,UAAK,QAAY,iCAC7B,uBAAKA,UAAS,sDAAiD,mBACjD,QAAX,EAAAF,EAAMyG,aAAK,eAAEC,KAAI,SAACC,EAAMrI,GACvB,OAAIqI,EAAKC,KACA,gBAAC,WAAc,CAACtI,IAAKA,IAG5B,qBAAGA,IAAKA,EAAK4G,KAAMyB,EAAKtI,IAAK6B,UAAU,wBAAwB2G,QAASF,EAAKE,SAC1EF,EAAKG,KAGZ,KAGD9G,EAAMI,UAIf","sources":["file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/components/forms/form-feedback/FormFeedback.tsx","file:///app/packages/libs/shared/src/components/launchpad/v2/launchpad-v2.scss","file:///app/packages/libs/shared/src/components/launchpad/v2/LaunchpadV2.tsx","file:///app/packages/projects/lite/src/apps/share/hooks/useFetchSharedResource.ts","file:///app/packages/projects/lite/src/apps/share/views/video-pincode/video-pincode.scss","file:///app/packages/projects/lite/src/apps/share/views/video-pincode/VideoPincodeView.tsx","file:///app/packages/projects/lite/src/shared/components/launchpad/launchpad.scss","file:///app/packages/projects/lite/src/shared/components/launchpad/Launchpad.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n scopeId?: string;\n objectTypeId?: number;\n type?: ShareType[];\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest\n ): Flight.Request {\n return {\n url: '{gateway}/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [ 'sent:share-v2', `get:share-v2:shares:object:${data.objectId}` ]\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `update:share-v2`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ]\n };\n },\n \n deleteShare(\n shareId: string\n ): Flight.Request {\n return {\n type: HttpVerbs.DELETE,\n url: `{gateway}/v2/shares/${shareId}`,\n key: `delete:share-v2`,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', 'sent:share-v2', `share-v2:${shareId}` ]\n };\n },\n\n getShare(\n shareId: string\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {}\n ): Flight.Request {\n const key = Object.values(params).sort().join(':');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/sent', params),\n key: `sent:share-v2:${key}`,\n type: HttpVerbs.GET,\n normalize: false\n };\n },\n\n getShareLink(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n normalizeOptions\n };\n },\n\n createShareLink(\n data: CreateShareLinkRequest\n ): Flight.Request {\n return {\n type: HttpVerbs.POST,\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { ...data }),\n key: `create:share-v2:permanent-link:object:${data.objectId}`,\n invalidationKeys: [ `share-v2:permanent-link:object:${data.objectId}`, 'sent:share-v2' ],\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n },\n \n getSharesByObjectId(\n objectId: string | number\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n createSharePincode(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `create:share-v2:${shareId}:pincode`,\n type: HttpVerbs.POST\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n },\n\n getPincodeByCode(code: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n }\n};\n","import React from 'react';\n\ninterface FormFeedbackProps extends React.PropsWithChildren {\n name: string;\n className?: string;\n}\n\nexport function FormFeedback(props: FormFeedbackProps) {\n return (\n <span id={`${props.name}Error`} className={`${props.className} invalid-feedback d-block`} role='status'>{props.children}</span>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"s6wnJ\",\"leftWithImage\":\"UFQ2T\",\"bgCover\":\"Tp9_3\",\"bgFull\":\"AlF2T\",\"right\":\"eoZzJ\",\"rightContent\":\"RVyLM\",\"narrowContent\":\"INvJ0\",\"logo\":\"YHNgA\",\"buttonContainer\":\"ZW85Q\",\"blur\":\"Mtlg9\",\"imageContainer\":\"NxEjh\",\"imagePosition\":\"NN9cV\",\"image\":\"PkJ8J\",\"thumbnail\":\"y0V3Z\",\"tallposter\":\"Wrg5x\",\"cover\":\"x3h8F\",\"contentBody\":\"aLd5V\",\"contentBodyBase\":\"uQ2rm\"};","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport styles from './launchpad-v2.scss';\n\nfunction mapObjectTypeToImageClass(objectType: MasterType): string {\n switch (objectType) {\n case MasterType.Video:\n case MasterType.Interactive:\n case MasterType.Clip:\n return styles.thumbnail;\n\n case MasterType.Subject:\n case MasterType.Playlist:\n return styles.cover;\n\n case MasterType.Series:\n return styles.tallposter;\n\n default:\n return '';\n }\n}\n\ninterface LaunchpadV2Props {\n}\n\nexport function LaunchpadV2(props: React.PropsWithChildren<LaunchpadV2Props>): JSX.Element {\n return (\n <div className='d-flex'>\n {props.children}\n </div>\n );\n}\n\ninterface LeftPanelProps {\n className?: string;\n}\n\n\nfunction LeftPanel(props: React.PropsWithChildren<LeftPanelProps>): JSX.Element {\n return (\n <div className={`${styles.left} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface LeftImageProps {\n objectType?: MasterType;\n title?: string;\n imageUrl?: string;\n fallbackImages: LaunchImage[];\n}\n\ninterface LaunchImage {\n bgUrl: string;\n}\n\nfunction LeftImage(props: LeftImageProps): JSX.Element {\n const [ showImage, setShowImage ] = React.useState(false);\n const [ image, setImage ] = React.useState<string>('');\n\n React.useEffect(() => {\n if (!props.imageUrl) {\n const image = props.fallbackImages[Math.floor(Math.random() * props.fallbackImages.length)];\n setImage(image.bgUrl);\n return;\n }\n\n const img = new Image();\n img.onload = () => setShowImage(true);\n img.src = props.imageUrl;\n return () => img.onload = null;\n }, [props.imageUrl]);\n\n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${styles.bgCover} bg-light`}\n style={{ backgroundImage: image ? `url('${image}')` : '' }}\n >\n {showImage &&\n <>\n <div className={styles.blur} style={{ backgroundImage: `url('${props.imageUrl}')` }} />\n <div className={`${styles.imageContainer} ${mapObjectTypeToImageClass(props.objectType)}`}>\n <div className={styles.imagePosition}>\n <img className={styles.image} src={props.imageUrl} alt={props.title} />\n </div>\n </div>\n </>\n }\n </div>\n );\n}\n\ntype ImageSizeType = 'cover' | 'full';\n\ninterface LeftImageWithBackgroundProps {\n imageUrl: string;\n imageSize?: ImageSizeType;\n backgroundColor?: string;\n title?: string;\n}\n\nconst imageSizeMap: {[key in ImageSizeType]: string} = {\n cover: styles.bgCover,\n full: styles.bgFull\n};\n\nfunction LeftImageWithBackground(props: LeftImageWithBackgroundProps): JSX.Element {\n const bgStyles: React.CSSProperties = {\n backgroundImage: props.imageUrl ? `url(\"${props.imageUrl}\")` : ''\n };\n\n if (props.backgroundColor)\n bgStyles.backgroundColor = props.backgroundColor;\n \n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${imageSizeMap[props.imageSize || 'cover']} d-flex align-items-center`}\n style={bgStyles}\n title={props.title}\n />\n );\n}\n\ninterface RightPanelProps {\n className?: string;\n}\n\nexport function RightPanel(props: React.PropsWithChildren<RightPanelProps>): JSX.Element {\n return (\n <div className={`${styles.right} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface HeaderProps {\n bannerComponent?: JSX.Element;\n logoComponent?: () => JSX.Element;\n className?: {\n logoContainer?: string;\n }\n}\n\n\nfunction Header(props: React.PropsWithChildren<HeaderProps>): JSX.Element {\n const LogoComponent = props?.logoComponent || ClickViewLogo;\n \n return (\n <div className='position-relative'>\n {!!props.bannerComponent &&\n props.bannerComponent\n }\n <div className={classNames(styles.logo, 'position-absolute', props.className?.logoContainer)}>\n <LogoComponent />\n </div>\n {props.children}\n </div>\n );\n}\n\ninterface ContentProps {\n className?: string;\n}\n\nfunction Content(props: React.PropsWithChildren<ContentProps>): JSX.Element {\n return (\n <div className={classNames(styles.rightContent, 'd-flex flex-column justify-content-center h-100', props?.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface ContentBodyProps {\n className?: string;\n width?: 'base' | 'full';\n}\n\nconst widthClassNameMap: {[key in ContentBodyProps['width']]: string} = {\n base: styles.contentBodyBase,\n full: ''\n};\n\nfunction ContentBody(props: React.PropsWithChildren<ContentBodyProps>): JSX.Element {\n const widthClassName = widthClassNameMap[props.width || 'base'];\n return (\n <div className={classNames(styles.contentBody, widthClassName, 'm-auto p-3', props.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface NarrowContentProps {\n className?: string;\n}\n\nLaunchpadV2.NarrowContent = NarrowContent;\nfunction NarrowContent(props: React.PropsWithChildren<NarrowContentProps>): JSX.Element {\n return (\n <div className={`${styles.narrowContent} mx-auto w-100 ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface ButtonsProps {\n className?: string;\n}\n\nfunction Buttons(props: React.PropsWithChildren<ButtonsProps>): JSX.Element {\n return (\n <div className={classNames('position-fixed bg-white d-flex align-items-center', styles.buttonContainer, props?.className)}>\n {props.children}\n </div>\n );\n}\n\n/**\n * Intended ussage below:\n * \n * <LaunchpadV2>\n * <LaunchpadV2.Left>\n * // Your LHS content here\n * </LaunchpadV2.Left>\n * <LaunchpadV2.Right>\n * <LaunchpadV2.Header />\n * <LaunchpadV2.Content>\n * // Can omit this if it needs to be full width\n * <LaunchpadV2.ContentBody width=\"...\">\n * // Your main content here\n * </LaunchpadV2.ContentBody>\n * </LaunchpadV2.Content>\n * \n * // Omit this and put your buttons in content\n * // if you want your buttons immediately under your content rather \n * // than at the bottom of the screen\n * <LaunchpadV2.Buttons />\n * \n * </LaunchpadV2.Right>\n * </LaunchpadV2>\n * \n * - Sha\n */\n\nLaunchpadV2.Left = LeftPanel;\nLaunchpadV2.LeftImage = LeftImage;\nLaunchpadV2.LeftImageWithBackground = LeftImageWithBackground;\nLaunchpadV2.Right = RightPanel;\nLaunchpadV2.Header = Header;\nLaunchpadV2.Content = Content;\nLaunchpadV2.ContentBody = ContentBody;\nLaunchpadV2.Buttons = Buttons;\n","import { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { CurrentUser, ShareLink } from 'libs/shared/interfaces';\n\nexport function useFetchSharedResource<T>(shareId: string): T {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareObject(shareId));\n\n function getResourceRequest(): Flight.Request {\n if (!shareLink.data || !currentUser.data)\n return null;\n\n switch (shareLink.data.objectTypeId) {\n case MasterType.Video:\n return VideoRequests.publicVideo(shareLink.data.objectId, shareId);\n case MasterType.Clip:\n return ClipRequests.publicClip(shareLink.data.objectId, shareId);\n case MasterType.Interactive:\n return InteractiveRequests.publicInteractiveMetadata(shareLink.data.objectId, shareId);\n case MasterType.Playlist:\n return PlaylistRequests.getSharedPlaylist(shareLink.data.objectId, shareId);\n case MasterType.Subject:\n return ClassificationRequests.classification(shareLink.data.objectId, currentUser.data.id);\n case MasterType.Series:\n return SeriesRequests.sharedSeries(shareLink.data.objectId, shareId);\n }\n }\n\n const resourceRequest = getResourceRequest();\n const resource = Flight.useBasicFetch<T>(resourceRequest);\n\n return resource.data;\n}","// extracted by mini-css-extract-plugin\nexport default {\"formContainer\":\"ldJEo\",\"toggleEye\":\"VUsmU\",\"input\":\"DRd0y\"};","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { SharableEntity, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { SharePincode } from 'libs/shared/apps/share-v2/interfaces/SharePincode';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { LaunchpadV2 } from 'libs/shared/components/launchpad/v2/LaunchpadV2';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { LAUNCHPAD_FALLBACK_IMAGES } from 'shared/components/launchpad/Launchpad';\n\nimport { ShareLinkFilterHelpers } from 'apps/share/filters/share-link-filter/ShareLinkFilterHelpers';\nimport { useFetchSharedResource } from 'apps/share/hooks/useFetchSharedResource';\n\nimport styles from './video-pincode.scss';\n\nconst namespace = 'share.videoPincode';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PincodeViewProps {\n shareId: string;\n appLink: Core.AppLink;\n pincode?: string;\n}\n\n// Metadata handled by C# share endpoint\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoPincodeView(props: PincodeViewProps): JSX.Element {\n const [ pincode, setPincode ] = React.useState(props.pincode ?? '');\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const [ errorMessage, setErrorMessage ] = React.useState('');\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const sharedResource = useFetchSharedResource<SharableEntity>(props.shareId);\n\n async function onSubmit(e: React.FormEvent): Promise<void> {\n e.preventDefault();\n\n if (!pincode)\n return;\n\n setShowSpinner(true);\n\n try {\n const pincodeData = await fetchAsync<SharePincode>(ShareRequests.getPincodeByCode(pincode));\n\n if (pincodeData?.shareId !== props.shareId) {\n setErrorMessage(getPhrase('incorrectPincodeError'));\n setShowSpinner(false);\n return;\n }\n\n const normalizedAppLink = { ...props.appLink };\n typeof normalizedAppLink.params !== 'string' && delete normalizedAppLink.params?.joinCode;\n\n ShareLinkFilterHelpers.setPincode(props.shareId, pincode);\n const href = Core.AppLinkHelper.getHref(normalizedAppLink);\n Core.LocationUtils.PageLoad(href);\n } catch (error) {\n if (error.responseJSON?.status === HttpStatus.NotFound) {\n setErrorMessage(getPhrase('incorrectPincodeError'));\n setShowSpinner(false);\n return;\n }\n\n setErrorMessage(getPhrase('ajaxErrorMessage'));\n setShowSpinner(false);\n }\n }\n\n if (!sharedResource)\n return <></>;\n\n const leftImageUrl = ImageHelper.createUrl(ShareViewHelper.getImageUrl(sharedResource), { size: ImageSize.Large });\n\n return (\n <LaunchpadV2>\n <LaunchpadV2.LeftImage\n title={sharedResource.name}\n imageUrl={leftImageUrl}\n objectType={sharedResource.typeId}\n fallbackImages={LAUNCHPAD_FALLBACK_IMAGES}\n />\n <LaunchpadV2.Right>\n <LaunchpadV2.Header />\n <LaunchpadV2.Content>\n <LaunchpadV2.NarrowContent>\n <form onSubmit={onSubmit} className='position-relative'>\n <div className='form-group'>\n <label className='h2' htmlFor='link-password'>\n <Text namespace={namespace} phrase='info' />\n </label>\n <input\n id='link-password'\n type='text'\n className={`form-control form-control-lg ${styles.input} ${errorMessage ? 'is-invalid' : ''}`}\n placeholder={getPhrase('placeholder')}\n onChange={e => setPincode(e.target.value)}\n value={pincode}\n autoComplete='off'\n aria-errormessage='linkPasswordError'\n />\n\n {errorMessage && (\n <FormFeedback className='mb-3' name='linkPassword'>{errorMessage}</FormFeedback>\n )}\n </div>\n\n <SpinnerButton\n variant='dark'\n showSpinner={showSpinner}\n type='submit'\n className='w-100 mt-3 btn-lg'\n disabled={showSpinner || !pincode}\n >\n <Text namespace={namespace} phrase='confirm' />\n </SpinnerButton>\n </form>\n </LaunchpadV2.NarrowContent>\n </LaunchpadV2.Content>\n </LaunchpadV2.Right>\n </LaunchpadV2>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"vIypY\",\"leftTextImage\":\"YViNj\",\"right\":\"MkD4u\",\"blur\":\"X6mCh\",\"imageContainer\":\"bc7kz\",\"imagePosition\":\"JOhEj\",\"image\":\"Ef2QR\",\"thumbnail\":\"Gdurb\",\"tallposter\":\"fjVNK\",\"cover\":\"o3j31\",\"linksContainer\":\"AT9Dk\"};","import React from 'react';\n\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './launchpad.scss';\n\nexport const LAUNCHPAD_FALLBACK_IMAGES = [\n { bgUrl: ImageUrls.LaunchPad.BG_1 },\n { bgUrl: ImageUrls.LaunchPad.BG_2 },\n { bgUrl: ImageUrls.LaunchPad.BG_3 },\n { bgUrl: ImageUrls.LaunchPad.BG_4 },\n { bgUrl: ImageUrls.LaunchPad.BG_5 }\n];\n\nexport const LAUNCHPAD_PRODUCT_FALLBACK_IMAGES = [\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_1 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_2 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_3 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_4 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_5 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_6 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_7 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_8 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_9 }\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst XMAS_URLS: LaunchImage[] = [\n { bgUrl: '/images/launchpad/xmas/2024-promo1-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo2-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo3-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo4-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo5-bg.png' }\n];\n\nfunction mapObjectTypeToImageClass(objectType: MasterType): string {\n switch (objectType) {\n case MasterType.Video:\n case MasterType.Interactive:\n case MasterType.Clip:\n return styles.thumbnail;\n\n case MasterType.Subject:\n case MasterType.Playlist:\n return styles.cover;\n\n case MasterType.Series:\n return styles.tallposter;\n\n default:\n return '';\n }\n}\n\ninterface LaunchpadLink {\n url: string;\n text: string;\n onClick?: () => void;\n hide?: boolean;\n}\n\ninterface LaunchpadProps {\n objectType?: MasterType;\n title?: string;\n imageUrl?: string;\n links?: LaunchpadLink[];\n leftComponent?: () => JSX.Element;\n}\n\ninterface LaunchImage {\n bgUrl: string;\n}\n\nfunction getRandomImage(urlLists: LaunchImage[]): LaunchImage {\n return urlLists[Math.floor(Math.random() * urlLists.length)];\n}\n\nexport function Launchpad(props: React.PropsWithChildren<LaunchpadProps>): JSX.Element {\n const [ showImage, setShowImage ] = React.useState(false);\n const [ image, setImage ] = React.useState<string>('');\n\n const imageUrl = ImageHelper.createUrl(props.imageUrl, { size: ImageSize.Large });\n const IMAGE_URLS = LAUNCHPAD_PRODUCT_FALLBACK_IMAGES;\n\n React.useEffect(() => {\n if (imageUrl || !IMAGE_URLS || IMAGE_URLS.length === 0)\n return;\n\n const image = getRandomImage(IMAGE_URLS);\n\n if (image.bgUrl) {\n setImage(image.bgUrl);\n }\n }, []);\n\n React.useEffect(() => {\n if (!imageUrl)\n return;\n\n const img = new Image();\n img.onload = () => setShowImage(true);\n img.src = imageUrl;\n return () => img.onload = null;\n }, []);\n\n return (\n <div className='d-flex'>\n { props.leftComponent ?\n props.leftComponent()\n :\n <div\n className={`${styles.left} ${image ? 'bg-blue d-flex align-items-center' : 'bg-light'}`}\n >\n {image ?\n <img className='img-fluid' src={image} draggable={false} /> :\n (showImage &&\n <>\n <div className={styles.blur} style={{ backgroundImage: `url('${imageUrl}')` }} />\n <div className={`${styles.imageContainer} ${mapObjectTypeToImageClass(props.objectType)}`}>\n <div className={styles.imagePosition}>\n <img className={styles.image} src={imageUrl} alt={props.title} />\n </div>\n </div>\n </>\n )\n }\n </div>\n }\n <div className={`${styles.right} bg-white d-flex flex-column`}>\n <div className={`position-absolute d-flex align-items-center ${styles.linksContainer}`}>\n {props.links?.map((link, key) => {\n if (link.hide)\n return <React.Fragment key={key}></React.Fragment>;\n\n return (\n <a key={key} href={link.url} className='info-link fw-semibold' onClick={link.onClick}>\n {link.text}\n </a>\n );\n })}\n </div>\n\n {props.children}\n </div>\n </div>\n );\n}"],"names":["normalizeOptions","namespace","ShareRequests","createShare","data","url","key","type","invalidationKeys","objectId","updateShare","shareId","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","sort","join","normalize","getShareLink","id","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","FormFeedback","props","name","className","role","children","mapObjectTypeToImageClass","objectType","MasterType","LaunchpadV2","imageSizeMap","cover","full","widthClassNameMap","base","NarrowContent","Left","LeftImage","showImage","setShowImage","image","setImage","imageUrl","img","Image","onload","src","fallbackImages","Math","floor","random","length","bgUrl","style","backgroundImage","alt","title","LeftImageWithBackground","bgStyles","backgroundColor","imageSize","Right","Header","LogoComponent","logoComponent","ClickViewLogo","bannerComponent","logoContainer","Content","ContentBody","widthClassName","width","Buttons","useFetchSharedResource","currentUser","shareLink","resourceRequest","objectTypeId","getResourceRequest","getPhrase","LanguageService","VideoPincodeView","pincode","setPincode","showSpinner","setShowSpinner","errorMessage","setErrorMessage","fetchAsync","sharedResource","leftImageUrl","ImageHelper","ShareViewHelper","size","typeId","onSubmit","e","preventDefault","pincodeData","normalizedAppLink","appLink","joinCode","ShareLinkFilterHelpers","href","responseJSON","status","HttpStatus","htmlFor","Text","phrase","placeholder","onChange","target","value","autoComplete","SpinnerButton","variant","disabled","LAUNCHPAD_FALLBACK_IMAGES","ImageUrls","LAUNCHPAD_PRODUCT_FALLBACK_IMAGES","Launchpad","IMAGE_URLS","urlLists","leftComponent","draggable","links","map","link","hide","onClick","text"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1491],{14617:(e,t,n)=>{n.d(t,{_:()=>D});var a=n(32735),r=n(83345),i=n(24833),o=n(99705),c=n(12778),s=n(92802),l=n(91693),u=n(35223),m=n(23481),d=n(86974),p=n(15611),f=n(66122);const v={domainFieldContainer:"F9EW7"};function y(e){return y="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},y(e)}function b(e,t,n){return(t=function(e){var t=function(e){if("object"!=y(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=y(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var g="settings.domainField",E=m.T.encloseNamespace(g),h={"domain-duplicated":"domainDuplicatedErrorMessage","domain-not-certified":"domainNotCertifiedErrorMessage","domain-invalid":"domainInvalidErrorMessage","domain-empty":"domainEmptyErrorMessage","domain-already-exists":{requestingAccess:"joinRequestsDomainAlreadyExistsErrorMessage",automaticAccess:"accessBehaviourDomainAlreadyExistsErrorMessage"}};function S(e){var t=(0,s.u6)(),n=e.index,o=e.domain,c=e.view,l=e.appLinks,u=e.onChangeDomain,m=e.removeDomainField,y=l&&b(b({},i.C.RequestingAccess,l.automaticAccess.action),i.C.AutomaticAccess,l.requestingAccess.action),S=l&&y&&{application:l[c].application,action:y[c],args:l[c].args};function A(e,n){return(0,s.u9)(t.errors,"".concat(e,".domains.").concat(n,".domain"))}return a.createElement("div",{className:v.domainFieldContainer},a.createElement(d.w,{type:"text",name:"".concat(c,".domains.").concat(n,".domain"),className:"form-control form-control-lg",placeholder:E("domainPlaceholder"),value:o.domain,onChange:function(e){return function(e,n,a){e.preventDefault();var r=Object.assign(Object.assign({},o),{domain:e.currentTarget.value,hasChanged:!0});t.setFieldError("".concat(n,".domains.").concat(a,".domain"),void 0),u(r,a)}(e,c,n)},onClickClear:function(){return m(n)},autoComplete:"off",showClearButton:0!==n||!!o.domain,"aria-errormessage":"".concat(c,".domains.").concat(n,".domainError")}),A(c,n)&&a.createElement(f.A,{name:"".concat(c,".domains.").concat(n,".domain")},function(e,t,n){var i=A(e,t);switch(i){case"domain-duplicated":case"domain-invalid":case"domain-not-certified":case"domain-empty":return a.createElement(r.x,{namespace:g,phrase:h[i],options:{domain:n}});case"domain-already-exists":return a.createElement(a.Fragment,null,a.createElement(r.x,{namespace:g,phrase:h[i][e],options:{domain:n}}),l&&S&&a.createElement(p.F,{appLink:S,className:"text-red text-underline"},a.createElement(r.x,{namespace:g,phrase:"viewLinkText"})),l&&S&&a.createElement("span",null,"."))}}(c,n,o.domain)))}var A="settings.domainFields";function w(e){return a.useEffect((function(){e.errors.length&&e.errors.forEach((function(t){var n=t.domain,a=t.errorCode,r=e.domains.findIndex((function(e){return e.domain===n}));-1!==r&&e.setFieldError("".concat(e.view,".domains.").concat(r,".domain"),a)}))}),[e.errors]),a.createElement(a.Fragment,null,a.createElement(s.F2,{name:"".concat(e.view,".domains"),render:function(){return a.createElement(a.Fragment,null,e.domains.length>0&&e.domains.map((function(t,n){return a.createElement(S,{key:n,domain:t,index:n,appLinks:e.appLinks,onChangeDomain:e.onChangeDomain,removeDomainField:e.removeDomainField,view:e.view})})))}}),a.createElement("div",null,a.createElement(l.h,{svgName:u.vn.Plus,className:"ms-3 btn btn-link text-info",onClick:e.addDomainField},a.createElement(r.x,{namespace:A,phrase:"addButtonLabel"}))))}var O=n(58357);const C={radioDescription:"Q4JXA"};var N="settings.domainSettingsRadio",T=m.T.encloseNamespace(N),k={automaticAccess:{none:{label:"accessBehaviourNoneLabel",description:"accessBehaviorNoneDescription"},allowed:{label:"accessBehaviourAllowedLabel",description:"accessBehaviourAllowedDescription"}},requestingAccess:{none:{label:"joinRequestsNoneLabel",description:"joinRequestsNoneDescription"},allowed:{label:"joinRequestsAllowedLabel",description:"joinRequestsAllowedDescription"},any:{label:"joinRequestsAnyLabel",description:"joinRequestsAnyDescription"}}};function j(e){var t=e.option,n=e.selectedOption,i=e.view,o=e.hasDescription,c=e.url,s=e.onSelectValue,l=e.children;return a.createElement("div",{className:"mb-3"},a.createElement(O.Z,{type:"radio",id:"".concat(i,"-").concat(t,"-radio"),label:T(k[i][t].label),className:"fw-normal",value:t,onChange:function(){return s(t)},checked:n===t}),n===t&&a.createElement(a.Fragment,null,o&&a.createElement("p",{className:"".concat(C.radioDescription," mb-0")},a.createElement(r.x,{namespace:N,phrase:k[i][t].description})," ",!!c&&a.createElement("a",{className:"text-info",target:"_blank",href:c},a.createElement(r.x,{namespace:N,phrase:"learnMore"}))),l))}function I(e){return I="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},I(e)}function x(e,t,n){return(t=function(e){var t=function(e){if("object"!=I(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=I(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==I(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var F="settings.domainSettingsForm",q=x(x({},i.C.RequestingAccess,{none:"joinRequestsNoneInfoMessage",allowed:"joinRequestsAllowedInfoMessage",any:"joinRequestsAnyInfoMessage"}),i.C.AutomaticAccess,{none:"accessBehaviourNoneInfoMessage",allowed:"accessBehaviourAllowedInfoMessage"});function D(e){var t=function(t){e.onSelectValue(t),0===(e.domains||[]).length&&e.addDomainField()},n=function(){e.addDomainField()},i=function(t,n){e.onChangeDomain(t,n)},s=function(t){e.removeDomainField(t)};return a.createElement(a.Fragment,null,a.createElement("div",{className:"col-12 col-md-8 card p-3 mb-3 ".concat(e.classname)},e.options.map((function(r){return a.createElement("div",{key:r},"none"===r&&a.createElement(j,{option:r,selectedOption:e.selectedOption,hasDescription:!0,view:e.view,onSelectValue:t}),"allowed"===r&&a.createElement(j,{option:r,selectedOption:e.selectedOption,view:e.view,hasDescription:!0,url:c.o.getLiteArticle(o.b.AccessSettings,"articles"),onSelectValue:t},a.createElement(w,{errors:e.errors,view:e.view,appLinks:e.appLinks,addDomainField:n,onChangeDomain:i,removeDomainField:s,domains:e.domains,setFieldError:e.setFieldError})),"any"===r&&a.createElement(j,{option:r,view:e.view,selectedOption:e.selectedOption,hasDescription:!0,url:c.o.getLiteArticle(o.b.AccessSettings,"articles"),onSelectValue:t}))})),a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded p-2 bg-light-blue text-info fw-semibold"},a.createElement(r.x,{namespace:F,phrase:q[e.view][e.selectedOption]})))))}},61807:(e,t,n)=>{n.d(t,{L:()=>u});var a=n(32735),r=n(81886),i=n(23481),o=n(65858),c=n(38502),s="settings.domainSettingsTabs",l=i.T.encloseNamespace(s);function u(e){var t=e.active,n=e.appLinks;return a.createElement("div",{className:"mb-3"},a.createElement(c.r,{tabs:[{name:l("requestingAccess"),appLink:n.requestingAccess,active:"requesting-access"===t,analyticsData:{name:l("requestingAccess"),url:r.Q.C$.getHref(n.requestingAccess)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:l("teacherInvites"),appLink:n.teacherInvites,active:"teacher-invites"===t,analyticsData:{name:i.T.getPhrase(s,"teacherInvites"),url:r.Q.C$.getHref(n.teacherInvites)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:l("automaticAccess"),appLink:n.automaticAccess,active:"automatic-access"===t,analyticsData:{name:i.T.getPhrase(s,"automaticAccess"),url:r.Q.C$.getHref(n.automaticAccess)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}]}))}},86974:(e,t,n)=>{n.d(t,{w:()=>i});var a=n(32735);function r(){return a.createElement("svg",{viewBox:"0 0 24 24"},a.createElement("path",{d:"M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z"}))}var i=a.forwardRef((function(e,t){var n=e.onClickClear,i=e.showClearButton,o=e.clearClassName,c=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}(e,["onClickClear","showClearButton","clearClassName"]);return a.createElement("div",{className:"position-relative"},a.createElement("input",Object.assign({},c,{ref:t,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||i)&&a.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary ").concat(o||""),role:"button",onClick:n,onKeyDown:function(e){return"Enter"===e.key&&n()},tabIndex:0},a.createElement("div",{className:"d-inline-block svg-container md"},a.createElement(r,null))))}))},66122:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(32735);function r(e){return a.createElement("span",{id:"".concat(e.name,"Error"),className:"".concat(e.className," invalid-feedback d-block"),role:"status"},e.children)}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>l});var a=n(32735),r=n(92802),i=n(91967),o=n(1048);function c(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 s=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 l(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,l=e.initialValues,u=e.onSubmit,m=s(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(l)):l,p={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:function(t,a){var r=a.setSubmitting,i=a.resetForm,o=a.setFieldError,s=n&&e.validationSchema?e.validationSchema.cast(t):t;u(s,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var a=0,s=Object.entries(n.errors);a<s.length;a++){var l=(e=s[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,c=[],s=!0,l=!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)&&(c.push(a.value),c.length!==t);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw r}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=l[0],m=l[1];o(u,m)}r(!1)}))},initialStatus:p}),i.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function u(){return(0,r.u6)()}l.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},38502:(e,t,n)=>{n.d(t,{r:()=>m});var a=n(32735),r=n(49985),i=n(15611),o=n(18559),c=n(11607),s=n(83914),l=n(22771);function u(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function m(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},a.createElement(u,{tab:e})):a.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},24833:(e,t,n)=>{var a;n.d(t,{C:()=>a}),function(e){e.RequestingAccess="requestingAccess",e.TeacherInvites="teacherInvites",e.AutomaticAccess="automaticAccess"}(a||(a={}))},23371:(e,t,n)=>{var a;n.d(t,{W:()=>a}),function(e){e.Request="request",e.AutoJoin="auto-join",e.NoRequest="no-request"}(a||(a={}))},99705:(e,t,n)=>{var a,r;n.d(t,{b:()=>r}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(a||(a={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="27927466562201",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097",e.ManageGroupPermissions="35407217335705"}(r||(r={}))},93802:(e,t,n)=>{n.d(t,{y:()=>s});var a=n(75896),r=n(23371);function i(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)||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}}(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 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 c(e,t){return!!a.m.findWhere(t,{accessType:e})}var s={getFilteredDomains:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return e.filter((function(e){return n.some((function(t){return t===e.accessType}))}))},getInitialJoinRequests:function(e){var t=s.getFilteredDomains(e,r.W.Request,r.W.NoRequest);return c(r.W.Request,t)?{selectedOption:"allowed",domains:t}:c(r.W.NoRequest,t)?{selectedOption:"none",domains:[]}:{selectedOption:"any",domains:[]}},getInitialAccessBehaviour:function(e){var t=s.getFilteredDomains(e,r.W.AutoJoin);return c(r.W.AutoJoin,t)?{selectedOption:"allowed",domains:t}:{selectedOption:"none",domains:[]}},formatRequestData:function(e,t,n){var a=t.domains,o=t.selectedOption,c=s.getFilteredDomains(e,r.W.AutoJoin),l=s.getFilteredDomains(e,r.W.Request,r.W.NoRequest);if(n===r.W.Request){var u=[];switch(o){case"none":u=[{accessType:r.W.NoRequest,domain:""}];break;case"allowed":u=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.Request})}))}return[].concat(i(c),i(u))}if(n===r.W.AutoJoin){var m=[];return"allowed"===o&&(m=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.AutoJoin})}))),[].concat(i(l),i(m))}}}},5458:(e,t,n)=>{n.d(t,{T:()=>r});var a=new RegExp(/^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/),r=function(e){var t={requestingAccess:{domains:[]},automaticAccess:{domains:[]}},n=function(t){var n=t.domains,r=t.selectedOption,i={domains:[]};return n.forEach((function(t,o){if("allowed"===r)return t.domain?n.some((function(e,n){return n!==o&&e.domain===t.domain}))?(i.domains[o]={domain:"domain-duplicated"},e.alerts.error("There is a field with a duplicate domain"),void e.setShowPopup(!1)):a.test(t.domain)?void 0:(i.domains[o]={domain:"domain-invalid"},e.alerts.error("There are one or more invalid fields"),void e.setShowPopup(!1)):(i.domains[o]={domain:"domain-empty"},e.alerts.error("There is a field with an empty domain"),void e.setShowPopup(!1))})),i.domains};return t.requestingAccess.domains=n(e.values.requestingAccess),t.automaticAccess.domains=n(e.values.automaticAccess),Object.values(t).some((function(e){return e.domains.some((function(e){return e}))}))?t:{}}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),i=n(23481),o=n(49935),c=n(22902),s=n(14070),l=n(97291),u=n(96368);function m(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 d="settings.settingsLayout",p=function(e){var t=(0,c.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==l.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:l.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var c,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:l.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(o.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:l.O.SETTINGS,action:s.e.Settings.HOME}}].concat((c=u,function(e){if(Array.isArray(e))return m(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||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}}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))})),e.description&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},68598:(e,t,n)=>{n.d(t,{W:()=>s});var a=n(24833),r=n(14070),i=n(97291);function o(e){return o="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},o(e)}function c(e,t,n){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=c(c(c({},a.C.RequestingAccess,{application:i.O.SETTINGS,action:r.e.Settings.REQUESTING_ACCESS}),a.C.TeacherInvites,{application:i.O.SETTINGS,action:r.e.Settings.TEACHER_INVITES}),a.C.AutomaticAccess,{application:i.O.SETTINGS,action:r.e.Settings.AUTOMATIC_ACCESS})},71966:(e,t,n)=>{n.d(t,{B:()=>r});var a=n(99940),r={domains:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"domains",normalize:!1}},updateDomains:function(e,t){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"update:domains",type:a.k.PUT,data:t,normalize:!1,invalidationKeys:["domains"]}}}},96268:(e,t,n)=>{n.d(t,{W:()=>l});var a=n(32735),r=n(81886),i=n(65858),o=n(37802),c=n(14070),s=n(97291);function l(){var e=(0,o.r)(i.LZ.Settings),t=e.isLoadingSettings,n=e.domainSettings;a.useEffect((function(){t||n||r.Q.C$.trigger({application:s.O.SETTINGS,action:c.e.Settings.HOME},{replace:!0})}),[n,t])}},22771:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
|
|
2
|
+
//# sourceMappingURL=1491-ab92a040e5-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1491-ab92a040e5-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/DomainFields.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-form/DomainSettingsForm.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-tabs/DomainSettingsTabs.tsx","file:///app/packages/libs/shared/src/images/components/CloseIcon.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/ClearableInput.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/clearable-input.scss","file:///app/packages/libs/shared/src/components/forms/form-feedback/FormFeedback.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/AccessSettingsGroup.ts","file:///app/packages/libs/shared/src/enums/AccessType.ts","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/libs/shared/src/utils/DomainSettingsFormHelper.ts","file:///app/packages/libs/shared/src/utils/validation/DomainSettingsValidationSchema.ts","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/constants/AccessSettingsAppLinks.ts","file:///app/packages/projects/lite/src/apps/settings/flight-requests/DomainRequests.ts","file:///app/packages/projects/lite/src/apps/settings/hooks/useDomainSettingsSwitch.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"domainFieldContainer\":\"F9EW7\"};","import React from 'react';\nimport { getIn, useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClearableInput } from 'libs/shared/apps/sign-up/components/general/clear-input/ClearableInput';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nimport styles from './DomainField.scss';\n\nconst namespace = 'settings.domainField';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype ViewMap = {\n [key in AccessSettingsGroup]?: string;\n}\n\ntype ErrorMessagePhraseMap = {\n [key in ApprovedDomainError]?: string | ViewMap;\n};\n\nconst errorMessagePhraseMap: ErrorMessagePhraseMap = {\n 'domain-duplicated': 'domainDuplicatedErrorMessage',\n 'domain-not-certified': 'domainNotCertifiedErrorMessage',\n 'domain-invalid': 'domainInvalidErrorMessage',\n 'domain-empty': 'domainEmptyErrorMessage',\n 'domain-already-exists': {\n requestingAccess: 'joinRequestsDomainAlreadyExistsErrorMessage',\n automaticAccess: 'accessBehaviourDomainAlreadyExistsErrorMessage'\n }\n};\n\ninterface DomainFieldProps {\n index: number,\n domain: ApprovedDomain,\n view: AccessSettingsGroup\n appLinks?: AccessSettingAppLinks\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n}\n\nexport function DomainField(props: DomainFieldProps) {\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { index, domain, view, appLinks, onChangeDomain, removeDomainField } = props;\n \n // Only construct actionMap and viewAppLink if appLinks is provided\n const actionMap: { [view: string]: string } | undefined = appLinks && {\n [AccessSettingsGroup.RequestingAccess]: appLinks.automaticAccess.action,\n [AccessSettingsGroup.AutomaticAccess]: appLinks.requestingAccess.action\n };\n\n const viewAppLink = appLinks && actionMap && {\n application: appLinks[view].application,\n action: actionMap[view],\n args: appLinks[view].args\n };\n\n function getDomainErrorCode(view: AccessSettingsGroup, index: number): ApprovedDomainError {\n return getIn(formikProps.errors, `${view}.domains.${index}.domain`);\n }\n\n function getDomainErrorMessage(view: AccessSettingsGroup, index: number, domain: string): JSX.Element {\n const domainErrorCode = getDomainErrorCode(view, index);\n switch (domainErrorCode) {\n case 'domain-duplicated':\n case 'domain-invalid':\n case 'domain-not-certified':\n case 'domain-empty':\n return (\n <Text\n namespace={namespace}\n phrase={errorMessagePhraseMap[domainErrorCode] as string}\n options={{ domain }}\n />\n );\n case 'domain-already-exists':\n return (\n <>\n <Text\n namespace={namespace}\n phrase={(errorMessagePhraseMap[domainErrorCode] as ViewMap)[view]}\n options={{ domain }}\n />\n {appLinks && viewAppLink && (\n <AppLink\n appLink={viewAppLink}\n className='text-red text-underline'\n >\n <Text namespace={namespace} phrase={'viewLinkText'}/>\n </AppLink>\n )}\n {appLinks && viewAppLink && (<span>.</span>)}\n </>\n );\n }\n }\n\n function handleChange(e: React.FormEvent<HTMLInputElement>, view: AccessSettingsGroup, index: number) {\n e.preventDefault();\n const updatedDomain: ApprovedDomain = { ...domain, domain: e.currentTarget.value, hasChanged: true };\n formikProps.setFieldError(`${view}.domains.${index}.domain`, undefined);\n onChangeDomain(updatedDomain, index);\n }\n\n return (\n <div className={styles.domainFieldContainer}>\n <ClearableInput\n type='text'\n name={`${view}.domains.${index}.domain`}\n className={`form-control form-control-lg`}\n placeholder={getPhrase('domainPlaceholder')}\n value={domain.domain}\n onChange={e => handleChange(e, view, index)}\n onClickClear={() => removeDomainField(index)}\n autoComplete='off'\n showClearButton={index !== 0 || !!domain.domain}\n aria-errormessage={`${view}.domains.${index}.domainError`}\n />\n {\n getDomainErrorCode(view, index) &&\n <FormFeedback name={`${view}.domains.${index}.domain`}>\n {getDomainErrorMessage(view, index, domain.domain)}\n </FormFeedback>\n }\n </div>\n );\n}","import React from 'react';\nimport { FieldArray } from 'formik';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DomainField } from './domain-field/DomainField';\n\nconst namespace = 'settings.domainFields';\n\ninterface DomainFieldsProps {\n errors: ApprovedDomainErrorResponse[],\n view: AccessSettingsGroup,\n appLinks?: AccessSettingAppLinks,\n addDomainField: () => void,\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n setFieldError: (error: string, code: string) => void,\n domains: ApprovedDomain[]\n}\n\nexport function DomainFields(props: DomainFieldsProps) {\n React.useEffect(() => {\n if (props.errors.length) {\n props.errors.forEach(({ domain: errorDomain, errorCode }) => {\n const errorIndex = props.domains.findIndex(domain => domain.domain === errorDomain);\n\n if (errorIndex !== -1) {\n props.setFieldError(`${props.view}.domains.${errorIndex}.domain`, errorCode);\n }\n });\n }\n }, [props.errors]);\n\n return (\n <>\n <FieldArray\n name={`${props.view}.domains`}\n render={() => {\n return (\n <>\n {props.domains.length > 0 &&\n props.domains.map((domain: ApprovedDomain, index) => (\n <DomainField\n key={index}\n domain={domain}\n index={index}\n appLinks={props.appLinks}\n onChangeDomain={props.onChangeDomain}\n removeDomainField={props.removeDomainField}\n view={props.view}\n />\n ))}\n </>\n );\n }}\n />\n <div>\n <IconButton\n svgName={cvSvgLibrary.Plus}\n className={`ms-3 btn btn-link text-info`}\n onClick={props.addDomainField}\n >\n <Text namespace={namespace} phrase='addButtonLabel' />\n </IconButton>\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"radioDescription\":\"Q4JXA\"};","import React from 'react';\nimport { FormCheck } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nimport styles from './DomainSettingsRadio.scss';\n\nconst namespace = 'settings.domainSettingsRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype RadioPhraseMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: {\n label: string,\n description?: string\n }\n }\n}\n\nconst radioPhraseMap: RadioPhraseMap = {\n automaticAccess: {\n none: {\n label: 'accessBehaviourNoneLabel',\n description: 'accessBehaviorNoneDescription'\n },\n allowed: {\n label: 'accessBehaviourAllowedLabel',\n description: 'accessBehaviourAllowedDescription'\n }\n },\n requestingAccess: {\n none: {\n label: 'joinRequestsNoneLabel',\n description: 'joinRequestsNoneDescription'\n },\n allowed: {\n label: 'joinRequestsAllowedLabel',\n description: 'joinRequestsAllowedDescription'\n },\n any: {\n label: 'joinRequestsAnyLabel',\n description: 'joinRequestsAnyDescription'\n }\n }\n};\n\ninterface DomainSettingsRadioProps {\n option: DomainSettingsOption;\n selectedOption: DomainSettingsOption;\n view: AccessSettingsGroup,\n hasDescription?: boolean;\n url?: string;\n onSelectValue: (option: DomainSettingsOption) => void;\n children?: JSX.Element;\n}\n\nexport function DomainSettingsRadio(props: DomainSettingsRadioProps) {\n const { option, selectedOption, view, hasDescription, url, onSelectValue, children } = props;\n\n return (\n <div className='mb-3'>\n <FormCheck\n type='radio'\n id={`${view}-${option}-radio`}\n label={getPhrase(radioPhraseMap[view][option].label)}\n className='fw-normal'\n value={option}\n onChange={() => onSelectValue(option)}\n checked={selectedOption === option}\n />\n {selectedOption === option && (\n <>\n {hasDescription && (\n <p className={`${styles.radioDescription} mb-0`}>\n <Text namespace={namespace} phrase={radioPhraseMap[view][option].description} />\n \n {!!url &&\n <a className='text-info' target='_blank' href={url}>\n <Text namespace={namespace} phrase='learnMore' />\n </a>\n }\n </p>\n )}\n {children}\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { DomainFields } from '../domain-fields/DomainFields';\nimport { DomainSettingsRadio } from '../domain-settings-radio/DomainSettingsRadio';\n\nconst namespace = 'settings.domainSettingsForm';\n\ntype InfoMessageMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: string;\n }\n}\n\nconst infoMessagePhraseMap: InfoMessageMap = {\n [AccessSettingsGroup.RequestingAccess]: {\n none: 'joinRequestsNoneInfoMessage',\n allowed: 'joinRequestsAllowedInfoMessage',\n any: 'joinRequestsAnyInfoMessage'\n },\n [AccessSettingsGroup.AutomaticAccess]: {\n none: 'accessBehaviourNoneInfoMessage',\n allowed: 'accessBehaviourAllowedInfoMessage'\n }\n};\n\ninterface DomainSettingsFormProps {\n view: AccessSettingsGroup,\n options: DomainSettingsOption[],\n errors: ApprovedDomainErrorResponse[]\n appLinks?: AccessSettingAppLinks,\n classname?: string,\n onSelectValue: (value: string) => void,\n addDomainField: () => void,\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n setFieldError: (error: string, code: string) => void\n selectedOption: DomainSettingsOption,\n domains: ApprovedDomain[]\n}\n\nexport function DomainSettingsForm(props: DomainSettingsFormProps): JSX.Element {\n const handleSelectValue = (value: string) => {\n props.onSelectValue(value);\n const domains = props.domains || [];\n if (domains.length === 0) {\n props.addDomainField();\n }\n };\n\n const handleAddDomainField = () => {\n props.addDomainField();\n };\n\n const handleChangeDomain = (domain: ApprovedDomain, index: number) => {\n props.onChangeDomain(domain, index);\n };\n\n const handleRemoveDomainField = (index: number) => {\n props.removeDomainField(index);\n };\n\n return (\n <>\n <div className={`col-12 col-md-8 card p-3 mb-3 ${props.classname}`}>\n {props.options.map(option => (\n <div key={option}>\n {option === 'none' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={props.selectedOption}\n hasDescription\n view={props.view}\n onSelectValue={handleSelectValue}\n />\n )}\n {option === 'allowed' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={props.selectedOption}\n view={props.view}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={handleSelectValue}\n >\n <DomainFields\n errors={props.errors}\n view={props.view}\n appLinks={props.appLinks}\n addDomainField={handleAddDomainField}\n onChangeDomain={handleChangeDomain}\n removeDomainField={handleRemoveDomainField}\n domains={props.domains}\n setFieldError={props.setFieldError}\n />\n </DomainSettingsRadio>\n )}\n {option === 'any' && (\n <DomainSettingsRadio\n option={option}\n view={props.view}\n selectedOption={props.selectedOption}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={handleSelectValue}\n />\n )}\n </div>\n ))}\n\n <div className='d-flex'>\n <div className='rounded p-2 bg-light-blue text-info fw-semibold'>\n <Text namespace={namespace} phrase={infoMessagePhraseMap[props.view][props.selectedOption]} />\n </div>\n </div>\n </div>\n </>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\n\nconst namespace = 'settings.domainSettingsTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface DomainSettingsTabsProps {\n active: 'requesting-access' | 'teacher-invites' | 'automatic-access',\n appLinks: AccessSettingAppLinks\n}\n\nexport function DomainSettingsTabs(props: DomainSettingsTabsProps): JSX.Element {\n const { active, appLinks } = props;\n \n return (\n <div className='mb-3'>\n <PillTabSelector\n tabs={[{\n name: getPhrase('requestingAccess'),\n appLink: appLinks.requestingAccess,\n active: active === 'requesting-access',\n analyticsData: {\n name: getPhrase('requestingAccess'),\n url: Core.AppLinkHelper.getHref(appLinks.requestingAccess)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('teacherInvites'),\n appLink: appLinks.teacherInvites,\n active: active === 'teacher-invites',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'teacherInvites'),\n url: Core.AppLinkHelper.getHref(appLinks.teacherInvites)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('automaticAccess'),\n appLink: appLinks.automaticAccess,\n active: active === 'automatic-access',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'automaticAccess'),\n url: Core.AppLinkHelper.getHref(appLinks.automaticAccess)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }]}\n />\n </div>\n );\n}","import React from 'react';\n\nexport function CloseIcon(): JSX.Element {\n return (\n <svg viewBox='0 0 24 24'>\n <path d='M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { CloseIcon } from 'libs/shared/images/components/CloseIcon';\n\nimport styles from './clearable-input.scss';\n\ninterface ClearInputProps extends React.HTMLProps<HTMLInputElement> {\n showClearButton?: boolean;\n onClickClear: () => void;\n clearClassName?: string;\n}\n\nexport const ClearableInput = React.forwardRef((\n props: ClearInputProps,\n ref: React.ForwardedRef<HTMLInputElement>\n) => {\n const { onClickClear, showClearButton, clearClassName, ...inputProps } = props;\n\n return (\n <div className='position-relative'>\n <input\n {...inputProps}\n ref={ref}\n className={`${props.className} ${styles.clearableInput}`}\n />\n {(!!props.value || showClearButton) &&\n <span\n className={`${styles.clearInput} position-absolute cursor-pointer text-secondary ${clearClassName || ''}`}\n role='button'\n onClick={onClickClear}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClickClear()}\n tabIndex={0}\n >\n <div className='d-inline-block svg-container md'>\n <CloseIcon />\n </div>\n </span>\n }\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"clearInput\":\"ygMgF\",\"clearableInput\":\"aYpO7\"};","import React from 'react';\n\ninterface FormFeedbackProps extends React.PropsWithChildren {\n name: string;\n className?: string;\n}\n\nexport function FormFeedback(props: FormFeedbackProps) {\n return (\n <span id={`${props.name}Error`} className={`${props.className} invalid-feedback d-block`} role='status'>{props.children}</span>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","export enum AccessSettingsGroup {\n RequestingAccess = 'requestingAccess',\n TeacherInvites = 'teacherInvites',\n AutomaticAccess = 'automaticAccess'\n}","export enum AccessType {\n Request = 'request',\n AutoJoin = 'auto-join',\n NoRequest = 'no-request'\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '27927466562201',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097',\n ManageGroupPermissions = '35407217335705'\n}\n","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AccessType } from 'libs/shared/enums/AccessType';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nfunction has(accessType: AccessType, domains: ApprovedDomain[]): boolean {\n return !!ArrayHelper.findWhere(domains, { accessType });\n}\n\nexport const DomainSettingsFormHelper = {\n getFilteredDomains(domains: ApprovedDomain[], ...accessTypes: AccessType[]): ApprovedDomain[] {\n return domains.filter(domain => accessTypes.some(accessType => accessType === domain.accessType));\n },\n\n getInitialJoinRequests(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = DomainSettingsFormHelper.getFilteredDomains(\n domains,\n AccessType.Request,\n AccessType.NoRequest\n );\n\n if (has(AccessType.Request, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n if (has(AccessType.NoRequest, filteredDomains))\n return { selectedOption: 'none', domains: []};\n\n return { selectedOption: 'any', domains: []};\n },\n getInitialAccessBehaviour(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = DomainSettingsFormHelper.getFilteredDomains(domains, AccessType.AutoJoin);\n\n if (has(AccessType.AutoJoin, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n return { selectedOption: 'none', domains: []};\n },\n formatRequestData(\n prevDomains: ApprovedDomain[],\n values: DomainSettingsModel,\n accessType: AccessType\n ): ApprovedDomain[] {\n const { domains, selectedOption } = values;\n const prevAutoJoinDomains = DomainSettingsFormHelper.getFilteredDomains(prevDomains, AccessType.AutoJoin);\n const prevRequestDomains = DomainSettingsFormHelper.getFilteredDomains(\n prevDomains,\n AccessType.Request,\n AccessType.NoRequest\n );\n\n if (accessType === AccessType.Request) {\n let requestDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'none':\n requestDomains = [{ accessType: AccessType.NoRequest, domain: '' }];\n break;\n case 'allowed':\n requestDomains = domains.map(domain => ({ ...domain, accessType: AccessType.Request }));\n break;\n case 'any':\n }\n return [ ...prevAutoJoinDomains, ...requestDomains ];\n }\n\n if (accessType === AccessType.AutoJoin) {\n let autoJoinDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'allowed':\n autoJoinDomains = domains.map(domain => ({ ...domain, accessType: AccessType.AutoJoin }));\n break;\n case 'none':\n }\n return [ ...prevRequestDomains, ...autoJoinDomains ];\n }\n }\n};\n","import { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { ApprovedDomain, DomainSettingsModel, DomainSettingsModelV2 } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nconst domainRegex = new RegExp(\n /^(?!-)[A-Za-z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Za-z]{2,6}$/\n);\n\ninterface DomainValidationProps {\n values: DomainSettingsModelV2;\n alerts: ReturnType<typeof useAlerts>;\n setShowPopup: (show: boolean) => void;\n}\n\nexport const DomainValidation = (props: DomainValidationProps) => {\n const errors: {\n requestingAccess: { domains:\n { domain: ApprovedDomainError }[] }, automaticAccess: { domains: { domain: ApprovedDomainError }[] } } = {\n requestingAccess: { domains: []},\n automaticAccess: { domains: []}\n };\n\n const validateDomainSettings = (domainSettings: DomainSettingsModel) => {\n const { domains, selectedOption } = domainSettings;\n const domainErrors: { domains: { domain: ApprovedDomainError }[] } = { domains: []};\n\n domains.forEach((domain, index: number) => {\n if (selectedOption !== 'allowed') {\n return;\n }\n if (!domain.domain) {\n domainErrors.domains[index] = { domain: 'domain-empty' };\n props.alerts.error('There is a field with an empty domain');\n props.setShowPopup(false);\n return;\n }\n\n const duplicateDomain = domains.some(\n (currentDomain: ApprovedDomain, currentIndex: number) =>\n currentIndex !== index && currentDomain.domain === domain.domain\n );\n if (duplicateDomain) {\n domainErrors.domains[index] = { domain: 'domain-duplicated' };\n props.alerts.error('There is a field with a duplicate domain');\n props.setShowPopup(false);\n return;\n }\n\n if (!domainRegex.test(domain.domain)) {\n domainErrors.domains[index] = { domain: 'domain-invalid' };\n props.alerts.error('There are one or more invalid fields');\n props.setShowPopup(false);\n return;\n }\n });\n return domainErrors.domains;\n };\n\n errors.requestingAccess.domains = validateDomainSettings(props.values.requestingAccess);\n errors.automaticAccess.domains = validateDomainSettings(props.values.automaticAccess);\n\n const hasErrors = Object.values(errors).some(errorGroup =>\n errorGroup.domains.some(error => error));\n\n if (!hasErrors) {\n return {};\n }\n return errors;\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","import { Core } from 'libs/common/backbone/index';\n\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const AccessSettingsAppLinks: { [key in AccessSettingsGroup]: Core.AppLink } = {\n [AccessSettingsGroup.RequestingAccess]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.REQUESTING_ACCESS\n },\n [AccessSettingsGroup.TeacherInvites]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.TEACHER_INVITES\n },\n [AccessSettingsGroup.AutomaticAccess]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.AUTOMATIC_ACCESS\n }\n};\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { ApprovedDomain } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nexport const DomainRequests = {\n domains(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'domains',\n normalize: false\n };\n },\n updateDomains(\n customerId: string,\n data: ApprovedDomain[]\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'update:domains',\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: ['domains']\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function useDomainSettingsSwitch() {\n const { isLoadingSettings, domainSettings } = useSettings(LocationContext.Settings);\n\n React.useEffect(() => {\n if (isLoadingSettings)\n return;\n\n if (!domainSettings) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [ domainSettings, isLoadingSettings ]);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["namespace","getPhrase","LanguageService","errorMessagePhraseMap","requestingAccess","automaticAccess","props","formikProps","index","domain","view","appLinks","onChangeDomain","removeDomainField","actionMap","AccessSettingsGroup","action","viewAppLink","application","args","getDomainErrorCode","errors","className","ClearableInput","type","name","placeholder","value","onChange","e","preventDefault","updatedDomain","currentTarget","hasChanged","setFieldError","undefined","handleChange","onClickClear","autoComplete","showClearButton","FormFeedback","domainErrorCode","Text","phrase","options","AppLink","appLink","getDomainErrorMessage","DomainFields","length","forEach","errorDomain","errorCode","errorIndex","domains","findIndex","render","map","key","IconButton","svgName","onClick","addDomainField","radioPhraseMap","none","label","description","allowed","any","option","selectedOption","hasDescription","url","onSelectValue","children","FormCheck","id","checked","target","href","infoMessagePhraseMap","DomainSettingsForm","handleSelectValue","handleAddDomainField","handleChangeDomain","handleRemoveDomainField","classname","ArticleHelper","DomainSettingsTabs","active","tabs","analyticsData","analyticsOptions","actionType","entity","location","teacherInvites","CloseIcon","viewBox","d","ref","clearClassName","inputProps","role","onKeyDown","tabIndex","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formattedInitialValues","validationSchema","cast","values","omitChildValues","child","Object","keys","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","formattedData","reset","entries","f","useFormikContextWrapper","defaultProps","TabContents","tab","count","data","PillTabSelector","containerRef","borderRadius","listClassName","onSelect","onSelectTab","AccessType","OnlineSupportArticle","LiteSupportArticle","has","accessType","DomainSettingsFormHelper","getFilteredDomains","accessTypes","filter","some","getInitialJoinRequests","filteredDomains","getInitialAccessBehaviour","formatRequestData","prevDomains","prevAutoJoinDomains","prevRequestDomains","requestDomains","autoJoinDomains","domainRegex","RegExp","DomainValidation","validateDomainSettings","domainSettings","domainErrors","currentDomain","currentIndex","alerts","error","setShowPopup","test","errorGroup","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","group","modules","settingsModule","SettingsLayout","canAccess","replace","breadcrumbs","i","heading","headingButton","AccessSettingsAppLinks","DomainRequests","customerId","normalize","updateDomains","invalidationKeys","useDomainSettingsSwitch","isLoadingSettings"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1610],{33518:(e,t,a)=>{var n;a.d(t,{e:()=>n}),function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(n||(n={}))},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},99746:(e,t,a)=>{a.d(t,{p:()=>p});var n=a(32735),r=a(57900),i=a(97395),s=a(2948),c=a(91693),l=a(83345),o=a(4594),d=a(35223),m=a(86702);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var h="lite.insightsAdminAlert";function p(e){var t,a,p=(t=(0,s.D)(m.y.INSIGHTS_ADMIN_ALERT,!0,{storage:r.Z1.LocalStorage}),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,s,c=[],l=!0,o=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=i.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(o)throw r}}return c}}(t,a)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(t,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),
|
|
2
|
-
//# sourceMappingURL=1610-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1610],{33518:(e,t,a)=>{var n;a.d(t,{e:()=>n}),function(e){e.Public="Public",e.PinCode="PinCode",e.PasswordProtected="PasswordProtected",e.ProtectedOverrideRestriction="ProtectedOverrideRestriction",e.JustMySchoolOverrideRestriction="JustMySchoolOverrideRestriction",e.Protected="Protected",e.JustMySchool="JustMySchool",e.Direct="Direct"}(n||(n={}))},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},99746:(e,t,a)=>{a.d(t,{p:()=>p});var n=a(32735),r=a(57900),i=a(97395),s=a(2948),c=a(91693),l=a(83345),o=a(4594),d=a(35223),m=a(86702);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var h="lite.insightsAdminAlert";function p(e){var t,a,p=(t=(0,s.D)(m.y.INSIGHTS_ADMIN_ALERT,!0,{storage:r.Z1.LocalStorage}),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,s,c=[],l=!0,o=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=i.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){o=!0,r=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(o)throw r}}return c}}(t,a)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(t,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=p[0],v=p[1];return e.hasAnalytics&&g?n.createElement("div",{role:"alert",className:"d-flex justify-content-between align-items-center bg-light-blue rounded p-2 mb-4"},n.createElement("div",null,n.createElement(l.x,{namespace:h,phrase:"adminAlert"}),n.createElement("a",{className:"text-info",href:function(){if(!e.video)return e.analyticsUrl;var t="";return e.video.typeId===o.E.Interactive&&(t="/interactives/".concat(e.video.id,"/views")),e.video.typeId===o.E.Video&&(t="/videos/".concat(e.video.id,"/views")),e.video.typeId===o.E.Clip&&(t="/clips/".concat(e.video.id,"/views")),i._.safeUrlConcat(e.analyticsUrl,t)}(),target:"_blank"},n.createElement(l.x,{namespace:h,phrase:"analytics"})),"."),n.createElement(c.h,{svgName:d.vn.Close,className:"text-blue",onClick:function(){v(!1)}})):n.createElement(n.Fragment,null)}},18006:(e,t,a)=>{a.d(t,{c:()=>n,q:()=>r});var n="D8qRe7",r="GRWx6w"},9566:(e,t,a)=>{a.d(t,{G6:()=>u,GJ:()=>h,VE:()=>g});var n=a(23481),r=a(110),i=a(33518),s=a(2510),c=a(4594),l=a(35223),o=a(14070),d=a(97291),m=n.T.encloseNamespace("myShares.demoInsights"),u={type:s.y.Link,privacy:i.e.JustMySchool,objectId:"0",objectTypeId:c.E.Interactive,viewCount:28,accessCount:15,dateCreated:(new Date).toISOString(),expireDate:null,link:{shortenedEmbedUrl:"",shortenedUrl:""},shareId:"0",ownerCustomerId:0,ownerId:0,recipients:[],options:{preventScrubbing:!1,immediateFeedback:!1}},h={share:u,sharedObject:null,shareRecipients:null,dateShared:r.O.subtract(new Date,7,"days").toISOString()},p={application:d.O.MY_SHARES,action:o.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},g={svgName:l.vn.Analytics,label:m("demoInsights"),appLink:p,group:"insights",className:"btn btn-outline-dark"}},39607:(e,t,a)=>{a.r(t),a.d(t,{MySharesView:()=>B});var n=a(32735),r=a(81886),i=a(23481),s=a(20354),c=a(2510),l=a(15611),o=a(87801),d=a(83345),m=a(16714),u=a(39151),h=a(1666),p=a(54405),g=a(31949),v=a(25882),y=a(79967),b=a(22902),f=a(79612),E=a(37802),S=a(14070),k=a(97291),I=a(46390),w=a(98623),C=a(99746),O=a(84073),P=a(18006),j=a(9566);const A={background:"HAuP3"};var N="myShares.demoInsights",x=i.T.encloseNamespace(N);function U(e){var t=e.liteUrl.includes("staging"),a=e.breakpoints.xs||e.breakpoints.sm;return n.createElement("div",null,n.createElement(O.g,{heading:x("demoHeading"),isFirst:!0}),n.createElement("div",{className:"".concat(A.background," rounded-3 border-md bg-light-orange mb-4")},n.createElement(O.F,{shareData:Object.assign(Object.assign({},j.GJ),{sharedObject:Object.assign(Object.assign({},e.demoInteractive),{id:t?P.c:P.q})}),getObjectActions:function(){return[Object.assign(Object.assign({},j.VE),{button:!a})]},imageCdnUrl:e.imageCdnUrl,yearGroups:e.yearGroups,breakpoints:e.breakpoints},n.createElement("div",{className:"d-inline-block rounded-pill bg-light-blue text-info font-size-sm mt-1 px-2"},n.createElement(d.x,{namespace:N,phrase:"demoInsightPill"})))))}var M=a(67467),L=a(5056),R=a(28001),D=a(65858),V=a(97958),_=a(99742),F="myShares.mySharesEmptyState",T=i.T.encloseNamespace(F);function G(){return n.createElement(V.u,null,n.createElement(V.u.Image,{src:_.W.EmptyStates.MY_VIDEOS_PUBLIC,altText:T("heading")}),n.createElement(V.u.Heading,null,n.createElement(d.x,{namespace:F,phrase:"heading"})),n.createElement(V.u.Info,null,n.createElement(d.x,{namespace:F,phrase:"info"})),n.createElement(V.u.Cta,{text:i.T.getPhrase(F,"cta"),appLink:{application:k.O.SIGN_UP,action:S.e.SignUp.SIGN_UP},analyticsData:{},analyticsOptions:{actionType:D.Vw.Click,location:D.LZ.MySharesLanding,entity:D.py.AppLink,workflowPhase:D.eu.Start,descriptor:D.Yu.SignUp}}))}var H=a(69003),z="myShares.myShares",J=i.T.encloseNamespace(z);function B(e){var t,a,i,O;(0,f.M)({title:J("myShares")});var P=(0,b.T)(),j=P.hasPermissions,A=P.hasLocalPermissions,N=(0,E.r)(null),x=N.hasShareFlowV2,D=N.hasClassrooms,V=(0,I.G)().isPlugin,_=(0,y.k)(),F=(0,v.v)().accessPolicy,T=(0,H.cl)(e.typeId),B=!A(m.E.ViewMySharesLanding)||j(m.C.ViewMyShares)&&x,W=x&&j(m.C.ViewInsights),q=null===(t=null==F?void 0:F.metadata)||void 0===t?void 0:t.hasDemoInsights,Y=s.a.useBasicFetch(u.L.config()),X=s.a.useBasicFetch(g.N.currentUser()),Z=s.a.useBasicFetch((null===(a=X.data)||void 0===a?void 0:a.isAuthenticated)&&h.h.yearGroups(X.data.customerId)),Q=s.a.useBasicFetch(q&&p.X.interactiveMetadata()),$=(0,w.a)({interactiveInsights:!0,shouldFetch:B,params:{type:[c.y.Link,c.y.LegacyDirect]}});return n.useEffect((function(){j(m.C.ViewMyShares)&&x||r.Q.Ab.PageLoad("/")}),[B]),B?n.createElement("div",{className:"px-3"},n.createElement(C.p,{analyticsUrl:null===(i=Y.data)||void 0===i?void 0:i.analyticsWebUrl,hasAnalytics:j(m.C.ViewCustomerAnalytics)}),n.createElement("div",{className:"border-bottom pb-2 mb-4"},n.createElement("h1",{className:"mb-2"},n.createElement(d.x,{namespace:z,phrase:"myShares"})),D&&n.createElement("p",{className:"mb-0"},n.createElement(d.x,{namespace:z,phrase:"classroomsHint"})," ",n.createElement(l.F,{appLink:{application:k.O.CLASSROOMS,action:S.e.Classrooms.HOME},className:"info-link"},n.createElement(d.x,{namespace:z,phrase:"classroomsCta"})))),q&&Q.data&&n.createElement(U,{demoInteractive:Q.data,liteUrl:null===(O=Y.data)||void 0===O?void 0:O.liteUrl,breakpoints:_,imageCdnUrl:$.imageCdnUrl,yearGroups:Z.data}),function(){var e;return $.showPartialLoading?n.createElement(R.L,null):$.sentShares.length?n.createElement(n.Fragment,null,n.createElement(L.R,{sentShares:$.sentShares,sharedObjects:$.sharedObjects.items,shareRecipients:$.shareRecipients.items,interactivesPendingReview:$.interactivesPendingReview.itemsArr,getObjectActions:function(e){return(0,H.sD)({share:e.share,sharedObject:e.sharedObject,audienceParams:T.audienceAppLinkParams,hasInsights:W,isPlugin:V,breakpoints:_})},groupByDateShared:!0,breakpoints:_,hasDemoInsights:q,imageCdnUrl:null===(e=Y.data)||void 0===e?void 0:e.imageCdnUrl,yearGroups:Z.data}),($.hasMore||$.isFetching)&&n.createElement(o._,{isFetching:$.isFetching,fetchNext:$.fetchNext,nextCursor:$.nextCursor})):n.createElement(M.o,null)}()):n.createElement(G,null)}}}]);
|
|
2
|
+
//# sourceMappingURL=1610-bb6eff2ff1-lite.chunk.js.map
|