@clickview/lite 0.75.0-rc.10 → 0.75.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{7103-lite-fef3024f61.chunk.css → 2878-lite-d8e0bf912a.chunk.css} +1 -1
  3. package/dist/css/{1243-lite-13eda8f6a0.chunk.css → 3615-lite-240342ff8e.chunk.css} +1 -1
  4. package/dist/css/{1867-lite-8baa8af02b.chunk.css → 4630-lite-0157b1c437.chunk.css} +1 -1
  5. package/dist/css/{4203-lite-9ffab89741.chunk.css → 8362-lite-10810fdef2.chunk.css} +1 -1
  6. package/dist/languages/en.json +1 -1
  7. package/dist/scripts/{104-7ee25cbbb8-lite.chunk.js → 104-da7394bcfa-lite.chunk.js} +2 -2
  8. package/dist/scripts/104-da7394bcfa-lite.chunk.js.map +1 -0
  9. package/dist/scripts/{1192-6ed5c80d8a-lite.chunk.js → 1192-bb27568f21-lite.chunk.js} +2 -2
  10. package/dist/scripts/1192-bb27568f21-lite.chunk.js.map +1 -0
  11. package/dist/scripts/1199-cf2cb206b5-lite.chunk.js +2 -0
  12. package/dist/scripts/1199-cf2cb206b5-lite.chunk.js.map +1 -0
  13. package/dist/scripts/1502-9836df10cd-lite.chunk.js +2 -0
  14. package/dist/scripts/1502-9836df10cd-lite.chunk.js.map +1 -0
  15. package/dist/scripts/{1610-9ccecc428a-lite.chunk.js → 1610-0edaa98d40-lite.chunk.js} +2 -2
  16. package/dist/scripts/{1610-9ccecc428a-lite.chunk.js.map → 1610-0edaa98d40-lite.chunk.js.map} +1 -1
  17. package/dist/scripts/{7103-3b181ec69b-lite.chunk.js → 2878-487c4a8e1a-lite.chunk.js} +2 -2
  18. package/dist/scripts/2878-487c4a8e1a-lite.chunk.js.map +1 -0
  19. package/dist/scripts/{1243-72f3d31787-lite.chunk.js → 3615-a0da361aa5-lite.chunk.js} +2 -2
  20. package/dist/scripts/3615-a0da361aa5-lite.chunk.js.map +1 -0
  21. package/dist/scripts/4125-6d34b8b8f2-lite.chunk.js +2 -0
  22. package/dist/scripts/4125-6d34b8b8f2-lite.chunk.js.map +1 -0
  23. package/dist/scripts/4598-e25e9e03d6-lite.chunk.js +2 -0
  24. package/dist/scripts/4598-e25e9e03d6-lite.chunk.js.map +1 -0
  25. package/dist/scripts/{1867-0823a787c3-lite.chunk.js → 4630-4a35ecbf2b-lite.chunk.js} +2 -2
  26. package/dist/scripts/4630-4a35ecbf2b-lite.chunk.js.map +1 -0
  27. package/dist/scripts/6475-f019242ec2-lite.chunk.js +2 -0
  28. package/dist/scripts/6475-f019242ec2-lite.chunk.js.map +1 -0
  29. package/dist/scripts/6756-3c7f911759-lite.chunk.js +3 -0
  30. package/dist/scripts/6756-3c7f911759-lite.chunk.js.map +1 -0
  31. package/dist/scripts/{4203-83f90f92f3-lite.chunk.js → 8362-ed5df8f4fc-lite.chunk.js} +3 -3
  32. package/dist/scripts/{4203-83f90f92f3-lite.chunk.js.map → 8362-ed5df8f4fc-lite.chunk.js.map} +1 -1
  33. package/dist/scripts/8856-08061bbec5-lite.chunk.js +2 -0
  34. package/dist/scripts/8856-08061bbec5-lite.chunk.js.map +1 -0
  35. package/dist/scripts/{9042-544d97a05d-lite.chunk.js → 9042-7c30ffd4f0-lite.chunk.js} +2 -2
  36. package/dist/scripts/9042-7c30ffd4f0-lite.chunk.js.map +1 -0
  37. package/dist/scripts/{bundle-3fc0b29cd5.min.js → bundle-941a464ef0.min.js} +3 -3
  38. package/dist/scripts/{bundle-3fc0b29cd5.min.js.map → bundle-941a464ef0.min.js.map} +1 -1
  39. package/package.json +1 -1
  40. package/dist/scripts/104-7ee25cbbb8-lite.chunk.js.map +0 -1
  41. package/dist/scripts/1074-ac4057b68e-lite.chunk.js +0 -2
  42. package/dist/scripts/1074-ac4057b68e-lite.chunk.js.map +0 -1
  43. package/dist/scripts/1192-6ed5c80d8a-lite.chunk.js.map +0 -1
  44. package/dist/scripts/1199-dc45a88be8-lite.chunk.js +0 -2
  45. package/dist/scripts/1199-dc45a88be8-lite.chunk.js.map +0 -1
  46. package/dist/scripts/1243-72f3d31787-lite.chunk.js.map +0 -1
  47. package/dist/scripts/1867-0823a787c3-lite.chunk.js.map +0 -1
  48. package/dist/scripts/4598-f5120153c2-lite.chunk.js +0 -2
  49. package/dist/scripts/4598-f5120153c2-lite.chunk.js.map +0 -1
  50. package/dist/scripts/6475-502e390010-lite.chunk.js +0 -2
  51. package/dist/scripts/6475-502e390010-lite.chunk.js.map +0 -1
  52. package/dist/scripts/6756-a71d33bfcf-lite.chunk.js +0 -3
  53. package/dist/scripts/6756-a71d33bfcf-lite.chunk.js.map +0 -1
  54. package/dist/scripts/7103-3b181ec69b-lite.chunk.js.map +0 -1
  55. package/dist/scripts/8856-361fe76b7a-lite.chunk.js +0 -2
  56. package/dist/scripts/8856-361fe76b7a-lite.chunk.js.map +0 -1
  57. package/dist/scripts/9003-36ab592cc5-lite.chunk.js +0 -2
  58. package/dist/scripts/9003-36ab592cc5-lite.chunk.js.map +0 -1
  59. package/dist/scripts/9042-544d97a05d-lite.chunk.js.map +0 -1
  60. /package/dist/scripts/{4203-83f90f92f3-lite.chunk.js.LICENSE.txt → 6756-3c7f911759-lite.chunk.js.LICENSE.txt} +0 -0
  61. /package/dist/scripts/{6756-a71d33bfcf-lite.chunk.js.LICENSE.txt → 8362-ed5df8f4fc-lite.chunk.js.LICENSE.txt} +0 -0
  62. /package/dist/scripts/{bundle-3fc0b29cd5.min.js.LICENSE.txt → bundle-941a464ef0.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1867],{38307:(e,t,n)=>{n.d(t,{c:()=>h,l:()=>p});var r=n(32735),a=n(232),i=n.n(a),o=n(8604),s=n(83345);const c={heatMap:"epapa",legend:"uhH4p"};function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u="shared.engagementHeatMap",d="#f1f1f1",m=i().scale(["#daf07d","#08bd1a"]),v=[0,.01,.25,.5,.75,1];function f(e,t){return e?m(e/t).hex():d}function g(e,t){for(var n=[],r=0;r<e.length;r++){var a=r>0&&e[r-1],i=e[r],o=r<e.length-1&&e[r+1];i===a&&i===o||n.push("".concat(f(i,t)," ").concat(100/e.length*r,"%"))}return"linear-gradient(to right, ".concat(n.join(","),")")}function p(){var e=Math.max.apply(Math,v),t=100/v.length;return r.createElement("div",{className:"d-flex justify-content-between w-100"},r.createElement(s.x,{namespace:u,phrase:"less"}),r.createElement("div",{className:"d-flex mx-1 flex-grow-1 ".concat(c.legend)},v.map(function(n,a){return r.createElement("div",{key:a,style:{width:"".concat(t,"%"),backgroundColor:f(n,e)}})})),r.createElement(s.x,{namespace:u,phrase:"more"}))}function h(e){var t,n,a,i=(0,o.O)(e.engagement),s=null!==(t=e.max)&&void 0!==t?t:Math.max.apply(Math,function(e){if(Array.isArray(e))return l(e)}(a=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return l(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)?l(e,t):void 0}}(a)||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.")}());return r.createElement("div",{className:"border rounded ".concat(c.heatMap," ").concat(null!==(n=e.className)&&void 0!==n?n:""),style:{background:g(i,s)}})}},84621:(e,t,n)=>{n.d(t,{L:()=>o});var r=n(32735),a=n(83914);const i={icon:"sAmpy",count:"faDs4"};function o(e){return r.createElement("section",{className:"d-flex flex-column border rounded p-3 h-100"},r.createElement("div",{className:"d-flex ".concat(e.subtitle?"align-items-top":"align-items-center"," mb-2")},r.createElement("div",{className:"".concat(i.icon," ").concat(e.svgClassName," rounded-circle d-flex justify-content-center align-items-center")},r.createElement(a.x,{svgName:e.svgName,size:a.S.Small})),r.createElement("div",{className:"d-flex flex-column ms-2"},r.createElement("h2",{className:"h6 mb-0"},e.title)),"number"==typeof e.count&&r.createElement("div",{className:"".concat(i.count," d-flex justify-content-center align-items-center bg-light rounded-circle ms-auto")},e.count)),e.children)}},70072:(e,t,n)=>{n.d(t,{d:()=>r});var r={fontSize:"12px",fontFamily:'"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"',fontWeight:"400",color:"#313543"}},8604:(e,t,n)=>{function r(e){var t=e.videoDuration||0;return new Array(Math.ceil(t)).fill(null).map(function(t,n){return(null==e?void 0:e.heatMap[n])||0})}function a(e){return null==e?void 0:e.reduce(function(t,n){return t+n.engagementRate/e.length},0)}n.d(t,{O:()=>r,Q:()=>a})},39157:(e,t,n)=>{n.d(t,{HI:()=>m,R6:()=>l,Rt:()=>f,UU:()=>d,Zs:()=>u,nq:()=>v});var r=n(75896),a=n(94892),i=n(28972),o=n(8246),s=n(83140),c=n(80845);function l(e,t,n){var i={markingRequired:[],lowScore:[],highScore:[],completed:[],notCompleted:[]},o=(0,c.Q)(e),s=new Set(o.map(function(e){return e.id}));t.students.forEach(function(t){var o=Object.assign(Object.assign({},t),{summary:f(e,t)});o.summary.awaitingMarking?i.markingRequired.push(o):r.m.last(t.results).attempts.filter(function(e){var t;return!!s.has(null===(t=null==e?void 0:e.answers[0])||void 0===t?void 0:t.questionId)}).length===s.size?(i.completed.push(o),o.summary.percentCorrect>=((null==n?void 0:n.HIGH)||a.i.HIGH)&&i.highScore.push(o),o.summary.percentCorrect<((null==n?void 0:n.MODERATE)||a.i.MODERATE)&&i.lowScore.push(o)):i.notCompleted.push(o)});var l=r.m.sortBy(i.lowScore,function(e){return e.summary.percentCorrect}),u=r.m.sortBy(i.highScore,function(e){return-e.summary.percentCorrect});return Object.assign(Object.assign({},i),{lowScore:l,highScore:u})}function u(e,t){return(0,c.Wn)(e).find(function(e){return e.id.toString()===t.toString()})}function d(e){return"".concat(e.questionId,":").concat(e.resultId)}function m(e,t,n){var r=(0,c.j_)(t),a=(0,c.f6)(e,r);return(null==a?void 0:a.answers.every(function(e){var t;return(null===(t=n[d(e)])||void 0===t?void 0:t.status)===o.N.Correct}))?o.N.Correct:(null==a?void 0:a.answers.every(function(e){var t;return(null===(t=n[d(e)])||void 0===t?void 0:t.status)===o.N.Incorrect}))?o.N.Incorrect:void 0}function v(e,t){var n=t.students.length,r=0,a=0,o=0,l=0,u=0;return t.students.forEach(function(t){var n=(0,c.j_)(t);if(n){u+=t.results.length;var d=s.A.isInteractionCorrect(e,n);d===i.w.Correct&&r++,d===i.w.UnAnswered&&o++,d===i.w.AwaitingMarking&&l++,d!==i.w.UnAnswered&&a++}}),{percentCorrect:n>0?r/n:0,correct:r,answered:a,unanswered:o,awaitingMarking:l,attempts:u}}function f(e,t){var n=(0,c.j_)(t),r=(0,c.Q)(e),a=r.length,o=0,l=0;r.forEach(function(e){var t=s.A.isInteractionCorrect(e,n);t===i.w.Correct&&o++,t===i.w.AwaitingMarking&&l++});var u=a>0?o/a:0,d=new Set(r.map(function(e){return e.id})),m=n.attempts.filter(function(e){var t;return!!d.has(null===(t=null==e?void 0:e.answers[0])||void 0===t?void 0:t.questionId)}).length;return{answered:m,attempts:t.results.length,unanswered:a-m,percentCorrect:u,correct:o,awaitingMarking:l}}},77640:(e,t,n)=>{n.d(t,{t:()=>f});var r=n(32735),a=n(23481),i=n(31453),o=n(26136),s=n(97408),c=n(83914),l=n(76881),u=n(86613),d=n(64818),m=n(26521),v=a.T.encloseNamespace("shared.userRecipientItemMetadata");function f(e){var t=function(e){var t,n=e.user,r=e.anonymiseUsers,a=e.showDisplayName;if(n.sessionId){var i=(0,o.B)(n,r),s=i.split(" ").filter(function(e){return!!e});return{name:i,surname:s.slice(1).join(" "),avatarUrl:null}}return{name:r?(0,o.B)(n,!0):a?d.l.getDisplayName(n):d.l.getFullName(n),surname:n.surname,avatarUrl:null===(t=n.avatar)||void 0===t?void 0:t.url}}(e),n=t.name,a=t.surname,f=t.avatarUrl;return r.createElement(r.Fragment,null,r.createElement("div",{className:"".concat(m.Z.avatarContainer," ").concat(e.avatarClassName," d-inline-block flex-shrink-0")},r.createElement(s.q,{imageUrl:f,imageCdnUrl:e.imageCdnUrl,initials:d.l.getInitials(n,a),showAnonymousUser:!e.anonymiseUsers&&!!e.user.sessionId,anonymiseUsers:e.anonymiseUsers,anonymousSvgSize:c.S.Small})),r.createElement("div",{className:e.detailsClassName},r.createElement("h4",{className:(0,i.A)("font-size-normal fw-normal m-0",e.nameClassName)},n),e.showSubText&&"id"in e.user&&r.createElement("p",{className:"text-secondary m-0"},e.getSubText?e.getSubText(e.user):function(e){var t=d.l.getUserType(e),n=d.l.getUserRole(e);if(t===l.Y.Staff)return n===u.i.Admin?v("admin"):v("staff");var r=d.l.getYearGroup(e);return(null==r?void 0:r.name)&&"Learners"!==r.name?r.name:v("student")}(e.user))))}f.defaults={showSubText:!0}},28972:(e,t,n)=>{var r;n.d(t,{w:()=>r}),function(e){e[e.Correct=0]="Correct",e[e.Incorrect=1]="Incorrect",e[e.AwaitingMarking=2]="AwaitingMarking",e[e.Answered=3]="Answered",e[e.UnAnswered=4]="UnAnswered",e[e.NotApplicable=5]="NotApplicable"}(r||(r={}))},8246:(e,t,n)=>{var r;n.d(t,{N:()=>r}),function(e){e[e.Incorrect=0]="Incorrect",e[e.Correct=1]="Correct",e[e.PendingReview=2]="PendingReview"}(r||(r={}))},54405:(e,t,n)=>{n.d(t,{X:()=>r});var r={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},83140:(e,t,n)=>{n.d(t,{A:()=>g});var r=n(28972),a=n(8246),i=n(38129);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t,n){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return r.w.NotApplicable}function l(e,t){var n=e.actionableItems.filter(function(e){return e.isCorrect});return n.every(function(e){return!t(e.id)})?r.w.UnAnswered:n.every(function(e){var n;return e.name.trim().toLowerCase()===(null===(n=t(e.id))||void 0===n?void 0:n.trim().toLowerCase())})?r.w.Correct:r.w.Incorrect}function u(e,t){return e.actionableItems.every(function(e){return!t(e.id)})?r.w.UnAnswered:e.actionableItems.filter(function(e){return e.isCorrect}).every(function(e){var n,r=t(e.id);return(null==r?void 0:r.toString())===(null===(n=e.id)||void 0===n?void 0:n.toString())||r===e.name})?r.w.Correct:r.w.Incorrect}function d(e,t){return function(n){var r=null==t?void 0:t.attempts.find(function(t){return t.id===e.id});return null==r?void 0:r.answers.find(function(e){return e.id===n})}}function m(e,t){var n=d(e,t);return u(e,function(e){var t=n(e);return null==t?void 0:t.text})}function v(e,t){return function(e,t){var n;return e.actionableItems.forEach(function(e){var i=t(e.id);n=i?i.status!==a.N.Correct?i.status!==a.N.Incorrect?r.w.AwaitingMarking:r.w.Incorrect:r.w.Correct:r.w.UnAnswered}),n}(e,d(e,t))}var f=s(s(s(s(s(s(s({},i.Z9.Annotation,c),i.Z9.Image,c),i.Z9.MissingWord,function(e,t){var n=d(e,t);return l(e,function(e){var t=n(e);return null==t?void 0:t.text})}),i.Z9.MultipleChoice,m),i.Z9.ShortAnswer,v),i.Z9.TrueOrFalse,m),i.Z9.Illustration,v),g={notApplicable:c,awaitingMarking:function(){return r.w.AwaitingMarking},isMissingWordCorrect:l,isMultipleChoiceCorrect:u,isInteractionCorrect:function(e,t){return(0,f[e.typeId])(e,t)}}},9566:(e,t,n)=>{n.d(t,{G6:()=>m,GJ:()=>v,VE:()=>g});var r=n(23481),a=n(110),i=n(33518),o=n(2510),s=n(4594),c=n(35223),l=n(14070),u=n(97291),d=r.T.encloseNamespace("myShares.demoInsights"),m={type:o.y.Link,privacy:i.e.JustMySchool,objectId:"0",objectTypeId:s.E.Interactive,viewCount:28,accessCount:15,dateCreated:(new Date).toISOString(),expireDate:null,link:{shortenedEmbedUrl:"",shortenedUrl:""},shareId:"0",ownerCustomerId:0,ownerId:0,recipients:[],options:{preventScrubbing:!1,immediateFeedback:!1}},v={share:m,sharedObject:null,shareRecipients:null,dateShared:a.O.subtract(new Date,7,"days").toISOString()},f={application:u.O.MY_SHARES,action:l.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},g={svgName:c.vn.Analytics,label:d("demoInsights"),appLink:f,group:"insights",className:"btn btn-outline-dark"}},38926:(e,t,n)=>{n.r(t),n.d(t,{InteractiveInsightsOverviewDemoView:()=>I});var r=n(32735),a=n(23481),i=n(2948),o=n(20354),s=n(26025),c=n(38143),l=n(39151),u=n(54405),d=n(31949),m=n(93322),v=n(79612),f=n(9540),g=n(54948),p=n(9566),h=n(10447),y=n(14070),w=n(97291);function b(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 S=a.T.encloseNamespace("insights.interactiveInsightsOverviewView");function I(){var e,t,n,a,I,A,E=(I=(0,i.D)(c.g.ANONYMISE_USERS),A=1,function(e){if(Array.isArray(e))return e}(I)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],c=!0,l=!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)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return s}}(I,A)||function(e,t){if(e){if("string"==typeof e)return b(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)?b(e,t):void 0}}(I,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];(0,m.F)();var C=o.a.useBasicFetch(d.N.currentUser()),k=o.a.useBasicFetch(l.L.config()),N=o.a.useBasicFetch(u.X.interactiveMetadata()),M=o.a.useBasicFetch(u.X.interactive()),j=s.B.getAudienceAppLinkParams(),O=s.B.getDateRangeAppLinkParams(),U=o.a.useBasicFetch(u.X.interactiveResults()),x=o.a.useBasicFetch(u.X.aggregateHeatmap()),R=o.a.useBasicFetch(u.X.videoViews());(0,v.M)({title:N.data?S("pageTitle",{video:null===(e=N.data)||void 0===e?void 0:e.name}):null});var T=C.data&&k.data&&N.data&&M.data&&U.data&&x.data&&!!R.data,D=Object.assign(Object.assign({},j),O),_=function(e,t){return{resultsAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_STUDENTS_DEMO,args:[""],params:t},questionsAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_QUESTIONS_DEMO,args:[""],params:t},heatmapAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_HEATMAP_DEMO,args:[""],params:t}}}(0,D),H=Object.assign(Object.assign({},p.G6),{objectId:null===(t=N.data)||void 0===t?void 0:t.id});return r.createElement("div",{className:"px-3"},r.createElement(f.j,{video:N.data,tabs:(0,h.aq)(null===(n=N.data)||void 0===n?void 0:n.id,"insights",D),dateRangeAppLinkParams:O,share:H,yearGroups:[],isDemo:!0}),r.createElement(g.m,{aggregateEngagement:x.data,interactive:M.data,interactiveMetadata:N.data,classroomStudents:null,results:U.data,osCount:null===(a=R.data)||void 0===a?void 0:a.osCount,config:k.data,interactiveInsightsAppLinks:_,anonymiseUsers:E,hasDataLoaded:T,share:H}))}},26521:(e,t,n)=>{n.d(t,{Z:()=>r});const r={removeRecipient:"mCbMC",recipientItem:"kdcb0",showSpinner:"xH6Mu",avatarContainer:"Zcpg3",recipientDetails:"v5EmV",recipientDetailsWithRemoveButton:"_V928"}}}]);
2
- //# sourceMappingURL=1867-0823a787c3-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4630],{38307:(e,t,n)=>{n.d(t,{c:()=>h,l:()=>p});var r=n(32735),a=n(232),i=n.n(a),o=n(8604),s=n(83345);const c={heatMap:"epapa",legend:"uhH4p"};function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u="shared.engagementHeatMap",d="#f1f1f1",m=i().scale(["#daf07d","#08bd1a"]),v=[0,.01,.25,.5,.75,1];function f(e,t){return e?m(e/t).hex():d}function g(e,t){for(var n=[],r=0;r<e.length;r++){var a=r>0&&e[r-1],i=e[r],o=r<e.length-1&&e[r+1];i===a&&i===o||n.push("".concat(f(i,t)," ").concat(100/e.length*r,"%"))}return"linear-gradient(to right, ".concat(n.join(","),")")}function p(){var e=Math.max.apply(Math,v),t=100/v.length;return r.createElement("div",{className:"d-flex justify-content-between w-100"},r.createElement(s.x,{namespace:u,phrase:"less"}),r.createElement("div",{className:"d-flex mx-1 flex-grow-1 ".concat(c.legend)},v.map(function(n,a){return r.createElement("div",{key:a,style:{width:"".concat(t,"%"),backgroundColor:f(n,e)}})})),r.createElement(s.x,{namespace:u,phrase:"more"}))}function h(e){var t,n,a,i=(0,o.O)(e.engagement),s=null!==(t=e.max)&&void 0!==t?t:Math.max.apply(Math,function(e){if(Array.isArray(e))return l(e)}(a=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return l(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)?l(e,t):void 0}}(a)||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.")}());return r.createElement("div",{className:"border rounded ".concat(c.heatMap," ").concat(null!==(n=e.className)&&void 0!==n?n:""),style:{background:g(i,s)}})}},84621:(e,t,n)=>{n.d(t,{L:()=>o});var r=n(32735),a=n(83914);const i={icon:"sAmpy",count:"faDs4"};function o(e){return r.createElement("section",{className:"d-flex flex-column border rounded p-3 h-100"},r.createElement("div",{className:"d-flex ".concat(e.subtitle?"align-items-top":"align-items-center"," mb-2")},r.createElement("div",{className:"".concat(i.icon," ").concat(e.svgClassName," rounded-circle d-flex justify-content-center align-items-center")},r.createElement(a.x,{svgName:e.svgName,size:a.S.Small})),r.createElement("div",{className:"d-flex flex-column ms-2"},r.createElement("h2",{className:"h6 mb-0"},e.title)),"number"==typeof e.count&&r.createElement("div",{className:"".concat(i.count," d-flex justify-content-center align-items-center bg-light rounded-circle ms-auto")},e.count)),e.children)}},70072:(e,t,n)=>{n.d(t,{d:()=>r});var r={fontSize:"12px",fontFamily:'"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"',fontWeight:"400",color:"#313543"}},8604:(e,t,n)=>{function r(e){var t=e.videoDuration||0;return new Array(Math.ceil(t)).fill(null).map(function(t,n){return(null==e?void 0:e.heatMap[n])||0})}function a(e){return null==e?void 0:e.reduce(function(t,n){return t+n.engagementRate/e.length},0)}n.d(t,{O:()=>r,Q:()=>a})},39157:(e,t,n)=>{n.d(t,{HI:()=>m,R6:()=>l,Rt:()=>f,UU:()=>d,Zs:()=>u,nq:()=>v});var r=n(75896),a=n(94892),i=n(28972),o=n(8246),s=n(83140),c=n(80845);function l(e,t,n){var i={markingRequired:[],lowScore:[],highScore:[],completed:[],notCompleted:[]},o=(0,c.Q)(e),s=new Set(o.map(function(e){return e.id}));t.students.forEach(function(t){var o=Object.assign(Object.assign({},t),{summary:f(e,t)});o.summary.awaitingMarking?i.markingRequired.push(o):r.m.last(t.results).attempts.filter(function(e){var t;return!!s.has(null===(t=null==e?void 0:e.answers[0])||void 0===t?void 0:t.questionId)}).length===s.size?(i.completed.push(o),o.summary.percentCorrect>=((null==n?void 0:n.HIGH)||a.i.HIGH)&&i.highScore.push(o),o.summary.percentCorrect<((null==n?void 0:n.MODERATE)||a.i.MODERATE)&&i.lowScore.push(o)):i.notCompleted.push(o)});var l=r.m.sortBy(i.lowScore,function(e){return e.summary.percentCorrect}),u=r.m.sortBy(i.highScore,function(e){return-e.summary.percentCorrect});return Object.assign(Object.assign({},i),{lowScore:l,highScore:u})}function u(e,t){return(0,c.Wn)(e).find(function(e){return e.id.toString()===t.toString()})}function d(e){return"".concat(e.questionId,":").concat(e.resultId)}function m(e,t,n){var r=(0,c.j_)(t),a=(0,c.f6)(e,r);return(null==a?void 0:a.answers.every(function(e){var t;return(null===(t=n[d(e)])||void 0===t?void 0:t.status)===o.N.Correct}))?o.N.Correct:(null==a?void 0:a.answers.every(function(e){var t;return(null===(t=n[d(e)])||void 0===t?void 0:t.status)===o.N.Incorrect}))?o.N.Incorrect:void 0}function v(e,t){var n=t.students.length,r=0,a=0,o=0,l=0,u=0;return t.students.forEach(function(t){var n=(0,c.j_)(t);if(n){u+=t.results.length;var d=s.A.isInteractionCorrect(e,n);d===i.w.Correct&&r++,d===i.w.UnAnswered&&o++,d===i.w.AwaitingMarking&&l++,d!==i.w.UnAnswered&&a++}}),{percentCorrect:n>0?r/n:0,correct:r,answered:a,unanswered:o,awaitingMarking:l,attempts:u}}function f(e,t){var n=(0,c.j_)(t),r=(0,c.Q)(e),a=r.length,o=0,l=0;r.forEach(function(e){var t=s.A.isInteractionCorrect(e,n);t===i.w.Correct&&o++,t===i.w.AwaitingMarking&&l++});var u=a>0?o/a:0,d=new Set(r.map(function(e){return e.id})),m=n.attempts.filter(function(e){var t;return!!d.has(null===(t=null==e?void 0:e.answers[0])||void 0===t?void 0:t.questionId)}).length;return{answered:m,attempts:t.results.length,unanswered:a-m,percentCorrect:u,correct:o,awaitingMarking:l}}},77640:(e,t,n)=>{n.d(t,{t:()=>f});var r=n(32735),a=n(23481),i=n(31453),o=n(26136),s=n(97408),c=n(83914),l=n(76881),u=n(86613),d=n(64818),m=n(26521),v=a.T.encloseNamespace("shared.userRecipientItemMetadata");function f(e){var t=function(e){var t,n=e.user,r=e.anonymiseUsers,a=e.showDisplayName;if(n.sessionId){var i=(0,o.B)(n,r),s=i.split(" ").filter(function(e){return!!e});return{name:i,surname:s.slice(1).join(" "),avatarUrl:null}}return{name:r?(0,o.B)(n,!0):a?d.l.getDisplayName(n):d.l.getFullName(n),surname:n.surname,avatarUrl:null===(t=n.avatar)||void 0===t?void 0:t.url}}(e),n=t.name,a=t.surname,f=t.avatarUrl;return r.createElement(r.Fragment,null,r.createElement("div",{className:"".concat(m.Z.avatarContainer," ").concat(e.avatarClassName," d-inline-block flex-shrink-0")},r.createElement(s.q,{imageUrl:f,imageCdnUrl:e.imageCdnUrl,initials:d.l.getInitials(n,a),showAnonymousUser:!e.anonymiseUsers&&!!e.user.sessionId,anonymiseUsers:e.anonymiseUsers,anonymousSvgSize:c.S.Small})),r.createElement("div",{className:e.detailsClassName},r.createElement("h4",{className:(0,i.A)("font-size-normal fw-normal m-0",e.nameClassName)},n),e.showSubText&&"id"in e.user&&r.createElement("p",{className:"text-secondary m-0"},e.getSubText?e.getSubText(e.user):function(e){var t=d.l.getUserType(e),n=d.l.getUserRole(e);if(t===l.Y.Staff)return n===u.i.Admin?v("admin"):v("staff");var r=d.l.getYearGroup(e);return(null==r?void 0:r.name)&&"Learners"!==r.name?r.name:v("student")}(e.user))))}f.defaults={showSubText:!0}},28972:(e,t,n)=>{var r;n.d(t,{w:()=>r}),function(e){e[e.Correct=0]="Correct",e[e.Incorrect=1]="Incorrect",e[e.AwaitingMarking=2]="AwaitingMarking",e[e.Answered=3]="Answered",e[e.UnAnswered=4]="UnAnswered",e[e.NotApplicable=5]="NotApplicable"}(r||(r={}))},8246:(e,t,n)=>{var r;n.d(t,{N:()=>r}),function(e){e[e.Incorrect=0]="Incorrect",e[e.Correct=1]="Correct",e[e.PendingReview=2]="PendingReview"}(r||(r={}))},54405:(e,t,n)=>{n.d(t,{X:()=>r});var r={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},83140:(e,t,n)=>{n.d(t,{A:()=>g});var r=n(28972),a=n(8246),i=n(38129);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t,n){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return r.w.NotApplicable}function l(e,t){var n=e.actionableItems.filter(function(e){return e.isCorrect});return n.every(function(e){return!t(e.id)})?r.w.UnAnswered:n.every(function(e){var n;return e.name.trim().toLowerCase()===(null===(n=t(e.id))||void 0===n?void 0:n.trim().toLowerCase())})?r.w.Correct:r.w.Incorrect}function u(e,t){return e.actionableItems.every(function(e){return!t(e.id)})?r.w.UnAnswered:e.actionableItems.filter(function(e){return e.isCorrect}).every(function(e){var n,r=t(e.id);return(null==r?void 0:r.toString())===(null===(n=e.id)||void 0===n?void 0:n.toString())||r===e.name})?r.w.Correct:r.w.Incorrect}function d(e,t){return function(n){var r=null==t?void 0:t.attempts.find(function(t){return t.id===e.id});return null==r?void 0:r.answers.find(function(e){return e.id===n})}}function m(e,t){var n=d(e,t);return u(e,function(e){var t=n(e);return null==t?void 0:t.text})}function v(e,t){return function(e,t){var n;return e.actionableItems.forEach(function(e){var i=t(e.id);n=i?i.status!==a.N.Correct?i.status!==a.N.Incorrect?r.w.AwaitingMarking:r.w.Incorrect:r.w.Correct:r.w.UnAnswered}),n}(e,d(e,t))}var f=s(s(s(s(s(s(s({},i.Z9.Annotation,c),i.Z9.Image,c),i.Z9.MissingWord,function(e,t){var n=d(e,t);return l(e,function(e){var t=n(e);return null==t?void 0:t.text})}),i.Z9.MultipleChoice,m),i.Z9.ShortAnswer,v),i.Z9.TrueOrFalse,m),i.Z9.Illustration,v),g={notApplicable:c,awaitingMarking:function(){return r.w.AwaitingMarking},isMissingWordCorrect:l,isMultipleChoiceCorrect:u,isInteractionCorrect:function(e,t){return(0,f[e.typeId])(e,t)}}},9566:(e,t,n)=>{n.d(t,{G6:()=>m,GJ:()=>v,VE:()=>g});var r=n(23481),a=n(110),i=n(33518),o=n(2510),s=n(4594),c=n(35223),l=n(14070),u=n(97291),d=r.T.encloseNamespace("myShares.demoInsights"),m={type:o.y.Link,privacy:i.e.JustMySchool,objectId:"0",objectTypeId:s.E.Interactive,viewCount:28,accessCount:15,dateCreated:(new Date).toISOString(),expireDate:null,link:{shortenedEmbedUrl:"",shortenedUrl:""},shareId:"0",ownerCustomerId:0,ownerId:0,recipients:[],options:{preventScrubbing:!1,immediateFeedback:!1}},v={share:m,sharedObject:null,shareRecipients:null,dateShared:a.O.subtract(new Date,7,"days").toISOString()},f={application:u.O.MY_SHARES,action:l.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},g={svgName:c.vn.Analytics,label:d("demoInsights"),appLink:f,group:"insights",className:"btn btn-outline-dark"}},38926:(e,t,n)=>{n.r(t),n.d(t,{InteractiveInsightsOverviewDemoView:()=>I});var r=n(32735),a=n(23481),i=n(2948),o=n(20354),s=n(26025),c=n(38143),l=n(39151),u=n(54405),d=n(31949),m=n(93322),v=n(79612),f=n(63619),g=n(54948),p=n(9566),h=n(10447),y=n(14070),w=n(97291);function b(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 S=a.T.encloseNamespace("insights.interactiveInsightsOverviewView");function I(){var e,t,n,a,I,A,E=(I=(0,i.D)(c.g.ANONYMISE_USERS),A=1,function(e){if(Array.isArray(e))return e}(I)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],c=!0,l=!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)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return s}}(I,A)||function(e,t){if(e){if("string"==typeof e)return b(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)?b(e,t):void 0}}(I,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];(0,m.F)();var C=o.a.useBasicFetch(d.N.currentUser()),k=o.a.useBasicFetch(l.L.config()),N=o.a.useBasicFetch(u.X.interactiveMetadata()),M=o.a.useBasicFetch(u.X.interactive()),j=s.B.getAudienceAppLinkParams(),O=s.B.getDateRangeAppLinkParams(),U=o.a.useBasicFetch(u.X.interactiveResults()),x=o.a.useBasicFetch(u.X.aggregateHeatmap()),R=o.a.useBasicFetch(u.X.videoViews());(0,v.M)({title:N.data?S("pageTitle",{video:null===(e=N.data)||void 0===e?void 0:e.name}):null});var T=C.data&&k.data&&N.data&&M.data&&U.data&&x.data&&!!R.data,D=Object.assign(Object.assign({},j),O),_=function(e,t){return{resultsAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_STUDENTS_DEMO,args:[""],params:t},questionsAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_QUESTIONS_DEMO,args:[""],params:t},heatmapAppLink:{application:w.O.MY_SHARES,action:y.e.MyShares.INTERACTIVE_HEATMAP_DEMO,args:[""],params:t}}}(0,D),H=Object.assign(Object.assign({},p.G6),{objectId:null===(t=N.data)||void 0===t?void 0:t.id});return r.createElement("div",{className:"px-3"},r.createElement(f.j,{video:N.data,tabs:(0,h.aq)(null===(n=N.data)||void 0===n?void 0:n.id,"insights",D),dateRangeAppLinkParams:O,share:H,yearGroups:[],markingRequired:!0,isDemo:!0}),r.createElement(g.m,{aggregateEngagement:x.data,interactive:M.data,interactiveMetadata:N.data,classroomStudents:null,results:U.data,osCount:null===(a=R.data)||void 0===a?void 0:a.osCount,config:k.data,interactiveInsightsAppLinks:_,anonymiseUsers:E,hasDataLoaded:T,share:H}))}},26521:(e,t,n)=>{n.d(t,{Z:()=>r});const r={removeRecipient:"mCbMC",recipientItem:"kdcb0",showSpinner:"xH6Mu",avatarContainer:"Zcpg3",recipientDetails:"v5EmV",recipientDetailsWithRemoveButton:"_V928"}}}]);
2
+ //# sourceMappingURL=4630-4a35ecbf2b-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/4630-4a35ecbf2b-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/components/engagement-heat-map/engagement-heat-map.scss","file:///app/packages/libs/shared/src/apps/analytics/components/engagement-heat-map/EngagementHeatMap.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insight-card/insight-card.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insight-card/InsightCard.tsx","file:///app/packages/libs/shared/src/apps/analytics/constants/ChartStyles.ts","file:///app/packages/libs/shared/src/apps/analytics/utils/EngagementUtils.ts","file:///app/packages/libs/shared/src/apps/analytics/utils/InteractiveUtils.ts","file:///app/packages/libs/shared/src/apps/share/components/recipient-item/user-recipient-item-metadata/UserRecipientItemMetadata.tsx","file:///app/packages/libs/shared/src/enums/InteractionCorrectness.ts","file:///app/packages/libs/shared/src/enums/InteractiveAnswerStatus.ts","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/libs/shared/src/utils/InteractiveCorrectnessHelper.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoView.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoUtils.ts","file:///app/packages/libs/shared/src/apps/share/components/recipient-item/recipient-item.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"heatMap\":\"epapa\",\"legend\":\"uhH4p\"};","import React from 'react';\nimport chroma from 'chroma-js';\n\nimport { getFullHeatMap } from 'libs/shared/apps/analytics/utils/EngagementUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Engagement } from 'libs/shared/interfaces';\n\nimport styles from './engagement-heat-map.scss';\n\nconst namespace = 'shared.engagementHeatMap';\n\nconst ZERO_COLOUR = '#f1f1f1';\nconst MIN_COLOUR = '#daf07d';\nconst MAX_COLOUR = '#08bd1a';\n\nconst COLOUR_SCALE = chroma.scale([ MIN_COLOUR, MAX_COLOUR ]);\n\nconst LEGEND_VALUES = [ 0, 0.01, 0.25, 0.5, 0.75, 1 ];\n\nfunction getBackgroundColor(value: number, max: number): string {\n if (!value)\n return ZERO_COLOUR;\n\n return COLOUR_SCALE(value / max).hex();\n}\n\nfunction getGradient(data: number[], max: number): string {\n const gradient: string[] = [];\n\n for (let i = 0; i < data.length; i++) {\n const previousValue = i > 0 && data[i - 1];\n const currentValue = data[i];\n const nextValue = i < data.length - 1 && data[i + 1];\n\n /**\n * We want to capture colour changes but if a value has the same value\n * of both of its neighbours, we can skip it.\n */\n if (currentValue === previousValue && currentValue === nextValue)\n continue;\n\n gradient.push(`${getBackgroundColor(currentValue, max)} ${100 / data.length * i}%`);\n }\n\n return `linear-gradient(to right, ${gradient.join(',')})`;\n}\n\nexport function EngagementHeatMapLegend(): JSX.Element {\n const max = Math.max(...LEGEND_VALUES);\n const legendSquareWidthPercentage = 100 / LEGEND_VALUES.length;\n\n return (\n <div className='d-flex justify-content-between w-100'>\n <Text namespace={namespace} phrase='less' />\n <div className={`d-flex mx-1 flex-grow-1 ${styles.legend}`}>\n {LEGEND_VALUES.map((val, idx) => (\n <div\n key={idx}\n style={{\n width: `${legendSquareWidthPercentage}%`,\n backgroundColor: getBackgroundColor(val, max)\n }}\n />\n ))}\n </div>\n <Text namespace={namespace} phrase='more' />\n </div>\n );\n}\n\ninterface EngagementHeatMapProps {\n engagement: Engagement;\n max?: number;\n className?: string;\n}\n\nexport function EngagementHeatMap(props: EngagementHeatMapProps): JSX.Element {\n const heatMap = getFullHeatMap(props.engagement);\n const max = props.max ?? Math.max(...heatMap);\n\n return (\n <div\n className={`border rounded ${styles.heatMap} ${props.className ?? ''}`}\n style={{\n background: getGradient(heatMap, max)\n }}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"icon\":\"sAmpy\",\"count\":\"faDs4\"};","import React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\n\nimport styles from './insight-card.scss';\n\ninterface InsightCardProps extends React.PropsWithChildren {\n svgName: string;\n svgClassName: string;\n title: string;\n subtitle?: string;\n count?: number;\n}\n\nexport function InsightCard(props: InsightCardProps) {\n return (\n <section className='d-flex flex-column border rounded p-3 h-100'>\n <div className={`d-flex ${props.subtitle ? 'align-items-top' : 'align-items-center'} mb-2`}>\n <div className={`${styles.icon} ${props.svgClassName} rounded-circle d-flex justify-content-center align-items-center`}>\n <SvgContainer svgName={props.svgName} size={SvgContainerSize.Small} />\n </div>\n <div className='d-flex flex-column ms-2'>\n <h2 className='h6 mb-0'>{props.title}</h2>\n </div>\n {typeof props.count === 'number' && (\n <div className={`${styles.count} d-flex justify-content-center align-items-center bg-light rounded-circle ms-auto`}>\n {props.count}\n </div>\n )}\n </div>\n {props.children}\n </section>\n );\n}","export const CHART_FONT_STYLES = {\n fontSize: '12px',\n fontFamily: `\"Inter\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"`,\n fontWeight: '400',\n color: '#313543'\n};","import { Engagement } from 'libs/shared/interfaces';\n\n/**\n * The heat map in the API response won't contain trailing zeros so we need to add those\n * in manually.\n */\nexport function getFullHeatMap(engagement: Engagement): number[] {\n const videoDuration = engagement.videoDuration || 0;\n \n return (new Array(Math.ceil(videoDuration))).fill(null).map((t, idx) => engagement?.heatMap[idx] || 0);\n}\n\nexport function getEngagementRate(engagement: Engagement[]): number {\n return engagement?.reduce((prev, next) => prev + next.engagementRate / engagement.length, 0);\n}","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { MarkedAnswerHash } from 'libs/shared/apps/analytics/hooks/UseMarkAnswers';\nimport { ResultsSummary } from 'libs/shared/apps/analytics/interfaces/ResultsSummary';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { ScoreThresholdDefaults, ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\nimport { InteractionCorrectness } from 'libs/shared/enums/InteractionCorrectness';\nimport { InteractiveAnswerStatus } from 'libs/shared/enums/InteractiveAnswerStatus';\nimport { Interaction, StudentAnswer, StudentResults } from 'libs/shared/interfaces';\nimport { Interactive, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { InteractiveCorrectnessHelper } from 'libs/shared/utils/InteractiveCorrectnessHelper';\nimport { flattenInteractions, getInteractions, getStudentAttempt, getStudentResult } from 'libs/shared/utils/InteractiveHelper';\n\ninterface StudentGroups {\n markingRequired: StudentResultsWithSummary[];\n lowScore: StudentResultsWithSummary[];\n highScore: StudentResultsWithSummary[];\n completed: StudentResultsWithSummary[];\n notCompleted: StudentResultsWithSummary[];\n}\n\nexport function groupStudents(\n interactive: Interactive,\n results: InteractiveResultSet,\n scoreThreshold?: ScoreThresholds\n): StudentGroups {\n const groups: StudentGroups = {\n markingRequired: [],\n lowScore: [],\n highScore: [],\n completed: [],\n notCompleted: []\n };\n\n const interactions = getInteractions(interactive);\n const interactionIds = new Set(interactions.map(i => i.id));\n \n results.students.forEach(s => {\n const withSummary = {\n ...s,\n summary: getStudentResultsSummary(interactive, s)\n };\n \n if (withSummary.summary.awaitingMarking) {\n groups.markingRequired.push(withSummary);\n return;\n }\n\n const result = ArrayHelper.last(s.results);\n const answeredInteractions = result.attempts.filter(a => !!interactionIds.has(a?.answers[0]?.questionId)).length;\n\n if (answeredInteractions === interactionIds.size) {\n groups.completed.push(withSummary);\n } else {\n groups.notCompleted.push(withSummary);\n return;\n }\n \n if (withSummary.summary.percentCorrect >= (scoreThreshold?.HIGH || ScoreThresholdDefaults.HIGH))\n groups.highScore.push(withSummary);\n \n if (withSummary.summary.percentCorrect < (scoreThreshold?.MODERATE || ScoreThresholdDefaults.MODERATE))\n groups.lowScore.push(withSummary);\n });\n \n const sortedLowScore = ArrayHelper.sortBy(groups.lowScore, s => s.summary.percentCorrect);\n const sortedHighScore = ArrayHelper.sortBy(groups.highScore, s => -s.summary.percentCorrect);\n \n return {\n ...groups,\n lowScore: sortedLowScore,\n highScore: sortedHighScore\n };\n}\n\nexport function getInteractionById(interactive: Interactive, interactionId: string): Interaction {\n const flattenedInteractions = flattenInteractions(interactive);\n return flattenedInteractions.find(i => i.id.toString() === interactionId.toString());\n}\n\n/**\n * We need to use the question and result ids as a list of one student's responses\n * to multiple questions will all have the same result id and a list of multiple\n * students responses to one question will all have the same questionId.\n */\nexport function getMarkedAnswerId(answer: StudentAnswer): string {\n return `${answer.questionId}:${answer.resultId}`;\n}\n\nexport function getMarkedStatus(\n interactionId: string,\n studentResults: StudentResults,\n markedAnswers: MarkedAnswerHash\n): InteractiveAnswerStatus {\n const result = getStudentResult(studentResults);\n const studentResponse = getStudentAttempt(interactionId, result);\n\n const isMarkedCorrect = studentResponse?.answers.every(a => {\n return markedAnswers[getMarkedAnswerId(a)]?.status === InteractiveAnswerStatus.Correct;\n });\n\n if (isMarkedCorrect)\n return InteractiveAnswerStatus.Correct;\n\n const isMarkedIncorrect = studentResponse?.answers.every(a => {\n return markedAnswers[getMarkedAnswerId(a)]?.status === InteractiveAnswerStatus.Incorrect;\n });\n\n if (isMarkedIncorrect)\n return InteractiveAnswerStatus.Incorrect;\n}\n\nexport function getInteractionResultsSummary(\n interaction: Interaction,\n results: InteractiveResultSet\n): ResultsSummary {\n const numStudents = results.students.length;\n let numCorrect = 0;\n let answered = 0;\n let unanswered = 0;\n let awaitingMarking = 0;\n let attempts = 0;\n\n results.students.forEach(s => {\n const result = getStudentResult(s);\n\n if (!result)\n return;\n\n attempts = attempts + s.results.length;\n\n const correctness = InteractiveCorrectnessHelper.isInteractionCorrect(interaction, result);\n\n if (correctness === InteractionCorrectness.Correct)\n numCorrect++;\n\n if (correctness === InteractionCorrectness.UnAnswered)\n unanswered++;\n\n if (correctness === InteractionCorrectness.AwaitingMarking)\n awaitingMarking++;\n\n if (correctness !== InteractionCorrectness.UnAnswered)\n answered++;\n });\n\n\n const percentCorrect = numStudents > 0\n ? numCorrect / numStudents\n : 0;\n\n return {\n percentCorrect,\n correct: numCorrect,\n answered,\n unanswered,\n awaitingMarking,\n attempts\n };\n}\n\nexport function getStudentResultsSummary(interactive: Interactive, studentResults: StudentResults): ResultsSummary {\n const result = getStudentResult(studentResults);\n\n const interactions = getInteractions(interactive);\n\n const numInteractions = interactions.length;\n\n let numCorrect = 0;\n let awaitingMarking = 0;\n\n interactions.forEach(i => {\n const correctness = InteractiveCorrectnessHelper.isInteractionCorrect(i, result);\n\n if (correctness === InteractionCorrectness.Correct)\n numCorrect++;\n\n if (correctness === InteractionCorrectness.AwaitingMarking)\n awaitingMarking++;\n });\n\n const percentCorrect = numInteractions > 0 ? numCorrect / numInteractions : 0;\n\n /**\n * Our interactions list has images and annotations filtered out.\n * We built a map of valid questions, so that we can calculate the unswered accurately.\n * We're doing this because of a bug that caused annotations and images to record answers in the player.\n * - Sha\n */\n const interactionIds = new Set(interactions.map(i => i.id));\n const answeredInteractions = result.attempts.filter(a => !!interactionIds.has(a?.answers[0]?.questionId)).length;\n\n return {\n answered: answeredInteractions,\n attempts: studentResults.results.length,\n unanswered: numInteractions - answeredInteractions,\n percentCorrect,\n correct: numCorrect,\n awaitingMarking\n };\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { anonymiseUserName } from 'libs/shared/apps/analytics/utils/AnonymiseUserUtils';\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { UserRole } from 'libs/shared/enums/UserRole';\nimport { BaseObject, User } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport styles from '../recipient-item.scss';\n\nconst namespace = 'shared.userRecipientItemMetadata';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getSubText(user: User): string {\n const userType = UserHelper.getUserType(user);\n const role = UserHelper.getUserRole(user);\n\n if (userType === UserGroup.Staff) {\n if (role === UserRole.Admin)\n return getPhrase('admin');\n\n return getPhrase('staff');\n }\n\n const yearGroup = UserHelper.getYearGroup(user);\n \n /**\n * Tertiary puts all students into a single group called 'Learners'.\n * When a student is in the 'Learners' group, we don't want to display the group name,\n * but instead we want to just show \"Student\". - Sha\n */\n if (yearGroup?.name && yearGroup.name !== 'Learners')\n return yearGroup.name;\n\n return getPhrase('student');\n}\n\nfunction getUserProps({\n user, anonymiseUsers, showDisplayName\n}: {\n user: AnonUser,\n showDisplayName: boolean;\n anonymiseUsers?: boolean;\n}) {\n if (user.sessionId) {\n const anonName = anonymiseUserName(user, anonymiseUsers);\n const nameParts = anonName.split(' ').filter(n => !!n);\n\n return {\n name: anonName,\n surname: nameParts.slice(1).join(' '),\n avatarUrl: null\n };\n }\n\n return {\n name: anonymiseUsers\n ? anonymiseUserName(user, true)\n : showDisplayName\n ? UserHelper.getDisplayName(user)\n : UserHelper.getFullName(user),\n surname: user.surname,\n avatarUrl: user.avatar?.url\n };\n}\n\nUserRecipientItemMetadata.defaults = {\n showSubText: true\n};\n\ninterface UserRecipientItemMetadataProps {\n user: AnonUser;\n imageCdnUrl: string;\n detailsClassName?: string;\n avatarClassName?: string;\n showDisplayName: boolean;\n nameClassName?: string;\n showSubText?: boolean;\n anonymiseUsers?: boolean;\n getSubText?: (user: BaseObject) => string;\n}\n\nexport function UserRecipientItemMetadata(props: UserRecipientItemMetadataProps): JSX.Element {\n const { name, surname, avatarUrl } = getUserProps(props);\n\n return (\n <>\n <div className={`${styles.avatarContainer} ${props.avatarClassName} d-inline-block flex-shrink-0`}>\n <Avatar\n imageUrl={avatarUrl}\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(name, surname)}\n showAnonymousUser={!props.anonymiseUsers && !!props.user.sessionId}\n anonymiseUsers={props.anonymiseUsers}\n anonymousSvgSize={SvgContainerSize.Small}\n />\n </div>\n\n <div className={props.detailsClassName}>\n <h4 className={classNames('font-size-normal fw-normal m-0', props.nameClassName)}>\n {name}\n </h4>\n {props.showSubText && `id` in props.user && <p className='text-secondary m-0'>{props.getSubText ? props.getSubText(props.user) : getSubText(props.user)}</p>}\n </div>\n </>\n );\n}","export enum InteractionCorrectness {\n Correct,\n Incorrect,\n AwaitingMarking,\n \n Answered,\n UnAnswered,\n NotApplicable\n}","export enum InteractiveAnswerStatus {\n Incorrect = 0,\n Correct = 1,\n PendingReview = 2\n}","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","import { InteractionCorrectness } from 'libs/shared/enums/InteractionCorrectness';\nimport { InteractiveAnswerStatus } from 'libs/shared/enums/InteractiveAnswerStatus';\nimport { Interaction, InteractionTypeId, InteractiveResult, StudentAnswer } from 'libs/shared/interfaces';\n\ntype GetStudentAnswerByActionableItemId = (id: string) => string;\n\nfunction notApplicable(): InteractionCorrectness {\n return InteractionCorrectness.NotApplicable;\n}\n\nfunction awaitingMarking(): InteractionCorrectness {\n return InteractionCorrectness.AwaitingMarking;\n}\n\nfunction isMissingWordCorrect(\n interaction: Interaction,\n getStudentAnswer: GetStudentAnswerByActionableItemId\n): InteractionCorrectness {\n const items = interaction.actionableItems.filter(a => a\n .isCorrect);\n\n if (items.every(a => !getStudentAnswer(a.id)))\n return InteractionCorrectness.UnAnswered;\n\n const correct = items.every(a => a.name.trim().toLowerCase() === getStudentAnswer(a.id)?.trim().toLowerCase());\n return correct ? InteractionCorrectness.Correct : InteractionCorrectness.Incorrect;\n}\n\nfunction isMultipleChoiceCorrect(\n interaction: Interaction,\n getStudentAnswer: GetStudentAnswerByActionableItemId\n): InteractionCorrectness {\n if (interaction.actionableItems.every(a => !getStudentAnswer(a.id)))\n return InteractionCorrectness.UnAnswered;\n \n const correctItems = interaction.actionableItems.filter(a => a.isCorrect);\n\n const correct = correctItems.every(a => {\n const studentAnswer = getStudentAnswer(a.id);\n\n /**\n * In the past we've only ever checked the answer name. But since we introduced the ability to have image interactions\n * with no question text, we've need to swap to saving the id. But past submissions still have the name\n * - Sha\n */\n return studentAnswer?.toString() === a.id?.toString() || studentAnswer === a.name;\n });\n return correct ? InteractionCorrectness.Correct : InteractionCorrectness.Incorrect;\n}\n\nfunction isMarkableAnswerMarkedCorrect(\n interaction: Interaction,\n getStudentAnswer: (id: string) => StudentAnswer\n): InteractionCorrectness {\n let correctness: InteractionCorrectness;\n\n // There should only be one actionableItem\n interaction.actionableItems.forEach(item => {\n const studentAnswer = getStudentAnswer(item.id);\n\n if (!studentAnswer) {\n correctness = InteractionCorrectness.UnAnswered;\n return;\n }\n\n if (studentAnswer.status === InteractiveAnswerStatus.Correct) {\n correctness = InteractionCorrectness.Correct;\n return;\n }\n\n if (studentAnswer.status === InteractiveAnswerStatus.Incorrect) {\n correctness = InteractionCorrectness.Incorrect;\n return;\n }\n\n correctness = InteractionCorrectness.AwaitingMarking;\n });\n\n return correctness;\n}\n\ntype IsCorrectFunction = (interaction: Interaction, result: InteractiveResult) => InteractionCorrectness;\n\nfunction getGetStudentAnswer(interaction: Interaction, result: InteractiveResult): (id: string) => StudentAnswer {\n return (id: string) => {\n const attempt = result?.attempts.find(a => a.id === interaction.id);\n return attempt?.answers.find(s => s.id === id);\n };\n}\n\nfunction wrapIsMissingWordCorrect(interaction: Interaction, result: InteractiveResult): InteractionCorrectness {\n const getStudentAnswer = getGetStudentAnswer(interaction, result);\n\n return isMissingWordCorrect(interaction, (id: string) => {\n const answer = getStudentAnswer(id);\n return answer?.text;\n });\n}\n\nfunction wrapIsMultipleChoiceCorrect(interaction: Interaction, result: InteractiveResult): InteractionCorrectness {\n const getStudentAnswer = getGetStudentAnswer(interaction, result);\n\n return isMultipleChoiceCorrect(interaction, (id: string) => {\n const answer = getStudentAnswer(id);\n return answer?.text;\n });\n}\n\nfunction wrapIsMarkableAnswerMarkedCorrect(\n interaction: Interaction,\n result: InteractiveResult\n): InteractionCorrectness {\n const getStudentAnswer = getGetStudentAnswer(interaction, result);\n return isMarkableAnswerMarkedCorrect(interaction, getStudentAnswer);\n}\n\nconst IsCorrectLookup: {[typeId: number]: IsCorrectFunction} = {\n [InteractionTypeId.Annotation]: notApplicable,\n [InteractionTypeId.Image]: notApplicable,\n [InteractionTypeId.MissingWord]: wrapIsMissingWordCorrect,\n [InteractionTypeId.MultipleChoice]: wrapIsMultipleChoiceCorrect,\n [InteractionTypeId.ShortAnswer]: wrapIsMarkableAnswerMarkedCorrect,\n [InteractionTypeId.TrueOrFalse]: wrapIsMultipleChoiceCorrect,\n [InteractionTypeId.Illustration]: wrapIsMarkableAnswerMarkedCorrect\n};\n\nfunction isInteractionCorrect(interaction: Interaction, result: InteractiveResult): InteractionCorrectness {\n const isCorrectFn = IsCorrectLookup[interaction.typeId];\n\n return isCorrectFn(interaction, result);\n}\n\nexport const InteractiveCorrectnessHelper = {\n notApplicable,\n awaitingMarking,\n isMissingWordCorrect,\n isMultipleChoiceCorrect,\n isInteractionCorrect\n};\n","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: Share = {\n type: ShareType.Link,\n privacy: SharePrivacy.JustMySchool,\n objectId: '0',\n objectTypeId: MasterType.Interactive,\n viewCount: 28,\n accessCount: 15,\n dateCreated: new Date().toISOString(),\n expireDate: null,\n link: {\n shortenedEmbedUrl: '',\n shortenedUrl: ''\n },\n shareId: '0',\n ownerCustomerId: 0,\n ownerId: 0,\n recipients: [],\n options: {\n preventScrubbing: false,\n immediateFeedback: false\n }\n};\n\nexport const DEMO_INSIGHTS_SHARE_TABLE_DATA: MySharesTableData = {\n share: DEMO_INSIGHTS_SHARE,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString()\n};\n\nconst DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { BaseAnalyticsEventResponse } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Engagement, Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InteractiveInsightsOverview } from 'apps/my-shares/components/interactive-insights-overview/InteractiveInsightsOverview';\nimport { DEMO_INSIGHTS_SHARE } from 'apps/my-shares/constants/MySharesDemoInsights';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\nimport { getInteractiveInsightsAppLinks } from 'apps/my-shares/views/demo/overview/InteractiveInsightsOverviewDemoUtils';\n\nconst namespace = 'insights.interactiveInsightsOverviewView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function InteractiveInsightsOverviewDemoView() {\n const [anonymiseUsers] = useViewModel<boolean>(SharedViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\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 InsightsDemoRequests.interactiveMetadata()\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(InsightsDemoRequests.interactive());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const results = Flight.useBasicFetch<InteractiveResultSet>(InsightsDemoRequests.interactiveResults());\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n InsightsDemoRequests.aggregateHeatmap()\n );\n\n const videoViews = Flight.useBasicFetch<BaseAnalyticsEventResponse>(\n InsightsDemoRequests.videoViews()\n );\n\n useSetPageMetadata({ title: interactiveMetadata.data ? getPhrase('pageTitle', { video: interactiveMetadata.data?.name }) : null });\n\n const hasDataLoaded =\n currentUser.data &&\n config.data &&\n interactiveMetadata.data &&\n interactive.data &&\n results.data &&\n aggregateEngagement.data &&\n !!videoViews.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n const interactiveInsightsAppLinks = getInteractiveInsightsAppLinks(\n '',\n params\n );\n\n const share = {\n ...DEMO_INSIGHTS_SHARE,\n objectId: interactiveMetadata.data?.id\n };\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={interactiveMetadata.data}\n tabs={getInsightsDemoInteractiveTabs(interactiveMetadata.data?.id, 'insights', params)}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n share={share}\n yearGroups={[]}\n markingRequired\n isDemo\n />\n\n <InteractiveInsightsOverview\n aggregateEngagement={aggregateEngagement.data}\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n classroomStudents={null}\n results={results.data}\n osCount={videoViews.data?.osCount}\n config={config.data}\n interactiveInsightsAppLinks={interactiveInsightsAppLinks}\n anonymiseUsers={anonymiseUsers}\n hasDataLoaded={hasDataLoaded}\n share={share}\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.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_STUDENTS_DEMO,\n args: [id],\n params\n },\n questionsAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_QUESTIONS_DEMO,\n args: [id],\n params\n },\n heatmapAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_HEATMAP_DEMO,\n args: [id],\n params\n }\n };\n}","// extracted by mini-css-extract-plugin\nexport default {\"removeRecipient\":\"mCbMC\",\"recipientItem\":\"kdcb0\",\"showSpinner\":\"xH6Mu\",\"avatarContainer\":\"Zcpg3\",\"recipientDetails\":\"v5EmV\",\"recipientDetailsWithRemoveButton\":\"_V928\"};"],"names":["namespace","ZERO_COLOUR","COLOUR_SCALE","LEGEND_VALUES","getBackgroundColor","value","max","hex","getGradient","data","gradient","i","length","previousValue","currentValue","nextValue","push","join","EngagementHeatMapLegend","Math","legendSquareWidthPercentage","className","Text","phrase","map","val","idx","key","style","width","backgroundColor","EngagementHeatMap","props","heatMap","engagement","background","InsightCard","subtitle","svgClassName","SvgContainer","svgName","size","S","title","count","children","CHART_FONT_STYLES","fontSize","fontFamily","fontWeight","color","getFullHeatMap","videoDuration","Array","ceil","fill","t","getEngagementRate","reduce","prev","next","engagementRate","groupStudents","interactive","results","scoreThreshold","groups","markingRequired","lowScore","highScore","completed","notCompleted","interactions","interactionIds","Set","id","students","forEach","s","withSummary","summary","getStudentResultsSummary","awaitingMarking","attempts","filter","a","has","answers","questionId","percentCorrect","HIGH","MODERATE","sortedLowScore","sortedHighScore","getInteractionById","interactionId","find","toString","getMarkedAnswerId","answer","resultId","getMarkedStatus","studentResults","markedAnswers","result","studentResponse","every","status","getInteractionResultsSummary","interaction","numStudents","numCorrect","answered","unanswered","correctness","correct","numInteractions","answeredInteractions","getPhrase","UserRecipientItemMetadata","user","anonymiseUsers","showDisplayName","sessionId","anonName","nameParts","split","n","name","surname","slice","avatarUrl","avatar","url","getUserProps","avatarClassName","imageUrl","imageCdnUrl","initials","showAnonymousUser","anonymousSvgSize","detailsClassName","nameClassName","showSubText","getSubText","userType","role","yearGroup","defaults","InteractionCorrectness","InteractiveAnswerStatus","InsightsDemoRequests","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","notApplicable","isMissingWordCorrect","getStudentAnswer","items","actionableItems","isCorrect","trim","toLowerCase","isMultipleChoiceCorrect","studentAnswer","getGetStudentAnswer","attempt","wrapIsMultipleChoiceCorrect","text","wrapIsMarkableAnswerMarkedCorrect","item","isMarkableAnswerMarkedCorrect","IsCorrectLookup","InteractiveCorrectnessHelper","isInteractionCorrect","isCorrectFn","typeId","DEMO_INSIGHTS_SHARE","type","privacy","objectId","objectTypeId","viewCount","accessCount","dateCreated","Date","toISOString","expireDate","link","shortenedEmbedUrl","shortenedUrl","shareId","ownerCustomerId","ownerId","recipients","options","preventScrubbing","immediateFeedback","DEMO_INSIGHTS_SHARE_TABLE_DATA","share","sharedObject","shareRecipients","dateShared","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_ACTION","label","appLink","group","LanguageService","InteractiveInsightsOverviewDemoView","SharedViewModelKeys","useLockContentWidth","currentUser","UserRequests","config","ConfigRequests","audienceAppLinkParams","dateRangeAppLinkParams","aggregateEngagement","useSetPageMetadata","video","hasDataLoaded","params","interactiveInsightsAppLinks","resultsAppLink","args","questionsAppLink","heatmapAppLink","getInteractiveInsightsAppLinks","InsightsHeader","tabs","yearGroups","isDemo","InteractiveInsightsOverview","classroomStudents","osCount"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6475],{1619:(e,t,a)=>{a.d(t,{e:()=>g});var n=a(32735),r=a(23481),s=a(31453),l=a(12528),i=a(83914),o=a(35223),c=a(33518),m=a(2510);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 p(e,t,a){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 a=t.call(e,"string");if("object"!=u(a))return a;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:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var d=r.T.encloseNamespace("sharev2.shareAvatar"),h=p(p(p(p(p({},m.y.Open,o.vn.Classrooms),m.y.Link,o.vn.Link),m.y.Classroom,o.vn.Classrooms),m.y.Live,o.vn.Play),m.y.LegacyDirect,o.vn.Share),v=p(p(p(p(p({},m.y.Open,"blue"),m.y.Link,"black"),m.y.Classroom,"teal"),m.y.Live,"purple"),m.y.LegacyDirect,"indigo"),y=p(p(p(p(p({},m.y.Open,"openShareType"),m.y.Link,"linkShareType"),m.y.Classroom,"classroomShareType"),m.y.Live,"liveShareType"),m.y.LegacyDirect,"legacyDirectShareType");function g(e){var t,a;return n.createElement("div",{className:(0,s.A)("d-flex align-items-center gap-2",e.className)},n.createElement("div",null,n.createElement(l.f,{svgName:h[e.type],variant:v[e.type],textVariant:"white",svgWrapperClassName:"p-1",svgSize:null!==(t=e.svgSize)&&void 0!==t?t:i.S.Standard})),n.createElement("div",{className:"d-flex flex-column"},n.createElement("p",{className:"m-0"},function(e){var t=e.type,a=e.classroomName,n=e.additionalTitleText;if(t===m.y.Classroom&&a)return a;var r=d(y[t]);return n&&(r+=" "+n),r}(e)),!e.hideSubtitle&&n.createElement("span",{className:"text-secondary"},null!==(a=e.subtitleText)&&void 0!==a?a:function(e){var t=e.type,a=e.privacy,n=e.studentCount,r=void 0===n?0:n,s=e.classroomGroupCount,l=void 0===s?0:s;switch(t){case m.y.Classroom:return function(e,t){return e&&t?"".concat(d("classroomGroupCount",{smartCount:e}),", ").concat(d("studentSubTitle",{smartCount:t})):e?d("groupSubTitle",{smartCount:e}):t?d("studentSubTitle",{smartCount:t}):d("allStudentsSubTitle")}(l,r);case m.y.Open:return d("openShareTypeSubTitle");case m.y.Link:return function(e){return[c.e.JustMySchool,c.e.Protected].includes(e)?d("respectRatingsSubTitle"):e===c.e.JustMySchoolOverrideRestriction?d("anyoneInSchoolSubTitle"):e===c.e.ProtectedOverrideRestriction?d("anyoneSignedInSubTitle"):e===c.e.Public?d("anyoneWithLinkSubTitle"):e===c.e.PinCode?d("anyoneWithPinSubTitle"):void 0}(a);case m.y.Live:return d("liveShareTypeSubTitle");case m.y.LegacyDirect:return d("legacyDirectTypeSubTitle");default:return d("publicShareTypeSubTitle")}}(e))))}},41661:(e,t,a)=>{var n;a.d(t,{D:()=>n}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(n||(n={}))},40841:(e,t,a)=>{a.d(t,{_:()=>i});var n=a(23481),r=a(41661),s=a(65728),l=n.T.encloseNamespace("shared.shared-utils"),i={getShareIntegrations:function(e,t){return[{id:r.D.GoogleClassroom,name:l("googleClassroom"),enabled:e,settingName:s.E.ShareToGoogleClassroom},{id:r.D.MicrosoftTeams,name:l("msftTeams"),enabled:t,settingName:s.E.ShareToMicrosoftTeams}]}}},35690:(e,t,a)=>{a.d(t,{QD:()=>w,Qv:()=>k,__:()=>C});var n=a(32735),r=a(68050),s=a(69111),l=a(42648),i=a(82602),o=a(31453),c=a(1619),m=a(83345),u=a(4594),p="sharev2.shareViewCount";function d(e){return[u.E.Playlist,u.E.Series].includes(e.share.objectTypeId)?n.createElement("span",null,"-"):n.createElement(m.x,{namespace:p,phrase:"viewCount",options:{smartCount:e.share.viewCount||0}})}var h=a(2510),v=a(83914),y=a(35223);function g(e){return[u.E.Playlist,u.E.Series].includes(e.share.objectTypeId)?n.createElement("span",null,"-"):n.createElement("span",{className:"d-inline-flex flex-row gap-2 align-items-center"},n.createElement(v.x,{svgName:y.vn.User}),n.createElement("span",null,function(){var t=e.share.accessCount||0;if(e.share.type===h.y.Open)return"".concat(t);if(e.share.type===h.y.Classroom){var a=e.share.recipients.length;return"".concat(t,"/").concat(a)}return"".concat(t)}()))}var f=a(21789),E=a(15611),S=a(91693);const b={shareListItem:"vLROV",visibleOnHover:"o2KJH"};var x="assign.previousAssignments";function T(e){return n.createElement("div",{className:(0,o.A)("d-flex align-items-center justify-content-between",e.show&&"mb-3")},n.createElement("h3",{className:"h6 m-0 p-0"},n.createElement(m.x,{namespace:x,phrase:"heading",options:{count:e.count}})),n.createElement(S.h,{svgName:e.show?y.vn.ChevronUp:y.vn.ChevronDown,onClick:e.onToggle}))}function C(){var e="d-flex align-items-end justify-content-start fw-medium";return n.createElement(m.D.Provider,{value:x},n.createElement(r.Z,{className:"gx-2 px-3 mb-2"},n.createElement(s.Z,{xs:4,className:e},n.createElement(m.x,{phrase:"assignedTo"})),n.createElement(s.Z,{xs:2,className:e},n.createElement(m.x,{phrase:"views"})),n.createElement(s.Z,{xs:2,className:e},n.createElement(m.x,{phrase:"viewedBy"})),n.createElement(s.Z,{xs:4,className:e},n.createElement(m.x,{phrase:"dateCreated"}))))}function N(e){var t,a=f.x.getClassroomForShare(e.share,e.classrooms),l=null===(t=e.getItemAnalytics)||void 0===t?void 0:t.call(e,e.share);return n.createElement(E.F,{key:e.share.shareId,appLink:e.getItemAppLink(e.share),analyticsData:null==l?void 0:l.data,analyticsOptions:null==l?void 0:l.options,className:(0,o.A)("d-block p-3 hover-bg-light-blue border border-top-0 no-hover-text-underline",b.shareListItem,e.className)},n.createElement(r.Z,{className:"gx-2"},n.createElement(s.Z,{xs:4,className:"d-flex align-items-center"},n.createElement(c.e,{type:e.share.type,privacy:e.share.privacy,classroomName:null==a?void 0:a.name,svgSize:v.S.Small,hideSubtitle:!0})),n.createElement(s.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},n.createElement(d,{share:e.share})),n.createElement(s.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},n.createElement(g,{share:e.share})),n.createElement(s.Z,{xs:4,lg:3,className:"d-flex align-items-center justify-content-start"},n.createElement("span",null,(0,i.WU)(e.share.dateCreated))),n.createElement(s.Z,{lg:1,className:"align-items-center justify-content-end d-none d-lg-flex"},n.createElement("span",{className:(0,o.A)("cursor-pointer text-info hover-text-underline",b.visibleOnHover)},n.createElement(m.x,{namespace:x,phrase:"view"})))))}function k(e){var t;return n.createElement("div",{className:(0,o.A)("d-flex flex-column border-top rounded-top overflow-hidden")},n.createElement(l.ZP,{autoHeight:!0,autoHeightMin:0,autoHeightMax:null!==(t=e.scrollHeightMax)&&void 0!==t?t:215,autoHide:!0},e.assignments.map(function(t,a){return n.createElement(N,{share:t,classrooms:e.classrooms,getItemAppLink:e.getItemAppLink,getItemAnalytics:function(t){var n;return null===(n=e.getItemAnalytics)||void 0===n?void 0:n.call(e,t,a)},className:(0,o.A)(a%2==0&&"bg-gray-100"),key:t.shareId})})))}function w(e){if(!e.assignments.length)return n.createElement(n.Fragment,null);var t=e.show&&e.assignments.length>3;return n.createElement("div",{className:(0,o.A)("bg-white rounded-3 p-3",t&&"pb-0")},n.createElement(T,{count:e.assignments.length,onToggle:e.onToggle,show:e.show}),e.show&&n.createElement(n.Fragment,null,n.createElement(C,null),n.createElement(k,Object.assign({},e))))}},24578:(e,t,a)=>{a.r(t),a.d(t,{ShowAssignmentsView:()=>U});var n=a(32735),r=a(23481),s=a(20354),l=a(75896),i=a(110),o=a(18488),c=a(21789),m=a(9111),u=a(83914),p=a(83345),d=a(16714),h=a(22902),v=a(37802),y=a(70227),g=a(35223),f=a(14070),E=a(97291),S=a(86099),b=a(83351),x=a(35690),T=a(95890),C=a(40254),N=a(88630),k=a(23923),w=a(97958),L=a(99742),A="assign.sharesAndAssignmentsEmptyState",I=r.T.encloseNamespace(A);function j(e){return n.createElement(w.u,{className:"py-4"},n.createElement(w.u.Image,{size:"small",src:L.W.EmptyStates.Share.MY_SHARES}),n.createElement(w.u.Heading,null,n.createElement(p.x,{phrase:"title",namespace:A})),n.createElement(w.u.Info,null,n.createElement(p.x,{phrase:"description",namespace:A})),n.createElement(w.u.Cta,{icon:g.vn.Share,text:I("ctaAssign"),appLink:e.assignAppLink}),n.createElement(w.u.Cta,{className:"text-dark hover-text-underline mt-3 fw-medium",text:I("ctaShareLink"),appLink:e.shareLinkAppLink}))}var P="assign.sharesEmptyState",D=r.T.encloseNamespace(P);function O(e){return n.createElement(w.u,{className:"py-4"},n.createElement(w.u.Image,{size:"small",src:L.W.EmptyStates.Share.MY_SHARES}),n.createElement(w.u.Heading,null,n.createElement(p.x,{phrase:"title",namespace:P})),n.createElement(w.u.Info,null,n.createElement(p.x,{phrase:"description",namespace:P})),n.createElement(w.u.Cta,{icon:g.vn.Link,text:D("cta"),appLink:e.appLink}))}var _="assign.showAssignmentsView",H=r.T.encloseNamespace(_),M=400;function Z(e,t){if(e&&t)return i.O.isSame(e.dateCreated,t.dateCreated)?0:i.O.isAfter(e.dateCreated,t.dateCreated)?1:-1}function B(e){return n.createElement("a",{href:e.href,target:"_blank",className:"btn btn-link text-info"},n.createElement("span",{className:"pe-1"},n.createElement(p.x,{phrase:"viewInAnalytics",namespace:_})),n.createElement(u.x,{svgName:g.vn.NewWindow,size:u.S.Small}))}function F(e){return"assign-and-shares"===e.type?n.createElement(j,{assignAppLink:e.assignAppLink,shareLinkAppLink:e.shareAppLink}):n.createElement(O,{appLink:e.shareAppLink})}function U(e){var t,a,r,i=(0,T._)({objectId:e.objectId,entityType:e.entityType}),u=(0,h.T)().hasPermissions,p=(0,v.r)(null).hasShareFlowV2,g=(0,k.B)(),w=s.a.useBasicFetch(o.o.getSharesByObjectId(e.objectId)),L=(null===(t=w.data)||void 0===t?void 0:t.sort(Z))||[],A=l.m.uniq(L.map(c.x.getClassroomIdFromShare).filter(function(e){return!!e})),I=s.a.useBasicFetch(w.hasCompleted&&N.F.getClassroomsByIds(A,null===(a=i.currentUser.data)||void 0===a?void 0:a.customerId)),j=y.c.getObjectUrl(null===(r=i.config.data)||void 0===r?void 0:r.analyticsWebUrl,i.entity.data,p),P=u(d.C.ViewAnalyticsProduct)&&u(d.C.ViewCustomerAnalytics),D=p&&g?"shares":"assign-and-shares",O=i.loaded&&!!w.data&&!!I.data;return n.createElement(m.G,{size:"lg",title:H("title"),showLoadingSpinner:!O,closePopup:e.closePopup},!L.length&&n.createElement(F,{assignAppLink:C.W.flowSelector({entityType:e.entityType,objectId:e.objectId}),shareAppLink:{application:E.O.SHARE,action:f.e.Share.SHARE,args:[e.objectId],params:{entityType:e.entityType}},type:D}),!!L.length&&n.createElement(n.Fragment,null,n.createElement(x.__,null),n.createElement(x.Qv,{assignments:L.reverse(),classrooms:I.data,getItemAppLink:function(e){var t=(0,S.pY)(e);if(t)return t},scrollHeightMax:M})),n.createElement(b.P,{hideNextButton:!0,hideCreateClassroomButton:!0,onClickBack:e.closePopup,backButtonText:H("close"),leftComponent:!!j&&P&&n.createElement(B,{href:j})}))}},82602:(e,t,a)=>{a.d(t,{WU:()=>c});var n=["second","minute","hour","day","week","month","year"],r=["秒","分钟","小时","天","周","个月","年"],s={},l=function(e,t){s[e]=t},i=[60,60,24,7,365/7/12,12];function o(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var c=function(e,t,a){var n=function(e,t){return(+(t?o(t):new Date)-+o(e))/1e3}(e,a&&a.relativeDate);return function(e,t){for(var a=e<0?1:0,n=e=Math.abs(e),r=0;e>=i[r]&&r<i.length;r++)e/=i[r];return(e=Math.floor(e))>(0==(r*=2)?9:1)&&(r+=1),t(e,r,n)[a].replace("%s",e.toString())}(n,function(e){return s[e]||s.en_US}(t))};l("en_US",function(e,t){if(0===t)return["just now","right now"];var a=n[Math.floor(t/2)];return e>1&&(a+="s"),[e+" "+a+" ago","in "+e+" "+a]}),l("zh_CN",function(e,t){if(0===t)return["刚刚","片刻后"];var a=r[~~(t/2)];return[e+" "+a+"前",e+" "+a+"后"]})}}]);
2
+ //# sourceMappingURL=6475-f019242ec2-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6475-f019242ec2-lite.chunk.js","mappings":"i1BAYA,IACMA,EAAY,qBADA,uBAGZC,EAAQ,EAAH,WACR,SAAiB,iBACjB,SAAiB,WACjB,cAAsB,iBACtB,SAAiB,WACjB,iBAAyB,YAGtBC,EAAc,EAAH,WACd,SAAiB,QACjB,SAAiB,SACjB,cAAsB,QACtB,SAAiB,UACjB,iBAAyB,UAGtBC,EAA0B,EAAH,WAC1B,SAAiB,iBACjB,SAAiB,iBACjB,cAAsB,sBACtB,SAAiB,iBACjB,iBAAyB,yBAgFtB,SAAUC,EAAYC,G,QAC1B,OACE,uBAAKC,WAAW,OAAW,kCAAmCD,EAAMC,YAClE,2BACE,gBAAC,IAAU,CACTC,QAASN,EAAMI,EAAMG,MACrBC,QAASP,EAAYG,EAAMG,MAC3BE,YAAY,QACZC,oBAAoB,MACpBC,QAAsB,QAAb,EAAAP,EAAMO,eAAO,QAAI,EAAAC,EAAA,YAG9B,uBAAKP,UAAU,sBACb,qBAAGA,UAAU,OA1FrB,SAAkB,GAA8D,IAA5DE,EAAI,EAAJA,KAAMM,EAAa,EAAbA,cAAeC,EAAmB,EAAnBA,oBACvC,GAAIP,IAAS,eAAuBM,EAClC,OAAOA,EAET,IAAIE,EAAQhB,EAAUG,EAAwBK,IAK9C,OAHIO,IACFC,GAAS,IAAMD,GAEVC,CACT,CAgF4BC,CAASZ,KAC3BA,EAAMa,cAAgB,wBAAMZ,UAAU,kBAAoC,QAAlB,EAAAD,EAAMc,oBAAY,QAjDpF,SAAqB,GAA8E,IAA5EX,EAAI,EAAJA,KAAMY,EAAO,EAAPA,QAAO,IAAEC,aAAAA,OAAY,IAAG,IAAC,MAAEC,oBAAAA,OAAmB,IAAG,IAAC,EAC7E,OAAQd,GACN,KAAK,cACH,OAjCN,SAA8Bc,EAA6BD,GACzD,OAAIC,GAAuBD,EAClB,GAAP,OAAUrB,EAAU,sBAAuB,CAAEuB,WAAYD,IAAsB,aAAKtB,EAAU,kBAAmB,CAAEuB,WAAYF,KAE7HC,EACKtB,EAAU,gBAAiB,CAAEuB,WAAYD,IAE9CD,EACKrB,EAAU,kBAAmB,CAAEuB,WAAYF,IAE7CrB,EAAU,sBACnB,CAsBawB,CAAqBF,EAAqBD,GAEnD,KAAK,SACH,OAAOrB,EAAU,yBAEnB,KAAK,SACH,OA1BN,SAAyBoB,GACvB,MAAI,CAAE,iBAA2B,eAAyBK,SAASL,GAC1DpB,EAAU,0BAEfoB,IAAY,oCACPpB,EAAU,0BAEfoB,IAAY,iCACPpB,EAAU,0BAEfoB,IAAY,WACPpB,EAAU,0BAEfoB,IAAY,YACPpB,EAAU,8BADnB,CAEF,CAWa0B,CAAgBN,GAEzB,KAAK,SACH,OAAOpB,EAAU,yBAEnB,KAAK,iBACH,OAAOA,EAAU,4BAEnB,QACE,OAAOA,EAAU,2BAEvB,CA6BwF2B,CAAYtB,KAIpG,C,kBCtIA,IAAYuB,E,iBAAZ,SAAYA,GACV,qCACA,mCACA,cACA,oBACD,CALD,CAAYA,IAAAA,EAAa,I,wECOnB5B,EAAY,qBADA,uBAGL6B,EAAoB,CAC/BC,qBAAoB,SAACC,EAAiCC,GACpD,MAAO,CACL,CACEC,GAAI,oBACJC,KAAMlC,EAAU,mBAChBmC,QAASJ,EACTK,YAAa,4BAEf,CACEH,GAAI,mBACJC,KAAMlC,EAAU,aAChBmC,QAASH,EACTI,YAAa,2BAGnB,E,2JCnBIC,EAAY,yBAMZ,SAAUC,EAAejC,GAG7B,MAFqB,CAAEkC,EAAA,WAAqBA,EAAA,UAAoBd,SAASpB,EAAMmC,MAAMC,cAG5E,iCAEF,gBAACC,EAAA,EAAI,CAACL,UAAWA,EAAWM,OAAO,YAAYC,QAAS,CAAErB,WAAYlB,EAAMmC,MAAMK,WAAa,IACxG,C,oCCPM,SAAUC,EAAmBzC,GAGjC,MAFqB,CAAEkC,EAAA,WAAqBA,EAAA,UAAoBd,SAASpB,EAAMmC,MAAMC,cAG5E,iCAgBP,wBAAMnC,UAAU,mDACd,gBAACyC,EAAA,EAAY,CAACxC,QAAS,YACvB,4BAhBJ,WACE,IAAMyC,EAAmB3C,EAAMmC,MAAMS,aAAe,EACpD,GAAI5C,EAAMmC,MAAMhC,OAAS0C,EAAA,OACvB,MAAO,GAAP,OAAUF,GAEZ,GAAI3C,EAAMmC,MAAMhC,OAAS0C,EAAA,YAAqB,CAC5C,IAAMC,EAAkB9C,EAAMmC,MAAMY,WAAWC,OAC/C,MAAO,GAAP,OAAUL,EAAgB,YAAIG,EAC/B,CAED,MAAO,GAAP,OAAUH,EACZ,CAKWM,IAGb,C,qCCpCA,SAAgB,cAAgB,QAAQ,eAAiB,SCuBzD,IAAM,EAAY,6BAQlB,SAASC,EAA0BlD,GACjC,OACE,uBAAKC,WAAW,OAAW,oDAAqDD,EAAMmD,MAAQ,SAC5F,sBAAIlD,UAAU,cAAa,gBAACoC,EAAA,EAAI,CAACL,UAAW,EAAWM,OAAO,UAAUC,QAAS,CAAEa,MAAOpD,EAAMoD,UAChG,gBAACC,EAAA,EAAU,CACTnD,QAASF,EAAMmD,KAAO,eAAyB,iBAC/CG,QAAStD,EAAMuD,WAIvB,CAEM,SAAUC,IACd,IAAMC,EAAmB,yDAEzB,OACE,gBAAC,aAAiC,CAACC,MAAO,GACxC,gBAACC,EAAA,EAAG,CAAC1D,UAAU,kBACb,gBAAC2D,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAWwD,GACrB,gBAACpB,EAAA,EAAI,CAACC,OAAO,gBAEf,gBAACsB,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAWwD,GACrB,gBAACpB,EAAA,EAAI,CAACC,OAAO,WAEf,gBAACsB,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAWwD,GACrB,gBAACpB,EAAA,EAAI,CAACC,OAAO,cAEf,gBAACsB,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAWwD,GACrB,gBAACpB,EAAA,EAAI,CAACC,OAAO,kBAKvB,CAeA,SAASwB,EAA2B9D,G,MAC5B+D,EAAiBC,EAAA,uBAAiChE,EAAMmC,MAAOnC,EAAMiE,YAErEC,EAAkC,QAAtB,EAAAlE,EAAMmE,wBAAgB,sBAAGnE,EAAMmC,OAEjD,OACE,gBAACiC,EAAA,EAAO,CACNC,IAAKrE,EAAMmC,MAAMmC,QACjBC,QAASvE,EAAMwE,eAAexE,EAAMmC,OACpCsC,cAAeP,aAAS,EAATA,EAAWQ,KAC1BC,iBAAkBT,aAAS,EAATA,EAAW3B,QAC7BtC,WAAW,OAAW,8EAA+E,gBAAsBD,EAAMC,YAEjI,gBAAC0D,EAAA,EAAG,CAAC1D,UAAU,QACb,gBAAC2D,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAU,6BACpB,gBAACF,EAAA,EAAW,CACVI,KAAMH,EAAMmC,MAAMhC,KAClBY,QAASf,EAAMmC,MAAMpB,QACrBN,cAAesD,aAAc,EAAdA,EAAgBlC,KAC/BtB,QAASmC,EAAAlC,EAAA,MACTK,cAAY,KAGhB,gBAAC+C,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAU,mDACpB,gBAACgC,EAAc,CAACE,MAAOnC,EAAMmC,SAE/B,gBAACyB,EAAA,EAAG,CAACC,GAAI,EAAG5D,UAAU,mDACpB,gBAACwC,EAAkB,CAACN,MAAOnC,EAAMmC,SAEnC,gBAACyB,EAAA,EAAG,CAACC,GAAI,EAAGe,GAAI,EAAG3E,UAAU,mDAC3B,6BAAO,QAAWD,EAAMmC,MAAM0C,eAEhC,gBAACjB,EAAA,EAAG,CAACgB,GAAI,EAAG3E,UAAU,2DACpB,wBAAMA,WAAW,OAAW,gDAAiD,mBAC3E,gBAACoC,EAAA,EAAI,CAACL,UAAW,EAAWM,OAAO,YAM/C,CAUM,SAAUwC,EAAwB9E,G,MACtC,OACE,uBAAKC,WAAW,OACd,8DAEA,gBAAC,KAAU,CACT8E,YAAU,EACVC,cAAe,EACfC,cAAoC,QAArB,EAAAjF,EAAMkF,uBAAe,QAAI,IACxCC,UAAQ,GAEPnF,EAAMoF,YAAYC,IAAI,SAAClD,EAAOmD,GAAG,OAChC,gBAACxB,EAA0B,CACzB3B,MAAOA,EACP8B,WAAYjE,EAAMiE,WAClBO,eAAgBxE,EAAMwE,eACtBL,iBAAkB,SAAAhC,GAAQ,MAAC,OAAsB,QAAtB,EAAAnC,EAAMmE,wBAAgB,sBAAGhC,EAAOmD,EAAI,EAC/DrF,WAAW,OAAWqF,EAAM,GAAM,GAAK,eACvCjB,IAAKlC,EAAMmC,SACX,IAKZ,CAWM,SAAUiB,EAAoBvF,GAClC,IAAKA,EAAMoF,YAAYpC,OACrB,OAAO,iCAET,IAAMwC,EAAkBxF,EAAMmD,MAAQnD,EAAMoF,YAAYpC,OAAS,EAEjE,OACE,uBAAK/C,WAAW,OAAW,yBAA0BuF,GAAmB,SACtE,gBAACtC,EAAyB,CAACE,MAAOpD,EAAMoF,YAAYpC,OAAQO,SAAUvD,EAAMuD,SAAUJ,KAAMnD,EAAMmD,OACjGnD,EAAMmD,MACL,gCACE,gBAACK,EAA6B,MAC9B,gBAACsB,EAAuB,iBAAK9E,KAKvC,C,2VC3KMgC,EAAY,wCACZrC,EAAY8F,EAAA,mBAAiCzD,GAO7C,SAAU0D,EAA+B1F,GAC7C,OACE,gBAAC2F,EAAA,EAAU,CAAC1F,UAAU,QACpB,gBAAC0F,EAAA,QAAgB,CACfC,KAAK,QACLC,IAAKC,EAAA,gCAEP,gBAACH,EAAA,UAAkB,KAAC,gBAACtD,EAAA,EAAI,CAACC,OAAO,QAAQN,UAAWA,KACpD,gBAAC2D,EAAA,OAAe,KAAC,gBAACtD,EAAA,EAAI,CAACC,OAAO,cAAcN,UAAWA,KACvD,gBAAC2D,EAAA,MAAc,CACbI,KAAM,WACNC,KAAMrG,EAAU,aAChB4E,QAASvE,EAAMiG,gBAEjB,gBAACN,EAAA,MAAc,CACb1F,UAAU,gDACV+F,KAAMrG,EAAU,gBAChB4E,QAASvE,EAAMkG,mBAIvB,CC7BA,IAAM,EAAY,0BACZ,EAAYT,EAAA,mBAAiC,GAM7C,SAAUU,EAAiBnG,GAC/B,OACE,gBAAC2F,EAAA,EAAU,CAAC1F,UAAU,QACpB,gBAAC0F,EAAA,QAAgB,CACfC,KAAK,QACLC,IAAKC,EAAA,gCAEP,gBAACH,EAAA,UAAkB,KAAC,gBAACtD,EAAA,EAAI,CAACC,OAAO,QAAQN,UAAW,KACpD,gBAAC2D,EAAA,OAAe,KAAC,gBAACtD,EAAA,EAAI,CAACC,OAAO,cAAcN,UAAW,KACvD,gBAAC2D,EAAA,MAAc,CACbI,KAAM,UACNC,KAAM,EAAU,OAChBzB,QAASvE,EAAMuE,UAIvB,CCEA,IAAM,EAAY,6BACZ,EAAYkB,EAAA,mBAAiC,GAE7CW,EAAoB,IAE1B,SAASC,EAAkBC,EAAUC,GACnC,GAAKD,GAAMC,EAGX,OAAIC,EAAA,SAAkBF,EAAEzB,YAAa0B,EAAE1B,aAC9B,EAEL2B,EAAA,UAAmBF,EAAEzB,YAAa0B,EAAE1B,aAC/B,GAED,CACV,CAMA,SAAS4B,EAA4BzG,GACnC,OACE,qBAAG0G,KAAM1G,EAAM0G,KAAMC,OAAO,SAAS1G,UAAU,0BAC7C,wBAAMA,UAAU,QAAO,gBAACoC,EAAA,EAAI,CAACC,OAAO,kBAAkBN,UAAW,KACjE,gBAACU,EAAA,EAAY,CAACxC,QAAS,eAAwB0F,KAAMlD,EAAAlC,EAAA,QAG3D,CAQA,SAASoG,EAA0B5G,GACjC,MAAmB,sBAAfA,EAAMG,KAEN,gBAACuF,EAA8B,CAC7BO,cAAejG,EAAMiG,cACrBC,iBAAkBlG,EAAM6G,eAKvB,gBAACV,EAAgB,CAAC5B,QAASvE,EAAM6G,cAC1C,CAOM,SAAUC,EAAoB9G,G,UAC5B+G,GAAa,EAAAC,EAAA,GAAoB,CACrCC,SAAUjH,EAAMiH,SAChBC,WAAYlH,EAAMkH,aAGZC,GAAmB,EAAAC,EAAA,KAAnBD,eACAE,GAAmB,EAAAC,EAAA,GAAY,MAA/BD,eACFE,GAAa,EAAAC,EAAA,KAEbC,EAAiB,kBAA8BC,EAAA,sBAAkC1H,EAAMiH,WACvF7B,GAAiC,QAAnB,EAAAqC,EAAe/C,YAAI,eAAEiD,KAAKtB,KAAsB,GAC9DuB,EAAiCC,EAAA,OACrCzC,EAAYC,IAAIrB,EAAA,2BAAqC8D,OAAO,SAAAC,GAAC,QAAMA,CAAC,IAEhE9D,EAAa,kBACjBwD,EAAeO,cACbC,EAAA,qBAAqCL,EAA2D,QAA3B,EAAAb,EAAWmB,YAAYxD,YAAI,eAAEyD,aAWhGC,EAAeC,EAAA,eACG,QAAtB,EAAAtB,EAAWuB,OAAO5D,YAAI,eAAE6D,gBACxBxB,EAAWyB,OAAO9D,KAClB2C,GAGIoB,EACJtB,EAAeuB,EAAA,yBACfvB,EAAeuB,EAAA,yBAEXC,EAAkBtB,GAAkBE,EAAc,SAAW,oBAE7DqB,EAAS7B,EAAW6B,UAAYnB,EAAe/C,QAAUT,EAAWS,KAE1E,OACE,gBAACmE,EAAA,EAAK,CACJjD,KAAK,KACLjF,MAAO,EAAU,SACjBmI,oBAAqBF,EACrBG,WAAY/I,EAAM+I,aAEhB3D,EAAYpC,QACZ,gBAAC4D,EAAyB,CACxBX,cAAe+C,EAAA,eAAiC,CAAE9B,WAAYlH,EAAMkH,WAAYD,SAAUjH,EAAMiH,WAChGJ,aAAc,CACZoC,YAAa,UACbC,OAAQ,gBACRC,KAAM,CAACnJ,EAAMiH,UACbmC,OAAQ,CACNlC,WAAYlH,EAAMkH,aAGtB/G,KAAMwI,MAIPvD,EAAYpC,QACb,gCACE,gBAACuC,EAAA,GAA6B,MAC9B,gBAACA,EAAA,GAAuB,CACtBH,YAAaA,EAAYiE,UACzBpF,WAAYA,EAAWS,KACvBF,eAlDV,SAAwBrC,GACtB,IAAMoC,GAAU,QAA2BpC,GAC3C,GAAKoC,EAGL,OAAOA,CACT,EA6CUW,gBAAiBkB,KAIvB,gBAACkD,EAAA,EAAY,CACXC,gBAAc,EACdC,2BAAyB,EACzBC,YAAazJ,EAAM+I,WACnBW,eAAgB,EAAU,SAC1BC,gBAAiBvB,GAAgBK,GAA0B,gBAAChC,EAA2B,CAACC,KAAM0B,MAItG,C,oCC/KA,IAAIwB,EAAQ,CAAC,SAAU,SAAU,OAAQ,MAAO,OAAQ,QAAS,QCA7DC,EAAQ,CAAC,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KCO1CC,EAAU,CAAC,EAMJC,EAAW,SAAUC,EAAQC,GACpCH,EAAQE,GAAUC,CACtB,ECXIC,EAAY,CACZ,GACA,GACA,GACA,EACA,IAAM,EAAI,GACV,IAOG,SAASC,EAAOC,GACnB,OAAIA,aAAiBC,KACVD,GAENE,MAAMF,IAAU,QAAQG,KAAKH,GACvB,IAAIC,KAAKG,SAASJ,KAC7BA,GAASA,GAAS,IAEbK,OACAC,QAAQ,QAAS,IACjBA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,YAAa,SACrBA,QAAQ,IAAK,QACbA,QAAQ,qBAAsB,SAC5B,IAAIL,KAAKD,GACpB,CCzBO,IAAIO,EAAS,SAAUC,EAAMZ,EAAQa,GAExC,IAAIC,EDgFD,SAAiBF,EAAMG,GAE1B,SADcA,EAAeZ,EAAOY,GAAgB,IAAIV,OACpCF,EAAOS,IAAS,GACxC,CCnFc,CAAQA,EAAMC,GAAQA,EAAKE,cAErC,OD4BG,SAAoBC,EAAMC,GAyB7B,IAhBA,IAAIC,EAAQF,EAAO,EAAI,EAAI,EAWvBG,EAJJH,EAAOI,KAAKC,IAAIL,GAQZ1F,EAAM,EACH0F,GAAQd,EAAU5E,IAAQA,EAAM4E,EAAUlH,OAAQsC,IACrD0F,GAAQd,EAAU5E,GAgBtB,OAJA0F,EAAOI,KAAKE,MAAMN,KAEE,IADpB1F,GAAO,GACiB,EAAI,KACxBA,GAAO,GACJ2F,EAAWD,EAAM1F,EAAK6F,GAAUD,GAAOR,QAAQ,KAAMM,EAAKO,WACrE,CCvEW,CAAWT,EFSC,SAAUd,GAC7B,OAAOF,EAAQE,IAAWF,EAAe,KAC7C,CEX2B,CAAUE,GACrC,ECNAD,EAAS,QLNM,SAAUiB,EAAM1F,GAC3B,GAAY,IAARA,EACA,MAAO,CAAC,WAAY,aACxB,IAAIkG,EAAO5B,EAAMwB,KAAKE,MAAMhG,EAAM,IAGlC,OAFI0F,EAAO,IACPQ,GAAQ,KACL,CAACR,EAAO,IAAMQ,EAAO,OAAQ,MAAQR,EAAO,IAAMQ,EAC7D,GKAAzB,EAAS,QJPM,SAAUiB,EAAM1F,GAC3B,GAAY,IAARA,EACA,MAAO,CAAC,KAAM,OAClB,IAAIkG,EAAO3B,KAASvE,EAAM,IAC1B,MAAO,CAAC0F,EAAO,IAAMQ,EAAO,IAAUR,EAAO,IAAMQ,EAAO,IAC9D,E","sources":["file:///app/packages/libs/shared/src/apps/share-v2/components/share-avatar/ShareAvatar.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/packages/libs/shared/src/apps/share-v2/components/share-view-count/ShareViewCount.tsx","file:///app/packages/libs/shared/src/apps/share-v2/components/share-viewed-by-count/ShareViewedByCount.tsx","file:///app/packages/projects/lite/src/apps/assign/components/previous-assignments/previous-assignments.scss","file:///app/packages/projects/lite/src/apps/assign/components/previous-assignments/PreviousAssignments.tsx","file:///app/packages/projects/lite/src/apps/assign/views/show-assignments-view/empty-states/shares-and-assignments-empty-state/SharesAndAssignmentsEmptyState.tsx","file:///app/packages/projects/lite/src/apps/assign/views/show-assignments-view/empty-states/shares-empty-state/SharesEmptyState.tsx","file:///app/packages/projects/lite/src/apps/assign/views/show-assignments-view/ShowAssignmentsView.tsx","file:///app/node_modules/timeago.js/esm/lang/en_US.js","file:///app/node_modules/timeago.js/esm/lang/zh_CN.js","file:///app/node_modules/timeago.js/esm/register.js","file:///app/node_modules/timeago.js/esm/utils/date.js","file:///app/node_modules/timeago.js/esm/format.js","file:///app/node_modules/timeago.js/esm/index.js"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SharePrivacy } from '../../enums/SharePrivacy';\nimport { ShareType } from '../../enums/ShareType';\n\nconst namespace = 'sharev2.shareAvatar';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst icons = {\n [ShareType.Open]: cvSvgLibrary.Classrooms,\n [ShareType.Link]: cvSvgLibrary.Link,\n [ShareType.Classroom]: cvSvgLibrary.Classrooms,\n [ShareType.Live]: cvSvgLibrary.Play,\n [ShareType.LegacyDirect]: cvSvgLibrary.Share\n};\n\nconst iconColours = {\n [ShareType.Open]: 'blue',\n [ShareType.Link]: 'black',\n [ShareType.Classroom]: 'teal',\n [ShareType.Live]: 'purple',\n [ShareType.LegacyDirect]: 'indigo'\n};\n\nconst shareTypeTitlePhraseMap = {\n [ShareType.Open]: 'openShareType',\n [ShareType.Link]: 'linkShareType',\n [ShareType.Classroom]: 'classroomShareType',\n [ShareType.Live]: 'liveShareType',\n [ShareType.LegacyDirect]: 'legacyDirectShareType'\n};\n\nfunction getTitle({ type, classroomName, additionalTitleText }: ShareAvatarProps) {\n if (type === ShareType.Classroom && classroomName)\n return classroomName;\n\n let title = getPhrase(shareTypeTitlePhraseMap[type]);\n\n if (additionalTitleText)\n title += ' ' + additionalTitleText;\n\n return title;\n}\n\nfunction getClassroomSubtitle(classroomGroupCount: number, studentCount: number): string {\n if (classroomGroupCount && studentCount)\n return `${getPhrase('classroomGroupCount', { smartCount: classroomGroupCount })}, ${getPhrase('studentSubTitle', { smartCount: studentCount })}`;\n\n if (classroomGroupCount)\n return getPhrase('groupSubTitle', { smartCount: classroomGroupCount });\n\n if (studentCount)\n return getPhrase('studentSubTitle', { smartCount: studentCount });\n\n return getPhrase('allStudentsSubTitle');\n}\n\nfunction getLinkSubtitle(privacy: SharePrivacy) {\n if ([ SharePrivacy.JustMySchool, SharePrivacy.Protected ].includes(privacy))\n return getPhrase('respectRatingsSubTitle');\n\n if (privacy === SharePrivacy.JustMySchoolOverrideRestriction)\n return getPhrase('anyoneInSchoolSubTitle');\n\n if (privacy === SharePrivacy.ProtectedOverrideRestriction)\n return getPhrase('anyoneSignedInSubTitle');\n\n if (privacy === SharePrivacy.Public)\n return getPhrase('anyoneWithLinkSubTitle');\n\n if (privacy === SharePrivacy.PinCode)\n return getPhrase('anyoneWithPinSubTitle');\n}\n\nfunction getSubtitle({ type, privacy, studentCount = 0, classroomGroupCount = 0 }: ShareAvatarProps) {\n switch (type) {\n case ShareType.Classroom:\n return getClassroomSubtitle(classroomGroupCount, studentCount);\n\n case ShareType.Open:\n return getPhrase('openShareTypeSubTitle');\n\n case ShareType.Link:\n return getLinkSubtitle(privacy);\n \n case ShareType.Live:\n return getPhrase('liveShareTypeSubTitle');\n\n case ShareType.LegacyDirect:\n return getPhrase('legacyDirectTypeSubTitle');\n\n default:\n return getPhrase('publicShareTypeSubTitle');\n }\n}\n\ninterface ShareAvatarProps {\n type: ShareType;\n privacy: SharePrivacy;\n studentCount?: number;\n classroomGroupCount?: number;\n classroomName?: string;\n hideSubtitle?: boolean;\n subtitleText?: string;\n svgSize?: SvgContainerSize;\n additionalTitleText?: string;\n className?: string;\n}\n\nexport function ShareAvatar(props: ShareAvatarProps): JSX.Element {\n return (\n <div className={classNames('d-flex align-items-center gap-2', props.className)}>\n <div>\n <IconCircle\n svgName={icons[props.type]}\n variant={iconColours[props.type]}\n textVariant='white'\n svgWrapperClassName='p-1'\n svgSize={props.svgSize ?? SvgContainerSize.Standard}\n />\n </div>\n <div className='d-flex flex-column'>\n <p className='m-0'>{getTitle(props)}</p>\n {!props.hideSubtitle && <span className='text-secondary'>{props.subtitleText ?? getSubtitle(props)}</span>}\n </div>\n </div>\n );\n}","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","import React from 'react';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nconst namespace = 'sharev2.shareViewCount';\n\ninterface ShareViewCountProps {\n share: Share;\n}\n\nexport function ShareViewCount(props: ShareViewCountProps): JSX.Element {\n const isCollection = [ MasterType.Playlist, MasterType.Series ].includes(props.share.objectTypeId);\n \n if (isCollection)\n return <span>-</span>;\n\n return <Text namespace={namespace} phrase='viewCount' options={{ smartCount: props.share.viewCount || 0 }} />;\n}","import React from 'react';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\ninterface ShareViewedByCountProps {\n share: Share;\n}\n\nexport function ShareViewedByCount(props: ShareViewedByCountProps): JSX.Element {\n const isCollection = [ MasterType.Playlist, MasterType.Series ].includes(props.share.objectTypeId);\n\n if (isCollection)\n return <span>-</span>;\n \n function getViewCount(): string {\n const shareAccessCount = props.share.accessCount || 0;\n if (props.share.type === ShareType.Open)\n return `${shareAccessCount}`;\n\n if (props.share.type === ShareType.Classroom) {\n const totalRecipients = props.share.recipients.length;\n return `${shareAccessCount}/${totalRecipients}`;\n }\n\n return `${shareAccessCount}`;\n }\n \n return (\n <span className='d-inline-flex flex-row gap-2 align-items-center'>\n <SvgContainer svgName={cvSvgLibrary.User} />\n <span>{getViewCount()}</span>\n </span>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"shareListItem\":\"vLROV\",\"visibleOnHover\":\"o2KJH\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\nimport Scrollbars from 'react-custom-scrollbars-2';\nimport { format as formatDate } from 'timeago.js';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { ShareAvatar } from 'libs/shared/apps/share-v2/components/share-avatar/ShareAvatar';\nimport { ShareViewCount } from 'libs/shared/apps/share-v2/components/share-view-count/ShareViewCount';\nimport { ShareViewedByCount } from 'libs/shared/apps/share-v2/components/share-viewed-by-count/ShareViewedByCount';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { Classroom } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './previous-assignments.scss';\n\nconst namespace = 'assign.previousAssignments';\n\ninterface PreviousAssignmentsHeaderProps {\n count: number;\n show: boolean;\n onToggle: () => void;\n}\n\nfunction PreviousAssignmentsHeader(props: PreviousAssignmentsHeaderProps): JSX.Element {\n return (\n <div className={classNames('d-flex align-items-center justify-content-between', props.show && 'mb-3')}>\n <h3 className='h6 m-0 p-0'><Text namespace={namespace} phrase='heading' options={{ count: props.count }} /></h3>\n <IconButton\n svgName={props.show ? cvSvgLibrary.ChevronUp : cvSvgLibrary.ChevronDown}\n onClick={props.onToggle}\n />\n </div>\n );\n}\n\nexport function PreviousAssignmentsListHeader(): JSX.Element {\n const columnClassNames = 'd-flex align-items-end justify-content-start fw-medium';\n \n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Row className='gx-2 px-3 mb-2'>\n <Col xs={4} className={columnClassNames}>\n <Text phrase='assignedTo' />\n </Col>\n <Col xs={2} className={columnClassNames}>\n <Text phrase='views' />\n </Col>\n <Col xs={2} className={columnClassNames}>\n <Text phrase='viewedBy' />\n </Col>\n <Col xs={4} className={columnClassNames}>\n <Text phrase='dateCreated' />\n </Col>\n </Row>\n </LanguageNamespaceContext.Provider>\n );\n}\n\ntype ItemAnalytics = {\n data: HashObject;\n options: AnalyticsOptions;\n}\ninterface PreviousAssignmentListItemProps {\n share: Share;\n classrooms: Classroom[];\n getItemAppLink: (share: Share) => Core.AppLink;\n\n getItemAnalytics?: (share: Share) => ItemAnalytics;\n className?: string;\n}\n\nfunction PreviousAssignmentListItem(props: PreviousAssignmentListItemProps): JSX.Element {\n const shareClassroom = ShareHelper.getClassroomForShare(props.share, props.classrooms);\n\n const analytics = props.getItemAnalytics?.(props.share);\n\n return (\n <AppLink\n key={props.share.shareId}\n appLink={props.getItemAppLink(props.share)}\n analyticsData={analytics?.data}\n analyticsOptions={analytics?.options}\n className={classNames('d-block p-3 hover-bg-light-blue border border-top-0 no-hover-text-underline', styles.shareListItem, props.className)}\n >\n <Row className='gx-2'>\n <Col xs={4} className='d-flex align-items-center'>\n <ShareAvatar\n type={props.share.type}\n privacy={props.share.privacy}\n classroomName={shareClassroom?.name}\n svgSize={SvgContainerSize.Small}\n hideSubtitle\n />\n </Col>\n <Col xs={2} className='d-flex align-items-center justify-content-start'>\n <ShareViewCount share={props.share} />\n </Col>\n <Col xs={2} className='d-flex align-items-center justify-content-start'>\n <ShareViewedByCount share={props.share} />\n </Col>\n <Col xs={4} lg={3} className='d-flex align-items-center justify-content-start'>\n <span>{formatDate(props.share.dateCreated)}</span>\n </Col>\n <Col lg={1} className='align-items-center justify-content-end d-none d-lg-flex'>\n <span className={classNames('cursor-pointer text-info hover-text-underline', styles.visibleOnHover)}>\n <Text namespace={namespace} phrase='view' />\n </span>\n </Col>\n </Row>\n </AppLink>\n );\n}\n\ninterface PreviousAssignmentsListProps {\n assignments: Share[];\n classrooms: Classroom[];\n getItemAppLink: (share: Share) => Core.AppLink;\n getItemAnalytics?: (share: Share, yIndex: number) => ItemAnalytics;\n scrollHeightMax?: number;\n}\n\nexport function PreviousAssignmentsList(props: PreviousAssignmentsListProps): JSX.Element {\n return (\n <div className={classNames(\n 'd-flex flex-column border-top rounded-top overflow-hidden'\n )}>\n <Scrollbars\n autoHeight\n autoHeightMin={0}\n autoHeightMax={props.scrollHeightMax ?? 215}\n autoHide\n >\n {props.assignments.map((share, idx) => (\n <PreviousAssignmentListItem\n share={share}\n classrooms={props.classrooms}\n getItemAppLink={props.getItemAppLink}\n getItemAnalytics={share => props.getItemAnalytics?.(share, idx)}\n className={classNames(idx % 2 === 0 && 'bg-gray-100')}\n key={share.shareId}\n />\n ))}\n </Scrollbars>\n </div>\n );\n}\n\ninterface PreviousAssignmentsProps {\n show: boolean;\n assignments: Share[];\n classrooms: Classroom[];\n onToggle: () => void;\n getItemAppLink: (share: Share) => Core.AppLink;\n getItemAnalytics?: (share: Share, yIndex: number) => ItemAnalytics;\n}\n\nexport function PreviousAssignments(props: PreviousAssignmentsProps): JSX.Element {\n if (!props.assignments.length)\n return <></>;\n \n const noBottomPadding = props.show && props.assignments.length > 3;\n \n return (\n <div className={classNames('bg-white rounded-3 p-3', noBottomPadding && 'pb-0')}>\n <PreviousAssignmentsHeader count={props.assignments.length} onToggle={props.onToggle} show={props.show} />\n {props.show && (\n <>\n <PreviousAssignmentsListHeader />\n <PreviousAssignmentsList {...props} />\n </>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'assign.sharesAndAssignmentsEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SharesAndAssignmentsEmptyStateProps {\n assignAppLink: Core.AppLink;\n shareLinkAppLink: Core.AppLink;\n}\n\nexport function SharesAndAssignmentsEmptyState(props: SharesAndAssignmentsEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='py-4'>\n <EmptyState.Image\n size='small'\n src={ImageUrls.EmptyStates.Share.MY_SHARES}\n />\n <EmptyState.Heading><Text phrase='title' namespace={namespace} /></EmptyState.Heading>\n <EmptyState.Info><Text phrase='description' namespace={namespace} /></EmptyState.Info>\n <EmptyState.Cta\n icon={cvSvgLibrary.Share}\n text={getPhrase('ctaAssign')}\n appLink={props.assignAppLink}\n />\n <EmptyState.Cta\n className='text-dark hover-text-underline mt-3 fw-medium'\n text={getPhrase('ctaShareLink')}\n appLink={props.shareLinkAppLink}\n />\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'assign.sharesEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SharesEmptyStateProps {\n appLink: Core.AppLink;\n}\n\nexport function SharesEmptyState(props: SharesEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='py-4'>\n <EmptyState.Image\n size='small'\n src={ImageUrls.EmptyStates.Share.MY_SHARES}\n />\n <EmptyState.Heading><Text phrase='title' namespace={namespace} /></EmptyState.Heading>\n <EmptyState.Info><Text phrase='description' namespace={namespace} /></EmptyState.Info>\n <EmptyState.Cta\n icon={cvSvgLibrary.Link}\n text={getPhrase('cta')}\n appLink={props.appLink}\n />\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classroom, PopupViewProps } from 'libs/shared/interfaces';\nimport { AnalyticsRouteHelper } from 'libs/shared/utils/AnalyticsRouteHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { getInsightsOverviewAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { FlowControls } from 'apps/assign/components/flow-controls/FlowControls';\nimport { PreviousAssignmentsList, PreviousAssignmentsListHeader } from 'apps/assign/components/previous-assignments/PreviousAssignments';\nimport { useAssignSharedData } from 'apps/assign/hooks/useAssignSharedData';\nimport { AssignAppLinkHelper } from 'apps/assign/utils/AssignAppLinkHelper';\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { useIsTertiary } from 'apps/onboarding/hooks/useIsTertiary';\n\nimport { SharesAndAssignmentsEmptyState } from './empty-states/shares-and-assignments-empty-state/SharesAndAssignmentsEmptyState';\nimport { SharesEmptyState } from './empty-states/shares-empty-state/SharesEmptyState';\n\nconst namespace = 'assign.showAssignmentsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst MAX_SCROLL_HEIGHT = 400;\n\nfunction sortByDateCreated(a: Share, b: Share) {\n if (!a || !b)\n return;\n\n if (DateHelper.isSame(a.dateCreated, b.dateCreated))\n return 0;\n\n if (DateHelper.isAfter(a.dateCreated, b.dateCreated))\n return 1;\n\n return -1;\n}\n\ninterface ViewInSchoolAnalyticsButtonProps {\n href: string;\n}\n\nfunction ViewInSchoolAnalyticsButton(props: ViewInSchoolAnalyticsButtonProps): JSX.Element {\n return (\n <a href={props.href} target='_blank' className='btn btn-link text-info'>\n <span className='pe-1'><Text phrase='viewInAnalytics' namespace={namespace} /></span>\n <SvgContainer svgName={cvSvgLibrary.NewWindow} size={SvgContainerSize.Small} />\n </a>\n );\n}\n\ninterface ShowAssignmentsEmptyStateProps {\n type: 'assign-and-shares' | 'shares';\n assignAppLink: Core.AppLink;\n shareAppLink: Core.AppLink;\n}\n\nfunction ShowAssignmentsEmptyState(props: ShowAssignmentsEmptyStateProps): JSX.Element {\n if (props.type === 'assign-and-shares') {\n return (\n <SharesAndAssignmentsEmptyState\n assignAppLink={props.assignAppLink}\n shareLinkAppLink={props.shareAppLink}\n />\n );\n }\n \n return <SharesEmptyState appLink={props.shareAppLink} />;\n}\n\ninterface ShowAssignmentsViewProps extends PopupViewProps {\n objectId: string;\n entityType: SharableEntityType;\n}\n\nexport function ShowAssignmentsView(props: ShowAssignmentsViewProps): JSX.Element {\n const sharedData = useAssignSharedData({\n objectId: props.objectId,\n entityType: props.entityType\n });\n\n const { hasPermissions } = usePermissions();\n const { hasShareFlowV2 } = useSettings(null);\n const isTertiary = useIsTertiary();\n\n const previousShares = Flight.useBasicFetch<Share[]>(ShareRequests.getSharesByObjectId(props.objectId));\n const assignments = previousShares.data?.sort(sortByDateCreated) || [];\n const previousAssignmentClassroomIds = ArrayHelper.uniq(\n assignments.map(ShareHelper.getClassroomIdFromShare).filter(x => !!x)\n );\n const classrooms = Flight.useBasicFetch<Classroom[]>(\n previousShares.hasCompleted &&\n ClassroomRequests.getClassroomsByIds(previousAssignmentClassroomIds, sharedData.currentUser.data?.customerId)\n );\n\n function getItemAppLink(share: Share) {\n const appLink = getInsightsOverviewAppLink(share);\n if (!appLink)\n return;\n\n return appLink;\n }\n\n const analyticsUrl = AnalyticsRouteHelper.getObjectUrl(\n sharedData.config.data?.analyticsWebUrl,\n sharedData.entity.data,\n hasShareFlowV2\n );\n \n const canViewSchoolAnalytics =\n hasPermissions(PermissionName.ViewAnalyticsProduct) &&\n hasPermissions(PermissionName.ViewCustomerAnalytics);\n\n const emptyStateType = (hasShareFlowV2 && isTertiary) ? 'shares' : 'assign-and-shares';\n\n const loaded = sharedData.loaded && !!previousShares.data && !!classrooms.data;\n\n return (\n <Popup\n size='lg'\n title={getPhrase('title')}\n showLoadingSpinner={!loaded}\n closePopup={props.closePopup}\n >\n {!assignments.length &&\n <ShowAssignmentsEmptyState\n assignAppLink={AssignAppLinkHelper.flowSelector({ entityType: props.entityType, objectId: props.objectId })}\n shareAppLink={{\n application: AppChannels.SHARE,\n action: Actions.Share.SHARE,\n args: [props.objectId],\n params: {\n entityType: props.entityType\n }\n }}\n type={emptyStateType}\n />\n }\n \n {!!assignments.length &&\n <>\n <PreviousAssignmentsListHeader />\n <PreviousAssignmentsList\n assignments={assignments.reverse()}\n classrooms={classrooms.data}\n getItemAppLink={getItemAppLink}\n scrollHeightMax={MAX_SCROLL_HEIGHT}\n />\n </>\n }\n <FlowControls\n hideNextButton\n hideCreateClassroomButton\n onClickBack={props.closePopup}\n backButtonText={getPhrase('close')}\n leftComponent={!!analyticsUrl && canViewSchoolAnalytics && <ViewInSchoolAnalyticsButton href={analyticsUrl} />}\n />\n </Popup>\n );\n}","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map"],"names":["getPhrase","icons","iconColours","shareTypeTitlePhraseMap","ShareAvatar","props","className","svgName","type","variant","textVariant","svgWrapperClassName","svgSize","S","classroomName","additionalTitleText","title","getTitle","hideSubtitle","subtitleText","privacy","studentCount","classroomGroupCount","smartCount","getClassroomSubtitle","includes","getLinkSubtitle","getSubtitle","IntegrationId","IntegrationHelper","getShareIntegrations","googleClassroomSetting","msftTeamsSetting","id","name","enabled","settingName","namespace","ShareViewCount","MasterType","share","objectTypeId","Text","phrase","options","viewCount","ShareViewedByCount","SvgContainer","shareAccessCount","accessCount","ShareType","totalRecipients","recipients","length","getViewCount","PreviousAssignmentsHeader","show","count","IconButton","onClick","onToggle","PreviousAssignmentsListHeader","columnClassNames","value","Row","Col","xs","PreviousAssignmentListItem","shareClassroom","ShareHelper","classrooms","analytics","getItemAnalytics","AppLink","key","shareId","appLink","getItemAppLink","analyticsData","data","analyticsOptions","lg","dateCreated","PreviousAssignmentsList","autoHeight","autoHeightMin","autoHeightMax","scrollHeightMax","autoHide","assignments","map","idx","PreviousAssignments","noBottomPadding","LanguageService","SharesAndAssignmentsEmptyState","EmptyState","size","src","ImageUrls","icon","text","assignAppLink","shareLinkAppLink","SharesEmptyState","MAX_SCROLL_HEIGHT","sortByDateCreated","a","b","DateHelper","ViewInSchoolAnalyticsButton","href","target","ShowAssignmentsEmptyState","shareAppLink","ShowAssignmentsView","sharedData","useAssignSharedData","objectId","entityType","hasPermissions","usePermissions","hasShareFlowV2","useSettings","isTertiary","useIsTertiary","previousShares","ShareRequests","sort","previousAssignmentClassroomIds","ArrayHelper","filter","x","hasCompleted","ClassroomRequests","currentUser","customerId","analyticsUrl","AnalyticsRouteHelper","config","analyticsWebUrl","entity","canViewSchoolAnalytics","PermissionName","emptyStateType","loaded","Popup","showLoadingSpinner","closePopup","AssignAppLinkHelper","application","action","args","params","reverse","FlowControls","hideNextButton","hideCreateClassroomButton","onClickBack","backButtonText","leftComponent","EN_US","ZH_CN","Locales","register","locale","func","SEC_ARRAY","toDate","input","Date","isNaN","test","parseInt","trim","replace","format","date","opts","sec","relativeDate","diff","localeFunc","agoIn","totalSec","Math","abs","floor","toString","unit"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 6756-3c7f911759-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6756,5193],{1619:(e,t,n)=>{n.d(t,{e:()=>y});var r=n(32735),a=n(23481),o=n(31453),i=n(12528),s=n(83914),l=n(35223),c=n(33518),u=n(2510);function d(e){return d="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},d(e)}function m(e,t,n){return(t=function(e){var t=function(e){if("object"!=d(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==d(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=a.T.encloseNamespace("sharev2.shareAvatar"),f=m(m(m(m(m({},u.y.Open,l.vn.Classrooms),u.y.Link,l.vn.Link),u.y.Classroom,l.vn.Classrooms),u.y.Live,l.vn.Play),u.y.LegacyDirect,l.vn.Share),g=m(m(m(m(m({},u.y.Open,"blue"),u.y.Link,"black"),u.y.Classroom,"teal"),u.y.Live,"purple"),u.y.LegacyDirect,"indigo"),v=m(m(m(m(m({},u.y.Open,"openShareType"),u.y.Link,"linkShareType"),u.y.Classroom,"classroomShareType"),u.y.Live,"liveShareType"),u.y.LegacyDirect,"legacyDirectShareType");function y(e){var t,n;return r.createElement("div",{className:(0,o.A)("d-flex align-items-center gap-2",e.className)},r.createElement("div",null,r.createElement(i.f,{svgName:f[e.type],variant:g[e.type],textVariant:"white",svgWrapperClassName:"p-1",svgSize:null!==(t=e.svgSize)&&void 0!==t?t:s.S.Standard})),r.createElement("div",{className:"d-flex flex-column"},r.createElement("p",{className:"m-0"},function(e){var t=e.type,n=e.classroomName,r=e.additionalTitleText;if(t===u.y.Classroom&&n)return n;var a=p(v[t]);return r&&(a+=" "+r),a}(e)),!e.hideSubtitle&&r.createElement("span",{className:"text-secondary"},null!==(n=e.subtitleText)&&void 0!==n?n:function(e){var t=e.type,n=e.privacy,r=e.studentCount,a=void 0===r?0:r,o=e.classroomGroupCount,i=void 0===o?0:o;switch(t){case u.y.Classroom:return function(e,t){return e&&t?"".concat(p("classroomGroupCount",{smartCount:e}),", ").concat(p("studentSubTitle",{smartCount:t})):e?p("groupSubTitle",{smartCount:e}):t?p("studentSubTitle",{smartCount:t}):p("allStudentsSubTitle")}(i,a);case u.y.Open:return p("openShareTypeSubTitle");case u.y.Link:return function(e){return[c.e.JustMySchool,c.e.Protected].includes(e)?p("respectRatingsSubTitle"):e===c.e.JustMySchoolOverrideRestriction?p("anyoneInSchoolSubTitle"):e===c.e.ProtectedOverrideRestriction?p("anyoneSignedInSubTitle"):e===c.e.Public?p("anyoneWithLinkSubTitle"):e===c.e.PinCode?p("anyoneWithPinSubTitle"):void 0}(n);case u.y.Live:return p("liveShareTypeSubTitle");case u.y.LegacyDirect:return p("legacyDirectTypeSubTitle");default:return p("publicShareTypeSubTitle")}}(e))))}},8233:(e,t,n)=>{n.d(t,{R:()=>p});var r=n(23481),a=n(110),o=n(33518),i=n(4594),s=n(49080),l=n(26361),c=n(35223),u=n(31908);function d(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 m=r.T.encloseNamespace("sharev2.utils"),p={getPrivateIconAndText:function(e){var t=e.entityTypeId,n=e.privacy,r=e.hasStudentExp,a=e.entity,s=e.yearGroups;if(t===i.E.Topic||t===i.E.Series)return{icon:c.vn.VisibleOn,text:m(r?"justMySchoolTeachers":"justMySchoolDescription")};if(!Array.isArray(n))switch(n){case o.e.Public:return{icon:c.vn.VisibleOn,text:m("publicDescription")};case o.e.ProtectedOverrideRestriction:return{icon:c.vn.VisibleOn,text:m("clickViewOnly")};case o.e.Protected:return{icon:c.vn.Lock,text:p.getRespectRatingText(a,s,r)};case o.e.JustMySchoolOverrideRestriction:return{icon:c.vn.Lock,text:m(r?"justMySchoolTeachers":"justMySchoolDescription")};case o.e.JustMySchool:return{icon:c.vn.Lock,text:p.getRespectRatingText(a,s,r)};case o.e.PinCode:return{icon:c.vn.Lock,text:m("pinDescription")};case o.e.PasswordProtected:return{icon:c.vn.Lock,text:m("password")};default:return{}}},getIconAndText:function(e){var t=e.linkExpireDate,n=e.isPasswordProtected,r=e.status;if(!t&&!n)return p.getPrivateIconAndText(e);if(!t)return{icon:c.vn.Lock,text:m("password")};var o=a.O.isToday(t),i=a.O.diffBetween(t,new Date,"day");if(!n){var l=o?m("expiryToday"):m("expiry",{days:i});return r===s.F.Expired&&(l=m("expired")),{icon:c.vn.Timer,text:l}}var u=o?m("passwordExpiryToday"):m("passwordExpiry",{days:i});return r===s.F.Expired&&(u=m("passwordExpired")),{icon:c.vn.Lock,text:u}},getRespectRatingText:function(e,t,n){var r;if(!e||!t)return null;if(n)return m("justMySchoolTeachers");if(!u.M.isVideoType(e))return m("collectionRating");var a=l.l.getWeightedRestriction(null===(r=e._restrictions)||void 0===r?void 0:r.value);if(a&&!a.yearGroup)return m("onlyAdmins");var o,i,s,c=u.M.getRating(e),p=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}(t);try{for(p.s();!(s=p.n()).done;){var f=s.value;(!o||f.value>o.value)&&(o=f),a&&f.value<=a.yearGroup||c&&f.rating.value<c.value||(!i||f.value<i.value)&&(i=f)}}catch(e){p.e(e)}finally{p.f()}return i?1===t.length?m("clickViewOnly"):i.value===o.value?m("maxYearGroup",{yearGroup:o.name}):m("yearGroupRange",{yearGroup:i.name}):m("onlyStaff")},getShareLinkAccessType:function(e){return e.isTvContent||e.isClickViewContent?"protected":e.canManageAccess?"owner":"private"}}},89067:(e,t,n)=>{n.d(t,{r:()=>o});var r=n(32735);function a(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 o(e){var t,n,o,i,s=(o=r.useState(null===(t=e.animate)||void 0===t||t),i=2,function(e){if(Array.isArray(e))return e}(o)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(o,i)||function(e,t){if(e){if("string"==typeof e)return a(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)?a(e,t):void 0}}(o,i)||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.")}()),l=s[0],c=s[1],u=e.steps[e.step],d=void 0!==e.loading?{loading:e.loading}:{},m=Object.assign(Object.assign(Object.assign({},e.data),d),{animate:null!==(n=e.animate)&&void 0!==n?n:l,closePopup:function(){e.closePopup()},setStep:function(t){c(!1),e.setStep(t)}});if(!u)return r.createElement(r.Fragment,null);var p=u.view;return r.createElement(p,Object.assign({},m))}},94644:(e,t,n)=>{n.d(t,{r:()=>u});var r=n(50242),a=n(81886),o=n(67058),i=n(14553),s=n(49267),l=n(49075),c={notFound:o.d,forbidden:{rating:i.q,yearLevel:i.q,region:s.a,privacy:i.q},badRequest:l._,internalServerError:l._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var i=Object.assign(Object.assign({},c),t);o&&a.Q.Ry.isStatusCodeError(o)&&(o!==r.o.InternalServer?o!==r.o.NotFound?o!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new i.badRequest):n.forbidden||a.Q.Ry.throw(new i.forbidden.privacy):n.notFound||a.Q.Ry.throw(new i.notFound):n.internalServerError||a.Q.Ry.throw(new l._))}}},60115:(e,t,n)=>{n.d(t,{K:()=>c});var r=n(32735),a=n(50242),o=n(91967),i=400,s=n(45719);function l(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 c(e,t,n,c,u,d){var m,p,f,g,v=(m=(0,r.useState)(0),p=2,function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(m,p)||function(e,t){if(e){if("string"==typeof e)return l(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)?l(e,t):void 0}}(m,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=v[0],h=v[1],b=t,S=(0,s.P)(function(t){if(!e)return null;var n=e(t);return n?n.key:null},c,u);return f={fetchNextPage:function(){if(t&&e&&S)return h(function(e){return e+1}),b(S.nextCursor)},hasMore:!!(null==S?void 0:S.nextCursor),isFetching:null==S?void 0:S.isFetching,scrollContainer:d},g=function(){if(!f.isFetching){if(f.scrollContainer){var e=f.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-i)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-i)return;f.fetchNextPage()}},(0,r.useEffect)(function(){var e=o.q.throttle(g,200),t=f.scrollContainer||window;return f.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}},[f.hasMore,f.fetchNextPage,f.scrollContainer]),(0,r.useEffect)(function(){S&&S.shouldInitialFetch&&t&&(b(),h(function(e){return e+1}))},[null==S?void 0:S.shouldInitialFetch,t]),(0,r.useEffect)(function(){var e,t;if((null==S?void 0:S.statusCode)&&o.q.isFunction(n)){var r=+(null===(t=null===(e=S.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));r!==a.k.ClientError&&r!==a.k.ServerError||n(y,S.statusCode)}},[null==S?void 0:S.statusCode]),{items:null==S?void 0:S.items,hasMore:!!(null==S?void 0:S.nextCursor),nextCursor:null==S?void 0:S.nextCursor,isFetching:null==S?void 0:S.isFetching,totalItems:null==S?void 0:S.totalItems,hasFirstPageCompleted:null==S?void 0:S.hasFirstPageCompleted}}},36511:(e,t,n)=>{n.d(t,{I:()=>a});var r=n(38129);function a(e){switch(e){case r.R.Pink:return"pink";case r.R.Orange:return"orange";case r.R.Green:return"green";case r.R.Blue:return"blue";case r.R.Purple:return"purple";case r.R.Indigo:return"indigo";default:return"pink"}}},35690:(e,t,n)=>{n.d(t,{QD:()=>k,Qv:()=>N,__:()=>w});var r=n(32735),a=n(68050),o=n(69111),i=n(42648),s=n(82602),l=n(31453),c=n(1619),u=n(83345),d=n(4594),m="sharev2.shareViewCount";function p(e){return[d.E.Playlist,d.E.Series].includes(e.share.objectTypeId)?r.createElement("span",null,"-"):r.createElement(u.x,{namespace:m,phrase:"viewCount",options:{smartCount:e.share.viewCount||0}})}var f=n(2510),g=n(83914),v=n(35223);function y(e){return[d.E.Playlist,d.E.Series].includes(e.share.objectTypeId)?r.createElement("span",null,"-"):r.createElement("span",{className:"d-inline-flex flex-row gap-2 align-items-center"},r.createElement(g.x,{svgName:v.vn.User}),r.createElement("span",null,function(){var t=e.share.accessCount||0;if(e.share.type===f.y.Open)return"".concat(t);if(e.share.type===f.y.Classroom){var n=e.share.recipients.length;return"".concat(t,"/").concat(n)}return"".concat(t)}()))}var h=n(21789),b=n(15611),S=n(91693);const C={shareListItem:"vLROV",visibleOnHover:"o2KJH"};var E="assign.previousAssignments";function x(e){return r.createElement("div",{className:(0,l.A)("d-flex align-items-center justify-content-between",e.show&&"mb-3")},r.createElement("h3",{className:"h6 m-0 p-0"},r.createElement(u.x,{namespace:E,phrase:"heading",options:{count:e.count}})),r.createElement(S.h,{svgName:e.show?v.vn.ChevronUp:v.vn.ChevronDown,onClick:e.onToggle}))}function w(){var e="d-flex align-items-end justify-content-start fw-medium";return r.createElement(u.D.Provider,{value:E},r.createElement(a.Z,{className:"gx-2 px-3 mb-2"},r.createElement(o.Z,{xs:4,className:e},r.createElement(u.x,{phrase:"assignedTo"})),r.createElement(o.Z,{xs:2,className:e},r.createElement(u.x,{phrase:"views"})),r.createElement(o.Z,{xs:2,className:e},r.createElement(u.x,{phrase:"viewedBy"})),r.createElement(o.Z,{xs:4,className:e},r.createElement(u.x,{phrase:"dateCreated"}))))}function T(e){var t,n=h.x.getClassroomForShare(e.share,e.classrooms),i=null===(t=e.getItemAnalytics)||void 0===t?void 0:t.call(e,e.share);return r.createElement(b.F,{key:e.share.shareId,appLink:e.getItemAppLink(e.share),analyticsData:null==i?void 0:i.data,analyticsOptions:null==i?void 0:i.options,className:(0,l.A)("d-block p-3 hover-bg-light-blue border border-top-0 no-hover-text-underline",C.shareListItem,e.className)},r.createElement(a.Z,{className:"gx-2"},r.createElement(o.Z,{xs:4,className:"d-flex align-items-center"},r.createElement(c.e,{type:e.share.type,privacy:e.share.privacy,classroomName:null==n?void 0:n.name,svgSize:g.S.Small,hideSubtitle:!0})),r.createElement(o.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},r.createElement(p,{share:e.share})),r.createElement(o.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},r.createElement(y,{share:e.share})),r.createElement(o.Z,{xs:4,lg:3,className:"d-flex align-items-center justify-content-start"},r.createElement("span",null,(0,s.WU)(e.share.dateCreated))),r.createElement(o.Z,{lg:1,className:"align-items-center justify-content-end d-none d-lg-flex"},r.createElement("span",{className:(0,l.A)("cursor-pointer text-info hover-text-underline",C.visibleOnHover)},r.createElement(u.x,{namespace:E,phrase:"view"})))))}function N(e){var t;return r.createElement("div",{className:(0,l.A)("d-flex flex-column border-top rounded-top overflow-hidden")},r.createElement(i.ZP,{autoHeight:!0,autoHeightMin:0,autoHeightMax:null!==(t=e.scrollHeightMax)&&void 0!==t?t:215,autoHide:!0},e.assignments.map(function(t,n){return r.createElement(T,{share:t,classrooms:e.classrooms,getItemAppLink:e.getItemAppLink,getItemAnalytics:function(t){var r;return null===(r=e.getItemAnalytics)||void 0===r?void 0:r.call(e,t,n)},className:(0,l.A)(n%2==0&&"bg-gray-100"),key:t.shareId})})))}function k(e){if(!e.assignments.length)return r.createElement(r.Fragment,null);var t=e.show&&e.assignments.length>3;return r.createElement("div",{className:(0,l.A)("bg-white rounded-3 p-3",t&&"pb-0")},r.createElement(x,{count:e.assignments.length,onToggle:e.onToggle,show:e.show}),e.show&&r.createElement(r.Fragment,null,r.createElement(w,null),r.createElement(N,Object.assign({},e))))}},15970:(e,t,n)=>{n.r(t),n.d(t,{AssignFlowView:()=>Jt});var r=n(32735),a=n(89067),o=n(23481),i=n(65858),s=n(95890),l=n(7786),c=n(9103),u=n(64197),d=n(9111),m=n(83351),p=n(85287),f=n(83345);function g(e){return r.createElement(f.D.Provider,{value:"classroomCreatePromptView.createPrompt"},r.createElement("div",{className:"d-flex flex-column align-items-center"},r.createElement("h6",{className:"mb-2"},r.createElement(f.x,{phrase:"title"})),r.createElement("p",{className:"mb-3"},r.createElement(f.x,{phrase:"description"})),r.createElement("button",{className:"btn btn-outline-dark px-4",onClick:e.onClick},r.createElement(f.x,{phrase:"createBtn"}))))}var v=n(88382);function y(e){return r.createElement(f.D.Provider,{value:"classroomCreatePromptView.integrationsPrompt"},r.createElement("div",{className:"d-flex flex-column align-items-center"},r.createElement("h6",{className:"mb-2"},r.createElement(f.x,{phrase:"title"})),r.createElement("p",{className:"mb-3 text-center w-75"},r.createElement(f.x,{phrase:"description"})),r.createElement(v.g,{itemClassName:"col-12 col-sm-6 col-lg-4",maxHeight:200,instanceRegion:e.instanceRegion,contactSupportLink:e.contactSupportLink})))}var h=o.T.encloseNamespace("assign.classroomCreatePromptView"),b=n(83914),S=n(35223),C=n(42648),E=n(97958),x=n(87801),w=n(50023),T=n(99742),N=n(68050),k=n(69111),A=n(80130),I=n(31453),j=n(12528),O=n(98269),P=n(36532),F="assign.narrowSelectionButton",R=o.T.encloseNamespace(F);function M(e){return r.createElement(P.u,{title:R("noStudentsTooltip"),spanHack:!0,placement:"top",disable:e.hasRecipients},r.createElement(O.Z,{variant:"link",className:(0,I.A)("py-0 px-2",e.hasRecipients?"cursor-pointer text-info hover-text-underline":"text-secondary"),onClick:function(){e.hasRecipients&&e.onClickSelectGroupsOrStudents()},disabled:!e.hasRecipients},r.createElement(f.x,{namespace:F,phrase:"narrowSelectionPrompt"})))}function G(e){return r.createElement(N.Z,{className:(0,I.A)("px-2 py-1 g-0 w-100 rounded cursor-pointer mb-1",e.isSelected?"bg-light":"bg-light-hover"),onClick:e.onSelected},r.createElement(k.Z,{md:7,className:"d-flex align-items-center gap-2"},r.createElement(A.Z.Check,{type:"radio",name:"classroom-radio",id:"classroom-radio",className:"form-check",value:e.id,onChange:e.onSelected,checked:e.isSelected}),r.createElement("div",{className:"d-flex align-items-center gap-2"},r.createElement("div",null,r.createElement(j.f,{svgName:S.vn.Classrooms,svgSize:b.S.Standard,variant:"teal",textVariant:"white",svgWrapperClassName:"p-1"})),r.createElement("div",{className:"w-100"},r.createElement("label",{className:"m-0"},e.name),r.createElement("p",{className:"m-0 text-muted font-size-sm"},r.createElement(f.x,{namespace:"assign.classroomSelectorListItem",phrase:"studentsCount",options:{smartCount:e.studentsCount}}))))),r.createElement(k.Z,{md:5,className:(0,I.A)(e.studentsCount?"d-inline-block":"d-none",e.isSelected&&"py-2 py-md-0","d-md-flex justify-content-center align-items-center")},e.isSelected&&r.createElement(M,{hasRecipients:!!e.studentsCount,onClickSelectGroupsOrStudents:e.onClickSelectGroupsOrStudents})))}var L="assign.classroomSelectorList";function D(e){var t=!e.classrooms.hasFirstPageCompleted,n=e.classrooms.items;return t||n.length?r.createElement("div",{className:"d-flex flex-column gap-2"},r.createElement("h3",{className:"h6 m-0"},r.createElement(f.x,{namespace:L,phrase:"listTitle"})),r.createElement("div",null,t&&r.createElement(w.E,null),!t&&r.createElement(C.ZP,{autoHeight:!0,autoHeightMin:300,autoHeightMax:300},n.map(function(t){var n;return r.createElement(G,{key:t.id,id:t.id,isSelected:(null===(n=e.selectedClassroom)||void 0===n?void 0:n.id)===t.id,name:t.name,onClickSelectGroupsOrStudents:e.onClickSelectGroupsOrStudents,onSelected:function(){return e.onClassroomSelected(t)},studentsCount:e.getStudentsCount(t)})}),(e.classrooms.hasMore||e.classrooms.isFetching)&&r.createElement(x._,{isFetching:e.classrooms.isFetching,fetchNext:e.classrooms.fetchNext,nextCursor:e.classrooms.nextCursor,fetchOnScroll:!0})))):r.createElement(E.u,null,r.createElement(E.u.Image,{src:T.W.EmptyStates.Search.RESULTS,size:"small",altText:"No results found"}),r.createElement("h3",{role:"status"},r.createElement(f.x,{phrase:"noResultsTitle",namespace:L,options:{query:e.searchQuery}})),r.createElement(E.u.Info,null,r.createElement(f.x,{namespace:L,phrase:"contactAdminInfo"})," ",r.createElement("a",{className:"p-0 text-info cursor-pointer",onClick:e.onClickCreateOpenClassroom},r.createElement(f.x,{namespace:L,phrase:"createOpenClassroom"}))))}var _=n(16714),B=n(28329),Z=n(22902),U=n(63578);function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var V=o.T.encloseNamespace("assign.classroomSelectorView"),z=n(95685),H=n.n(z),$=n(46304),W=n(61548),Q=n(95960),X=n(74512);const J=r.forwardRef(({className:e,bsPrefix:t,as:n="span",...r},a)=>(t=(0,$.vE)(t,"input-group-text"),(0,X.jsx)(n,{ref:a,className:H()(e,t),...r})));J.displayName="InputGroupText";const Y=J,K=r.forwardRef(({bsPrefix:e,size:t,hasValidation:n,className:a,as:o="div",...i},s)=>{e=(0,$.vE)(e,"input-group");const l=(0,r.useMemo)(()=>({}),[]);return(0,X.jsx)(Q.Z.Provider,{value:l,children:(0,X.jsx)(o,{ref:s,...i,className:H()(a,e,t&&`${e}-${t}`,n&&"has-validation")})})});K.displayName="InputGroup";const ee=Object.assign(K,{Text:Y,Radio:e=>(0,X.jsx)(Y,{children:(0,X.jsx)(W.Z,{type:"radio",...e})}),Checkbox:e=>(0,X.jsx)(Y,{children:(0,X.jsx)(W.Z,{type:"checkbox",...e})})});var te=n(92802),ne=n(20354),re=n(88630),ae=n(27787);function oe(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 ie="assign.createNewClassroomView",se=o.T.encloseNamespace(ie),le=n(89965);function ce(e){if(!e.hide)return r.createElement(N.Z,{className:(0,I.A)("flow-setting-item-group gap-3 gx-0",e.className)},r.createElement(k.Z,{xs:12,className:"h6 m-0"},e.name),r.createElement("div",{className:(0,I.A)("d-flex flex-column gap-3",e.childContainerClassName)},e.children))}ce.Toggle=function(e){var t=r.useId();if(!e.hide)return r.createElement(k.Z,{xs:12,className:(0,I.A)(e.className)},r.createElement("div",{className:"d-flex w-100"},r.createElement(le.X,{id:t,name:t,onChange:e.onClick,checked:e.toggled,disabled:e.disabled}),r.createElement("div",{className:"w-100"},r.createElement("div",{className:"mb-1"},r.createElement("label",{className:"mb-1",htmlFor:t},e.title),r.createElement("p",{className:"m-0 text-secondary"},e.description)),e.children)))},ce.TextArea=function(e){if(!e.hide)return r.createElement(k.Z,{xs:12},r.createElement("textarea",{className:(0,I.A)("form-control","icGmN"),placeholder:e.placeholder,value:e.value,onChange:function(t){return e.onChange(t.target.value)}}))},ce.Divider=function(e){if(!e.hide)return r.createElement("hr",{className:(0,I.A)(!e.withMargins&&"m-0")})};var ue=n(1619),de=n(33518),me=n(2510);function pe(e){var t,n,a;return r.createElement("div",{className:"d-flex align-items-center w-100 gap-2 justify-content-between"},r.createElement("div",{className:"flex-grow-1"},r.createElement(ue.e,{type:me.y.Classroom,privacy:de.e.Direct,classroomName:e.classroom.name,studentCount:null===(n=null===(t=e.classroom)||void 0===t?void 0:t.enrolments)||void 0===n?void 0:n.count,subtitleText:e.subtitleText,hideSubtitle:null===(a=e.hideSubtitle)||void 0===a||a})),"function"==typeof e.onClickChangeClassroom&&r.createElement(O.Z,{variant:"link",className:"text-info hover-text-underline",onClick:e.onClickChangeClassroom},r.createElement(f.x,{namespace:"assign.selectedClassroomHeader",phrase:"changeClassroomButton"})))}var fe=o.T.encloseNamespace("assign.existingClassroomFlowSettings");function ge(e){var t,n,a;return r.createElement("div",{className:"d-flex flex-column gap-4"},r.createElement(pe,{classroom:e.selectedClassroom,hideSubtitle:!1,subtitleText:fe("studentsCount",{smartCount:null!==(a=null===(n=null===(t=e.selectedClassroom)||void 0===t?void 0:t.enrolments)||void 0===n?void 0:n.count)&&void 0!==a?a:0})}),r.createElement(ce,{name:fe("videoSettingsTitle"),hide:e.hidePreventScrubbing&&e.hideImmediateFeedback},r.createElement(ce.Toggle,{hide:e.hidePreventScrubbing,title:fe("preventScrubbingTitle"),description:fe("preventScrubbingDescription"),onClick:e.onTogglePreventScrubbing,toggled:e.preventScrubbing,disabled:e.disablePreventScrubbing}),r.createElement(ce.Toggle,{hide:e.hideImmediateFeedback,title:fe("immediateFeedbackTitle"),description:fe("immediateFeedbackDescription"),onClick:e.onToggleImmediateFeedback,toggled:e.immediateFeedback,disabled:e.disableImmediateFeedback})),r.createElement(ce.Divider,{hide:e.hidePreventScrubbing&&e.hideImmediateFeedback}),r.createElement(ce,{name:fe("moreOptionsTitle"),hide:e.hideMessage,childContainerClassName:"d-flex flex-column gap-2"},r.createElement(ce.Toggle,{hide:e.hideMessage,title:fe("messageTitle"),description:fe("messageDescription"),onClick:e.onToggleMessage,toggled:e.toggleMessage,disabled:e.disableMessage},r.createElement(ce.TextArea,{hide:!e.toggleMessage,placeholder:fe("messagePlaceholder"),onChange:e.onChangeMessage,value:e.message}))))}var ve=n(30439),ye=n(18488);function he(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return be(c,"_invoke",function(n,r,a){var o,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,s=0,l=e,m.n=n,i}};function p(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,o=u[t],p=m.p,f=o[2];n>3?(a=f===r)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(s=0,m.v=r,m.n=o[1]):p<f&&(a=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,m.n=f,s=0))}if(a||n>1)return i;throw d=!0,r}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,l=f;(t=s<2?e:l)||!d;){o||(s?s<3?(s>1&&(m.n=-1),p(s,l)):m.n=l:m.v=l);try{if(c=2,o){if(s||(a="next"),t=o[a]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);o=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==i)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,o),!0),c}var i={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(be(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,be(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,be(d,"constructor",c),be(c,"constructor",l),l.displayName="GeneratorFunction",be(c,a,"GeneratorFunction"),be(d),be(d,a,"Generator"),be(d,r,function(){return this}),be(d,"toString",function(){return"[object Generator]"}),(he=function(){return{w:o,m}})()}function be(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}be=function(e,t,n,r){if(t)a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var o=function(t,n){be(e,t,function(e){return this._invoke(t,n,e)})};o("next",0),o("throw",1),o("return",2)}},be(e,t,n,r)}var Se=function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function i(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}l((r=r.apply(e,t||[])).next())})};function Ce(e){var t,n=ne.a.useBasicFetch(ve.o.getPrivacy(e)),r=ne.a.useGetFetchAsync(),a=null===(t=n.data)||void 0===t?void 0:t.canManageAccess;function o(e){return Se(this,void 0,void 0,he().m(function t(){return he().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,r(ye.o.createSharePincode(e.shareId));case 1:return t.a(2,t.v)}},t)}))}return{createDirectShare:function(e){return Se(this,void 0,void 0,he().m(function t(){var a,i;return he().w(function(t){for(;;)switch(t.n){case 0:if(n.data){t.n=1;break}return t.a(2);case 1:return a=e.requireSignIn?de.e.Direct:de.e.PinCode,t.n=2,r(ye.o.createShare({objectId:e.objectId,type:me.y.Classroom,privacy:a,optionRequest:{preventScrubbing:e.preventScrubbing,immediateFeedback:e.immediateFeedback},recipientRequest:e.recipients.map(function(t){return{recipientId:t,message:e.message,scopeId:e.scopeId}})}));case 2:if(i=t.v,a!==de.e.PinCode){t.n=3;break}return t.n=3,o({shareId:i.shareId});case 3:return t.a(2,i)}},t)}))},createOpenSession:function(e){return Se(this,void 0,void 0,he().m(function t(){var i,s;return he().w(function(t){for(;;)switch(t.n){case 0:if(n.data){t.n=1;break}return t.a(2);case 1:return i=de.e.PinCode,e.requireSignIn&&(i=e.respectRatingsAndRestrictions?a?de.e.JustMySchool:de.e.Protected:a?de.e.JustMySchoolOverrideRestriction:de.e.ProtectedOverrideRestriction),t.n=2,r(ye.o.createShare({objectId:e.objectId,type:me.y.Open,privacy:i,optionRequest:{preventScrubbing:e.preventScrubbing,immediateFeedback:e.immediateFeedback}}));case 2:if(s=t.v,i!==de.e.PinCode){t.n=3;break}return t.n=3,o({shareId:s.shareId});case 3:return t.a(2,s)}},t)}))},canManageAccess:a,hasCompleted:n.hasCompleted}}var Ee=n(1666);function xe(e){return xe="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},xe(e)}function we(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return Te(c,"_invoke",function(n,r,a){var o,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,s=0,l=e,m.n=n,i}};function p(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,o=u[t],p=m.p,f=o[2];n>3?(a=f===r)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(s=0,m.v=r,m.n=o[1]):p<f&&(a=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,m.n=f,s=0))}if(a||n>1)return i;throw d=!0,r}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,l=f;(t=s<2?e:l)||!d;){o||(s?s<3?(s>1&&(m.n=-1),p(s,l)):m.n=l:m.v=l);try{if(c=2,o){if(s||(a="next"),t=o[a]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);o=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==i)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,o),!0),c}var i={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Te(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,Te(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,Te(d,"constructor",c),Te(c,"constructor",l),l.displayName="GeneratorFunction",Te(c,a,"GeneratorFunction"),Te(d),Te(d,a,"Generator"),Te(d,r,function(){return this}),Te(d,"toString",function(){return"[object Generator]"}),(we=function(){return{w:o,m}})()}function Te(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}Te=function(e,t,n,r){if(t)a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var o=function(t,n){Te(e,t,function(e){return this._invoke(t,n,e)})};o("next",0),o("throw",1),o("return",2)}},Te(e,t,n,r)}function Ne(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ke(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)?ke(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ke(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 Ae(e){var t,n,a,o=(0,s._)({entityType:e.entityType,objectId:e.objectId}),i=ne.a.useBasicFetch(Ee.h.yearGroups(null===(t=o.currentUser.data)||void 0===t?void 0:t.customerId)),l=Ce(e.objectId).createDirectShare,c=Ne(r.useState(!1),2),u=c[0],d=c[1],m=Ne(r.useState({preventScrubbing:(null===(n=o.interactive.data)||void 0===n?void 0:n.preventScrubbing)||!1,immediateFeedback:(null===(a=o.interactive.data)||void 0===a?void 0:a.immediateFeedback)||!1,message:!1}),2),p=m[0],f=m[1],g=Ne(r.useState(""),2),v=g[0],y=g[1];return{data:{loaded:o.loaded&&!!i.data,config:o.config,entity:o.entity,yearGroups:i},message:v,settings:p,shouldShowSpinner:u,hasStudentExp:o.hasStudentExp,toggleSetting:function(e){!function(e,t){f(function(n){return Object.assign(Object.assign({},n),(r={},o=t,(a=function(e){var t=function(e){if("object"!=xe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=xe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==xe(t)?t:t+""}(a=e))in r?Object.defineProperty(r,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[a]=o,r));var r,a,o})}(e,!p[e])},onChangeMessage:function(e){y(e)},onShare:function(t){var n,r,a,o,i,s;return a=this,o=void 0,i=void 0,s=we().m(function a(){var o;return we().w(function(a){for(;;)switch(a.n){case 0:if(e.selectedClassroom){a.n=1;break}return a.a(2);case 1:return d(!0),a.p=2,a.n=3,l({objectId:e.objectId,preventScrubbing:p.preventScrubbing,immediateFeedback:p.immediateFeedback,requireSignIn:!0,message:v,recipients:e.recipients.length?e.recipients:[null===(n=e.selectedClassroom)||void 0===n?void 0:n.id],scopeId:null===(r=e.selectedClassroom)||void 0===r?void 0:r.id});case 3:o=a.v,"function"==typeof t&&t(o),d(!1),a.n=5;break;case 4:a.p=4,a.v,console.error("Could not create");case 5:return a.p=5,d(!1),a.f(5);case 6:return a.a(2)}},a,null,[[2,4,5,6]])}),new(i||(i=Promise))(function(e,t){function n(e){try{l(s.next(e))}catch(e){t(e)}}function r(e){try{l(s.throw(e))}catch(e){t(e)}}function l(t){var a;t.done?e(t.value):(a=t.value,a instanceof i?a:new i(function(e){e(a)})).then(n,r)}l((s=s.apply(a,o||[])).next())})}}}var Ie,je=o.T.encloseNamespace("assign.existingClassroomFlowSettingsView"),Oe=n(36511);!function(e){e.Groups="groups",e.Students="students"}(Ie||(Ie={}));var Pe=n(91693);function Fe(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 Re(e){return r.createElement("div",{className:"d-flex flex-column gap-2"},e.children)}Re.Item=function(e){var t,n,a=(t=r.useState(e.intialShow||!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Fe(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)?Fe(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=a[0],i=a[1];return r.createElement("div",null,r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h3",{className:"h6 m-0 p-0"},e.title),r.createElement(Pe.h,{svgName:o?S.vn.ChevronUp:S.vn.ChevronDown,onClick:function(){return i(!o)}})),o&&r.createElement("div",null,e.children))};var Me=n(11607);function Ge(e){var t=e.isDisabled&&e.isSelected&&!!e.tooltipText;return r.createElement(Me.L,{className:(0,I.A)("d-flex align-items-center px-2 py-1 w-100 rounded gap-2 cursor-pointer justify-content-between",!e.isDisabled&&"bg-light-hover"),onClick:e.onClick,disabled:e.isDisabled},r.createElement(P.u,{placement:"right",title:e.tooltipText,disable:!t,spanHack:!0,trigger:["hover","focus"]},r.createElement("div",{className:(0,I.A)("d-flex align-items-center",t&&"pe-2")},r.createElement(le.X,{name:e.entity.id,id:e.entity.id,onChange:e.onClick,checked:e.isSelected,disabled:e.isDisabled}),r.createElement("div",{className:"d-flex align-items-center gap-2"},r.createElement("div",null,e.icon),r.createElement("div",{className:"w-100"},e.title)))))}function Le(e){return e.entities.length?r.createElement("div",{className:"d-flex flex-column"},r.createElement(C.ZP,{autoHeight:!0,autoHeightMin:0,autoHeightMax:120},e.entities.map(function(t){var n=!!e.selectedEntities.find(function(e){return t.id.toString()===e.id.toString()}),a=n&&e.disableSelected,o="function"==typeof e.renderTitle?e.renderTitle(t,n,a):r.createElement("span",{className:"m-0"},t.name);return r.createElement(Ge,{key:t.id,entity:t,title:o,isDisabled:a,isSelected:n,icon:e.renderIcon(t,n,a),onClick:function(){return e.onSelectEntity(t)},tooltipText:e.tooltipText})}))):r.createElement(r.Fragment,null,e.emptyState)}function De(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _e(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)?_e(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _e(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 Be="assign.narrowClassroomSelectionControls",Ze=o.T.encloseNamespace(Be);function Ue(e){var t=De(r.useState(Ie.Students),2),n=t[0],a=t[1],o=De(r.useState([]),2),i=o[0],s=o[1],l=De(r.useState([]),2),c=l[0],u=l[1],d=c.length===e.learners.length;return r.createElement(r.Fragment,null,r.createElement("div",{className:"d-flex flex-column gap-3"},r.createElement("h3",{className:"h6 m-0"},r.createElement(f.x,{namespace:Be,phrase:"shareToStudents",options:{smartCount:e.learners.length}})),r.createElement("div",null,r.createElement(le.X,{id:"all",checked:n!==Ie.Groups&&d,label:Ze("allStudentsLabel",{smartCount:e.learners.length}),onChange:function(){if(s([]),a(Ie.Students),d)return u([]),void e.setRecipients([]);u(e.learners),e.setRecipients(p.z.getRecipients(e.learners))},indeterminate:n===Ie.Groups}))),r.createElement(Re,null,r.createElement(Re.Item,{intialShow:!0,title:Ze("groupsTitle",{selected:i.length,smartCount:e.groups.length})},r.createElement(Le,{entities:e.groups,selectedEntities:i,onSelectEntity:function(t){var n=p.z.getSelectedEntities(i,t);n.length?a(Ie.Groups):a(null),s(n),u(p.z.getLearnersForGroups(n)),e.setRecipients(p.z.getRecipients(n))},emptyState:r.createElement("div",null,r.createElement(f.x,{namespace:Be,phrase:"emptyGroups"})),renderIcon:function(e){var t;return r.createElement(j.f,{svgName:S.vn.Group,svgSize:b.S.Small,variant:(0,Oe.I)(null===(t=e.metadata)||void 0===t?void 0:t.colour),textVariant:"white",svgWrapperClassName:"p-1"})}})),r.createElement(Re.Item,{intialShow:!0,title:Ze("studentsTitle",{selected:c.length,smartCount:e.learners.length})},r.createElement(Le,{entities:e.learners,selectedEntities:c,onSelectEntity:function(t){var n=p.z.getSelectedEntities(c,t);n.length?a(Ie.Students):a(null),s([]),u(n),e.setRecipients(p.z.getRecipients(n))},emptyState:r.createElement("div",null,r.createElement(f.x,{namespace:Be,phrase:"emptyStudents"})),renderIcon:function(){return r.createElement(j.f,{svgName:S.vn.User,svgSize:b.S.Small,variant:"primary",textVariant:"white",svgWrapperClassName:"p-1"})},disableSelected:n===Ie.Groups,tooltipText:Ze("studentInSelectedGroup")}))))}var qe=o.T.encloseNamespace("assign.narrowClassroomSelectionView"),Ve=n(9806),ze=n(15611),He=n(14070),$e=n(97291);var We="assign.noStudentsDetailsView";function Qe(e){return r.createElement("div",{className:"position-relative mb-3"},r.createElement("figure",{className:"LP0Xh",style:{backgroundImage:"url(".concat(T.W.Assign.NO_STUDENTS.BACKGROUND,")")}}),r.createElement("div",{className:(0,I.A)("position-absolute bottom-0","OPnkT")},r.createElement("figure",{className:(0,I.A)("position-absolute m-0","Xtv19"),style:{backgroundImage:"url(".concat(T.W.Assign.NO_STUDENTS.PLANE,")")}}),r.createElement("div",{className:(0,I.A)("position-absolute","UX2aX")},r.createElement(Ve.k,{object:e.entity,locationContext:i.LZ.AssignFlowView,imageClassName:"border border-dark",thumbnailSize:"sm",fixedHeight:!0})),r.createElement("figure",{className:(0,I.A)("position-absolute m-0","MaOad"),style:{backgroundImage:"url(".concat(T.W.Assign.NO_STUDENTS.PLANE_FLAP,")")}})))}var Xe={"create-classroom":{view:function(e){var t,n,a=(0,s._)({objectId:e.objectId,entityType:e.entityType}),o=p.z.getContactSupportUrl(null===(t=a.config.data)||void 0===t?void 0:t.marketingSiteUrl,null===(n=a.currentUser.data)||void 0===n?void 0:n.instanceRegion),i=e.loading||!a.loaded;return r.createElement(d.G,{size:"lg",animation:e.animate,showLoadingSpinner:i,closePopup:e.closePopup,title:h("title"),bodyClassName:"d-flex flex-column gap-3"},r.createElement(g,{onClick:e.goToCreateClassroomForm}),r.createElement(u.i,null),r.createElement("div",null,r.createElement(y,{instanceRegion:e.instanceRegion,contactSupportLink:o}),r.createElement(m.P,{onClickBack:e.goToFlowSelector,hideNextButton:!0,hideCreateClassroomButton:!0})))}},"create-classroom-form":{view:function(e){var t,n,a=ne.a.useGetFetchAsync(),o=(0,l.y)({analyticsOptions:{entity:i.py.Assign,location:i.LZ.Popup},data:{entity:{id:e.objectId,type:e.entityType}}}).log,s=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return oe(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)?oe(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=s[0],u=s[1],p=(0,te.TA)({initialValues:{name:""},onSubmit:function(t){!c&&p.isValid&&(u(!0),a(re.F.createClassroom({name:t.name})).then(function(t){o({type:"create-new-classroom",classroom:t}),e.onCreateNewClassroom(t)}).catch(function(){p.setFieldError("name",se("createClassroomError",{name:t.name}))}).finally(function(){u(!1)}))},validationSchema:ae.G,validateOnChange:!0});return r.createElement(d.G,{size:"lg",title:se("title"),showLoadingSpinner:e.loading,animation:e.animate,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3"},r.createElement(A.Z,{className:"w-100",onSubmit:p.handleSubmit},r.createElement(A.Z.Group,null,r.createElement(A.Z.Label,{htmlFor:"name",className:"mb-1"},r.createElement(f.x,{namespace:ie,phrase:"newClassroomLabel"})),r.createElement(ee,{hasValidation:!0},r.createElement(A.Z.Control,{type:"text",className:"form-control",name:"name",id:"name",placeholder:se("newClassroomPlaceholder"),value:p.values.name,onChange:p.handleChange,maxLength:255,isInvalid:!!p.errors.name}),r.createElement(A.Z.Control.Feedback,{type:"invalid"},p.errors.name)))),r.createElement(m.P,{hideCreateClassroomButton:!0,onClickBack:e.goToPrevStep,onClickNext:p.submitForm,disableNextButton:!p.isValid||c||!p.values.name.length,showSpinner:c,nextButtonText:se("nextButton")}))}},"select-classroom":{view:function(e){var t,n,a,o,s,c,u,p,f,g=(0,l.y)({analyticsOptions:{entity:i.py.Assign,location:i.LZ.Popup},data:{entity:{id:e.objectId,type:e.entityType}}}).log,v=(t={selectedClassroom:e.selectedClassroom,setSelectedClassroom:e.setSelectedClassroom,goToNarrowSelection:function(){g({type:"select-narrow-selection",classroom:e.selectedClassroom}),e.goToNarrowSelection()}},n=(0,Z.T)().hasPermissions,p=r.useState(""),f=2,a=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,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(p,f)||function(e,t){if(e){if("string"==typeof e)return q(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)?q(e,t):void 0}}(p,f)||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.")}(),o=a[0],s=a[1],c=(0,B.N)(o,300),u=c.length>=2,{data:{classrooms:(0,U.Y)(u&&c,{withStudentsCount:!0})},query:o,debouncedQuery:c,canCreateClassrooms:n(_.C.CreateClassrooms),setQuery:s,getStudentsCount:function(e){var t,n,r=null===(t=e.enrolments)||void 0===t?void 0:t.count;return u&&(r=null===(n=e.users)||void 0===n?void 0:n.count),r||0},onClassroomSelected:function(e){t.setSelectedClassroom(e)},onClickSelectGroupsOrStudents:function(){t.selectedClassroom&&t.goToNarrowSelection()}}),y=v.data.classrooms;return r.createElement(d.G,{size:"lg",title:V("title"),showLoadingSpinner:e.loading,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate},r.createElement("div",{className:"position-relative"},r.createElement("div",{className:"position-absolute top-50 start-0 translate-middle-y p-1"},r.createElement(b.x,{svgName:S.vn.Search,size:b.S.Standard})),r.createElement("input",{type:"text",value:v.query,placeholder:V("inputPlaceholder"),onChange:function(e){return v.setQuery(e.target.value)},className:"form-control pe-1 py-2 border-dark ".concat("aDvD8")})),r.createElement(D,{searchQuery:v.debouncedQuery,classrooms:y,selectedClassroom:e.selectedClassroom,getStudentsCount:v.getStudentsCount,onClassroomSelected:v.onClassroomSelected,onClickCreateOpenClassroom:e.goToOpenClassroomFlow,onClickSelectGroupsOrStudents:v.onClickSelectGroupsOrStudents}),r.createElement(m.P,{hideCreateClassroomButton:!v.canCreateClassrooms,onClickBack:e.goToFlowSelector,onClickNext:e.goToSettings,disableNextButton:!e.selectedClassroom,onClickCreateClassroom:e.goToCreateClassroomForm}))}},"narrow-selection":{view:function(e){var t=function(e){var t,n,r=ne.a.useBasicFetch(e.selectedClassroom&&re.F.getClassroomStudents(e.selectedClassroom.id)),a=ne.a.useBasicFetch(e.selectedClassroom&&re.F.getClassroomGroups(e.selectedClassroom.id)),o=(null===(t=r.data)||void 0===t?void 0:t.data)||[],i=(null===(n=a.data)||void 0===n?void 0:n.data)||[];return{data:{loaded:!!a.data&&!!r.data,groups:i,learners:o}}}({selectedClassroom:e.selectedClassroom}).data,n=t.loaded,a=t.groups,o=t.learners;return r.createElement(d.G,{size:"lg",title:qe("title"),showLoadingSpinner:!n||e.loading,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate},r.createElement(pe,{classroom:e.selectedClassroom,onClickChangeClassroom:e.goToSelectClassroom}),r.createElement(Ue,{groups:a,learners:o,setRecipients:e.onChangeRecipients}),r.createElement(m.P,{hideCreateClassroomButton:!0,onClickBack:e.goToPrevStep,onClickNext:e.goToSettings,nextButtonTooltip:!e.recipients.length&&qe("noRecipients"),disableNextButton:!e.selectedClassroom||!e.recipients.length}))}},settings:{view:function(e){var t=Ae({entityType:e.entityType,objectId:e.objectId,recipients:e.recipients,selectedClassroom:e.selectedClassroom}),n=t.data.loaded;return r.createElement(d.G,{size:"lg",title:je("title"),showLoadingSpinner:!n||e.loading,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate},r.createElement(ge,{selectedClassroom:e.selectedClassroom,message:t.message,toggleMessage:t.settings.message,immediateFeedback:t.settings.immediateFeedback,preventScrubbing:t.settings.preventScrubbing,onChangeMessage:t.onChangeMessage,onToggleMessage:function(){return t.toggleSetting("message")},hideImmediateFeedback:"interactive"!==e.entityType,hidePreventScrubbing:"interactive"!==e.entityType,onTogglePreventScrubbing:function(){return t.toggleSetting("preventScrubbing")},onToggleImmediateFeedback:function(){return t.toggleSetting("immediateFeedback")}}),r.createElement(m.P,{hideCreateClassroomButton:!0,onClickBack:e.goToPrevStep,onClickNext:function(){t.onShare(e.onShare)},nextButtonText:je("assignButton"),showSpinner:t.shouldShowSpinner}))}},"assign-details":{view:c.AssignDetailsView},"no-students-details":{view:function(e){var t=(0,s._)({entityType:e.entityType,objectId:e.objectId}),n=t.entity,a=t.loaded,o={application:$e.O.CLASSROOMS,action:He.e.Classrooms.CLASSROOM_STUDENTS,args:[e.selectedClassroom.id]};return r.createElement(d.G,{size:"lg",showLoadingSpinner:!a||e.loading,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate,hideTitle:!0},r.createElement("div",{className:"d-flex flex-column align-items-center justify-content-center py-2 text-center"},r.createElement(Qe,{entity:n.data}),r.createElement("h3",{className:"mb-3"},r.createElement(f.x,{namespace:We,phrase:"title"})),r.createElement("p",{className:(0,I.A)("mb-4","sXT7V")},r.createElement(f.x,{namespace:We,phrase:"description"})),r.createElement(ze.F,{appLink:o,className:"btn btn-dark"},r.createElement(f.x,{namespace:We,phrase:"addStudentsButton",options:{classroomName:e.selectedClassroom.name}}))))}}};function Je(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return Ye(c,"_invoke",function(n,r,a){var o,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,s=0,l=e,m.n=n,i}};function p(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,o=u[t],p=m.p,f=o[2];n>3?(a=f===r)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(s=0,m.v=r,m.n=o[1]):p<f&&(a=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,m.n=f,s=0))}if(a||n>1)return i;throw d=!0,r}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,l=f;(t=s<2?e:l)||!d;){o||(s?s<3?(s>1&&(m.n=-1),p(s,l)):m.n=l:m.v=l);try{if(c=2,o){if(s||(a="next"),t=o[a]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);o=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==i)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,o),!0),c}var i={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Ye(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,Ye(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,Ye(d,"constructor",c),Ye(c,"constructor",l),l.displayName="GeneratorFunction",Ye(c,a,"GeneratorFunction"),Ye(d),Ye(d,a,"Generator"),Ye(d,r,function(){return this}),Ye(d,"toString",function(){return"[object Generator]"}),(Je=function(){return{w:o,m}})()}function Ye(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}Ye=function(e,t,n,r){if(t)a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var o=function(t,n){Ye(e,t,function(e){return this._invoke(t,n,e)})};o("next",0),o("throw",1),o("return",2)}},Ye(e,t,n,r)}function Ke(e){return function(e){if(Array.isArray(e))return nt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tt(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 et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||tt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(e,t){if(e){if("string"==typeof e)return nt(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)?nt(e,t):void 0}}function nt(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 rt=function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function i(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}l((r=r.apply(e,t||[])).next())})},at=o.T.encloseNamespace("assign.existingClassroomFlowView");function ot(e){var t,n,o=(0,s._)({entityType:e.entityType,objectId:e.objectId}),c=(0,l.y)({analyticsOptions:{entity:i.py.Assign,location:i.LZ.Popup},data:{entity:{id:e.objectId,type:e.entityType}}}).log,u=function(e){var t,n=ne.a.useGetFetchAsync(),a=et(r.useState(null!==(t=e.initialStep)&&void 0!==t?t:"select-classroom"),2),o=a[0],i=a[1],s=et(r.useState(),2),l=s[0],c=s[1],u=et(r.useState([]),2),d=u[0],m=u[1],p=et(r.useState(),2),f=p[0],g=p[1],v=et(r.useState([]),2),y=v[0],h=v[1],b=!!d.length;function S(){return rt(this,void 0,void 0,Je().m(function e(){var t;return Je().w(function(e){for(;;)switch(e.n){case 0:if(f){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,n(re.F.getClassroomStudents(f.id));case 2:return t=e.v,e.a(2,!!t.data.length)}},e)}))}return{step:o,share:l,recipients:y,hasPrevStep:b,selectedClassroom:f,onShare:function(t){return rt(this,void 0,void 0,Je().m(function n(){var r;return Je().w(function(n){for(;;)switch(n.n){case 0:return c(t),r="assign-details",n.p=1,n.n=2,S();case 2:if(n.v){n.n=3;break}return r="no-students-details",n.a(2);case 3:return n.p=3,e.log({type:"create-existing-classroom",share:t,nextStep:r}),i(r),n.f(3);case 4:return n.a(2)}},n,null,[[1,,3,4]])}))},setShare:c,goToPrevStep:function(){if(b){var e=Ke(d);i(e.pop()),m(e)}},onChangeRecipients:function(e){h(e)},setSelectedClassroom:g,setStep:function(e){m([].concat(Ke(d),[o])),i(e)},onCreateNewClassroom:function(e){g(e),i("settings")}}}({initialStep:e.initialStep,log:c}),d={objectId:e.objectId,entityType:e.entityType,closePopup:e.closePopup,goToFlowSelector:e.goToFlowSelector,goToOpenClassroomFlow:e.goToOpenClassroomFlow,shareId:null===(t=u.share)||void 0===t?void 0:t.shareId,loading:!o.loaded,recipients:u.recipients,instanceRegion:null===(n=o.currentUser.data)||void 0===n?void 0:n.instanceRegion,selectedClassroom:u.selectedClassroom,detailsTitle:at("existingClassroomTitle"),onShare:u.onShare,onChangeRecipients:u.onChangeRecipients,setSelectedClassroom:u.setSelectedClassroom,goToPrevStep:u.goToPrevStep,onCreateNewClassroom:u.onCreateNewClassroom,goToSettings:function(){return u.setStep("settings")},goToSelectClassroom:function(){return u.setStep("select-classroom")},goToNarrowSelection:function(){return u.setStep("narrow-selection")},goToCreateClassroomForm:function(){return u.setStep("create-classroom-form")}};return r.createElement(a.r,{data:d,loading:!o.loaded,animate:!1,step:u.step,setStep:u.setStep,closePopup:e.closePopup,steps:Xe})}var it=n(35690),st="shared.newBadge";function lt(e){return r.createElement("span",{className:(0,I.A)("badge badge-wrapper rounded-pill d-flex justify-content-center","fw-medium text-green","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-green")},r.createElement(f.x,{phrase:"new",namespace:st}))}var ct="shared.recommendedBadge";function ut(e){return r.createElement("span",{className:(0,I.A)("badge badge-wrapper rounded-pill d-flex justify-content-center","fw-medium text-blue","sm"===e.size?"badge-sm":"badge-std",e.invert?"bg-white":"bg-light-blue")},r.createElement(f.x,{phrase:"recommended",namespace:ct}))}function dt(e){return"existing-classroom"===e.type?e.hasClassrooms?r.createElement(ut,{size:"sm",invert:e.hovered}):null:"open-classroom"===e.type?e.hasClassrooms?r.createElement(lt,{size:"sm",invert:e.hovered}):r.createElement("div",{className:"d-flex align-items-center gap-2"},r.createElement(lt,{size:"sm",invert:e.hovered}),r.createElement(ut,{size:"sm",invert:e.hovered})):null}var mt=n(37963);const pt={optionImage:"iFoIG",optionItem:"Lu2bY"};function ft(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 gt(e){var t,n,a=(t=(0,mt.X)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return ft(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)?ft(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=a[0],i=a[1],s=e.item.badgeComponent;return r.createElement(Me.L,{onClick:function(){return e.onClick(e.item)},className:(0,I.A)("d-flex flex-column gap-4 align-items-center align-self-stretch justify-content-center","text-center cursor-pointer p-3 border rounded-3 user-select-none hover-bg-light-blue",pt.optionItem),ref:o},!!s&&r.createElement(s,{hovered:i}),r.createElement("img",{src:e.item.imageUrl,className:(0,I.A)("img-fluid w-50 d-none d-lg-block",pt.optionImage),draggable:!1}),r.createElement("div",{className:"d-flex flex-column gap-2"},r.createElement("h3",{className:"h4 mb-0"},e.item.title),e.item.subTitle&&r.createElement("p",{className:"mb-0 text-gray-900"},e.item.subTitle),e.item.linkText&&r.createElement("span",{className:"text-dark text-underline",onClick:function(){return e.onClick(e.item)}},e.item.linkText)))}function vt(e){return r.createElement("div",{className:"bg-white rounded-bottom-3 p-3 d-flex flex-column gap-3 justify-content-center align-items-center"},!!e.title&&r.createElement("h2",{className:"h4 m-0"},e.title),r.createElement("div",{className:"d-flex flex-column flex-lg-row justify-content-center align-items-center gap-3 w-100"},e.options.map(function(t){return r.createElement(gt,{item:t,onClick:e.onClick,key:t.id})})))}var yt=n(2948),ht=n(75896),bt=n(21789),St=n(37802),Ct=n(86099);function Et(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 xt="show:previous:assignments",wt=o.T.encloseNamespace("assign.flowSelectorView");function Tt(e){var t=function(e){var t,n,r,a,o,i,l=(o=(0,yt.D)(xt,!1),i=2,function(e){if(Array.isArray(e))return e}(o)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(o,i)||function(e,t){if(e){if("string"==typeof e)return Et(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)?Et(e,t):void 0}}(o,i)||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.")}()),c=l[0],u=l[1],d=(0,s._)({entityType:e.entityType,objectId:e.objectId}),m=(0,St.r)(null),p=m.isLoadingSettings,f=m.hasClassrooms,g=ne.a.useBasicFetch(ye.o.getSharesByObjectId(e.objectId)),v=(null===(t=g.data)||void 0===t?void 0:t.filter(function(e){return[me.y.Classroom,me.y.Open].includes(e.type)}))||[],y=ht.m.uniq(v.map(bt.x.getClassroomIdFromShare).filter(function(e){return!!e})),h=ne.a.useBasicFetch(g.hasCompleted&&re.F.getClassroomsByIds(y,null===(n=d.currentUser.data)||void 0===n?void 0:n.customerId)),b=ne.a.useBasicFetch(f&&re.F.getPublished(null===(r=d.currentUser.data)||void 0===r?void 0:r.customerId));return{data:{loaded:d.loaded&&!p&&!!g.data&&!!h.data&&!!b.data,previousAssignments:v,previousAssignmentClassrooms:h},showPreviousAssignments:c,hasClassrooms:f&&!!(null===(a=b.data)||void 0===a?void 0:a.data.length),canCreateClassrooms:d.canCreateClassrooms,getPreviousAssignItemAppLink:function(e){var t=(0,Ct.pY)(e);if(t)return t},onTogglePreviousAssignment:function(){u(!c)}}}({entityType:e.entityType,objectId:e.objectId}),n=t.data,a=n.loaded,o=n.previousAssignmentClassrooms,c=n.previousAssignments,u=(0,l.y)({data:{entity:{id:e.objectId,type:e.entityType}},analyticsOptions:{location:i.LZ.Popup,entity:i.py.Assign}}),m=u.log,p=u.getData,f=[{id:"existing-classroom",title:wt("existingClassroomTitle"),subTitle:wt("existingClassroomDescription"),imageUrl:T.W.Assign.EXISTING_CLASSROOM,linkText:wt("learnMore"),badgeComponent:function(e){var n=e.hovered;return r.createElement(dt,{type:"existing-classroom",hasClassrooms:t.hasClassrooms&&t.canCreateClassrooms,hovered:n})}},{id:"open-classroom",title:wt("openClassroomTitle"),subTitle:wt("openClassroomDescription"),imageUrl:T.W.Assign.OPEN_CLASSROOM,linkText:wt("learnMore"),badgeComponent:function(e){var n=e.hovered;return r.createElement(dt,{type:"open-classroom",hasClassrooms:t.hasClassrooms&&t.canCreateClassrooms,hovered:n})}}];return r.createElement(d.G,{size:"lg",animation:e.animate,title:wt("title"),closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3 p-0",contentClassName:(0,I.A)(a&&"bg-transparent border-0"),showLoadingSpinner:!a||e.loading},r.createElement(vt,{options:f,onClick:function(n){"existing-classroom"===n.id?(!t.hasClassrooms&&t.canCreateClassrooms?e.goToCreateClassroomPrompt():e.goToExistingClassroomFlow(),m({type:"select-existing-classroom-flow"})):"open-classroom"===n.id&&(e.goToOpenClassroomFlow(),m({type:"select-open-classroom-flow"}))}}),r.createElement(it.QD,{assignments:c.reverse(),show:t.showPreviousAssignments,classrooms:o.data,onToggle:t.onTogglePreviousAssignment,getItemAppLink:t.getPreviousAssignItemAppLink,getItemAnalytics:function(e,t){var n=p({type:"view-previous-assignment",share:e,yIndex:t}),r=n.analyticsOptions;return{data:n.data,options:r}}}))}var Nt=n(8233),kt="assign.openClassroomFlowInfoHeader",At=o.T.encloseNamespace(kt);function It(e){return r.createElement(f.D.Provider,{value:kt},r.createElement(N.Z,{className:"p-3 bg-light-green rounded rounded-2 gx-0"},r.createElement(k.Z,{lg:2,className:"d-none d-lg-block align-self-stretch"},r.createElement("div",{className:"h-100 d-flex align-items-center justify-content-center me-4"},r.createElement("img",{src:T.W.Assign.OPEN_CLASSROOM,alt:At("alt"),className:"w-100 h-auto"}))),r.createElement(k.Z,{xs:12,lg:10,className:"position-relative"},r.createElement("h3",{className:"h6"},r.createElement(f.x,{phrase:"title"})),r.createElement("p",{className:"mb-0"},r.createElement(f.x,{phrase:"description"})),r.createElement("div",{className:"position-absolute top-0 end-0"},r.createElement(Pe.h,{svgName:S.vn.Close,onClick:e.onClose,className:"btn-close p-2"})))))}var jt=o.T.encloseNamespace("assign.openClassroomFlowSettings");function Ot(e){var t=Nt.R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp);return r.createElement("div",{className:"d-flex flex-column gap-4"},r.createElement(It,{onClose:e.closeHeader}),r.createElement(ce,{name:jt("videoSettingsTitle"),hide:e.hidePreventScrubbing&&e.hideImmediateFeedback},r.createElement(ce.Toggle,{hide:e.hidePreventScrubbing,title:jt("preventScrubbingTitle"),description:jt("preventScrubbingDescription"),onClick:e.onTogglePreventScrubbing,toggled:e.preventScrubbing,disabled:e.disablePreventScrubbing}),r.createElement(ce.Toggle,{hide:e.hideImmediateFeedback,title:jt("immediateFeedbackTitle"),description:jt("immediateFeedbackDescription"),onClick:e.onToggleImmediateFeedback,toggled:e.immediateFeedback,disabled:e.disableImmediateFeedback})),r.createElement(ce.Divider,{hide:e.hidePreventScrubbing&&e.hideImmediateFeedback}),r.createElement(ce,{name:jt("studentAccessTitle"),hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions},r.createElement(ce.Toggle,{hide:e.hideRequiresStudentSignIn,title:jt("requiresStudentSignInTitle"),description:jt("requiresStudentSignInDescription"),onClick:e.onToggleRequiresStudentSignIn,toggled:e.toggleRequiresStudentSignIn,disabled:e.disableRequiresStudentSignIn}),r.createElement(ce.Toggle,{hide:e.hideRespectRatingsAndRestrictions,title:jt("respectRatingsAndRestrictionsTitle"),description:t,onClick:e.onToggleRespectRatingsAndRestrictions,toggled:e.toggleRespectRatingsAndRestrictions,disabled:e.disableRespectRatingsAndRestrictions})),r.createElement(ce.Divider,{hide:e.hideRequiresStudentSignIn&&e.hideRespectRatingsAndRestrictions||e.hideMessage}),r.createElement(ce,{name:jt("moreOptionsTitle"),hide:e.hideMessage,childContainerClassName:"d-flex flex-column gap-2"},r.createElement(ce.Toggle,{hide:e.hideMessage,title:jt("messageTitle"),description:jt("messageDescription"),onClick:e.onToggleMessage,toggled:e.toggleMessage,disabled:e.disableMessage},r.createElement(ce.TextArea,{hide:!e.toggleMessage,placeholder:jt("messagePlaceholder"),onChange:e.onChangeMessage,value:e.message}))))}var Pt=n(57900),Ft=n(69883);function Rt(e){return Rt="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},Rt(e)}function Mt(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return Gt(c,"_invoke",function(n,r,a){var o,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,n){return o=t,s=0,l=e,m.n=n,i}};function p(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,o=u[t],p=m.p,f=o[2];n>3?(a=f===r)&&(l=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=p&&((a=n<2&&p<o[1])?(s=0,m.v=r,m.n=o[1]):p<f&&(a=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,m.n=f,s=0))}if(a||n>1)return i;throw d=!0,r}return function(a,u,f){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&p(u,f),s=u,l=f;(t=s<2?e:l)||!d;){o||(s?s<3?(s>1&&(m.n=-1),p(s,l)):m.n=l:m.v=l);try{if(c=2,o){if(s||(a="next"),t=o[a]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);o=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==i)break}catch(t){o=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,o),!0),c}var i={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(Gt(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,Gt(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,Gt(d,"constructor",c),Gt(c,"constructor",l),l.displayName="GeneratorFunction",Gt(c,a,"GeneratorFunction"),Gt(d),Gt(d,a,"Generator"),Gt(d,r,function(){return this}),Gt(d,"toString",function(){return"[object Generator]"}),(Mt=function(){return{w:o,m}})()}function Gt(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}Gt=function(e,t,n,r){if(t)a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n;else{var o=function(t,n){Gt(e,t,function(e){return this._invoke(t,n,e)})};o("next",0),o("throw",1),o("return",2)}},Gt(e,t,n,r)}function Lt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Dt(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)?Dt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(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 _t=function(e,t,n,r){return new(n||(n=Promise))(function(a,o){function i(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}l((r=r.apply(e,t||[])).next())})},Bt=o.T.encloseNamespace("assign.useOpenClassroomFlowData"),Zt={immediateFeedback:!1,preventScrubbing:!1,message:!1,requiresStudentSignIn:!1,respectRatingsAndRestrictions:!1},Ut="assign:open:classroom:flow:settings:header";function qt(e){var t,n,a,o=(0,Ft.Z)(),i=Lt((0,yt.D)(Ut,!0,{storage:Pt.Z1.LocalStorage}),2),l=i[0],c=i[1],u=(0,s._)({entityType:e.entityType,objectId:e.objectId}),d=ne.a.useBasicFetch(Ee.h.yearGroups(null===(t=u.currentUser.data)||void 0===t?void 0:t.customerId)),m=Ce(e.objectId).createOpenSession,p=Lt(r.useState(Object.assign(Object.assign({},Zt),{preventScrubbing:(null===(n=u.interactive.data)||void 0===n?void 0:n.preventScrubbing)||!1,immediateFeedback:(null===(a=u.interactive.data)||void 0===a?void 0:a.immediateFeedback)||!1})),2),f=p[0],g=p[1],v=Lt(r.useState(""),2),y=v[0],h=v[1],b=Lt(r.useState(!1),2),S=b[0],C=b[1];return{data:{loaded:u.loaded&&!!d.data,entity:u.entity,yearGroups:d},showHeader:l,hasStudentExp:u.hasStudentExp,shouldShowSpinner:S,nextButtonText:Bt("nextButton"),message:y,settings:f,setMessage:h,setShowHeader:c,toggleSetting:function(e){!function(e,t){var n,r,a,o=(n={},a=t,(r=function(e){var t=function(e){if("object"!=Rt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Rt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Rt(t)?t:t+""}(r=e))in n?Object.defineProperty(n,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[r]=a,n);"respectRatingsAndRestrictions"===e&&(o.requiresStudentSignIn=t),g(function(e){return Object.assign(Object.assign({},e),o)})}(e,!f[e])},onShare:function(t){return _t(this,void 0,void 0,Mt().m(function n(){var r;return Mt().w(function(n){for(;;)switch(n.n){case 0:return C(!0),n.p=1,n.n=2,m({objectId:e.objectId,immediateFeedback:f.immediateFeedback,preventScrubbing:f.preventScrubbing,requireSignIn:f.requiresStudentSignIn,respectRatingsAndRestrictions:f.respectRatingsAndRestrictions});case 2:r=n.v,"function"==typeof t&&t(r),C(!1),n.n=4;break;case 3:n.p=3,n.v,o.error(Bt("createError"));case 4:return n.p=4,C(!1),n.f(4);case 5:return n.a(2)}},n,null,[[1,3,4,5]])}))}}}var Vt=o.T.encloseNamespace("assign.openClassroomFlowSettingsView");function zt(e){var t=qt({entityType:e.entityType,objectId:e.objectId}),n=t.data,a=n.loaded,o=n.entity,s=n.yearGroups,c=(0,l.y)({data:{entity:{id:e.objectId,type:e.entityType}},analyticsOptions:{location:i.LZ.Popup,entity:i.py.Assign}}).log;return r.createElement(d.G,{size:"lg",title:Vt("title"),showLoadingSpinner:!a||e.loading,closePopup:e.closePopup,bodyClassName:"d-flex flex-column gap-3",animation:e.animate},r.createElement(Ot,{entity:o.data,message:t.message,yearGroups:s.data,hasStudentExp:t.hasStudentExp,toggleMessage:t.settings.message,immediateFeedback:t.settings.immediateFeedback,preventScrubbing:t.settings.preventScrubbing,toggleRequiresStudentSignIn:t.settings.requiresStudentSignIn,toggleRespectRatingsAndRestrictions:t.settings.respectRatingsAndRestrictions,hideMessage:!0,onChangeMessage:t.setMessage,onToggleMessage:function(){return t.toggleSetting("message")},hidePreventScrubbing:"interactive"!==e.entityType,hideImmediateFeedback:"interactive"!==e.entityType,onTogglePreventScrubbing:function(){return t.toggleSetting("preventScrubbing")},onToggleImmediateFeedback:function(){return t.toggleSetting("immediateFeedback")},onToggleRequiresStudentSignIn:function(){return t.toggleSetting("requiresStudentSignIn")},onToggleRespectRatingsAndRestrictions:function(){return t.toggleSetting("respectRatingsAndRestrictions")},closeHeader:function(){return t.setShowHeader(!1)},disableRequiresStudentSignIn:t.settings.respectRatingsAndRestrictions}),r.createElement(m.P,{hideCreateClassroomButton:!0,onClickBack:e.goToFlowSelector,onClickNext:function(){t.onShare(function(t){c({type:"create-open-classroom",share:t}),e.setShare(t),e.goToAssignDetails()})},nextButtonText:t.nextButtonText,showSpinner:t.shouldShowSpinner}))}function Ht(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return $t(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)?$t(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(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 Wt(e){var t=Ht(r.useState("settings"),2),n=t[0],o=t[1],i=Ht(r.useState(),2),s=i[0],l=i[1],u={objectId:e.objectId,entityType:e.entityType,closePopup:e.closePopup,goToFlowSelector:e.goToFlowSelector,shareId:null==s?void 0:s.shareId,initialDetailsScreen:"share-link",goToAssignDetails:function(){return o("assign-details")},setShare:l};return r.createElement(a.r,{data:u,animate:!1,step:n,setStep:o,closePopup:e.closePopup,steps:{settings:{view:zt},"assign-details":{view:c.AssignDetailsView}}})}function Qt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Xt(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)?Xt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xt(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 Jt(e){var t,n=Qt(r.useState(null!==(t=e.selectedFlow)&&void 0!==t?t:"flow-selector"),2),o=n[0],i=n[1],s=Qt(r.useState(!1),2),l=s[0],c=s[1],u=Qt(r.useState(!0),2),d=u[0],m=u[1];function p(e){m(!1),i(e)}var f={objectId:e.objectId,entityType:e.entityType,closePopup:e.closePopup,initialStep:l?"create-classroom":null,goToCreateClassroomPrompt:function(){c(!0),p("existing-classroom")},goToExistingClassroomFlow:function(){return p("existing-classroom")},goToFlowSelector:function(){return p("flow-selector")},goToOpenClassroomFlow:function(){return p("open-classroom")}};return r.createElement(a.r,{data:f,step:o,setStep:p,closePopup:e.closePopup,animate:d,steps:{"flow-selector":{view:Tt},"open-classroom":{view:Wt},"existing-classroom":{view:ot}}})}},63578:(e,t,n)=>{n.d(t,{Y:()=>m});var r=n(70680),a=n(23481),o=n(20354),i=n(94644),s=n(31949),l=n(69883),c=n(60115),u=n(88630),d=n(1211),m=function(e,t){var n=o.a.useBasicFetch(s.N.currentUser()),m=(0,l.Z)(),p=(0,r.I0)(),f=function(r){return e?(null==t?void 0:t.withStudentsCount)?d.J.searchClassroomsV4(e,r):d.J.searchClassrooms(e,n.data.customerId,r):(null==t?void 0:t.withStudentsCount)?u.F.getPublishedWithStudents(n.data.id,r):u.F.getPublished(n.data.id,r)},g=function(e){return o.a.getFetch(p)(f(e))},v=(0,c.K)(!!n.data&&f,g,function(e,t){if(1===e)return(0,i.r)(t);m.error(a.T.getPhrase("classrooms.hooks","error"))},function(t){return e?t.results:t.data});return Object.assign(Object.assign({},v),{fetchNext:g})}},27787:(e,t,n)=>{n.d(t,{G:()=>o});var r=n(5173),a=n(23481).T.encloseNamespace("classrooms.classroomValidation"),o=(0,r.Ry)().shape({name:(0,r.Z_)().max(255,function(){return a("nameExceeds")}).required(function(){return a("nameRequired")}).default("")})},82602:(e,t,n)=>{n.d(t,{WU:()=>c});var r=["second","minute","hour","day","week","month","year"],a=["秒","分钟","小时","天","周","个月","年"],o={},i=function(e,t){o[e]=t},s=[60,60,24,7,365/7/12,12];function l(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var c=function(e,t,n){var r=function(e,t){return(+(t?l(t):new Date)-+l(e))/1e3}(e,n&&n.relativeDate);return function(e,t){for(var n=e<0?1:0,r=e=Math.abs(e),a=0;e>=s[a]&&a<s.length;a++)e/=s[a];return(e=Math.floor(e))>(0==(a*=2)?9:1)&&(a+=1),t(e,a,r)[n].replace("%s",e.toString())}(r,function(e){return o[e]||o.en_US}(t))};i("en_US",function(e,t){if(0===t)return["just now","right now"];var n=r[Math.floor(t/2)];return e>1&&(n+="s"),[e+" "+n+" ago","in "+e+" "+n]}),i("zh_CN",function(e,t){if(0===t)return["刚刚","片刻后"];var n=a[~~(t/2)];return[e+" "+n+"前",e+" "+n+"后"]})}}]);
3
+ //# sourceMappingURL=6756-3c7f911759-lite.chunk.js.map