@clickview/lite 0.69.1-dev.0 → 0.69.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{9985-lite-3c49d1b796.chunk.css → 3902-lite-5eaa7e7ae0.chunk.css} +1 -2
- package/dist/css/{555-lite-1b5aa9652d.chunk.css → 4356-lite-b05b606d3d.chunk.css} +1 -2
- package/dist/css/{2636-lite-f995954232.chunk.css → 4527-lite-4d1b877b3f.chunk.css} +4 -0
- package/dist/css/{1239-lite-8152f713c8.chunk.css → 7210-lite-a568e8ec1e.chunk.css} +1 -0
- package/dist/languages/en.json +1 -1
- package/dist/scripts/1210-7afb28caac-lite.chunk.js +2 -0
- package/dist/scripts/1210-7afb28caac-lite.chunk.js.map +1 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js +2 -0
- package/dist/scripts/1386-332e63f68c-lite.chunk.js.map +1 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js +3 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js.map +1 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js +3 -0
- package/dist/scripts/2392-19e4bb187b-lite.chunk.js.map +1 -0
- package/dist/scripts/{2640-536c550749-lite.chunk.js → 2640-052f4606f6-lite.chunk.js} +2 -2
- package/dist/scripts/2640-052f4606f6-lite.chunk.js.map +1 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js +2 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js.map +1 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js +2 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js.map +1 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js +2 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js.map +1 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js +2 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js.map +1 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js +2 -0
- package/dist/scripts/3902-39aaff7ce9-lite.chunk.js.map +1 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js +2 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js.map +1 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js +2 -0
- package/dist/scripts/4356-36ce3ceec1-lite.chunk.js.map +1 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js +2 -0
- package/dist/scripts/4527-42075d96f4-lite.chunk.js.map +1 -0
- package/dist/scripts/{4845-f3646fb657-lite.chunk.js → 4845-9b4657e696-lite.chunk.js} +2 -2
- package/dist/scripts/4845-9b4657e696-lite.chunk.js.map +1 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js +2 -0
- package/dist/scripts/5679-444d9a7f76-lite.chunk.js.map +1 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js +2 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js.map +1 -0
- package/dist/scripts/{6188-e108abca25-lite.chunk.js → 6188-77fc2f3ec5-lite.chunk.js} +2 -2
- package/dist/scripts/6188-77fc2f3ec5-lite.chunk.js.map +1 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js +3 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js.map +1 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js +2 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js.map +1 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js +3 -0
- package/dist/scripts/7210-2e4563178c-lite.chunk.js.map +1 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js +2 -0
- package/dist/scripts/7480-3564c0c2da-lite.chunk.js.map +1 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js +2 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js.map +1 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js +2 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-90d3c7fd15.min.js → bundle-32e967af87.min.js} +3 -3
- package/dist/scripts/{bundle-90d3c7fd15.min.js.map → bundle-32e967af87.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js +0 -2
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js.map +0 -1
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js +0 -3
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js.map +0 -1
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js +0 -2
- package/dist/scripts/1386-d93ee75e0c-lite.chunk.js.map +0 -1
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js +0 -3
- package/dist/scripts/2392-acfd69dfa3-lite.chunk.js.map +0 -1
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js +0 -2
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js.map +0 -1
- package/dist/scripts/2640-536c550749-lite.chunk.js.map +0 -1
- package/dist/scripts/3036-d18c598435-lite.chunk.js +0 -2
- package/dist/scripts/3036-d18c598435-lite.chunk.js.map +0 -1
- package/dist/scripts/4229-75ba28a266-lite.chunk.js +0 -2
- package/dist/scripts/4229-75ba28a266-lite.chunk.js.map +0 -1
- package/dist/scripts/4266-e856b96643-lite.chunk.js +0 -3
- package/dist/scripts/4266-e856b96643-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js +0 -2
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js.map +0 -1
- package/dist/scripts/4845-f3646fb657-lite.chunk.js.map +0 -1
- package/dist/scripts/555-d811b49435-lite.chunk.js +0 -2
- package/dist/scripts/555-d811b49435-lite.chunk.js.map +0 -1
- package/dist/scripts/6046-44c115a89c-lite.chunk.js +0 -2
- package/dist/scripts/6046-44c115a89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6188-e108abca25-lite.chunk.js.map +0 -1
- package/dist/scripts/6317-49be898c73-lite.chunk.js +0 -2
- package/dist/scripts/6317-49be898c73-lite.chunk.js.map +0 -1
- package/dist/scripts/6973-ede6601614-lite.chunk.js +0 -2
- package/dist/scripts/6973-ede6601614-lite.chunk.js.map +0 -1
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js +0 -3
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js.map +0 -1
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js +0 -2
- package/dist/scripts/7480-02bc4e08a3-lite.chunk.js.map +0 -1
- package/dist/scripts/9040-9393c59004-lite.chunk.js +0 -2
- package/dist/scripts/9040-9393c59004-lite.chunk.js.map +0 -1
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js +0 -2
- package/dist/scripts/9985-c488ab5f65-lite.chunk.js.map +0 -1
- /package/dist/css/{3036-lite-1b3e9aa905.chunk.css → 3079-lite-1b3e9aa905.chunk.css} +0 -0
- /package/dist/css/{7075-lite-a377febbb0.chunk.css → 6351-lite-a377febbb0.chunk.css} +0 -0
- /package/dist/scripts/{4266-e856b96643-lite.chunk.js.LICENSE.txt → 232-1522c00252-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1239-ed9b8aadb4-lite.chunk.js.LICENSE.txt → 2392-19e4bb187b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2392-acfd69dfa3-lite.chunk.js.LICENSE.txt → 6351-dff9edbb16-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7075-9a76ce47c9-lite.chunk.js.LICENSE.txt → 7210-2e4563178c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-90d3c7fd15.min.js.LICENSE.txt → bundle-32e967af87.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1210],{71553:(a,e,t)=>{t.d(e,{I:()=>s});var i=t(99940),n=t(62875);function r(a,e){return{currentUserId:a.id,currentCustomerId:a.customerId,dateRange:{start:e.start,end:e.end},userIds:e.userId,classroomsAndGroups:e.groupId}}var s={interactiveResultSet:function(a,e,t,s,d,c,l,o){return{url:d?"/api/domain/v3/analytics/interactives/".concat(a,"/metadata/").concat(e):"/api/domain/v2/analytics/interactives/".concat(a,"/metadata/").concat(e),key:(0,n.H)("interactive:result:set:".concat(a,":").concat(e),s),data:r(t,s),type:i.k.POST,normalize:!1,success:c,error:l,always:o}},mark:function(a,e,t,n,r,s,d){return{url:"/api/domain/v1/analytics/answers/".concat(t),key:"mark:answer:".concat(t,":").concat(n.resultId),type:i.k.PUT,data:n,normalize:!1,invalidationKeys:"interactive:result:set:".concat(a,":").concat(e),success:r,error:s,always:d}},pendingReviews:function(a){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:i.k.POST,data:a}},interactiveResultsReport:function(a){return{url:"{gateway}/v2/analytics/interactives/report",key:"interactive:results:report",data:a,type:i.k.POST,normalize:!1}}}},41196:(a,e,t)=>{t.d(e,{W:()=>d});var i=t(20354),n=t(71553),r=t(20768),s=t(31949);function d(a,e,t){var d,c=i.a.useBasicFetch(s.N.currentUser()),l=i.a.useBasicFetch(!!a&&r.b.interactiveMetadata(a)),o=i.a.useBasicFetch(!!(null===(d=l.data)||void 0===d?void 0:d.interactiveId)&&r.b.interactive(l.data.interactiveId)),u=!!c.data&&!!o.data&&!!e;return i.a.useBasicFetch(u&&n.I.interactiveResultSet(l.data.interactiveId,l.data.id,c.data,e,t))}},82344:(a,e,t)=>{t.r(e),t.d(e,{InteractiveInsightsOverviewView:()=>L});var i=t(32735),n=t(23481),r=t(2948),s=t(20354),d=t(75896),c=t(5255),l=t(41196),o=t(26025),u=t(74901),v=t(40003),m=t(38143),p=t(16714),h=t(39151),g=t(20768),I=t(31949),y=t(17913),f=t(91286),b=t(93322),E=t(22902),k=t(79612),S=t(37802),A=t(88630),w=t(26203),F=t(54948),N=t(10447),O=t(14070),T=t(97291),B=t(50782);function R(a,e){(null==e||e>a.length)&&(e=a.length);for(var t=0,i=Array(e);t<e;t++)i[t]=a[t];return i}var C=n.T.encloseNamespace("insights.interactiveInsightsOverviewView");function L(a){var e,t,n,L,P,j,U,x,V,D=(x=(0,r.D)(m.g.ANONYMISE_USERS),V=1,function(a){if(Array.isArray(a))return a}(x)||function(a,e){var t=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=t){var i,n,r,s,d=[],c=!0,l=!1;try{if(r=(t=t.call(a)).next,0===e){if(Object(t)!==t)return;c=!1}else for(;!(c=(i=r.call(t)).done)&&(d.push(i.value),d.length!==e);c=!0);}catch(a){l=!0,n=a}finally{try{if(!c&&null!=t.return&&(s=t.return(),Object(s)!==s))return}finally{if(l)throw n}}return d}}(x,V)||function(a,e){if(a){if("string"==typeof a)return R(a,e);var t={}.toString.call(a).slice(8,-1);return"Object"===t&&a.constructor&&(t=a.constructor.name),"Map"===t||"Set"===t?Array.from(a):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?R(a,e):void 0}}(x,V)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];(0,b.F)();var M=(0,S.r)(null).hasShareFlowV2,_=(0,E.T)().hasPermissions,G=(0,S.r)(null).publicInteractiveAttempts,H=s.a.useBasicFetch(I.N.currentUser()),W=s.a.useBasicFetch(h.L.config()),K=s.a.useBasicFetch(g.b.interactiveMetadata(a.interactiveId)),z=s.a.useBasicFetch((null===(e=K.data)||void 0===e?void 0:e.interactiveId)&&g.b.interactive(K.data.interactiveId)),Y=o.B.getAudienceAppLinkParams(),q=o.B.getDateRangeAppLinkParams(),Q=Object.assign(Object.assign({},(0,v.wO)((0,v.Hb)(),q)),(0,u.K)(Y)),$=(0,l.W)(a.interactiveId,Q,!0),J=1===(null===(t=Y.classrooms)||void 0===t?void 0:t.length)&&!(null===(n=Y.classroomGroups)||void 0===n?void 0:n.length),X=s.a.useBasicFetch(J&&A.F.getClassroomStudents(d.m.first(Y.classrooms))),Z=s.a.useBasicFetch($.data&&y.u.aggregateEngagement(a.interactiveId,Q,H.data.id,G)),aa=s.a.useBasicFetch(H.data&&$.data&&y.u.views(Q,a.interactiveId,H.data.id,G)),ea=(0,c.Y)(a.shareId),ta=!!a.shareId;(0,k.M)({title:K.data?C("pageTitle",{video:null===(L=K.data)||void 0===L?void 0:L.name}):null}),(0,f.v)([z,K,$]);var ia=H.data&&W.data&&K.data&&z.data&&$.data&&(!J||X.data)&&Z.data&&!!aa.data,na=Object.assign(Object.assign(Object.assign({},Y),q),{shareId:a.shareId}),ra=function(a,e){return{resultsAppLink:{application:T.O.INSIGHTS,action:O.e.Insights.INTERACTIVE_STUDENTS,args:[a],params:e},questionsAppLink:{application:T.O.INSIGHTS,action:O.e.Insights.INTERACTIVE_QUESTIONS,args:[a],params:e},heatmapAppLink:{application:T.O.INSIGHTS,action:O.e.Insights.INTERACTIVE_HEATMAP,args:[a],params:e}}}(null===(P=K.data)||void 0===P?void 0:P.id,na);return i.createElement("div",{className:"px-3"},i.createElement(w.j,{video:K.data,dateRangeAppLinkParams:q,tabs:(0,N.kj)(null===(j=K.data)||void 0===j?void 0:j.id,"insights",na),hasAnalytics:_(p.C.ViewCustomerAnalytics),analyticsWebUrl:null===(U=W.data)||void 0===U?void 0:U.analyticsWebUrl,hasShareFlowV2:M,shareId:a.shareId}),i.createElement(B.R,{audienceAppLinkParams:Y,dateRangeAppLinkParams:q,video:K.data}),i.createElement(F.m,{aggregateEngagement:Z.data,interactive:z.data,interactiveMetadata:K.data,interactiveInsightsAppLinks:ra,classroomStudents:X.data,results:$.data,videoViews:aa.data,config:W.data,classroomFilterOnly:J,anonymiseUsers:D,params:na,hasDataLoaded:ia,hasShared:ta,shareId:a.shareId,anonSessions:ea}))}},50782:(a,e,t)=>{t.d(e,{R:()=>k});var i=t(32735),n=t(82602),r=t(20354),s=t(74901),d=t(40003),c=t(30439),l=t(65853),o=t(64249),u=t(91693),v=t(83345),m=t(39151),p=t(1666),h=t(31949),g=t(17913),I=t(37802),y=t(35223),f=t(86099),b=t(24758),E="insights.shareInfo";function k(a){var e,t,k,S,A,w=r.a.useBasicFetch(m.L.config()),F=(0,I.r)(null).publicInteractiveAttempts,N=Object.assign(Object.assign({},(0,d.wO)((0,d.Hb)(),a.dateRangeAppLinkParams)),(0,s.K)(a.audienceAppLinkParams)),O=r.a.useBasicFetch(h.N.currentUser()),T=r.a.useBasicFetch(a.video&&c.o.getShareLinkByObjectId(a.video.id)),B=r.a.useBasicFetch(a.video&&c.o.getSentDirectShareByObjectId(a.video.id)),R=r.a.useBasicFetch((null===(e=O.data)||void 0===e?void 0:e.customerId)&&o.I.getDirectShareRecipientsRequest(O.data.customerId,B.data)),C=r.a.useBasicFetch(O.data&&a.video&&g.u.views(N,a.video.id,O.data.id,F)),L=r.a.useBasicFetch(a.video&&c.o.getPrivacy(a.video.id)),P=r.a.useBasicFetch((null===(t=O.data)||void 0===t?void 0:t.isAuthenticated)&&p.h.yearGroups(O.data.customerId)),j=T.hasCompleted&&!T.data&&B.hasCompleted&&!B.data,U=T.hasCompleted&&T.data||B.hasCompleted&&B.data&&(!T.data||L.data)&&(!T.data||P.data)&&R.data&&C.data,x=T.data&&L.data&&P.data&&l.R.getIconAndText({entity:a.video,entityTypeId:a.video.typeId,hasStudentExp:!1,isPasswordProtected:T.data.isPasswordProtected,linkExpireDate:T.data.linkExpireDate,privacy:L.data,status:T.data.status,yearGroups:P.data}),V=i.useMemo((function(){var a;return null===(a=C.data)||void 0===a?void 0:a.data.reduce((function(a,e){return e.count+a}),0)}),[C.data]),D=(null===(k=B.data)||void 0===k?void 0:k.dateCreated)||(null===(S=T.data)||void 0===S?void 0:S.dateCreated);return i.createElement("div",{className:"mb-4"},U&&i.createElement(i.Fragment,null,i.createElement("h2",{className:"h4"},i.createElement(v.x,{namespace:E,phrase:"shareInfo"})),i.createElement("div",{className:"d-flex border p-3 rounded-3 align-items-center justify-content-between"},i.createElement("div",{className:"d-flex align-items-center gap-2"},i.createElement(b.A,{shareRecipients:R.data,imageCdnUrl:null===(A=w.data)||void 0===A?void 0:A.imageCdnUrl,hasShareLink:!!T.data,maxAvatars:4,shareLinkText:null==x?void 0:x.text}),"·",i.createElement("p",{className:"mb-0"},(0,n.WU)(D)),!!V&&i.createElement(i.Fragment,null,"·",i.createElement("p",{className:"mb-0"},i.createElement(v.x,{namespace:E,phrase:"views",options:{smartCount:V}})))),i.createElement(u.h,{appLink:(0,f.YK)(a.video),svgName:y.vn.Share,className:"btn btn-outline-dark"},i.createElement(v.x,{namespace:E,phrase:"share"})))),!j&&!U&&i.createElement(i.Fragment,null,i.createElement("div",{className:"h4 partial-loading-background w-25"}," "),i.createElement("div",{className:"p-3 rounded partial-loading-background"},i.createElement("p",{className:"mb-1"}," "))))}}}]);
|
|
2
|
+
//# sourceMappingURL=1210-7afb28caac-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1210-7afb28caac-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/flight-requests/InteractiveResultsRequests.ts","file:///app/packages/libs/shared/src/apps/analytics/hooks/UseFetchInteractiveResults.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/share-info/ShareInfoView.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nimport { MarkInteractiveAnswer } from 'libs/shared/apps/analytics/interfaces/MarkInteractiveAnswer';\nimport { InteractiveResultsReport } from 'libs/shared/apps/analytics/interfaces/requests/InteractiveResultsReport';\nimport { InteractivesPendingReviewsRequest } from 'libs/shared/apps/analytics/interfaces/requests/InteractivesPendingReviewsRequest';\nimport { AnalyticsRequestFilter, CurrentUser, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\ninterface InteractiveResultFilters {\n currentUserId: string;\n currentCustomerId: string;\n dateRange?: { start: string, end: string }\n userIds?: string | string[];\n classroomsAndGroups?: string | string[];\n}\n\nfunction getInteractiveResultFilters(\n currentUser: CurrentUser,\n filter: AnalyticsRequestFilter\n): InteractiveResultFilters {\n return {\n currentUserId: currentUser.id,\n currentCustomerId: currentUser.customerId,\n dateRange: { start: filter.start, end: filter.end },\n userIds: filter.userId,\n classroomsAndGroups: filter.groupId\n };\n}\n\nexport const InteractiveResultsRequests = {\n /** \n * This endpoint returns data with a lot of duplicated ids,\n * e.g. student answers to the same question will have the same id.\n * Because of that, we don't normalize.\n */\n interactiveResultSet(\n interactiveId: string,\n interactiveMetadataId: string,\n currentUser: CurrentUser,\n filter: AnalyticsRequestFilter,\n includePublicResults: boolean,\n success?: (data: InteractiveResultSet) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: includePublicResults ?\n `/api/domain/v3/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}` :\n `/api/domain/v2/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: getAnalyticsRequestKey(`interactive:result:set:${interactiveId}:${interactiveMetadataId}`, filter),\n data: getInteractiveResultFilters(currentUser, filter),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n },\n \n /**\n * As the response from `interactiveResultSet` isn't normalised, we need to invalidate the cache\n * to update the results data.\n */\n mark(\n interactiveId: string,\n interactiveMetadataId: string,\n answerId: string,\n data: MarkInteractiveAnswer,\n success?: () => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/answers/${answerId}`,\n key: `mark:answer:${answerId}:${data.resultId}`,\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`,\n success,\n error,\n always\n };\n },\n\n pendingReviews(data: InteractivesPendingReviewsRequest): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/pending-reviews/summary`,\n key: `interactives:pending:reviews`,\n type: HttpVerbs.POST,\n data\n };\n },\n\n interactiveResultsReport(data: InteractiveResultsReport): Flight.Request {\n return {\n url: '{gateway}/v2/analytics/interactives/report',\n key: 'interactive:results:report',\n data,\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import { Flight } from 'libs/common/flight';\n\nimport { InteractiveResultsRequests } from 'libs/shared/apps/analytics/flight-requests/InteractiveResultsRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { AnalyticsRequestFilter, CurrentUser, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\n\nexport function useFetchInteractiveResults(\n interactiveMetadataId: string,\n requestFilter: AnalyticsRequestFilter,\n includePublicResults?: boolean\n): Flight.Response<InteractiveResultSet> {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(!!interactiveMetadataId &&\n InteractiveRequests.interactiveMetadata(interactiveMetadataId));\n\n const interactive = Flight.useBasicFetch<Interactive>(!!interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const shouldFetchResults = !!currentUser.data && !!interactive.data && (!!requestFilter);\n\n return Flight.useBasicFetch<InteractiveResultSet>(shouldFetchResults &&\n InteractiveResultsRequests.interactiveResultSet(\n interactiveMetadata.data.interactiveId,\n interactiveMetadata.data.id,\n currentUser.data,\n requestFilter,\n includePublicResults\n ));\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { useAnonSessions } from 'libs/shared/apps/analytics/hooks/UseAnonSessions';\nimport { useFetchInteractiveResults } from 'libs/shared/apps/analytics/hooks/UseFetchInteractiveResults';\nimport { BaseAnalyticsEventResponse } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { getAudienceParams } from 'libs/shared/apps/analytics/utils/AudienceUtils';\nimport { getInsightsDateRangePresets, getStartEndParams } from 'libs/shared/apps/analytics/utils/DateRangeUtils';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoViewRequests } from 'libs/shared/flight-requests/VideoViewRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, Config, CurrentUser, Engagement, Interactive, InteractiveMetadata, User } from 'libs/shared/interfaces';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsOverview } from 'apps/my-shares/components/interactive-insights-overview/InteractiveInsightsOverview';\nimport { getInsightsInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { getInteractiveInsightsAppLinks } from 'apps/my-shares/views/interactive/overview/InteractiveInsightsOverviewUtils';\nimport { ShareInfoView } from 'apps/my-shares/views/share-info/ShareInfoView';\n\nconst namespace = 'insights.interactiveInsightsOverviewView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InteractiveInsightsViewProps {\n interactiveId: string;\n shareId?: string;\n}\n\nexport function InteractiveInsightsOverviewView(props: InteractiveInsightsViewProps) {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const { hasShareFlowV2 } = useSettings(null);\n\n const { hasPermissions } = usePermissions();\n\n const { publicInteractiveAttempts } = useSettings(null);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.interactiveId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data?.interactiveId &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId));\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n const requestFilter = {\n ...getStartEndParams(getInsightsDateRangePresets(), dateRangeAppLinkParams),\n ...getAudienceParams(audienceAppLinkParams)\n };\n\n const results = useFetchInteractiveResults(props.interactiveId, requestFilter, true);\n\n const classroomFilterOnly =\n audienceAppLinkParams.classrooms?.length === 1 && !audienceAppLinkParams.classroomGroups?.length;\n const classroomStudents = Flight.useBasicFetch<BasePaginatedCollection<User>>(classroomFilterOnly &&\n ClassroomRequests.getClassroomStudents(ArrayHelper.first(audienceAppLinkParams.classrooms)));\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n results.data && VideoViewRequests.aggregateEngagement(\n props.interactiveId,\n requestFilter,\n currentUser.data.id,\n publicInteractiveAttempts\n )\n );\n\n const videoViews = Flight.useBasicFetch<BaseAnalyticsEventResponse>(\n currentUser.data &&\n results.data &&\n VideoViewRequests.views(requestFilter, props.interactiveId, currentUser.data.id, publicInteractiveAttempts)\n );\n\n const anonSessions = useAnonSessions(props.shareId);\n\n const hasShared = !!props.shareId;\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n useHandleObjectError([ interactive, interactiveMetadata, results ]);\n\n const hasDataLoaded =\n currentUser.data &&\n config.data &&\n interactiveMetadata.data &&\n interactive.data &&\n results.data &&\n (!classroomFilterOnly || classroomStudents.data) &&\n aggregateEngagement.data &&\n !!videoViews.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams,\n shareId: props.shareId\n };\n\n const interactiveInsightsAppLinks = getInteractiveInsightsAppLinks(\n interactiveMetadata.data?.id,\n params\n );\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={interactiveMetadata.data}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n tabs={getInsightsInteractiveTabs(interactiveMetadata.data?.id, 'insights', params)}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n analyticsWebUrl={config.data?.analyticsWebUrl}\n hasShareFlowV2={hasShareFlowV2}\n shareId={props.shareId}\n />\n\n <ShareInfoView\n audienceAppLinkParams={audienceAppLinkParams}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n video={interactiveMetadata.data}\n />\n\n <InteractiveInsightsOverview\n aggregateEngagement={aggregateEngagement.data}\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n interactiveInsightsAppLinks={interactiveInsightsAppLinks}\n classroomStudents={classroomStudents.data}\n results={results.data}\n videoViews={videoViews.data}\n config={config.data}\n classroomFilterOnly={classroomFilterOnly}\n anonymiseUsers={anonymiseUsers}\n params={params}\n hasDataLoaded={hasDataLoaded}\n hasShared={hasShared}\n shareId={props.shareId}\n anonSessions={anonSessions}\n />\n </div>\n );\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function getInteractiveInsightsAppLinks(id: string, params?: HashObject) {\n return {\n resultsAppLink: {\n application: AppChannels.INSIGHTS,\n action: Actions.Insights.INTERACTIVE_STUDENTS,\n args: [id],\n params\n },\n questionsAppLink: {\n application: AppChannels.INSIGHTS,\n action: Actions.Insights.INTERACTIVE_QUESTIONS,\n args: [id],\n params\n },\n heatmapAppLink: {\n application: AppChannels.INSIGHTS,\n action: Actions.Insights.INTERACTIVE_HEATMAP,\n args: [id],\n params\n }\n };\n}","import React from 'react';\nimport { format as formatDate } from 'timeago.js';\n\nimport { Flight } from 'libs/common/react/index';\n\nimport { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\nimport { BaseAnalyticsEventResponse } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { DateRangeQueryParams } from 'libs/shared/apps/analytics/interfaces/DateRangeQueryParams';\nimport { getAudienceParams } from 'libs/shared/apps/analytics/utils/AudienceUtils';\nimport { getInsightsDateRangePresets, getStartEndParams } from 'libs/shared/apps/analytics/utils/DateRangeUtils';\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { ShareLinkHelper } from 'libs/shared/apps/share/utils/ShareLinkHelper';\nimport { SharableRecipient, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoViewRequests } from 'libs/shared/flight-requests/VideoViewRequests';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, DirectShare, ShareLink, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getShareAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { SharedToPill } from 'apps/my-shares/components/shared-to-pill/SharedToPill';\n\nconst namespace = 'insights.shareInfo';\n\ninterface ShareInfoViewProps {\n video: VideoTypes;\n audienceAppLinkParams: AudienceQueryParams;\n dateRangeAppLinkParams: DateRangeQueryParams;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function ShareInfoView(props: ShareInfoViewProps) {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const { publicInteractiveAttempts } = useSettings(null);\n\n const requestFilter = {\n ...getStartEndParams(getInsightsDateRangePresets(), props.dateRangeAppLinkParams),\n ...getAudienceParams(props.audienceAppLinkParams)\n };\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const shareLink = Flight.useBasicFetch<ShareLink>(props.video &&\n ShareRequests.getShareLinkByObjectId(props.video.id));\n const sentDirectShare = Flight.useBasicFetch<DirectShare>(props.video &&\n ShareRequests.getSentDirectShareByObjectId(props.video.id));\n const recipients = Flight.useBasicFetch<SharableRecipient[]>(currentUser.data?.customerId &&\n ShareViewHelper.getDirectShareRecipientsRequest(currentUser.data.customerId, sentDirectShare.data));\n const videoViews = Flight.useBasicFetch<BaseAnalyticsEventResponse>(currentUser.data && props.video &&\n VideoViewRequests.views(requestFilter, props.video.id, currentUser.data.id, publicInteractiveAttempts));\n const privacy = Flight.useBasicFetch<SharePrivacyResponse>(props.video && ShareRequests.getPrivacy(props.video.id));\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const notShared =\n (shareLink.hasCompleted && !shareLink.data) &&\n (sentDirectShare.hasCompleted && !sentDirectShare.data);\n\n const hasShareData =\n (shareLink.hasCompleted && shareLink.data) ||\n (sentDirectShare.hasCompleted && sentDirectShare.data) &&\n (!shareLink.data || privacy.data) &&\n (!shareLink.data || yearGroups.data) &&\n recipients.data &&\n videoViews.data;\n\n const shareLinkText = shareLink.data && privacy.data && yearGroups.data &&\n ShareLinkHelper.getIconAndText({\n entity: props.video,\n entityTypeId: props.video.typeId,\n hasStudentExp: false,\n isPasswordProtected: shareLink.data.isPasswordProtected,\n linkExpireDate: shareLink.data.linkExpireDate,\n privacy: privacy.data,\n status: shareLink.data.status,\n yearGroups: yearGroups.data\n });\n\n const viewCount = React.useMemo(() => {\n return videoViews.data?.data.reduce((acc, view) => view.count + acc, 0);\n }, [videoViews.data]);\n const dateShared = sentDirectShare.data?.dateCreated || shareLink.data?.dateCreated;\n\n return (\n <div className='mb-4'>\n {hasShareData &&\n <>\n <h2 className='h4'><Text namespace={namespace} phrase='shareInfo' /></h2>\n\n <div className='d-flex border p-3 rounded-3 align-items-center justify-content-between'>\n <div className='d-flex align-items-center gap-2'>\n <SharedToPill\n shareRecipients={recipients.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n hasShareLink={!!shareLink.data}\n maxAvatars={4}\n shareLinkText={shareLinkText?.text}\n />\n ·\n <p className='mb-0'>{formatDate(dateShared)}</p>\n {!!viewCount && (\n <>\n ·\n <p className='mb-0'><Text namespace={namespace} phrase='views' options={{ smartCount: viewCount }} /></p>\n </>\n )}\n </div>\n <IconButton\n appLink={getShareAppLink(props.video)}\n svgName={cvSvgLibrary.Share}\n className='btn btn-outline-dark'\n >\n <Text namespace={namespace} phrase='share' />\n </IconButton>\n </div>\n </>\n }\n\n {!notShared && !hasShareData &&\n <>\n <div className='h4 partial-loading-background w-25'> </div>\n <div className='p-3 rounded partial-loading-background'>\n <p className='mb-1'> </p>\n </div>\n </>\n }\n </div>\n );\n}"],"names":["getInteractiveResultFilters","currentUser","filter","currentUserId","id","currentCustomerId","customerId","dateRange","start","end","userIds","userId","classroomsAndGroups","groupId","InteractiveResultsRequests","interactiveResultSet","interactiveId","interactiveMetadataId","includePublicResults","success","error","always","url","key","data","type","normalize","mark","answerId","resultId","invalidationKeys","pendingReviews","interactiveResultsReport","useFetchInteractiveResults","requestFilter","interactiveMetadata","interactive","shouldFetchResults","I","getPhrase","LanguageService","InteractiveInsightsOverviewView","props","anonymiseUsers","SharedViewModelKeys","useLockContentWidth","hasShareFlowV2","useSettings","hasPermissions","usePermissions","publicInteractiveAttempts","UserRequests","config","ConfigRequests","InteractiveRequests","audienceAppLinkParams","dateRangeAppLinkParams","results","classroomFilterOnly","classrooms","length","classroomGroups","classroomStudents","ClassroomRequests","ArrayHelper","aggregateEngagement","VideoViewRequests","videoViews","anonSessions","shareId","hasShared","useSetPageMetadata","title","video","name","hasDataLoaded","params","interactiveInsightsAppLinks","resultsAppLink","application","action","args","questionsAppLink","heatmapAppLink","getInteractiveInsightsAppLinks","className","InsightsHeader","tabs","hasAnalytics","PermissionName","analyticsWebUrl","ShareInfoView","InteractiveInsightsOverview","namespace","shareLink","sentDirectShare","recipients","privacy","yearGroups","isAuthenticated","notShared","hasCompleted","hasShareData","shareLinkText","entity","entityTypeId","typeId","hasStudentExp","isPasswordProtected","linkExpireDate","status","viewCount","reduce","acc","view","count","dateShared","dateCreated","phrase","shareRecipients","imageCdnUrl","hasShareLink","maxAvatars","text","options","smartCount","appLink","svgName"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1386],{71553:(e,t,n)=>{n.d(t,{I:()=>l});var r=n(99940),a=n(62875);function i(e,t){return{currentUserId:e.id,currentCustomerId:e.customerId,dateRange:{start:t.start,end:t.end},userIds:t.userId,classroomsAndGroups:t.groupId}}var l={interactiveResultSet:function(e,t,n,l,o,c,s,u){return{url:o?"/api/domain/v3/analytics/interactives/".concat(e,"/metadata/").concat(t):"/api/domain/v2/analytics/interactives/".concat(e,"/metadata/").concat(t),key:(0,a.H)("interactive:result:set:".concat(e,":").concat(t),l),data:i(n,l),type:r.k.POST,normalize:!1,success:c,error:s,always:u}},mark:function(e,t,n,a,i,l,o){return{url:"/api/domain/v1/analytics/answers/".concat(n),key:"mark:answer:".concat(n,":").concat(a.resultId),type:r.k.PUT,data:a,normalize:!1,invalidationKeys:"interactive:result:set:".concat(e,":").concat(t),success:i,error:l,always:o}},pendingReviews:function(e){return{url:"/api/domain/v1/analytics/interactives/pending-reviews/summary",key:"interactives:pending:reviews",type:r.k.POST,data:e}},interactiveResultsReport:function(e){return{url:"{gateway}/v2/analytics/interactives/report",key:"interactive:results:report",data:e,type:r.k.POST,normalize:!1}}}},39902:(e,t,n)=>{n.d(t,{F:()=>p,f:()=>m});var r=n(32735),a=n(20354),i=n(75896);function l(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=50;function m(e,t){var n=i.m.chunk(e,d).map((function(e){return t(i.m.uniq(e))})),r=a.a.useBasicFetchAll(n),l=i.m.flatten(r.data),o=r.data.length?l.reduce((function(e,t){return Object.assign(Object.assign({},e),u({},t.id,t))}),{}):null;return{itemsArr:l,items:o,isFetching:r.isFetching}}function p(e,t,n){var c,m,p,v,f=n||function(e){return"object"===s(e)?e.id:e},g=r.useRef(new Set),y=(p=r.useState([]),v=2,function(e){if(Array.isArray(e))return e}(p)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return o}}(p,v)||o(p,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=y[0],b=y[1];r.useEffect((function(){if(null==e?void 0:e.length){var n=[];e.forEach((function(e){var t=f(e);g.current.has(t)||(n.push(e),g.current.add(t))})),n.length&&b((function(e){return[].concat(l(e),l(i.m.chunk(n,d).map(t)))}))}}),[null==e?void 0:e.length]);var E=a.a.useBasicFetchAll(h),x=i.m.flatten(E.data),k=E.data.length?x.reduce((function(e,t){return Object.assign(Object.assign({},e),u({},f(t),t))}),{}):null;return{hasFirstRequestCompleted:!!(null===(m=null===(c=E.responses)||void 0===c?void 0:c[0])||void 0===m?void 0:m.hasCompleted),itemsArr:x,items:k,isFetching:E.isFetching}}},62875:(e,t,n)=>{function r(e,t,n){var r="".concat(e,":").concat(t.start,":").concat(t.end),a=Array.isArray(t.userId)?t.userId.sort().join(":"):t.userId,i=Array.isArray(t.groupId)?t.groupId.sort().join(":"):t.groupId;return a&&(r+=":".concat(a)),i&&(r+=":".concat(i)),n&&(r+=":".concat(n)),r}n.d(t,{H:()=>r})},51401:(e,t,n)=>{n.d(t,{g:()=>h,F:()=>E});var r=n(32735),a=n(82602),i=n(39202),l=n(65858),o=n(9806),c=n(83345),s=n(62335),u=n(26339),d=n(54610),m=n(4594),p=n(31908),v=n(4315);const f={mySharesTable:"hyaYe",mySharesHeader:"WjfsD",tableBorder:"tHBWr"};function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var y="myShares.tableRow";function h(e){return r.createElement("div",{className:"".concat(f.mySharesHeader," d-block d-lg-grid gap-3 px-3")},r.createElement("p",{className:"fw-semibold mb-2 ms-n3"},e.heading),e.isFirst&&r.createElement(r.Fragment,null,r.createElement("div",{className:"d-none d-xl-inline"}),r.createElement("p",{className:"d-none d-xl-inline fw-semibold mb-2"},r.createElement(c.x,{namespace:y,phrase:"sharedToHeading"})),r.createElement("p",{className:"d-none d-xl-inline fw-semibold mb-2"},r.createElement(c.x,{namespace:y,phrase:"dateSharedHeading"})),r.createElement("p",{className:"d-none d-xl-inline fw-semibold mb-2"},r.createElement(c.x,{namespace:y,phrase:"viewsHeading"}))))}function b(e){var t,n=e.sharedObject;if(!n.name)return r.createElement(c.x,{namespace:y,phrase:"videoUnavailable"});if(p.M.isVideoType(n)&&!(null===(t=p.M.getCanBeConsumed(n))||void 0===t?void 0:t.canNavigate))return r.createElement("span",{className:"clamp-2"},n.name);var a=function(){switch(n.typeId){case m.E.Series:return"series";case m.E.Playlist:return"playlist"}}();return r.createElement("div",null,p.M.isVideoType(n)&&r.createElement(u.$,{type:"series",video:n,analyticsOptions:{location:l.LZ.Insights},className:"d-inline clamp-1"}),a&&r.createElement(s.m,null,r.createElement(c.x,{namespace:y,phrase:a})),n.name,!!e.requireMarking&&r.createElement("div",{className:"font-size-sm d-flex align-items-center bg-light-ultramarine text-ultramarine rounded-pill w-fit mt-1 px-2"},r.createElement(c.x,{namespace:y,phrase:"requireMarking",options:{smartCount:e.requireMarking}})))}function E(e){var t=e.shareData,n=t.sharedObject,s=e.breakpoints.xs||e.breakpoints.sm,u=e.breakpoints.xl||e.breakpoints.xxl,p=n.typeId===m.E.Playlist||n.typeId===m.E.Series;function h(){var r,a,l=(r=e.getObjectActions(n,t.share.shareId),a=1,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return o}}(r,a)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}(r,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];i.C$.trigger(l.appLink)}return r.createElement("div",{key:t.share.shareId,onClick:h,className:"".concat(f.mySharesTable," ").concat(f.tableBorder," position-relative d-flex flex-md-row align-items-md-center p-0 p-md-3 gap-3")},r.createElement("div",{className:"col-xl-1"},r.createElement(o.k,{object:n,showVideoMetadata:!1,locationContext:l.LZ.MyShares,imageOptions:{size:d.h2.Medium},requireMarking:s&&t.pendingReview,showCollectionMask:!1,showVideoCount:!1})),r.createElement("div",{className:"d-flex align-items-xl-center flex-xl-row gap-xl-3 col-xl-11"},r.createElement("div",{className:"col-xl-3"},r.createElement(b,{sharedObject:t.sharedObject,requireMarking:u&&t.pendingReview}),e.children),r.createElement("div",{className:"d-flex align-items-center gap-xl-0 pe-4 pe-md-0 col-xl-9"},r.createElement("div",{className:"col-xl-5"},r.createElement(v.e,{shareLink:t.share})),r.createElement("span",{className:"d-inline d-xl-none"},"·"),r.createElement("p",{className:"mb-0 col-xl-3"},(0,a.WU)(t.dateShared)),p?r.createElement("p",{className:"mb-0 d-none d-xl-block col-xl-2"},"-"):r.createElement(r.Fragment,null,r.createElement("span",{className:"d-inline d-xl-none"},"·"),r.createElement("p",{className:"mb-0 col-xl-2"},r.createElement(c.x,{namespace:y,phrase:"views",options:{smartCount:t.viewCount}}))),r.createElement("p",{onClick:h,className:"cursor-pointer p-0 m-0 text-info col-xl-2"},"View report"))))}},5056:(e,t,n)=>{n.d(t,{R:()=>f});var r=n(32735),a=n(23481),i=n(75896),l=n(110),o=n(31754),c=n(4594),s=n(93975);function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function d(e,t,n){return(t=function(e){var t=function(e){if("object"!=u(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==u(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var m=a.T.encloseNamespace("myShares.mySharesTable");function p(e){var t;if(e.type===s.y.Link||!(null===(t=null==e?void 0:e.recipients)||void 0===t?void 0:t.length))return e.dateCreated;var n=e.recipients.map((function(e){return e.dateCreated}));return n.sort((function(e,t){return l.O.isSame(e,t)?0:l.O.isAfter(e,t)?1:-2})),n.length?i.m.last(n):""}var v=n(51401);function f(e){var t,n,a,i,l,u,f,g=(t=e.sentShares,n=e.sharedObjects,a=e.shareRecipients,i=!!e.groupByDateShared,l=e.interactivesPendingReview,u=[],f=null==l?void 0:l.reduce((function(e,t){return Object.assign(d({},t.interactiveId,t),e)}),{}),t.forEach((function(e){var t,r,i=null==n?void 0:n[e.objectId],l=null;if(e.type===s.y.Classroom&&(l=[],null===(t=e.recipients)||void 0===t||t.forEach((function(e){var t=null==a?void 0:a[e.recipientId];t&&l.push(t)}))),i){var o=i.typeId===c.E.Interactive&&(null==f?void 0:f[i.interactiveId]);u.push({share:e,sharedObject:i,shareRecipients:l,dateShared:p(e),viewCount:null!==(r=e.viewCount)&&void 0!==r?r:0,pendingReview:null==o?void 0:o.pendingReviewCount,privacy:e.privacy})}})),i?o.x.groupByDateShared(u):d({},m("title"),u));return r.createElement(r.Fragment,null,Object.keys(g).map((function(t,n){return r.createElement("div",{key:t},r.createElement(v.g,{heading:t,isFirst:!e.hasDemoInsights&&0===n}),r.createElement("div",{className:"d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md"},g[t].map((function(t){return r.createElement(v.F,{key:t.share.shareId,shareData:t,getObjectActions:e.getObjectActions,getObjectAppLink:e.getObjectAppLink,breakpoints:e.breakpoints,imageCdnUrl:e.imageCdnUrl,yearGroups:e.yearGroups})}))))})))}},67467:(e,t,n)=>{n.d(t,{o:()=>u});var r=n(32735),a=n(23481),i=n(97958),l=n(99742),o=n(14070),c=n(97291),s=a.T.encloseNamespace("myShares.mySharesTableEmptyState");function u(){return r.createElement(i.u,null,r.createElement(i.u.Image,{src:l.W.EmptyStates.Share.SHARED_BY_ME,size:"small"}),r.createElement(i.u.Heading,null,s("heading")),r.createElement(i.u.Info,null,s("info")),r.createElement(i.u.Cta,{appLink:{application:c.O.DASHBOARD,action:o.e.Dashboard.HOME},text:s("cta")}))}},28001:(e,t,n)=>{n.d(t,{L:()=>l});var r=n(32735);const a={table:"elIjR",tableHeader:"xJKgP",heading:"iWHol",image:"TMQxq",avatar:"_3GY1C",date:"nz3va",views:"FpDfX",actions:"pOtyK"};function i(){return r.createElement("div",{className:"".concat(a.table," position-relative d-flex d-xl-grid flex-column flex-md-row align-items-md-center p-0 p-md-3 gap-3")},r.createElement("div",{className:"col-12 col-md-3 col-xl-auto"},r.createElement("div",{className:"partial-loading-background rounded ratio ratio-16x9 "})),r.createElement("div",{className:"d-flex flex-column align-items-xl-center flex-xl-row gap-1 gap-xl-3"},r.createElement("div",{className:"partial-loading-background col-8 col-xl-4"}," "),r.createElement("div",{className:"d-flex align-items-center gap-2 gap-xl-0 pe-4 pe-md-0 col-xl-8"},r.createElement("div",{className:"col-xl-5"},r.createElement("div",{className:"".concat(a.avatar," partial-loading-background rounded-pill col-xl-8")})),r.createElement("div",{className:"col-xl-4"},r.createElement("div",{className:"".concat(a.date," partial-loading-background")}," ")),r.createElement("div",{className:"col-xl-3"},r.createElement("div",{className:"".concat(a.views," partial-loading-background")}," ")))),r.createElement("div",{className:"position-absolute bottom-0 end-0 position-md-static d-flex justify-content-end gap-2 ms-auto col col-xl-12"},r.createElement("div",{className:"".concat(a.actions," partial-loading-background rounded d-none d-md-block px-3 p-lg-0 col-lg-6")}),r.createElement("div",{className:"".concat(a.actions," partial-loading-background rounded px-3 p-lg-0 col-lg-4")})))}function l(){return r.createElement(r.Fragment,null,r.createElement("div",{className:"mb-3"},r.createElement("div",{className:"no-full-width"},r.createElement("div",{className:"".concat(a.table," d-block d-xl-grid gap-3 px-3")},r.createElement("div",{className:"partial-loading-background mb-2 ms-n3 ".concat(a.date)}," "),r.createElement("div",{className:"d-flex flex-column align-items-xl-center flex-xl-row gap-1 gap-xl-3"},r.createElement("div",{className:"col-xl-4"}),r.createElement("div",{className:"d-flex align-items-center gap-2 gap-xl-0 pe-4 pe-md-0 col-xl-8"},r.createElement("div",{className:"col-xl-5"},r.createElement("div",{className:"d-none d-xl-inline-block partial-loading-background mb-2 ".concat(a.date)}," ")),r.createElement("div",{className:"col-xl-4"},r.createElement("div",{className:"d-none d-xl-inline-block partial-loading-background mb-2 ".concat(a.date)}," ")),r.createElement("div",{className:"col-xl-3"},r.createElement("div",{className:"d-none d-xl-inline-block partial-loading-background mb-2 ".concat(a.date)}," "))))),r.createElement("div",{className:"d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border"},r.createElement(i,null),r.createElement(i,null),r.createElement(i,null)))),r.createElement("div",{className:"mb-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(a.date)}," "),r.createElement("div",{className:"d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border"},r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null))),r.createElement("div",{className:"mb-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(a.date)}," "),r.createElement("div",{className:"d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border"},r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null),r.createElement(i,null))))}},45231:(e,t,n)=>{n.d(t,{a:()=>g});var r=n(20354),a=n(1048),i=n(71553),l=n(30439),o=n(39151),c=n(1666),s=n(31949),u=n(39902),d=n(60115),m=n(31908),p=n(88630),v=n(91574),f=n(72951);function g(e,t){var n,g,y=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],h=r.a.useGetFetch(),b=r.a.useBasicFetch(s.N.currentUser()),E=r.a.useBasicFetch(o.L.config()),x=r.a.useBasicFetch((null===(n=b.data)||void 0===n?void 0:n.isAuthenticated)&&c.h.yearGroups(b.data.customerId)),k=function(t){return y&&v.o.getSentShares(Object.assign({cursor:t},e))},S=function(e){return h(k(e))},I=(0,d.K)(k,S),w=I.items,N=I.hasMore,j=I.isFetching,O=I.nextCursor,C=I.hasFirstPageCompleted,A=(0,u.F)(null==w?void 0:w.map((function(e){return e.objectId.toString()})),l.o.sharedObjectsById),L=(0,u.F)(f.x.getFlattenedRecipients(null!=w?w:[]).map((function(e){return e.recipientId.toString()})),(function(e){return l.o.getRecipientsById(e,b.data.customerId)})),F=(0,u.F)(t?a.t.values(A.items||[]):[],(function(e){return i.I.pendingReviews({interactives:e.filter(m.M.isInteractive).map((function(e){return{interactiveId:e.interactiveId,metadataId:e.id}})),filters:{currentCustomerId:b.data.customerId,currentUserId:b.data.id}})}),(function(e){return"".concat(e.id,":").concat(e.interactiveId)})),T=(0,u.F)(f.x.getClassoomIds(null!=w?w:[]),(function(e){return p.F.getClassroomsByIds(e)})),P=j||A.isFetching||L.isFetching||F.isFetching||x.isFetching,R=!C||!A.hasFirstRequestCompleted;return{sentShares:w,sharedObjects:A,shareRecipients:L,shareClassrooms:T,yearGroups:x.data,interactivesPendingReview:F,isFetching:P,showPartialLoading:R,nextCursor:O,hasMore:N,fetchNext:S,imageCdnUrl:null===(g=E.data)||void 0===g?void 0:g.imageCdnUrl}}},69003:(e,t,n)=>{n.d(t,{cl:()=>f,sD:()=>v});var r=n(23481),a=n(65858),i=n(26025),l=n(35223),o=n(31908),c=n(14070),s=n(97291),u=n(86099);function d(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var p=r.T.encloseNamespace("myShares.myShares");function v(e,t,n,r,i,d){var m=[],v={button:!(d.xs||d.sm),className:"btn btn-outline-dark"};if(o.M.isVideoType(e)){if(!o.M.getCanBeConsumed(e).canConsume)return[];if(i)return[Object.assign(Object.assign({label:p("embedVideo"),appLink:{application:s.O.DEFAULT,action:c.e.Default.PLUGIN_SHARE,args:[e.id],params:{entityType:e.type}}},v),{analyticsOptions:{actionType:a.Vw.Share,descriptor:a.YM.PluginEmbed,workflowPhase:a.eu.Start,eventVersion:a.eq.V5}})]}return r&&m.push(Object.assign({svgName:l.vn.Analytics,label:!d.md&&p("viewInsights"),tooltip:d.md&&p("viewInsights"),appLink:Object.assign(Object.assign({},(0,u.Dw)(e)),{params:Object.assign(Object.assign({},n),{shareId:t})}),group:"insights"},v)),m.push(Object.assign({label:!d.md&&p("share"),tooltip:d.md&&p("share"),svgName:l.vn.Share,appLink:(0,u.YK)(e),group:"share"},v)),m}function f(e){var t=function(e){return e?"string"==typeof e?[+e]:e.map((function(e){return+e}))||[]:[]}(e),n=i.B.getAudienceAppLinkParams();return{typeIdAppLinkParams:t,audienceAppLinkParams:n,currentAppLink:{application:s.O.MY_SHARES,action:c.e.MyShares.HOME,params:Object.assign(Object.assign({},n),{typeId:t})},sentSharesParams:{recipientUserId:null==n?void 0:n.users,recipientGroupId:[].concat(d((null==n?void 0:n.classroomGroups)||[]),d((null==n?void 0:n.classrooms)||[])),objectTypeId:t.length?t:void 0}}}},4315:(e,t,n)=>{n.d(t,{e:()=>u});var r=n(32735),a=n(12528),i=n(4594),l=n(35223),o=n(93975);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function s(e,t,n){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){return r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"d-flex align-items-center justify-content-center"},r.createElement("div",null,r.createElement(a.f,{svgName:d[e.shareLink.type],variant:m[e.shareLink.type],textVariant:"white",svgWrapperClassName:"p-1"})),r.createElement("div",{className:"d-flex flex-column ms-2"},r.createElement("label",{className:"m-0"},(n=(t=e).shareLink,l=t.classroomName,n.type===o.y.Classroom&&l?l:p[n.type])),r.createElement("span",{className:"text-secondary"},function(e){var t,n,r,a,l=e.shareLink;if(l.type===o.y.Classroom){var c=null!==(n=null===(t=l.recipients)||void 0===t?void 0:t.filter((function(e){return e.recipientTypeId===i.E.ClassroomGroup})).length)&&void 0!==n?n:0,s=null!==(a=null===(r=l.recipients)||void 0===r?void 0:r.filter((function(e){return e.recipientTypeId===i.E.User})).length)&&void 0!==a?a:0;return c&&s?"".concat(c," ").concat(v(c,"group","groups"),", ").concat(s," ").concat(v(s,"student","students")):c?"".concat(c," ").concat(v(c,"group","groups")):s?"".concat(s," ").concat(v(s,"student","students")):"All students in classroom can view"}return l.type===o.y.Open?"Anyone in my school can view":l.type===o.y.Link?"Anyone with a link can view":l.type===o.y.Live?"Live now":"Anyone can view for 30 days"}(e)))));var t,n,l}var d=s(s(s(s({},o.y.Open,l.vn.School),o.y.Link,l.vn.Link),o.y.Classroom,l.vn.Classrooms),o.y.Live,l.vn.Play),m=s(s(s(s({},o.y.Open,"blue"),o.y.Link,"black"),o.y.Classroom,"teal"),o.y.Live,"purple"),p=s(s(s(s({},o.y.Open,"Open classroom"),o.y.Link,"Link"),o.y.Classroom,"Classroom"),o.y.Live,"Live");function v(e,t,n){return 1===e?t:n}},93975:(e,t,n)=>{var r;n.d(t,{y:()=>r}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(r||(r={}))},91574:(e,t,n)=>{n.d(t,{o:()=>l});var r=n(99940),a=n(97395),i={namespace:"share-v2"},l={createShareLink:function(e,t,n,a){return{url:"/api/share/v2/shares",key:"create:share-v2:link",type:r.k.POST,data:e,normalizeOptions:i,invalidationKeys:["share:link:object:".concat(e.objectId),"privacy:".concat(e.objectId),"sent:shares","get:share-v2:shares:object"],success:t,error:n,always:a}},getShareLink:function(e,t,n,a){return{url:"/api/share/v2/shares/".concat(e),key:"get:share-v2:link:".concat(e),type:r.k.GET,normalizeOptions:i,success:t,error:n,always:a}},getSharesByObjectId:function(e,t,n,a){return{url:"/api/share/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:r.k.GET,normalizeOptions:i,success:t,error:n,always:a}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,l={scopeId:e.scopeId,limit:e.limit||25,offset:parseInt(e.cursor)||0},o=Object.values(l).join(":");return{url:a._.urlBuilder("/api/share/v2/shares/sent",l),key:"sent:shares-v2:".concat(o),formatData:function(e){return{data:e,count:e.length,pagination:{cursors:{next:l.offset+e.length}}}},type:r.k.GET,normalize:!1,success:t,error:n,always:i}},createPincode:function(e){return{url:"/api/share/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:pincode",type:r.k.POST}},getPincode:function(e){return{url:"/api/share/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}},getPincodeByShareId:function(e){return{url:"/api/share/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}}}},72951:(e,t,n)=>{n.d(t,{x:()=>i});var r=n(75896),a=n(4594),i={getFlattenedRecipients:function(e){return r.m.flatten(e.map((function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]})))},getClassoomIds:function(e){var t=i.getFlattenedRecipients(e).map((function(e){return e.scopeId?e.scopeId.toString():e.recipientId&&e.recipientTypeId===a.E.Classroom?e.recipientId.toString():void 0}));return r.m.uniq(t.filter((function(e){return!!e})))},getClassroomIdFromShare:function(e){var t,n=null===(t=e.recipients)||void 0===t?void 0:t[0];if(n)return n.scopeId?n.scopeId.toString():n.recipientId&&n.recipientTypeId===a.E.Classroom?n.recipientId.toString():void 0},getClassroomForShare:function(e,t){var n=i.getClassroomIdFromShare(e);if(n)return t.find((function(e){return e.id.toString()===n.toString()}))}}}}]);
|
|
2
|
+
//# sourceMappingURL=1386-332e63f68c-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1386-332e63f68c-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/flight-requests/InteractiveResultsRequests.ts","file:///app/packages/libs/shared/src/hooks/UseBatchFetch.ts","file:///app/packages/libs/shared/src/utils/AnalyticsRequestUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table-row/my-shares-table-row.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table-row/MySharesTableRow.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/MySharesTableUtils.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/MySharesTable.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/partial-loading/partial-my-shares-table.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable.tsx","file:///app/packages/projects/lite/src/apps/my-shares/hooks/useMySharesTable.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/MySharesViewUtils.ts","file:///app/packages/projects/lite/src/apps/share-v2/components/ShareAvatar.tsx","file:///app/packages/projects/lite/src/apps/share-v2/enums/ShareType.ts","file:///app/packages/projects/lite/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/projects/lite/src/apps/share-v2/utils/ShareHelper.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nimport { MarkInteractiveAnswer } from 'libs/shared/apps/analytics/interfaces/MarkInteractiveAnswer';\nimport { InteractiveResultsReport } from 'libs/shared/apps/analytics/interfaces/requests/InteractiveResultsReport';\nimport { InteractivesPendingReviewsRequest } from 'libs/shared/apps/analytics/interfaces/requests/InteractivesPendingReviewsRequest';\nimport { AnalyticsRequestFilter, CurrentUser, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { getAnalyticsRequestKey } from 'libs/shared/utils/AnalyticsRequestUtils';\n\ninterface InteractiveResultFilters {\n currentUserId: string;\n currentCustomerId: string;\n dateRange?: { start: string, end: string }\n userIds?: string | string[];\n classroomsAndGroups?: string | string[];\n}\n\nfunction getInteractiveResultFilters(\n currentUser: CurrentUser,\n filter: AnalyticsRequestFilter\n): InteractiveResultFilters {\n return {\n currentUserId: currentUser.id,\n currentCustomerId: currentUser.customerId,\n dateRange: { start: filter.start, end: filter.end },\n userIds: filter.userId,\n classroomsAndGroups: filter.groupId\n };\n}\n\nexport const InteractiveResultsRequests = {\n /** \n * This endpoint returns data with a lot of duplicated ids,\n * e.g. student answers to the same question will have the same id.\n * Because of that, we don't normalize.\n */\n interactiveResultSet(\n interactiveId: string,\n interactiveMetadataId: string,\n currentUser: CurrentUser,\n filter: AnalyticsRequestFilter,\n includePublicResults: boolean,\n success?: (data: InteractiveResultSet) => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: includePublicResults ?\n `/api/domain/v3/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}` :\n `/api/domain/v2/analytics/interactives/${interactiveId}/metadata/${interactiveMetadataId}`,\n key: getAnalyticsRequestKey(`interactive:result:set:${interactiveId}:${interactiveMetadataId}`, filter),\n data: getInteractiveResultFilters(currentUser, filter),\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error,\n always\n };\n },\n \n /**\n * As the response from `interactiveResultSet` isn't normalised, we need to invalidate the cache\n * to update the results data.\n */\n mark(\n interactiveId: string,\n interactiveMetadataId: string,\n answerId: string,\n data: MarkInteractiveAnswer,\n success?: () => void,\n error?: (data: any) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/answers/${answerId}`,\n key: `mark:answer:${answerId}:${data.resultId}`,\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: `interactive:result:set:${interactiveId}:${interactiveMetadataId}`,\n success,\n error,\n always\n };\n },\n\n pendingReviews(data: InteractivesPendingReviewsRequest): Flight.Request {\n return {\n url: `/api/domain/v1/analytics/interactives/pending-reviews/summary`,\n key: `interactives:pending:reviews`,\n type: HttpVerbs.POST,\n data\n };\n },\n\n interactiveResultsReport(data: InteractiveResultsReport): Flight.Request {\n return {\n url: '{gateway}/v2/analytics/interactives/report',\n key: 'interactive:results:report',\n data,\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nconst CHUNK_SIZE = 50;\n\nexport interface UseBatchFetchResult<T extends BaseObject> {\n itemsArr: T[];\n items: { [key: string]: T} | null;\n isFetching: boolean;\n}\n\n/**\n * Used to fetch multiple items by id with Flight. Will fetch 25 items at a time firing off multiple\n * requests if there are more than 25 items.\n * This will return items as null until we have all our items. Items will be returned as an object with\n * their ids as they key for easy mapping\n * \n * @param itemIds \n * @param getRequest \n */\nexport function useBatchFetch<T extends BaseObject>(\n itemIds: string[],\n getRequest: (ids: string[]) => Flight.Request\n): UseBatchFetchResult<T> {\n const chunks = ArrayHelper.chunk<string>(itemIds, CHUNK_SIZE);\n\n const requests = chunks.map(chunk => getRequest(ArrayHelper.uniq(chunk)));\n\n const responses = Flight.useBasicFetchAll<T[]>(requests);\n\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce((acc, item) => ({ ...acc, [item.id]: item }), {})\n : null;\n\n return {\n itemsArr,\n items,\n isFetching: responses.isFetching\n };\n}\n\n/**\n * When you need the useBatchFetch() behavior, but your list of objects to hydrate\n * will grow, such as on a scrolling page. useGrowingBatchFetch() will use local state\n * to determine what we've already built a request for and what items are new\n * as to not re-fetch items - Sha\n */\nexport function useGrowingBatchFetch<T>(\n objs: T[],\n getRequest: (items: T[]) => Flight.Request,\n _getKey?: (obj: T) => string\n) {\n const getKey = _getKey || ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const fetchedItems = React.useRef<Set<string>>(new Set<string>());\n\n const [ requests, setRequests ] = React.useState<Flight.Request[]>([]);\n\n React.useEffect(() => {\n if (!objs?.length)\n return;\n\n const unfetchedItems: T[] = [];\n \n objs.forEach(obj => {\n const key = getKey(obj);\n\n if (fetchedItems.current.has(key))\n return;\n\n unfetchedItems.push(obj);\n fetchedItems.current.add(key);\n });\n \n if (!unfetchedItems.length)\n return;\n\n setRequests(r => ([ ...r, ...ArrayHelper.chunk<T>(unfetchedItems, CHUNK_SIZE).map(getRequest) ]));\n }, [objs?.length]);\n\n const responses = Flight.useBasicFetchAll<T[]>(requests);\n\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce((acc, item) => ({ ...acc, [getKey(item)]: item }), {})\n : null;\n\n return {\n hasFirstRequestCompleted: !!responses.responses?.[0]?.hasCompleted,\n itemsArr,\n items,\n isFetching: responses.isFetching\n };\n}","import { AnalyticsRequestFilter } from 'libs/shared/interfaces';\n\nexport function getAnalyticsRequestKey(baseKey: string, filter: AnalyticsRequestFilter, sharerId?: string): string {\n let key = `${baseKey}:${filter.start}:${filter.end}`;\n\n const userIdKey = Array.isArray(filter.userId) ? filter.userId.sort().join(':') : filter.userId;\n const groupIdKey = Array.isArray(filter.groupId) ? filter.groupId.sort().join(':') : filter.groupId;\n\n if (userIdKey)\n key += `:${userIdKey}`;\n\n if (groupIdKey)\n key += `:${groupIdKey}`;\n\n if (sharerId)\n key += `:${sharerId}`;\n\n return key;\n}","// extracted by mini-css-extract-plugin\nexport default {\"mySharesTable\":\"hyaYe\",\"mySharesHeader\":\"WjfsD\",\"tableBorder\":\"tHBWr\"};","import React from 'react';\nimport { format as formatDate } from 'timeago.js';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { SharedObjectImage } from 'libs/shared/apps/share/components/shared-object-image/SharedObjectImage';\nimport { SharableEntity } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\nimport { ShareAvatar } from 'apps/share-v2/components/ShareAvatar';\n\nimport styles from './my-shares-table-row.scss';\n\nconst namespace = 'myShares.tableRow';\n\ninterface MySharesTableHeadingProps {\n heading: string;\n isFirst: boolean;\n}\n\nexport function MySharesTableHeading(props: MySharesTableHeadingProps) {\n return (\n <div className={`${styles.mySharesHeader} d-block d-lg-grid gap-3 px-3`}>\n <p className='fw-semibold mb-2 ms-n3'>{props.heading}</p>\n\n {props.isFirst &&\n <>\n <div className='d-none d-xl-inline' />\n <p className='d-none d-xl-inline fw-semibold mb-2'><Text namespace={namespace} phrase='sharedToHeading' /></p>\n <p className='d-none d-xl-inline fw-semibold mb-2'><Text namespace={namespace} phrase='dateSharedHeading' /></p>\n <p className='d-none d-xl-inline fw-semibold mb-2'><Text namespace={namespace} phrase='viewsHeading' /></p>\n </>\n }\n </div>\n );\n}\n\ninterface ShareObjectTitleProps {\n sharedObject: SharableEntity;\n requireMarking?: number;\n appLink?: Core.AppLink;\n}\n\nfunction ShareObjectTitle(props: ShareObjectTitleProps) {\n const { sharedObject } = props;\n\n if (!sharedObject.name) {\n return <Text namespace={namespace} phrase='videoUnavailable' />;\n }\n\n if (VideoHelper.isVideoType(sharedObject) &&\n !VideoHelper.getCanBeConsumed(sharedObject)?.canNavigate) {\n return (\n <span className='clamp-2'>\n {sharedObject.name}\n </span>\n );\n }\n\n function getSubTextPhrase(): string {\n switch (sharedObject.typeId) {\n case MasterType.Series: return 'series';\n case MasterType.Playlist: return 'playlist';\n }\n }\n\n const subTextPhrase = getSubTextPhrase();\n\n return (\n <div>\n {VideoHelper.isVideoType(sharedObject) && (\n <VideoSubText\n type='series'\n video={sharedObject}\n // appLink={'series' in sharedObject && sharedObject.series ? getObjectAppLink(sharedObject.series) : null}\n analyticsOptions={{ location: LocationContext.Insights }}\n className='d-inline clamp-1'\n />\n )}\n\n {subTextPhrase &&\n <TitleSubText>\n <Text namespace={namespace} phrase={subTextPhrase} />\n </TitleSubText>\n }\n\n {sharedObject.name}\n\n {!!props.requireMarking && (\n <div className={`font-size-sm d-flex align-items-center bg-light-ultramarine text-ultramarine rounded-pill w-fit mt-1 px-2`}>\n <Text namespace={namespace} phrase='requireMarking' options={{ smartCount: props.requireMarking }} />\n </div>\n )}\n </div>\n );\n}\n\ninterface MyShareRowProps extends React.PropsWithChildren {\n shareData: MySharesTableData;\n breakpoints?: Breakpoints;\n getObjectAppLink: (object: BaseObject) => Core.AppLink;\n getObjectActions: (object: BaseObject, shareId: string) => ActionOptions[];\n yearGroups: YearGroup[];\n imageCdnUrl: string;\n}\n\nexport function MySharesTableRow(props: MyShareRowProps) {\n const { shareData } = props;\n const sharedObject = shareData.sharedObject;\n const isMobile = props.breakpoints.xs || props.breakpoints.sm;\n const isDesktop = props.breakpoints.xl || props.breakpoints.xxl;\n const isCollection = sharedObject.typeId === MasterType.Playlist || sharedObject.typeId === MasterType.Series;\n\n function onRowClick() {\n const [goToReport] = props.getObjectActions(sharedObject, shareData.share.shareId);\n\n AppLinkHelper.trigger(goToReport.appLink);\n }\n\n return (\n <div key={shareData.share.shareId} onClick={onRowClick} className={`${styles.mySharesTable} ${styles.tableBorder} position-relative d-flex flex-md-row align-items-md-center p-0 p-md-3 gap-3`}>\n \n <div className='col-xl-1'>\n <SharedObjectImage\n object={sharedObject}\n // appLink={props.getObjectAppLink(sharedObject)}\n showVideoMetadata={false}\n locationContext={LocationContext.MyShares}\n imageOptions={{ size: ImageSize.Medium }}\n requireMarking={isMobile && shareData.pendingReview}\n showCollectionMask={false}\n showVideoCount={false}\n />\n </div>\n\n <div className='d-flex align-items-xl-center flex-xl-row gap-xl-3 col-xl-11'>\n <div className='col-xl-3'>\n <ShareObjectTitle\n sharedObject={shareData.sharedObject}\n // appLink={props.getObjectAppLink(sharedObject)}\n requireMarking={isDesktop && shareData.pendingReview}\n />\n {props.children}\n </div>\n\n <div className='d-flex align-items-center gap-xl-0 pe-4 pe-md-0 col-xl-9'>\n <div className='col-xl-5'>\n <ShareAvatar shareLink={shareData.share} />\n </div>\n <span className='d-inline d-xl-none'>·</span>\n <p className='mb-0 col-xl-3'>{formatDate(shareData.dateShared)}</p>\n {!isCollection ? (\n <>\n <span className='d-inline d-xl-none'>·</span>\n <p className='mb-0 col-xl-2'><Text namespace={namespace} phrase='views' options={{ smartCount: shareData.viewCount }} /></p>\n </>\n ) : (\n <p className='mb-0 d-none d-xl-block col-xl-2'>-</p>\n )}\n\n <p onClick={onRowClick} className='cursor-pointer p-0 m-0 text-info col-xl-2'>View report</p>\n </div>\n </div>\n </div>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { ShareHelper } from 'libs/shared/apps/share/utils/ShareHelper';\nimport { SharableEntity, SharableRecipient } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\n\nimport { SharePrivacy } from 'apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'apps/share-v2/enums/ShareType';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\nconst namespace = 'myShares.mySharesTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getDateShared(share: ShareLink): string {\n if (share.type === ShareType.Link || !share?.recipients?.length)\n return share.dateCreated;\n\n const datesShared = share.recipients.map(r => r.dateCreated);\n\n datesShared.sort((date1, date2) => {\n if (DateHelper.isSame(date1, date2))\n return 0;\n\n return DateHelper.isAfter(date1, date2) ? 1 : -2;\n });\n\n\n if (!datesShared.length)\n return '';\n\n return ArrayHelper.last(datesShared);\n}\n\nexport interface MySharesTableData {\n share: ShareLink;\n sharedObject: SharableEntity;\n dateShared: string;\n shareRecipients?: SharableRecipient[];\n viewCount: number;\n pendingReview?: number;\n privacy?: SharePrivacy;\n}\n\ntype TableDataGroupings = { [date: string]: MySharesTableData[] };\n\nexport function useGetMySharesData(\n sentShares: ShareLink[],\n sharedObjects: Record<string, SharableEntity>,\n shareRecipients: Record<string, SharableRecipient>,\n groupByDate: boolean,\n interactivesPendingReviews: InteractivesPendingReviews[]\n): TableDataGroupings {\n const tableData: MySharesTableData[] = [];\n\n const interactivesPendingReviewsMap = interactivesPendingReviews\n ?.reduce<Record<string, InteractivesPendingReviews>>(\n (map, obj) => ({ [obj.interactiveId]: obj, ...map }),\n {}\n );\n\n sentShares.forEach(s => {\n const sharedObject = sharedObjects?.[s.objectId];\n\n let recipients: SharableRecipient[] | null = null;\n\n if (s.type === ShareType.Classroom) {\n recipients = [];\n\n s.recipients?.forEach(r => {\n const recipient = shareRecipients?.[r.recipientId];\n\n if (recipient)\n recipients.push(recipient);\n });\n }\n\n // Skip if we don't have access to the shared object (e.g. if it's been deleted)\n if (sharedObject) {\n const pendingReview = sharedObject.typeId === MasterType.Interactive &&\n interactivesPendingReviewsMap?.[(sharedObject as InteractiveMetadata).interactiveId];\n\n tableData.push({\n share: s,\n sharedObject,\n shareRecipients: recipients,\n dateShared: getDateShared(s),\n viewCount: s.viewCount ?? 0,\n pendingReview: pendingReview?.pendingReviewCount,\n privacy: s.privacy\n });\n }\n });\n\n if (!groupByDate)\n return { [getPhrase('title')]: tableData };\n\n return ShareHelper.groupByDateShared(tableData);\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { InteractivesPendingReviews } from 'libs/shared/apps/analytics/interfaces/response/InteractivesPendingReviewsResponse';\nimport { SharableEntity, SharableRecipient } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject, YearGroup } from 'libs/shared/interfaces';\n\nimport { useGetMySharesData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\nimport { MySharesTableHeading, MySharesTableRow } from 'apps/my-shares/components/my-shares-table-row/MySharesTableRow';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\ninterface MySharesTableProps {\n sentShares: ShareLink[];\n sharedObjects: Record<string, SharableEntity>;\n shareRecipients: Record<string, SharableRecipient>;\n interactivesPendingReview: InteractivesPendingReviews[];\n getObjectAppLink: (object: BaseObject) => Core.AppLink;\n getObjectActions: (object: BaseObject, shareId: string) => ActionOptions[];\n groupByDateShared?: boolean;\n showStatus?: boolean;\n showViewCount?: boolean;\n dependencies?: any[];\n breakpoints?: Breakpoints;\n hasDemoInsights?: boolean;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n}\n\nexport function MySharesTable(props: MySharesTableProps): JSX.Element {\n const data = useGetMySharesData(\n props.sentShares,\n props.sharedObjects,\n props.shareRecipients,\n !!props.groupByDateShared,\n props.interactivesPendingReview\n );\n\n return (\n <>\n {Object.keys(data).map((heading, i) => (\n <div key={heading}>\n <MySharesTableHeading heading={heading} isFirst={!props.hasDemoInsights && i === 0} />\n\n <div className='d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md'>\n {data[heading].map(shareData => (\n <MySharesTableRow\n key={shareData.share.shareId}\n shareData={shareData}\n getObjectActions={props.getObjectActions}\n getObjectAppLink={props.getObjectAppLink}\n breakpoints={props.breakpoints}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n />\n ))}\n </div>\n </div>\n ))}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myShares.mySharesTableEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function MySharesTableEmptyState(): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Share.SHARED_BY_ME} size='small' />\n <EmptyState.Heading>\n {getPhrase('heading')}\n </EmptyState.Heading>\n <EmptyState.Info>{getPhrase('info')}</EmptyState.Info>\n <EmptyState.Cta appLink={{ application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME }} text={getPhrase('cta')} />\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"elIjR\",\"tableHeader\":\"xJKgP\",\"heading\":\"iWHol\",\"image\":\"TMQxq\",\"avatar\":\"_3GY1C\",\"date\":\"nz3va\",\"views\":\"FpDfX\",\"actions\":\"pOtyK\"};","import React from 'react';\n\nimport styles from './partial-my-shares-table.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`${styles.table} position-relative d-flex d-xl-grid flex-column flex-md-row align-items-md-center p-0 p-md-3 gap-3`}>\n <div className='col-12 col-md-3 col-xl-auto'>\n <div className={`partial-loading-background rounded ratio ratio-16x9 `} />\n </div>\n <div className='d-flex flex-column align-items-xl-center flex-xl-row gap-1 gap-xl-3'>\n <div className={`partial-loading-background col-8 col-xl-4`}> </div>\n <div className='d-flex align-items-center gap-2 gap-xl-0 pe-4 pe-md-0 col-xl-8'>\n <div className='col-xl-5'>\n <div className={`${styles.avatar} partial-loading-background rounded-pill col-xl-8`} />\n </div>\n <div className='col-xl-4'>\n <div className={`${styles.date} partial-loading-background`}> </div>\n </div>\n <div className='col-xl-3'>\n <div className={`${styles.views} partial-loading-background`}> </div>\n </div>\n </div>\n </div>\n <div className={`position-absolute bottom-0 end-0 position-md-static d-flex justify-content-end gap-2 ms-auto col col-xl-12`}>\n <div className={`${styles.actions} partial-loading-background rounded d-none d-md-block px-3 p-lg-0 col-lg-6`} />\n <div className={`${styles.actions} partial-loading-background rounded px-3 p-lg-0 col-lg-4`} />\n </div>\n </div>\n );\n}\n\nexport function PartialMySharesTable(): JSX.Element {\n return (\n <>\n <div className='mb-3'>\n <div className='no-full-width'>\n <div className={`${styles.table} d-block d-xl-grid gap-3 px-3`}>\n <div className={`partial-loading-background mb-2 ms-n3 ${styles.date}`}> </div>\n <div className='d-flex flex-column align-items-xl-center flex-xl-row gap-1 gap-xl-3'>\n <div className='col-xl-4' />\n <div className='d-flex align-items-center gap-2 gap-xl-0 pe-4 pe-md-0 col-xl-8'>\n <div className='col-xl-5'>\n <div className={`d-none d-xl-inline-block partial-loading-background mb-2 ${styles.date}`}> </div>\n </div>\n <div className='col-xl-4'>\n <div className={`d-none d-xl-inline-block partial-loading-background mb-2 ${styles.date}`}> </div>\n </div>\n <div className='col-xl-3'>\n <div className={`d-none d-xl-inline-block partial-loading-background mb-2 ${styles.date}`}> </div>\n </div>\n </div>\n </div>\n </div>\n\n <div className='d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </div>\n\n <div className='mb-3'>\n <div className={`partial-loading-background mb-2 ${styles.date}`}> </div>\n\n <div className='d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n\n <div className='mb-3'>\n <div className={`partial-loading-background mb-2 ${styles.date}`}> </div>\n\n <div className='d-flex flex-column rounded-3 mb-4 gap-4 gap-md-0 border-md border'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import { Flight } from 'libs/common/react/index';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { InteractiveResultsRequests } from 'libs/shared/apps/analytics/flight-requests/InteractiveResultsRequests';\nimport { ShareRequests as ShareRequestsV1 } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { UseBatchFetchResult, useGrowingBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { BaseObject, Config, CurrentUser, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { GetSentSharesParams, ShareRequests as ShareRequestsV2 } from 'apps/share-v2/flight-requests/ShareRequests';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\nimport { ShareHelper } from 'apps/share-v2/utils/ShareHelper';\n\nexport function getBatchFetchResultAsArray(result: UseBatchFetchResult<BaseObject>): BaseObject[] {\n return result.items ? Object.values(result.items) : [];\n}\n\nexport function useMySharesTable(\n params?: GetSentSharesParams,\n interactiveInsights?: boolean,\n shouldFetch: boolean = true\n) {\n const fetch = Flight.useGetFetch();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n /**\n * Fetch sent shares\n */\n const getRequest = (cursor?: string) => shouldFetch && ShareRequestsV2.getSentShares({\n cursor,\n ...params\n });\n const fetchNext = (cursor?: string) => fetch(getRequest(cursor));\n const {\n items: sentShares,\n hasMore,\n isFetching: isFetchingSentShares,\n nextCursor,\n hasFirstPageCompleted\n } = useInfiniteList<ShareLink>(getRequest, fetchNext);\n\n /**\n * Fetch shared objects\n */\n const sharedObjects = useGrowingBatchFetch(\n sentShares?.map(obj => obj.objectId.toString()),\n ShareRequestsV1.sharedObjectsById\n );\n\n /**\n * Fetch recipients\n */\n const shareRecipients = useGrowingBatchFetch(\n ShareHelper.getFlattenedRecipients(sentShares ?? []).map(obj => obj.recipientId.toString()),\n objs => (ShareRequestsV1.getRecipientsById(objs, currentUser.data.customerId))\n );\n\n /**\n * Fetch which interactives required marking\n */\n const interactivesPendingReview = useGrowingBatchFetch(\n interactiveInsights ? ObjectHelper.values(sharedObjects.items || []) : [],\n objs => InteractiveResultsRequests.pendingReviews({\n interactives: objs\n .filter(VideoHelper.isInteractive)\n .map(obj => ({ interactiveId: obj.interactiveId, metadataId: obj.id })),\n filters: {\n currentCustomerId: currentUser.data.customerId,\n currentUserId: currentUser.data.id\n }\n }),\n obj => `${obj.id}:${obj.interactiveId}`\n );\n\n /**\n * Fetch classrooms\n */\n const shareClassrooms = useGrowingBatchFetch(\n ShareHelper.getClassoomIds(sentShares ?? []),\n objs => (ClassroomRequests.getClassroomsByIds(objs))\n );\n \n const isFetching = isFetchingSentShares\n || sharedObjects.isFetching\n || shareRecipients.isFetching\n || interactivesPendingReview.isFetching\n || yearGroups.isFetching;\n\n const showPartialLoading = !hasFirstPageCompleted || !sharedObjects.hasFirstRequestCompleted;\n\n return {\n sentShares,\n sharedObjects,\n shareRecipients,\n shareClassrooms,\n yearGroups: yearGroups.data,\n interactivesPendingReview,\n isFetching,\n showPartialLoading,\n nextCursor,\n hasMore,\n fetchNext,\n imageCdnUrl: config.data?.imageCdnUrl\n };\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EventVersion, ShareDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { getInsightsAppLink, getShareAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nconst namespace = 'myShares.myShares';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getShareObjectActions(\n sharedObject: BaseObject,\n shareId: string,\n audienceParams?: AudienceQueryParams,\n hasInsights?: boolean,\n isPlugin?: boolean,\n breakpoints?: Breakpoints\n): ActionOptions[] {\n const insightObjectActions: ActionOptions[] = [];\n\n const isMobile = breakpoints.xs || breakpoints.sm;\n\n const buttonProps = {\n button: !isMobile,\n className: 'btn btn-outline-dark'\n };\n\n if (VideoHelper.isVideoType(sharedObject)) {\n const { canConsume } = VideoHelper.getCanBeConsumed(sharedObject);\n\n if (!canConsume)\n return [];\n\n if (isPlugin) {\n return [{\n label: getPhrase('embedVideo'),\n appLink: {\n application: AppChannels.DEFAULT,\n action: Actions.Default.PLUGIN_SHARE,\n args: [sharedObject.id],\n params: { entityType: sharedObject.type }\n },\n ...buttonProps,\n analyticsOptions: {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.PluginEmbed,\n workflowPhase: WorkflowPhase.Start,\n eventVersion: EventVersion.V5\n }\n }];\n }\n }\n\n if (hasInsights) {\n insightObjectActions.push({\n svgName: cvSvgLibrary.Analytics,\n label: !breakpoints.md && getPhrase('viewInsights'),\n tooltip: breakpoints.md && getPhrase('viewInsights'),\n appLink: { ...getInsightsAppLink(sharedObject), params: { ...audienceParams, shareId } },\n group: 'insights',\n ...buttonProps\n });\n }\n\n insightObjectActions.push({\n label: !breakpoints.md && getPhrase('share'),\n tooltip: breakpoints.md && getPhrase('share'),\n svgName: cvSvgLibrary.Share,\n appLink: getShareAppLink(sharedObject),\n group: 'share',\n ...buttonProps\n });\n\n return insightObjectActions;\n}\n\nexport function getTypeIdParams(typeId: string | string[]): MasterType[] {\n if (!typeId) return [];\n\n if (typeof typeId === 'string')\n return [+typeId];\n\n return typeId.map(typeId => +typeId) || [];\n}\n\nexport function getSharesParams(typeId: string | string[]) {\n const typeIdAppLinkParams = getTypeIdParams(typeId);\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const currentAppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.HOME,\n params: {\n ...audienceAppLinkParams,\n typeId: typeIdAppLinkParams\n }\n };\n const sentSharesParams = {\n recipientUserId: audienceAppLinkParams?.users,\n recipientGroupId: [ ...audienceAppLinkParams?.classroomGroups || [], ...audienceAppLinkParams?.classrooms || [] ],\n objectTypeId: typeIdAppLinkParams.length ? typeIdAppLinkParams : undefined\n };\n\n return {\n typeIdAppLinkParams,\n audienceAppLinkParams,\n currentAppLink,\n sentSharesParams\n };\n}","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ShareType } from '../enums/ShareType';\nimport { ShareLink } from '../interfaces/ShareLink';\n\ninterface ShareAvatarProps {\n shareLink: ShareLink;\n classroomName?: string;\n}\n\nexport function ShareAvatar(props: ShareAvatarProps): JSX.Element {\n return (\n <div className='d-flex align-items-center'>\n <div className='d-flex align-items-center justify-content-center'>\n <div>\n <IconCircle\n svgName={icons[props.shareLink.type]}\n variant={iconColours[props.shareLink.type]}\n textVariant='white'\n svgWrapperClassName='p-1'\n />\n </div>\n <div className='d-flex flex-column ms-2'>\n <label className='m-0'>{getTitle(props)}</label>\n <span className='text-secondary'>{getSubtitle(props)}</span>\n </div>\n </div>\n </div>\n );\n}\n\nconst icons = {\n [ShareType.Open]: cvSvgLibrary.School,\n [ShareType.Link]: cvSvgLibrary.Link,\n [ShareType.Classroom]: cvSvgLibrary.Classrooms,\n [ShareType.Live]: cvSvgLibrary.Play\n};\n\nconst iconColours = {\n [ShareType.Open]: 'blue',\n [ShareType.Link]: 'black',\n [ShareType.Classroom]: 'teal',\n [ShareType.Live]: 'purple'\n};\n\nconst titles = {\n [ShareType.Open]: 'Open classroom',\n [ShareType.Link]: 'Link',\n [ShareType.Classroom]: 'Classroom',\n [ShareType.Live]: 'Live'\n};\n\nfunction pluralize(count: number, singular: string, plural: string) {\n return count === 1 ? singular : plural;\n}\n\nfunction getTitle({ shareLink, classroomName }: ShareAvatarProps) {\n if (shareLink.type === ShareType.Classroom && classroomName)\n return classroomName;\n\n return titles[shareLink.type];\n}\n\nfunction getSubtitle({ shareLink }: ShareAvatarProps) {\n if (shareLink.type === ShareType.Classroom) {\n const groupCount = shareLink.recipients?.filter(r => r.recipientTypeId === MasterType.ClassroomGroup).length ?? 0;\n const studentCount = shareLink.recipients?.filter(r => r.recipientTypeId === MasterType.User).length ?? 0;\n\n if (groupCount && studentCount)\n return `${groupCount} ${pluralize(groupCount, 'group', 'groups')}, ${studentCount} ${pluralize(studentCount, 'student', 'students')}`;\n\n if (groupCount)\n return `${groupCount} ${pluralize(groupCount, 'group', 'groups')}`;\n\n if (studentCount)\n return `${studentCount} ${pluralize(studentCount, 'student', 'students')}`;\n\n return `All students in classroom can view`;\n }\n\n if (shareLink.type === ShareType.Open)\n return 'Anyone in my school can view';\n\n if (shareLink.type === ShareType.Link)\n return 'Anyone with a link can view';\n\n if (shareLink.type === ShareType.Live)\n return 'Live now';\n\n return 'Anyone can view for 30 days';\n}","export enum ShareType {\n Link = 'Link',\n Classroom = 'Classroom',\n Open = 'Open',\n Live = 'Live'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { CreateShareLinkRequest } from 'apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { ShareLink } from 'apps/share-v2/interfaces/ShareLink';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n limit?: number;\n objectTypeId?: MasterType | MasterType[];\n recipientUserId?: string | string[];\n recipientGroupId?: string | string[];\n start?: string;\n end?: string;\n scopeId?: string;\n}\n\nexport const ShareRequests = {\n createShareLink(\n data: CreateShareLinkRequest,\n success?: (shareLink: ShareLink) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '/api/share/v2/shares',\n key: 'create:share-v2:link',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [\n `share:link:object:${data.objectId}`,\n `privacy:${data.objectId}`,\n 'sent:shares',\n 'get:share-v2:shares:object'\n ],\n success,\n error,\n always\n };\n },\n\n getShareLink(\n shareId: string,\n success?: (shareLink: ShareLink) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}`,\n key: `get:share-v2:link:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions,\n success,\n error,\n always\n };\n },\n\n getSharesByObjectId(\n objectId: string | number,\n success?: (shares: ShareLink[]) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/share/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions,\n success,\n error,\n always\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {},\n success?: (response: BasePaginatedCollection<ShareLink>[]) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n const adaptedParams = {\n scopeId: params.scopeId,\n limit: params.limit || 25,\n offset: parseInt(params.cursor) || 0\n };\n\n const key = Object.values(adaptedParams).join(':');\n\n return {\n url: UrlHelper.urlBuilder('/api/share/v2/shares/sent', adaptedParams),\n key: `sent:shares-v2:${key}`,\n formatData: (response: ShareLink[]) => {\n return {\n data: response,\n count: response.length,\n pagination: {\n cursors: {\n next: adaptedParams.offset + response.length\n }\n }\n };\n },\n type: HttpVerbs.GET,\n normalize: false,\n success,\n error,\n always\n };\n },\n\n createPincode(shareId: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}/pincode`,\n key: 'create:share-v2:pincode',\n type: HttpVerbs.POST\n };\n },\n\n getPincode(code: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `/api/share/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n }\n};","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Classroom } from 'libs/shared/interfaces';\n\nimport { ShareLink, ShareRecipient } from '../interfaces/ShareLink';\n\nexport const ShareHelper = {\n getFlattenedRecipients(shares: ShareLink[]): ShareRecipient[] {\n return ArrayHelper.flatten(shares.map(s => s.recipients ?? []));\n },\n\n getClassoomIds(shares: ShareLink[]): string[] {\n const recipients = ShareHelper.getFlattenedRecipients(shares);\n\n const classroomIds = recipients.map(r => {\n if (r.scopeId)\n return r.scopeId.toString();\n\n if (r.recipientId && r.recipientTypeId === MasterType.Classroom)\n return r.recipientId.toString();\n });\n\n return ArrayHelper.uniq(classroomIds.filter(x => !!x));\n },\n\n getClassroomIdFromShare(share: ShareLink): string | undefined {\n const firstRecipient = share.recipients?.[0];\n \n if (!firstRecipient) return;\n \n if (firstRecipient.scopeId)\n return firstRecipient.scopeId.toString();\n \n if (firstRecipient.recipientId && firstRecipient.recipientTypeId === MasterType.Classroom)\n return firstRecipient.recipientId.toString();\n },\n \n getClassroomForShare(share: ShareLink, classrooms: Classroom[]): Classroom | undefined {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n \n if (!classroomId) return;\n \n return classrooms.find(classroom => classroom.id.toString() === classroomId.toString());\n }\n};"],"names":["getInteractiveResultFilters","currentUser","filter","currentUserId","id","currentCustomerId","customerId","dateRange","start","end","userIds","userId","classroomsAndGroups","groupId","InteractiveResultsRequests","interactiveResultSet","interactiveId","interactiveMetadataId","includePublicResults","success","error","always","url","key","data","type","normalize","mark","answerId","resultId","invalidationKeys","pendingReviews","interactiveResultsReport","CHUNK_SIZE","useBatchFetch","itemIds","getRequest","requests","map","chunk","responses","itemsArr","items","length","reduce","acc","item","isFetching","useGrowingBatchFetch","objs","_getKey","getKey","obj","fetchedItems","Set","setRequests","unfetchedItems","forEach","current","has","push","add","r","hasFirstRequestCompleted","hasCompleted","getAnalyticsRequestKey","baseKey","sharerId","userIdKey","Array","isArray","sort","join","groupIdKey","namespace","MySharesTableHeading","props","className","heading","isFirst","Text","phrase","ShareObjectTitle","sharedObject","name","VideoHelper","canNavigate","subTextPhrase","typeId","MasterType","getSubTextPhrase","VideoSubText","video","analyticsOptions","location","TitleSubText","requireMarking","options","smartCount","MySharesTableRow","shareData","isMobile","breakpoints","xs","sm","isDesktop","xl","xxl","isCollection","onRowClick","goToReport","getObjectActions","share","shareId","appLink","onClick","SharedObjectImage","object","showVideoMetadata","locationContext","imageOptions","size","pendingReview","showCollectionMask","showVideoCount","children","ShareAvatar","shareLink","dateShared","viewCount","getPhrase","LanguageService","getDateShared","ShareType","recipients","dateCreated","datesShared","date1","date2","DateHelper","ArrayHelper","MySharesTable","sentShares","sharedObjects","shareRecipients","groupByDate","interactivesPendingReviews","tableData","interactivesPendingReviewsMap","groupByDateShared","interactivesPendingReview","s","objectId","recipient","recipientId","pendingReviewCount","privacy","ShareHelper","Object","keys","i","hasDemoInsights","getObjectAppLink","imageCdnUrl","yearGroups","MySharesTableEmptyState","src","application","action","text","PartialRow","PartialMySharesTable","useMySharesTable","params","interactiveInsights","shouldFetch","fetch","config","isAuthenticated","cursor","fetchNext","hasMore","isFetchingSentShares","nextCursor","hasFirstPageCompleted","toString","I","interactives","metadataId","filters","shareClassrooms","showPartialLoading","getShareObjectActions","audienceParams","hasInsights","isPlugin","insightObjectActions","buttonProps","button","canConsume","label","args","entityType","actionType","descriptor","workflowPhase","eventVersion","svgName","md","tooltip","group","getSharesParams","typeIdAppLinkParams","getTypeIdParams","audienceAppLinkParams","currentAppLink","sentSharesParams","recipientUserId","users","recipientGroupId","classroomGroups","classrooms","objectTypeId","undefined","icons","variant","iconColours","textVariant","svgWrapperClassName","classroomName","titles","groupCount","recipientTypeId","studentCount","pluralize","getSubtitle","count","singular","plural","normalizeOptions","ShareRequests","createShareLink","getShareLink","getSharesByObjectId","getSentShares","adaptedParams","scopeId","limit","offset","parseInt","values","formatData","response","pagination","cursors","next","createPincode","getPincode","code","getPincodeByShareId","getFlattenedRecipients","shares","getClassoomIds","classroomIds","x","getClassroomIdFromShare","firstRecipient","getClassroomForShare","classroomId","find","classroom"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 232-1522c00252-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[232],{232:function(r){r.exports=function(){"use strict";for(var r=function(r,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),r<e?e:r>n?n:r},e={},n=0,t=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];n<t.length;n+=1){var a=t[n];e["[object "+a+"]"]=a.toLowerCase()}var f=function(r){return e[Object.prototype.toString.call(r)]||"object"},o=Math.PI,u={clip_rgb:function(e){e._clipped=!1,e._unclipped=e.slice(0);for(var n=0;n<=3;n++)n<3?((e[n]<0||e[n]>255)&&(e._clipped=!0),e[n]=r(e[n],0,255)):3===n&&(e[n]=r(e[n],0,1));return e},limit:r,type:f,unpack:function(r,e){return void 0===e&&(e=null),r.length>=3?Array.prototype.slice.call(r):"object"==f(r[0])&&e?e.split("").filter((function(e){return void 0!==r[0][e]})).map((function(e){return r[0][e]})):r[0]},last:function(r){if(r.length<2)return null;var e=r.length-1;return"string"==f(r[e])?r[e].toLowerCase():null},PI:o,TWOPI:2*o,PITHIRD:o/3,DEG2RAD:o/180,RAD2DEG:180/o},c={format:{},autodetect:[]},i=u.last,l=u.clip_rgb,h=u.type,s=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=this;if("object"===h(r[0])&&r[0].constructor&&r[0].constructor===this.constructor)return r[0];var t=i(r),a=!1;if(!t){a=!0,c.sorted||(c.autodetect=c.autodetect.sort((function(r,e){return e.p-r.p})),c.sorted=!0);for(var f=0,o=c.autodetect;f<o.length;f+=1){var u=o[f];if(t=u.test.apply(u,r))break}}if(!c.format[t])throw new Error("unknown format: "+r);var s=c.format[t].apply(null,a?r:r.slice(0,-1));n._rgb=l(s),3===n._rgb.length&&n._rgb.push(1)};s.prototype.toString=function(){return"function"==h(this.hex)?this.hex():"["+this._rgb.join(",")+"]"};var d=s,b=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(b.Color,[null].concat(r)))};b.Color=d,b.version="2.1.2";var p=b,g=u.unpack,v=Math.max,m=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=g(r,"rgb"),t=n[0],a=n[1],f=n[2],o=1-v(t/=255,v(a/=255,f/=255)),u=o<1?1/(1-o):0;return[(1-t-o)*u,(1-a-o)*u,(1-f-o)*u,o]},y=u.unpack,w=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=y(r,"cmyk"))[0],t=r[1],a=r[2],f=r[3],o=r.length>4?r[4]:1;return 1===f?[0,0,0,o]:[n>=1?0:255*(1-n)*(1-f),t>=1?0:255*(1-t)*(1-f),a>=1?0:255*(1-a)*(1-f),o]},k=u.unpack,M=u.type;d.prototype.cmyk=function(){return m(this._rgb)},p.cmyk=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["cmyk"])))},c.format.cmyk=w,c.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=k(r,"cmyk"),"array"===M(r)&&4===r.length)return"cmyk"}});var _=u.unpack,N=u.last,x=function(r){return Math.round(100*r)/100},A=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=_(r,"hsla"),t=N(r)||"lsa";return n[0]=x(n[0]||0),n[1]=x(100*n[1])+"%",n[2]=x(100*n[2])+"%","hsla"===t||n.length>3&&n[3]<1?(n[3]=n.length>3?n[3]:1,t="hsla"):n.length=3,t+"("+n.join(",")+")"},E=u.unpack,P=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=E(r,"rgba"))[0],t=r[1],a=r[2];n/=255,t/=255,a/=255;var f,o,u=Math.min(n,t,a),c=Math.max(n,t,a),i=(c+u)/2;return c===u?(f=0,o=Number.NaN):f=i<.5?(c-u)/(c+u):(c-u)/(2-c-u),n==c?o=(t-a)/(c-u):t==c?o=2+(a-n)/(c-u):a==c&&(o=4+(n-t)/(c-u)),(o*=60)<0&&(o+=360),r.length>3&&void 0!==r[3]?[o,f,i,r[3]]:[o,f,i]},F=u.unpack,O=u.last,G=Math.round,j=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=F(r,"rgba"),t=O(r)||"rgb";return"hsl"==t.substr(0,3)?A(P(n),t):(n[0]=G(n[0]),n[1]=G(n[1]),n[2]=G(n[2]),("rgba"===t||n.length>3&&n[3]<1)&&(n[3]=n.length>3?n[3]:1,t="rgba"),t+"("+n.slice(0,"rgb"===t?3:4).join(",")+")")},q=u.unpack,L=Math.round,R=function(){for(var r,e=[],n=arguments.length;n--;)e[n]=arguments[n];var t,a,f,o=(e=q(e,"hsl"))[0],u=e[1],c=e[2];if(0===u)t=a=f=255*c;else{var i=[0,0,0],l=[0,0,0],h=c<.5?c*(1+u):c+u-c*u,s=2*c-h,d=o/360;i[0]=d+1/3,i[1]=d,i[2]=d-1/3;for(var b=0;b<3;b++)i[b]<0&&(i[b]+=1),i[b]>1&&(i[b]-=1),6*i[b]<1?l[b]=s+6*(h-s)*i[b]:2*i[b]<1?l[b]=h:3*i[b]<2?l[b]=s+(h-s)*(2/3-i[b])*6:l[b]=s;t=(r=[L(255*l[0]),L(255*l[1]),L(255*l[2])])[0],a=r[1],f=r[2]}return e.length>3?[t,a,f,e[3]]:[t,a,f,1]},C=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,I=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,B=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,D=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,S=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,$=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Y=Math.round,z=function(r){var e;if(r=r.toLowerCase().trim(),c.format.named)try{return c.format.named(r)}catch(r){}if(e=r.match(C)){for(var n=e.slice(1,4),t=0;t<3;t++)n[t]=+n[t];return n[3]=1,n}if(e=r.match(I)){for(var a=e.slice(1,5),f=0;f<4;f++)a[f]=+a[f];return a}if(e=r.match(B)){for(var o=e.slice(1,4),u=0;u<3;u++)o[u]=Y(2.55*o[u]);return o[3]=1,o}if(e=r.match(D)){for(var i=e.slice(1,5),l=0;l<3;l++)i[l]=Y(2.55*i[l]);return i[3]=+i[3],i}if(e=r.match(S)){var h=e.slice(1,4);h[1]*=.01,h[2]*=.01;var s=R(h);return s[3]=1,s}if(e=r.match($)){var d=e.slice(1,4);d[1]*=.01,d[2]*=.01;var b=R(d);return b[3]=+e[4],b}};z.test=function(r){return C.test(r)||I.test(r)||B.test(r)||D.test(r)||S.test(r)||$.test(r)};var T=z,U=u.type;d.prototype.css=function(r){return j(this._rgb,r)},p.css=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["css"])))},c.format.css=T,c.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===U(r)&&T.test(r))return"css"}});var V=u.unpack;c.format.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=V(r,"rgba");return n[0]*=255,n[1]*=255,n[2]*=255,n},p.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["gl"])))},d.prototype.gl=function(){var r=this._rgb;return[r[0]/255,r[1]/255,r[2]/255,r[3]]};var W=u.unpack,X=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=W(r,"rgb"),a=t[0],f=t[1],o=t[2],u=Math.min(a,f,o),c=Math.max(a,f,o),i=c-u,l=100*i/255,h=u/(255-i)*100;return 0===i?n=Number.NaN:(a===c&&(n=(f-o)/i),f===c&&(n=2+(o-a)/i),o===c&&(n=4+(a-f)/i),(n*=60)<0&&(n+=360)),[n,l,h]},H=u.unpack,J=Math.floor,K=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=H(o,"hcg"))[0],s=o[1],d=o[2];d*=255;var b=255*s;if(0===s)c=i=l=d;else{360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360);var p=J(h/=60),g=h-p,v=d*(1-s),m=v+b*(1-g),y=v+b*g,w=v+b;switch(p){case 0:c=(r=[w,y,v])[0],i=r[1],l=r[2];break;case 1:c=(e=[m,w,v])[0],i=e[1],l=e[2];break;case 2:c=(n=[v,w,y])[0],i=n[1],l=n[2];break;case 3:c=(t=[v,m,w])[0],i=t[1],l=t[2];break;case 4:c=(a=[y,v,w])[0],i=a[1],l=a[2];break;case 5:c=(f=[w,v,m])[0],i=f[1],l=f[2]}}return[c,i,l,o.length>3?o[3]:1]},Q=u.unpack,Z=u.type;d.prototype.hcg=function(){return X(this._rgb)},p.hcg=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hcg"])))},c.format.hcg=K,c.autodetect.push({p:1,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Q(r,"hcg"),"array"===Z(r)&&3===r.length)return"hcg"}});var rr=u.unpack,er=u.last,nr=Math.round,tr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=rr(r,"rgba"),t=n[0],a=n[1],f=n[2],o=n[3],u=er(r)||"auto";void 0===o&&(o=1),"auto"===u&&(u=o<1?"rgba":"rgb");var c="000000"+((t=nr(t))<<16|(a=nr(a))<<8|(f=nr(f))).toString(16);c=c.substr(c.length-6);var i="0"+nr(255*o).toString(16);switch(i=i.substr(i.length-2),u.toLowerCase()){case"rgba":return"#"+c+i;case"argb":return"#"+i+c;default:return"#"+c}},ar=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,fr=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,or=function(r){if(r.match(ar)){4!==r.length&&7!==r.length||(r=r.substr(1)),3===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]);var e=parseInt(r,16);return[e>>16,e>>8&255,255&e,1]}if(r.match(fr)){5!==r.length&&9!==r.length||(r=r.substr(1)),4===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]);var n=parseInt(r,16);return[n>>24&255,n>>16&255,n>>8&255,Math.round((255&n)/255*100)/100]}throw new Error("unknown hex color: "+r)},ur=u.type;d.prototype.hex=function(r){return tr(this._rgb,r)},p.hex=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hex"])))},c.format.hex=or,c.autodetect.push({p:4,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===ur(r)&&[3,4,5,6,7,8,9].indexOf(r.length)>=0)return"hex"}});var cr=u.unpack,ir=u.TWOPI,lr=Math.min,hr=Math.sqrt,sr=Math.acos,dr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=cr(r,"rgb"),a=t[0],f=t[1],o=t[2],u=lr(a/=255,f/=255,o/=255),c=(a+f+o)/3,i=c>0?1-u/c:0;return 0===i?n=NaN:(n=(a-f+(a-o))/2,n/=hr((a-f)*(a-f)+(a-o)*(f-o)),n=sr(n),o>f&&(n=ir-n),n/=ir),[360*n,i,c]},br=u.unpack,pr=u.limit,gr=u.TWOPI,vr=u.PITHIRD,mr=Math.cos,yr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=br(r,"hsi"))[0],o=r[1],u=r[2];return isNaN(f)&&(f=0),isNaN(o)&&(o=0),f>360&&(f-=360),f<0&&(f+=360),(f/=360)<1/3?t=1-((a=(1-o)/3)+(n=(1+o*mr(gr*f)/mr(vr-gr*f))/3)):f<2/3?a=1-((n=(1-o)/3)+(t=(1+o*mr(gr*(f-=1/3))/mr(vr-gr*f))/3)):n=1-((t=(1-o)/3)+(a=(1+o*mr(gr*(f-=2/3))/mr(vr-gr*f))/3)),[255*(n=pr(u*n*3)),255*(t=pr(u*t*3)),255*(a=pr(u*a*3)),r.length>3?r[3]:1]},wr=u.unpack,kr=u.type;d.prototype.hsi=function(){return dr(this._rgb)},p.hsi=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hsi"])))},c.format.hsi=yr,c.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=wr(r,"hsi"),"array"===kr(r)&&3===r.length)return"hsi"}});var Mr=u.unpack,_r=u.type;d.prototype.hsl=function(){return P(this._rgb)},p.hsl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hsl"])))},c.format.hsl=R,c.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Mr(r,"hsl"),"array"===_r(r)&&3===r.length)return"hsl"}});var Nr=u.unpack,xr=Math.min,Ar=Math.max,Er=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=Nr(r,"rgb"))[0],o=r[1],u=r[2],c=xr(f,o,u),i=Ar(f,o,u),l=i-c;return a=i/255,0===i?(n=Number.NaN,t=0):(t=l/i,f===i&&(n=(o-u)/l),o===i&&(n=2+(u-f)/l),u===i&&(n=4+(f-o)/l),(n*=60)<0&&(n+=360)),[n,t,a]},Pr=u.unpack,Fr=Math.floor,Or=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=Pr(o,"hsv"))[0],s=o[1],d=o[2];if(d*=255,0===s)c=i=l=d;else{360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360);var b=Fr(h/=60),p=h-b,g=d*(1-s),v=d*(1-s*p),m=d*(1-s*(1-p));switch(b){case 0:c=(r=[d,m,g])[0],i=r[1],l=r[2];break;case 1:c=(e=[v,d,g])[0],i=e[1],l=e[2];break;case 2:c=(n=[g,d,m])[0],i=n[1],l=n[2];break;case 3:c=(t=[g,v,d])[0],i=t[1],l=t[2];break;case 4:c=(a=[m,g,d])[0],i=a[1],l=a[2];break;case 5:c=(f=[d,g,v])[0],i=f[1],l=f[2]}}return[c,i,l,o.length>3?o[3]:1]},Gr=u.unpack,jr=u.type;d.prototype.hsv=function(){return Er(this._rgb)},p.hsv=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hsv"])))},c.format.hsv=Or,c.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Gr(r,"hsv"),"array"===jr(r)&&3===r.length)return"hsv"}});var qr=18,Lr=.95047,Rr=1,Cr=1.08883,Ir=.137931034,Br=.206896552,Dr=.12841855,Sr=.008856452,$r=u.unpack,Yr=Math.pow,zr=function(r){return(r/=255)<=.04045?r/12.92:Yr((r+.055)/1.055,2.4)},Tr=function(r){return r>Sr?Yr(r,1/3):r/Dr+Ir},Ur=function(r,e,n){return r=zr(r),e=zr(e),n=zr(n),[Tr((.4124564*r+.3575761*e+.1804375*n)/Lr),Tr((.2126729*r+.7151522*e+.072175*n)/Rr),Tr((.0193339*r+.119192*e+.9503041*n)/Cr)]},Vr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=$r(r,"rgb"),t=n[0],a=n[1],f=n[2],o=Ur(t,a,f),u=o[0],c=o[1],i=116*c-16;return[i<0?0:i,500*(u-c),200*(c-o[2])]},Wr=u.unpack,Xr=Math.pow,Hr=function(r){return 255*(r<=.00304?12.92*r:1.055*Xr(r,1/2.4)-.055)},Jr=function(r){return r>Br?r*r*r:Dr*(r-Ir)},Kr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=Wr(r,"lab"))[0],o=r[1],u=r[2];return t=(f+16)/116,n=isNaN(o)?t:t+o/500,a=isNaN(u)?t:t-u/200,t=Rr*Jr(t),n=Lr*Jr(n),a=Cr*Jr(a),[Hr(3.2404542*n-1.5371385*t-.4985314*a),Hr(-.969266*n+1.8760108*t+.041556*a),Hr(.0556434*n-.2040259*t+1.0572252*a),r.length>3?r[3]:1]},Qr=u.unpack,Zr=u.type;d.prototype.lab=function(){return Vr(this._rgb)},p.lab=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["lab"])))},c.format.lab=Kr,c.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Qr(r,"lab"),"array"===Zr(r)&&3===r.length)return"lab"}});var re=u.unpack,ee=u.RAD2DEG,ne=Math.sqrt,te=Math.atan2,ae=Math.round,fe=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=re(r,"lab"),t=n[0],a=n[1],f=n[2],o=ne(a*a+f*f),u=(te(f,a)*ee+360)%360;return 0===ae(1e4*o)&&(u=Number.NaN),[t,o,u]},oe=u.unpack,ue=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=oe(r,"rgb"),t=n[0],a=n[1],f=n[2],o=Vr(t,a,f),u=o[0],c=o[1],i=o[2];return fe(u,c,i)},ce=u.unpack,ie=u.DEG2RAD,le=Math.sin,he=Math.cos,se=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ce(r,"lch"),t=n[0],a=n[1],f=n[2];return isNaN(f)&&(f=0),[t,he(f*=ie)*a,le(f)*a]},de=u.unpack,be=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=de(r,"lch"))[0],t=r[1],a=r[2],f=se(n,t,a),o=f[0],u=f[1],c=f[2],i=Kr(o,u,c);return[i[0],i[1],i[2],r.length>3?r[3]:1]},pe=u.unpack,ge=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=pe(r,"hcl").reverse();return be.apply(void 0,n)},ve=u.unpack,me=u.type;d.prototype.lch=function(){return ue(this._rgb)},d.prototype.hcl=function(){return ue(this._rgb).reverse()},p.lch=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["lch"])))},p.hcl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["hcl"])))},c.format.lch=be,c.format.hcl=ge,["lch","hcl"].forEach((function(r){return c.autodetect.push({p:2,test:function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];if(e=ve(e,r),"array"===me(e)&&3===e.length)return r}})}));var ye={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},we=u.type;d.prototype.name=function(){for(var r=tr(this._rgb,"rgb"),e=0,n=Object.keys(ye);e<n.length;e+=1){var t=n[e];if(ye[t]===r)return t.toLowerCase()}return r},c.format.named=function(r){if(r=r.toLowerCase(),ye[r])return or(ye[r]);throw new Error("unknown color name: "+r)},c.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===we(r)&&ye[r.toLowerCase()])return"named"}});var ke=u.unpack,Me=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ke(r,"rgb");return(n[0]<<16)+(n[1]<<8)+n[2]},_e=u.type,Ne=u.type;d.prototype.num=function(){return Me(this._rgb)},p.num=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["num"])))},c.format.num=function(r){if("number"==_e(r)&&r>=0&&r<=16777215)return[r>>16,r>>8&255,255&r,1];throw new Error("unknown num color: "+r)},c.autodetect.push({p:5,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(1===r.length&&"number"===Ne(r[0])&&r[0]>=0&&r[0]<=16777215)return"num"}});var xe=u.unpack,Ae=u.type,Ee=Math.round;d.prototype.rgb=function(r){return void 0===r&&(r=!0),!1===r?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Ee)},d.prototype.rgba=function(r){return void 0===r&&(r=!0),this._rgb.slice(0,4).map((function(e,n){return n<3?!1===r?e:Ee(e):e}))},p.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["rgb"])))},c.format.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=xe(r,"rgba");return void 0===n[3]&&(n[3]=1),n},c.autodetect.push({p:3,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=xe(r,"rgba"),"array"===Ae(r)&&(3===r.length||4===r.length&&"number"==Ae(r[3])&&r[3]>=0&&r[3]<=1))return"rgb"}});var Pe=Math.log,Fe=function(r){var e,n,t,a=r/100;return a<66?(e=255,n=-155.25485562709179-.44596950469579133*(n=a-2)+104.49216199393888*Pe(n),t=a<20?0:.8274096064007395*(t=a-10)-254.76935184120902+115.67994401066147*Pe(t)):(e=351.97690566805693+.114206453784165*(e=a-55)-40.25366309332127*Pe(e),n=325.4494125711974+.07943456536662342*(n=a-50)-28.0852963507957*Pe(n),t=255),[e,n,t,1]},Oe=u.unpack,Ge=Math.round,je=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];for(var n,t=Oe(r,"rgb"),a=t[0],f=t[2],o=1e3,u=4e4;u-o>.4;){var c=Fe(n=.5*(u+o));c[2]/c[0]>=f/a?u=n:o=n}return Ge(n)};d.prototype.temp=d.prototype.kelvin=d.prototype.temperature=function(){return je(this._rgb)},p.temp=p.kelvin=p.temperature=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(d,[null].concat(r,["temp"])))},c.format.temp=c.format.kelvin=c.format.temperature=Fe;var qe=u.type;d.prototype.alpha=function(r,e){return void 0===e&&(e=!1),void 0!==r&&"number"===qe(r)?e?(this._rgb[3]=r,this):new d([this._rgb[0],this._rgb[1],this._rgb[2],r],"rgb"):this._rgb[3]},d.prototype.clipped=function(){return this._rgb._clipped||!1},d.prototype.darken=function(r){void 0===r&&(r=1);var e=this.lab();return e[0]-=qr*r,new d(e,"lab").alpha(this.alpha(),!0)},d.prototype.brighten=function(r){return void 0===r&&(r=1),this.darken(-r)},d.prototype.darker=d.prototype.darken,d.prototype.brighter=d.prototype.brighten,d.prototype.get=function(r){var e=r.split("."),n=e[0],t=e[1],a=this[n]();if(t){var f=n.indexOf(t);if(f>-1)return a[f];throw new Error("unknown channel "+t+" in mode "+n)}return a};var Le=u.type,Re=Math.pow;d.prototype.luminance=function(r){if(void 0!==r&&"number"===Le(r)){if(0===r)return new d([0,0,0,this._rgb[3]],"rgb");if(1===r)return new d([255,255,255,this._rgb[3]],"rgb");var e=this.luminance(),n=20,t=function(e,a){var f=e.interpolate(a,.5,"rgb"),o=f.luminance();return Math.abs(r-o)<1e-7||!n--?f:o>r?t(e,f):t(f,a)},a=(e>r?t(new d([0,0,0]),this):t(this,new d([255,255,255]))).rgb();return new d(a.concat([this._rgb[3]]))}return Ce.apply(void 0,this._rgb.slice(0,3))};var Ce=function(r,e,n){return.2126*(r=Ie(r))+.7152*(e=Ie(e))+.0722*Ie(n)},Ie=function(r){return(r/=255)<=.03928?r/12.92:Re((r+.055)/1.055,2.4)},Be={},De=u.type,Se=function(r,e,n){void 0===n&&(n=.5);for(var t=[],a=arguments.length-3;a-- >0;)t[a]=arguments[a+3];var f=t[0]||"lrgb";if(Be[f]||t.length||(f=Object.keys(Be)[0]),!Be[f])throw new Error("interpolation mode "+f+" is not defined");return"object"!==De(r)&&(r=new d(r)),"object"!==De(e)&&(e=new d(e)),Be[f](r,e,n).alpha(r.alpha()+n*(e.alpha()-r.alpha()))};d.prototype.mix=d.prototype.interpolate=function(r,e){void 0===e&&(e=.5);for(var n=[],t=arguments.length-2;t-- >0;)n[t]=arguments[t+2];return Se.apply(void 0,[this,r,e].concat(n))},d.prototype.premultiply=function(r){void 0===r&&(r=!1);var e=this._rgb,n=e[3];return r?(this._rgb=[e[0]*n,e[1]*n,e[2]*n,n],this):new d([e[0]*n,e[1]*n,e[2]*n,n],"rgb")},d.prototype.saturate=function(r){void 0===r&&(r=1);var e=this.lch();return e[1]+=qr*r,e[1]<0&&(e[1]=0),new d(e,"lch").alpha(this.alpha(),!0)},d.prototype.desaturate=function(r){return void 0===r&&(r=1),this.saturate(-r)};var $e=u.type;d.prototype.set=function(r,e,n){void 0===n&&(n=!1);var t=r.split("."),a=t[0],f=t[1],o=this[a]();if(f){var u=a.indexOf(f);if(u>-1){if("string"==$e(e))switch(e.charAt(0)){case"+":case"-":o[u]+=+e;break;case"*":o[u]*=+e.substr(1);break;case"/":o[u]/=+e.substr(1);break;default:o[u]=+e}else{if("number"!==$e(e))throw new Error("unsupported value for Color.set");o[u]=e}var c=new d(o,a);return n?(this._rgb=c._rgb,this):c}throw new Error("unknown channel "+f+" in mode "+a)}return o};Be.rgb=function(r,e,n){var t=r._rgb,a=e._rgb;return new d(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"rgb")};var Ye=Math.sqrt,ze=Math.pow;Be.lrgb=function(r,e,n){var t=r._rgb,a=t[0],f=t[1],o=t[2],u=e._rgb,c=u[0],i=u[1],l=u[2];return new d(Ye(ze(a,2)*(1-n)+ze(c,2)*n),Ye(ze(f,2)*(1-n)+ze(i,2)*n),Ye(ze(o,2)*(1-n)+ze(l,2)*n),"rgb")};Be.lab=function(r,e,n){var t=r.lab(),a=e.lab();return new d(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"lab")};var Te=function(r,e,n,t){var a,f,o,u,c,i,l,h,s,b,p,g;return"hsl"===t?(o=r.hsl(),u=e.hsl()):"hsv"===t?(o=r.hsv(),u=e.hsv()):"hcg"===t?(o=r.hcg(),u=e.hcg()):"hsi"===t?(o=r.hsi(),u=e.hsi()):"lch"!==t&&"hcl"!==t||(t="hcl",o=r.hcl(),u=e.hcl()),"h"===t.substr(0,1)&&(c=(a=o)[0],l=a[1],s=a[2],i=(f=u)[0],h=f[1],b=f[2]),isNaN(c)||isNaN(i)?isNaN(c)?isNaN(i)?g=Number.NaN:(g=i,1!=s&&0!=s||"hsv"==t||(p=h)):(g=c,1!=b&&0!=b||"hsv"==t||(p=l)):g=c+n*(i>c&&i-c>180?i-(c+360):i<c&&c-i>180?i+360-c:i-c),void 0===p&&(p=l+n*(h-l)),new d([g,p,s+n*(b-s)],t)},Ue=function(r,e,n){return Te(r,e,n,"lch")};Be.lch=Ue,Be.hcl=Ue;Be.num=function(r,e,n){var t=r.num(),a=e.num();return new d(t+n*(a-t),"num")};Be.hcg=function(r,e,n){return Te(r,e,n,"hcg")};Be.hsi=function(r,e,n){return Te(r,e,n,"hsi")};Be.hsl=function(r,e,n){return Te(r,e,n,"hsl")};Be.hsv=function(r,e,n){return Te(r,e,n,"hsv")};var Ve=u.clip_rgb,We=Math.pow,Xe=Math.sqrt,He=Math.PI,Je=Math.cos,Ke=Math.sin,Qe=Math.atan2,Ze=function(r,e){for(var n=r.length,t=[0,0,0,0],a=0;a<r.length;a++){var f=r[a],o=e[a]/n,u=f._rgb;t[0]+=We(u[0],2)*o,t[1]+=We(u[1],2)*o,t[2]+=We(u[2],2)*o,t[3]+=u[3]*o}return t[0]=Xe(t[0]),t[1]=Xe(t[1]),t[2]=Xe(t[2]),t[3]>.9999999&&(t[3]=1),new d(Ve(t))},rn=u.type,en=Math.pow,nn=function(r){var e="rgb",n=p("#ccc"),t=0,a=[0,1],f=[],o=[0,0],u=!1,c=[],i=!1,l=0,h=1,s=!1,d={},b=!0,g=1,v=function(r){if((r=r||["#fff","#000"])&&"string"===rn(r)&&p.brewer&&p.brewer[r.toLowerCase()]&&(r=p.brewer[r.toLowerCase()]),"array"===rn(r)){1===r.length&&(r=[r[0],r[0]]),r=r.slice(0);for(var e=0;e<r.length;e++)r[e]=p(r[e]);f.length=0;for(var n=0;n<r.length;n++)f.push(n/(r.length-1))}return k(),c=r},m=function(r){return r},y=function(r){return r},w=function(r,t){var a,i;if(null==t&&(t=!1),isNaN(r)||null===r)return n;i=t?r:u&&u.length>2?function(r){if(null!=u){for(var e=u.length-1,n=0;n<e&&r>=u[n];)n++;return n-1}return 0}(r)/(u.length-2):h!==l?(r-l)/(h-l):1,i=y(i),t||(i=m(i)),1!==g&&(i=en(i,g)),i=o[0]+i*(1-o[0]-o[1]),i=Math.min(1,Math.max(0,i));var s=Math.floor(1e4*i);if(b&&d[s])a=d[s];else{if("array"===rn(c))for(var v=0;v<f.length;v++){var w=f[v];if(i<=w){a=c[v];break}if(i>=w&&v===f.length-1){a=c[v];break}if(i>w&&i<f[v+1]){i=(i-w)/(f[v+1]-w),a=p.interpolate(c[v],c[v+1],i,e);break}}else"function"===rn(c)&&(a=c(i));b&&(d[s]=a)}return a},k=function(){return d={}};v(r);var M=function(r){var e=p(w(r));return i&&e[i]?e[i]():e};return M.classes=function(r){if(null!=r){if("array"===rn(r))u=r,a=[r[0],r[r.length-1]];else{var e=p.analyze(a);u=0===r?[e.min,e.max]:p.limits(e,"e",r)}return M}return u},M.domain=function(r){if(!arguments.length)return a;l=r[0],h=r[r.length-1],f=[];var e=c.length;if(r.length===e&&l!==h)for(var n=0,t=Array.from(r);n<t.length;n+=1){var o=t[n];f.push((o-l)/(h-l))}else{for(var u=0;u<e;u++)f.push(u/(e-1));if(r.length>2){var i=r.map((function(e,n){return n/(r.length-1)})),s=r.map((function(r){return(r-l)/(h-l)}));s.every((function(r,e){return i[e]===r}))||(y=function(r){if(r<=0||r>=1)return r;for(var e=0;r>=s[e+1];)e++;var n=(r-s[e])/(s[e+1]-s[e]);return i[e]+n*(i[e+1]-i[e])})}}return a=[l,h],M},M.mode=function(r){return arguments.length?(e=r,k(),M):e},M.range=function(r,e){return v(r),M},M.out=function(r){return i=r,M},M.spread=function(r){return arguments.length?(t=r,M):t},M.correctLightness=function(r){return null==r&&(r=!0),s=r,k(),m=s?function(r){for(var e=w(0,!0).lab()[0],n=w(1,!0).lab()[0],t=e>n,a=w(r,!0).lab()[0],f=e+(n-e)*r,o=a-f,u=0,c=1,i=20;Math.abs(o)>.01&&i-- >0;)t&&(o*=-1),o<0?(u=r,r+=.5*(c-r)):(c=r,r+=.5*(u-r)),o=(a=w(r,!0).lab()[0])-f;return r}:function(r){return r},M},M.padding=function(r){return null!=r?("number"===rn(r)&&(r=[r,r]),o=r,M):o},M.colors=function(e,n){arguments.length<2&&(n="hex");var t=[];if(0===arguments.length)t=c.slice(0);else if(1===e)t=[M(.5)];else if(e>1){var f=a[0],o=a[1]-f;t=function(r,e,n){for(var t=[],a=r<e,f=n?a?e+1:e-1:e,o=r;a?o<f:o>f;a?o++:o--)t.push(o);return t}(0,e,!1).map((function(r){return M(f+r/(e-1)*o)}))}else{r=[];var i=[];if(u&&u.length>2)for(var l=1,h=u.length,s=1<=h;s?l<h:l>h;s?l++:l--)i.push(.5*(u[l-1]+u[l]));else i=a;t=i.map((function(r){return M(r)}))}return p[n]&&(t=t.map((function(r){return r[n]()}))),t},M.cache=function(r){return null!=r?(b=r,M):b},M.gamma=function(r){return null!=r?(g=r,M):g},M.nodata=function(r){return null!=r?(n=p(r),M):n},M};var tn=function(r){var e,n,t,a,f,o,u;if(2===(r=r.map((function(r){return new d(r)}))).length)e=r.map((function(r){return r.lab()})),f=e[0],o=e[1],a=function(r){var e=[0,1,2].map((function(e){return f[e]+r*(o[e]-f[e])}));return new d(e,"lab")};else if(3===r.length)n=r.map((function(r){return r.lab()})),f=n[0],o=n[1],u=n[2],a=function(r){var e=[0,1,2].map((function(e){return(1-r)*(1-r)*f[e]+2*(1-r)*r*o[e]+r*r*u[e]}));return new d(e,"lab")};else if(4===r.length){var c;t=r.map((function(r){return r.lab()})),f=t[0],o=t[1],u=t[2],c=t[3],a=function(r){var e=[0,1,2].map((function(e){return(1-r)*(1-r)*(1-r)*f[e]+3*(1-r)*(1-r)*r*o[e]+3*(1-r)*r*r*u[e]+r*r*r*c[e]}));return new d(e,"lab")}}else if(5===r.length){var i=tn(r.slice(0,3)),l=tn(r.slice(2,5));a=function(r){return r<.5?i(2*r):l(2*(r-.5))}}return a},an=function(r,e,n){if(!an[n])throw new Error("unknown blend mode "+n);return an[n](r,e)},fn=function(r){return function(e,n){var t=p(n).rgb(),a=p(e).rgb();return p.rgb(r(t,a))}},on=function(r){return function(e,n){var t=[];return t[0]=r(e[0],n[0]),t[1]=r(e[1],n[1]),t[2]=r(e[2],n[2]),t}};an.normal=fn(on((function(r){return r}))),an.multiply=fn(on((function(r,e){return r*e/255}))),an.screen=fn(on((function(r,e){return 255*(1-(1-r/255)*(1-e/255))}))),an.overlay=fn(on((function(r,e){return e<128?2*r*e/255:255*(1-2*(1-r/255)*(1-e/255))}))),an.darken=fn(on((function(r,e){return r>e?e:r}))),an.lighten=fn(on((function(r,e){return r>e?r:e}))),an.dodge=fn(on((function(r,e){return 255===r||(r=e/255*255/(1-r/255))>255?255:r}))),an.burn=fn(on((function(r,e){return 255*(1-(1-e/255)/(r/255))})));for(var un=an,cn=u.type,ln=u.clip_rgb,hn=u.TWOPI,sn=Math.pow,dn=Math.sin,bn=Math.cos,pn=Math.floor,gn=Math.random,vn=Math.log,mn=Math.pow,yn=Math.floor,wn=Math.abs,kn=function(r,e){void 0===e&&(e=null);var n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===f(r)&&(r=Object.values(r)),r.forEach((function(r){e&&"object"===f(r)&&(r=r[e]),null==r||isNaN(r)||(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)})),n.domain=[n.min,n.max],n.limits=function(r,e){return Mn(n,r,e)},n},Mn=function(r,e,n){void 0===e&&(e="equal"),void 0===n&&(n=7),"array"==f(r)&&(r=kn(r));var t=r.min,a=r.max,o=r.values.sort((function(r,e){return r-e}));if(1===n)return[t,a];var u=[];if("c"===e.substr(0,1)&&(u.push(t),u.push(a)),"e"===e.substr(0,1)){u.push(t);for(var c=1;c<n;c++)u.push(t+c/n*(a-t));u.push(a)}else if("l"===e.substr(0,1)){if(t<=0)throw new Error("Logarithmic scales are only possible for values > 0");var i=Math.LOG10E*vn(t),l=Math.LOG10E*vn(a);u.push(t);for(var h=1;h<n;h++)u.push(mn(10,i+h/n*(l-i)));u.push(a)}else if("q"===e.substr(0,1)){u.push(t);for(var s=1;s<n;s++){var d=(o.length-1)*s/n,b=yn(d);if(b===d)u.push(o[b]);else{var p=d-b;u.push(o[b]*(1-p)+o[b+1]*p)}}u.push(a)}else if("k"===e.substr(0,1)){var g,v=o.length,m=new Array(v),y=new Array(n),w=!0,k=0,M=null;(M=[]).push(t);for(var _=1;_<n;_++)M.push(t+_/n*(a-t));for(M.push(a);w;){for(var N=0;N<n;N++)y[N]=0;for(var x=0;x<v;x++)for(var A=o[x],E=Number.MAX_VALUE,P=void 0,F=0;F<n;F++){var O=wn(M[F]-A);O<E&&(E=O,P=F),y[P]++,m[x]=P}for(var G=new Array(n),j=0;j<n;j++)G[j]=null;for(var q=0;q<v;q++)null===G[g=m[q]]?G[g]=o[q]:G[g]+=o[q];for(var L=0;L<n;L++)G[L]*=1/y[L];w=!1;for(var R=0;R<n;R++)if(G[R]!==M[R]){w=!0;break}M=G,++k>200&&(w=!1)}for(var C={},I=0;I<n;I++)C[I]=[];for(var B=0;B<v;B++)C[g=m[B]].push(o[B]);for(var D=[],S=0;S<n;S++)D.push(C[S][0]),D.push(C[S][C[S].length-1]);D=D.sort((function(r,e){return r-e})),u.push(D[0]);for(var $=1;$<D.length;$+=2){var Y=D[$];isNaN(Y)||-1!==u.indexOf(Y)||u.push(Y)}}return u},_n={analyze:kn,limits:Mn},Nn=Math.sqrt,xn=Math.atan2,An=Math.abs,En=Math.cos,Pn=Math.PI,Fn={cool:function(){return nn([p.hsl(180,1,.9),p.hsl(250,.7,.4)])},hot:function(){return nn(["#000","#f00","#ff0","#fff"]).mode("rgb")}},On={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Gn=0,jn=Object.keys(On);Gn<jn.length;Gn+=1){var qn=jn[Gn];On[qn.toLowerCase()]=On[qn]}var Ln=On;return p.average=function(r,e,n){void 0===e&&(e="lrgb"),void 0===n&&(n=null);var t=r.length;n||(n=Array.from(new Array(t)).map((function(){return 1})));var a=t/n.reduce((function(r,e){return r+e}));if(n.forEach((function(r,e){n[e]*=a})),r=r.map((function(r){return new d(r)})),"lrgb"===e)return Ze(r,n);for(var f=r.shift(),o=f.get(e),u=[],c=0,i=0,l=0;l<o.length;l++)if(o[l]=(o[l]||0)*n[0],u.push(isNaN(o[l])?0:n[0]),"h"===e.charAt(l)&&!isNaN(o[l])){var h=o[l]/180*He;c+=Je(h)*n[0],i+=Ke(h)*n[0]}var s=f.alpha()*n[0];r.forEach((function(r,t){var a=r.get(e);s+=r.alpha()*n[t+1];for(var f=0;f<o.length;f++)if(!isNaN(a[f]))if(u[f]+=n[t+1],"h"===e.charAt(f)){var l=a[f]/180*He;c+=Je(l)*n[t+1],i+=Ke(l)*n[t+1]}else o[f]+=a[f]*n[t+1]}));for(var b=0;b<o.length;b++)if("h"===e.charAt(b)){for(var p=Qe(i/u[b],c/u[b])/He*180;p<0;)p+=360;for(;p>=360;)p-=360;o[b]=p}else o[b]=o[b]/u[b];return s/=t,new d(o,e).alpha(s>.99999?1:s,!0)},p.bezier=function(r){var e=tn(r);return e.scale=function(){return nn(e)},e},p.blend=un,p.cubehelix=function(r,e,n,t,a){void 0===r&&(r=300),void 0===e&&(e=-1.5),void 0===n&&(n=1),void 0===t&&(t=1),void 0===a&&(a=[0,1]);var f,o=0;"array"===cn(a)?f=a[1]-a[0]:(f=0,a=[a,a]);var u=function(u){var c=hn*((r+120)/360+e*u),i=sn(a[0]+f*u,t),l=(0!==o?n[0]+u*o:n)*i*(1-i)/2,h=bn(c),s=dn(c);return p(ln([255*(i+l*(-.14861*h+1.78277*s)),255*(i+l*(-.29227*h-.90649*s)),255*(i+l*(1.97294*h)),1]))};return u.start=function(e){return null==e?r:(r=e,u)},u.rotations=function(r){return null==r?e:(e=r,u)},u.gamma=function(r){return null==r?t:(t=r,u)},u.hue=function(r){return null==r?n:("array"===cn(n=r)?0==(o=n[1]-n[0])&&(n=n[1]):o=0,u)},u.lightness=function(r){return null==r?a:("array"===cn(r)?(a=r,f=r[1]-r[0]):(a=[r,r],f=0),u)},u.scale=function(){return p.scale(u)},u.hue(n),u},p.mix=p.interpolate=Se,p.random=function(){for(var r="#",e=0;e<6;e++)r+="0123456789abcdef".charAt(pn(16*gn()));return new d(r,"hex")},p.scale=nn,p.analyze=_n.analyze,p.contrast=function(r,e){r=new d(r),e=new d(e);var n=r.luminance(),t=e.luminance();return n>t?(n+.05)/(t+.05):(t+.05)/(n+.05)},p.deltaE=function(r,e,n,t){void 0===n&&(n=1),void 0===t&&(t=1),r=new d(r),e=new d(e);for(var a=Array.from(r.lab()),f=a[0],o=a[1],u=a[2],c=Array.from(e.lab()),i=c[0],l=c[1],h=c[2],s=Nn(o*o+u*u),b=Nn(l*l+h*h),p=f<16?.511:.040975*f/(1+.01765*f),g=.0638*s/(1+.0131*s)+.638,v=s<1e-6?0:180*xn(u,o)/Pn;v<0;)v+=360;for(;v>=360;)v-=360;var m=v>=164&&v<=345?.56+An(.2*En(Pn*(v+168)/180)):.36+An(.4*En(Pn*(v+35)/180)),y=s*s*s*s,w=Nn(y/(y+1900)),k=g*(w*m+1-w),M=s-b,_=o-l,N=u-h,x=(f-i)/(n*p),A=M/(t*g);return Nn(x*x+A*A+(_*_+N*N-M*M)/(k*k))},p.distance=function(r,e,n){void 0===n&&(n="lab"),r=new d(r),e=new d(e);var t=r.get(n),a=e.get(n),f=0;for(var o in t){var u=(t[o]||0)-(a[o]||0);f+=u*u}return Math.sqrt(f)},p.limits=_n.limits,p.valid=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];try{return new(Function.prototype.bind.apply(d,[null].concat(r))),!0}catch(r){return!1}},p.scales=Fn,p.colors=ye,p.brewer=Ln,p}()}}]);
|
|
3
|
+
//# sourceMappingURL=232-1522c00252-lite.chunk.js.map
|