@clickview/lite 0.75.0-rc.2 → 0.75.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{119-lite-a1f592f602.chunk.css → 1243-lite-13eda8f6a0.chunk.css} +2 -4
  3. package/dist/css/{7230-lite-36ff6e6d53.chunk.css → 1867-lite-8baa8af02b.chunk.css} +3 -5
  4. package/dist/css/{5241-lite-baab687563.chunk.css → 4203-lite-9ffab89741.chunk.css} +3 -5
  5. package/dist/css/{8364-lite-99938dea56.chunk.css → 5193-lite-d434056013.chunk.css} +1 -0
  6. package/dist/css/{7339-lite-05c396fed3.chunk.css → 6756-lite-839687d3d7.chunk.css} +1 -0
  7. package/dist/css/{9527-lite-1d2221b6a8.chunk.css → 7103-lite-fef3024f61.chunk.css} +2 -4
  8. package/dist/css/{8856-lite-827b34aed7.chunk.css → 8856-lite-c114ab5c89.chunk.css} +1 -1
  9. package/dist/languages/en.json +1 -1
  10. package/dist/scripts/104-0c03791b45-lite.chunk.js +2 -0
  11. package/dist/scripts/104-0c03791b45-lite.chunk.js.map +1 -0
  12. package/dist/scripts/1074-4f6b136f9a-lite.chunk.js +2 -0
  13. package/dist/scripts/1074-4f6b136f9a-lite.chunk.js.map +1 -0
  14. package/dist/scripts/1087-861be5211f-lite.chunk.js +2 -0
  15. package/dist/scripts/1087-861be5211f-lite.chunk.js.map +1 -0
  16. package/dist/scripts/1192-d409863a3c-lite.chunk.js +2 -0
  17. package/dist/scripts/1192-d409863a3c-lite.chunk.js.map +1 -0
  18. package/dist/scripts/1199-d2fcbb547e-lite.chunk.js +2 -0
  19. package/dist/scripts/1199-d2fcbb547e-lite.chunk.js.map +1 -0
  20. package/dist/scripts/121-1b744469ee-lite.chunk.js +2 -0
  21. package/dist/scripts/121-1b744469ee-lite.chunk.js.map +1 -0
  22. package/dist/scripts/{1221-502395e693-lite.chunk.js → 1221-1109d5379d-lite.chunk.js} +3 -3
  23. package/dist/scripts/1221-1109d5379d-lite.chunk.js.map +1 -0
  24. package/dist/scripts/1243-ede924125c-lite.chunk.js +2 -0
  25. package/dist/scripts/1243-ede924125c-lite.chunk.js.map +1 -0
  26. package/dist/scripts/147-44ee7e9a78-lite.chunk.js +2 -0
  27. package/dist/scripts/147-44ee7e9a78-lite.chunk.js.map +1 -0
  28. package/dist/scripts/1491-ab92a040e5-lite.chunk.js +2 -0
  29. package/dist/scripts/1491-ab92a040e5-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{1610-7f58bb25a9-lite.chunk.js → 1610-bb6eff2ff1-lite.chunk.js} +2 -2
  31. package/dist/scripts/1610-bb6eff2ff1-lite.chunk.js.map +1 -0
  32. package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js → 1867-3b447a1b85-lite.chunk.js} +2 -2
  33. package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js.map → 1867-3b447a1b85-lite.chunk.js.map} +1 -1
  34. package/dist/scripts/{218-297de74688-lite.chunk.js → 218-f6cc4a3b6a-lite.chunk.js} +2 -2
  35. package/dist/scripts/218-f6cc4a3b6a-lite.chunk.js.map +1 -0
  36. package/dist/scripts/2258-ed7383502f-lite.chunk.js +3 -0
  37. package/dist/scripts/2258-ed7383502f-lite.chunk.js.map +1 -0
  38. package/dist/scripts/{2968-c4c0114915-lite.chunk.js → 2968-13e56eeff8-lite.chunk.js} +1 -1
  39. package/dist/scripts/2968-13e56eeff8-lite.chunk.js.map +1 -0
  40. package/dist/scripts/3268-2736356687-lite.chunk.js +2 -0
  41. package/dist/scripts/{3268-faca1bf46e-lite.chunk.js.map → 3268-2736356687-lite.chunk.js.map} +1 -1
  42. package/dist/scripts/3597-eaae787997-lite.chunk.js +3 -0
  43. package/dist/scripts/3597-eaae787997-lite.chunk.js.map +1 -0
  44. package/dist/scripts/3836-425334ab13-lite.chunk.js +2 -0
  45. package/dist/scripts/{3836-f2a0c9f713-lite.chunk.js.map → 3836-425334ab13-lite.chunk.js.map} +1 -1
  46. package/dist/scripts/3837-e4c5bb738b-lite.chunk.js +2 -0
  47. package/dist/scripts/3837-e4c5bb738b-lite.chunk.js.map +1 -0
  48. package/dist/scripts/4185-7178e5a716-lite.chunk.js +2 -0
  49. package/dist/scripts/4185-7178e5a716-lite.chunk.js.map +1 -0
  50. package/dist/scripts/4203-ee50e89841-lite.chunk.js +3 -0
  51. package/dist/scripts/4203-ee50e89841-lite.chunk.js.map +1 -0
  52. package/dist/scripts/4598-bcd3f6f8a7-lite.chunk.js +2 -0
  53. package/dist/scripts/{4598-2b1daca7ae-lite.chunk.js.map → 4598-bcd3f6f8a7-lite.chunk.js.map} +1 -1
  54. package/dist/scripts/{4722-d96da2a258-lite.chunk.js → 4722-9eb591621a-lite.chunk.js} +3 -3
  55. package/dist/scripts/4722-9eb591621a-lite.chunk.js.map +1 -0
  56. package/dist/scripts/4948-f21dad2ca1-lite.chunk.js +2 -0
  57. package/dist/scripts/4948-f21dad2ca1-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{5153-079b4125ae-lite.chunk.js → 5153-cf62a95421-lite.chunk.js} +3 -3
  59. package/dist/scripts/5153-cf62a95421-lite.chunk.js.map +1 -0
  60. package/dist/scripts/6137-bc8b193237-lite.chunk.js +2 -0
  61. package/dist/scripts/6137-bc8b193237-lite.chunk.js.map +1 -0
  62. package/dist/scripts/6756-cfd00009e4-lite.chunk.js +3 -0
  63. package/dist/scripts/6756-cfd00009e4-lite.chunk.js.map +1 -0
  64. package/dist/scripts/6790-36ce6dda04-lite.chunk.js +2 -0
  65. package/dist/scripts/6790-36ce6dda04-lite.chunk.js.map +1 -0
  66. package/dist/scripts/705-10a85bae7a-lite.chunk.js +2 -0
  67. package/dist/scripts/705-10a85bae7a-lite.chunk.js.map +1 -0
  68. package/dist/scripts/7103-14bd3771d2-lite.chunk.js +2 -0
  69. package/dist/scripts/7103-14bd3771d2-lite.chunk.js.map +1 -0
  70. package/dist/scripts/7148-d966512e45-lite.chunk.js +2 -0
  71. package/dist/scripts/7148-d966512e45-lite.chunk.js.map +1 -0
  72. package/dist/scripts/7205-12a6b2ac55-lite.chunk.js +2 -0
  73. package/dist/scripts/7205-12a6b2ac55-lite.chunk.js.map +1 -0
  74. package/dist/scripts/7438-38f60d3e8e-lite.chunk.js +2 -0
  75. package/dist/scripts/7438-38f60d3e8e-lite.chunk.js.map +1 -0
  76. package/dist/scripts/7480-e0749592fc-lite.chunk.js +2 -0
  77. package/dist/scripts/7480-e0749592fc-lite.chunk.js.map +1 -0
  78. package/dist/scripts/8010-e9163f5bee-lite.chunk.js +2 -0
  79. package/dist/scripts/8010-e9163f5bee-lite.chunk.js.map +1 -0
  80. package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js +3 -0
  81. package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js.map +1 -0
  82. package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js +2 -0
  83. package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js.map +1 -0
  84. package/dist/scripts/8856-4da691f96f-lite.chunk.js +2 -0
  85. package/dist/scripts/8856-4da691f96f-lite.chunk.js.map +1 -0
  86. package/dist/scripts/9003-fc8e674468-lite.chunk.js +2 -0
  87. package/dist/scripts/9003-fc8e674468-lite.chunk.js.map +1 -0
  88. package/dist/scripts/9042-add0f1c2e2-lite.chunk.js +2 -0
  89. package/dist/scripts/9042-add0f1c2e2-lite.chunk.js.map +1 -0
  90. package/dist/scripts/9103-4eec16d73b-lite.chunk.js +2 -0
  91. package/dist/scripts/9103-4eec16d73b-lite.chunk.js.map +1 -0
  92. package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js +2 -0
  93. package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js.map +1 -0
  94. package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js +2 -0
  95. package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js.map +1 -0
  96. package/dist/scripts/9620-3746c84350-lite.chunk.js +3 -0
  97. package/dist/scripts/9620-3746c84350-lite.chunk.js.map +1 -0
  98. package/dist/scripts/9740-9d50d31b72-lite.chunk.js +2 -0
  99. package/dist/scripts/9740-9d50d31b72-lite.chunk.js.map +1 -0
  100. package/dist/scripts/{bundle-95a6fc2722.min.js → bundle-fc60888464.min.js} +3 -3
  101. package/dist/scripts/{bundle-95a6fc2722.min.js.map → bundle-fc60888464.min.js.map} +1 -1
  102. package/package.json +1 -1
  103. package/dist/scripts/104-b62a8447f0-lite.chunk.js +0 -2
  104. package/dist/scripts/104-b62a8447f0-lite.chunk.js.map +0 -1
  105. package/dist/scripts/107-989ac2dc47-lite.chunk.js +0 -2
  106. package/dist/scripts/107-989ac2dc47-lite.chunk.js.map +0 -1
  107. package/dist/scripts/119-e3a8bd94dd-lite.chunk.js +0 -2
  108. package/dist/scripts/119-e3a8bd94dd-lite.chunk.js.map +0 -1
  109. package/dist/scripts/1199-a2ac2338d0-lite.chunk.js +0 -2
  110. package/dist/scripts/1199-a2ac2338d0-lite.chunk.js.map +0 -1
  111. package/dist/scripts/121-bf7a153eb8-lite.chunk.js +0 -2
  112. package/dist/scripts/121-bf7a153eb8-lite.chunk.js.map +0 -1
  113. package/dist/scripts/1221-502395e693-lite.chunk.js.map +0 -1
  114. package/dist/scripts/1400-43b37bfa8d-lite.chunk.js +0 -2
  115. package/dist/scripts/1400-43b37bfa8d-lite.chunk.js.map +0 -1
  116. package/dist/scripts/1610-7f58bb25a9-lite.chunk.js.map +0 -1
  117. package/dist/scripts/218-297de74688-lite.chunk.js.map +0 -1
  118. package/dist/scripts/2258-4d0639c9fe-lite.chunk.js +0 -3
  119. package/dist/scripts/2258-4d0639c9fe-lite.chunk.js.map +0 -1
  120. package/dist/scripts/2968-c4c0114915-lite.chunk.js.map +0 -1
  121. package/dist/scripts/3268-faca1bf46e-lite.chunk.js +0 -2
  122. package/dist/scripts/3836-f2a0c9f713-lite.chunk.js +0 -2
  123. package/dist/scripts/3837-fe321e8deb-lite.chunk.js +0 -2
  124. package/dist/scripts/3837-fe321e8deb-lite.chunk.js.map +0 -1
  125. package/dist/scripts/4025-306e0fbdd5-lite.chunk.js +0 -2
  126. package/dist/scripts/4025-306e0fbdd5-lite.chunk.js.map +0 -1
  127. package/dist/scripts/4164-5d3af57b67-lite.chunk.js +0 -2
  128. package/dist/scripts/4164-5d3af57b67-lite.chunk.js.map +0 -1
  129. package/dist/scripts/4185-e8e40dab72-lite.chunk.js +0 -2
  130. package/dist/scripts/4185-e8e40dab72-lite.chunk.js.map +0 -1
  131. package/dist/scripts/4562-545f04c53f-lite.chunk.js +0 -2
  132. package/dist/scripts/4562-545f04c53f-lite.chunk.js.map +0 -1
  133. package/dist/scripts/4598-2b1daca7ae-lite.chunk.js +0 -2
  134. package/dist/scripts/4722-d96da2a258-lite.chunk.js.map +0 -1
  135. package/dist/scripts/4948-66ba60c8e3-lite.chunk.js +0 -2
  136. package/dist/scripts/4948-66ba60c8e3-lite.chunk.js.map +0 -1
  137. package/dist/scripts/5153-079b4125ae-lite.chunk.js.map +0 -1
  138. package/dist/scripts/5241-163f5ac64c-lite.chunk.js +0 -3
  139. package/dist/scripts/5241-163f5ac64c-lite.chunk.js.map +0 -1
  140. package/dist/scripts/5349-bc0fcb4083-lite.chunk.js +0 -2
  141. package/dist/scripts/5349-bc0fcb4083-lite.chunk.js.map +0 -1
  142. package/dist/scripts/6135-a878a9cff0-lite.chunk.js +0 -3
  143. package/dist/scripts/6135-a878a9cff0-lite.chunk.js.map +0 -1
  144. package/dist/scripts/6509-23fdb20a4b-lite.chunk.js +0 -2
  145. package/dist/scripts/6509-23fdb20a4b-lite.chunk.js.map +0 -1
  146. package/dist/scripts/6790-5086b72662-lite.chunk.js +0 -2
  147. package/dist/scripts/6790-5086b72662-lite.chunk.js.map +0 -1
  148. package/dist/scripts/7148-432ab72091-lite.chunk.js +0 -2
  149. package/dist/scripts/7148-432ab72091-lite.chunk.js.map +0 -1
  150. package/dist/scripts/7205-2428f775a5-lite.chunk.js +0 -2
  151. package/dist/scripts/7205-2428f775a5-lite.chunk.js.map +0 -1
  152. package/dist/scripts/7339-5793c921bb-lite.chunk.js +0 -3
  153. package/dist/scripts/7339-5793c921bb-lite.chunk.js.map +0 -1
  154. package/dist/scripts/7438-a5f96e58fc-lite.chunk.js +0 -2
  155. package/dist/scripts/7438-a5f96e58fc-lite.chunk.js.map +0 -1
  156. package/dist/scripts/7926-6b040931aa-lite.chunk.js +0 -2
  157. package/dist/scripts/7926-6b040931aa-lite.chunk.js.map +0 -1
  158. package/dist/scripts/8536-f75009dd87-lite.chunk.js +0 -2
  159. package/dist/scripts/8536-f75009dd87-lite.chunk.js.map +0 -1
  160. package/dist/scripts/8687-549a2d9278-lite.chunk.js +0 -3
  161. package/dist/scripts/8687-549a2d9278-lite.chunk.js.map +0 -1
  162. package/dist/scripts/8856-df102acdff-lite.chunk.js +0 -2
  163. package/dist/scripts/8856-df102acdff-lite.chunk.js.map +0 -1
  164. package/dist/scripts/9134-42dc2390ce-lite.chunk.js +0 -2
  165. package/dist/scripts/9134-42dc2390ce-lite.chunk.js.map +0 -1
  166. package/dist/scripts/9266-c5d6705147-lite.chunk.js +0 -2
  167. package/dist/scripts/9266-c5d6705147-lite.chunk.js.map +0 -1
  168. package/dist/scripts/9284-402a14d41c-lite.chunk.js +0 -2
  169. package/dist/scripts/9284-402a14d41c-lite.chunk.js.map +0 -1
  170. package/dist/scripts/9470-11c8c2ca71-lite.chunk.js +0 -2
  171. package/dist/scripts/9470-11c8c2ca71-lite.chunk.js.map +0 -1
  172. package/dist/scripts/9527-111c8586a7-lite.chunk.js +0 -2
  173. package/dist/scripts/9527-111c8586a7-lite.chunk.js.map +0 -1
  174. package/dist/scripts/9528-2b478f4ca8-lite.chunk.js +0 -3
  175. package/dist/scripts/9528-2b478f4ca8-lite.chunk.js.map +0 -1
  176. package/dist/scripts/9591-230bcf0935-lite.chunk.js +0 -2
  177. package/dist/scripts/9591-230bcf0935-lite.chunk.js.map +0 -1
  178. /package/dist/css/{8687-lite-6787cc731a.chunk.css → 3597-lite-6787cc731a.chunk.css} +0 -0
  179. /package/dist/css/{5349-lite-829df3b4e7.chunk.css → 6137-lite-829df3b4e7.chunk.css} +0 -0
  180. /package/dist/css/{9470-lite-edb2d29928.chunk.css → 8010-lite-edb2d29928.chunk.css} +0 -0
  181. /package/dist/css/{6135-lite-41bdd1c5a3.chunk.css → 8410-lite-41bdd1c5a3.chunk.css} +0 -0
  182. /package/dist/css/{121-lite-1337d9acf0.chunk.css → 9042-lite-1337d9acf0.chunk.css} +0 -0
  183. /package/dist/css/{9528-lite-6787cc731a.chunk.css → 9620-lite-6787cc731a.chunk.css} +0 -0
  184. /package/dist/scripts/{1221-502395e693-lite.chunk.js.LICENSE.txt → 1221-1109d5379d-lite.chunk.js.LICENSE.txt} +0 -0
  185. /package/dist/scripts/{2258-4d0639c9fe-lite.chunk.js.LICENSE.txt → 2258-ed7383502f-lite.chunk.js.LICENSE.txt} +0 -0
  186. /package/dist/scripts/{4722-d96da2a258-lite.chunk.js.LICENSE.txt → 3597-eaae787997-lite.chunk.js.LICENSE.txt} +0 -0
  187. /package/dist/scripts/{5153-079b4125ae-lite.chunk.js.LICENSE.txt → 4203-ee50e89841-lite.chunk.js.LICENSE.txt} +0 -0
  188. /package/dist/scripts/{5241-163f5ac64c-lite.chunk.js.LICENSE.txt → 4722-9eb591621a-lite.chunk.js.LICENSE.txt} +0 -0
  189. /package/dist/scripts/{6135-a878a9cff0-lite.chunk.js.LICENSE.txt → 5153-cf62a95421-lite.chunk.js.LICENSE.txt} +0 -0
  190. /package/dist/scripts/{7339-5793c921bb-lite.chunk.js.LICENSE.txt → 6756-cfd00009e4-lite.chunk.js.LICENSE.txt} +0 -0
  191. /package/dist/scripts/{8687-549a2d9278-lite.chunk.js.LICENSE.txt → 8410-1f1fd5ccf0-lite.chunk.js.LICENSE.txt} +0 -0
  192. /package/dist/scripts/{9528-2b478f4ca8-lite.chunk.js.LICENSE.txt → 9620-3746c84350-lite.chunk.js.LICENSE.txt} +0 -0
  193. /package/dist/scripts/{bundle-95a6fc2722.min.js.LICENSE.txt → bundle-fc60888464.min.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4948],{21976:(e,t,a)=>{a.d(t,{x:()=>u});var n=a(32735),r=a(72306),s=a.n(r),i=a(70312),l=a.n(i),c=a(75896),o=a(70072),m=function(e){return{title:{text:null},credits:{enabled:!1},yAxis:{title:{text:null},labels:{enabled:!1},gridLineWidth:0,tickPixelInterval:1,startOnTick:!1,endOnTick:!1,min:-.2},xAxis:{title:{text:e,margin:8,style:o.d},labels:{style:o.d},lineWidth:0},legend:{enabled:!1},chart:{type:"column",backgroundColor:"transparent",height:"160px",spacingTop:20},plotOptions:{column:{dataLabels:{enabled:!1},enableMouseTracking:!1,minPointLength:8}}}};function u(e){var t,a,r,i,o=n.useRef(),u=n.useRef(null);return n.useEffect((function(){if(e.withObserver&&window.ResizeObserver){var t=new window.ResizeObserver((function(){var e;null===(e=o.current)||void 0===e||e.chart.reflow()}));return o.current&&t.observe(u.current),function(){return t.disconnect()}}}),[e.withObserver]),n.createElement("div",{ref:u},n.createElement(l(),{highcharts:s(),options:(a=e.chartData,r=m(e.label),i=null===(t=c.m.first(a.series))||void 0===t?void 0:t.data.some((function(e){return e.y>0})),Object.assign(Object.assign({},r),{yAxis:Object.assign(Object.assign({},r.yAxis),i?{min:-.2}:{min:0,max:1}),xAxis:Object.assign(Object.assign(Object.assign({},r.xAxis),e.xAxis),{categories:a.categories}),series:a.series})),ref:o}))}},98551:(e,t,a)=>{a.d(t,{y:()=>m});var n=a(32735),r=a(77640),s=a(15611),i=a(40782),l=a(2606);const c={avatar:"uMuZt",image:"WdKiU"};var o=3;function m(e){return n.createElement(n.Fragment,null,e.students.length?n.createElement("ul",{className:"list-unstyled mb-2"},e.students.slice(0,o).map((function(t,a){return n.createElement("li",{key:a,className:"d-flex align-items-center mb-2"},n.createElement(r.t,{user:t,imageCdnUrl:e.imageCdnUrl,avatarClassName:c.avatar,detailsClassName:"ms-2",showDisplayName:!0,showSubText:!1,anonymiseUsers:e.anonymiseUsers}),n.createElement("div",{className:"d-flex align-items-center ms-auto"},n.createElement("span",{className:"me-2"},void 0===t.percentage?"- ":Math.round(100*t.percentage),"%"),n.createElement(i.O,{percentage:t.percentage,size:l.Mk.ExtraSmall})))}))):n.createElement("div",{className:"text-center"},n.createElement("img",{className:"".concat(c.image," mb-2"),src:e.imageUrl}),n.createElement("p",{className:"text-secondary mb-0",dangerouslySetInnerHTML:{__html:e.description}})),!!e.students.length&&e.appLink&&n.createElement(s.F,{appLink:e.appLink,className:"text-info mt-auto"},e.appLinkText))}},51870:(e,t,a)=>{a.d(t,{i:()=>g});var n=a(32735),r=a(23481),s=a(84621),i=a(21976),l=a(70072),c=a(83345),o=a(35223);const m={purpleChart:"OPcvi",grayChart:"HlWj7"};function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d="shared.insightDevices",p=r.T.encloseNamespace(d);function g(e){var t,a,r=function(){var t,a={Phone:0,Computer:0};return(null===(t=e.osCount)||void 0===t?void 0:t.length)?e.osCount.reduce((function(e,t){if(!t.name)return e;var a=function(e){switch(e){case"Android":case"Windows Phone":case"iOS":case"BlackBerry":return"Phone";case"Linux":case"Unix":case"Macintosh":case"Windows":return"Computer"}}(t.name);return a?(e[a]=e[a]+t.count,e):e}),a):a}(),g=Math.max.apply(Math,function(e){if(Array.isArray(e))return u(e)}(a=Object.keys(r).map((function(e){return r[e]})))||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 u(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?u(e,t):void 0}}(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.")}()),h=Object.keys(r).filter((function(e){return r[e]===g})),v={categories:Object.keys(r),series:[{type:"column",borderRadius:4,dataLabels:{enabled:!0,style:l.d,inside:!1,overflow:"allow",crop:!1},data:Object.keys(r).map((function(e){var t=0!==g&&r[e]===g;return{className:"".concat(0===r[e]?m.grayChart:m.purpleChart," ").concat(t?"":"opacity-25"),borderWidth:t?2:0,borderColor:t?"black":"",y:r[e]}}))}]};return n.createElement(s.L,{title:p("title"),svgClassName:"bg-light-ultramarine text-ultramarine",svgName:o.vn.Monitor},n.createElement("p",{className:"mb-0"},(null===(t=e.osCount)||void 0===t?void 0:t.filter((function(e){return e.name})).length)?n.createElement(c.x,{namespace:d,phrase:"description",options:{smartCount:h.length,device:1===h.length?h[0].toLowerCase():null}}):n.createElement(c.x,{namespace:d,phrase:"notViewed"})),n.createElement("div",{className:"position-relative mt-auto"},n.createElement(i.x,{label:p("device"),chartData:v,xAxis:{labels:{useHTML:!0,formatter:function(){return'\n <div class="d-flex flex-column align-items-center">\n <span class="'.concat(m.font,' font-size-sm text-dark mb-1">').concat(this.value,"</span>\n ").concat(function(e){var t="";switch(e){case"Computer":t=o.vn.Monitor;break;case"Phone":t=o.vn.Mobile;break;case"Tablet":t=o.vn.Tablet;break;default:return}return o.Nj.getSvg(t).replace(/<svg[^>]*>/g,'<svg class="svg-container">')}(this.value),"\n </div>\n ")}}},withObserver:!0})))}},50916:(e,t,a)=>{a.d(t,{b:()=>p});var n=a(32735),r=a(23481),s=a(38307),i=a(84621),l=a(15611),c=a(83345),o=a(35223);const m={heatMap:"Rfr9N",heatMapTimepointIndicator:"s6JbA",heatMapTimepointIndicatorVisible:"mgjWX"};var u="shared.insightHeatmap",d=r.T.encloseNamespace(u);function p(e){var t,a=e.engagementRate||(null===(t=e.engagement)||void 0===t?void 0:t.engagementRate),r=a>0?Math.round(100*a):null;return n.createElement(i.L,{title:d("title"),svgName:o.vn.Timer,svgClassName:"bg-light-green text-green"},n.createElement("div",{className:"mb-2"},n.createElement("p",{className:"mb-0"},r?n.createElement(c.x,{namespace:u,phrase:"everyoneWatched",options:{engagementRate:r}}):n.createElement(c.x,{namespace:u,phrase:"notWatched"})),!!r&&n.createElement(l.F,{appLink:e.heatmapAppLink,className:"text-info"},n.createElement(c.x,{namespace:u,phrase:"viewHeatmap"}))),n.createElement("div",{className:"mb-2"},n.createElement(s.c,{engagement:e.engagement,className:m.heatMap})),n.createElement("p",{className:"h3 text-center mb-2"},r||"--","%"),n.createElement("p",{className:"text-center mb-0 font-size-sm"},n.createElement(c.x,{namespace:u,phrase:"amountWatched"})))}},53214:(e,t,a)=>{a.d(t,{u:()=>u});var n=a(32735),r=a(91693),s=a(83345),i=a(35223),l=a(99742),c=a(86099),o=a(38279),m="lite.insightsMask";function u(e){var t=(0,c.Zm)(e.share);return n.createElement("div",{className:"".concat(!e.hasData&&o.Z.mask," position-relative")},n.createElement("div",{className:e.hasData?"":"position-absolute ps-1"},e.children),n.createElement("div",{className:e.hasData?"":"".concat(o.Z.backdrop," d-flex flex-column align-items-center justify-content-start py-5")},!e.hasData&&n.createElement("div",{className:"text-center p-5 m-5 w-50"},n.createElement("img",{className:"mb-3",src:l.W.Insights.SEND_PAPER_PLANE,width:288}),n.createElement("h2",{className:"h3 mb-3"},n.createElement(s.x,{namespace:m,phrase:"shareHeading"})),n.createElement("p",{className:"mb-3"},n.createElement(s.x,{namespace:m,phrase:"shareDescription"})),n.createElement(r.h,{svgName:i.vn.Share,className:"btn btn-dark",appLink:t},n.createElement(s.x,{namespace:m,phrase:"share"})))))}},54948:(e,t,a)=>{a.d(t,{m:()=>le});var n=a(32735),r=a(23481),s=a(84621),i=a(21976),l=a(70072),c=a(83345),o=a(35223);const m={tealChart:"lZZf0",grayChart:"wJQc4"};function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function d(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||p(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 p(e,t){if(e){if("string"==typeof e)return g(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?g(e,t):void 0}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var h="shared.insightAverageAttempts",v=r.T.encloseNamespace(h);function b(e){var t,a,r=function(){var t=e.students.reduce((function(e,t){var a,n,r,s=t.summary.attempts.toString();return s in e||Object.assign(e,(a={},r=0,(n=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+""}(n=s))in a?Object.defineProperty(a,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):a[n]=r,a)),e[s]++,e}),{});return Object.keys(t).length?t:{0:0}}(),g=Math.max.apply(Math,d(Object.keys(r).map((function(e){return r[e]})))),b=Object.keys(r).reduce((function(e,t){return r[t]===g?[].concat(d(e),[t]):e}),[]),f=(t=0===r[0],{categories:Object.keys(r),series:[{type:"column",color:r[0]?"#EAEAEA":"#40C2BB",borderRadius:4,dataLabels:{enabled:!t,style:l.d,inside:!1,overflow:"allow",crop:!1},data:Object.keys(r).map((function(e){var a=0!==g&&r[e]===g;return{className:"".concat(t?m.grayChart:m.tealChart," ").concat(r[e]!==g&&0!==r[e]?"opacity-25":""),borderWidth:a?2:0,borderColor:a?"black":"",y:r[e]}}))}]});return n.createElement(s.L,{title:v("title"),svgName:o.vn.Refresh,svgClassName:"bg-light-purple text-purple"},n.createElement("p",null,b.length?n.createElement(c.x,{namespace:h,phrase:"averageAttempts",options:{smartCount:(a=Object.entries(r).reduce((function(e,t){var a,n,r=(n=2,function(e){if(Array.isArray(e))return e}(a=t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,s,i,l=[],c=!0,o=!1;try{if(s=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=s.call(a)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){o=!0,r=e}finally{try{if(!c&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(o)throw r}}return l}}(a,n)||p(a,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=r[0],i=r[1];return e.totalAttempts+=+s*i,e.totalUsers+=i,e}),{totalAttempts:0,totalUsers:0}),0===a.totalUsers?0:Math.round(a.totalAttempts/a.totalUsers*100)/100)}}):n.createElement(c.x,{namespace:h,phrase:"noAttempts"})),n.createElement("div",{className:"mt-auto"},n.createElement(i.x,{label:v("attempts"),chartData:f})))}var f=a(75896);const y={redChart:"G7zOw",yellowChart:"k34mm",greenChart:"vBneA",blueChart:"RPTWm",grayChart:"k4JFZ",borderDark:"LWor3"};var E="shared.insightAverageScore",k=r.T.encloseNamespace(E);function N(e){return n.createElement(s.L,{title:k("title"),svgName:o.vn.Analytics,svgClassName:"bg-light-orange text-orange"},n.createElement("p",null,e.students.length?n.createElement(c.x,{namespace:E,phrase:"averageScore",options:(l=e.students.map((function(e){return e.summary.percentCorrect})),m=l.reduce((function(e,t){return e+t}),0)/l.length,u=f.m.last(f.m.last(e.students).results).attempts.length,{averageScore:Math.round(u*m),totalQuestions:u,averagePercentage:(100*m).toFixed(1)})}):n.createElement(c.x,{namespace:E,phrase:"noAnswers"})),n.createElement(i.x,{label:"".concat(k("studentScores")," (%)"),chartData:(t=Array(11).fill(0),a=e.students.reduce((function(e,t){return e[Math.floor(10*t.summary.percentCorrect)]++,e}),t),r=["0","10","20","30","40","50","60","70","80","90","100"],{categories:r,series:[{type:"column",color:"#4E9ACE",borderRadius:4,data:a.map((function(e,t){var a=Number(r[t]);return{className:"".concat(function(e,t){return 0===t?y.grayChart:e<50?y.redChart:e<70?y.yellowChart:e<90?y.greenChart:y.blueChart}(a,e)),y:e}}))}]})}));var t,a,r,l,m,u}var A=a(98551),C=r.T.encloseNamespace("shared.insightCompletedStudents");function x(e){return n.createElement(s.L,{title:C("title"),svgName:o.vn.Flag,svgClassName:"bg-light-indigo text-indigo",count:e.students.length},n.createElement(A.y,{students:e.students.map((function(e){return Object.assign(Object.assign({},e.user),{percentage:e.summary.percentCorrect})})),imageCdnUrl:e.imageCdnUrl,imageUrl:e.imageUrl,description:C("completedStudents"),appLink:e.resultsAppLink,appLinkText:C("viewAll"),anonymiseUsers:e.anonymiseUsers}))}var L=a(51870),S=a(39157),O=a(15611),w=a(86572),U=a(40782),j=a(80845),I="shared.insightEasiestQuestion",M=r.T.encloseNamespace(I);function T(e){var t,a=n.useMemo((function(){return t=e.interactive,a=e.results,n=(0,j.Q)(t).map((function(e){return Object.assign(Object.assign({},e),{resultsSummary:(0,S.nq)(e,a)})})).filter((function(e){return!!e.resultsSummary.answered&&!e.resultsSummary.awaitingMarking})),r=f.m.sortBy(n,(function(e){return e.resultsSummary.percentCorrect})),f.m.last(r);var t,a,n,r}),[e.results.students.length]);return n.createElement(s.L,{title:M("title"),svgName:o.vn.StarOutline,svgClassName:"bg-light-blue text-blue"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement(U.O,{percentage:null===(t=null==a?void 0:a.resultsSummary)||void 0===t?void 0:t.percentCorrect,layout:U.I.LabelInside}),a?n.createElement("div",{className:"d-flex ms-2"},n.createElement(w.y,{interaction:a,iconClassName:"flex-shrink-0"})):n.createElement("span",{className:"ms-2"},M("noAnswers"))),a&&n.createElement(O.F,{appLink:Object.assign(Object.assign({},e.questionsAppLink),{params:Object.assign(Object.assign({},e.questionsAppLink.params),{sortBy:"score_desc"})}),className:"text-info"},n.createElement(c.x,{namespace:I,phrase:"viewQuestions"})))}var R="shared.insightHardestQuestion",q=r.T.encloseNamespace(R);function W(e){var t,a=n.useMemo((function(){return t=e.interactive,a=e.results,n=(0,j.Q)(t).map((function(e){return Object.assign(Object.assign({},e),{resultsSummary:(0,S.nq)(e,a)})})).filter((function(e){return!!e.resultsSummary.answered&&!e.resultsSummary.awaitingMarking})),r=f.m.sortBy(n,(function(e){return e.resultsSummary.percentCorrect})),f.m.first(r);var t,a,n,r}),[e.results.students.length]);return n.createElement(s.L,{title:q("title"),svgName:o.vn.QuestionMark,svgClassName:"bg-light-orange text-orange"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement(U.O,{percentage:null===(t=null==a?void 0:a.resultsSummary)||void 0===t?void 0:t.percentCorrect,layout:U.I.LabelInside}),a?n.createElement("div",{className:"d-flex ms-2"},n.createElement(w.y,{interaction:a,iconClassName:"flex-shrink-0"})):n.createElement("span",{className:"ms-2"},q("noAnswers"))),a&&n.createElement(O.F,{appLink:Object.assign(Object.assign({},e.questionsAppLink),{params:Object.assign(Object.assign({},e.questionsAppLink.params),{sortBy:"score_asc"})}),className:"text-info"},n.createElement(c.x,{namespace:R,phrase:"viewQuestions"})))}var B=a(50916),_=r.T.encloseNamespace("shared.insightHighScoringStudents");function P(e){return n.createElement(s.L,{title:_("title"),svgName:o.vn.Trophy,svgClassName:"bg-light-teal text-teal",count:e.students.length},n.createElement(A.y,{students:e.students.map((function(e){return Object.assign(Object.assign({},e.user),{percentage:e.summary.percentCorrect})})),imageCdnUrl:e.imageCdnUrl,imageUrl:e.greenChartImageUrl,description:_(e.completed.length?"noStudents":"highScore"),appLink:Object.assign(Object.assign({},e.resultsAppLink),{params:Object.assign(Object.assign({},e.resultsAppLink.params),{sortBy:"score_desc"})}),appLinkText:_("viewByHighest"),anonymiseUsers:e.anonymiseUsers}))}var D=r.T.encloseNamespace("shared.insightLowScoringStudents");function H(e){return n.createElement(s.L,{title:D("title"),svgName:o.vn.Hand,svgClassName:"bg-light-red text-red",count:e.students.length},n.createElement(A.y,{students:e.students.map((function(e){return Object.assign(Object.assign({},e.user),{percentage:e.summary.percentCorrect})})),imageCdnUrl:e.imageCdnUrl,imageUrl:e.completed.length?e.heartImageUrl:e.redChartImageUrl,description:D(e.completed.length?"doingWell":"lowScore"),appLink:Object.assign(Object.assign({},e.resultsAppLink),{params:Object.assign(Object.assign({},e.resultsAppLink.params),{sortBy:"score_asc"})}),appLinkText:D("viewByLowest"),anonymiseUsers:e.anonymiseUsers}))}var Q=r.T.encloseNamespace("shared.insightMarkingRequired");function Z(e){return n.createElement(s.L,{title:Q("title"),svgName:o.vn.Hand,svgClassName:"bg-light-blue text-blue",count:e.students.length},n.createElement(A.y,{students:e.students,imageCdnUrl:e.imageCdnUrl,imageUrl:e.imageUrl,description:Q("studentsRequireMarking"),appLink:Object.assign(Object.assign({},e.resultsAppLink),{params:{filterBy:"marking_required"}}),appLinkText:Q("viewAll"),anonymiseUsers:e.anonymiseUsers}))}function z(e){return function(e){if(Array.isArray(e))return F(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return F(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?F(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var G=r.T.encloseNamespace("shared.insightNotCompletedStudents");function J(e){var t,a,r,i=(t=e.markingRequiredStudents.map((function(e){return null==e?void 0:e.user.id})),a=e.completedStudents.map((function(e){return null==e?void 0:e.user.id})),r=e.classroomStudents.filter((function(e){return!t.includes(e.id)&&!a.includes(e.id)})),f.m.uniq([].concat(z(e.notCompletedStudents.map((function(e){return e.user}))),z(r)),"id"));return n.createElement(s.L,{title:G("title"),svgName:o.vn.Puzzle,svgClassName:"bg-light-teal text-teal",count:i.length},n.createElement(A.y,{students:i,imageCdnUrl:e.imageCdnUrl,imageUrl:e.imageUrl,description:G("completed"),appLink:Object.assign(Object.assign({},e.resultsAppLink),{params:{filterBy:"not_completed"}}),appLinkText:G("viewAll"),anonymiseUsers:e.anonymiseUsers}))}var V=a(8604),$=a(94892),K=a(99742),X=a(91693),Y=a(38279),ee="lite.insightsMask";function te(e){return n.createElement("div",{className:"".concat(e.requiresMarking&&Y.Z.mask," position-relative")},n.createElement("div",{className:e.requiresMarking?"position-absolute top-0":""},e.children),n.createElement("div",{className:e.requiresMarking?"".concat(Y.Z.backdrop," d-flex flex-column align-items-center justify-content-start py-5"):""},!!e.requiresMarking&&n.createElement("div",{className:"text-center w-50"},n.createElement("img",{src:K.W.Insights.MARKING_RESPONSES,className:"mb-3",width:288}),n.createElement("h2",{className:"h3 mb-3"},n.createElement(c.x,{namespace:ee,phrase:"markHeading"})),n.createElement("p",{className:"mb-3"},n.createElement(c.x,{namespace:ee,phrase:"markDescription"})),n.createElement(X.h,{svgName:o.vn.Check,className:"btn btn-dark mb-3",appLink:Object.assign(Object.assign({},e.appLink),{params:Object.assign(Object.assign({},e.appLink.params),{filterBy:"marking_required"})})},n.createElement(c.x,{namespace:ee,phrase:"markResponses",options:{smartCount:e.requiresMarking}})),n.createElement("button",{className:"btn btn-link d-block p-0 mx-auto",onClick:e.hideMarkingRequiredMask},n.createElement(c.x,{namespace:ee,phrase:"seeIncomplete"})))))}var ae=a(53214);const ne={partialInsights:"pG0Jh"};function re(){return n.createElement("div",null,n.createElement("h2",{className:"h4 w-25 partial-loading-background"}," "),n.createElement("div",{className:"row g-3 mb-5"},n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")}))),n.createElement("h2",{className:"h4 w-25 partial-loading-background"}," "),n.createElement("div",{className:"row g-3 mb-5"},n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")}))),n.createElement("h2",{className:"h4 w-25 partial-loading-background"}," "),n.createElement("div",{className:"row g-3 mb-5"},n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")})),n.createElement("div",{className:"col-6"},n.createElement("div",{className:"".concat(ne.partialInsights," rounded partial-loading-background")}))))}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var ie="insights.interactiveInsightsOverview";function le(e){var t,a,r,s,i=(r=n.useState(!1),s=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,s,i,l=[],c=!0,o=!1;try{if(s=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=s.call(a)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){o=!0,r=e}finally{try{if(!c&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(o)throw r}}return l}}(r,s)||function(e,t){if(e){if("string"==typeof e)return se(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?se(e,t):void 0}}(r,s)||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=i[0],o=i[1],m=e.hasDataLoaded&&(0,S.R6)(e.interactive,e.results,$.T),u=e.hasDataLoaded&&!!e.results.students.length;return n.createElement(n.Fragment,null,!e.hasDataLoaded&&n.createElement(re,null),e.hasDataLoaded&&n.createElement(ae.u,{video:e.interactiveMetadata,hasData:u,share:e.share},n.createElement("section",{className:"mb-5"},n.createElement("h2",{className:"h4"},n.createElement(c.x,{namespace:ie,phrase:"studentResponses"}),n.createElement("span",null,": ",e.results.students.length,e.classroomStudents?"/".concat(e.classroomStudents.length):"")),n.createElement("div",{className:"row g-3"},n.createElement("div",{className:"col"},n.createElement(Z,{imageUrl:K.W.Insights.SPEECH_BUBBLE_ASTERISK,resultsAppLink:e.interactiveInsightsAppLinks.resultsAppLink,imageCdnUrl:e.config.imageCdnUrl,students:(a=m.markingRequired,a.map((function(e){return e.user}))),anonymiseUsers:e.anonymiseUsers})),!!(null===(t=e.classroomStudents)||void 0===t?void 0:t.length)&&n.createElement("div",{className:"col"},n.createElement(J,{markingRequiredStudents:m.markingRequired,completedStudents:m.completed,notCompletedStudents:m.notCompleted,classroomStudents:e.classroomStudents,imageCdnUrl:e.config.imageCdnUrl,imageUrl:K.W.Insights.JIGSAW,resultsAppLink:e.interactiveInsightsAppLinks.resultsAppLink,anonymiseUsers:e.anonymiseUsers})),n.createElement("div",{className:"col"},n.createElement(x,{students:m.completed,imageCdnUrl:e.config.imageCdnUrl,imageUrl:K.W.Insights.AVATAR,resultsAppLink:e.interactiveInsightsAppLinks.resultsAppLink,anonymiseUsers:e.anonymiseUsers})))),n.createElement(te,{requiresMarking:!l&&m.markingRequired.length,appLink:e.interactiveInsightsAppLinks.resultsAppLink,hideMarkingRequiredMask:function(){return o(!0)}},n.createElement("section",{className:"mb-5"},n.createElement("h2",{className:"h4"},n.createElement(c.x,{namespace:ie,phrase:"studentsPerformance"})),n.createElement("div",{className:"row g-3"},n.createElement("div",{className:"col-6"},n.createElement(H,{redChartImageUrl:K.W.Insights.RED_CHART,heartImageUrl:K.W.Insights.SPEECH_BUBBLE_HEART,resultsAppLink:e.interactiveInsightsAppLinks.resultsAppLink,imageCdnUrl:e.config.imageCdnUrl,students:m.lowScore,completed:m.completed,anonymiseUsers:e.anonymiseUsers})),n.createElement("div",{className:"col-6"},n.createElement(P,{greenChartImageUrl:K.W.Insights.GREEN_CHART,resultsAppLink:e.interactiveInsightsAppLinks.resultsAppLink,imageCdnUrl:e.config.imageCdnUrl,students:m.highScore,completed:m.completed,anonymiseUsers:e.anonymiseUsers})),n.createElement("div",{className:"col-6"},n.createElement(W,{interactive:e.interactive,interactiveMetadata:e.interactiveMetadata,results:e.results,questionsAppLink:e.interactiveInsightsAppLinks.questionsAppLink})),n.createElement("div",{className:"col-6"},n.createElement(T,{interactive:e.interactive,interactiveMetadata:e.interactiveMetadata,results:e.results,questionsAppLink:e.interactiveInsightsAppLinks.questionsAppLink})))),n.createElement("section",{className:"mb-5"},n.createElement("h2",{className:"h4"},n.createElement(c.x,{namespace:ie,phrase:"classPerformance"})),n.createElement("div",{className:"row g-3"},n.createElement("div",{className:"col-6"},n.createElement(N,{students:m.completed})),n.createElement("div",{className:"col-6"},n.createElement(b,{students:m.completed})),n.createElement("div",{className:"col-6"},n.createElement(L.i,{osCount:e.osCount})),n.createElement("div",{className:"col-6"},n.createElement(B.b,{engagement:e.aggregateEngagement,heatmapAppLink:e.interactiveInsightsAppLinks.heatmapAppLink,engagementRate:(0,V.Q)(e.individualEngagement)})))))))}},38279:(e,t,a)=>{a.d(t,{Z:()=>n});const n={mask:"VRTes",backdrop:"XzVXl"}}}]);
2
+ //# sourceMappingURL=4948-f21dad2ca1-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/4948-f21dad2ca1-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/components/insight-chart/InsightChart.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insight-student-list/insight-student-list.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insight-student-list/InsightStudentList.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/devices/insight-devices.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insights/devices/InsightDevices.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/heatmap/insight-heatmap.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insights/heatmap/InsightHeatmap.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-mask/InsightsShareMask.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/average-attempts/insight-average-attempts.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insights/average-attempts/InsightAverageAttempts.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/average-score/insight-average-score.scss","file:///app/packages/libs/shared/src/apps/analytics/components/insights/average-score/InsightAverageScore.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/completed-students/InsightCompletedStudents.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/easiest-question/InsightEasiestQuestion.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/hardest-question/InsightHardestQuestion.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/high-scoring-students/InsightHighScoringStudents.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/low-scoring-students/InsightLowScoringStudents.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/marking-required/InsightMarkingRequired.tsx","file:///app/packages/libs/shared/src/apps/analytics/components/insights/not-completed-students/InsightNotCompletedStudents.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-mask/InsightsMarkingRequiredMask.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-overview/partial-loading/partial-interactive-insights-overview.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-overview/partial-loading/PartialInteractiveInsightsOverview.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/interactive-insights-overview/InteractiveInsightsOverview.tsx","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-mask/insights-mask.scss"],"sourcesContent":["import React from 'react';\nimport Highcharts from 'highcharts';\nimport HighchartsReact from 'highcharts-react-official';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { CHART_FONT_STYLES } from 'libs/shared/apps/analytics/constants/ChartStyles';\nimport { ChartData } from 'libs/shared/apps/analytics/interfaces/ChartData';\n\nconst getStaticChartOptions = (label: string): Highcharts.Options => {\n return {\n title: {\n text: null\n },\n credits: {\n enabled: false\n },\n yAxis: {\n title: {\n text: null\n },\n labels: {\n enabled: false\n },\n gridLineWidth: 0,\n tickPixelInterval: 1,\n startOnTick: false,\n endOnTick: false,\n min: -0.2\n },\n xAxis: {\n title: {\n text: label,\n margin: 8,\n style: CHART_FONT_STYLES\n },\n labels: {\n style: CHART_FONT_STYLES\n },\n lineWidth: 0\n },\n legend: {\n enabled: false\n },\n chart: {\n type: 'column',\n backgroundColor: 'transparent',\n height: '160px',\n spacingTop: 20\n },\n plotOptions: {\n column: {\n dataLabels: {\n enabled: false\n },\n enableMouseTracking: false,\n minPointLength: 8\n }\n }\n };\n};\n\ninterface InsightChartProps {\n label: string;\n chartData: ChartData;\n xAxis?: Highcharts.XAxisOptions;\n withObserver?: boolean;\n}\n\nexport function InsightChart(props: InsightChartProps) {\n const ref = React.useRef<{ chart: Highcharts.Chart, container: React.RefObject<HTMLDivElement> }>();\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (!props.withObserver || !window.ResizeObserver)\n return;\n\n const observer = new window.ResizeObserver(() => {\n ref.current?.chart.reflow();\n });\n\n if (ref.current)\n observer.observe(containerRef.current);\n\n return () => observer.disconnect();\n }, [props.withObserver]);\n\n function getChartOptions(): Highcharts.Options {\n const data = props.chartData;\n const staticChartOptions = getStaticChartOptions(props.label);\n\n const hasData = ArrayHelper.first(data.series)?.data.some((data: Highcharts.PointOptionsObject) => data.y > 0);\n\n return {\n ...staticChartOptions,\n yAxis: {\n ...staticChartOptions.yAxis,\n ...(hasData ? {\n min: -0.2\n } : {\n min: 0,\n max: 1\n })\n },\n xAxis: {\n ...staticChartOptions.xAxis,\n ...props.xAxis,\n categories: data.categories\n },\n series: data.series\n };\n }\n\n return (\n <div ref={containerRef}>\n <HighchartsReact\n highcharts={Highcharts}\n options={getChartOptions()}\n ref={ref}\n />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"avatar\":\"uMuZt\",\"image\":\"WdKiU\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { UserRecipientItemMetadata } from 'libs/shared/apps/share/components/recipient-item/user-recipient-item-metadata/UserRecipientItemMetadata';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { PercentageIndicator } from 'libs/shared/components/percentage-indicator/PercentageIndicator';\nimport { ProgressCircleSize } from 'libs/shared/components/percentage-indicator/PercentageIndicatorUtils';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport styles from './insight-student-list.scss';\n\ntype UserPercentage = AnonUser & {\n percentage?: number;\n}\n\nconst MAX_ITEMS = 3;\n\ninterface InsightStudentListProps {\n students: UserPercentage[];\n imageUrl: string;\n imageCdnUrl: string;\n description: string;\n anonymiseUsers: boolean;\n appLink?: Core.AppLink;\n appLinkText?: string;\n}\n\nexport function InsightStudentList(props: InsightStudentListProps) {\n return (\n <>\n {props.students.length ? (\n <ul className='list-unstyled mb-2'>\n {props.students.slice(0, MAX_ITEMS).map((student, index) => (\n <li key={index} className='d-flex align-items-center mb-2'>\n <UserRecipientItemMetadata\n user={student}\n imageCdnUrl={props.imageCdnUrl}\n avatarClassName={styles.avatar}\n detailsClassName='ms-2'\n showDisplayName\n showSubText={false}\n anonymiseUsers={props.anonymiseUsers}\n />\n\n <div className='d-flex align-items-center ms-auto'>\n <span className='me-2'>{student.percentage === undefined ? '- ' : Math.round(student.percentage * 100)}%</span>\n <PercentageIndicator percentage={student.percentage} size={ProgressCircleSize.ExtraSmall} />\n </div>\n </li>\n ))}\n </ul>\n ) : (\n <div className='text-center'>\n <img className={`${styles.image} mb-2`} src={props.imageUrl} />\n <p className='text-secondary mb-0' dangerouslySetInnerHTML={{ __html: props.description }} />\n </div>\n )}\n\n {!!props.students.length && props.appLink && (\n <AppLink appLink={props.appLink} className='text-info mt-auto'>\n {props.appLinkText}\n </AppLink>\n )}\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"purpleChart\":\"OPcvi\",\"grayChart\":\"HlWj7\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightChart } from 'libs/shared/apps/analytics/components/insight-chart/InsightChart';\nimport { CHART_FONT_STYLES } from 'libs/shared/apps/analytics/constants/ChartStyles';\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { ChartData } from 'libs/shared/apps/analytics/interfaces/ChartData';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary, SvgHelper } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './insight-devices.scss';\n\nconst namespace = 'shared.insightDevices';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n// Names from UserAgentHelper.getOperatingSystem()\nfunction getDeviceType(name: string) {\n switch (name) {\n case 'Android':\n case 'Windows Phone':\n case 'iOS':\n case 'BlackBerry':\n return 'Phone';\n case 'Linux':\n case 'Unix':\n case 'Macintosh':\n case 'Windows':\n return 'Computer';\n }\n}\n\nfunction getDeviceIcon(name: string) {\n let svgName = '';\n \n switch (name) {\n case 'Computer':\n svgName = cvSvgLibrary.Monitor;\n break;\n case 'Phone':\n svgName = cvSvgLibrary.Mobile;\n break;\n case 'Tablet':\n svgName = cvSvgLibrary.Tablet;\n break;\n default: return;\n }\n \n // Default svg attributes causes Highcharts error\n return SvgHelper.getSvg(svgName).replace(/<svg[^>]*>/g, '<svg class=\"svg-container\">');\n}\n\ninterface InsightDevicesProps {\n osCount: GroupedAnalyticsCount[]\n}\n\nexport function InsightDevices(props: InsightDevicesProps) {\n const categoriesData = getCategoriesData();\n const topDeviceCount = getTopDeviceCount();\n const topDevices = getTopDevices();\n\n function getCategoriesData() {\n const defaultDevices: HashObject = { Phone: 0, Computer: 0 };\n\n if (!props.osCount?.length)\n return defaultDevices;\n\n return props.osCount.reduce((acc, group) => {\n if (!group.name) return acc;\n\n const deviceCategory = getDeviceType(group.name);\n\n if (!deviceCategory) return acc;\n\n acc[deviceCategory] = acc[deviceCategory] + group.count;\n\n return acc;\n }, defaultDevices);\n }\n\n function getTopDeviceCount() {\n return Math.max(...Object.keys(categoriesData).map(category => categoriesData[category]));\n }\n\n function getTopDevices() {\n return Object.keys(categoriesData).filter(category => categoriesData[category] === topDeviceCount);\n }\n\n function getXAxisLabelIcons(): any {\n return {\n labels: {\n useHTML: true,\n formatter: function () {\n return `\n <div class=\"d-flex flex-column align-items-center\">\n <span class=\"${styles.font} font-size-sm text-dark mb-1\">${this.value}</span>\n ${getDeviceIcon(this.value)}\n </div>\n `;\n }\n }\n };\n }\n\n function getChartData(): ChartData {\n return {\n categories: Object.keys(categoriesData),\n series: [{\n type: 'column',\n borderRadius: 4,\n dataLabels: {\n enabled: true,\n style: CHART_FONT_STYLES,\n inside: false,\n overflow: 'allow',\n crop: false\n },\n data: Object.keys(categoriesData).map(category => {\n const highestCount =\n topDeviceCount !== 0 && categoriesData[category] === topDeviceCount;\n\n return {\n className: `${categoriesData[category] === 0 ? styles.grayChart : styles.purpleChart} ${!highestCount ? 'opacity-25' : ''}`,\n borderWidth: highestCount ? 2 : 0,\n borderColor: highestCount ? 'black' : '',\n y: categoriesData[category]\n };\n })\n }]\n };\n }\n\n const chartData = getChartData();\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgClassName='bg-light-ultramarine text-ultramarine'\n svgName={cvSvgLibrary.Monitor}\n >\n <p className='mb-0'>\n {props.osCount?.filter(group => group.name).length\n ? (\n <Text\n namespace={namespace}\n phrase='description'\n options={{\n smartCount: topDevices.length,\n device: topDevices.length === 1 ? topDevices[0].toLowerCase() : null\n }}\n />\n ) : (\n <Text\n namespace={namespace}\n phrase='notViewed'\n />\n )}\n </p>\n\n <div className='position-relative mt-auto'>\n <InsightChart\n label={getPhrase('device')}\n chartData={chartData} xAxis={getXAxisLabelIcons()}\n withObserver\n />\n </div>\n </InsightCard>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"heatMap\":\"Rfr9N\",\"heatMapTimepointIndicator\":\"s6JbA\",\"heatMapTimepointIndicatorVisible\":\"mgjWX\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EngagementHeatMap } from 'libs/shared/apps/analytics/components/engagement-heat-map/EngagementHeatMap';\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Engagement } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './insight-heatmap.scss';\n\nconst namespace = 'shared.insightHeatmap';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightHeatmapProps {\n engagement: Engagement;\n heatmapAppLink: Core.AppLink;\n engagementRate?: number;\n}\n\nexport function InsightHeatmap(props: InsightHeatmapProps) {\n const engagementRate = props.engagementRate || props.engagement?.engagementRate;\n const roundedRate = engagementRate > 0\n ? Math.round(engagementRate * 100)\n : null;\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Timer}\n svgClassName='bg-light-green text-green'\n >\n <div className='mb-2'>\n <p className='mb-0'>\n {roundedRate\n ? (\n <Text namespace={namespace} phrase='everyoneWatched' options={{ engagementRate: roundedRate }} />\n )\n : <Text namespace={namespace} phrase='notWatched' />\n }\n </p>\n {!!roundedRate &&\n <AppLink appLink={props.heatmapAppLink} className='text-info'>\n <Text namespace={namespace} phrase='viewHeatmap' />\n </AppLink>\n }\n </div>\n\n <div className='mb-2'>\n <EngagementHeatMap\n engagement={props.engagement}\n className={styles.heatMap}\n />\n </div>\n\n <p className='h3 text-center mb-2'>{roundedRate || '--'}%</p>\n <p className='text-center mb-0 font-size-sm'><Text namespace={namespace} phrase='amountWatched' /></p>\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { getShareOptionsAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport styles from './insights-mask.scss';\n\nconst namespace = 'lite.insightsMask';\n\ninterface InsightsShareMaskProps extends React.PropsWithChildren {\n hasData: boolean;\n video: VideoTypes;\n share: Share;\n}\n\nexport function InsightsShareMask(props: InsightsShareMaskProps) {\n const appLink = getShareOptionsAppLink(props.share);\n\n return (\n <div className={`${!props.hasData && styles.mask} position-relative`}>\n <div className={!props.hasData ? 'position-absolute ps-1' : ''}>{props.children}</div>\n <div\n className={!props.hasData ? `${styles.backdrop} d-flex flex-column align-items-center justify-content-start py-5` : ''}\n >\n {!props.hasData && (\n <div className='text-center p-5 m-5 w-50'>\n <img className='mb-3' src={ImageUrls.Insights.SEND_PAPER_PLANE} width={288} />\n <h2 className='h3 mb-3'><Text namespace={namespace} phrase='shareHeading' /></h2>\n <p className='mb-3'><Text namespace={namespace} phrase='shareDescription' /></p>\n <IconButton svgName={cvSvgLibrary.Share} className='btn btn-dark' appLink={appLink}>\n <Text namespace={namespace} phrase='share' />\n </IconButton>\n </div>\n )}\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"tealChart\":\"lZZf0\",\"grayChart\":\"wJQc4\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightChart } from 'libs/shared/apps/analytics/components/insight-chart/InsightChart';\nimport { CHART_FONT_STYLES } from 'libs/shared/apps/analytics/constants/ChartStyles';\nimport { ChartData } from 'libs/shared/apps/analytics/interfaces/ChartData';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './insight-average-attempts.scss';\n\nconst namespace = 'shared.insightAverageAttempts';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightAverageAttemptsProps {\n students: StudentResultsWithSummary[];\n}\n\nexport function InsightAverageAttempts(props: InsightAverageAttemptsProps) {\n const categoriesData = getCategoriesData();\n const highestAttemptsCount = getHighestAttemptsCount();\n const averageAttempts = getAverageAttempts();\n const chartData = getChartData();\n\n function getCategoriesData() {\n const categoriesData = props.students.reduce((acc, student) => {\n const attemptsCategory = student.summary.attempts.toString();\n\n if (!(attemptsCategory in acc)) {\n Object.assign(acc, { [attemptsCategory]: 0 });\n }\n\n acc[attemptsCategory]++;\n\n return acc;\n }, {} as HashObject);\n return Object.keys(categoriesData).length ? categoriesData : { 0: 0 };\n }\n\n function getHighestAttemptsCount() {\n return Math.max(...Object.keys(categoriesData).map(category => categoriesData[category]));\n }\n\n function getAverageAttempts(): number[] {\n return Object.keys(categoriesData).reduce((acc, category) => {\n const userCount = categoriesData[category];\n return userCount === highestAttemptsCount ? [ ...acc, category ] : acc;\n }, []);\n }\n\n function calculateAverage() {\n const total = Object.entries(categoriesData).reduce(\n (acc, [ attemptsCount, usersCount ]) => {\n acc.totalAttempts += +attemptsCount * usersCount;\n acc.totalUsers += usersCount;\n return acc;\n },\n { totalAttempts: 0, totalUsers: 0 }\n );\n\n return total.totalUsers === 0 ? 0 : Math.round(total.totalAttempts / total.totalUsers * 100) / 100;\n }\n\n function getChartData(): ChartData {\n const noAttempts = categoriesData[0] === 0;\n\n return {\n categories: Object.keys(categoriesData),\n series: [{\n type: 'column',\n color: categoriesData[0] ? '#EAEAEA' : '#40C2BB',\n borderRadius: 4,\n dataLabels: {\n enabled: !noAttempts,\n style: CHART_FONT_STYLES,\n inside: false,\n overflow: 'allow',\n crop: false\n },\n data: Object.keys(categoriesData).map(category => {\n const highestCount = highestAttemptsCount !== 0 && categoriesData[category] === highestAttemptsCount;\n\n return {\n className: `${noAttempts ? styles.grayChart : styles.tealChart} ${categoriesData[category] !== highestAttemptsCount && categoriesData[category] !== 0 ? 'opacity-25' : ''}`,\n borderWidth: highestCount ? 2 : 0,\n borderColor: highestCount ? 'black' : '',\n y: categoriesData[category]\n };\n })\n }]\n };\n }\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Refresh}\n svgClassName='bg-light-purple text-purple'\n >\n <p>\n {averageAttempts.length\n ? <Text namespace={namespace} phrase='averageAttempts' options={{ smartCount: calculateAverage() }} />\n : <Text namespace={namespace} phrase='noAttempts' />\n }\n </p>\n\n <div className='mt-auto'>\n <InsightChart label={getPhrase('attempts')} chartData={chartData} />\n </div>\n </InsightCard>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"redChart\":\"G7zOw\",\"yellowChart\":\"k34mm\",\"greenChart\":\"vBneA\",\"blueChart\":\"RPTWm\",\"grayChart\":\"k4JFZ\",\"borderDark\":\"LWor3\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightChart } from 'libs/shared/apps/analytics/components/insight-chart/InsightChart';\nimport { ChartData } from 'libs/shared/apps/analytics/interfaces/ChartData';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './insight-average-score.scss';\n\nconst namespace = 'shared.insightAverageScore';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n\ninterface InsightAverageScoreProps {\n students: StudentResultsWithSummary[];\n}\n\nexport function InsightAverageScore(props: InsightAverageScoreProps) {\n function getChartData(): ChartData {\n const scoreCount = Array(11).fill(0);\n const scorePercentageData = props.students.reduce((acc, value) => {\n const scoreIndex = Math.floor(value.summary.percentCorrect * 10);\n acc[scoreIndex]++;\n\n return acc;\n }, scoreCount);\n\n const PERCENTAGES = [ '0', '10', '20', '30', '40', '50', '60', '70', '80', '90', '100' ];\n\n return {\n categories: PERCENTAGES,\n series: [{\n type: 'column',\n color: '#4E9ACE',\n borderRadius: 4,\n data: scorePercentageData.map((score, index) => {\n const percentageCategory = Number(PERCENTAGES[index]);\n\n const getChartColour = (percentage: number, score: number) => {\n if (score === 0)\n return styles.grayChart;\n if (percentage < 50)\n return styles.redChart;\n if (percentage < 70)\n return styles.yellowChart;\n if (percentage < 90)\n return styles.greenChart;\n\n return styles.blueChart;\n };\n\n return {\n className: `${getChartColour(percentageCategory, score)}`,\n y: score\n };\n })\n }]\n };\n }\n\n function getAverageNumbers() {\n const averageScores = props.students.map(student => student.summary.percentCorrect);\n const averagePercentage = averageScores.reduce((a, b) => a + b, 0) / averageScores.length;\n const totalQuestions = ArrayHelper.last(\n ArrayHelper.last(props.students).results\n ).attempts.length;\n\n return {\n averageScore: Math.round(totalQuestions * averagePercentage),\n totalQuestions,\n averagePercentage: (averagePercentage * 100).toFixed(1)\n };\n }\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Analytics}\n svgClassName='bg-light-orange text-orange'\n >\n <p>\n {props.students.length\n ? <Text namespace={namespace} phrase='averageScore' options={getAverageNumbers()} />\n : <Text namespace={namespace} phrase='noAnswers' />\n }\n </p>\n\n <InsightChart label={`${getPhrase('studentScores')} (%)`} chartData={getChartData()} />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightCompletedStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightCompletedStudentsProps {\n students: StudentResultsWithSummary[];\n imageCdnUrl: string;\n imageUrl: string;\n resultsAppLink: Core.AppLink;\n anonymiseUsers: boolean;\n}\n\nexport function InsightCompletedStudents(props: InsightCompletedStudentsProps) {\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Flag}\n svgClassName='bg-light-indigo text-indigo'\n count={props.students.length}\n >\n <InsightStudentList\n students={props.students.map(student => ({ ...student.user, percentage: student.summary.percentCorrect }))}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.imageUrl}\n description={getPhrase('completedStudents')}\n appLink={props.resultsAppLink}\n appLinkText={getPhrase('viewAll')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InteractionWithResultsSummary } from 'libs/shared/apps/analytics/interfaces/InteractionWithResultsSummary';\nimport { getInteractionResultsSummary } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { InteractionLabel } from 'libs/shared/components/interactive-questions/InteractionLabel';\nimport { PercentageIndicator, PercentageIndicatorLayout } from 'libs/shared/components/percentage-indicator/PercentageIndicator';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { getInteractions } from 'libs/shared/utils/InteractiveHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightEasiestQuestion';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightEasiestQuestionProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n results: InteractiveResultSet;\n questionsAppLink: Core.AppLink;\n}\n\nexport function InsightEasiestQuestion(props: InsightEasiestQuestionProps) {\n const easiestQuestion = React.useMemo(\n () => getEasiestQuestion(props.interactive, props.results),\n [props.results.students.length]\n );\n\n function getEasiestQuestion(interactive: Interactive, results: InteractiveResultSet): InteractionWithResultsSummary {\n const interactions: InteractionWithResultsSummary[] = getInteractions(interactive).map(i => ({\n ...i,\n resultsSummary: getInteractionResultsSummary(i, results)\n }));\n\n const answeredInteractions = interactions.filter(i =>\n !!i.resultsSummary.answered && !i.resultsSummary.awaitingMarking);\n\n const sortedInteractions = ArrayHelper.sortBy(\n answeredInteractions,\n i => i.resultsSummary.percentCorrect\n );\n\n return ArrayHelper.last(sortedInteractions);\n }\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.StarOutline}\n svgClassName='bg-light-blue text-blue'\n >\n <div className='d-flex align-items-center'>\n <PercentageIndicator\n percentage={easiestQuestion?.resultsSummary?.percentCorrect}\n layout={PercentageIndicatorLayout.LabelInside}\n />\n {easiestQuestion\n ? <div className='d-flex ms-2'>\n <InteractionLabel interaction={easiestQuestion} iconClassName='flex-shrink-0' />\n </div>\n : <span className='ms-2'>{getPhrase('noAnswers')}</span>\n }\n </div>\n\n {easiestQuestion && (\n <AppLink\n appLink={{\n ...props.questionsAppLink,\n params: {\n ...props.questionsAppLink.params as HashObject,\n sortBy: 'score_desc'\n }\n }}\n className='text-info'>\n <Text namespace={namespace} phrase='viewQuestions' />\n </AppLink>\n )}\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InteractionWithResultsSummary } from 'libs/shared/apps/analytics/interfaces/InteractionWithResultsSummary';\nimport { getInteractionResultsSummary } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { InteractionLabel } from 'libs/shared/components/interactive-questions/InteractionLabel';\nimport { PercentageIndicator, PercentageIndicatorLayout } from 'libs/shared/components/percentage-indicator/PercentageIndicator';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Interactive, InteractiveMetadata, InteractiveResultSet } from 'libs/shared/interfaces';\nimport { getInteractions } from 'libs/shared/utils/InteractiveHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightHardestQuestion';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightHardestQuestionProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n results: InteractiveResultSet;\n questionsAppLink: Core.AppLink;\n}\n\nexport function InsightHardestQuestion(props: InsightHardestQuestionProps) {\n const hardestQuestion = React.useMemo(\n () => getHardestQuestion(props.interactive, props.results),\n [props.results.students.length]\n );\n\n function getHardestQuestion(interactive: Interactive, results: InteractiveResultSet): InteractionWithResultsSummary {\n const interactions: InteractionWithResultsSummary[] = getInteractions(interactive).map(i => ({\n ...i,\n resultsSummary: getInteractionResultsSummary(i, results)\n }));\n\n const answeredInteractions = interactions.filter(i =>\n !!i.resultsSummary.answered && !i.resultsSummary.awaitingMarking);\n\n const sortedInteractions = ArrayHelper.sortBy(\n answeredInteractions,\n i => i.resultsSummary.percentCorrect\n );\n\n return ArrayHelper.first(sortedInteractions);\n }\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.QuestionMark}\n svgClassName='bg-light-orange text-orange'\n >\n <div className='d-flex align-items-center'>\n <PercentageIndicator\n percentage={hardestQuestion?.resultsSummary?.percentCorrect}\n layout={PercentageIndicatorLayout.LabelInside}\n />\n {hardestQuestion\n ? <div className='d-flex ms-2'>\n <InteractionLabel interaction={hardestQuestion} iconClassName='flex-shrink-0' />\n </div>\n : <span className='ms-2'>{getPhrase('noAnswers')}</span>\n }\n </div>\n\n {hardestQuestion && (\n <AppLink\n appLink={{\n ...props.questionsAppLink,\n params: {\n ...props.questionsAppLink.params as HashObject,\n sortBy: 'score_asc'\n }\n }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='viewQuestions' />\n </AppLink>\n )}\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightHighScoringStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightHighScoringStudentsProps {\n students: StudentResultsWithSummary[];\n imageCdnUrl: string;\n greenChartImageUrl: string;\n resultsAppLink: Core.AppLink;\n completed: StudentResultsWithSummary[];\n anonymiseUsers?: boolean;\n}\n\nexport function InsightHighScoringStudents(props: InsightHighScoringStudentsProps) {\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Trophy}\n svgClassName='bg-light-teal text-teal'\n count={props.students.length}\n >\n <InsightStudentList\n students={props.students.map(student => ({ ...student.user, percentage: student.summary.percentCorrect }))}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.greenChartImageUrl}\n description={getPhrase(props.completed.length ? 'noStudents' : 'highScore')}\n appLink={{\n ...props.resultsAppLink,\n params: {\n ...props.resultsAppLink.params as HashObject,\n sortBy: 'score_desc'\n }\n }}\n appLinkText={getPhrase('viewByHighest')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightLowScoringStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightLowScoringStudentsProps {\n students: StudentResultsWithSummary[];\n imageCdnUrl: string;\n redChartImageUrl: string;\n heartImageUrl: string;\n resultsAppLink: Core.AppLink;\n completed: StudentResultsWithSummary[];\n anonymiseUsers: boolean;\n}\n\nexport function InsightLowScoringStudents(props: InsightLowScoringStudentsProps) {\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Hand}\n svgClassName='bg-light-red text-red'\n count={props.students.length}\n >\n <InsightStudentList\n students={props.students.map(student => ({ ...student.user, percentage: student.summary.percentCorrect }))}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.completed.length ? props.heartImageUrl : props.redChartImageUrl}\n description={getPhrase(props.completed.length ? 'doingWell' : 'lowScore')}\n appLink={{\n ...props.resultsAppLink,\n params: {\n ...props.resultsAppLink.params as HashObject,\n sortBy: 'score_asc'\n }\n }}\n appLinkText={getPhrase('viewByLowest')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { FilterStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\n\nconst namespace = 'shared.insightMarkingRequired';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n\ninterface InsightMarkingRequiredProps {\n students: AnonUser[];\n imageCdnUrl: string;\n imageUrl: string;\n resultsAppLink: Core.AppLink;\n anonymiseUsers: boolean;\n}\n\nexport function InsightMarkingRequired(props: InsightMarkingRequiredProps) {\n const markingRequiredFilter: FilterStudentsBy = 'marking_required';\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Hand}\n svgClassName='bg-light-blue text-blue'\n count={props.students.length}\n >\n <InsightStudentList\n students={props.students}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.imageUrl}\n description={getPhrase('studentsRequireMarking')}\n appLink={{\n ...props.resultsAppLink,\n params: {\n filterBy: markingRequiredFilter\n }\n }}\n appLinkText={getPhrase('viewAll')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { InsightCard } from 'libs/shared/apps/analytics/components/insight-card/InsightCard';\nimport { InsightStudentList } from 'libs/shared/apps/analytics/components/insight-student-list/InsightStudentList';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { User } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.insightNotCompletedStudents';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface InsightNotCompletedStudentsProps {\n markingRequiredStudents: StudentResultsWithSummary[];\n completedStudents: StudentResultsWithSummary[];\n notCompletedStudents: StudentResultsWithSummary[];\n classroomStudents: User[];\n imageCdnUrl: string;\n imageUrl: string;\n resultsAppLink: Core.AppLink;\n anonymiseUsers: boolean;\n}\n\nexport function InsightNotCompletedStudents(props: InsightNotCompletedStudentsProps) {\n const notCompletedStudents = getNotCompletedStudents();\n \n function getNotCompletedStudents() {\n const markingRequiredStudentIds = props.markingRequiredStudents.map(student => student?.user.id);\n const completedStudentIds = props.completedStudents.map(student => student?.user.id);\n \n const notStartedStudents = props.classroomStudents.filter(student => {\n return !markingRequiredStudentIds.includes(student.id) &&\n !completedStudentIds.includes(student.id);\n });\n \n return ArrayHelper.uniq([\n ...props.notCompletedStudents.map(student => student.user),\n ...notStartedStudents\n ], 'id');\n }\n\n return (\n <InsightCard\n title={getPhrase('title')}\n svgName={cvSvgLibrary.Puzzle}\n svgClassName='bg-light-teal text-teal'\n count={notCompletedStudents.length}\n >\n <InsightStudentList\n students={notCompletedStudents}\n imageCdnUrl={props.imageCdnUrl}\n imageUrl={props.imageUrl}\n description={getPhrase('completed')}\n appLink={{\n ...props.resultsAppLink,\n params: {\n filterBy: 'not_completed'\n }\n }}\n appLinkText={getPhrase('viewAll')}\n anonymiseUsers={props.anonymiseUsers}\n />\n </InsightCard>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FilterStudentsBy } from 'libs/shared/apps/analytics/utils/StudentTableUtils';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './insights-mask.scss';\n\nconst namespace = 'lite.insightsMask';\n\ninterface InsightsMarkingRequiredMaskProps extends React.PropsWithChildren {\n requiresMarking: number;\n appLink: Core.AppLink;\n hideMarkingRequiredMask: () => void;\n}\n\nexport function InsightsMarkingRequiredMask(props: InsightsMarkingRequiredMaskProps) {\n const filterBy: FilterStudentsBy = 'marking_required';\n\n return (\n <div className={`${props.requiresMarking && styles.mask} position-relative`}>\n <div className={props.requiresMarking ? 'position-absolute top-0' : ''}>{props.children}</div>\n <div\n className={props.requiresMarking ? `${styles.backdrop} d-flex flex-column align-items-center justify-content-start py-5` : ''}\n >\n {!!props.requiresMarking && (\n <div className='text-center w-50'>\n <img src={ImageUrls.Insights.MARKING_RESPONSES} className='mb-3' width={288} />\n <h2 className='h3 mb-3'><Text namespace={namespace} phrase='markHeading' /></h2>\n <p className='mb-3'><Text namespace={namespace} phrase='markDescription' /></p>\n <IconButton\n svgName={cvSvgLibrary.Check}\n className='btn btn-dark mb-3'\n appLink={{\n ...props.appLink,\n params: {\n ...props.appLink.params as HashObject,\n filterBy\n }\n }}\n >\n <Text namespace={namespace} phrase='markResponses' options={{ smartCount: props.requiresMarking }} />\n </IconButton>\n <button className='btn btn-link d-block p-0 mx-auto' onClick={props.hideMarkingRequiredMask}><Text namespace={namespace} phrase='seeIncomplete' /></button>\n </div>\n )}\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialInsights\":\"pG0Jh\"};","import React from 'react';\n\nimport styles from './partial-interactive-insights-overview.scss';\n\nexport function PartialInteractiveInsightsOverview() {\n return (\n <div>\n <h2 className='h4 w-25 partial-loading-background'>&nbsp;</h2>\n <div className='row g-3 mb-5'>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n\n <h2 className='h4 w-25 partial-loading-background'>&nbsp;</h2>\n <div className='row g-3 mb-5'>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n\n <h2 className='h4 w-25 partial-loading-background'>&nbsp;</h2>\n <div className='row g-3 mb-5'>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n <div className='col-6'>\n <div className={`${styles.partialInsights} rounded partial-loading-background`}></div>\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { InsightAverageAttempts } from 'libs/shared/apps/analytics/components/insights/average-attempts/InsightAverageAttempts';\nimport { InsightAverageScore } from 'libs/shared/apps/analytics/components/insights/average-score/InsightAverageScore';\nimport { InsightCompletedStudents } from 'libs/shared/apps/analytics/components/insights/completed-students/InsightCompletedStudents';\nimport { InsightDevices } from 'libs/shared/apps/analytics/components/insights/devices/InsightDevices';\nimport { InsightEasiestQuestion } from 'libs/shared/apps/analytics/components/insights/easiest-question/InsightEasiestQuestion';\nimport { InsightHardestQuestion } from 'libs/shared/apps/analytics/components/insights/hardest-question/InsightHardestQuestion';\nimport { InsightHeatmap } from 'libs/shared/apps/analytics/components/insights/heatmap/InsightHeatmap';\nimport { InsightHighScoringStudents } from 'libs/shared/apps/analytics/components/insights/high-scoring-students/InsightHighScoringStudents';\nimport { InsightLowScoringStudents } from 'libs/shared/apps/analytics/components/insights/low-scoring-students/InsightLowScoringStudents';\nimport { InsightMarkingRequired } from 'libs/shared/apps/analytics/components/insights/marking-required/InsightMarkingRequired';\nimport { InsightNotCompletedStudents } from 'libs/shared/apps/analytics/components/insights/not-completed-students/InsightNotCompletedStudents';\nimport { GroupedAnalyticsCount } from 'libs/shared/apps/analytics/interfaces/BaseAnalyticsEvent';\nimport { StudentResultsWithSummary } from 'libs/shared/apps/analytics/interfaces/StudentResultsWithSummary';\nimport { getEngagementRate } from 'libs/shared/apps/analytics/utils/EngagementUtils';\nimport { groupStudents } from 'libs/shared/apps/analytics/utils/InteractiveUtils';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ScoreThresholdInsights } from 'libs/shared/constants/ScoreThresholds';\nimport { Config, Engagement, Interactive, InteractiveMetadata, InteractiveResultSet, User } from 'libs/shared/interfaces';\nimport { AnonUser } from 'libs/shared/interfaces/models/interactive-results/AnonUser';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { InsightsMarkingRequiredMask } from 'apps/my-shares/components/insights-mask/InsightsMarkingRequiredMask';\nimport { InsightsShareMask } from 'apps/my-shares/components/insights-mask/InsightsShareMask';\nimport { PartialInteractiveInsightsOverview } from 'apps/my-shares/components/interactive-insights-overview/partial-loading/PartialInteractiveInsightsOverview';\n\nconst namespace = 'insights.interactiveInsightsOverview';\n\ninterface InteractiveInsightsOverviewProps {\n interactive: Interactive;\n results: InteractiveResultSet;\n interactiveMetadata: InteractiveMetadata;\n osCount: GroupedAnalyticsCount[];\n classroomStudents: User[];\n aggregateEngagement: Engagement\n individualEngagement?: Engagement[];\n interactiveInsightsAppLinks: HashObject;\n config: Config;\n anonymiseUsers: boolean;\n hasDataLoaded: boolean;\n share: Share;\n}\n\nexport function InteractiveInsightsOverview(props: InteractiveInsightsOverviewProps) {\n const [ hideMarkingRequiredMask, setHideMarkingRequiredMask ] = React.useState(false);\n\n const studentGroups = props.hasDataLoaded && groupStudents(props.interactive, props.results, ScoreThresholdInsights);\n const hasData = props.hasDataLoaded && !!props.results.students.length;\n\n function getUsers(studentResult: StudentResultsWithSummary[]): (AnonUser)[] {\n return studentResult.map(student => student.user);\n }\n\n return (\n <>\n {!props.hasDataLoaded && <PartialInteractiveInsightsOverview />}\n\n {props.hasDataLoaded &&\n <InsightsShareMask video={props.interactiveMetadata} hasData={hasData} share={props.share}>\n <section className='mb-5'>\n <h2 className='h4'>\n <Text namespace={namespace} phrase='studentResponses' />\n <span>: {props.results.students.length}{props.classroomStudents ? `/${props.classroomStudents.length}` : ''}</span>\n </h2>\n <div className='row g-3'>\n <div className='col'>\n <InsightMarkingRequired\n imageUrl={ImageUrls.Insights.SPEECH_BUBBLE_ASTERISK}\n resultsAppLink={props.interactiveInsightsAppLinks.resultsAppLink}\n imageCdnUrl={props.config.imageCdnUrl}\n students={getUsers(studentGroups.markingRequired)}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n {!!props.classroomStudents?.length && (\n <div className='col'>\n <InsightNotCompletedStudents\n markingRequiredStudents={studentGroups.markingRequired}\n completedStudents={studentGroups.completed}\n notCompletedStudents={studentGroups.notCompleted}\n classroomStudents={props.classroomStudents}\n imageCdnUrl={props.config.imageCdnUrl}\n imageUrl={ImageUrls.Insights.JIGSAW}\n resultsAppLink={props.interactiveInsightsAppLinks.resultsAppLink}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n )}\n <div className='col'>\n <InsightCompletedStudents\n students={studentGroups.completed}\n imageCdnUrl={props.config.imageCdnUrl}\n imageUrl={ImageUrls.Insights.AVATAR}\n resultsAppLink={props.interactiveInsightsAppLinks.resultsAppLink}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n </div>\n </section>\n <InsightsMarkingRequiredMask\n requiresMarking={!hideMarkingRequiredMask && studentGroups.markingRequired.length}\n appLink={props.interactiveInsightsAppLinks.resultsAppLink}\n hideMarkingRequiredMask={() => setHideMarkingRequiredMask(true)}\n >\n <section className='mb-5'>\n <h2 className='h4'>\n <Text namespace={namespace} phrase='studentsPerformance' />\n </h2>\n <div className='row g-3'>\n <div className='col-6'>\n <InsightLowScoringStudents\n redChartImageUrl={ImageUrls.Insights.RED_CHART}\n heartImageUrl={ImageUrls.Insights.SPEECH_BUBBLE_HEART}\n resultsAppLink={props.interactiveInsightsAppLinks.resultsAppLink}\n imageCdnUrl={props.config.imageCdnUrl}\n students={studentGroups.lowScore}\n completed={studentGroups.completed}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n <div className='col-6'>\n <InsightHighScoringStudents\n greenChartImageUrl={ImageUrls.Insights.GREEN_CHART}\n resultsAppLink={props.interactiveInsightsAppLinks.resultsAppLink}\n imageCdnUrl={props.config.imageCdnUrl}\n students={studentGroups.highScore}\n completed={studentGroups.completed}\n anonymiseUsers={props.anonymiseUsers}\n />\n </div>\n <div className='col-6'>\n <InsightHardestQuestion\n interactive={props.interactive}\n interactiveMetadata={props.interactiveMetadata}\n results={props.results}\n questionsAppLink={props.interactiveInsightsAppLinks.questionsAppLink}\n />\n </div>\n <div className='col-6'>\n <InsightEasiestQuestion\n interactive={props.interactive}\n interactiveMetadata={props.interactiveMetadata}\n results={props.results}\n questionsAppLink={props.interactiveInsightsAppLinks.questionsAppLink}\n />\n </div>\n </div>\n </section>\n <section className='mb-5'>\n <h2 className='h4'>\n <Text namespace={namespace} phrase='classPerformance' />\n </h2>\n <div className='row g-3'>\n <div className='col-6'>\n <InsightAverageScore\n students={studentGroups.completed}\n />\n </div>\n <div className='col-6'>\n <InsightAverageAttempts\n students={studentGroups.completed}\n />\n </div>\n <div className='col-6'>\n <InsightDevices osCount={props.osCount} />\n </div>\n <div className='col-6'>\n <InsightHeatmap\n engagement={props.aggregateEngagement}\n heatmapAppLink={props.interactiveInsightsAppLinks.heatmapAppLink}\n // Average of all the individual engagements\n engagementRate={getEngagementRate(props.individualEngagement)}\n />\n </div>\n </div>\n </section>\n </InsightsMarkingRequiredMask>\n </InsightsShareMask>\n }\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"mask\":\"VRTes\",\"backdrop\":\"XzVXl\"};"],"names":["getStaticChartOptions","label","title","text","credits","enabled","yAxis","labels","gridLineWidth","tickPixelInterval","startOnTick","endOnTick","min","xAxis","margin","style","lineWidth","legend","chart","type","backgroundColor","height","spacingTop","plotOptions","column","dataLabels","enableMouseTracking","minPointLength","InsightChart","props","data","staticChartOptions","hasData","ref","containerRef","withObserver","window","ResizeObserver","observer","current","reflow","observe","disconnect","highcharts","options","chartData","series","some","y","max","categories","MAX_ITEMS","InsightStudentList","students","length","className","slice","map","student","index","key","UserRecipientItemMetadata","user","imageCdnUrl","avatarClassName","detailsClassName","showDisplayName","showSubText","anonymiseUsers","undefined","percentage","Math","round","PercentageIndicator","size","src","imageUrl","dangerouslySetInnerHTML","__html","description","appLink","AppLink","appLinkText","namespace","getPhrase","LanguageService","InsightDevices","categoriesData","defaultDevices","Phone","Computer","osCount","reduce","acc","group","name","deviceCategory","getDeviceType","count","getCategoriesData","topDeviceCount","Object","keys","category","topDevices","filter","borderRadius","inside","overflow","crop","highestCount","borderWidth","borderColor","InsightCard","svgClassName","svgName","Text","phrase","smartCount","device","toLowerCase","useHTML","formatter","this","value","SvgHelper","replace","getDeviceIcon","InsightHeatmap","engagementRate","engagement","roundedRate","heatmapAppLink","EngagementHeatMap","InsightsShareMask","share","children","width","InsightAverageAttempts","noAttempts","total","attemptsCategory","summary","attempts","toString","assign","highestAttemptsCount","averageAttempts","color","entries","attemptsCount","usersCount","totalAttempts","totalUsers","InsightAverageScore","averageScores","percentCorrect","averagePercentage","a","b","totalQuestions","ArrayHelper","results","averageScore","toFixed","scoreCount","Array","fill","scorePercentageData","floor","PERCENTAGES","score","percentageCategory","Number","getChartColour","InsightCompletedStudents","resultsAppLink","InsightEasiestQuestion","easiestQuestion","interactive","answeredInteractions","i","resultsSummary","answered","awaitingMarking","sortedInteractions","layout","InteractionLabel","interaction","iconClassName","questionsAppLink","params","sortBy","InsightHardestQuestion","hardestQuestion","InsightHighScoringStudents","greenChartImageUrl","completed","InsightLowScoringStudents","heartImageUrl","redChartImageUrl","InsightMarkingRequired","filterBy","InsightNotCompletedStudents","markingRequiredStudentIds","completedStudentIds","notStartedStudents","notCompletedStudents","markingRequiredStudents","id","completedStudents","classroomStudents","includes","InsightsMarkingRequiredMask","requiresMarking","ImageUrls","IconButton","onClick","hideMarkingRequiredMask","PartialInteractiveInsightsOverview","InteractiveInsightsOverview","studentResult","setHideMarkingRequiredMask","studentGroups","hasDataLoaded","video","interactiveMetadata","interactiveInsightsAppLinks","config","markingRequired","notCompleted","lowScore","highScore","aggregateEngagement","individualEngagement"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
- /*! For license information please see 5153-079b4125ae-lite.chunk.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5153],{18488:(e,t,r)=>{r.d(t,{o:()=>c});var n=r(99940),a=r(97395),o={namespace:"share-v2"},c={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:n.k.POST,data:e,normalizeOptions:o,invalidationKeys:["sent:share-v2","get:share-v2:shares:object:".concat(e.objectId)]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:n.k.PUT,data:t,normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)]}},deleteShare:function(e){return{type:n.k.DELETE,url:"{gateway}/v2/shares/".concat(e),key:"delete:share-v2",normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","sent:share-v2","share-v2:".concat(e)]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:n.k.GET,normalizeOptions:o}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.values(e).sort().join(":");return{url:a._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:n.k.GET,normalize:!1}},getShareLink:function(e){return{url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:o}},createShareLink:function(e){return{type:n.k.POST,url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",Object.assign({},e)),key:"create:share-v2:permanent-link:object:".concat(e.objectId),invalidationKeys:["share-v2:permanent-link:object:".concat(e.objectId),"sent:share-v2"],normalizeOptions:o}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}},getSharesByObjectId:function(e){return{url:"{gateway}/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:o}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:n.k.POST}},getPincodeByShareId:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}},getPincodeByCode:function(e){return{url:"{gateway}/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}}}},66122:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(32735);function a(e){return n.createElement("span",{id:"".concat(e.name,"Error"),className:"".concat(e.className," invalid-feedback d-block"),role:"status"},e.children)}},93681:(e,t,r)=>{r.d(t,{o:()=>m});var n=r(32735),a=r(31453),o=r(2786),c=r(4594);const i="s6wnJ",l="UFQ2T",u="Tp9_3";function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e){switch(e){case c.E.Video:case c.E.Interactive:case c.E.Clip:return"y0V3Z";case c.E.Subject:case c.E.Playlist:return"x3h8F";case c.E.Series:return"Wrg5x";default:return""}}function m(e){return n.createElement("div",{className:"d-flex"},e.children)}var d={cover:u,full:"AlF2T"},v={base:"uQ2rm",full:""};m.NarrowContent=function(e){return n.createElement("div",{className:"".concat("INvJ0"," mx-auto w-100 ").concat(e.className?e.className:"")},e.children)},m.Left=function(e){return n.createElement("div",{className:"".concat(i," ").concat(e.className?e.className:"")},e.children)},m.LeftImage=function(e){var t=s(n.useState(!1),2),r=t[0],a=t[1],o=s(n.useState(""),2),c=o[0],f=o[1];return n.useEffect((function(){if(e.imageUrl){var t=new Image;return t.onload=function(){return a(!0)},t.src=e.imageUrl,function(){return t.onload=null}}var r=e.fallbackImages[Math.floor(Math.random()*e.fallbackImages.length)];f(r.bgUrl)}),[e.imageUrl]),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(u," bg-light"),style:{backgroundImage:c?"url('".concat(c,"')"):""}},r&&n.createElement(n.Fragment,null,n.createElement("div",{className:"Mtlg9",style:{backgroundImage:"url('".concat(e.imageUrl,"')")}}),n.createElement("div",{className:"".concat("NxEjh"," ").concat(h(e.objectType))},n.createElement("div",{className:"NN9cV"},n.createElement("img",{className:"PkJ8J",src:e.imageUrl,alt:e.title})))))},m.LeftImageWithBackground=function(e){var t={backgroundImage:e.imageUrl?'url("'.concat(e.imageUrl,'")'):""};return e.backgroundColor&&(t.backgroundColor=e.backgroundColor),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(d[e.imageSize||"cover"]," d-flex align-items-center"),style:t,title:e.title})},m.Right=function(e){return n.createElement("div",{className:"".concat("eoZzJ"," ").concat(e.className?e.className:"")},e.children)},m.Header=function(e){var t,r=(null==e?void 0:e.logoComponent)||o.$S;return n.createElement("div",{className:"position-relative"},!!e.bannerComponent&&e.bannerComponent,n.createElement("div",{className:(0,a.A)("YHNgA","position-absolute",null===(t=e.className)||void 0===t?void 0:t.logoContainer)},n.createElement(r,null)),e.children)},m.Content=function(e){return n.createElement("div",{className:(0,a.A)("RVyLM","d-flex flex-column justify-content-center h-100",null==e?void 0:e.className)},e.children)},m.ContentBody=function(e){var t=v[e.width||"base"];return n.createElement("div",{className:(0,a.A)("aLd5V",t,"m-auto p-3",e.className)},e.children)},m.Buttons=function(e){return n.createElement("div",{className:(0,a.A)("position-fixed bg-white d-flex align-items-center","ZW85Q",null==e?void 0:e.className)},e.children)}},15153:(e,t,r)=>{r.r(t),r.d(t,{PincodeView:()=>j});var n=r(32735),a=r(50242),o=r(23481),c=r(81886),i=r(20354),l=r(18488),u=r(66122),s=r(93681),f=r(2102),h=r(83345),m=r(79612),d=r(97027),v=r(14070),y=r(97291),p=r(71214);const g={formContainer:"S2zsG",toggleEye:"xC7VO",input:"UpZdh"};function b(e){return b="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},b(e)}function E(){E=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},c=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof p?t:p,c=Object.create(o.prototype),i=new I(n||[]);return a(c,"_invoke",{value:P(e,r,i)}),c}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var h="suspendedStart",m="suspendedYield",d="executing",v="completed",y={};function p(){}function g(){}function w(){}var k={};u(k,c,(function(){return this}));var N=Object.getPrototypeOf,S=N&&N(N(_([])));S&&S!==r&&n.call(S,c)&&(k=S);var x=w.prototype=p.prototype=Object.create(k);function j(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function r(a,o,c,i){var l=f(e[a],e,o);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==b(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,c,i)}),(function(e){r("throw",e,c,i)})):t.resolve(s).then((function(e){u.value=e,c(u)}),(function(e){return r("throw",e,c,i)}))}i(l.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function P(t,r,n){var a=h;return function(o,c){if(a===d)throw Error("Generator is already running");if(a===v){if("throw"===o)throw c;return{value:e,done:!0}}for(n.method=o,n.arg=c;;){var i=n.delegate;if(i){var l=O(i,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===h)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var u=f(t,r,n);if("normal"===u.type){if(a=n.done?v:m,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=v,n.method="throw",n.arg=u.arg)}}}function O(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,O(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=f(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var c=o.arg;return c?c.done?(r[t.resultName]=c.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function U(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function _(t){if(t||""===t){var r=t[c];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(b(t)+" is not iterable")}return g.prototype=w,a(x,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=u(w,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,u(e,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},j(L.prototype),u(L.prototype,i,(function(){return this})),t.AsyncIterator=L,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var c=new L(s(e,r,n,a),o);return t.isGeneratorFunction(r)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},j(x),u(x,l,"Generator"),u(x,c,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=_,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(U),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return i.type="throw",i.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var c=this.tryEntries[o],i=c.completion;if("root"===c.tryLoc)return a("end");if(c.tryLoc<=this.prev){var l=n.call(c,"catchLoc"),u=n.call(c,"finallyLoc");if(l&&u){if(this.prev<c.catchLoc)return a(c.catchLoc,!0);if(this.prev<c.finallyLoc)return a(c.finallyLoc)}else if(l){if(this.prev<c.catchLoc)return a(c.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return a(c.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var c=o?o.completion:{};return c.type=e,c.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(c)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),U(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;U(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:_(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(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 k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var N=function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{l(n.next(e))}catch(e){o(e)}}function i(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,i)}l((n=n.apply(e,t||[])).next())}))},S="share.pincode",x=o.T.encloseNamespace(S);function j(){(0,m.M)({title:x("pageTitle")});var e=w(n.useState(""),2),t=e[0],r=e[1],o=w(n.useState(!1),2),b=o[0],k=o[1],j=w(n.useState(""),2),L=j[0],P=j[1],O=i.a.useGetFetchAsync();return n.createElement(s.o,null,n.createElement(s.o.LeftImage,{fallbackImages:d.Hq}),n.createElement(s.o.Right,null,n.createElement(s.o.Header,null),n.createElement(s.o.Content,null,n.createElement(s.o.NarrowContent,null,n.createElement("form",{onSubmit:function(e){var r;return N(this,void 0,void 0,E().mark((function n(){var o,i,u;return E().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.preventDefault(),t){n.next=3;break}return n.abrupt("return");case 3:return k(!0),n.prev=4,n.next=7,O(l.o.getPincodeByCode(t));case 7:o=n.sent,i={application:y.O.SHARE,action:v.e.Share.VIEW_SHARE_LINK,args:[o.shareId]},p.h.setPincode(o.shareId,t),u=c.Q.C$.getHref(i),c.Q.Ab.PageLoad(u),n.next=22;break;case 14:if(n.prev=14,n.t0=n.catch(4),(null===(r=n.t0.responseJSON)||void 0===r?void 0:r.status)!==a.o.NotFound){n.next=20;break}return P(x("incorrectPincodeError")),k(!1),n.abrupt("return");case 20:P(x("ajaxErrorMessage")),k(!1);case 22:case"end":return n.stop()}}),n,null,[[4,14]])})))},className:"position-relative"},n.createElement("div",{className:"form-group"},n.createElement("label",{className:"h2",htmlFor:"link-password"},n.createElement(h.x,{namespace:S,phrase:"info"})),n.createElement("input",{id:"link-password",type:"text",className:"form-control form-control-lg ".concat(g.input," ").concat(L?"is-invalid":""),placeholder:x("placeholder"),onChange:function(e){return r(e.target.value)},value:t,autoComplete:"off","aria-errormessage":"linkPasswordError"}),L&&n.createElement(u.A,{className:"mb-3",name:"linkPassword"},L)),n.createElement(f.m,{variant:"dark",showSpinner:b,type:"submit",className:"w-100 mt-3 btn-lg",disabled:b||!t},n.createElement(h.x,{namespace:S,phrase:"confirm"})))))))}},97027:(e,t,r)=>{r.d(t,{Hq:()=>f,Zf:()=>d});var n=r(32735),a=r(54610),o=r(4594),c=r(67453),i=r(99742);const l={left:"vIypY",leftTextImage:"YViNj",right:"MkD4u",blur:"X6mCh",imageContainer:"bc7kz",imagePosition:"JOhEj",image:"Ef2QR",thumbnail:"Gdurb",tallposter:"fjVNK",cover:"o3j31",linksContainer:"AT9Dk"};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var f=[{bgUrl:i.W.LaunchPad.BG_1},{bgUrl:i.W.LaunchPad.BG_2},{bgUrl:i.W.LaunchPad.BG_3},{bgUrl:i.W.LaunchPad.BG_4},{bgUrl:i.W.LaunchPad.BG_5}],h=[{bgUrl:i.W.LaunchPad.PRODUCT.BG_1},{bgUrl:i.W.LaunchPad.PRODUCT.BG_2},{bgUrl:i.W.LaunchPad.PRODUCT.BG_3},{bgUrl:i.W.LaunchPad.PRODUCT.BG_4},{bgUrl:i.W.LaunchPad.PRODUCT.BG_5},{bgUrl:i.W.LaunchPad.PRODUCT.BG_6},{bgUrl:i.W.LaunchPad.PRODUCT.BG_7},{bgUrl:i.W.LaunchPad.PRODUCT.BG_8},{bgUrl:i.W.LaunchPad.PRODUCT.BG_9}];function m(e){switch(e){case o.E.Video:case o.E.Interactive:case o.E.Clip:return l.thumbnail;case o.E.Subject:case o.E.Playlist:return l.cover;case o.E.Series:return l.tallposter;default:return""}}function d(e){var t,r=u(n.useState(!1),2),o=r[0],i=r[1],s=u(n.useState(""),2),f=s[0],d=s[1],v=c.j.createUrl(e.imageUrl,{size:a.h2.Large}),y=h;return n.useEffect((function(){if(!v&&y&&0!==y.length){var e,t=(e=y)[Math.floor(Math.random()*e.length)];t.bgUrl&&d(t.bgUrl)}}),[]),n.useEffect((function(){if(v){var e=new Image;return e.onload=function(){return i(!0)},e.src=v,function(){return e.onload=null}}}),[]),n.createElement("div",{className:"d-flex"},e.leftComponent?e.leftComponent():n.createElement("div",{className:"".concat(l.left," ").concat(f?"bg-blue d-flex align-items-center":"bg-light")},f?n.createElement("img",{className:"img-fluid",src:f,draggable:!1}):o&&n.createElement(n.Fragment,null,n.createElement("div",{className:l.blur,style:{backgroundImage:"url('".concat(v,"')")}}),n.createElement("div",{className:"".concat(l.imageContainer," ").concat(m(e.objectType))},n.createElement("div",{className:l.imagePosition},n.createElement("img",{className:l.image,src:v,alt:e.title}))))),n.createElement("div",{className:"".concat(l.right," bg-white d-flex flex-column")},n.createElement("div",{className:"position-absolute d-flex align-items-center ".concat(l.linksContainer)},null===(t=e.links)||void 0===t?void 0:t.map((function(e,t){return e.hide?n.createElement(n.Fragment,{key:t}):n.createElement("a",{key:t,href:e.url,className:"info-link fw-semibold",onClick:e.onClick},e.text)}))),e.children))}}}]);
3
- //# sourceMappingURL=5153-079b4125ae-lite.chunk.js.map
1
+ /*! For license information please see 5153-cf62a95421-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5153],{18488:(e,t,r)=>{r.d(t,{o:()=>c});var n=r(99940),a=r(97395),o={namespace:"share-v2"},c={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:n.k.POST,data:e,normalizeOptions:o,invalidationKeys:["sent:share-v2","get:share-v2:shares:object:".concat(e.objectId)]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:n.k.PUT,data:t,normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)]}},deleteShare:function(e){return{type:n.k.DELETE,url:"{gateway}/v2/shares/".concat(e),key:"delete:share-v2",normalizeOptions:o,invalidationKeys:["share-v2:permanent-link:object","sent:share-v2","share-v2:".concat(e)]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:n.k.GET,normalizeOptions:o}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.values(e).sort().join(":");return{url:a._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:n.k.GET,normalize:!1}},getShareLink:function(e){return{url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:o}},createShareLink:function(e){return{type:n.k.POST,url:a._.urlBuilder("{gateway}/v2/shares/permanent-link",Object.assign({},e)),key:"create:share-v2:permanent-link:object:".concat(e.objectId),invalidationKeys:["share-v2:permanent-link:object:".concat(e.objectId),"sent:share-v2"],normalizeOptions:o}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}},getSharesByObjectId:function(e){return{url:"{gateway}/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:o}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:n.k.POST}},getPincodeByShareId:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}},getPincodeByCode:function(e){return{url:"{gateway}/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}}}},66122:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(32735);function a(e){return n.createElement("span",{id:"".concat(e.name,"Error"),className:"".concat(e.className," invalid-feedback d-block"),role:"status"},e.children)}},93681:(e,t,r)=>{r.d(t,{o:()=>m});var n=r(32735),a=r(31453),o=r(2786),c=r(4594);const i="s6wnJ",l="UFQ2T",u="Tp9_3";function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function h(e){switch(e){case c.E.Video:case c.E.Interactive:case c.E.Clip:return"y0V3Z";case c.E.Subject:case c.E.Playlist:return"x3h8F";case c.E.Series:return"Wrg5x";default:return""}}function m(e){return n.createElement("div",{className:"d-flex"},e.children)}var d={cover:u,full:"AlF2T"},v={base:"uQ2rm",full:""};m.NarrowContent=function(e){return n.createElement("div",{className:"".concat("INvJ0"," mx-auto w-100 ").concat(e.className?e.className:"")},e.children)},m.Left=function(e){return n.createElement("div",{className:"".concat(i," ").concat(e.className?e.className:"")},e.children)},m.LeftImage=function(e){var t=s(n.useState(!1),2),r=t[0],a=t[1],o=s(n.useState(""),2),c=o[0],f=o[1];return n.useEffect((function(){if(e.imageUrl){var t=new Image;return t.onload=function(){return a(!0)},t.src=e.imageUrl,function(){return t.onload=null}}var r=e.fallbackImages[Math.floor(Math.random()*e.fallbackImages.length)];f(r.bgUrl)}),[e.imageUrl]),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(u," bg-light"),style:{backgroundImage:c?"url('".concat(c,"')"):""}},r&&n.createElement(n.Fragment,null,n.createElement("div",{className:"Mtlg9",style:{backgroundImage:"url('".concat(e.imageUrl,"')")}}),n.createElement("div",{className:"".concat("NxEjh"," ").concat(h(e.objectType))},n.createElement("div",{className:"NN9cV"},n.createElement("img",{className:"PkJ8J",src:e.imageUrl,alt:e.title})))))},m.LeftImageWithBackground=function(e){var t={backgroundImage:e.imageUrl?'url("'.concat(e.imageUrl,'")'):""};return e.backgroundColor&&(t.backgroundColor=e.backgroundColor),n.createElement("div",{className:"".concat(i," ").concat(l," ").concat(d[e.imageSize||"cover"]," d-flex align-items-center"),style:t,title:e.title})},m.Right=function(e){return n.createElement("div",{className:"".concat("eoZzJ"," ").concat(e.className?e.className:"")},e.children)},m.Header=function(e){var t,r=(null==e?void 0:e.logoComponent)||o.$S;return n.createElement("div",{className:"position-relative"},!!e.bannerComponent&&e.bannerComponent,n.createElement("div",{className:(0,a.A)("YHNgA","position-absolute",null===(t=e.className)||void 0===t?void 0:t.logoContainer)},n.createElement(r,null)),e.children)},m.Content=function(e){return n.createElement("div",{className:(0,a.A)("RVyLM","d-flex flex-column justify-content-center h-100",null==e?void 0:e.className)},e.children)},m.ContentBody=function(e){var t=v[e.width||"base"];return n.createElement("div",{className:(0,a.A)("aLd5V",t,"m-auto p-3",e.className)},e.children)},m.Buttons=function(e){return n.createElement("div",{className:(0,a.A)("position-fixed bg-white d-flex align-items-center","ZW85Q",null==e?void 0:e.className)},e.children)}},15153:(e,t,r)=>{r.r(t),r.d(t,{PincodeView:()=>j});var n=r(32735),a=r(50242),o=r(23481),c=r(81886),i=r(20354),l=r(18488),u=r(66122),s=r(93681),f=r(2102),h=r(83345),m=r(79612),d=r(97027),v=r(14070),y=r(97291),p=r(71214);const g={formContainer:"S2zsG",toggleEye:"xC7VO",input:"UpZdh"};function b(e){return b="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},b(e)}function E(){E=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},c=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof p?t:p,c=Object.create(o.prototype),i=new I(n||[]);return a(c,"_invoke",{value:P(e,r,i)}),c}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var h="suspendedStart",m="suspendedYield",d="executing",v="completed",y={};function p(){}function g(){}function w(){}var k={};u(k,c,(function(){return this}));var N=Object.getPrototypeOf,S=N&&N(N(_([])));S&&S!==r&&n.call(S,c)&&(k=S);var x=w.prototype=p.prototype=Object.create(k);function j(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function r(a,o,c,i){var l=f(e[a],e,o);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==b(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,c,i)}),(function(e){r("throw",e,c,i)})):t.resolve(s).then((function(e){u.value=e,c(u)}),(function(e){return r("throw",e,c,i)}))}i(l.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function P(t,r,n){var a=h;return function(o,c){if(a===d)throw Error("Generator is already running");if(a===v){if("throw"===o)throw c;return{value:e,done:!0}}for(n.method=o,n.arg=c;;){var i=n.delegate;if(i){var l=O(i,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===h)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var u=f(t,r,n);if("normal"===u.type){if(a=n.done?v:m,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=v,n.method="throw",n.arg=u.arg)}}}function O(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,O(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=f(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var c=o.arg;return c?c.done?(r[t.resultName]=c.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function U(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function _(t){if(t||""===t){var r=t[c];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(b(t)+" is not iterable")}return g.prototype=w,a(x,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=u(w,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,u(e,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},j(L.prototype),u(L.prototype,i,(function(){return this})),t.AsyncIterator=L,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var c=new L(s(e,r,n,a),o);return t.isGeneratorFunction(r)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},j(x),u(x,l,"Generator"),u(x,c,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=_,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(U),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return i.type="throw",i.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var c=this.tryEntries[o],i=c.completion;if("root"===c.tryLoc)return a("end");if(c.tryLoc<=this.prev){var l=n.call(c,"catchLoc"),u=n.call(c,"finallyLoc");if(l&&u){if(this.prev<c.catchLoc)return a(c.catchLoc,!0);if(this.prev<c.finallyLoc)return a(c.finallyLoc)}else if(l){if(this.prev<c.catchLoc)return a(c.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return a(c.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var c=o?o.completion:{};return c.type=e,c.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(c)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),U(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;U(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:_(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function w(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(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 k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var N=function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{l(n.next(e))}catch(e){o(e)}}function i(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,i)}l((n=n.apply(e,t||[])).next())}))},S="share.pincode",x=o.T.encloseNamespace(S);function j(e){var t;(0,m.M)({title:x("pageTitle")});var r=w(n.useState(null!==(t=e.pincode)&&void 0!==t?t:""),2),o=r[0],b=r[1],k=w(n.useState(!1),2),j=k[0],L=k[1],P=w(n.useState(""),2),O=P[0],C=P[1],U=i.a.useGetFetchAsync();return n.createElement(s.o,null,n.createElement(s.o.LeftImage,{fallbackImages:d.Hq}),n.createElement(s.o.Right,null,n.createElement(s.o.Header,null),n.createElement(s.o.Content,null,n.createElement(s.o.NarrowContent,null,n.createElement("form",{onSubmit:function(e){var t;return N(this,void 0,void 0,E().mark((function r(){var n,i,u;return E().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(e.preventDefault(),o){r.next=3;break}return r.abrupt("return");case 3:return L(!0),r.prev=4,r.next=7,U(l.o.getPincodeByCode(o));case 7:n=r.sent,i={application:y.O.SHARE,action:v.e.Share.VIEW_SHARE_LINK,args:[n.shareId]},p.h.setPincode(n.shareId,o),u=c.Q.C$.getHref(i),c.Q.Ab.PageLoad(u),r.next=22;break;case 14:if(r.prev=14,r.t0=r.catch(4),(null===(t=r.t0.responseJSON)||void 0===t?void 0:t.status)!==a.o.NotFound){r.next=20;break}return C(x("incorrectPincodeError")),L(!1),r.abrupt("return");case 20:C(x("ajaxErrorMessage")),L(!1);case 22:case"end":return r.stop()}}),r,null,[[4,14]])})))},className:"position-relative"},n.createElement("div",{className:"form-group"},n.createElement("label",{className:"h2",htmlFor:"link-password"},n.createElement(h.x,{namespace:S,phrase:"info"})),n.createElement("input",{id:"link-password",type:"text",className:"form-control form-control-lg ".concat(g.input," ").concat(O?"is-invalid":""),placeholder:x("placeholder"),onChange:function(e){return b(e.target.value)},value:o,autoComplete:"off","aria-errormessage":"linkPasswordError"}),O&&n.createElement(u.A,{className:"mb-3",name:"linkPassword"},O)),n.createElement(f.m,{variant:"dark",showSpinner:j,type:"submit",className:"w-100 mt-3 btn-lg",disabled:j||!o},n.createElement(h.x,{namespace:S,phrase:"confirm"})))))))}},97027:(e,t,r)=>{r.d(t,{Hq:()=>f,Zf:()=>d});var n=r(32735),a=r(54610),o=r(4594),c=r(67453),i=r(99742);const l={left:"vIypY",leftTextImage:"YViNj",right:"MkD4u",blur:"X6mCh",imageContainer:"bc7kz",imagePosition:"JOhEj",image:"Ef2QR",thumbnail:"Gdurb",tallposter:"fjVNK",cover:"o3j31",linksContainer:"AT9Dk"};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,c,i=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var f=[{bgUrl:i.W.LaunchPad.BG_1},{bgUrl:i.W.LaunchPad.BG_2},{bgUrl:i.W.LaunchPad.BG_3},{bgUrl:i.W.LaunchPad.BG_4},{bgUrl:i.W.LaunchPad.BG_5}],h=[{bgUrl:i.W.LaunchPad.PRODUCT.BG_1},{bgUrl:i.W.LaunchPad.PRODUCT.BG_2},{bgUrl:i.W.LaunchPad.PRODUCT.BG_3},{bgUrl:i.W.LaunchPad.PRODUCT.BG_4},{bgUrl:i.W.LaunchPad.PRODUCT.BG_5},{bgUrl:i.W.LaunchPad.PRODUCT.BG_6},{bgUrl:i.W.LaunchPad.PRODUCT.BG_7},{bgUrl:i.W.LaunchPad.PRODUCT.BG_8},{bgUrl:i.W.LaunchPad.PRODUCT.BG_9}];function m(e){switch(e){case o.E.Video:case o.E.Interactive:case o.E.Clip:return l.thumbnail;case o.E.Subject:case o.E.Playlist:return l.cover;case o.E.Series:return l.tallposter;default:return""}}function d(e){var t,r=u(n.useState(!1),2),o=r[0],i=r[1],s=u(n.useState(""),2),f=s[0],d=s[1],v=c.j.createUrl(e.imageUrl,{size:a.h2.Large}),y=h;return n.useEffect((function(){if(!v&&y&&0!==y.length){var e,t=(e=y)[Math.floor(Math.random()*e.length)];t.bgUrl&&d(t.bgUrl)}}),[]),n.useEffect((function(){if(v){var e=new Image;return e.onload=function(){return i(!0)},e.src=v,function(){return e.onload=null}}}),[]),n.createElement("div",{className:"d-flex"},e.leftComponent?e.leftComponent():n.createElement("div",{className:"".concat(l.left," ").concat(f?"bg-blue d-flex align-items-center":"bg-light")},f?n.createElement("img",{className:"img-fluid",src:f,draggable:!1}):o&&n.createElement(n.Fragment,null,n.createElement("div",{className:l.blur,style:{backgroundImage:"url('".concat(v,"')")}}),n.createElement("div",{className:"".concat(l.imageContainer," ").concat(m(e.objectType))},n.createElement("div",{className:l.imagePosition},n.createElement("img",{className:l.image,src:v,alt:e.title}))))),n.createElement("div",{className:"".concat(l.right," bg-white d-flex flex-column")},n.createElement("div",{className:"position-absolute d-flex align-items-center ".concat(l.linksContainer)},null===(t=e.links)||void 0===t?void 0:t.map((function(e,t){return e.hide?n.createElement(n.Fragment,{key:t}):n.createElement("a",{key:t,href:e.url,className:"info-link fw-semibold",onClick:e.onClick},e.text)}))),e.children))}}}]);
3
+ //# sourceMappingURL=5153-cf62a95421-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/5153-cf62a95421-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/components/forms/form-feedback/FormFeedback.tsx","file:///app/packages/libs/shared/src/components/launchpad/v2/launchpad-v2.scss","file:///app/packages/libs/shared/src/components/launchpad/v2/LaunchpadV2.tsx","file:///app/packages/projects/lite/src/apps/share/views/pincode/pincode.scss","file:///app/packages/projects/lite/src/apps/share/views/pincode/PincodeView.tsx","file:///app/packages/projects/lite/src/shared/components/launchpad/launchpad.scss","file:///app/packages/projects/lite/src/shared/components/launchpad/Launchpad.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n scopeId?: string;\n objectTypeId?: number;\n type?: ShareType[];\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest\n ): Flight.Request {\n return {\n url: '{gateway}/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [ 'sent:share-v2', `get:share-v2:shares:object:${data.objectId}` ]\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `update:share-v2`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ]\n };\n },\n \n deleteShare(\n shareId: string\n ): Flight.Request {\n return {\n type: HttpVerbs.DELETE,\n url: `{gateway}/v2/shares/${shareId}`,\n key: `delete:share-v2`,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', 'sent:share-v2', `share-v2:${shareId}` ]\n };\n },\n\n getShare(\n shareId: string\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {}\n ): Flight.Request {\n const key = Object.values(params).sort().join(':');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/sent', params),\n key: `sent:share-v2:${key}`,\n type: HttpVerbs.GET,\n normalize: false\n };\n },\n\n getShareLink(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n normalizeOptions\n };\n },\n\n createShareLink(\n data: CreateShareLinkRequest\n ): Flight.Request {\n return {\n type: HttpVerbs.POST,\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { ...data }),\n key: `create:share-v2:permanent-link:object:${data.objectId}`,\n invalidationKeys: [ `share-v2:permanent-link:object:${data.objectId}`, 'sent:share-v2' ],\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n },\n \n getSharesByObjectId(\n objectId: string | number\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n createSharePincode(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `create:share-v2:${shareId}:pincode`,\n type: HttpVerbs.POST\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n },\n\n getPincodeByCode(code: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n }\n};\n","import React from 'react';\n\ninterface FormFeedbackProps extends React.PropsWithChildren {\n name: string;\n className?: string;\n}\n\nexport function FormFeedback(props: FormFeedbackProps) {\n return (\n <span id={`${props.name}Error`} className={`${props.className} invalid-feedback d-block`} role='status'>{props.children}</span>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"s6wnJ\",\"leftWithImage\":\"UFQ2T\",\"bgCover\":\"Tp9_3\",\"bgFull\":\"AlF2T\",\"right\":\"eoZzJ\",\"rightContent\":\"RVyLM\",\"narrowContent\":\"INvJ0\",\"logo\":\"YHNgA\",\"buttonContainer\":\"ZW85Q\",\"blur\":\"Mtlg9\",\"imageContainer\":\"NxEjh\",\"imagePosition\":\"NN9cV\",\"image\":\"PkJ8J\",\"thumbnail\":\"y0V3Z\",\"tallposter\":\"Wrg5x\",\"cover\":\"x3h8F\",\"contentBody\":\"aLd5V\",\"contentBodyBase\":\"uQ2rm\"};","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport styles from './launchpad-v2.scss';\n\nfunction mapObjectTypeToImageClass(objectType: MasterType): string {\n switch (objectType) {\n case MasterType.Video:\n case MasterType.Interactive:\n case MasterType.Clip:\n return styles.thumbnail;\n\n case MasterType.Subject:\n case MasterType.Playlist:\n return styles.cover;\n\n case MasterType.Series:\n return styles.tallposter;\n\n default:\n return '';\n }\n}\n\ninterface LaunchpadV2Props {\n}\n\nexport function LaunchpadV2(props: React.PropsWithChildren<LaunchpadV2Props>): JSX.Element {\n return (\n <div className='d-flex'>\n {props.children}\n </div>\n );\n}\n\ninterface LeftPanelProps {\n className?: string;\n}\n\n\nfunction LeftPanel(props: React.PropsWithChildren<LeftPanelProps>): JSX.Element {\n return (\n <div className={`${styles.left} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface LeftImageProps {\n objectType?: MasterType;\n title?: string;\n imageUrl?: string;\n fallbackImages: LaunchImage[];\n}\n\ninterface LaunchImage {\n bgUrl: string;\n}\n\nfunction LeftImage(props: LeftImageProps): JSX.Element {\n const [ showImage, setShowImage ] = React.useState(false);\n const [ image, setImage ] = React.useState<string>('');\n\n React.useEffect(() => {\n if (!props.imageUrl) {\n const image = props.fallbackImages[Math.floor(Math.random() * props.fallbackImages.length)];\n setImage(image.bgUrl);\n return;\n }\n\n const img = new Image();\n img.onload = () => setShowImage(true);\n img.src = props.imageUrl;\n return () => img.onload = null;\n }, [props.imageUrl]);\n\n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${styles.bgCover} bg-light`}\n style={{ backgroundImage: image ? `url('${image}')` : '' }}\n >\n {showImage &&\n <>\n <div className={styles.blur} style={{ backgroundImage: `url('${props.imageUrl}')` }} />\n <div className={`${styles.imageContainer} ${mapObjectTypeToImageClass(props.objectType)}`}>\n <div className={styles.imagePosition}>\n <img className={styles.image} src={props.imageUrl} alt={props.title} />\n </div>\n </div>\n </>\n }\n </div>\n );\n}\n\ntype ImageSizeType = 'cover' | 'full';\n\ninterface LeftImageWithBackgroundProps {\n imageUrl: string;\n imageSize?: ImageSizeType;\n backgroundColor?: string;\n title?: string;\n}\n\nconst imageSizeMap: {[key in ImageSizeType]: string} = {\n cover: styles.bgCover,\n full: styles.bgFull\n};\n\nfunction LeftImageWithBackground(props: LeftImageWithBackgroundProps): JSX.Element {\n const bgStyles: React.CSSProperties = {\n backgroundImage: props.imageUrl ? `url(\"${props.imageUrl}\")` : ''\n };\n\n if (props.backgroundColor)\n bgStyles.backgroundColor = props.backgroundColor;\n \n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${imageSizeMap[props.imageSize || 'cover']} d-flex align-items-center`}\n style={bgStyles}\n title={props.title}\n />\n );\n}\n\ninterface RightPanelProps {\n className?: string;\n}\n\nexport function RightPanel(props: React.PropsWithChildren<RightPanelProps>): JSX.Element {\n return (\n <div className={`${styles.right} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface HeaderProps {\n bannerComponent?: JSX.Element;\n logoComponent?: () => JSX.Element;\n className?: {\n logoContainer?: string;\n }\n}\n\n\nfunction Header(props: React.PropsWithChildren<HeaderProps>): JSX.Element {\n const LogoComponent = props?.logoComponent || ClickViewLogo;\n \n return (\n <div className='position-relative'>\n {!!props.bannerComponent &&\n props.bannerComponent\n }\n <div className={classNames(styles.logo, 'position-absolute', props.className?.logoContainer)}>\n <LogoComponent />\n </div>\n {props.children}\n </div>\n );\n}\n\ninterface ContentProps {\n className?: string;\n}\n\nfunction Content(props: React.PropsWithChildren<ContentProps>): JSX.Element {\n return (\n <div className={classNames(styles.rightContent, 'd-flex flex-column justify-content-center h-100', props?.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface ContentBodyProps {\n className?: string;\n width?: 'base' | 'full';\n}\n\nconst widthClassNameMap: {[key in ContentBodyProps['width']]: string} = {\n base: styles.contentBodyBase,\n full: ''\n};\n\nfunction ContentBody(props: React.PropsWithChildren<ContentBodyProps>): JSX.Element {\n const widthClassName = widthClassNameMap[props.width || 'base'];\n return (\n <div className={classNames(styles.contentBody, widthClassName, 'm-auto p-3', props.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface NarrowContentProps {\n className?: string;\n}\n\nLaunchpadV2.NarrowContent = NarrowContent;\nfunction NarrowContent(props: React.PropsWithChildren<NarrowContentProps>): JSX.Element {\n return (\n <div className={`${styles.narrowContent} mx-auto w-100 ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface ButtonsProps {\n className?: string;\n}\n\nfunction Buttons(props: React.PropsWithChildren<ButtonsProps>): JSX.Element {\n return (\n <div className={classNames('position-fixed bg-white d-flex align-items-center', styles.buttonContainer, props?.className)}>\n {props.children}\n </div>\n );\n}\n\n/**\n * Intended ussage below:\n * \n * <LaunchpadV2>\n * <LaunchpadV2.Left>\n * // Your LHS content here\n * </LaunchpadV2.Left>\n * <LaunchpadV2.Right>\n * <LaunchpadV2.Header />\n * <LaunchpadV2.Content>\n * // Can omit this if it needs to be full width\n * <LaunchpadV2.ContentBody width=\"...\">\n * // Your main content here\n * </LaunchpadV2.ContentBody>\n * </LaunchpadV2.Content>\n * \n * // Omit this and put your buttons in content\n * // if you want your buttons immediately under your content rather \n * // than at the bottom of the screen\n * <LaunchpadV2.Buttons />\n * \n * </LaunchpadV2.Right>\n * </LaunchpadV2>\n * \n * - Sha\n */\n\nLaunchpadV2.Left = LeftPanel;\nLaunchpadV2.LeftImage = LeftImage;\nLaunchpadV2.LeftImageWithBackground = LeftImageWithBackground;\nLaunchpadV2.Right = RightPanel;\nLaunchpadV2.Header = Header;\nLaunchpadV2.Content = Content;\nLaunchpadV2.ContentBody = ContentBody;\nLaunchpadV2.Buttons = Buttons;\n","// extracted by mini-css-extract-plugin\nexport default {\"formContainer\":\"S2zsG\",\"toggleEye\":\"xC7VO\",\"input\":\"UpZdh\"};","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { SharePincode } from 'libs/shared/apps/share-v2/interfaces/SharePincode';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { LaunchpadV2 } from 'libs/shared/components/launchpad/v2/LaunchpadV2';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\n\nimport { LAUNCHPAD_FALLBACK_IMAGES } from 'shared/components/launchpad/Launchpad';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ShareLinkFilterHelpers } from 'apps/share/filters/share-link-filter/ShareLinkFilterHelpers';\n\nimport styles from './pincode.scss';\n\n\nconst namespace = 'share.pincode';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PincodeViewProps {\n pincode?: string;\n}\n\nexport function PincodeView(props: PincodeViewProps): JSX.Element {\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n const [ pincode, setPincode ] = React.useState(props.pincode ?? '');\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const [ errorMessage, setErrorMessage ] = React.useState('');\n \n\n const fetchAsync = Flight.useGetFetchAsync();\n\n async function onSubmit(e: React.FormEvent): Promise<void> {\n e.preventDefault();\n\n if (!pincode)\n return;\n\n setShowSpinner(true);\n\n try {\n const pincodeData = await fetchAsync<SharePincode>(ShareRequests.getPincodeByCode(pincode));\n\n const appLink = {\n application: AppChannels.SHARE,\n action: Actions.Share.VIEW_SHARE_LINK,\n args: [pincodeData.shareId]\n };\n\n ShareLinkFilterHelpers.setPincode(pincodeData.shareId, pincode);\n const href = Core.AppLinkHelper.getHref(appLink);\n Core.LocationUtils.PageLoad(href);\n } catch (error) {\n if (error.responseJSON?.status === HttpStatus.NotFound) {\n setErrorMessage(getPhrase('incorrectPincodeError'));\n setShowSpinner(false);\n return;\n }\n\n setErrorMessage(getPhrase('ajaxErrorMessage'));\n setShowSpinner(false);\n }\n }\n\n return (\n <LaunchpadV2>\n <LaunchpadV2.LeftImage fallbackImages={LAUNCHPAD_FALLBACK_IMAGES} />\n <LaunchpadV2.Right>\n <LaunchpadV2.Header />\n <LaunchpadV2.Content>\n <LaunchpadV2.NarrowContent>\n <form onSubmit={onSubmit} className='position-relative'>\n <div className='form-group'>\n <label className='h2' htmlFor='link-password'>\n <Text namespace={namespace} phrase='info' />\n </label>\n <input\n id='link-password'\n type='text'\n className={`form-control form-control-lg ${styles.input} ${errorMessage ? 'is-invalid' : ''}`}\n placeholder={getPhrase('placeholder')}\n onChange={e => setPincode(e.target.value)}\n value={pincode}\n autoComplete='off'\n aria-errormessage='linkPasswordError'\n />\n\n {errorMessage && (\n <FormFeedback className='mb-3' name='linkPassword'>{errorMessage}</FormFeedback>\n )}\n </div>\n\n <SpinnerButton\n variant='dark'\n showSpinner={showSpinner}\n type='submit'\n className='w-100 mt-3 btn-lg'\n disabled={showSpinner || !pincode}\n >\n <Text namespace={namespace} phrase='confirm' />\n </SpinnerButton>\n </form>\n </LaunchpadV2.NarrowContent>\n </LaunchpadV2.Content>\n </LaunchpadV2.Right>\n </LaunchpadV2>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"vIypY\",\"leftTextImage\":\"YViNj\",\"right\":\"MkD4u\",\"blur\":\"X6mCh\",\"imageContainer\":\"bc7kz\",\"imagePosition\":\"JOhEj\",\"image\":\"Ef2QR\",\"thumbnail\":\"Gdurb\",\"tallposter\":\"fjVNK\",\"cover\":\"o3j31\",\"linksContainer\":\"AT9Dk\"};","import React from 'react';\n\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './launchpad.scss';\n\nexport const LAUNCHPAD_FALLBACK_IMAGES = [\n { bgUrl: ImageUrls.LaunchPad.BG_1 },\n { bgUrl: ImageUrls.LaunchPad.BG_2 },\n { bgUrl: ImageUrls.LaunchPad.BG_3 },\n { bgUrl: ImageUrls.LaunchPad.BG_4 },\n { bgUrl: ImageUrls.LaunchPad.BG_5 }\n];\n\nexport const LAUNCHPAD_PRODUCT_FALLBACK_IMAGES = [\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_1 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_2 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_3 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_4 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_5 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_6 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_7 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_8 },\n { bgUrl: ImageUrls.LaunchPad.PRODUCT.BG_9 }\n];\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst XMAS_URLS: LaunchImage[] = [\n { bgUrl: '/images/launchpad/xmas/2024-promo1-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo2-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo3-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo4-bg.png' },\n { bgUrl: '/images/launchpad/xmas/2024-promo5-bg.png' }\n];\n\nfunction mapObjectTypeToImageClass(objectType: MasterType): string {\n switch (objectType) {\n case MasterType.Video:\n case MasterType.Interactive:\n case MasterType.Clip:\n return styles.thumbnail;\n\n case MasterType.Subject:\n case MasterType.Playlist:\n return styles.cover;\n\n case MasterType.Series:\n return styles.tallposter;\n\n default:\n return '';\n }\n}\n\ninterface LaunchpadLink {\n url: string;\n text: string;\n onClick?: () => void;\n hide?: boolean;\n}\n\ninterface LaunchpadProps {\n objectType?: MasterType;\n title?: string;\n imageUrl?: string;\n links?: LaunchpadLink[];\n leftComponent?: () => JSX.Element;\n}\n\ninterface LaunchImage {\n bgUrl: string;\n}\n\nfunction getRandomImage(urlLists: LaunchImage[]): LaunchImage {\n return urlLists[Math.floor(Math.random() * urlLists.length)];\n}\n\nexport function Launchpad(props: React.PropsWithChildren<LaunchpadProps>): JSX.Element {\n const [ showImage, setShowImage ] = React.useState(false);\n const [ image, setImage ] = React.useState<string>('');\n\n const imageUrl = ImageHelper.createUrl(props.imageUrl, { size: ImageSize.Large });\n const IMAGE_URLS = LAUNCHPAD_PRODUCT_FALLBACK_IMAGES;\n\n React.useEffect(() => {\n if (imageUrl || !IMAGE_URLS || IMAGE_URLS.length === 0)\n return;\n\n const image = getRandomImage(IMAGE_URLS);\n\n if (image.bgUrl) {\n setImage(image.bgUrl);\n }\n }, []);\n\n React.useEffect(() => {\n if (!imageUrl)\n return;\n\n const img = new Image();\n img.onload = () => setShowImage(true);\n img.src = imageUrl;\n return () => img.onload = null;\n }, []);\n\n return (\n <div className='d-flex'>\n { props.leftComponent ?\n props.leftComponent()\n :\n <div\n className={`${styles.left} ${image ? 'bg-blue d-flex align-items-center' : 'bg-light'}`}\n >\n {image ?\n <img className='img-fluid' src={image} draggable={false} /> :\n (showImage &&\n <>\n <div className={styles.blur} style={{ backgroundImage: `url('${imageUrl}')` }} />\n <div className={`${styles.imageContainer} ${mapObjectTypeToImageClass(props.objectType)}`}>\n <div className={styles.imagePosition}>\n <img className={styles.image} src={imageUrl} alt={props.title} />\n </div>\n </div>\n </>\n )\n }\n </div>\n }\n <div className={`${styles.right} bg-white d-flex flex-column`}>\n <div className={`position-absolute d-flex align-items-center ${styles.linksContainer}`}>\n {props.links?.map((link, key) => {\n if (link.hide)\n return <React.Fragment key={key}></React.Fragment>;\n\n return (\n <a key={key} href={link.url} className='info-link fw-semibold' onClick={link.onClick}>\n {link.text}\n </a>\n );\n })}\n </div>\n\n {props.children}\n </div>\n </div>\n );\n}"],"names":["normalizeOptions","namespace","ShareRequests","createShare","data","url","key","type","invalidationKeys","objectId","updateShare","shareId","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","sort","join","normalize","getShareLink","id","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","FormFeedback","props","name","className","role","children","mapObjectTypeToImageClass","objectType","MasterType","LaunchpadV2","imageSizeMap","cover","full","widthClassNameMap","base","NarrowContent","Left","LeftImage","showImage","setShowImage","image","setImage","imageUrl","img","Image","onload","src","fallbackImages","Math","floor","random","length","bgUrl","style","backgroundImage","alt","title","LeftImageWithBackground","bgStyles","backgroundColor","imageSize","Right","Header","LogoComponent","logoComponent","ClickViewLogo","bannerComponent","logoContainer","Content","ContentBody","widthClassName","width","Buttons","getPhrase","LanguageService","PincodeView","useSetPageMetadata","pincode","setPincode","showSpinner","setShowSpinner","errorMessage","setErrorMessage","fetchAsync","onSubmit","e","preventDefault","pincodeData","appLink","application","action","args","ShareLinkFilterHelpers","href","responseJSON","status","HttpStatus","htmlFor","Text","phrase","placeholder","onChange","target","value","autoComplete","SpinnerButton","variant","disabled","LAUNCHPAD_FALLBACK_IMAGES","ImageUrls","LAUNCHPAD_PRODUCT_FALLBACK_IMAGES","Launchpad","ImageHelper","size","IMAGE_URLS","urlLists","leftComponent","draggable","links","map","link","hide","onClick","text"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6137],{81854:(e,t,a)=>{a.r(t),a.d(t,{SharedWithMeView:()=>ce});var n=a(32735),l=a(70680),r=a(23481),c=a(81886),i=a(20354),s=a(30439),m=a(87801),o=a(83345),d=a(16714),u=a(67058),E=a(39151),p=a(79967),h=a(60115),g=a(22902),v=a(79612),f=a(37802),b=a(57900),y=a(2948),C=a(15611),S=a(91693),N=a(35223),x=a(14070),k=a(97291),j=a(86702);function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var H="lite.shareInsightsAlert";function M(){var e,t,a=(e=(0,y.D)(j.y.SHARE_INSIGHTS_ALERT,!0,{storage:b.Z1.LocalStorage}),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,l,r,c,i=[],s=!0,m=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){m=!0,l=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(m)throw l}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?w(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.")}()),l=a[0],r=a[1];return l?n.createElement("div",{role:"alert",className:"d-flex justify-content-between align-items-center bg-light-blue rounded p-2 mb-4"},n.createElement("div",null,n.createElement(o.x,{namespace:H,phrase:"sharedByMe"}),n.createElement(C.F,{appLink:{application:k.O.MY_SHARES,action:x.e.MyShares.HOME},className:"text-info"},n.createElement(o.x,{namespace:H,phrase:"myShares"})),"."),n.createElement(S.h,{svgName:N.vn.Close,className:"text-blue",onClick:function(){r(!1)}})):n.createElement(n.Fragment,null)}const O={imageColumn:"Hs7kk",nameColumn:"GRyds",sharedByColumn:"fewR0",dateSharedColumn:"G6z3W",heading:"YxAsH",image:"CdUtO",name:"pdEW7",avatar:"rQ2Dt",date:"Lx3Ce"};function A(){return n.createElement("div",{className:"d-flex striped-row rounded"},n.createElement("div",{className:"d-flex align-items-center justify-content-center p-2 ".concat(O.imageColumn)},n.createElement("div",{className:"partial-loading-background rounded w-100 ".concat(O.image)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(O.nameColumn)},n.createElement("div",{className:"partial-loading-background w-75 ".concat(O.name)})),n.createElement("div",{className:"d-flex align-items-center p-2 ".concat(O.sharedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(O.avatar)})),n.createElement("div",{className:"d-none d-md-flex align-items-center p-2 ".concat(O.dateSharedColumn)},n.createElement("div",{className:"partial-loading-background ".concat(O.date)})))}function I(e){return n.createElement("div",{className:"d-flex mb-1"},n.createElement("div",{className:"".concat(O.imageColumn," p-2")},n.createElement("div",{className:"partial-loading-background ".concat(O.heading)})),n.createElement("div",{className:"".concat(O.nameColumn," p-2")}," "),n.createElement("div",{className:"".concat(O.sharedByColumn," p-2")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(O.heading)}):n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(O.dateSharedColumn," p-2 d-none d-md-flex")},e.fullHeader?n.createElement("div",{className:"partial-loading-background ".concat(O.heading)}):n.createElement(n.Fragment,null," ")))}function T(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3"},n.createElement(I,{fullHeader:!0}),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(A,null),n.createElement(A,null),n.createElement(A,null))),n.createElement("div",{className:"mb-3"},n.createElement(I,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null))),n.createElement("div",{className:"mb-3"},n.createElement(I,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null),n.createElement(A,null))))}var W=a(95834),F=a(6748),L=a(96560),R=a(31908),U=a(46390),_=a(82602),B=a(65858),D=a(9806),V=a(31754),P=a(64249),G=a(97408),Z=a(62335),z=a(4594),K=a(64818),Q="share.sharedWithMeTable",Y=r.T.encloseNamespace(Q);function q(e){var t=e.index,a=e.dateHeading,l=e.breakpoints,r=e.getObjectAppLink,c=e.imageCdnUrl,i=l.xs||l.sm;return[{Header:a,accessor:"object",id:"image",Cell:function(e){var t=e.row.original;return n.createElement(D.k,{object:t.object,appLink:r(t),locationContext:B.LZ.SharedWithMe,showVideoMetadata:!0})},minWidth:140,maxWidth:30},{accessor:"object",id:"name",Cell:function(e){var t,a,l,c=e.row.original,i=function(){switch(c.object.typeId){case z.E.Series:return"series";case z.E.Playlist:return"playlist"}}();return(null===(t=c.object)||void 0===t?void 0:t.name)?n.createElement("div",{className:"clamp-2"},i&&n.createElement(Z.m,null,n.createElement(o.x,{namespace:Q,phrase:i})),n.createElement(C.F,{appLink:r(c),analyticsData:{id:null===(a=c.object)||void 0===a?void 0:a.id,name:null===(l=c.object)||void 0===l?void 0:l.name},analyticsOptions:{entity:P.I.getAnalyticsEntity(c.object.type),actionType:B.Vw.Click,location:B.LZ.SharedByMe}},c.object.name)):n.createElement("span",null,n.createElement(o.x,{namespace:Q,phrase:"videoUnavailable"}))},width:60},{Header:0===t?Y("sharedBy"):"",accessor:"owner",Cell:function(e){var t,a=e.value;return n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"".concat(O.avatar," flex-shrink-0")},n.createElement(G.q,{initials:K.l.getInitials(a.name,a.surname),imageUrl:null===(t=a.avatar)||void 0===t?void 0:t.url,imageCdnUrl:c})),!i&&n.createElement("p",{className:"clamp-1 ms-2"},"".concat(a.name," ").concat(a.surname)))},width:40},!i&&{Header:0===t?Y("shared"):"",id:"dateShared",accessor:function(e){return(0,_.WU)(e.dateShared)},width:60}].filter(Boolean)}function J(e){var t,a,l,r=(t=e.data,a=e.refreshTable,n.useMemo((function(){return V.x.groupByDateShared(t)}),[a])),c=(l=(0,U.G)().isPlugin,function(e){var t,a={application:k.O.SHARE,action:x.e.Share.VIEW_SHARE_LINK,args:[e.id]};if(R.M.isVideoType(e.object)&&!(null===(t=R.M.getCanBeConsumed(e.object))||void 0===t?void 0:t.canConsume))return null;if(!l)return a;var n={application:k.O.SHARE,action:x.e.Share.SHARE,args:[e.id]};return e.object.type===L.r.Video?Object.assign(Object.assign({},n),{params:{entityType:"video"}}):e.object.type===L.r.Clip?Object.assign(Object.assign({},n),{params:{entityType:"clip"}}):e.object.type===L.r.Interactive?Object.assign(Object.assign({},n),{params:{entityType:"interactive"}}):a});return n.createElement(n.Fragment,null,Object.keys(r).map((function(t,a){return n.createElement(F.i,{key:a,columns:q({index:a,dateHeading:t,breakpoints:e.breakpoints,getObjectAppLink:c,imageCdnUrl:e.imageCdnUrl}),data:r[t],theme:W.J})})))}var $=a(2523),X=a(97958),ee=a(99742),te="share.sharedWithMeEmptyState",ae={application:k.O.DASHBOARD,action:x.e.Dashboard.HOME};function ne(){return n.createElement(o.D.Provider,{value:te},n.createElement(X.u,null,n.createElement(X.u.Image,{src:ee.W.EmptyStates.Share.SHARED_WITH_ME,size:"small"}),n.createElement(X.u.Heading,null,n.createElement(o.x,{phrase:"heading"})),n.createElement(X.u.Info,null,n.createElement(o.x,{phrase:"info"})),n.createElement(X.u.Cta,{appLink:ae,text:r.T.getPhrase(te,"cta")})))}var le="liteShare.sharedWithMe",re=r.T.encloseNamespace(le);function ce(){var e,t=(0,g.T)().hasPermissions,a=(0,f.r)(null).hasShareFlowV2,r=(0,l.I0)(),b=(0,p.k)(),y=i.a.useBasicFetch(E.L.config()),C=function(e){return s.o.getObjectsSharedWithUser(e)},S=function(e){return i.a.getFetch(r)(C(e))},N=(0,h.K)(C,S),x=N.items,k=N.hasMore,j=N.isFetching,w=N.nextCursor;return(0,v.M)({title:re("sharedWithMe")}),t(d.C.StudentExperience)?(c.Q.Ry.throw(new u.d),n.createElement(n.Fragment,null)):n.createElement("div",{className:"px-3"},a&&t(d.C.ViewMyShares)?n.createElement("div",null,n.createElement(M,null),n.createElement("h1",{className:"h2 mb-3"},n.createElement(o.x,{namespace:le,phrase:"sharedWithMe"}))):n.createElement($.w,null),x&&y.data?(null==x?void 0:x.length)?n.createElement(n.Fragment,null,n.createElement(J,{data:x,refreshTable:j,breakpoints:b,imageCdnUrl:null===(e=y.data)||void 0===e?void 0:e.imageCdnUrl}),(k||j)&&n.createElement(m._,{isFetching:j,fetchNext:S,nextCursor:w})):n.createElement(ne,null):n.createElement(T,null))}}}]);
2
+ //# sourceMappingURL=6137-bc8b193237-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6137-bc8b193237-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/components/share-insights-alert/ShareInsightsAlert.tsx","file:///app/packages/projects/lite/src/apps/share/components/shared-with-me-table/shared-with-me-table.scss","file:///app/packages/projects/lite/src/apps/share/components/shared-with-me-table/PartialSharedWithMeTable.tsx","file:///app/packages/projects/lite/src/apps/share/components/shared-with-me-table/SharedWithMeTableUtils.tsx","file:///app/packages/projects/lite/src/apps/share/components/shared-with-me-table/SharedWithMeTable.tsx","file:///app/packages/projects/lite/src/apps/share/views/shared-with-me/empty-state/SharedWithMeEmptyState.tsx","file:///app/packages/projects/lite/src/apps/share/views/shared-with-me/SharedWithMeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nconst namespace = 'lite.shareInsightsAlert';\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function ShareInsightsAlert() {\n const [ show, setShow ] = useViewModel(\n ViewModelKeys.SHARE_INSIGHTS_ALERT,\n true,\n { storage: StorageType.LocalStorage }\n );\n\n\n const onDismiss = () => {\n setShow(false);\n };\n\n if (!show)\n return <></>;\n\n return (\n <div role='alert' className='d-flex justify-content-between align-items-center bg-light-blue rounded p-2 mb-4'>\n <div>\n <Text namespace={namespace} phrase='sharedByMe' />\n <AppLink\n appLink={{\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.HOME\n }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='myShares' />\n </AppLink>.\n </div>\n <IconButton svgName={cvSvgLibrary.Close} className='text-blue' onClick={onDismiss} />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"imageColumn\":\"Hs7kk\",\"nameColumn\":\"GRyds\",\"sharedByColumn\":\"fewR0\",\"dateSharedColumn\":\"G6z3W\",\"heading\":\"YxAsH\",\"image\":\"CdUtO\",\"name\":\"pdEW7\",\"avatar\":\"rQ2Dt\",\"date\":\"Lx3Ce\"};","import React from 'react';\n\nimport styles from './shared-with-me-table.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`d-flex striped-row rounded`}>\n <div className={`d-flex align-items-center justify-content-center p-2 ${styles.imageColumn}`}>\n <div className={`partial-loading-background rounded w-100 ${styles.image}`} />\n </div>\n <div className={`d-flex align-items-center p-2 ${styles.nameColumn}`}>\n <div className={`partial-loading-background w-75 ${styles.name}`} />\n </div>\n <div className={`d-flex align-items-center p-2 ${styles.sharedByColumn}`}>\n <div className={`partial-loading-background ${styles.avatar}`} />\n </div>\n <div className={`d-none d-md-flex align-items-center p-2 ${styles.dateSharedColumn}`}>\n <div className={`partial-loading-background ${styles.date}`} />\n </div>\n </div>\n );\n}\n\ninterface PartialHeaderProps {\n fullHeader?: boolean;\n}\n\nfunction PartialHeader(props: PartialHeaderProps): JSX.Element {\n return (\n <div className='d-flex mb-1'>\n <div className={`${styles.imageColumn} p-2`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.nameColumn} p-2`}>\n &nbsp;\n </div>\n <div className={`${styles.sharedByColumn} p-2`}>\n {props.fullHeader\n ? <div className={`partial-loading-background ${styles.heading}`} />\n : <>&nbsp;</>\n }\n </div>\n <div className={`${styles.dateSharedColumn} p-2 d-none d-md-flex`}>\n {props.fullHeader\n ? <div className={`partial-loading-background ${styles.heading}`} />\n : <>&nbsp;</>\n }\n </div>\n </div>\n );\n}\n\nexport function PartialSharedWithMeTable(): JSX.Element {\n return (\n <>\n <div className='mb-3'>\n <PartialHeader fullHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n\n <div className='mb-3'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n\n <div className='mb-3'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import React from 'react';\nimport { Column } from 'react-table';\nimport { format as formatDate } from 'timeago.js';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { SharedObjectImage } from 'libs/shared/apps/share/components/shared-object-image/SharedObjectImage';\nimport { SharedWithMeResponse } from 'libs/shared/apps/share/interfaces/responses/SharedWithMeResponse';\nimport { ShareHelper } from 'libs/shared/apps/share/utils/ShareHelper';\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport styles from './shared-with-me-table.scss';\n\nconst namespace = 'share.sharedWithMeTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype TableDataGroupings = { [date: string]: SharedWithMeResponse[] };\n\ninterface GetColumnsOptions {\n index: number;\n dateHeading: string;\n breakpoints: Breakpoints;\n getObjectAppLink: (data: SharedWithMeResponse) => Core.AppLink;\n imageCdnUrl: string;\n}\n\nexport function getColumns(options: GetColumnsOptions): Column<SharedWithMeResponse>[] {\n const { index, dateHeading, breakpoints, getObjectAppLink, imageCdnUrl } = options;\n\n const isMobile = breakpoints.xs || breakpoints.sm;\n\n const column: Column<SharedWithMeResponse>[] = [\n {\n Header: dateHeading,\n accessor: 'object',\n id: 'image',\n Cell: ({ row: { original } }) => {\n return (\n <SharedObjectImage\n object={original.object}\n appLink={getObjectAppLink(original)}\n locationContext={LocationContext.SharedWithMe}\n showVideoMetadata\n />\n );\n },\n minWidth: 140,\n maxWidth: 30\n },\n {\n accessor: 'object',\n id: 'name',\n Cell: ({ row: { original } }) => {\n function getSubTextPhrase(): string {\n switch (original.object.typeId) {\n case MasterType.Series: return 'series';\n case MasterType.Playlist: return 'playlist';\n }\n }\n\n const subTextPhrase = getSubTextPhrase();\n\n if (original.object?.name) {\n return (\n <div className='clamp-2'>\n {subTextPhrase &&\n <TitleSubText>\n <Text namespace={namespace} phrase={subTextPhrase} />\n </TitleSubText>\n }\n <AppLink\n appLink={getObjectAppLink(original)}\n analyticsData={{ id: original.object?.id, name: original.object?.name }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(original.object.type),\n actionType: UserAction.Click,\n location: LocationContext.SharedByMe\n }}\n >\n {original.object.name}\n </AppLink>\n </div>\n );\n }\n\n return <span><Text namespace={namespace} phrase='videoUnavailable' /></span>;\n },\n width: 60\n },\n {\n Header: index === 0 ? getPhrase('sharedBy') : '',\n accessor: 'owner',\n Cell: ({ value }) => (\n <div className='d-flex align-items-center'>\n <div className={`${styles.avatar} flex-shrink-0`}>\n <Avatar\n initials={UserHelper.getInitials(value.name, value.surname)}\n imageUrl={value.avatar?.url}\n imageCdnUrl={imageCdnUrl}\n />\n </div>\n\n {!isMobile && <p className='clamp-1 ms-2'>{`${value.name} ${value.surname}`}</p>}\n </div>\n ),\n width: 40\n },\n !isMobile && {\n Header: index === 0 ? getPhrase('shared') : '',\n id: 'dateShared',\n accessor: s => formatDate(s.dateShared),\n width: 60\n }\n ];\n\n return column.filter(Boolean);\n}\n\nexport function useGetData(data: SharedWithMeResponse[], refreshData: boolean): TableDataGroupings {\n return React.useMemo(() => {\n return ShareHelper.groupByDateShared(data);\n }, [refreshData]);\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { SHARES_TABLE_THEME } from 'libs/shared/apps/share/constants/TableTheme';\nimport { SharedWithMeResponse } from 'libs/shared/apps/share/interfaces/responses/SharedWithMeResponse';\nimport { Table } from 'libs/shared/components/table/Table';\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\nimport { getColumns, useGetData } from './SharedWithMeTableUtils';\n\nfunction useGetObjectAppLink(): (data: SharedWithMeResponse) => Core.AppLink {\n const { isPlugin } = usePluginHelper();\n\n return (data: SharedWithMeResponse) => {\n const appLink = {\n application: AppChannels.SHARE,\n action: Actions.Share.VIEW_SHARE_LINK,\n args: [data.id]\n };\n\n if (VideoHelper.isVideoType(data.object) && !VideoHelper.getCanBeConsumed(data.object)?.canConsume)\n return null;\n\n if (!isPlugin)\n return appLink;\n \n const shareAppLink: Core.AppLink = {\n application: AppChannels.SHARE,\n action: Actions.Share.SHARE,\n args: [data.id]\n };\n\n if (data.object.type === MasterObjectTypes.Video)\n return { ...shareAppLink, params: { entityType: 'video' } };\n\n if (data.object.type === MasterObjectTypes.Clip)\n return { ...shareAppLink, params: { entityType: 'clip' } };\n\n if (data.object.type === MasterObjectTypes.Interactive)\n return { ...shareAppLink, params: { entityType: 'interactive' } };\n\n return appLink;\n };\n}\n\ninterface SharedWithMeTableProps {\n data: SharedWithMeResponse[];\n\n /**\n * As the table data is memoized, it must be prompted to recalculate.\n * Toggle `refreshTable` to do so.\n */\n refreshTable: boolean;\n breakpoints: Breakpoints;\n imageCdnUrl: string;\n}\n\nexport function SharedWithMeTable(props: SharedWithMeTableProps): JSX.Element {\n const tableData = useGetData(props.data, props.refreshTable);\n const getObjectAppLink = useGetObjectAppLink();\n\n return (\n <>\n {Object.keys(tableData).map((heading, index) => (\n <Table\n key={index}\n columns={getColumns({\n index,\n dateHeading: heading,\n breakpoints: props.breakpoints,\n getObjectAppLink,\n imageCdnUrl: props.imageCdnUrl\n })}\n data={tableData[heading]}\n theme={SHARES_TABLE_THEME}\n />\n ))}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'share.sharedWithMeEmptyState';\n\nconst cta = {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n};\n\nexport function SharedWithMeEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Share.SHARED_WITH_ME} size='small'/>\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n <EmptyState.Cta appLink={cta} text={LanguageService.getPhrase(namespace, 'cta')} />\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { SharedWithMeResponse } from 'libs/shared/apps/share/interfaces/responses/SharedWithMeResponse';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config } from 'libs/shared/interfaces';\n\nimport { ShareInsightsAlert } from 'apps/share/components/share-insights-alert/ShareInsightsAlert';\nimport { PartialSharedWithMeTable } from 'apps/share/components/shared-with-me-table/PartialSharedWithMeTable';\nimport { SharedWithMeTable } from 'apps/share/components/shared-with-me-table/SharedWithMeTable';\nimport { SharesHeader } from 'apps/share/components/shares-header/SharesHeader';\n\nimport { SharedWithMeEmptyState } from './empty-state/SharedWithMeEmptyState';\n\nconst namespace = 'liteShare.sharedWithMe';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SharedWithMeView(): JSX.Element {\n const { hasPermissions } = usePermissions();\n const { hasShareFlowV2 } = useSettings(null);\n const dispatch = useDispatch();\n const breakpoints = useBreakpoints();\n\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const getRequest = (cursor?: string) => ShareRequests.getObjectsSharedWithUser(cursor);\n const fetchNext = (cursor?: string) => Flight.getFetch(dispatch)(getRequest(cursor));\n\n const {\n items: sharedWithMe,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<SharedWithMeResponse>(getRequest, fetchNext);\n\n useSetPageMetadata({ title: getPhrase('sharedWithMe') });\n\n if (hasPermissions(PermissionName.StudentExperience)) {\n Core.ErrorHelper.throw(new NotFoundError());\n return <></>;\n }\n\n return (\n <div className='px-3'>\n {!(hasShareFlowV2 && hasPermissions(PermissionName.ViewMyShares))\n ? <SharesHeader />\n : (\n <div>\n <ShareInsightsAlert />\n <h1 className='h2 mb-3'><Text namespace={namespace} phrase='sharedWithMe' /></h1>\n </div>\n )\n }\n\n {(() => {\n if (!sharedWithMe || !config.data)\n return <PartialSharedWithMeTable />;\n\n if (!sharedWithMe?.length)\n return <SharedWithMeEmptyState />;\n\n return (\n <>\n <SharedWithMeTable\n data={sharedWithMe}\n refreshTable={isFetching}\n breakpoints={breakpoints}\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n {(hasMore || isFetching) &&\n <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} nextCursor={nextCursor} />\n }\n </>\n );\n })()}\n </div>\n );\n}"],"names":["namespace","ShareInsightsAlert","storage","show","setShow","role","className","Text","phrase","AppLink","appLink","application","action","IconButton","svgName","onClick","PartialRow","PartialHeader","props","fullHeader","PartialSharedWithMeTable","getPhrase","LanguageService","getColumns","options","index","dateHeading","breakpoints","getObjectAppLink","imageCdnUrl","isMobile","xs","sm","Header","accessor","id","Cell","original","row","SharedObjectImage","object","locationContext","showVideoMetadata","minWidth","maxWidth","subTextPhrase","typeId","MasterType","getSubTextPhrase","name","TitleSubText","analyticsData","analyticsOptions","entity","ShareViewHelper","type","actionType","location","width","value","Avatar","initials","UserHelper","surname","imageUrl","avatar","url","s","dateShared","filter","Boolean","SharedWithMeTable","data","refreshData","isPlugin","tableData","refreshTable","ShareHelper","usePluginHelper","args","VideoHelper","canConsume","shareAppLink","MasterObjectTypes","params","entityType","Object","keys","map","heading","Table","key","columns","theme","cta","SharedWithMeEmptyState","EmptyState","src","ImageUrls","size","text","SharedWithMeView","hasPermissions","usePermissions","hasShareFlowV2","useSettings","dispatch","useBreakpoints","config","ConfigRequests","getRequest","cursor","ShareRequests","fetchNext","sharedWithMe","items","hasMore","isFetching","nextCursor","useSetPageMetadata","title","PermissionName","NotFoundError","SharesHeader","length","InfiniteScrollFooter"],"sourceRoot":""}