@clickview/reports 0.86.0-rc.0 → 0.86.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +252 -252
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{D4_Ou9e_.chunk.js → B3BAH-B8.chunk.js} +2 -2
- package/dist/scripts/{D4_Ou9e_.chunk.js.map → B3BAH-B8.chunk.js.map} +1 -1
- package/dist/scripts/{BWJBtdAK2.chunk.js → B9u-BJ_k2.chunk.js} +2 -2
- package/dist/scripts/{BWJBtdAK2.chunk.js.map → B9u-BJ_k2.chunk.js.map} +1 -1
- package/dist/scripts/BIvkuRmF.chunk.js +1 -0
- package/dist/scripts/{BLy0WwGy.chunk.js → BLILOa4O.chunk.js} +2 -2
- package/dist/scripts/{BLy0WwGy.chunk.js.map → BLILOa4O.chunk.js.map} +1 -1
- package/dist/scripts/{BVgajZti.chunk.js → BNQGo_Gd.chunk.js} +2 -2
- package/dist/scripts/{BVgajZti.chunk.js.map → BNQGo_Gd.chunk.js.map} +1 -1
- package/dist/scripts/{296Drw6z.chunk.js → BTLhY0Si.chunk.js} +2 -2
- package/dist/scripts/BTLhY0Si.chunk.js.map +1 -0
- package/dist/scripts/{BV2ee_KR.chunk.js → Bf4DlBxT.chunk.js} +2 -2
- package/dist/scripts/{BV2ee_KR.chunk.js.map → Bf4DlBxT.chunk.js.map} +1 -1
- package/dist/scripts/{DQamsoU_2.chunk.js → Bl6b6nAn2.chunk.js} +2 -2
- package/dist/scripts/{DQamsoU_2.chunk.js.map → Bl6b6nAn2.chunk.js.map} +1 -1
- package/dist/scripts/{DhJ5lhcc.chunk.js → Bv4pM4sp.chunk.js} +2 -2
- package/dist/scripts/{DhJ5lhcc.chunk.js.map → Bv4pM4sp.chunk.js.map} +1 -1
- package/dist/scripts/{CmiQpwgd2.chunk.js → C-4Pza2l2.chunk.js} +2 -2
- package/dist/scripts/{CmiQpwgd2.chunk.js.map → C-4Pza2l2.chunk.js.map} +1 -1
- package/dist/scripts/{CMQlrOon2.chunk.js → C21pODi22.chunk.js} +2 -2
- package/dist/scripts/{CMQlrOon2.chunk.js.map → C21pODi22.chunk.js.map} +1 -1
- package/dist/scripts/{PLyhtHwt2.chunk.js → C46TEWQx2.chunk.js} +2 -2
- package/dist/scripts/{PLyhtHwt2.chunk.js.map → C46TEWQx2.chunk.js.map} +1 -1
- package/dist/scripts/{DsnkNBu62.chunk.js → CMw7H8FK2.chunk.js} +2 -2
- package/dist/scripts/{DsnkNBu62.chunk.js.map → CMw7H8FK2.chunk.js.map} +1 -1
- package/dist/scripts/{cBssbttB.chunk.js → CQNeP_Yp.chunk.js} +2 -2
- package/dist/scripts/{cBssbttB.chunk.js.map → CQNeP_Yp.chunk.js.map} +1 -1
- package/dist/scripts/{Cv9H330A2.chunk.js → ClDdEKYV2.chunk.js} +2 -2
- package/dist/scripts/{Cv9H330A2.chunk.js.map → ClDdEKYV2.chunk.js.map} +1 -1
- package/dist/scripts/{CglHgfcX.chunk.js → Cu6M80aY.chunk.js} +2 -2
- package/dist/scripts/{CglHgfcX.chunk.js.map → Cu6M80aY.chunk.js.map} +1 -1
- package/dist/scripts/{dMt3Yeox.chunk.js → D0Iup4vX.chunk.js} +3 -3
- package/dist/scripts/{dMt3Yeox.chunk.js.map → D0Iup4vX.chunk.js.map} +1 -1
- package/dist/scripts/{BCPzswJq.chunk.js → D5SnHbk-.chunk.js} +2 -2
- package/dist/scripts/{BCPzswJq.chunk.js.map → D5SnHbk-.chunk.js.map} +1 -1
- package/dist/scripts/{CudCJxPc2.chunk.js → DHGyxAjV2.chunk.js} +2 -2
- package/dist/scripts/{CudCJxPc2.chunk.js.map → DHGyxAjV2.chunk.js.map} +1 -1
- package/dist/scripts/{B2L2H3g9.chunk.js → DMQIqlrn.chunk.js} +2 -2
- package/dist/scripts/{B2L2H3g9.chunk.js.map → DMQIqlrn.chunk.js.map} +1 -1
- package/dist/scripts/{CFA2yuiv.chunk.js → DSOStB3B.chunk.js} +2 -2
- package/dist/scripts/{CFA2yuiv.chunk.js.map → DSOStB3B.chunk.js.map} +1 -1
- package/dist/scripts/{CPw6bsFu2.chunk.js → DaN1d6Pn2.chunk.js} +2 -2
- package/dist/scripts/{CPw6bsFu2.chunk.js.map → DaN1d6Pn2.chunk.js.map} +1 -1
- package/dist/scripts/{D68hdbWD2.chunk.js → DeAZkXBA2.chunk.js} +2 -2
- package/dist/scripts/{D68hdbWD2.chunk.js.map → DeAZkXBA2.chunk.js.map} +1 -1
- package/dist/scripts/{BPVl1Je7.chunk.js → DeQ431eX.chunk.js} +2 -2
- package/dist/scripts/{BPVl1Je7.chunk.js.map → DeQ431eX.chunk.js.map} +1 -1
- package/dist/scripts/DuNznK6r.chunk.js +1 -0
- package/dist/scripts/{oPoOD_J-2.chunk.js → Duq0DLsG2.chunk.js} +2 -2
- package/dist/scripts/{oPoOD_J-2.chunk.js.map → Duq0DLsG2.chunk.js.map} +1 -1
- package/dist/scripts/{BHTp9hJG.chunk.js → Dxi0YECT.chunk.js} +2 -2
- package/dist/scripts/{BHTp9hJG.chunk.js.map → Dxi0YECT.chunk.js.map} +1 -1
- package/dist/scripts/{D3WnBGZG.chunk.js → KApJ0N8H.chunk.js} +2 -2
- package/dist/scripts/{D3WnBGZG.chunk.js.map → KApJ0N8H.chunk.js.map} +1 -1
- package/dist/scripts/{DcKDIHY92.chunk.js → LH8waKdJ2.chunk.js} +2 -2
- package/dist/scripts/{DcKDIHY92.chunk.js.map → LH8waKdJ2.chunk.js.map} +1 -1
- package/dist/scripts/{DNKj09Lh2.chunk.js → O4R5nbYC2.chunk.js} +2 -2
- package/dist/scripts/{DNKj09Lh2.chunk.js.map → O4R5nbYC2.chunk.js.map} +1 -1
- package/dist/scripts/{BQjyL0qS2.chunk.js → VhnfG4dU2.chunk.js} +2 -2
- package/dist/scripts/{BQjyL0qS2.chunk.js.map → VhnfG4dU2.chunk.js.map} +1 -1
- package/dist/scripts/{app-cakVQEAF.js → app-DLh9RnwX.js} +4 -4
- package/dist/scripts/{app-cakVQEAF.js.map → app-DLh9RnwX.js.map} +1 -1
- package/dist/scripts/{Dj68Q14w.chunk.js → e3pgZZ_n.chunk.js} +2 -2
- package/dist/scripts/{Dj68Q14w.chunk.js.map → e3pgZZ_n.chunk.js.map} +1 -1
- package/dist/scripts/{DrBRL2aF.chunk.js → mKkhzqL1.chunk.js} +2 -2
- package/dist/scripts/{DrBRL2aF.chunk.js.map → mKkhzqL1.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/296Drw6z.chunk.js.map +0 -1
- package/dist/scripts/CyRTALRJ.chunk.js +0 -1
- package/dist/scripts/Dm7M2BT8.chunk.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{P as e,Yt as t,st as n}from"./BSV_W0cK.chunk.js";import{i as r}from"./DVHj6R3-.chunk.js";import{b as i,d as a,n as o,p as s,t as c}from"./DLiesDxa.chunk.js";import{t as l}from"./Dhb09xKG.chunk.js";import{n as u}from"./CNQKHXPY.chunk.js";import{t as d}from"./Bqlm3yF_.chunk.js";import{t as f}from"./CO7H3BC5.chunk.js";import{t as p}from"./uMt2JXFV.chunk.js";import{t as m}from"./Btl_wt9M.chunk.js";import{t as h}from"./DjcvhO-s.chunk.js";import{at as g,r as _,tt as v}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{P as e,Yt as t,st as n}from"./BSV_W0cK.chunk.js";import{i as r}from"./DVHj6R3-.chunk.js";import{b as i,d as a,n as o,p as s,t as c}from"./DLiesDxa.chunk.js";import{t as l}from"./Dhb09xKG.chunk.js";import{n as u}from"./CNQKHXPY.chunk.js";import{t as d}from"./Bqlm3yF_.chunk.js";import{t as f}from"./CO7H3BC5.chunk.js";import{t as p}from"./uMt2JXFV.chunk.js";import{t as m}from"./Btl_wt9M.chunk.js";import{t as h}from"./DjcvhO-s.chunk.js";import{at as g,r as _,tt as v}from"./app-DLh9RnwX.js";import{t as y}from"./DPmS69Mt2.chunk.js";var b=`shared.verifiedEmailError`,x=class extends p{constructor(e,t,n){super(`VerifiedEmailRequiredError`),this.message=e,this.liteUrl=t,this.hasLite=n}get name(){return`VerifiedEmailRequiredError`}get dialogOptions(){let e=u.safeUrlConcat(this.liteUrl,`settings/account`);return{title:d.getPhrase(b,`heading`),text:this.hasLite?`${this.message} ${d.getPhrase(b,`visitSettings`,{href:e})}`:this.message,buttons:[{text:d.getPhrase(b,`close`),className:`btn btn-dark`,success:!0}]}}},S=()=>{let e=a(a(r.currentUser()).data?.isAuthenticated&&v.userProducts()),t=!e.hasCompleted;return{hasProduct:n=>t||e.hasError||!e.data?.length?!1:e.data.some(e=>e.id===n),products:e,isLoadingProducts:t}};function C(){let e=y(),{hasProduct:n,isLoadingProducts:r}=S(),i=a(g.config());function o(r,a,o){if(!r.responseJSON||r.responseJSON?.type!==`no-email`){e.error(a);return}t.throw(new x(o,i.data.liteUrl,n(f.Primary)))}return{handleGenerateReportError:o,loading:!i.hasCompleted||r}}function w(e){return{dateRange:{start:e.start,end:e.end},offsetInMin:Math.abs(new Date().getTimezoneOffset())}}var T={videoViewsReport(e,t){return{url:`{gateway}/v1/analytics/video-views/reports`,key:`video:views:report`,type:i.POST,data:{...w(e),version:t},invalidationKeys:`export`,normalize:!1}},loginsReport(e,t,n,r){return{url:`{gateway}/v1/analytics/logins/reports`,key:`logins:report`,data:w(e),type:i.POST,normalize:!1,success:t,error:n,always:r}}};n();var E=e(),D=`reportsShared.generateReport`,O=d.encloseNamespace(D);function k(e){switch(e){case j.Logins:return`loginsDescription`;case j.VideoViews:return`videosDescription`;default:return``}}function A(e){let t=l.convertUTCToLocal(e).toString();return l.format(t,`Do MMMM YYYY`)}var j=function(e){return e[e.Logins=0]=`Logins`,e[e.VideoViews=1]=`VideoViews`,e}({});function M(e){let t=_(`video-views`),n=_(`logins`),r=e.type===j.VideoViews?t:n,i=y(),{loading:a,handleGenerateReportError:l}=C(),u=s();function d(){switch(e.type){case j.Logins:return T.loginsReport(n);case j.VideoViews:return T.videoViewsReport(t,`v3`);default:return null}}function f(){u(d()).then(()=>i.success(O(`success`))).catch(e=>l(e,O(`error`),O(`noEmailError`))).finally(e.closePopup)}return(0,E.jsx)(c.Provider,{value:D,children:(0,E.jsxs)(m,{title:O(`title`),showLoadingSpinner:a,closePopup:e.closePopup,children:[(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:k(e.type)})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`dateRange`,options:{dateFrom:A(r.start),dateTo:A(r.end)}})}),(0,E.jsx)(`p`,{children:(0,E.jsx)(o,{phrase:`emailDescription`})}),(0,E.jsxs)(h,{children:[(0,E.jsx)(h.Cancel,{onClick:e.closePopup}),(0,E.jsx)(h.Submit,{variant:`dark`,onClick:f,text:O(`generateReport`)})]})]})})}export{M as n,A as r,j as t};
|
|
2
|
+
//# sourceMappingURL=DMQIqlrn.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"B2L2H3g9.chunk.js","names":[],"sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts","../../src/shared/flight-requests/ReportRequests.ts","../../src/shared/views/generate-report/GenerateReportView.tsx"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite ?\n `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}` :\n this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};\n","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\ntype ReportVersion = 'v2' | 'v3';\n\ninterface DateRange {\n start: string;\n end: string;\n}\n\ninterface ReportRequestPayload {\n dateRange: DateRange;\n offsetInMin: number;\n userIds?: number[];\n groupsIds?: number[];\n}\n\nfunction formatReportRequest(filterParams: AnalyticsRequestFilter): ReportRequestPayload {\n return {\n dateRange: {\n start: filterParams.start,\n end: filterParams.end\n },\n offsetInMin: Math.abs(new Date().getTimezoneOffset())\n };\n}\n\nexport const ReportRequests = {\n videoViewsReport(\n filterParams: AnalyticsRequestFilter,\n version: ReportVersion\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/video-views/reports',\n key: 'video:views:report',\n type: HttpVerbs.POST,\n data: { ...formatReportRequest(filterParams), version },\n invalidationKeys: 'export',\n normalize: false\n };\n },\n\n loginsReport(\n filterParams: AnalyticsRequestFilter,\n success?: () => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/logins/reports',\n key: 'logins:report',\n data: formatReportRequest(filterParams),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { ReportRequests } from 'shared/flight-requests/ReportRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\n\nconst namespace = 'reportsShared.generateReport';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getLangPhrase(type: GenerateReportType): string {\n switch (type) {\n case GenerateReportType.Logins:\n return 'loginsDescription';\n\n case GenerateReportType.VideoViews:\n return 'videosDescription';\n\n default:\n return '';\n }\n}\n\nexport function getReportFriendlyDate(date: string): string {\n const localDate = DateHelper.convertUTCToLocal(date).toString();\n return DateHelper.format(localDate, 'Do MMMM YYYY');\n}\n\nexport enum GenerateReportType {\n Logins,\n VideoViews\n}\n\ninterface GenerateReportViewProps {\n type: GenerateReportType;\n}\n\nexport function GenerateReportView(props: PropsWithPopupViewProps<GenerateReportViewProps>): JSX.Element {\n const videoViewsFilter = useGetRequestFilter('video-views');\n const loginsFilter = useGetRequestFilter('logins');\n const filterQueryParams = props.type === GenerateReportType.VideoViews ? videoViewsFilter : loginsFilter;\n const alerts = useAlerts();\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getRequest(): Flight.Request {\n switch (props.type) {\n case GenerateReportType.Logins:\n return ReportRequests.loginsReport(loginsFilter);\n\n case GenerateReportType.VideoViews:\n return ReportRequests.videoViewsReport(videoViewsFilter, 'v3');\n\n default:\n return null;\n }\n }\n\n function onClick() {\n fetchAsync(getRequest())\n .then(() => alerts.success(getPhrase('success')))\n .catch((xhr: Xhr) => handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError')))\n .finally(props.closePopup);\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Popup\n title={getPhrase('title')}\n showLoadingSpinner={loading}\n closePopup={props.closePopup}\n >\n <p>\n <Text phrase={getLangPhrase(props.type)} />\n </p>\n <p>\n <Text phrase='dateRange' options={({\n dateFrom: getReportFriendlyDate(filterQueryParams.start),\n dateTo: getReportFriendlyDate(filterQueryParams.end)\n })} />\n </p>\n <p>\n <Text phrase='emailDescription' />\n </p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onClick}\n text={getPhrase('generateReport')}\n />\n </PopupButtons>\n </Popup>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DMQIqlrn.chunk.js","names":[],"sources":["../../../../libs/shared/src/errors/general/verified-email/VerifiedEmailRequiredError.ts","../../../../libs/shared/src/hooks/UseProducts.ts","../../../../libs/shared/src/hooks/useVerifiedEmailRequiredErrorHandler.ts","../../src/shared/flight-requests/ReportRequests.ts","../../src/shared/views/generate-report/GenerateReportView.tsx"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.verifiedEmailError';\n\nexport class VerifiedEmailRequiredError extends DialogError {\n public message: string;\n public liteUrl: string;\n public hasLite: boolean;\n\n constructor(message: string, liteUrl: string, hasLite: boolean) {\n super('VerifiedEmailRequiredError');\n\n this.message = message;\n this.liteUrl = liteUrl;\n this.hasLite = hasLite;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'VerifiedEmailRequiredError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n const href = UrlHelper.safeUrlConcat(this.liteUrl, 'settings/account');\n\n return {\n title: LanguageService.getPhrase(namespace, 'heading'),\n text: this.hasLite ?\n `${this.message} ${LanguageService.getPhrase(namespace, 'visitSettings', { href })}` :\n this.message,\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: 'btn btn-dark',\n success: true\n }]\n };\n }\n}\n","import { Flight } from 'libs/common/flight';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Product } from 'libs/shared/interfaces';\n\nexport type HasProductFunc = (productId: ProductId) => boolean;\n\nexport interface UseProductsResponse {\n hasProduct: (product: ProductId) => boolean;\n products: Flight.Response<Product[]>;\n isLoadingProducts: boolean;\n}\n\nexport const useProducts = (): UseProductsResponse => {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const products = Flight.useBasicFetch<Product[]>(currentUser.data?.isAuthenticated && ProductRequests.userProducts());\n const isLoadingProducts = !products.hasCompleted;\n\n const hasProduct = (productId: ProductId) => {\n if (isLoadingProducts || products.hasError)\n return false;\n\n if (!products.data?.length)\n return false;\n\n return products.data.some(product => product.id === productId);\n };\n\n return {\n hasProduct,\n products,\n isLoadingProducts\n };\n};\n","import { Core } from 'libs/common/backbone/index';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { VerifiedEmailRequiredError } from 'libs/shared/errors/general/verified-email/VerifiedEmailRequiredError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces';\n\nexport function useVerifiedEmailRequiredErrorHandler() {\n const alerts = useAlerts();\n const { hasProduct, isLoadingProducts } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function handleGenerateReportError(xhr: Xhr, message: string, noEmailError: string) {\n if (!xhr.responseJSON || xhr.responseJSON?.type !== 'no-email') {\n alerts.error(message);\n return;\n }\n\n Core.ErrorHelper.throw(\n new VerifiedEmailRequiredError(noEmailError, config.data.liteUrl, hasProduct(ProductId.Primary))\n );\n }\n\n return {\n handleGenerateReportError,\n loading: !config.hasCompleted || isLoadingProducts\n };\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\ntype ReportVersion = 'v2' | 'v3';\n\ninterface DateRange {\n start: string;\n end: string;\n}\n\ninterface ReportRequestPayload {\n dateRange: DateRange;\n offsetInMin: number;\n userIds?: number[];\n groupsIds?: number[];\n}\n\nfunction formatReportRequest(filterParams: AnalyticsRequestFilter): ReportRequestPayload {\n return {\n dateRange: {\n start: filterParams.start,\n end: filterParams.end\n },\n offsetInMin: Math.abs(new Date().getTimezoneOffset())\n };\n}\n\nexport const ReportRequests = {\n videoViewsReport(\n filterParams: AnalyticsRequestFilter,\n version: ReportVersion\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/video-views/reports',\n key: 'video:views:report',\n type: HttpVerbs.POST,\n data: { ...formatReportRequest(filterParams), version },\n invalidationKeys: 'export',\n normalize: false\n };\n },\n\n loginsReport(\n filterParams: AnalyticsRequestFilter,\n success?: () => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/analytics/logins/reports',\n key: 'logins:report',\n data: formatReportRequest(filterParams),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n","import React from 'react';\n\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { ReportRequests } from 'shared/flight-requests/ReportRequests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\n\nconst namespace = 'reportsShared.generateReport';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getLangPhrase(type: GenerateReportType): string {\n switch (type) {\n case GenerateReportType.Logins:\n return 'loginsDescription';\n\n case GenerateReportType.VideoViews:\n return 'videosDescription';\n\n default:\n return '';\n }\n}\n\nexport function getReportFriendlyDate(date: string): string {\n const localDate = DateHelper.convertUTCToLocal(date).toString();\n return DateHelper.format(localDate, 'Do MMMM YYYY');\n}\n\nexport enum GenerateReportType {\n Logins,\n VideoViews\n}\n\ninterface GenerateReportViewProps {\n type: GenerateReportType;\n}\n\nexport function GenerateReportView(props: PropsWithPopupViewProps<GenerateReportViewProps>): JSX.Element {\n const videoViewsFilter = useGetRequestFilter('video-views');\n const loginsFilter = useGetRequestFilter('logins');\n const filterQueryParams = props.type === GenerateReportType.VideoViews ? videoViewsFilter : loginsFilter;\n const alerts = useAlerts();\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getRequest(): Flight.Request {\n switch (props.type) {\n case GenerateReportType.Logins:\n return ReportRequests.loginsReport(loginsFilter);\n\n case GenerateReportType.VideoViews:\n return ReportRequests.videoViewsReport(videoViewsFilter, 'v3');\n\n default:\n return null;\n }\n }\n\n function onClick() {\n fetchAsync(getRequest())\n .then(() => alerts.success(getPhrase('success')))\n .catch((xhr: Xhr) => handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError')))\n .finally(props.closePopup);\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Popup\n title={getPhrase('title')}\n showLoadingSpinner={loading}\n closePopup={props.closePopup}\n >\n <p>\n <Text phrase={getLangPhrase(props.type)} />\n </p>\n <p>\n <Text phrase='dateRange' options={({\n dateFrom: getReportFriendlyDate(filterQueryParams.start),\n dateTo: getReportFriendlyDate(filterQueryParams.end)\n })} />\n </p>\n <p>\n <Text phrase='emailDescription' />\n </p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onClick}\n text={getPhrase('generateReport')}\n />\n </PopupButtons>\n </Popup>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{P as e,en as t,st as n}from"./BSV_W0cK.chunk.js";import{d as r,n as i}from"./DLiesDxa.chunk.js";import{r as a}from"./BmJ66zOA.chunk.js";import{t as o}from"./Bqlm3yF_.chunk.js";import{n as s,r as c,t as l}from"./H5KLIhR_.chunk.js";import{t as u}from"./Du_kaCuU.chunk.js";import{r as d}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{P as e,en as t,st as n}from"./BSV_W0cK.chunk.js";import{d as r,n as i}from"./DLiesDxa.chunk.js";import{r as a}from"./BmJ66zOA.chunk.js";import{t as o}from"./Bqlm3yF_.chunk.js";import{n as s,r as c,t as l}from"./H5KLIhR_.chunk.js";import{t as u}from"./Du_kaCuU.chunk.js";import{r as d}from"./app-DLh9RnwX.js";import{t as f}from"./C46TEWQx2.chunk.js";import{a as p,d as m,i as h,l as g,o as _,u as v}from"./LH8waKdJ2.chunk.js";n();var y=e(),b={chart:{spacing:[20,0,4,0]},title:{text:null},tooltip:{enabled:!1},credits:{enabled:!1},yAxis:{gridLineWidth:0,labels:{enabled:!1},title:{text:null},endOnTick:!0,tickAmount:10},xAxis:{lineWidth:0,labels:{style:{...g,textOverflow:`none`,wordBreak:`break-word`}}},legend:{enabled:!1},plotOptions:{column:{borderRadius:4,dataLabels:{enabled:!0,style:g,inside:!1,crop:!1,overflow:`allow`},groupPadding:0,minPointLength:8}},series:[{type:`column`,label:{enabled:!1},states:{hover:{enabled:!1}}}]},x=(e,t,n)=>({...b,xAxis:{...b.xAxis,categories:e,labels:{...b.xAxis.labels,useHTML:!0,formatter:function(){return m(this.value,n)}}},series:[{type:`column`,label:{enabled:!1},states:{hover:{enabled:!1}},data:t}]});function S(e){return(0,y.jsx)(v,{options:x(e.data.map(e=>e.name),e.data,e.labelAnnotations),annotations:e.labelAnnotations,className:`h-100`,containerProps:{className:`h-100`}})}var C={image:`_image_1a110_1`},w=o.encloseNamespace(`reportsShared.totalViewsByRoleCardEmptyState`);function T(){return(0,y.jsxs)(u,{className:`flex-grow-1 justify-content-center`,children:[(0,y.jsx)(u.Image,{src:l.EmptyStates.Shared.Ticket,className:C.image}),(0,y.jsx)(u.Heading,{className:`h6`,children:w(`heading`)}),(0,y.jsx)(u.Info,{className:`w-100`,children:w(`description`)})]})}var E=`reportsShared.videoViewsByRoleCard`,D=o.encloseNamespace(E);function O(e){let n=d(`video-views`),o=r(e.videoId?f.videoAggregation(e.videoId,`user_type`,n):f.aggregation(`user_type`,n));function l(e){return e?e.reduce((e,t)=>{let n=[a.System,`255`].includes(t.name)?null:t.name,r=e.find(e=>e.name===n);return r?r.count+=t.count:e.push({name:n,count:t.count}),e},[]).map(e=>({name:p(e.name),y:e.count,color:h(e.name)})).sort((e,t)=>_(e.name,t.name)):null}let u=l(o.data);return(0,y.jsx)(`div`,{className:`d-flex flex-column h-100 bg-white rounded p-3`,children:u?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`h2`,{className:`h6 mb-3`,children:(0,y.jsx)(i,{namespace:E,phrase:`videoViews`})}),u.length?(0,y.jsx)(`div`,{className:`flex-grow-1 position-relative`,children:(0,y.jsx)(`div`,{className:`position-absolute w-100 h-100`,children:(0,y.jsx)(S,{data:u,labelAnnotations:{"Classroom views":{onClick:()=>{t.trigger({application:c.DEFAULT,action:s.Default.CLASSROOM_VIEWS_POPUP})},tooltip:D(`classroomViewsSettings`)}}})})}):(0,y.jsx)(T,{})]}):(0,y.jsx)(`div`,{className:`partial-loading-background w-25`,children:`\xA0`})})}export{S as n,O as t};
|
|
2
|
+
//# sourceMappingURL=DSOStB3B.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CFA2yuiv.chunk.js","names":[],"sources":["../../src/shared/components/column-chart/ColumnChart.tsx","../../src/shared/views/overview-cards/video-views-by-role-card/empty-state/total-views-by-role-card-empty-state.module.scss","../../src/shared/views/overview-cards/video-views-by-role-card/empty-state/TotalViewsByRoleCardEmptyState.tsx","../../src/shared/views/overview-cards/video-views-by-role-card/VideoViewsByRoleCardView.tsx"],"sourcesContent":["import React from 'react';\nimport Highcharts from 'highcharts';\n\nimport { AnnotatedChart, formatAnnotatedLabel, LabelAnnotations } from 'shared/components/annotated-chart/AnnotatedChart';\nimport { CHART_FONT_STYLES } from 'shared/constants/ChartStyles';\n\nconst STATIC_COLUMN_CHART_OPTIONS: Highcharts.Options = {\n chart: {\n spacing: [ 20, 0, 4, 0 ]\n },\n title: {\n text: null\n },\n tooltip: {\n enabled: false\n },\n credits: {\n enabled: false\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n },\n title: {\n text: null\n },\n endOnTick: true,\n tickAmount: 10\n },\n xAxis: {\n lineWidth: 0,\n labels: {\n style: {\n ...CHART_FONT_STYLES,\n textOverflow: 'none',\n wordBreak: 'break-word'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n column: {\n borderRadius: 4,\n dataLabels: {\n enabled: true,\n style: CHART_FONT_STYLES,\n inside: false,\n crop: false,\n overflow: 'allow'\n },\n groupPadding: 0,\n minPointLength: 8\n }\n },\n series: [{\n type: 'column',\n label: {\n enabled: false\n },\n states: {\n hover: {\n enabled: false\n }\n }\n }]\n};\n\nconst getChartOptions = (\n categories: string[],\n data: Highcharts.PointOptionsObject[],\n labelAnnotations?: LabelAnnotations\n): Highcharts.Options => ({\n ...STATIC_COLUMN_CHART_OPTIONS,\n xAxis: {\n ...STATIC_COLUMN_CHART_OPTIONS.xAxis,\n categories,\n labels: {\n ...(STATIC_COLUMN_CHART_OPTIONS.xAxis as Highcharts.XAxisOptions).labels,\n useHTML: true,\n // Must be a function and not an arrow function to access `this.value`\n formatter: function () {\n return formatAnnotatedLabel(this.value as string, labelAnnotations);\n }\n }\n },\n series: [{\n type: 'column',\n label: {\n enabled: false\n },\n states: {\n hover: {\n enabled: false\n }\n },\n data\n }]\n});\n\ninterface ColumnChartProps {\n data: Highcharts.PointOptionsObject[];\n labelAnnotations?: LabelAnnotations;\n}\n\nexport function ColumnChart(props: ColumnChartProps) {\n const chartOptions = getChartOptions(props.data.map(data => data.name as string), props.data, props.labelAnnotations);\n\n return (\n <AnnotatedChart\n options={chartOptions}\n annotations={props.labelAnnotations}\n className='h-100'\n containerProps={{ className: 'h-100' }}\n />\n );\n}\n",":local {\n .image {\n width: 12.5rem;\n height: auto;\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/ReportsImageUrls';\n\nimport styles from './total-views-by-role-card-empty-state.module.scss';\n\nconst namespace = 'reportsShared.totalViewsByRoleCardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function TotalViewsByRoleCardEmptyState() {\n return (\n <EmptyState className='flex-grow-1 justify-content-center'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Shared.Ticket}\n className={styles.image}\n />\n <EmptyState.Heading className='h6'>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n {getPhrase('description')}\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nimport { ColumnChart } from 'shared/components/column-chart/ColumnChart';\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { compareGroupNames } from 'shared/utils/GroupSortUtils';\nimport { mapUserTypeToChartColour, mapUserTypeToChartLabel } from 'shared/utils/UserUtils';\nimport { TotalViewsByRoleCardEmptyState } from 'shared/views/overview-cards/video-views-by-role-card/empty-state/TotalViewsByRoleCardEmptyState';\n\nconst namespace = 'reportsShared.videoViewsByRoleCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface VideoViewsByRoleCardProps {\n videoId?: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoViewsByRoleCardView(props: VideoViewsByRoleCardProps) {\n const requestFilter = useGetRequestFilter('video-views');\n\n const viewsByGroup = Flight.useBasicFetch<GroupedAnalyticsCount[]>(props.videoId ?\n VideoViewsV2Requests.videoAggregation(props.videoId, 'user_type', requestFilter) :\n VideoViewsV2Requests.aggregation('user_type', requestFilter));\n\n function getChartData(views: GroupedAnalyticsCount[]): Highcharts.PointOptionsObject[] {\n if (!views) return null;\n\n // Bucketing System user data as Anonymous\n const mergedViews = views.reduce((acc, val) => {\n const key = [ UserGroup.System, '255' ].includes(val.name) ? null : val.name;\n const existing = acc.find(v => v.name === key);\n\n if (existing)\n existing.count += val.count;\n else\n acc.push({ name: key, count: val.count });\n\n return acc;\n }, []);\n\n return mergedViews.map(group => ({\n name: mapUserTypeToChartLabel(group.name),\n y: group.count,\n color: mapUserTypeToChartColour(group.name as UserGroup)\n })).sort((a, b) => compareGroupNames(a.name, b.name));\n }\n\n const chartData = getChartData(viewsByGroup.data);\n\n return (\n <div className='d-flex flex-column h-100 bg-white rounded p-3'>\n {chartData ?\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='videoViews' /></h2>\n\n {chartData.length ?\n <div className='flex-grow-1 position-relative'>\n <div className='position-absolute w-100 h-100'>\n <ColumnChart data={chartData} labelAnnotations={{\n 'Classroom views': {\n onClick: () => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.DEFAULT,\n action: Actions.Default.CLASSROOM_VIEWS_POPUP\n });\n },\n tooltip: getPhrase('classroomViewsSettings')\n }\n }} />\n </div>\n </div> :\n <TotalViewsByRoleCardEmptyState />\n }\n </> :\n <div className='partial-loading-background w-25'> </div>\n }\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DSOStB3B.chunk.js","names":[],"sources":["../../src/shared/components/column-chart/ColumnChart.tsx","../../src/shared/views/overview-cards/video-views-by-role-card/empty-state/total-views-by-role-card-empty-state.module.scss","../../src/shared/views/overview-cards/video-views-by-role-card/empty-state/TotalViewsByRoleCardEmptyState.tsx","../../src/shared/views/overview-cards/video-views-by-role-card/VideoViewsByRoleCardView.tsx"],"sourcesContent":["import React from 'react';\nimport Highcharts from 'highcharts';\n\nimport { AnnotatedChart, formatAnnotatedLabel, LabelAnnotations } from 'shared/components/annotated-chart/AnnotatedChart';\nimport { CHART_FONT_STYLES } from 'shared/constants/ChartStyles';\n\nconst STATIC_COLUMN_CHART_OPTIONS: Highcharts.Options = {\n chart: {\n spacing: [ 20, 0, 4, 0 ]\n },\n title: {\n text: null\n },\n tooltip: {\n enabled: false\n },\n credits: {\n enabled: false\n },\n yAxis: {\n gridLineWidth: 0,\n labels: {\n enabled: false\n },\n title: {\n text: null\n },\n endOnTick: true,\n tickAmount: 10\n },\n xAxis: {\n lineWidth: 0,\n labels: {\n style: {\n ...CHART_FONT_STYLES,\n textOverflow: 'none',\n wordBreak: 'break-word'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n column: {\n borderRadius: 4,\n dataLabels: {\n enabled: true,\n style: CHART_FONT_STYLES,\n inside: false,\n crop: false,\n overflow: 'allow'\n },\n groupPadding: 0,\n minPointLength: 8\n }\n },\n series: [{\n type: 'column',\n label: {\n enabled: false\n },\n states: {\n hover: {\n enabled: false\n }\n }\n }]\n};\n\nconst getChartOptions = (\n categories: string[],\n data: Highcharts.PointOptionsObject[],\n labelAnnotations?: LabelAnnotations\n): Highcharts.Options => ({\n ...STATIC_COLUMN_CHART_OPTIONS,\n xAxis: {\n ...STATIC_COLUMN_CHART_OPTIONS.xAxis,\n categories,\n labels: {\n ...(STATIC_COLUMN_CHART_OPTIONS.xAxis as Highcharts.XAxisOptions).labels,\n useHTML: true,\n // Must be a function and not an arrow function to access `this.value`\n formatter: function () {\n return formatAnnotatedLabel(this.value as string, labelAnnotations);\n }\n }\n },\n series: [{\n type: 'column',\n label: {\n enabled: false\n },\n states: {\n hover: {\n enabled: false\n }\n },\n data\n }]\n});\n\ninterface ColumnChartProps {\n data: Highcharts.PointOptionsObject[];\n labelAnnotations?: LabelAnnotations;\n}\n\nexport function ColumnChart(props: ColumnChartProps) {\n const chartOptions = getChartOptions(props.data.map(data => data.name as string), props.data, props.labelAnnotations);\n\n return (\n <AnnotatedChart\n options={chartOptions}\n annotations={props.labelAnnotations}\n className='h-100'\n containerProps={{ className: 'h-100' }}\n />\n );\n}\n",":local {\n .image {\n width: 12.5rem;\n height: auto;\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/ReportsImageUrls';\n\nimport styles from './total-views-by-role-card-empty-state.module.scss';\n\nconst namespace = 'reportsShared.totalViewsByRoleCardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function TotalViewsByRoleCardEmptyState() {\n return (\n <EmptyState className='flex-grow-1 justify-content-center'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Shared.Ticket}\n className={styles.image}\n />\n <EmptyState.Heading className='h6'>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info className='w-100'>\n {getPhrase('description')}\n </EmptyState.Info>\n </EmptyState>\n );\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nimport { ColumnChart } from 'shared/components/column-chart/ColumnChart';\nimport { Actions } from 'shared/constants/ReportsActions';\nimport { AppChannels } from 'shared/constants/ReportsRadioChannels';\nimport { VideoViewsV2Requests } from 'shared/flight-requests/VideoViewsV2Requests';\nimport { useGetRequestFilter } from 'shared/hooks/UseGetFilterQueryParams';\nimport { compareGroupNames } from 'shared/utils/GroupSortUtils';\nimport { mapUserTypeToChartColour, mapUserTypeToChartLabel } from 'shared/utils/UserUtils';\nimport { TotalViewsByRoleCardEmptyState } from 'shared/views/overview-cards/video-views-by-role-card/empty-state/TotalViewsByRoleCardEmptyState';\n\nconst namespace = 'reportsShared.videoViewsByRoleCard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface VideoViewsByRoleCardProps {\n videoId?: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoViewsByRoleCardView(props: VideoViewsByRoleCardProps) {\n const requestFilter = useGetRequestFilter('video-views');\n\n const viewsByGroup = Flight.useBasicFetch<GroupedAnalyticsCount[]>(props.videoId ?\n VideoViewsV2Requests.videoAggregation(props.videoId, 'user_type', requestFilter) :\n VideoViewsV2Requests.aggregation('user_type', requestFilter));\n\n function getChartData(views: GroupedAnalyticsCount[]): Highcharts.PointOptionsObject[] {\n if (!views) return null;\n\n // Bucketing System user data as Anonymous\n const mergedViews = views.reduce((acc, val) => {\n const key = [ UserGroup.System, '255' ].includes(val.name) ? null : val.name;\n const existing = acc.find(v => v.name === key);\n\n if (existing)\n existing.count += val.count;\n else\n acc.push({ name: key, count: val.count });\n\n return acc;\n }, []);\n\n return mergedViews.map(group => ({\n name: mapUserTypeToChartLabel(group.name),\n y: group.count,\n color: mapUserTypeToChartColour(group.name as UserGroup)\n })).sort((a, b) => compareGroupNames(a.name, b.name));\n }\n\n const chartData = getChartData(viewsByGroup.data);\n\n return (\n <div className='d-flex flex-column h-100 bg-white rounded p-3'>\n {chartData ?\n <>\n <h2 className='h6 mb-3'><Text namespace={namespace} phrase='videoViews' /></h2>\n\n {chartData.length ?\n <div className='flex-grow-1 position-relative'>\n <div className='position-absolute w-100 h-100'>\n <ColumnChart data={chartData} labelAnnotations={{\n 'Classroom views': {\n onClick: () => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.DEFAULT,\n action: Actions.Default.CLASSROOM_VIEWS_POPUP\n });\n },\n tooltip: getPhrase('classroomViewsSettings')\n }\n }} />\n </div>\n </div> :\n <TotalViewsByRoleCardEmptyState />\n }\n </> :\n <div className='partial-loading-background w-25'> </div>\n }\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{P as e,st as t}from"./BSV_W0cK.chunk.js";import{f as n}from"./
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{P as e,st as t}from"./BSV_W0cK.chunk.js";import{f as n}from"./LH8waKdJ2.chunk.js";t();var r=e();function i(e){return(0,r.jsx)(`svg`,{...e,children:(0,r.jsx)(`path`,{fill:`currentColor`,d:n})})}export{i as t};
|
|
2
|
+
//# sourceMappingURL=DaN1d6Pn2.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"DaN1d6Pn2.chunk.js","names":[],"sources":["../../../../libs/shared/src/images/svg/objects/CogSvg.tsx"],"sourcesContent":["import React from 'react';\n\nimport { COG_SVG_PATH } from './CogSvgPath';\n\nexport function CogSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path fill='currentColor' d={COG_SVG_PATH} />\n </svg>\n );\n}\n"],"mappings":"uGAIA,SAAgB,EAAO,EAAsC,CAC3D,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,GAAI,YACP,EAAA,EAAA,KAAC,OAAD,CAAM,KAAK,eAAe,EAAG,EAAgB,CAAA,CACzC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{A as e,Kn as t,N as n,P as r,Q as i,U as a,Wn as o,Yt as s,an as c,et as l,nn as ee,st as u,z as d}from"./BSV_W0cK.chunk.js";import{r as f,y as p}from"./COrUmz0l.chunk.js";import{i as m}from"./DVHj6R3-.chunk.js";import{b as te,d as h,n as g,p as ne}from"./DLiesDxa.chunk.js";import{t as re}from"./BDdd6NA7.chunk.js";import{n as _}from"./CNQKHXPY.chunk.js";import{t as ie}from"./D_tyQz4J.chunk.js";import{c as v,i as y,o as b}from"./Chh-4QFk.chunk.js";import{t as x}from"./BXBnJv6U.chunk.js";import{t as S}from"./Bqlm3yF_.chunk.js";import{t as ae}from"./CO7H3BC5.chunk.js";import{n as oe}from"./BfFVn85k.chunk.js";import{t as C}from"./uMt2JXFV.chunk.js";import{n as w,t as se}from"./Btl_wt9M.chunk.js";import{a as ce,t as T}from"./DjcvhO-s.chunk.js";import{C as E,I as le,J as ue,R as de,X as D,Y as fe,Z as O,it as pe,tt as me,w as he}from"./app-cakVQEAF.js";import{a as k,c as A,d as j,f as ge,l as M,n as N,o as _e,r as P,t as ve}from"./BPVl1Je7.chunk.js";import{n as ye,t as be}from"./CbaXvmNl2.chunk.js";import{n as xe,t as Se}from"./DPmS69Mt2.chunk.js";import{t as Ce}from"./B2gYhRWM2.chunk.js";var we=t(ue()),F=t(u()),Te=t(c()),I=function(e){return e[e.Other=0]=`Other`,e[e.SuggestImprovement=1]=`SuggestImprovement`,e[e.ReportBug=2]=`ReportBug`,e[e.RequestVideo=3]=`RequestVideo`,e[e.RaiseIssue=4]=`RaiseIssue`,e[e.GivePraise=5]=`GivePraise`,e[e.Footer=6]=`Footer`,e[e.RequestLivestream=7]=`RequestLivestream`,e}({}),Ee={presentationAudiences(e,t){let n={type:e};return{bootstrapName:`presentationAudiences`,url:_.urlBuilder(`{gateway}/v1/users/me/audiences`,n),publicUrl:_.urlBuilder(`/api/subjects/presentation/${t}/audiences`,n),key:`presentation:audiences:${t}:${e}`,normalize:!1}},audiencesByPresentationId(e){return{url:`{gateway}/v1/subjects/presentations/${e}/audiences`,publicUrl:_.urlBuilder(`/api/subjects/presentation/${e}/audiences`,{type:ge.Subject.toLowerCase(),presentationId:e}),key:`presentation:${e}:audiences`,normalize:!1}}},De={submitFeedback(e,t){return{url:`{gateway}/v1/feedback`,key:`submit:feedback`,type:te.POST,data:{...e,...t}}}};function Oe(e,t,n=[]){let[,r]=F.useState(!1);return F.useEffect(()=>{let n=e();if(n)return n.off(`add remove change`),n.on(`add remove change`,()=>{r(e=>!e)}),t&&n.on(`remove`,t),()=>{n.off(`add remove change`)}},n),e()?.toJSON()}var ke=S.encloseNamespace(`shared.studentRestrictedDialogError`),Ae=class extends C{constructor(){super(`Learner accessing feature that is for staff only`)}get name(){return`StudentRestrictedDialogError`}get dialogOptions(){return{title:ke(`heading`),text:ke(`description`),buttons:[{text:ke(`close`),className:`btn btn-link`,close:!0}]}}};function je(){let{hasPermissions:e,isLoaded:t}=le();F.useEffect(()=>{if(!t||!e(b.StudentExperience))return;let n=new Ae;pe.logError(n),s.throw(n)},[t])}var Me=function(e){return e.AU=`au`,e.NZ=`nz`,e.UK=`uk`,e.US=`us`,e.CA=`ca`,e}({}),Ne={[Me.AU]:`au`,[Me.NZ]:`nz`,[Me.UK]:`uk`,[Me.US]:`us`,[Me.CA]:`ca`},Pe={getUserInfo:(e,t)=>({id:e.id,username:e.username,email:e.email,userType:e.role===v.Admin?`Admin`:`Staff`,customerId:e.customerId,cvcId:t.crmId,customerName:t.name,instanceRegion:e.instanceRegion,contentRegion:e.contentRegion,firstName:e.givenName,lastName:e.familyName}),mapCountryCodeToTag:e=>Ne[e.toLowerCase()],getTags:(e,t,n,r)=>{let i=[t,...r];i.push(n?`student`:`staff`),e.role===v.Admin&&i.push(`administrator`);let a=Pe.mapCountryCodeToTag(e.countryCode);return a&&i.push(a),i},categorizeFiles(e){return e.reduce((e,t)=>{let n=t.get(`fileInfo`);return we.default.isValidFile(t.get(`file`),D.VIDEO)?e.videoUrls.push(n?.url):e.imageUrls.push(n?.url),e},{imageUrls:[],videoUrls:[]})}},L=function(e){return e.SUGGEST_IMPROVEMENT=`suggestImprovement`,e.REPORT_BUG=`reportBug`,e.REQUEST_VIDEO=`requestVideo`,e.REQUEST_LIVESTREAM=`requestLivestream`,e.GIVE_PRAISE=`givePraise`,e.RAISE_ISSUE=`raiseIssue`,e.OTHER=`other`,e}({}),R=S.encloseNamespace(`shared.feedbackFormTitles`),Fe=e=>{switch(e){case L.SUGGEST_IMPROVEMENT:return R(e);case L.REPORT_BUG:return R(e);case L.REQUEST_VIDEO:return R(e);case L.REQUEST_LIVESTREAM:return R(e);case L.GIVE_PRAISE:return R(e);case L.RAISE_ISSUE:return R(e);case L.OTHER:return R(e)}},z={mailSent:`https://img.clickviewapp.com/v2/images/2mZ7L9`,mediaPreview:`https://img.clickviewapp.com/v2/images/ageRM0`,lightBulb:`https://img.clickviewapp.com/v2/images/Oqg3JN`,heartHands:`https://img.clickviewapp.com/v2/images/1ML8Oj`,videoAlert:`https://img.clickviewapp.com/v2/images/dq2oMq`,[L.REQUEST_VIDEO]:{default:`https://img.clickviewapp.com/v2/images/G1YGdn`,hover:`https://img.clickviewapp.com/v2/images/K6yPxz`},[L.REQUEST_LIVESTREAM]:{default:`https://img.clickviewapp.com/v2/images/G1YGdn`,hover:`https://img.clickviewapp.com/v2/images/K6yPxz`},[L.SUGGEST_IMPROVEMENT]:{default:`https://img.clickviewapp.com/v2/images/g7aR1l`,hover:`https://img.clickviewapp.com/v2/images/zMR0Dk`},[L.RAISE_ISSUE]:{default:`https://img.clickviewapp.com/v2/images/5boW78`,hover:`https://img.clickviewapp.com/v2/images/m6yRKr`},[L.GIVE_PRAISE]:{default:`https://img.clickviewapp.com/v2/images/nE1mdz`,hover:`https://img.clickviewapp.com/v2/images/JjEnmR`},[L.REPORT_BUG]:{default:`https://img.clickviewapp.com/v2/images/AOdYpo`,hover:`https://img.clickviewapp.com/v2/images/yro9NM`},[L.OTHER]:{default:`https://img.clickviewapp.com/v2/images/Eoaykj`,hover:`https://img.clickviewapp.com/v2/images/wN59Zg`}},Ie={image:`_image_1gpfb_1`},B=r();function Le(e){let[t,n]=Ce(),r=z[e.option];return(0,B.jsx)(p,{ref:t,className:`col-lg-4 col-sm-6 col-12`,onClick:()=>e.onSelectOption(e.option),children:(0,B.jsxs)(`div`,{className:`d-flex flex-column align-items-center h-100 rounded border py-3 gap-2`,children:[(0,B.jsx)(`img`,{className:Ie.image,src:n?r.hover:r.default,alt:Fe(e.option)}),(0,B.jsx)(`p`,{className:`fw-semibold text-center mb-0`,children:Fe(e.option)})]})})}function Re(e){return(0,B.jsx)(`div`,{className:`row g-2`,children:e.options.map(t=>(0,B.jsx)(Le,{option:t,onSelectOption:e.onSelectOption},t))})}var ze=S.encloseNamespace(`shared.feedbackButtons`);function Be(e){let t=N();return(0,B.jsxs)(T,{children:[e.formStage===`form`&&(0,B.jsxs)(B.Fragment,{children:[!e.hideCancelButton&&(0,B.jsx)(T.Cancel,{onClick:()=>e.setSelectedOption(null),text:ze(`cancel`)}),(0,B.jsx)(T.Submit,{variant:`dark`,text:e.submitText||ze(`submit`),disabled:!t.isValid})]}),e.formStage===`success`&&(0,B.jsx)(T.Cancel,{variant:`dark`,text:ze(`close`),onClick:e.closePopup})]})}var Ve={successImage:`_successImage_3sso6_1`},He=S.encloseNamespace(`shared.feedbackFormState`);function Ue(e){return e.formStage===`form`||e.formStage===`error`?(0,B.jsx)(B.Fragment,{}):(0,B.jsxs)(`div`,{className:`text-center`,children:[(0,B.jsx)(`div`,{className:`mb-3`,children:(0,B.jsx)(`img`,{className:Ve.successImage,src:e.successImageUrl||z.mailSent})}),(0,B.jsx)(`h4`,{className:`mb-3`,children:e.successHeading||He(`successHeading`)}),(0,B.jsx)(`p`,{className:`mb-3`,children:e.successDescription||He(`successDescription`)})]})}var V=t(k()),We=S.encloseNamespace(`shared.feedbackForm`),Ge=5e3,H=e=>{switch(e){case`requiredError`:return We(e);case`minCharactersError`:return We(e,{limit:10});case`maxCharactersError`:return We(`maxCharactersError`,{limit:Ge})}},U=()=>V.string().min(10,H(`minCharactersError`)).max(Ge,H(`maxCharactersError`)),Ke=S.encloseNamespace(`shared.feedbackGivePraise`),qe={praise:``},Je=V.object().shape({praise:U().required(H(`requiredError`))}).noUnknown();function Ye(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:Ke(`givePraisePlaceholder`),label:Ke(`givePraiseLabel`),name:`praise`,rows:5,value:e.values.praise,showRequiredStar:!0})})}function Xe(e){return(0,B.jsx)(Q,{...e,initialValues:{...qe,...e.initialValues},validationSchema:Je,successImageUrl:z.heartHands,successHeading:Ke(`successHeading`),successDescription:Ke(`successDescription`),children:(0,B.jsx)(Ye,{})})}var Ze=S.encloseNamespace(`shared.feedbackOther`),Qe={feedback:``},$e=V.object().shape({feedback:U().required(H(`requiredError`))}).noUnknown();function et(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:Ze(`otherPlaceholder`),label:Ze(`otherLabel`),name:`feedback`,rows:5,value:e.values.feedback,showRequiredStar:!0})})}function tt(e){return(0,B.jsx)(Q,{...e,initialValues:{...Qe,...e.initialValues},validationSchema:$e,children:(0,B.jsx)(et,{})})}var nt=S.encloseNamespace(`shared.feedbackRaiseIssue`),rt={issue:``},it=V.object().shape({issue:U().required(H(`requiredError`))}).noUnknown();function at(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:nt(`raiseIssuePlaceholder`),label:nt(`raiseIssueLabel`),name:`issue`,rows:5,value:e.values.issue,showRequiredStar:!0})})}function ot(e){return(0,B.jsx)(Q,{...e,initialValues:{...rt,...e.initialValues},validationSchema:it,children:(0,B.jsx)(at,{})})}var st={[x.AU]:{phone:`02 9509 2600`,email:`support@clickview.com.au`,website:`https://www.clickviewsupport.com/hc`},[x.UK]:{phone:`+44 (0)333 207 6595`,email:`info@clickview.co.uk`,website:`https://www.clickviewsupport.com/hc`},[x.NZ]:{phone:`09 916 1156`,email:`support@clickview.co.nz`,website:`https://www.clickviewsupport.com/hc`},[x.US]:{phone:`+1 312-292-9322`,email:`info@clickvieweducation.com`,website:`https://www.clickviewsupport.com/hc`}};function ct(e){return(0,B.jsx)(`svg`,{...e,children:(0,B.jsx)(`path`,{fill:`currentColor`,d:`M4 6.462C4 6.207 4.21 6 4.47 6h15.06c.26 0 .47.207.47.462v10.892a.653.653 0 0 1-.659.646H4.66A.653.653 0 0 1 4 17.354zm1.723.461 5.967 5.12a.48.48 0 0 0 .62 0l5.967-5.12zm13.336.556-6.13 5.26a1.43 1.43 0 0 1-1.859 0l-6.129-5.26v9.598H19.06z`})})}function lt(e){return(0,B.jsx)(`svg`,{...e,children:(0,B.jsx)(`path`,{fill:`currentColor`,d:`M15.928 20c1.348 0 2.33-.38 3.185-1.297.051-.057.097-.114.139-.161.505-.547.742-1.102.742-1.62 0-.545-.3-1.057-.941-1.492l-2.444-1.687c-.695-.477-1.51-.553-2.247.163l-.61.605c-.189.189-.387.218-.615.09-.417-.249-1.35-1.014-2.067-1.727-.785-.78-1.34-1.42-1.678-2.01-.127-.23-.098-.427.09-.616l.612-.616c.716-.726.64-1.552.157-2.243L8.575 4.952c-.446-.646-.953-.94-1.503-.952-.512-.01-1.071.242-1.614.742-.057.052-.104.098-.157.145C4.39 5.727 4 6.714 4 8.047c0 2.358 1.53 5.21 4.143 7.815C10.736 18.45 13.569 20 15.928 20m.006-1.018c-2.146.023-4.837-1.6-7.046-3.81-2.226-2.214-3.9-4.976-3.87-7.127.013-.942.335-1.764 1.014-2.39l.13-.112c.306-.282.63-.432.897-.432.266 0 .495.124.674.394l1.635 2.44c.209.307.247.66-.107 1.002l-.693.689c-.5.5-.484 1.153-.135 1.66.403.593 1.182 1.497 1.95 2.262.765.775 1.733 1.605 2.321 2.009.512.348 1.16.364 1.659-.141l.684-.694c.348-.342.7-.309 1.014-.1l2.433 1.635c.276.18.389.402.389.668 0 .283-.14.597-.437.908a1 1 0 0 1-.102.12c-.63.689-1.462 1.006-2.41 1.018`})})}function ut(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function dt(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function ft(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function pt(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var mt=new Map([[`aac`,`audio/aac`],[`abw`,`application/x-abiword`],[`arc`,`application/x-freearc`],[`avif`,`image/avif`],[`avi`,`video/x-msvideo`],[`azw`,`application/vnd.amazon.ebook`],[`bin`,`application/octet-stream`],[`bmp`,`image/bmp`],[`bz`,`application/x-bzip`],[`bz2`,`application/x-bzip2`],[`cda`,`application/x-cdf`],[`csh`,`application/x-csh`],[`css`,`text/css`],[`csv`,`text/csv`],[`doc`,`application/msword`],[`docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`eot`,`application/vnd.ms-fontobject`],[`epub`,`application/epub+zip`],[`gz`,`application/gzip`],[`gif`,`image/gif`],[`heic`,`image/heic`],[`heif`,`image/heif`],[`htm`,`text/html`],[`html`,`text/html`],[`ico`,`image/vnd.microsoft.icon`],[`ics`,`text/calendar`],[`jar`,`application/java-archive`],[`jpeg`,`image/jpeg`],[`jpg`,`image/jpeg`],[`js`,`text/javascript`],[`json`,`application/json`],[`jsonld`,`application/ld+json`],[`mid`,`audio/midi`],[`midi`,`audio/midi`],[`mjs`,`text/javascript`],[`mp3`,`audio/mpeg`],[`mp4`,`video/mp4`],[`mpeg`,`video/mpeg`],[`mpkg`,`application/vnd.apple.installer+xml`],[`odp`,`application/vnd.oasis.opendocument.presentation`],[`ods`,`application/vnd.oasis.opendocument.spreadsheet`],[`odt`,`application/vnd.oasis.opendocument.text`],[`oga`,`audio/ogg`],[`ogv`,`video/ogg`],[`ogx`,`application/ogg`],[`opus`,`audio/opus`],[`otf`,`font/otf`],[`png`,`image/png`],[`pdf`,`application/pdf`],[`php`,`application/x-httpd-php`],[`ppt`,`application/vnd.ms-powerpoint`],[`pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`rar`,`application/vnd.rar`],[`rtf`,`application/rtf`],[`sh`,`application/x-sh`],[`svg`,`image/svg+xml`],[`swf`,`application/x-shockwave-flash`],[`tar`,`application/x-tar`],[`tif`,`image/tiff`],[`tiff`,`image/tiff`],[`ts`,`video/mp2t`],[`ttf`,`font/ttf`],[`txt`,`text/plain`],[`vsd`,`application/vnd.visio`],[`wav`,`audio/wav`],[`weba`,`audio/webm`],[`webm`,`video/webm`],[`webp`,`image/webp`],[`woff`,`font/woff`],[`woff2`,`font/woff2`],[`xhtml`,`application/xhtml+xml`],[`xls`,`application/vnd.ms-excel`],[`xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`xml`,`application/xml`],[`xul`,`application/vnd.mozilla.xul+xml`],[`zip`,`application/zip`],[`7z`,`application/x-7z-compressed`],[`mkv`,`video/x-matroska`],[`mov`,`video/quicktime`],[`msg`,`application/vnd.ms-outlook`]]);function ht(e,t){var n=gt(e);if(typeof n.path!=`string`){var r=e.webkitRelativePath;Object.defineProperty(n,`path`,{value:typeof t==`string`?t:typeof r==`string`&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function gt(e){var t=e.name;if(t&&t.lastIndexOf(`.`)!==-1&&!e.type){var n=t.split(`.`).pop().toLowerCase(),r=mt.get(n);r&&Object.defineProperty(e,`type`,{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}var _t=[`.DS_Store`,`Thumbs.db`];function vt(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return xt(e)&&yt(e.dataTransfer)?[2,wt(e.dataTransfer,e.type)]:bt(e)?[2,St(e)]:Array.isArray(e)&&e.every(function(e){return`getFile`in e&&typeof e.getFile==`function`})?[2,Ct(e)]:[2,[]]})})}function yt(e){return xt(e)}function bt(e){return xt(e)&&xt(e.target)}function xt(e){return typeof e==`object`&&!!e}function St(e){return Et(e.target.files).map(function(e){return ht(e)})}function Ct(e){return ut(this,void 0,void 0,function(){var t;return dt(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(e){return e.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(e){return ht(e)})]}})})}function wt(e,t){return ut(this,void 0,void 0,function(){var n,r;return dt(this,function(i){switch(i.label){case 0:return e.items?(n=Et(e.items).filter(function(e){return e.kind===`file`}),t===`drop`?[4,Promise.all(n.map(Dt))]:[2,n]):[3,2];case 1:return r=i.sent(),[2,Tt(Ot(r))];case 2:return[2,Tt(Et(e.files).map(function(e){return ht(e)}))]}})})}function Tt(e){return e.filter(function(e){return _t.indexOf(e.name)===-1})}function Et(e){if(e===null)return[];for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r)}return t}function Dt(e){if(typeof e.webkitGetAsEntry!=`function`)return kt(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?jt(t):kt(e)}function Ot(e){return e.reduce(function(e,t){return pt(pt([],ft(e),!1),ft(Array.isArray(t)?Ot(t):[t]),!1)},[])}function kt(e){var t=e.getAsFile();if(!t)return Promise.reject(`${e} is not a File`);var n=ht(t);return Promise.resolve(n)}function At(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return[2,e.isDirectory?jt(e):Mt(e)]})})}function jt(e){var t=e.createReader();return new Promise(function(e,n){var r=[];function i(){var a=this;t.readEntries(function(t){return ut(a,void 0,void 0,function(){var a,o,s;return dt(this,function(c){switch(c.label){case 0:if(t.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(r)];case 2:return a=c.sent(),e(a),[3,4];case 3:return o=c.sent(),n(o),[3,4];case 4:return[3,6];case 5:s=Promise.all(t.map(At)),r.push(s),i(),c.label=6;case 6:return[2]}})})},function(e){n(e)})}i()})}function Mt(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return[2,new Promise(function(t,n){e.file(function(n){t(ht(n,e.fullPath))},function(e){n(e)})})]})})}var Nt=o((e=>{e.__esModule=!0,e.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(`,`);if(n.length===0)return!0;var r=e.name||``,i=(e.type||``).toLowerCase(),a=i.replace(/\/.*$/,``);return n.some(function(e){var t=e.trim().toLowerCase();return t.charAt(0)===`.`?r.toLowerCase().endsWith(t):t.endsWith(`/*`)?a===t.replace(/\/.*$/,``):i===t})}return!0}})),W=t(e()),Pt=t(Nt());function Ft(e){return Rt(e)||Lt(e)||Wt(e)||It()}function It(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
1
|
+
import{A as e,Kn as t,N as n,P as r,Q as i,U as a,Wn as o,Yt as s,an as c,et as l,nn as ee,st as u,z as d}from"./BSV_W0cK.chunk.js";import{r as f,y as p}from"./COrUmz0l.chunk.js";import{i as m}from"./DVHj6R3-.chunk.js";import{b as te,d as h,n as g,p as ne}from"./DLiesDxa.chunk.js";import{t as re}from"./BDdd6NA7.chunk.js";import{n as _}from"./CNQKHXPY.chunk.js";import{t as ie}from"./D_tyQz4J.chunk.js";import{c as v,i as y,o as b}from"./Chh-4QFk.chunk.js";import{t as x}from"./BXBnJv6U.chunk.js";import{t as S}from"./Bqlm3yF_.chunk.js";import{t as ae}from"./CO7H3BC5.chunk.js";import{n as oe}from"./BfFVn85k.chunk.js";import{t as C}from"./uMt2JXFV.chunk.js";import{n as w,t as se}from"./Btl_wt9M.chunk.js";import{a as ce,t as T}from"./DjcvhO-s.chunk.js";import{C as E,I as le,J as ue,R as de,X as D,Y as fe,Z as O,it as pe,tt as me,w as he}from"./app-DLh9RnwX.js";import{a as k,c as A,d as j,f as ge,l as M,n as N,o as _e,r as P,t as ve}from"./DeQ431eX.chunk.js";import{n as ye,t as be}from"./CbaXvmNl2.chunk.js";import{n as xe,t as Se}from"./DPmS69Mt2.chunk.js";import{t as Ce}from"./B2gYhRWM2.chunk.js";var we=t(ue()),F=t(u()),Te=t(c()),I=function(e){return e[e.Other=0]=`Other`,e[e.SuggestImprovement=1]=`SuggestImprovement`,e[e.ReportBug=2]=`ReportBug`,e[e.RequestVideo=3]=`RequestVideo`,e[e.RaiseIssue=4]=`RaiseIssue`,e[e.GivePraise=5]=`GivePraise`,e[e.Footer=6]=`Footer`,e[e.RequestLivestream=7]=`RequestLivestream`,e}({}),Ee={presentationAudiences(e,t){let n={type:e};return{bootstrapName:`presentationAudiences`,url:_.urlBuilder(`{gateway}/v1/users/me/audiences`,n),publicUrl:_.urlBuilder(`/api/subjects/presentation/${t}/audiences`,n),key:`presentation:audiences:${t}:${e}`,normalize:!1}},audiencesByPresentationId(e){return{url:`{gateway}/v1/subjects/presentations/${e}/audiences`,publicUrl:_.urlBuilder(`/api/subjects/presentation/${e}/audiences`,{type:ge.Subject.toLowerCase(),presentationId:e}),key:`presentation:${e}:audiences`,normalize:!1}}},De={submitFeedback(e,t){return{url:`{gateway}/v1/feedback`,key:`submit:feedback`,type:te.POST,data:{...e,...t}}}};function Oe(e,t,n=[]){let[,r]=F.useState(!1);return F.useEffect(()=>{let n=e();if(n)return n.off(`add remove change`),n.on(`add remove change`,()=>{r(e=>!e)}),t&&n.on(`remove`,t),()=>{n.off(`add remove change`)}},n),e()?.toJSON()}var ke=S.encloseNamespace(`shared.studentRestrictedDialogError`),Ae=class extends C{constructor(){super(`Learner accessing feature that is for staff only`)}get name(){return`StudentRestrictedDialogError`}get dialogOptions(){return{title:ke(`heading`),text:ke(`description`),buttons:[{text:ke(`close`),className:`btn btn-link`,close:!0}]}}};function je(){let{hasPermissions:e,isLoaded:t}=le();F.useEffect(()=>{if(!t||!e(b.StudentExperience))return;let n=new Ae;pe.logError(n),s.throw(n)},[t])}var Me=function(e){return e.AU=`au`,e.NZ=`nz`,e.UK=`uk`,e.US=`us`,e.CA=`ca`,e}({}),Ne={[Me.AU]:`au`,[Me.NZ]:`nz`,[Me.UK]:`uk`,[Me.US]:`us`,[Me.CA]:`ca`},Pe={getUserInfo:(e,t)=>({id:e.id,username:e.username,email:e.email,userType:e.role===v.Admin?`Admin`:`Staff`,customerId:e.customerId,cvcId:t.crmId,customerName:t.name,instanceRegion:e.instanceRegion,contentRegion:e.contentRegion,firstName:e.givenName,lastName:e.familyName}),mapCountryCodeToTag:e=>Ne[e.toLowerCase()],getTags:(e,t,n,r)=>{let i=[t,...r];i.push(n?`student`:`staff`),e.role===v.Admin&&i.push(`administrator`);let a=Pe.mapCountryCodeToTag(e.countryCode);return a&&i.push(a),i},categorizeFiles(e){return e.reduce((e,t)=>{let n=t.get(`fileInfo`);return we.default.isValidFile(t.get(`file`),D.VIDEO)?e.videoUrls.push(n?.url):e.imageUrls.push(n?.url),e},{imageUrls:[],videoUrls:[]})}},L=function(e){return e.SUGGEST_IMPROVEMENT=`suggestImprovement`,e.REPORT_BUG=`reportBug`,e.REQUEST_VIDEO=`requestVideo`,e.REQUEST_LIVESTREAM=`requestLivestream`,e.GIVE_PRAISE=`givePraise`,e.RAISE_ISSUE=`raiseIssue`,e.OTHER=`other`,e}({}),R=S.encloseNamespace(`shared.feedbackFormTitles`),Fe=e=>{switch(e){case L.SUGGEST_IMPROVEMENT:return R(e);case L.REPORT_BUG:return R(e);case L.REQUEST_VIDEO:return R(e);case L.REQUEST_LIVESTREAM:return R(e);case L.GIVE_PRAISE:return R(e);case L.RAISE_ISSUE:return R(e);case L.OTHER:return R(e)}},z={mailSent:`https://img.clickviewapp.com/v2/images/2mZ7L9`,mediaPreview:`https://img.clickviewapp.com/v2/images/ageRM0`,lightBulb:`https://img.clickviewapp.com/v2/images/Oqg3JN`,heartHands:`https://img.clickviewapp.com/v2/images/1ML8Oj`,videoAlert:`https://img.clickviewapp.com/v2/images/dq2oMq`,[L.REQUEST_VIDEO]:{default:`https://img.clickviewapp.com/v2/images/G1YGdn`,hover:`https://img.clickviewapp.com/v2/images/K6yPxz`},[L.REQUEST_LIVESTREAM]:{default:`https://img.clickviewapp.com/v2/images/G1YGdn`,hover:`https://img.clickviewapp.com/v2/images/K6yPxz`},[L.SUGGEST_IMPROVEMENT]:{default:`https://img.clickviewapp.com/v2/images/g7aR1l`,hover:`https://img.clickviewapp.com/v2/images/zMR0Dk`},[L.RAISE_ISSUE]:{default:`https://img.clickviewapp.com/v2/images/5boW78`,hover:`https://img.clickviewapp.com/v2/images/m6yRKr`},[L.GIVE_PRAISE]:{default:`https://img.clickviewapp.com/v2/images/nE1mdz`,hover:`https://img.clickviewapp.com/v2/images/JjEnmR`},[L.REPORT_BUG]:{default:`https://img.clickviewapp.com/v2/images/AOdYpo`,hover:`https://img.clickviewapp.com/v2/images/yro9NM`},[L.OTHER]:{default:`https://img.clickviewapp.com/v2/images/Eoaykj`,hover:`https://img.clickviewapp.com/v2/images/wN59Zg`}},Ie={image:`_image_1gpfb_1`},B=r();function Le(e){let[t,n]=Ce(),r=z[e.option];return(0,B.jsx)(p,{ref:t,className:`col-lg-4 col-sm-6 col-12`,onClick:()=>e.onSelectOption(e.option),children:(0,B.jsxs)(`div`,{className:`d-flex flex-column align-items-center h-100 rounded border py-3 gap-2`,children:[(0,B.jsx)(`img`,{className:Ie.image,src:n?r.hover:r.default,alt:Fe(e.option)}),(0,B.jsx)(`p`,{className:`fw-semibold text-center mb-0`,children:Fe(e.option)})]})})}function Re(e){return(0,B.jsx)(`div`,{className:`row g-2`,children:e.options.map(t=>(0,B.jsx)(Le,{option:t,onSelectOption:e.onSelectOption},t))})}var ze=S.encloseNamespace(`shared.feedbackButtons`);function Be(e){let t=N();return(0,B.jsxs)(T,{children:[e.formStage===`form`&&(0,B.jsxs)(B.Fragment,{children:[!e.hideCancelButton&&(0,B.jsx)(T.Cancel,{onClick:()=>e.setSelectedOption(null),text:ze(`cancel`)}),(0,B.jsx)(T.Submit,{variant:`dark`,text:e.submitText||ze(`submit`),disabled:!t.isValid})]}),e.formStage===`success`&&(0,B.jsx)(T.Cancel,{variant:`dark`,text:ze(`close`),onClick:e.closePopup})]})}var Ve={successImage:`_successImage_3sso6_1`},He=S.encloseNamespace(`shared.feedbackFormState`);function Ue(e){return e.formStage===`form`||e.formStage===`error`?(0,B.jsx)(B.Fragment,{}):(0,B.jsxs)(`div`,{className:`text-center`,children:[(0,B.jsx)(`div`,{className:`mb-3`,children:(0,B.jsx)(`img`,{className:Ve.successImage,src:e.successImageUrl||z.mailSent})}),(0,B.jsx)(`h4`,{className:`mb-3`,children:e.successHeading||He(`successHeading`)}),(0,B.jsx)(`p`,{className:`mb-3`,children:e.successDescription||He(`successDescription`)})]})}var V=t(k()),We=S.encloseNamespace(`shared.feedbackForm`),Ge=5e3,H=e=>{switch(e){case`requiredError`:return We(e);case`minCharactersError`:return We(e,{limit:10});case`maxCharactersError`:return We(`maxCharactersError`,{limit:Ge})}},U=()=>V.string().min(10,H(`minCharactersError`)).max(Ge,H(`maxCharactersError`)),Ke=S.encloseNamespace(`shared.feedbackGivePraise`),qe={praise:``},Je=V.object().shape({praise:U().required(H(`requiredError`))}).noUnknown();function Ye(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:Ke(`givePraisePlaceholder`),label:Ke(`givePraiseLabel`),name:`praise`,rows:5,value:e.values.praise,showRequiredStar:!0})})}function Xe(e){return(0,B.jsx)(Q,{...e,initialValues:{...qe,...e.initialValues},validationSchema:Je,successImageUrl:z.heartHands,successHeading:Ke(`successHeading`),successDescription:Ke(`successDescription`),children:(0,B.jsx)(Ye,{})})}var Ze=S.encloseNamespace(`shared.feedbackOther`),Qe={feedback:``},$e=V.object().shape({feedback:U().required(H(`requiredError`))}).noUnknown();function et(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:Ze(`otherPlaceholder`),label:Ze(`otherLabel`),name:`feedback`,rows:5,value:e.values.feedback,showRequiredStar:!0})})}function tt(e){return(0,B.jsx)(Q,{...e,initialValues:{...Qe,...e.initialValues},validationSchema:$e,children:(0,B.jsx)(et,{})})}var nt=S.encloseNamespace(`shared.feedbackRaiseIssue`),rt={issue:``},it=V.object().shape({issue:U().required(H(`requiredError`))}).noUnknown();function at(){let e=N();return(0,B.jsx)(B.Fragment,{children:(0,B.jsx)(P,{as:`textarea`,placeholder:nt(`raiseIssuePlaceholder`),label:nt(`raiseIssueLabel`),name:`issue`,rows:5,value:e.values.issue,showRequiredStar:!0})})}function ot(e){return(0,B.jsx)(Q,{...e,initialValues:{...rt,...e.initialValues},validationSchema:it,children:(0,B.jsx)(at,{})})}var st={[x.AU]:{phone:`02 9509 2600`,email:`support@clickview.com.au`,website:`https://www.clickviewsupport.com/hc`},[x.UK]:{phone:`+44 (0)333 207 6595`,email:`info@clickview.co.uk`,website:`https://www.clickviewsupport.com/hc`},[x.NZ]:{phone:`09 916 1156`,email:`support@clickview.co.nz`,website:`https://www.clickviewsupport.com/hc`},[x.US]:{phone:`+1 312-292-9322`,email:`info@clickvieweducation.com`,website:`https://www.clickviewsupport.com/hc`}};function ct(e){return(0,B.jsx)(`svg`,{...e,children:(0,B.jsx)(`path`,{fill:`currentColor`,d:`M4 6.462C4 6.207 4.21 6 4.47 6h15.06c.26 0 .47.207.47.462v10.892a.653.653 0 0 1-.659.646H4.66A.653.653 0 0 1 4 17.354zm1.723.461 5.967 5.12a.48.48 0 0 0 .62 0l5.967-5.12zm13.336.556-6.13 5.26a1.43 1.43 0 0 1-1.859 0l-6.129-5.26v9.598H19.06z`})})}function lt(e){return(0,B.jsx)(`svg`,{...e,children:(0,B.jsx)(`path`,{fill:`currentColor`,d:`M15.928 20c1.348 0 2.33-.38 3.185-1.297.051-.057.097-.114.139-.161.505-.547.742-1.102.742-1.62 0-.545-.3-1.057-.941-1.492l-2.444-1.687c-.695-.477-1.51-.553-2.247.163l-.61.605c-.189.189-.387.218-.615.09-.417-.249-1.35-1.014-2.067-1.727-.785-.78-1.34-1.42-1.678-2.01-.127-.23-.098-.427.09-.616l.612-.616c.716-.726.64-1.552.157-2.243L8.575 4.952c-.446-.646-.953-.94-1.503-.952-.512-.01-1.071.242-1.614.742-.057.052-.104.098-.157.145C4.39 5.727 4 6.714 4 8.047c0 2.358 1.53 5.21 4.143 7.815C10.736 18.45 13.569 20 15.928 20m.006-1.018c-2.146.023-4.837-1.6-7.046-3.81-2.226-2.214-3.9-4.976-3.87-7.127.013-.942.335-1.764 1.014-2.39l.13-.112c.306-.282.63-.432.897-.432.266 0 .495.124.674.394l1.635 2.44c.209.307.247.66-.107 1.002l-.693.689c-.5.5-.484 1.153-.135 1.66.403.593 1.182 1.497 1.95 2.262.765.775 1.733 1.605 2.321 2.009.512.348 1.16.364 1.659-.141l.684-.694c.348-.342.7-.309 1.014-.1l2.433 1.635c.276.18.389.402.389.668 0 .283-.14.597-.437.908a1 1 0 0 1-.102.12c-.63.689-1.462 1.006-2.41 1.018`})})}function ut(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function dt(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function ft(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function pt(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var mt=new Map([[`aac`,`audio/aac`],[`abw`,`application/x-abiword`],[`arc`,`application/x-freearc`],[`avif`,`image/avif`],[`avi`,`video/x-msvideo`],[`azw`,`application/vnd.amazon.ebook`],[`bin`,`application/octet-stream`],[`bmp`,`image/bmp`],[`bz`,`application/x-bzip`],[`bz2`,`application/x-bzip2`],[`cda`,`application/x-cdf`],[`csh`,`application/x-csh`],[`css`,`text/css`],[`csv`,`text/csv`],[`doc`,`application/msword`],[`docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`eot`,`application/vnd.ms-fontobject`],[`epub`,`application/epub+zip`],[`gz`,`application/gzip`],[`gif`,`image/gif`],[`heic`,`image/heic`],[`heif`,`image/heif`],[`htm`,`text/html`],[`html`,`text/html`],[`ico`,`image/vnd.microsoft.icon`],[`ics`,`text/calendar`],[`jar`,`application/java-archive`],[`jpeg`,`image/jpeg`],[`jpg`,`image/jpeg`],[`js`,`text/javascript`],[`json`,`application/json`],[`jsonld`,`application/ld+json`],[`mid`,`audio/midi`],[`midi`,`audio/midi`],[`mjs`,`text/javascript`],[`mp3`,`audio/mpeg`],[`mp4`,`video/mp4`],[`mpeg`,`video/mpeg`],[`mpkg`,`application/vnd.apple.installer+xml`],[`odp`,`application/vnd.oasis.opendocument.presentation`],[`ods`,`application/vnd.oasis.opendocument.spreadsheet`],[`odt`,`application/vnd.oasis.opendocument.text`],[`oga`,`audio/ogg`],[`ogv`,`video/ogg`],[`ogx`,`application/ogg`],[`opus`,`audio/opus`],[`otf`,`font/otf`],[`png`,`image/png`],[`pdf`,`application/pdf`],[`php`,`application/x-httpd-php`],[`ppt`,`application/vnd.ms-powerpoint`],[`pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`rar`,`application/vnd.rar`],[`rtf`,`application/rtf`],[`sh`,`application/x-sh`],[`svg`,`image/svg+xml`],[`swf`,`application/x-shockwave-flash`],[`tar`,`application/x-tar`],[`tif`,`image/tiff`],[`tiff`,`image/tiff`],[`ts`,`video/mp2t`],[`ttf`,`font/ttf`],[`txt`,`text/plain`],[`vsd`,`application/vnd.visio`],[`wav`,`audio/wav`],[`weba`,`audio/webm`],[`webm`,`video/webm`],[`webp`,`image/webp`],[`woff`,`font/woff`],[`woff2`,`font/woff2`],[`xhtml`,`application/xhtml+xml`],[`xls`,`application/vnd.ms-excel`],[`xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`xml`,`application/xml`],[`xul`,`application/vnd.mozilla.xul+xml`],[`zip`,`application/zip`],[`7z`,`application/x-7z-compressed`],[`mkv`,`video/x-matroska`],[`mov`,`video/quicktime`],[`msg`,`application/vnd.ms-outlook`]]);function ht(e,t){var n=gt(e);if(typeof n.path!=`string`){var r=e.webkitRelativePath;Object.defineProperty(n,`path`,{value:typeof t==`string`?t:typeof r==`string`&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function gt(e){var t=e.name;if(t&&t.lastIndexOf(`.`)!==-1&&!e.type){var n=t.split(`.`).pop().toLowerCase(),r=mt.get(n);r&&Object.defineProperty(e,`type`,{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}var _t=[`.DS_Store`,`Thumbs.db`];function vt(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return xt(e)&&yt(e.dataTransfer)?[2,wt(e.dataTransfer,e.type)]:bt(e)?[2,St(e)]:Array.isArray(e)&&e.every(function(e){return`getFile`in e&&typeof e.getFile==`function`})?[2,Ct(e)]:[2,[]]})})}function yt(e){return xt(e)}function bt(e){return xt(e)&&xt(e.target)}function xt(e){return typeof e==`object`&&!!e}function St(e){return Et(e.target.files).map(function(e){return ht(e)})}function Ct(e){return ut(this,void 0,void 0,function(){var t;return dt(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(e){return e.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(e){return ht(e)})]}})})}function wt(e,t){return ut(this,void 0,void 0,function(){var n,r;return dt(this,function(i){switch(i.label){case 0:return e.items?(n=Et(e.items).filter(function(e){return e.kind===`file`}),t===`drop`?[4,Promise.all(n.map(Dt))]:[2,n]):[3,2];case 1:return r=i.sent(),[2,Tt(Ot(r))];case 2:return[2,Tt(Et(e.files).map(function(e){return ht(e)}))]}})})}function Tt(e){return e.filter(function(e){return _t.indexOf(e.name)===-1})}function Et(e){if(e===null)return[];for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r)}return t}function Dt(e){if(typeof e.webkitGetAsEntry!=`function`)return kt(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?jt(t):kt(e)}function Ot(e){return e.reduce(function(e,t){return pt(pt([],ft(e),!1),ft(Array.isArray(t)?Ot(t):[t]),!1)},[])}function kt(e){var t=e.getAsFile();if(!t)return Promise.reject(`${e} is not a File`);var n=ht(t);return Promise.resolve(n)}function At(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return[2,e.isDirectory?jt(e):Mt(e)]})})}function jt(e){var t=e.createReader();return new Promise(function(e,n){var r=[];function i(){var a=this;t.readEntries(function(t){return ut(a,void 0,void 0,function(){var a,o,s;return dt(this,function(c){switch(c.label){case 0:if(t.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(r)];case 2:return a=c.sent(),e(a),[3,4];case 3:return o=c.sent(),n(o),[3,4];case 4:return[3,6];case 5:s=Promise.all(t.map(At)),r.push(s),i(),c.label=6;case 6:return[2]}})})},function(e){n(e)})}i()})}function Mt(e){return ut(this,void 0,void 0,function(){return dt(this,function(t){return[2,new Promise(function(t,n){e.file(function(n){t(ht(n,e.fullPath))},function(e){n(e)})})]})})}var Nt=o((e=>{e.__esModule=!0,e.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(`,`);if(n.length===0)return!0;var r=e.name||``,i=(e.type||``).toLowerCase(),a=i.replace(/\/.*$/,``);return n.some(function(e){var t=e.trim().toLowerCase();return t.charAt(0)===`.`?r.toLowerCase().endsWith(t):t.endsWith(`/*`)?a===t.replace(/\/.*$/,``):i===t})}return!0}})),W=t(e()),Pt=t(Nt());function Ft(e){return Rt(e)||Lt(e)||Wt(e)||It()}function It(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Rt(e){if(Array.isArray(e))return Gt(e)}function zt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Bt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?zt(Object(n),!0).forEach(function(t){Vt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Vt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){return qt(e)||Kt(e,t)||Wt(e,t)||Ut()}function Ut(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wt(e,t){if(e){if(typeof e==`string`)return Gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Gt(e,t)}}function Gt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Kt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function qt(e){if(Array.isArray(e))return e}var Jt=`file-invalid-type`,Yt=`file-too-large`,Xt=`file-too-small`,Zt=`too-many-files`,Qt=function(e){return e=Array.isArray(e)&&e.length===1?e[0]:e,{code:Jt,message:`File type must be ${Array.isArray(e)?`one of ${e.join(`, `)}`:e}`}},$t=function(e){return{code:Yt,message:`File is larger than ${e} ${e===1?`byte`:`bytes`}`}},en=function(e){return{code:Xt,message:`File is smaller than ${e} ${e===1?`byte`:`bytes`}`}},tn={code:Zt,message:`Too many files`};function nn(e,t){var n=e.type===`application/x-moz-file`||(0,Pt.default)(e,t);return[n,n?null:Qt(t)]}function rn(e,t,n){if(G(e.size)){if(G(t)&&G(n)){if(e.size>n)return[!1,$t(n)];if(e.size<t)return[!1,en(t)]}else if(G(t)&&e.size<t)return[!1,en(t)];else if(G(n)&&e.size>n)return[!1,$t(n)]}return[!0,null]}function G(e){return e!=null}function an(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,a=e.multiple,o=e.maxFiles,s=e.validator;return!a&&t.length>1||a&&o>=1&&t.length>o?!1:t.every(function(e){var t=Ht(nn(e,n),1)[0],a=Ht(rn(e,r,i),1)[0],o=s?s(e):null;return t&&a&&!o})}function on(e){return typeof e.isPropagationStopped==`function`?e.isPropagationStopped():e.cancelBubble===void 0?!1:e.cancelBubble}function sn(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return e===`Files`||e===`application/x-moz-file`}):!!e.target&&!!e.target.files}function cn(e){e.preventDefault()}function ln(e){return e.indexOf(`MSIE`)!==-1||e.indexOf(`Trident/`)!==-1}function un(e){return e.indexOf(`Edge/`)!==-1}function dn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ln(e)||un(e)}function K(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return!on(t)&&e&&e.apply(void 0,[t].concat(n)),on(t)})}}function fn(){return`showOpenFilePicker`in window}function pn(e){return G(e)?[{description:`Files`,accept:Object.entries(e).filter(function(e){var t=Ht(e,2),n=t[0],r=t[1],i=!0;return _n(n)||(console.warn(`Skipped "${n}" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.`),i=!1),(!Array.isArray(r)||!r.every(vn))&&(console.warn(`Skipped "${n}" because an invalid file extension was provided.`),i=!1),i}).reduce(function(e,t){var n=Ht(t,2),r=n[0],i=n[1];return Bt(Bt({},e),{},Vt({},r,i))},{})}]:e}function mn(e){if(G(e))return Object.entries(e).reduce(function(e,t){var n=Ht(t,2),r=n[0],i=n[1];return[].concat(Ft(e),[r],Ft(i))},[]).filter(function(e){return _n(e)||vn(e)}).join(`,`)}function hn(e){return e instanceof DOMException&&(e.name===`AbortError`||e.code===e.ABORT_ERR)}function gn(e){return e instanceof DOMException&&(e.name===`SecurityError`||e.code===e.SECURITY_ERR)}function _n(e){return e===`audio/*`||e===`video/*`||e===`image/*`||e===`text/*`||/\w+\/[-+.\w]+/g.test(e)}function vn(e){return/^.*\.[\w]+$/.test(e)}var yn=[`children`],bn=[`open`],xn=[`refKey`,`role`,`onKeyDown`,`onFocus`,`onBlur`,`onClick`,`onDragEnter`,`onDragOver`,`onDragLeave`,`onDrop`],Sn=[`refKey`,`onChange`,`onClick`];function Cn(e){return En(e)||Tn(e)||kn(e)||wn()}function wn(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tn(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function En(e){if(Array.isArray(e))return An(e)}function Dn(e,t){return Mn(e)||jn(e,t)||kn(e,t)||On()}function On(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
5
5
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kn(e,t){if(e){if(typeof e==`string`)return An(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return An(e,t)}}function An(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function jn(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Mn(e){if(Array.isArray(e))return e}function Nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Nn(Object(n),!0).forEach(function(t){Pn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fn(e,t){if(e==null)return{};var n=In(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function In(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var Ln=(0,F.forwardRef)(function(e,t){var n=e.children,r=Bn(Fn(e,yn)),i=r.open,a=Fn(r,bn);return(0,F.useImperativeHandle)(t,function(){return{open:i}},[i]),F.createElement(F.Fragment,null,n(q(q({},a),{},{open:i})))});Ln.displayName=`Dropzone`;var Rn={disabled:!1,getFilesFromEvent:vt,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Ln.defaultProps=Rn,Ln.propTypes={children:W.default.func,accept:W.default.objectOf(W.default.arrayOf(W.default.string)),multiple:W.default.bool,preventDropOnDocument:W.default.bool,noClick:W.default.bool,noKeyboard:W.default.bool,noDrag:W.default.bool,noDragEventsBubbling:W.default.bool,minSize:W.default.number,maxSize:W.default.number,maxFiles:W.default.number,disabled:W.default.bool,getFilesFromEvent:W.default.func,onFileDialogCancel:W.default.func,onFileDialogOpen:W.default.func,useFsAccessApi:W.default.bool,autoFocus:W.default.bool,onDragEnter:W.default.func,onDragLeave:W.default.func,onDragOver:W.default.func,onDrop:W.default.func,onDropAccepted:W.default.func,onDropRejected:W.default.func,onError:W.default.func,validator:W.default.func};var zn={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Bn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=q(q({},Rn),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,a=t.maxSize,o=t.minSize,s=t.multiple,c=t.maxFiles,l=t.onDragEnter,ee=t.onDragLeave,u=t.onDragOver,d=t.onDrop,f=t.onDropAccepted,p=t.onDropRejected,m=t.onFileDialogCancel,te=t.onFileDialogOpen,h=t.useFsAccessApi,g=t.autoFocus,ne=t.preventDropOnDocument,re=t.noClick,_=t.noKeyboard,ie=t.noDrag,v=t.noDragEventsBubbling,y=t.onError,b=t.validator,x=(0,F.useMemo)(function(){return mn(n)},[n]),S=(0,F.useMemo)(function(){return pn(n)},[n]),ae=(0,F.useMemo)(function(){return typeof te==`function`?te:Hn},[te]),oe=(0,F.useMemo)(function(){return typeof m==`function`?m:Hn},[m]),C=(0,F.useRef)(null),w=(0,F.useRef)(null),se=Dn((0,F.useReducer)(Vn,zn),2),ce=se[0],T=se[1],E=ce.isFocused,le=ce.isFileDialogActive,ue=(0,F.useRef)(typeof window<`u`&&window.isSecureContext&&h&&fn()),de=function(){!ue.current&&le&&setTimeout(function(){w.current&&(w.current.files.length||(T({type:`closeDialog`}),oe()))},300)};(0,F.useEffect)(function(){return window.addEventListener(`focus`,de,!1),function(){window.removeEventListener(`focus`,de,!1)}},[w,le,oe,ue]);var D=(0,F.useRef)([]),fe=function(e){C.current&&C.current.contains(e.target)||(e.preventDefault(),D.current=[])};(0,F.useEffect)(function(){return ne&&(document.addEventListener(`dragover`,cn,!1),document.addEventListener(`drop`,fe,!1)),function(){ne&&(document.removeEventListener(`dragover`,cn),document.removeEventListener(`drop`,fe))}},[C,ne]),(0,F.useEffect)(function(){return!r&&g&&C.current&&C.current.focus(),function(){}},[C,g,r]);var O=(0,F.useCallback)(function(e){y?y(e):console.error(e)},[y]),pe=(0,F.useCallback)(function(e){e.preventDefault(),e.persist(),be(e),D.current=[].concat(Cn(D.current),[e.target]),sn(e)&&Promise.resolve(i(e)).then(function(t){if(!(on(e)&&!v)){var n=t.length,r=n>0&&an({files:t,accept:x,minSize:o,maxSize:a,multiple:s,maxFiles:c,validator:b});T({isDragAccept:r,isDragReject:n>0&&!r,isDragActive:!0,type:`setDraggedFiles`}),l&&l(e)}}).catch(function(e){return O(e)})},[i,l,O,v,x,o,a,s,c,b]),me=(0,F.useCallback)(function(e){e.preventDefault(),e.persist(),be(e);var t=sn(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect=`copy`}catch{}return t&&u&&u(e),!1},[u,v]),he=(0,F.useCallback)(function(e){e.preventDefault(),e.persist(),be(e);var t=D.current.filter(function(e){return C.current&&C.current.contains(e)}),n=t.indexOf(e.target);n!==-1&&t.splice(n,1),D.current=t,!(t.length>0)&&(T({type:`setDraggedFiles`,isDragActive:!1,isDragAccept:!1,isDragReject:!1}),sn(e)&&ee&&ee(e))},[C,ee,v]),k=(0,F.useCallback)(function(e,t){var n=[],r=[];e.forEach(function(e){var t=Dn(nn(e,x),2),i=t[0],s=t[1],c=Dn(rn(e,o,a),2),l=c[0],ee=c[1],u=b?b(e):null;if(i&&l&&!u)n.push(e);else{var d=[s,ee];u&&(d=d.concat(u)),r.push({file:e,errors:d.filter(function(e){return e})})}}),(!s&&n.length>1||s&&c>=1&&n.length>c)&&(n.forEach(function(e){r.push({file:e,errors:[tn]})}),n.splice(0)),T({acceptedFiles:n,fileRejections:r,type:`setFiles`}),d&&d(n,r,t),r.length>0&&p&&p(r,t),n.length>0&&f&&f(n,t)},[T,s,x,o,a,c,d,f,p,b]),A=(0,F.useCallback)(function(e){e.preventDefault(),e.persist(),be(e),D.current=[],sn(e)&&Promise.resolve(i(e)).then(function(t){on(e)&&!v||k(t,e)}).catch(function(e){return O(e)}),T({type:`reset`})},[i,k,O,v]),j=(0,F.useCallback)(function(){if(ue.current){T({type:`openDialog`}),ae();var e={multiple:s,types:S};window.showOpenFilePicker(e).then(function(e){return i(e)}).then(function(e){k(e,null),T({type:`closeDialog`})}).catch(function(e){hn(e)?(oe(e),T({type:`closeDialog`})):gn(e)?(ue.current=!1,w.current?(w.current.value=null,w.current.click()):O(Error(`Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.`))):O(e)});return}w.current&&(T({type:`openDialog`}),ae(),w.current.value=null,w.current.click())},[T,ae,oe,h,k,O,S,s]),ge=(0,F.useCallback)(function(e){!C.current||!C.current.isEqualNode(e.target)||(e.key===` `||e.key===`Enter`||e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),j())},[C,j]),M=(0,F.useCallback)(function(){T({type:`focus`})},[]),N=(0,F.useCallback)(function(){T({type:`blur`})},[]),_e=(0,F.useCallback)(function(){re||(dn()?setTimeout(j,0):j())},[re,j]),P=function(e){return r?null:e},ve=function(e){return _?null:P(e)},ye=function(e){return ie?null:P(e)},be=function(e){v&&e.stopPropagation()},xe=(0,F.useMemo)(function(){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.refKey,n=t===void 0?`ref`:t,i=e.role,a=e.onKeyDown,o=e.onFocus,s=e.onBlur,c=e.onClick,l=e.onDragEnter,ee=e.onDragOver,u=e.onDragLeave,d=e.onDrop,f=Fn(e,xn);return q(q(Pn({onKeyDown:ve(K(a,ge)),onFocus:ve(K(o,M)),onBlur:ve(K(s,N)),onClick:P(K(c,_e)),onDragEnter:ye(K(l,pe)),onDragOver:ye(K(ee,me)),onDragLeave:ye(K(u,he)),onDrop:ye(K(d,A)),role:typeof i==`string`&&i!==``?i:`presentation`},n,C),!r&&!_?{tabIndex:0}:{}),f)}},[C,ge,M,N,_e,pe,me,he,A,_,ie,r]),Se=(0,F.useCallback)(function(e){e.stopPropagation()},[]),Ce=(0,F.useMemo)(function(){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.refKey,n=t===void 0?`ref`:t,r=e.onChange,i=e.onClick,a=Fn(e,Sn);return q(q({},Pn({accept:x,multiple:s,type:`file`,style:{display:`none`},onChange:P(K(r,A)),onClick:P(K(i,Se)),tabIndex:-1},n,w)),a)}},[w,n,s,A,r]);return q(q({},ce),{},{isFocused:E&&!r,getRootProps:xe,getInputProps:Ce,rootRef:C,inputRef:w,open:P(j)})}function Vn(e,t){switch(t.type){case`focus`:return q(q({},e),{},{isFocused:!0});case`blur`:return q(q({},e),{},{isFocused:!1});case`openDialog`:return q(q({},zn),{},{isFileDialogActive:!0});case`closeDialog`:return q(q({},e),{},{isFileDialogActive:!1});case`setDraggedFiles`:return q(q({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case`setFiles`:return q(q({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case`reset`:return q({},zn);default:return e}}function Hn(){}function Un(e){return(0,B.jsx)(`span`,{id:`${e.name}Error`,className:`${e.className} invalid-feedback d-block`,role:`status`,children:e.children})}var Wn=function(e){return e.FileSelect=`file-select`,e.DragDrop=`drag-drop`,e}({}),Gn={fileDrop:`_fileDrop_dm34f_1`,resourcePreview:`_resourcePreview_dm34f_4`},Kn=`shared.feedbackFileUpload`;function qn(e){let{getRootProps:t,getInputProps:n,isDragActive:r}=Bn({onDrop:t=>e.onFilesAdded(t,Wn.DragDrop),noClick:!0,noKeyboard:!0,multiple:!!e.acceptMultiple,noDragEventsBubbling:!0}),i=F.useRef(null),a=F.useCallback(e=>{e&&(i.current=e)},[]),o=()=>{i.current.value=null,i.current.click()},s=`${Gn.fileDrop} text-center p-2 rounded-1`;return e.uploadError&&(s+=` border-red`),r&&(s+=` border-blue bg-light-blue`),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{...t({className:s}),children:[(0,B.jsx)(`img`,{className:Gn.resourcePreview,src:e.imageUrl,draggable:!1}),(0,B.jsxs)(`div`,{className:`position-relative`,children:[r&&(0,B.jsx)(`p`,{className:`position-absolute font-size-md translate-middle top-50 start-50 mb-0`,children:(0,B.jsx)(g,{namespace:Kn,phrase:`dropUpload`})}),(0,B.jsxs)(`div`,{className:r?`opacity-0`:``,children:[(0,B.jsx)(`p`,{className:`mb-0`,children:(0,B.jsx)(g,{namespace:Kn,phrase:`dragDrop`})}),(0,B.jsx)(`button`,{type:`button`,className:`btn btn-link text-underline p-0`,onClick:o,children:(0,B.jsx)(g,{namespace:Kn,phrase:`upload`})})]})]}),(0,B.jsx)(`input`,{type:`file`,name:`fileUpload`,className:`file-select d-none`,multiple:!!e.acceptMultiple,accept:e.mimeType,ref:a,onChange:t=>e.onFilesAdded([...t.target.files],Wn.FileSelect),"aria-errormessage":`fileUploadError`}),(0,B.jsx)(`input`,{...n()})]}),e.uploadError&&(0,B.jsx)(Un,{name:`fileUpload`,children:e.uploadError})]})}var Jn={progress:`_progress_w7ph2_1`};function Yn(e){let t=e.upload.progress===100;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(f,{svg:be,className:`svg-container me-2`}),(0,B.jsx)(`span`,{className:`align-middle`,children:e.upload.name}),t&&(0,B.jsx)(f,{svg:de,className:`svg-container float-end text-success`}),!t&&(0,B.jsx)(`div`,{role:`button`,"aria-label":`close`,onClick:()=>e.cancelUpload(e.upload.id),className:`float-end description`,children:(0,B.jsx)(f,{svg:y})})]}),(0,B.jsx)(`div`,{className:`${Jn.progress} progress my-2`,children:(0,B.jsx)(`div`,{className:`progress-bar bg-blue`,role:`progressbar`,style:{width:`${e.upload.progress}%`},"aria-valuenow":e.upload.progress,"aria-valuemin":0,"aria-valuemax":100})})]})}function Xn(e){return e.uploads?.length?(0,B.jsx)(B.Fragment,{children:e.uploads.map((t,n)=>(0,B.jsx)(Yn,{upload:t,cancelUpload:e.cancelUpload},n))}):(0,B.jsx)(B.Fragment,{})}function Zn(e){return(0,B.jsx)(`svg`,{...e,children:(0,B.jsx)(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M9.5 7A1.5 1.5 0 0 1 11 5.5h2A1.5 1.5 0 0 1 14.5 7h4a.5.5 0 0 1 0 1h-1.14q0 .045-.005.09l-.909 10a1 1 0 0 1-.996.91h-6.9a1 1 0 0 1-.996-.91l-.91-10A1 1 0 0 1 6.64 8H5.5a.5.5 0 0 1 0-1h4m4 0a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5zm2.971 1H7.53l.853 9.545A.5.5 0 0 0 8.88 18h6.24a.5.5 0 0 0 .498-.456zm-7.43 2.537a.499.499 0 1 1 .994-.077l.424 5.503a.498.498 0 1 1-.994.077zM11.5 10.5a.5.5 0 0 1 1 0V16a.5.5 0 0 1-1 0zm2.962-.5c-.26 0-.477.2-.497.46l-.424 5.503a.499.499 0 1 0 .994.077l.424-5.503a.5.5 0 0 0-.497-.537`,clipRule:`evenodd`})})}function Qn(e){return(0,B.jsxs)(`div`,{className:`bg-gray-100 rounded p-2`,children:[(0,B.jsx)(f,{className:`d-inline-block align-middle svg-container icon-purple me-2`,svg:ye}),(0,B.jsx)(`span`,{className:`align-middle`,children:e.file.get(`name`)}),(0,B.jsx)(`button`,{className:`btn p-0 border-0 float-end`,onClick:()=>e.deleteFile(e.file.get(`id`)),children:(0,B.jsx)(f,{svg:Zn})})]})}function $n(e){return(0,B.jsx)(`div`,{className:`d-flex flex-column gap-2`,children:e.uploadedFiles.map(t=>(0,B.jsx)(Qn,{file:t,deleteFile:e.deleteFile},t.id))})}var er=`shared.feedbackReportBug`,tr=S.encloseNamespace(er),nr={issue:``,stepsToReproduce:``},rr=V.object().shape({issue:U().required(H(`requiredError`)),stepsToReproduce:U()}).noUnknown();function ir(e){let t=N();return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`form-group`,children:[(0,B.jsx)(`label`,{className:`form-label mb-1`,children:(0,B.jsx)(g,{namespace:er,phrase:`mixedMediaLabel`})}),(0,B.jsx)(`p`,{className:`text-secondary font-size-sm`,children:(0,B.jsx)(g,{namespace:er,phrase:`mixedMediaDescription`})}),(0,B.jsx)(`div`,{className:`mb-3`,children:(0,B.jsx)(qn,{mimeType:D.MIXED_MEDIA,onFilesAdded:e.onFilesAdded,imageUrl:e.previewImageUrl,uploadError:e.uploadError,acceptMultiple:!0})}),(0,B.jsx)(Xn,{uploads:e.uploadingFiles,cancelUpload:e.cancelUpload}),(0,B.jsx)($n,{uploadedFiles:e.uploadedFiles,deleteFile:e.deleteFile})]}),(0,B.jsx)(P,{as:`textarea`,placeholder:tr(`issuePlaceholder`),label:tr(`issueLabel`),name:`issue`,value:t.values.issue,showRequiredStar:!0}),(0,B.jsx)(P,{as:`textarea`,placeholder:tr(`stepsPlaceholder`),label:tr(`stepsLabel`),name:`stepsToReproduce`,value:t.values.stepsToReproduce}),(0,B.jsxs)(`div`,{className:`rounded bg-light-yellow p-2 mb-3`,children:[(0,B.jsx)(`p`,{className:`fw-semibold mb-2`,children:(0,B.jsx)(g,{namespace:er,phrase:`help`})}),(0,B.jsxs)(`div`,{className:`d-flex gap-1 mb-2`,children:[(0,B.jsx)(f,{svg:_e}),(0,B.jsx)(`a`,{href:st[e.instanceRegion].website,target:`_blank`,className:`text-underline`,children:(0,B.jsx)(g,{namespace:er,phrase:`visitHelpCentre`})})]}),(0,B.jsx)(`p`,{className:`mb-2`,children:(0,B.jsx)(g,{namespace:er,phrase:`supportTeam`})}),(0,B.jsxs)(`div`,{className:`d-flex gap-1 mb-2`,children:[(0,B.jsx)(f,{svg:lt}),(0,B.jsx)(`span`,{children:st[e.instanceRegion].phone})]}),(0,B.jsxs)(`div`,{className:`d-flex gap-1 mb-2`,children:[(0,B.jsx)(f,{svg:ct}),(0,B.jsx)(`span`,{children:st[e.instanceRegion].email})]})]})]})}function ar(e){let{onFilesAdded:t,cancelUpload:n,uploadingFiles:r,uploadedFiles:i,deleteFile:a,...o}=e;return(0,B.jsx)(Q,{...o,initialValues:{...nr,...e.initialValues},validationSchema:rr,submitText:tr(`submit`),children:(0,B.jsx)(ir,{onFilesAdded:t,previewImageUrl:z.mediaPreview,cancelUpload:n,uploadingFiles:r,uploadedFiles:i,deleteFile:a,uploadError:e.uploadError,instanceRegion:e.instanceRegion})})}var or=`shared.feedbackRequestLivestream`,J=S.encloseNamespace(or),sr={topic:``,studentLevel:[],producerCompany:``,additionalInfo:``},cr=V.string().max(Ge,H(`maxCharactersError`)),lr=V.object().shape({producerCompany:cr.required(()=>J(`companyError`)),topic:cr,studentLevel:V.array(V.string()),additionalInfo:U()}).noUnknown();function ur(e){let t=N(),n=t.values.studentLevel.map(t=>e.audiences.find(e=>e.name===t))||[];function r(e){t.setFieldValue(`studentLevel`,re.addOrRemoveImmutable(t.values.studentLevel,e.name)),requestAnimationFrame(()=>t.setFieldTouched(`studentLevel`))}function i(e,t){let r=t.find(t=>t.name===e);return E(r?``:e,t,`name`,0).filter(e=>!(n.find(t=>t.name===e.name)||e.name===r?.name))}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{placeholder:J(`companyPlaceholder`),label:J(`companyLabel`),name:`producerCompany`,value:t.values.producerCompany,showRequiredStar:!0}),(0,B.jsx)(P,{placeholder:J(`topicPlaceholder`),label:J(`topicLabel`),name:`topic`,value:t.values.topic}),(0,B.jsxs)(`div`,{className:`form-group`,children:[(0,B.jsx)(`label`,{className:`form-label`,children:(0,B.jsx)(g,{namespace:or,phrase:`audiencesLabel`})}),(0,B.jsx)(A,{id:`audiences`,placeholder:J(`audiencesPlaceholder`),local:e.audiences,valueKey:`name`,selections:n,onSuggestionSelected:r,removeSelection:e=>r(e),errorStateImageUrl:null,emptyStateImageUrl:null,activationLength:0,suggestionLimit:!1,getInputTokenComponent:e=>(0,B.jsx)(M,{selection:{name:e.name,masterId:e.masterId},colourVariant:`teal`,onClickRemove:e=>r(e),hideExpander:!0},e.name),getSuggestionComponent:e=>he(`name`,e),onSuggestionDependencies:[e.audiences,t.values.studentLevel,n],getLocalSuggestions:i,focusInputOnSuggestionClick:!1,renderAsForm:!1,hideIcon:!0,onBlur:()=>t.setFieldTouched(`studentLevel`),className:`p-2 ${t.touched.studentLevel&&t.errors.studentLevel?`is-invalid`:``}`}),t.touched.studentLevel&&t.errors.studentLevel&&(0,B.jsx)(Un,{name:`audiences`,children:t.errors.studentLevel})]}),(0,B.jsx)(P,{as:`textarea`,placeholder:J(`otherPlaceholder`),label:J(`otherLabel`),name:`additionalInfo`,value:t.values.additionalInfo})]})}function dr(e){return(0,B.jsx)(Q,{...e,initialValues:{...sr,...e.initialValues},validationSchema:lr,children:(0,B.jsx)(ur,{audiences:e.audiences})})}var fr={image:`_image_1d4la_1`},pr=`shared.feedbackBeforeRequesting`,mr=S.encloseNamespace(pr);function hr(e){let[t,n]=F.useState(!1);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`d-flex flex-column align-items-center my-4`,children:[(0,B.jsx)(`img`,{className:`${fr.image} mb-3`,src:z.videoAlert}),(0,B.jsx)(`h4`,{className:`mb-3`,children:(0,B.jsx)(g,{namespace:pr,phrase:`beforeRequesting`})}),(0,B.jsx)(`p`,{children:(0,B.jsx)(g,{namespace:pr,phrase:`haveYouSearched`,options:{exchangeUrl:`${e.exchangeTvUrl}/exchange`}})}),e.instanceRegion===x.UK?(0,B.jsx)(`p`,{children:(0,B.jsx)(g,{namespace:pr,phrase:`bbcArchiveRequestsNote`,options:{exchangeTvUrl:`${e.exchangeTvUrl}/tv?requestVideo=true`}})}):(0,B.jsx)(`p`,{children:(0,B.jsx)(g,{namespace:pr,phrase:`foxtelRequestsNote`,options:{exchangeTvUrl:`${e.exchangeTvUrl}/tv?requestVideo=true`}})})]}),(0,B.jsxs)(T,{children:[(0,B.jsx)(T.Checkbox,{id:`confirmExchange`,checked:t,onToggle:()=>n(!t),label:mr(`exchangeCheck`)}),(0,B.jsx)(T.Cancel,{onClick:()=>e.setSelectedOption(null),text:mr(`back`)}),(0,B.jsx)(T.Submit,{variant:`dark`,text:mr(`continue`),disabled:!t,onClick:()=>e.setConfirmed(!0)})]})]})}var gr=`shared.feedbackRequestVideo`,Y=S.encloseNamespace(gr),X=function(e){return e.VideosTopic=`videosTopic`,e.VideoOrSeries=`videoOrSeries`,e.YouTubeVideo=`youtubeVideo`,e}(X||{}),_r={videoRequestType:``,topic:``,studentLevel:[],videoTitle:``,seriesName:``,producerCompany:``,websiteOrTrailer:``,additionalInfo:``,youtubeChannelLink:``,youtubeVideoLink:``},Z=()=>V.string().max(Ge,H(`maxCharactersError`)),vr=V.object().shape({videoRequestType:V.string().required(Y(`videoRequestTypeRequiredError`)),topic:Z().when(`videoRequestType`,{is:e=>e===X.VideosTopic,then:Z().required(Y(`topicRequiredError`)),otherwise:Z().notRequired()}),studentLevel:V.array(V.string()),videoTitle:Z().when([`videoRequestType`,`seriesName`],{is:(e,t)=>e===X.VideoOrSeries&&!t,then:Z().required(Y(`videoRequiredError`)),otherwise:Z().notRequired()}),seriesName:Z(),producerCompany:Z(),websiteOrTrailer:Z(),additionalInfo:U(),youtubeChannelLink:Z().when(`videoRequestType`,{is:e=>e===X.YouTubeVideo,then:Z().required(Y(`youtubeChannelLinkRequiredError`)).url(Y(`invalidUrlError`)),otherwise:Z().notRequired()}),youtubeVideoLink:Z().when(`videoRequestType`,{is:e=>e===X.YouTubeVideo,then:Z().required(Y(`youtubeVideoLinkRequiredError`)).url(Y(`invalidUrlError`)),otherwise:Z().notRequired()})}).noUnknown();function yr(e){let t=N(),n=t.values.studentLevel.map(t=>e.audiences?.find(e=>e.name===t))||[];function r(e){t.setFieldValue(`studentLevel`,re.addOrRemoveImmutable(t.values.studentLevel,e.name)),requestAnimationFrame(()=>t.setFieldTouched(`studentLevel`))}function i(e,t){let r=t.find(t=>t.name===e);return E(r?``:e,t,`name`,0).filter(e=>!(n.find(t=>t.name===e.name)||e.name===r?.name))}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(P,{as:`select`,label:Y(`videoRequestTypeLabel`),name:`videoRequestType`,value:t.values.videoRequestType,children:[(0,B.jsx)(`option`,{value:``,disabled:!0,hidden:!0,children:Y(`videoRequestTypePlaceholder`)}),(0,B.jsx)(`option`,{value:X.VideosTopic,children:Y(`videosTopicType`)}),(0,B.jsx)(`option`,{value:X.VideoOrSeries,children:Y(`videoOrSeriesType`)}),(0,B.jsx)(`option`,{value:X.YouTubeVideo,children:Y(`youtubeVideoType`)})]}),t.values.videoRequestType===X.YouTubeVideo&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{placeholder:Y(`youtubeChannelLinkPlaceholder`),label:Y(`youtubeChannelLinkLabel`),name:`youtubeChannelLink`,value:t.values.youtubeChannelLink,showRequiredStar:!0}),(0,B.jsx)(P,{placeholder:Y(`youtubeVideoLinkPlaceholder`),label:Y(`youtubeVideoLinkLabel`),name:`youtubeVideoLink`,value:t.values.youtubeVideoLink,showRequiredStar:!0}),(0,B.jsx)(P,{as:`textarea`,placeholder:Y(`otherPlaceholder`),label:Y(`otherLabel`),name:`additionalInfo`,value:t.values.additionalInfo})]}),t.values.videoRequestType===X.VideosTopic&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{placeholder:Y(`videoTopicPlaceholder`),label:Y(`videoTopicLabel`),name:`topic`,value:t.values.topic,showRequiredStar:!0}),(0,B.jsxs)(`div`,{className:`form-group`,children:[(0,B.jsx)(`label`,{className:`form-label`,children:(0,B.jsx)(g,{namespace:gr,phrase:`audiencesLabel`})}),(0,B.jsx)(A,{id:`audiences`,placeholder:Y(`audiencesPlaceholder`),local:e.audiences,valueKey:`name`,selections:n,onSuggestionSelected:r,removeSelection:e=>r(e),errorStateImageUrl:null,emptyStateImageUrl:null,activationLength:0,suggestionLimit:!1,getInputTokenComponent:e=>(0,B.jsx)(M,{selection:{name:e.name,masterId:e.masterId},colourVariant:`teal`,onClickRemove:e=>r(e),hideExpander:!0},e.name),getSuggestionComponent:e=>he(`name`,e),onSuggestionDependencies:[e.audiences,t.values.studentLevel,n],getLocalSuggestions:i,focusInputOnSuggestionClick:!1,renderAsForm:!1,hideIcon:!0,onBlur:()=>t.setFieldTouched(`studentLevel`),className:`p-2 ${t.touched.studentLevel&&t.errors.studentLevel?`is-invalid`:``}`}),t.touched.studentLevel&&t.errors.studentLevel&&(0,B.jsx)(Un,{name:`audiences`,children:t.errors.studentLevel})]}),(0,B.jsx)(P,{as:`textarea`,placeholder:Y(`otherPlaceholder`),label:Y(`otherLabel`),name:`additionalInfo`,value:t.values.additionalInfo})]}),t.values.videoRequestType===X.VideoOrSeries&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{placeholder:Y(`videoTitlePlaceholder`),label:Y(`videoTitleLabel`),name:`videoTitle`,value:t.values.videoTitle}),(0,B.jsx)(P,{placeholder:Y(`seriesPlaceholder`),label:Y(`seriesLabel`),name:`seriesName`,value:t.values.seriesName}),(0,B.jsx)(P,{placeholder:Y(`companyPlaceholder`),label:Y(`companyLabel`),name:`producerCompany`,value:t.values.producerCompany}),(0,B.jsx)(P,{placeholder:Y(`videoTopicPlaceholder`),label:Y(`topicLabel`),name:`topic`,value:t.values.topic}),(0,B.jsx)(P,{placeholder:Y(`websiteOrTrailerPlaceholder`),label:Y(`websiteOrTrailerLabel`),name:`websiteOrTrailer`,value:t.values.websiteOrTrailer}),(0,B.jsx)(P,{as:`textarea`,placeholder:Y(`otherPlaceholder`),label:Y(`otherLabel`),name:`additionalInfo`,value:t.values.additionalInfo})]})]})}function br(e){let[t,n]=F.useState(!!e.skipBeforeRequesting),r=e.hasExchangeTvProduct&&!t;return(0,B.jsxs)(Q,{...e,initialValues:{..._r,...e.initialValues},validationSchema:vr,hideButtons:e.hasExchangeTvProduct&&!t,hideCancelButton:e.skipBeforeRequesting,children:[r&&(0,B.jsx)(hr,{setConfirmed:n,setSelectedOption:e.setSelectedOption,exchangeTvUrl:e.exchangeTvUrl,instanceRegion:e.instanceRegion}),!r&&(0,B.jsx)(yr,{audiences:e.audiences})]})}var xr=`shared.feedbackSuggestImprovement`,Sr=S.encloseNamespace(xr),Cr={suggestion:``,importance:``},wr=V.object().shape({suggestion:U().required(H(`requiredError`)),importance:U()}).noUnknown();function Tr(e){let t=N();return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{as:`textarea`,placeholder:Sr(`suggestionPlaceholder`),label:Sr(`suggestionLabel`),name:`suggestion`,value:t.values.suggestion,showRequiredStar:!0}),(0,B.jsx)(P,{as:`textarea`,placeholder:Sr(`whySuggestionPlaceholder`),label:Sr(`whySuggestionLabel`),name:`importance`,rows:5,value:t.values.importance}),(0,B.jsxs)(`p`,{children:[(0,B.jsx)(g,{namespace:xr,phrase:`contactSupport`}),`\xA0`,(0,B.jsx)(`button`,{className:`btn btn-link text-underline p-0`,onClick:()=>e.setSelectedOption(L.RAISE_ISSUE),children:(0,B.jsx)(g,{namespace:xr,phrase:`raiseIssue`})})]})]})}function Er(e){return(0,B.jsx)(Q,{...e,initialValues:{...Cr,...e.initialValues},validationSchema:wr,successImageUrl:z.lightBulb,successHeading:Sr(`successHeading`),successDescription:Sr(`successDescription`),children:(0,B.jsx)(Tr,{setSelectedOption:e.setSelectedOption})})}function Q(e){let t=F.useRef(null);function n(n){e.setFormState(e=>({...e,...t.current?.values})),e.setSelectedOption(n)}return(0,B.jsx)(ve,{onSubmit:e.onSubmit,initialValues:e.initialValues,validationSchema:e.validationSchema,validateOnMount:!0,innerRef:t,children:(0,B.jsxs)(ce,{children:[e.formStage===`form`&&e.children,(0,B.jsx)(Ue,{formStage:e.formStage,successImageUrl:e.successImageUrl,successHeading:e.successHeading,successDescription:e.successDescription}),!e.hideButtons&&(0,B.jsx)(Be,{setSelectedOption:n,submitText:e.submitText,formStage:e.formStage,closePopup:e.closePopup,hideCancelButton:e.hideCancelButton})]})})}function Dr(e){let t={formStage:e.formStage,initialValues:e.initialValues,setFormState:e.setFormState,onSubmit:e.onSubmit,setSelectedOption:e.setSelectedOption,closePopup:e.closePopup};switch(e.selectedOption){case L.SUGGEST_IMPROVEMENT:return(0,B.jsx)(Er,{...t});case L.REPORT_BUG:return(0,B.jsx)(ar,{...t,onFilesAdded:e.onFilesAdded,cancelUpload:e.cancelUpload,uploadingFiles:e.uploadingFiles,uploadedFiles:e.uploadedFiles,deleteFile:e.deleteFile,uploadError:e.uploadError,instanceRegion:e.instanceRegion});case L.REQUEST_VIDEO:return(0,B.jsx)(br,{...t,audiences:e.audiences,hasExchangeTvProduct:e.hasExchangeTvProduct,exchangeTvUrl:e.exchangeTvUrl,instanceRegion:e.instanceRegion,skipBeforeRequesting:e.skipBeforeRequesting,hideCancelButton:e.hideCancelButton});case L.REQUEST_LIVESTREAM:return(0,B.jsx)(dr,{...t,audiences:e.audiences});case L.RAISE_ISSUE:return(0,B.jsx)(ot,{...t});case L.GIVE_PRAISE:return(0,B.jsx)(Xe,{...t});case L.OTHER:return(0,B.jsx)(tt,{...t})}}var Or=`shared.giveFeedback`,$=S.encloseNamespace(Or),kr=5,Ar=60,jr=1e6;function Mr(e){let t=Se(),r=ne(),o=h(m.currentUser()),s=h(o.data&&ie.customer(o.data.customerId)),c=h(o.data&&m.user(o.data.id)),[u,f]=F.useState(e.selectedOption),[p,te]=F.useState(`form`),[re,_]=F.useState(null),v=xe(oe.MixedMediaUpload),y=Oe(()=>v.getCollection(),null),b=F.useRef(null),x=F.useRef(0),S=F.useRef([]),[C,ce]=F.useState([]),[T,E]=F.useState(``),le=e.product===ae.StreamableLearning?ge.StreamableLearning:ge.Subject,ue=h(j.presentation(le)),de=h(Ee.presentationAudiences(le)),pe=h(me.userProducts()).data?.find(e=>e.id===ae.Exchange);w(Te.default.channel(fe.MIXED_MEDIA_UPLOAD),O.UPLOAD_COMPLETE,k),je();function he(e,t){if(e.some(e=>e.size>Ar*jr)){E($(`maxFileSizeUploadError`,{limit:Ar}));return}if(e.length>kr-y.length){E($(`maxFilesUploadError`,{limit:kr}));return}if(e.some(e=>!we.default.isValidFile(e,D.MIXED_MEDIA))){E($(`invalidTypeUploadError`));return}E(``),x.current+=e.length,t&&(b.current=t),v.addFiles(e)}function k(e){let r=e.toJSON();if(S.current.push(r),x.current--,x.current>0)return;let o=S.current.length;S.current.forEach(e=>{setTimeout(()=>{o--;let r=v.getCollection().filter(t=>t.get(`fileInfo`)?.id===e.fileInfo.id);v.getCollection().remove(r),ce(e=>[...e,...r]),!(o>0)&&(n.logUserAction({fileInfo:e.fileInfo},{location:a.GiveFeedbackPopup,actionType:i.Upload,entity:d.MixedMedia,descriptor:n.mapInteractionType(b.current)}),t.success($(`mixedMediaUploadSuccess`)))})}),S.current=[]}function A(e){ce(t=>t.filter(t=>t.id!==e))}function M(e){f(e),e&&n.logUserAction({type:e},{actionType:i.Click,entity:d.Feedback,location:a.GiveFeedbackPopup,workflowPhase:l.Start})}function N(e){switch(e){case L.SUGGEST_IMPROVEMENT:return I.SuggestImprovement;case L.REPORT_BUG:return I.ReportBug;case L.REQUEST_VIDEO:return I.RequestVideo;case L.REQUEST_LIVESTREAM:return I.RequestLivestream;case L.GIVE_PRAISE:return I.GivePraise;case L.RAISE_ISSUE:return I.RaiseIssue;case L.OTHER:return I.Other}}async function _e(f,p){let m={type:N(u),user:Pe.getUserInfo(o.data,s.data),tags:Pe.getTags(o.data,e.product,!1,[`give feedback`,Fe(u).toLowerCase(),ue.data?.description?.toLowerCase().trim(),c.data?.userProfile?.metadata?.jobTitle?.toLowerCase()].filter(Boolean))},h={...f,currentPageUrl:ee.GetCurrentUrl()};u===L.REPORT_BUG&&C.length&&(h={...h,...Pe.categorizeFiles(C)});try{await r(De.submitFeedback(m,h)),n.logUserAction({...m,...h},{actionType:i.Submit,entity:d.Feedback,location:a.GiveFeedbackPopup,workflowPhase:l.Complete}),te(`success`)}catch{t.error($(`error`))}finally{p()}}return(0,B.jsxs)(se,{size:`lg`,title:u?Fe(u):$(`title`),closePopup:e.closePopup,backdrop:`static`,children:[!u&&(0,B.jsx)(`p`,{children:(0,B.jsx)(g,{namespace:Or,phrase:`description`})}),!u&&(0,B.jsx)(Re,{onSelectOption:M,options:[L.SUGGEST_IMPROVEMENT,L.REPORT_BUG,e.product===ae.StreamableLearning?L.REQUEST_LIVESTREAM:L.REQUEST_VIDEO,L.GIVE_PRAISE,L.RAISE_ISSUE,L.OTHER]}),u&&(0,B.jsx)(Dr,{selectedOption:u,formStage:p,onSubmit:_e,setSelectedOption:M,closePopup:e.closePopup,onFilesAdded:he,uploadingFiles:y,uploadedFiles:C,deleteFile:A,cancelUpload:e=>v.cancelUpload(e),audiences:de.data,uploadError:T,initialValues:re,setFormState:_,instanceRegion:o.data?.instanceRegion,hasExchangeTvProduct:!!pe,exchangeTvUrl:pe?.url,skipBeforeRequesting:!!e.skipBeforeRequestingVideoStep,hideCancelButton:!!e.selectedOption})]})}export{Mr as GiveFeedbackView};
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=DeAZkXBA2.chunk.js.map
|