@clickview/lite 0.58.1 → 0.58.2-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/scripts/1041-29107d9409-lite.chunk.js +2 -0
  3. package/dist/scripts/1041-29107d9409-lite.chunk.js.map +1 -0
  4. package/dist/scripts/{1080-563b65eb58-lite.chunk.js → 1080-48ce32d627-lite.chunk.js} +2 -2
  5. package/dist/scripts/1080-48ce32d627-lite.chunk.js.map +1 -0
  6. package/dist/scripts/{1169-f2120c91cc-lite.chunk.js → 1169-1443c8a778-lite.chunk.js} +2 -2
  7. package/dist/scripts/1169-1443c8a778-lite.chunk.js.map +1 -0
  8. package/dist/scripts/143-efbc6a41c5-lite.chunk.js +2 -0
  9. package/dist/scripts/143-efbc6a41c5-lite.chunk.js.map +1 -0
  10. package/dist/scripts/{170-94b806dc73-lite.chunk.js → 170-233a87b708-lite.chunk.js} +3 -3
  11. package/dist/scripts/170-233a87b708-lite.chunk.js.map +1 -0
  12. package/dist/scripts/2015-d1bc58c0eb-lite.chunk.js +2 -0
  13. package/dist/scripts/2015-d1bc58c0eb-lite.chunk.js.map +1 -0
  14. package/dist/scripts/204-4f5b47b73f-lite.chunk.js +2 -0
  15. package/dist/scripts/204-4f5b47b73f-lite.chunk.js.map +1 -0
  16. package/dist/scripts/{2153-7663eb7803-lite.chunk.js → 2153-02090c64f8-lite.chunk.js} +2 -2
  17. package/dist/scripts/2153-02090c64f8-lite.chunk.js.map +1 -0
  18. package/dist/scripts/2215-39ee2a2b3f-lite.chunk.js +2 -0
  19. package/dist/scripts/2215-39ee2a2b3f-lite.chunk.js.map +1 -0
  20. package/dist/scripts/{2340-d1548f6362-lite.chunk.js → 2340-62c86fabb2-lite.chunk.js} +2 -2
  21. package/dist/scripts/2340-62c86fabb2-lite.chunk.js.map +1 -0
  22. package/dist/scripts/2571-c280e72eff-lite.chunk.js +2 -0
  23. package/dist/scripts/2571-c280e72eff-lite.chunk.js.map +1 -0
  24. package/dist/scripts/{4013-3d2edd41fb-lite.chunk.js → 4013-2aff1769f5-lite.chunk.js} +3 -3
  25. package/dist/scripts/4013-2aff1769f5-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{490-002054a946-lite.chunk.js → 490-62ca33b520-lite.chunk.js} +2 -2
  27. package/dist/scripts/490-62ca33b520-lite.chunk.js.map +1 -0
  28. package/dist/scripts/4944-a780ed2439-lite.chunk.js +2 -0
  29. package/dist/scripts/4944-a780ed2439-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{5220-40dd0842b5-lite.chunk.js → 5220-e0074ed079-lite.chunk.js} +3 -3
  31. package/dist/scripts/5220-e0074ed079-lite.chunk.js.map +1 -0
  32. package/dist/scripts/{5224-09e451b12f-lite.chunk.js → 5224-53cabe5c40-lite.chunk.js} +2 -2
  33. package/dist/scripts/5224-53cabe5c40-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{5836-f212660b94-lite.chunk.js → 5836-03975cbcf8-lite.chunk.js} +2 -2
  35. package/dist/scripts/5836-03975cbcf8-lite.chunk.js.map +1 -0
  36. package/dist/scripts/{5936-f1e642e93f-lite.chunk.js → 5936-71d764494c-lite.chunk.js} +2 -2
  37. package/dist/scripts/5936-71d764494c-lite.chunk.js.map +1 -0
  38. package/dist/scripts/{6118-d069072bb6-lite.chunk.js → 6118-e4ebf5a2c1-lite.chunk.js} +2 -2
  39. package/dist/scripts/6118-e4ebf5a2c1-lite.chunk.js.map +1 -0
  40. package/dist/scripts/{6263-c665ac8df6-lite.chunk.js → 6263-fca75a8668-lite.chunk.js} +2 -2
  41. package/dist/scripts/6263-fca75a8668-lite.chunk.js.map +1 -0
  42. package/dist/scripts/{6599-c87f4f5ec1-lite.chunk.js → 6599-d8f1b255c5-lite.chunk.js} +3 -3
  43. package/dist/scripts/6599-d8f1b255c5-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{6741-1ee9b683c7-lite.chunk.js → 6741-638b658087-lite.chunk.js} +3 -3
  45. package/dist/scripts/6741-638b658087-lite.chunk.js.map +1 -0
  46. package/dist/scripts/6934-5688ca7ce7-lite.chunk.js +2 -0
  47. package/dist/scripts/6934-5688ca7ce7-lite.chunk.js.map +1 -0
  48. package/dist/scripts/{7234-d1a173cb25-lite.chunk.js → 7234-8664150dd4-lite.chunk.js} +2 -2
  49. package/dist/scripts/7234-8664150dd4-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{7556-69f8cb3b20-lite.chunk.js → 7556-276466341c-lite.chunk.js} +3 -3
  51. package/dist/scripts/7556-276466341c-lite.chunk.js.map +1 -0
  52. package/dist/scripts/{7709-57c48d288e-lite.chunk.js → 7709-adf3f9328f-lite.chunk.js} +2 -2
  53. package/dist/scripts/7709-adf3f9328f-lite.chunk.js.map +1 -0
  54. package/dist/scripts/{839-f8478d27f8-lite.chunk.js → 839-aaf4cad363-lite.chunk.js} +1 -1
  55. package/dist/scripts/{839-f8478d27f8-lite.chunk.js.map → 839-aaf4cad363-lite.chunk.js.map} +1 -1
  56. package/dist/scripts/{9139-456a0f14a5-lite.chunk.js → 9139-e8c1a686af-lite.chunk.js} +2 -2
  57. package/dist/scripts/9139-e8c1a686af-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{9173-e03b30b436-lite.chunk.js → 9173-90aa484be4-lite.chunk.js} +2 -2
  59. package/dist/scripts/9173-90aa484be4-lite.chunk.js.map +1 -0
  60. package/dist/scripts/9284-c0cee27d0e-lite.chunk.js +2 -0
  61. package/dist/scripts/9284-c0cee27d0e-lite.chunk.js.map +1 -0
  62. package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js → 9395-355efbc0e7-lite.chunk.js} +3 -3
  63. package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js.map → 9395-355efbc0e7-lite.chunk.js.map} +1 -1
  64. package/dist/scripts/{953-45aa51744b-lite.chunk.js → 953-b3b777612b-lite.chunk.js} +3 -3
  65. package/dist/scripts/{953-45aa51744b-lite.chunk.js.map → 953-b3b777612b-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/bundle-22b3c87b82.min.js +3 -0
  67. package/dist/scripts/bundle-22b3c87b82.min.js.map +1 -0
  68. package/package.json +1 -1
  69. package/dist/scripts/1080-563b65eb58-lite.chunk.js.map +0 -1
  70. package/dist/scripts/1169-f2120c91cc-lite.chunk.js.map +0 -1
  71. package/dist/scripts/143-4ea7a69434-lite.chunk.js +0 -2
  72. package/dist/scripts/143-4ea7a69434-lite.chunk.js.map +0 -1
  73. package/dist/scripts/170-94b806dc73-lite.chunk.js.map +0 -1
  74. package/dist/scripts/204-2b19b80cc1-lite.chunk.js +0 -2
  75. package/dist/scripts/204-2b19b80cc1-lite.chunk.js.map +0 -1
  76. package/dist/scripts/2153-7663eb7803-lite.chunk.js.map +0 -1
  77. package/dist/scripts/2215-5e8af1456d-lite.chunk.js +0 -2
  78. package/dist/scripts/2215-5e8af1456d-lite.chunk.js.map +0 -1
  79. package/dist/scripts/2340-d1548f6362-lite.chunk.js.map +0 -1
  80. package/dist/scripts/3525-45e28232cf-lite.chunk.js +0 -2
  81. package/dist/scripts/3525-45e28232cf-lite.chunk.js.map +0 -1
  82. package/dist/scripts/4013-3d2edd41fb-lite.chunk.js.map +0 -1
  83. package/dist/scripts/490-002054a946-lite.chunk.js.map +0 -1
  84. package/dist/scripts/4944-b565b5c501-lite.chunk.js +0 -2
  85. package/dist/scripts/4944-b565b5c501-lite.chunk.js.map +0 -1
  86. package/dist/scripts/5220-40dd0842b5-lite.chunk.js.map +0 -1
  87. package/dist/scripts/5224-09e451b12f-lite.chunk.js.map +0 -1
  88. package/dist/scripts/5836-f212660b94-lite.chunk.js.map +0 -1
  89. package/dist/scripts/5936-f1e642e93f-lite.chunk.js.map +0 -1
  90. package/dist/scripts/6118-d069072bb6-lite.chunk.js.map +0 -1
  91. package/dist/scripts/6263-c665ac8df6-lite.chunk.js.map +0 -1
  92. package/dist/scripts/6599-c87f4f5ec1-lite.chunk.js.map +0 -1
  93. package/dist/scripts/6741-1ee9b683c7-lite.chunk.js.map +0 -1
  94. package/dist/scripts/6934-1f439ec9a2-lite.chunk.js +0 -2
  95. package/dist/scripts/6934-1f439ec9a2-lite.chunk.js.map +0 -1
  96. package/dist/scripts/7234-d1a173cb25-lite.chunk.js.map +0 -1
  97. package/dist/scripts/7556-69f8cb3b20-lite.chunk.js.map +0 -1
  98. package/dist/scripts/7709-57c48d288e-lite.chunk.js.map +0 -1
  99. package/dist/scripts/8813-1e58ad1895-lite.chunk.js +0 -2
  100. package/dist/scripts/8813-1e58ad1895-lite.chunk.js.map +0 -1
  101. package/dist/scripts/9139-456a0f14a5-lite.chunk.js.map +0 -1
  102. package/dist/scripts/9173-e03b30b436-lite.chunk.js.map +0 -1
  103. package/dist/scripts/9284-80c3abfe62-lite.chunk.js +0 -2
  104. package/dist/scripts/9284-80c3abfe62-lite.chunk.js.map +0 -1
  105. package/dist/scripts/bundle-7da429ea24.min.js +0 -3
  106. package/dist/scripts/bundle-7da429ea24.min.js.map +0 -1
  107. /package/dist/css/{3525-lite-6ab6e749cb.chunk.css → 1041-lite-6ab6e749cb.chunk.css} +0 -0
  108. /package/dist/css/{8813-lite-6ab6e749cb.chunk.css → 2015-lite-6ab6e749cb.chunk.css} +0 -0
  109. /package/dist/scripts/{170-94b806dc73-lite.chunk.js.LICENSE.txt → 170-233a87b708-lite.chunk.js.LICENSE.txt} +0 -0
  110. /package/dist/scripts/{4013-3d2edd41fb-lite.chunk.js.LICENSE.txt → 4013-2aff1769f5-lite.chunk.js.LICENSE.txt} +0 -0
  111. /package/dist/scripts/{5220-40dd0842b5-lite.chunk.js.LICENSE.txt → 5220-e0074ed079-lite.chunk.js.LICENSE.txt} +0 -0
  112. /package/dist/scripts/{6599-c87f4f5ec1-lite.chunk.js.LICENSE.txt → 6599-d8f1b255c5-lite.chunk.js.LICENSE.txt} +0 -0
  113. /package/dist/scripts/{6741-1ee9b683c7-lite.chunk.js.LICENSE.txt → 6741-638b658087-lite.chunk.js.LICENSE.txt} +0 -0
  114. /package/dist/scripts/{7556-69f8cb3b20-lite.chunk.js.LICENSE.txt → 7556-276466341c-lite.chunk.js.LICENSE.txt} +0 -0
  115. /package/dist/scripts/{9395-70cd9ae3a1-lite.chunk.js.LICENSE.txt → 9395-355efbc0e7-lite.chunk.js.LICENSE.txt} +0 -0
  116. /package/dist/scripts/{953-45aa51744b-lite.chunk.js.LICENSE.txt → 953-b3b777612b-lite.chunk.js.LICENSE.txt} +0 -0
  117. /package/dist/scripts/{bundle-7da429ea24.min.js.LICENSE.txt → bundle-22b3c87b82.min.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
- /*! For license information please see 6741-1ee9b683c7-lite.chunk.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6741],{3278:(e,t,n)=>{n.d(t,{z:()=>p});var r=n(32735),a=n(39202),i=n(23481),o=n(65858),c=n(38502),s=n(83345),l=n(40424);const u={pillTab:"bMJM0"};var d="discover.header";function p(e){var t,n,p,f,m,h;if(!e.type)return r.createElement(r.Fragment,null);if(e.type===l.Yv.Learner||e.hasStudentExperience)return r.createElement("div",{className:"py-3"},r.createElement("h1",{className:"h2 mb-0"},r.createElement(s.x,{namespace:d,phrase:"heading"})));var v=[{name:i.T.getPhrase(d,"forYou"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.forYou,active:"forYou"===e.active,analyticsData:{name:i.T.getPhrase(d,"forYou"),url:a.C$.getHref(null===(n=e.appLinks)||void 0===n?void 0:n.forYou)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:i.T.getPhrase(d,"whatsNew"),appLink:null===(p=e.appLinks)||void 0===p?void 0:p.whatsNew,active:"whatsNew"===e.active,analyticsData:{name:i.T.getPhrase(d,"whatsNew"),url:a.C$.getHref(null===(f=e.appLinks)||void 0===f?void 0:f.whatsNew)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}];return e.showCalendar&&v.push({name:i.T.getPhrase(d,"calendar"),appLink:null===(m=e.appLinks)||void 0===m?void 0:m.calendar,active:"calendar"===e.active,analyticsData:{name:i.T.getPhrase(d,"calendar"),url:a.C$.getHref(null===(h=e.appLinks)||void 0===h?void 0:h.calendar)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}),r.createElement("div",{className:"py-3 text-center mx-n3"},r.createElement(c.r,{tabs:v,className:u.pillTab}))}},28046:(e,t,n)=>{n.d(t,{l:()=>f,v:()=>m});var r=n(39479),a=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],o=["csv","txt"],c=["xls","xlt","xlsx"],s=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",u=["zip","rar"],d=["ppt","pot","pps","pptx"],p=["srt"],f={IMAGES:".".concat(s.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(s.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,c,d,a,o,s,u).join(",.")),SUBTITLES:".".concat(p.join(",."))},m={getResourceType:function(e){var t=e.toLowerCase();return r.contains(i,t)?"document":r.contains(c,t)?"excel":r.contains(d,t)?"powerpoint":r.contains(a,t)?"pdf":r.contains(o,t)?"text":r.contains(s,t)?"image":r.contains(u,t)?"archive":r.contains(p,t)?"subtitle":""}}},38502:(e,t,n)=>{n.d(t,{r:()=>d});var r=n(32735),a=n(49985),i=n(36848),o=n(18559),c=n(11607),s=n(83914),l=n(87432);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function d(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))}))))}d.defaultProps={borderRadius:"lg"}},17101:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e[e.Other=0]="Other",e[e.SuggestImprovement=1]="SuggestImprovement",e[e.ReportBug=2]="ReportBug",e[e.RequestVideo=3]="RequestVideo",e[e.RaiseIssue=4]="RaiseIssue",e[e.GivePraise=5]="GivePraise",e[e.Footer=6]="Footer",e[e.RequestLivestream=7]="RequestLivestream"}(r||(r={}))},7198:(e,t,n)=>{n.d(t,{f:()=>a});var r=n(99940),a={submitFeedback:function(e,t){return{url:"{gateway}/v1/feedback",key:"submit:feedback",type:r.k.POST,data:Object.assign(Object.assign({},e),t)}}}},52167:(e,t,n)=>{n.d(t,{m:()=>l});var r=n(53301),a=n.n(r),i=n(28046),o=n(19808),c=n(86613);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var l={getUserInfo:function(e,t){return{id:e.id,username:e.username,email:e.email,userType:e.role===c.i.Admin?"Admin":"Staff",customerId:e.customerId,cvcId:t.crmId,customerName:t.name,instanceRegion:e.instanceRegion,contentRegion:e.contentRegion,firstName:e.givenName,lastName:e.familyName}},mapInstanceRegionToTag:function(e){switch(e){case o.b.AU:return"au";case o.b.NZ:return"nz";case o.b.UK:return"uk";case o.b.US:return"us"}},getTags:function(e,t,n,r){var a,i=[t].concat(function(e){if(Array.isArray(e))return s(e)}(a=r)||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 s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(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.")}());i.push(n?"student":"staff"),e.role===c.i.Admin&&i.push("administrator");var o=l.mapInstanceRegionToTag(e.instanceRegion);return o&&i.push(o),i},categorizeFiles:function(e){return e.reduce((function(e,t){var n=t.get("fileInfo");return a().isValidFile(t.get("file"),i.l.VIDEO)?e.videoUrls.push(null==n?void 0:n.url):e.imageUrls.push(null==n?void 0:n.url),e}),{imageUrls:[],videoUrls:[]})}}},16741:(e,t,n)=>{n.r(t),n.d(t,{CuratedDiscoverView:()=>re});var r=n(32735),a=n(39202),i=n(23481),o=n(57900),c=n(20354),s=n(2948),l=n(49985),u=n(65858),d=n(75896),p=n(3278),f=n(19889),m=n(16714),h=n(40424),v=n(21366),g=n(23232),y=n(83345),b=n(36532),w=n(35223),E="subjects.discoverDashboardEmptyState",L=i.T.encloseNamespace(E);function T(e){var t,n,a=(null===(t=e.dashboard)||void 0===t?void 0:t.status)===h.GL.Archived;return r.createElement(g.u,null,r.createElement(g.u.Image,{src:e.imageUrl,altText:L("info")}),r.createElement(g.u.Heading,null,r.createElement(y.x,{namespace:E,phrase:"heading"})),r.createElement(g.u.Info,null,r.createElement(y.x,{namespace:E,phrase:"info"})),r.createElement(b.u,{title:a?i.T.getPhrase(E,"archivedCtaTooltip"):"",spanHack:!0},r.createElement(g.u.Cta,{text:i.T.getPhrase(E,"add"),appLink:null===(n=e.addWidgetApplink)||void 0===n?void 0:n.call(e),className:"btn btn-dark",icon:w.vn.Plus,disabled:a})))}function S(e){var t,n,a=d.m.sortBy(null===(t=e.dashboard)||void 0===t?void 0:t.widgets,"index");function i(t,n,r){var a=v.S.getWidgetParams(n,r,v.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,a,r,e.presentation)}var o=e.isReadonly&&!(null==a?void 0:a.length);return r.createElement(r.Fragment,null,r.createElement(p.z,{type:null===(n=e.dashboard)||void 0===n?void 0:n.userType,appLinks:e.headerAppLinks,hasStudentExperience:e.hasPermissions(m.C.StudentExperience),showCalendar:e.showCalendar,active:"forYou"}),a.map((function(t,n){return r.createElement(f.L,{key:t.id,id:t.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:i,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:t.preferences,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,onSubmitFeedback:e.onSubmitFeedback,updatePreferences:e.updatePreferences,yearGroups:e.yearGroups,lazyLoad:e.lazyLoad,dashboardTarget:h.ku.Discover,widgetIndex:n,jobTitle:e.jobTitle,isPreviewing:e.isReadonly,imageUrls:e.imageUrls,settings:e.settings,isPlugin:e.isPlugin,availablePresentations:e.availablePresentations})})),o&&r.createElement(T,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var A=n(38143),k=n(17101),O=n(72639),N=n(12754),x=n(39151),C=n(1666),P=n(80889),I=n(7198),U=n(98064),D=n(61699),R=n(31949),F=n(22902),j=n(79612),_=n(37802),G=n(69454),B=n(52167),M=n(76753),W=n(73417),H=n(99742),V=n(51855),Z=n(27638),Y=n(86698),z=n(85369),q=n(23737),$=n(33192),K=n(48688),J=n(27051);function Q(e){return Q="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},Q(e)}function X(){X=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),c=new C(r||[]);return a(o,"_invoke",{value:k(e,n,c)}),o}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var p="suspendedStart",f="suspendedYield",m="executing",h="completed",v={};function g(){}function y(){}function b(){}var w={};l(w,o,(function(){return this}));var E=Object.getPrototypeOf,L=E&&E(E(P([])));L&&L!==n&&r.call(L,o)&&(w=L);var T=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(a,i,o,c){var s=d(e[a],e,i);if("throw"!==s.type){var l=s.arg,u=l.value;return u&&"object"==Q(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(u).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,c)}))}c(s.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function k(t,n,r){var a=p;return function(i,o){if(a===m)throw Error("Generator is already running");if(a===h){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var c=r.delegate;if(c){var s=O(c,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===p)throw a=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=m;var l=d(t,n,r);if("normal"===l.type){if(a=r.done?h:f,l.arg===v)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(a=h,r.method="throw",r.arg=l.arg)}}}function O(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,v;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function N(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 x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(Q(t)+" is not iterable")}return y.prototype=b,a(T,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=l(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,s,"GeneratorFunction")),e.prototype=Object.create(T),e},t.awrap=function(e){return{__await:e}},S(A.prototype),l(A.prototype,c,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new A(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},S(T),l(T,s,"Generator"),l(T,o,(function(){return this})),l(T,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=P,C.prototype={constructor:C,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(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=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 n=this;function a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],c=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(o)},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),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;x(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var te=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}s((r=r.apply(e,t||[])).next())}))},ne=i.T.encloseNamespace("dashboard.dashboard");function re(e){var t,n,i,d,p,f,v,g,y=c.a.useBasicFetch(x.L.config()),b=c.a.useBasicFetch(R.N.currentUser()),w=c.a.useBasicFetch((null===(t=b.data)||void 0===t?void 0:t.isAuthenticated)&&R.N.user(b.data.id)),E=(0,F.T)(),L=E.hasLocalPermissions,T=E.hasPermissions,Q=(0,V.G)().isPlugin,re=c.a.useBasicFetch(L(m.E.ManageDiscoverPreferences)&&b.data&&C.h.customer(b.data.customerId)),ae=c.a.useBasicFetch((null===(n=b.data)||void 0===n?void 0:n.isAuthenticated)&&C.h.yearGroups(b.data.customerId)),ie=c.a.useBasicFetch((null===(i=b.data)||void 0===i?void 0:i.isAuthenticated)&&U.D.libraries()),oe=(0,Y.y)().availablePresentations,ce=(0,q.y)({targetType:h.ku.Discover,queryParams:e.queryParams,presentationSlug:e.presentationSlug}),se=ce.dashboard,le=ce.presentation,ue=ce.audiences,de=c.a.useGetFetchAsync(),pe=(0,_.r)(null),fe=(0,Z.u)(u.LZ.Dashboard),me=fe.setFavourite,he=fe.canFavourite,ve=(v=(0,s.D)(A.g.AUDIENCE_FILTER,void 0,{storage:o.Z1.SessionStorage}),g=1,function(e){if(Array.isArray(e))return e}(v)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(v,g)||function(e,t){if(e){if("string"==typeof e)return ee(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ee(e,t):void 0}}(v,g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],ge=(0,J.E)(G.T.getAudienceParams(ve)),ye=function(e){return+O.p[null==e?void 0:e.learningLevel]===O.p.Level_1?"VariantOne":"VariantTwo"}(le);(0,j.M)(M.CG.getDiscoverMetadata({content:le,phraseContext:{phraseHandler:ne,titlePhrase:"pageTitle".concat(ye),descriptionPhrase:"pageDescription".concat(ye)},canonicalLink:$.f.getCanonicalLink(),allowIndexing:$.f.allowIndexing(),hrefLang:$.f.getStaticRouteHrefLang(null==le?void 0:le.learningLevel,ge.discover)}));var be=(0,z.N)().showCalendar;return r.createElement("div",{className:"bg-white px-4"},r.createElement(W.T,null),r.createElement(S,{currentUser:b.data,dashboard:se.data,widgetAppLinks:ge,headerAppLinks:(0,J.u)(),presentation:le,imageCdnUrl:y.data.imageCdnUrl,resourceThumbnailFallbackImageUrl:H.W.Fallbacks.RESOURCE_THUMBNAIL,getWidgetContentRequest:function(){for(var e=K.g.hasTwig(ie.data,b.data),t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return P._.discoverWidgetContent.apply(P._,[e].concat(n))},setFavourite:me,audiences:ue.data,canFavourite:he,updatePreferences:function(e,t,n,r){return te(this,void 0,void 0,X().mark((function t(){var a,i;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r.filter((function(e){return!e.hidden&&n.find((function(t){return t.id===e.id})).hidden})),i=r.filter((function(e){return!!e.hidden&&!n.find((function(t){return t.id===e.id})).hidden})),!(null==a?void 0:a.length)){t.next=5;break}return t.next=5,de(D.o.followSubjects(a.map((function(e){return e.id}))));case 5:if(!(null==i?void 0:i.length)){t.next=8;break}return t.next=8,de(D.o.unfollowSubjects(i.map((function(e){return e.id}))));case 8:return t.abrupt("return",de(P._.updateWidgetPreferences(e,r.map((function(e){return{id:e.id,index:e.index}})),b.data)));case 9:case"end":return t.stop()}}),t)})))},hasPermissions:T,hasLocalPermissions:L,onSubmitFeedback:T(m.C.CanSubmitFeedback)&&function(e){return te(this,void 0,void 0,X().mark((function t(){var n;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,de(I.f.submitFeedback({type:k.n.Footer,user:B.m.getUserInfo(b.data,re.data),tags:B.m.getTags(b.data,N.x.Primary,T(m.C.StudentExperience),["discover","in product feedback"])},{reaction:e.type,feedback:e.content,location:"Discover Footer",presentationName:le.description,presentationId:le.id,dashboardName:se.data.name,dashboardId:se.data.id,currentPageUrl:a.Ab.GetCurrentUrl()}));case 2:return n=t.sent,l.k.logUserAction({feedbackType:e.type,content:e.content,presentationId:le.id,dashboardId:se.data.id},{actionType:u.Vw.Submit,location:u.LZ.DiscoverFooter,entity:u.py.Feedback,workflowPhase:u.eu.Complete}),t.abrupt("return",n);case 5:case"end":return t.stop()}}),t)})))},yearGroups:ae.data,lazyLoad:!$.f.isBot(),showCalendar:be,jobTitle:null===(f=null===(p=null===(d=w.data)||void 0===d?void 0:d.userProfile)||void 0===p?void 0:p.metadata)||void 0===f?void 0:f.jobTitle,imageUrls:{onboardingAdminBackgroundFull:H.W.OnboardingV2.Widget.ADMIN_BACKGROUND_FULL,onboardingAdminBackground:H.W.OnboardingV2.Widget.ADMIN_BACKGROUND,onboardingTeacherBackground:H.W.OnboardingV2.Widget.TEACHER_BACKGROUND},settings:pe,isPlugin:Q,availablePresentations:oe}))}},27051:(e,t,n)=>{n.d(t,{E:()=>m,u:()=>h});var r=n(75896),a=n(28400),i=n(17475),o=n(183),c=n(14070),s=n(97291),l=n(34181),u=n(22490),d=n(67963),p=n(82431),f="classification-latest-releases";function m(e){return{classification:function(t){return l.L.getAppLink(t,e||{})},videoType:function(e,t){return u.W.getAppLink(e,Object.assign(Object.assign({},t),{context:o.Q.Widget}))},series:p.j.getSeriesAppLink,subText:function(e){return p.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:s.O.PLAYLISTS,action:c.e.Playlists.PLAYLIST,args:[e.id,a.m.slugify(e.name)]}},latestReleases:function(){return{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}},allTopics:function(){return{application:s.O.SUBJECT,action:c.e.Subjects.PRESENTATION_TOPICS}},classificationLatestReleases:function(e){return e.id===f?{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CLASSIFICATION_UPDATE,args:[e.id,a.m.slugify(e.name)]}},widgetVideoList:function(e,t){return{application:s.O.DASHBOARD,action:c.e.Dashboard.DASHBOARD,args:[e,a.m.slugify(t)]}},watchHistory:function(){return{application:s.O.WATCH_HISTORY,action:c.e.WatchHistory.HOME}},rating:function(e,t){return{application:s.O.SEARCH,action:c.e.Search.HOME,params:{moviesAndTv:!0,rating:i.S.getFrontendParamValue([r.m.first(t),e])}}},company:function(e){return{application:s.O.MOVIES_AND_TV,action:c.e.MoviesAndTv.COMPANY_DASHBOARD,args:[e.id,a.m.slugify(e.name)]}},discover:function(){return{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME}},calendar:function(){return{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}},calendarMonth:function(e,t){var n={application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR_MONTH,args:[e.toLowerCase()]};return t&&(n.params={year:t}),n},onboardingStep:function(e){return(0,d.u)()[e]},onboardingAppLinks:function(){return(0,d.u)()},classroomGuide:u.W.getClassroomGuideAppLink,interactiveGuidance:u.W.getInteractiveGuidanceAppLink,resourceGuidance:u.W.getResourceGuidanceAppLink}}function h(){return{forYou:{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME},whatsNew:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES},calendar:{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}}}},73417:(e,t,n)=>{n.d(t,{T:()=>u});var r=n(32735),a=n(11607),i=n(83914),o=n(83345),c=n(87348),s=n(35223),l="shared.upgradeFeedbackBanner";function u(){var e=(0,c.Q)(),t=e.showFeedbackBanner,n=e.dismissFeedbackBanner;return t?r.createElement("div",{className:"alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center"},r.createElement(o.x,{namespace:l,phrase:"message",options:{url:"https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look"}}),r.createElement(a.L,{onClick:n},r.createElement(i.x,{svgName:s.vn.Close,className:"ms-2 svg-container"}))):r.createElement(r.Fragment,null)}},85369:(e,t,n)=>{n.d(t,{N:()=>g});var r=n(32735),a=n(35242),i=n(20354),o=n(27022),c=n(72639),s=n(31949),l=n(37802),u=n(87114),d=n(86698);function p(e){return p="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},p(e)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=p(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=h(h(h(h(h(h({},o.t.AU,[c.p.Level_1]),o.t.US,[c.p.Level_1]),o.t.UK,[c.p.Level_1]),o.t.SCOT,[c.p.Level_1]),o.t.NZ,[]),o.t.GLOBAL,[]);function g(){var e,t=(0,l.r)(null),n=t.hasSpecialEventCalendar,o=t.isLoadingSettings,c=(0,d.y)({redirectOnError:!0}).activePresentation,p=i.a.useBasicFetch(s.N.currentUser()),m=v[null===(e=p.data)||void 0===e?void 0:e.contentRegion],h=u.i.getMappedPresentationLevel(null==c?void 0:c.learningLevel),g=!(null==m?void 0:m.find((function(e){return e.toString()===(null==h?void 0:h.toString())}))),y=!o&&!n,b=f(r.useState(!y&&!g),2),w=b[0],E=b[1],L=f(r.useState(o||!(null==c?void 0:c.id)),2),T=L[0],S=L[1];return r.useEffect((function(){y||g?E(!1):T||E(!0),S(o||!(null==c?void 0:c.id))}),[n,null==c?void 0:c.id,T]),a.h.isDevelopment?{showCalendar:!0,isLoading:!1}:{showCalendar:w,isLoading:T}}},87432:(e,t,n)=>{n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
3
- //# sourceMappingURL=6741-1ee9b683c7-lite.chunk.js.map
1
+ /*! For license information please see 6741-638b658087-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6741],{3278:(e,t,n)=>{n.d(t,{z:()=>p});var r=n(32735),a=n(39202),i=n(23481),o=n(65858),c=n(38502),s=n(83345),l=n(40424);const u={pillTab:"bMJM0"};var d="discover.header";function p(e){var t,n,p,f,m,h;if(!e.type)return r.createElement(r.Fragment,null);if(e.type===l.Yv.Learner||e.hasStudentExperience)return r.createElement("div",{className:"py-3"},r.createElement("h1",{className:"h2 mb-0"},r.createElement(s.x,{namespace:d,phrase:"heading"})));var v=[{name:i.T.getPhrase(d,"forYou"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.forYou,active:"forYou"===e.active,analyticsData:{name:i.T.getPhrase(d,"forYou"),url:a.C$.getHref(null===(n=e.appLinks)||void 0===n?void 0:n.forYou)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:i.T.getPhrase(d,"whatsNew"),appLink:null===(p=e.appLinks)||void 0===p?void 0:p.whatsNew,active:"whatsNew"===e.active,analyticsData:{name:i.T.getPhrase(d,"whatsNew"),url:a.C$.getHref(null===(f=e.appLinks)||void 0===f?void 0:f.whatsNew)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}];return e.showCalendar&&v.push({name:i.T.getPhrase(d,"calendar"),appLink:null===(m=e.appLinks)||void 0===m?void 0:m.calendar,active:"calendar"===e.active,analyticsData:{name:i.T.getPhrase(d,"calendar"),url:a.C$.getHref(null===(h=e.appLinks)||void 0===h?void 0:h.calendar)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}),r.createElement("div",{className:"py-3 text-center mx-n3"},r.createElement(c.r,{tabs:v,className:u.pillTab}))}},28046:(e,t,n)=>{n.d(t,{l:()=>f,v:()=>m});var r=n(39479),a=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],o=["csv","txt"],c=["xls","xlt","xlsx"],s=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",u=["zip","rar"],d=["ppt","pot","pps","pptx"],p=["srt"],f={IMAGES:".".concat(s.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(s.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,c,d,a,o,s,u).join(",.")),SUBTITLES:".".concat(p.join(",."))},m={getResourceType:function(e){var t=e.toLowerCase();return r.contains(i,t)?"document":r.contains(c,t)?"excel":r.contains(d,t)?"powerpoint":r.contains(a,t)?"pdf":r.contains(o,t)?"text":r.contains(s,t)?"image":r.contains(u,t)?"archive":r.contains(p,t)?"subtitle":""}}},38502:(e,t,n)=>{n.d(t,{r:()=>d});var r=n(32735),a=n(49985),i=n(36848),o=n(18559),c=n(11607),s=n(83914),l=n(87432);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function d(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))}))))}d.defaultProps={borderRadius:"lg"}},17101:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e[e.Other=0]="Other",e[e.SuggestImprovement=1]="SuggestImprovement",e[e.ReportBug=2]="ReportBug",e[e.RequestVideo=3]="RequestVideo",e[e.RaiseIssue=4]="RaiseIssue",e[e.GivePraise=5]="GivePraise",e[e.Footer=6]="Footer",e[e.RequestLivestream=7]="RequestLivestream"}(r||(r={}))},7198:(e,t,n)=>{n.d(t,{f:()=>a});var r=n(99940),a={submitFeedback:function(e,t){return{url:"{gateway}/v1/feedback",key:"submit:feedback",type:r.k.POST,data:Object.assign(Object.assign({},e),t)}}}},52167:(e,t,n)=>{n.d(t,{m:()=>l});var r=n(53301),a=n.n(r),i=n(28046),o=n(19808),c=n(86613);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var l={getUserInfo:function(e,t){return{id:e.id,username:e.username,email:e.email,userType:e.role===c.i.Admin?"Admin":"Staff",customerId:e.customerId,cvcId:t.crmId,customerName:t.name,instanceRegion:e.instanceRegion,contentRegion:e.contentRegion,firstName:e.givenName,lastName:e.familyName}},mapInstanceRegionToTag:function(e){switch(e){case o.b.AU:return"au";case o.b.NZ:return"nz";case o.b.UK:return"uk";case o.b.US:return"us"}},getTags:function(e,t,n,r){var a,i=[t].concat(function(e){if(Array.isArray(e))return s(e)}(a=r)||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 s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(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.")}());i.push(n?"student":"staff"),e.role===c.i.Admin&&i.push("administrator");var o=l.mapInstanceRegionToTag(e.instanceRegion);return o&&i.push(o),i},categorizeFiles:function(e){return e.reduce((function(e,t){var n=t.get("fileInfo");return a().isValidFile(t.get("file"),i.l.VIDEO)?e.videoUrls.push(null==n?void 0:n.url):e.imageUrls.push(null==n?void 0:n.url),e}),{imageUrls:[],videoUrls:[]})}}},16741:(e,t,n)=>{n.r(t),n.d(t,{CuratedDiscoverView:()=>re});var r=n(32735),a=n(39202),i=n(23481),o=n(57900),c=n(20354),s=n(2948),l=n(49985),u=n(65858),d=n(75896),p=n(3278),f=n(19889),m=n(16714),h=n(40424),v=n(21366),g=n(23232),y=n(83345),b=n(36532),w=n(35223),E="subjects.discoverDashboardEmptyState",L=i.T.encloseNamespace(E);function T(e){var t,n,a=(null===(t=e.dashboard)||void 0===t?void 0:t.status)===h.GL.Archived;return r.createElement(g.u,null,r.createElement(g.u.Image,{src:e.imageUrl,altText:L("info")}),r.createElement(g.u.Heading,null,r.createElement(y.x,{namespace:E,phrase:"heading"})),r.createElement(g.u.Info,null,r.createElement(y.x,{namespace:E,phrase:"info"})),r.createElement(b.u,{title:a?i.T.getPhrase(E,"archivedCtaTooltip"):"",spanHack:!0},r.createElement(g.u.Cta,{text:i.T.getPhrase(E,"add"),appLink:null===(n=e.addWidgetApplink)||void 0===n?void 0:n.call(e),className:"btn btn-dark",icon:w.vn.Plus,disabled:a})))}function S(e){var t,n,a=d.m.sortBy(null===(t=e.dashboard)||void 0===t?void 0:t.widgets,"index");function i(t,n,r){var a=v.S.getWidgetParams(n,r,v.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,a,r,e.presentation)}var o=e.isReadonly&&!(null==a?void 0:a.length);return r.createElement(r.Fragment,null,r.createElement(p.z,{type:null===(n=e.dashboard)||void 0===n?void 0:n.userType,appLinks:e.headerAppLinks,hasStudentExperience:e.hasPermissions(m.C.StudentExperience),showCalendar:e.showCalendar,active:"forYou"}),a.map((function(t,n){return r.createElement(f.L,{key:t.id,id:t.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:i,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:t.preferences,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,onSubmitFeedback:e.onSubmitFeedback,updatePreferences:e.updatePreferences,yearGroups:e.yearGroups,lazyLoad:e.lazyLoad,dashboardTarget:h.ku.Discover,widgetIndex:n,jobTitle:e.jobTitle,isPreviewing:e.isReadonly,imageUrls:e.imageUrls,settings:e.settings,isPlugin:e.isPlugin,availablePresentations:e.availablePresentations})})),o&&r.createElement(T,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var A=n(38143),k=n(17101),O=n(72639),N=n(12754),x=n(39151),C=n(1666),P=n(80889),I=n(7198),U=n(98064),D=n(61699),R=n(31949),F=n(22902),j=n(79612),_=n(37802),G=n(69454),B=n(52167),M=n(76753),W=n(73417),H=n(99742),V=n(51855),Z=n(27638),Y=n(86698),z=n(85369),q=n(23737),$=n(33192),K=n(48688),J=n(27051);function Q(e){return Q="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},Q(e)}function X(){X=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),c=new C(r||[]);return a(o,"_invoke",{value:k(e,n,c)}),o}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var p="suspendedStart",f="suspendedYield",m="executing",h="completed",v={};function g(){}function y(){}function b(){}var w={};l(w,o,(function(){return this}));var E=Object.getPrototypeOf,L=E&&E(E(P([])));L&&L!==n&&r.call(L,o)&&(w=L);var T=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(a,i,o,c){var s=d(e[a],e,i);if("throw"!==s.type){var l=s.arg,u=l.value;return u&&"object"==Q(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(u).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,c)}))}c(s.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function k(t,n,r){var a=p;return function(i,o){if(a===m)throw Error("Generator is already running");if(a===h){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var c=r.delegate;if(c){var s=O(c,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===p)throw a=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=m;var l=d(t,n,r);if("normal"===l.type){if(a=r.done?h:f,l.arg===v)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(a=h,r.method="throw",r.arg=l.arg)}}}function O(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,v;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function N(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 x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(N,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(Q(t)+" is not iterable")}return y.prototype=b,a(T,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=l(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,s,"GeneratorFunction")),e.prototype=Object.create(T),e},t.awrap=function(e){return{__await:e}},S(A.prototype),l(A.prototype,c,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new A(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},S(T),l(T,s,"Generator"),l(T,o,(function(){return this})),l(T,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=P,C.prototype={constructor:C,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(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=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 n=this;function a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],c=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(o)},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),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;x(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var te=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}s((r=r.apply(e,t||[])).next())}))},ne=i.T.encloseNamespace("dashboard.dashboard");function re(e){var t,n,i,d,p,f,v,g,y=c.a.useBasicFetch(x.L.config()),b=c.a.useBasicFetch(R.N.currentUser()),w=c.a.useBasicFetch((null===(t=b.data)||void 0===t?void 0:t.isAuthenticated)&&R.N.user(b.data.id)),E=(0,F.T)(),L=E.hasLocalPermissions,T=E.hasPermissions,Q=(0,V.G)().isPlugin,re=c.a.useBasicFetch(L(m.E.ManageDiscoverPreferences)&&b.data&&C.h.customer(b.data.customerId)),ae=c.a.useBasicFetch((null===(n=b.data)||void 0===n?void 0:n.isAuthenticated)&&C.h.yearGroups(b.data.customerId)),ie=c.a.useBasicFetch((null===(i=b.data)||void 0===i?void 0:i.isAuthenticated)&&U.D.libraries()),oe=(0,Y.y)().availablePresentations,ce=(0,q.y)({targetType:h.ku.Discover,queryParams:e.queryParams,presentationSlug:e.presentationSlug}),se=ce.dashboard,le=ce.presentation,ue=ce.audiences,de=c.a.useGetFetchAsync(),pe=(0,_.r)(null),fe=(0,Z.u)(u.LZ.Dashboard),me=fe.setFavourite,he=fe.canFavourite,ve=(v=(0,s.D)(A.g.AUDIENCE_FILTER,void 0,{storage:o.Z1.SessionStorage}),g=1,function(e){if(Array.isArray(e))return e}(v)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(v,g)||function(e,t){if(e){if("string"==typeof e)return ee(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ee(e,t):void 0}}(v,g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],ge=(0,J.E)(G.T.getAudienceParams(ve),b.data),ye=function(e){return+O.p[null==e?void 0:e.learningLevel]===O.p.Level_1?"VariantOne":"VariantTwo"}(le);(0,j.M)(M.CG.getDiscoverMetadata({content:le,phraseContext:{phraseHandler:ne,titlePhrase:"pageTitle".concat(ye),descriptionPhrase:"pageDescription".concat(ye)},canonicalLink:$.f.getCanonicalLink(),allowIndexing:$.f.allowIndexing(),hrefLang:$.f.getStaticRouteHrefLang(null==le?void 0:le.learningLevel,ge.discover)}));var be=(0,z.N)().showCalendar;return r.createElement("div",{className:"bg-white px-4"},r.createElement(W.T,null),r.createElement(S,{currentUser:b.data,dashboard:se.data,widgetAppLinks:ge,headerAppLinks:(0,J.u)(),presentation:le,imageCdnUrl:y.data.imageCdnUrl,resourceThumbnailFallbackImageUrl:H.W.Fallbacks.RESOURCE_THUMBNAIL,getWidgetContentRequest:function(){for(var e=K.g.hasTwig(ie.data,b.data),t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return P._.discoverWidgetContent.apply(P._,[e].concat(n))},setFavourite:me,audiences:ue.data,canFavourite:he,updatePreferences:function(e,t,n,r){return te(this,void 0,void 0,X().mark((function t(){var a,i;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r.filter((function(e){return!e.hidden&&n.find((function(t){return t.id===e.id})).hidden})),i=r.filter((function(e){return!!e.hidden&&!n.find((function(t){return t.id===e.id})).hidden})),!(null==a?void 0:a.length)){t.next=5;break}return t.next=5,de(D.o.followSubjects(a.map((function(e){return e.id}))));case 5:if(!(null==i?void 0:i.length)){t.next=8;break}return t.next=8,de(D.o.unfollowSubjects(i.map((function(e){return e.id}))));case 8:return t.abrupt("return",de(P._.updateWidgetPreferences(e,r.map((function(e){return{id:e.id,index:e.index}})),b.data)));case 9:case"end":return t.stop()}}),t)})))},hasPermissions:T,hasLocalPermissions:L,onSubmitFeedback:T(m.C.CanSubmitFeedback)&&function(e){return te(this,void 0,void 0,X().mark((function t(){var n;return X().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,de(I.f.submitFeedback({type:k.n.Footer,user:B.m.getUserInfo(b.data,re.data),tags:B.m.getTags(b.data,N.x.Primary,T(m.C.StudentExperience),["discover","in product feedback"])},{reaction:e.type,feedback:e.content,location:"Discover Footer",presentationName:le.description,presentationId:le.id,dashboardName:se.data.name,dashboardId:se.data.id,currentPageUrl:a.Ab.GetCurrentUrl()}));case 2:return n=t.sent,l.k.logUserAction({feedbackType:e.type,content:e.content,presentationId:le.id,dashboardId:se.data.id},{actionType:u.Vw.Submit,location:u.LZ.DiscoverFooter,entity:u.py.Feedback,workflowPhase:u.eu.Complete}),t.abrupt("return",n);case 5:case"end":return t.stop()}}),t)})))},yearGroups:ae.data,lazyLoad:!$.f.isBot(),showCalendar:be,jobTitle:null===(f=null===(p=null===(d=w.data)||void 0===d?void 0:d.userProfile)||void 0===p?void 0:p.metadata)||void 0===f?void 0:f.jobTitle,imageUrls:{onboardingAdminBackgroundFull:H.W.OnboardingV2.Widget.ADMIN_BACKGROUND_FULL,onboardingAdminBackground:H.W.OnboardingV2.Widget.ADMIN_BACKGROUND,onboardingTeacherBackground:H.W.OnboardingV2.Widget.TEACHER_BACKGROUND},settings:pe,isPlugin:Q,availablePresentations:oe}))}},27051:(e,t,n)=>{n.d(t,{E:()=>m,u:()=>h});var r=n(75896),a=n(28400),i=n(17475),o=n(183),c=n(14070),s=n(97291),l=n(34181),u=n(22490),d=n(67963),p=n(82431),f="classification-latest-releases";function m(e,t){return{classification:function(t){return l.L.getAppLink(t,e||{})},videoType:function(e,n){return u.W.getAppLink(e,Object.assign(Object.assign({},n),{context:o.Q.Widget,includeContext:null==t?void 0:t.isAuthenticated}))},series:p.j.getSeriesAppLink,subText:function(e){return p.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:s.O.PLAYLISTS,action:c.e.Playlists.PLAYLIST,args:[e.id,a.m.slugify(e.name)]}},latestReleases:function(){return{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}},allTopics:function(){return{application:s.O.SUBJECT,action:c.e.Subjects.PRESENTATION_TOPICS}},classificationLatestReleases:function(e){return e.id===f?{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CLASSIFICATION_UPDATE,args:[e.id,a.m.slugify(e.name)]}},widgetVideoList:function(e,t){return{application:s.O.DASHBOARD,action:c.e.Dashboard.DASHBOARD,args:[e,a.m.slugify(t)]}},watchHistory:function(){return{application:s.O.WATCH_HISTORY,action:c.e.WatchHistory.HOME}},rating:function(e,t){return{application:s.O.SEARCH,action:c.e.Search.HOME,params:{moviesAndTv:!0,rating:i.S.getFrontendParamValue([r.m.first(t),e])}}},company:function(e){return{application:s.O.MOVIES_AND_TV,action:c.e.MoviesAndTv.COMPANY_DASHBOARD,args:[e.id,a.m.slugify(e.name)]}},discover:function(){return{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME}},calendar:function(){return{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}},calendarMonth:function(e,t){var n={application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR_MONTH,args:[e.toLowerCase()]};return t&&(n.params={year:t}),n},onboardingStep:function(e){return(0,d.u)()[e]},onboardingAppLinks:function(){return(0,d.u)()},classroomGuide:u.W.getClassroomGuideAppLink,interactiveGuidance:u.W.getInteractiveGuidanceAppLink,resourceGuidance:u.W.getResourceGuidanceAppLink}}function h(){return{forYou:{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME},whatsNew:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES},calendar:{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}}}},73417:(e,t,n)=>{n.d(t,{T:()=>u});var r=n(32735),a=n(11607),i=n(83914),o=n(83345),c=n(87348),s=n(35223),l="shared.upgradeFeedbackBanner";function u(){var e=(0,c.Q)(),t=e.showFeedbackBanner,n=e.dismissFeedbackBanner;return t?r.createElement("div",{className:"alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center"},r.createElement(o.x,{namespace:l,phrase:"message",options:{url:"https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look"}}),r.createElement(a.L,{onClick:n},r.createElement(i.x,{svgName:s.vn.Close,className:"ms-2 svg-container"}))):r.createElement(r.Fragment,null)}},85369:(e,t,n)=>{n.d(t,{N:()=>g});var r=n(32735),a=n(35242),i=n(20354),o=n(27022),c=n(72639),s=n(31949),l=n(37802),u=n(87114),d=n(86698);function p(e){return p="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},p(e)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,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 m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=p(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=h(h(h(h(h(h({},o.t.AU,[c.p.Level_1]),o.t.US,[c.p.Level_1]),o.t.UK,[c.p.Level_1]),o.t.SCOT,[c.p.Level_1]),o.t.NZ,[]),o.t.GLOBAL,[]);function g(){var e,t=(0,l.r)(null),n=t.hasSpecialEventCalendar,o=t.isLoadingSettings,c=(0,d.y)({redirectOnError:!0}).activePresentation,p=i.a.useBasicFetch(s.N.currentUser()),m=v[null===(e=p.data)||void 0===e?void 0:e.contentRegion],h=u.i.getMappedPresentationLevel(null==c?void 0:c.learningLevel),g=!(null==m?void 0:m.find((function(e){return e.toString()===(null==h?void 0:h.toString())}))),y=!o&&!n,b=f(r.useState(!y&&!g),2),w=b[0],E=b[1],L=f(r.useState(o||!(null==c?void 0:c.id)),2),T=L[0],S=L[1];return r.useEffect((function(){y||g?E(!1):T||E(!0),S(o||!(null==c?void 0:c.id))}),[n,null==c?void 0:c.id,T]),a.h.isDevelopment?{showCalendar:!0,isLoading:!1}:{showCalendar:w,isLoading:T}}},87432:(e,t,n)=>{n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
3
+ //# sourceMappingURL=6741-638b658087-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6741-638b658087-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/discover/components/header/discover-header.scss","file:///app/packages/libs/shared/src/apps/discover/components/header/DiscoverHeader.tsx","file:///app/packages/libs/shared/src/apps/upload/utils/FileExtensionsHelper.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/FeedbackType.ts","file:///app/packages/libs/shared/src/flight-requests/FeedbackRequests.ts","file:///app/packages/libs/shared/src/utils/FeedbackFormHelper.ts","file:///app/packages/libs/shared/src/apps/discover/components/discover-dashboard/empty-state/DiscoverDashboardEmptyState.tsx","file:///app/packages/libs/shared/src/apps/discover/components/discover-dashboard/DiscoverDashboard.tsx","file:///app/packages/projects/lite/src/apps/dashboard/views/dashboard/CuratedDiscoverView.tsx","file:///app/packages/projects/lite/src/apps/dashboard/views/dashboard/DiscoverViewUtils.ts","file:///app/packages/projects/lite/src/shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner.tsx","file:///app/packages/projects/lite/src/shared/hooks/useShowCalendar.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"pillTab\":\"bMJM0\"};","import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { DashboardUserType } from 'libs/shared/interfaces';\n\nimport styles from './discover-header.scss';\n\nconst namespace = 'discover.header';\n\nexport interface DiscoverHeaderAppLinks {\n forYou: Core.AppLink;\n whatsNew: Core.AppLink;\n calendar: Core.AppLink;\n}\n\ninterface DiscoverHeaderProps {\n type: DashboardUserType;\n hasStudentExperience?: boolean;\n appLinks?: DiscoverHeaderAppLinks;\n showCalendar: boolean;\n active: keyof DiscoverHeaderAppLinks;\n}\n\nexport function DiscoverHeader(props: DiscoverHeaderProps): JSX.Element {\n if (!props.type)\n return <></>;\n\n if (props.type === DashboardUserType.Learner || props.hasStudentExperience) {\n return (\n <div className='py-3'>\n <h1 className='h2 mb-0'>\n <Text namespace={namespace} phrase='heading' />\n </h1>\n </div>\n );\n }\n\n const tabs = [{\n name: LanguageService.getPhrase(namespace, 'forYou'),\n appLink: props.appLinks?.forYou,\n active: props.active === 'forYou',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'forYou'),\n url: AppLinkHelper.getHref(props.appLinks?.forYou)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: LanguageService.getPhrase(namespace, 'whatsNew'),\n appLink: props.appLinks?.whatsNew,\n active: props.active === 'whatsNew',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'whatsNew'),\n url: AppLinkHelper.getHref(props.appLinks?.whatsNew)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }];\n\n if (props.showCalendar) {\n tabs.push({\n name: LanguageService.getPhrase(namespace, 'calendar'),\n appLink: props.appLinks?.calendar,\n active: props.active === 'calendar',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'calendar'),\n url: AppLinkHelper.getHref(props.appLinks?.calendar)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n });\n }\n\n return (\n <div className='py-3 text-center mx-n3'>\n <PillTabSelector\n tabs={tabs}\n className={styles.pillTab}\n />\n </div>\n );\n}","import * as _ from 'underscore';\n\n/**\n * This are kept as separate variables for when we eventually need a single group of them.\n * For example when we add image upload support.\n */\n\nconst pdfExtensions = ['pdf'];\nconst docExtensions = [ 'doc', 'docx', 'dotx', 'dot', 'rtf', 'docm', 'odt' ];\nconst textExtensions = [ 'csv', 'txt' ];\nconst excelExtensions = [ 'xls', 'xlt', 'xlsx' ];\nconst imageExtensions = [ 'jpg', 'tif', 'png', 'bmp', 'gif', 'jpeg' ];\nconst videoMimeType = 'video/*';\nconst archiveExtensions = [ 'zip', 'rar' ];\nconst powerPointExtensions = [ 'ppt', 'pot', 'pps', 'pptx' ];\n\nconst subtitleExtensions = ['srt'];\n\nconst FileExtensions = {\n IMAGES: `.${imageExtensions.join(',.')}`,\n VIDEO: videoMimeType,\n MIXED_MEDIA: `.${imageExtensions.join(',.')},${videoMimeType}`,\n RESOURCES: `.${[\n ...docExtensions,\n ...excelExtensions,\n ...powerPointExtensions,\n ...pdfExtensions,\n ...textExtensions,\n ...imageExtensions,\n ...archiveExtensions\n ].join(',.')}`,\n SUBTITLES: `.${subtitleExtensions.join(',.')}`\n};\n\nconst FileExtensionHelper = {\n getResourceType(extension: string): string {\n const ext = extension.toLowerCase();\n\n if (_.contains(docExtensions, ext)) return 'document';\n if (_.contains(excelExtensions, ext)) return 'excel';\n if (_.contains(powerPointExtensions, ext)) return 'powerpoint';\n if (_.contains(pdfExtensions, ext)) return 'pdf';\n\n if (_.contains(textExtensions, ext)) return 'text';\n if (_.contains(imageExtensions, ext)) return 'image';\n if (_.contains(archiveExtensions, ext)) return 'archive';\n if (_.contains(subtitleExtensions, ext)) return 'subtitle';\n\n return '';\n }\n};\n\nexport { FileExtensions, FileExtensionHelper };","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","export enum FeedbackType {\n Other,\n SuggestImprovement,\n ReportBug,\n RequestVideo,\n RaiseIssue,\n GivePraise,\n Footer,\n RequestLivestream\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nimport { FeedbackFormRequest } from 'libs/shared/interfaces/requests/FeedbackFormRequest';\n\nexport const FeedbackRequests = {\n submitFeedback(requestData: FeedbackFormRequest, formValues: Record<string, string>): Flight.Request {\n return {\n url: '{gateway}/v1/feedback',\n key: 'submit:feedback',\n type: HttpVerbs.POST,\n data: {\n ...requestData,\n ...formValues\n }\n };\n }\n};","import Dropzone from 'dropzone';\n\nimport { UploadItem } from 'libs/shared/apps/upload/services/UploadService';\nimport { FileExtensions } from 'libs/shared/apps/upload/utils/FileExtensionsHelper';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UserRole } from 'libs/shared/enums/UserRole';\nimport { CurrentUser, Customer } from 'libs/shared/interfaces';\nimport { FeedbackUserDetails } from 'libs/shared/interfaces/requests/FeedbackFormRequest';\n\nexport const FeedbackFormHelper = {\n getUserInfo: (\n currentUser: CurrentUser,\n customer: Customer\n ): FeedbackUserDetails => {\n return {\n id: currentUser.id,\n username: currentUser.username,\n email: currentUser.email,\n userType: currentUser.role === UserRole.Admin ? 'Admin' : 'Staff',\n customerId: currentUser.customerId,\n cvcId: customer.crmId,\n customerName: customer.name,\n instanceRegion: currentUser.instanceRegion,\n contentRegion: currentUser.contentRegion,\n firstName: currentUser.givenName,\n lastName: currentUser.familyName\n };\n },\n\n mapInstanceRegionToTag: (instanceRegion: InstanceRegion): string => {\n switch (instanceRegion) {\n case InstanceRegion.AU:\n return 'au';\n case InstanceRegion.NZ:\n return 'nz';\n case InstanceRegion.UK:\n return 'uk';\n case InstanceRegion.US:\n return 'us';\n }\n },\n\n getTags: (currentUser: CurrentUser, product: ProductId, hasStudentExperience: boolean, extraTags: string[]) => {\n const tags = [\n product,\n ...extraTags\n ];\n\n tags.push(hasStudentExperience ? 'student' : 'staff');\n \n if (currentUser.role === UserRole.Admin)\n tags.push('administrator');\n \n const regionTag = FeedbackFormHelper.mapInstanceRegionToTag(currentUser.instanceRegion);\n \n if (regionTag)\n tags.push(regionTag);\n\n return tags;\n },\n\n categorizeFiles(files: UploadItem[]) {\n return files.reduce((result, file) => {\n const fileInfo = file.get('fileInfo');\n if (Dropzone.isValidFile(file.get('file'), FileExtensions.VIDEO)) {\n result.videoUrls.push(fileInfo?.url);\n } else {\n result.imageUrls.push(fileInfo?.url);\n }\n return result;\n }, {\n imageUrls: [],\n videoUrls: []\n });\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'subjects.discoverDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n\ninterface DiscoverDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function DiscoverDashboardEmptyState(props: DiscoverDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('info')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={cvSvgLibrary.Plus}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { DiscoverHeader, DiscoverHeaderAppLinks } from 'libs/shared/apps/discover/components/header/DiscoverHeader';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { DashboardFeedbackData } from 'libs/shared/components/feedback-form/FeedbackForm';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { WidgetAppLinks, WidgetImageUrls } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { CanFavouriteFunc, CuratedDashboard, CuratedWidgetQueryParams, CurrentUser, DashboardTargetType, FavouriteFunc, Presentation, PresentationAudience, WidgetPreference, YearGroup } from 'libs/shared/interfaces';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { DiscoverDashboardEmptyState } from './empty-state/DiscoverDashboardEmptyState';\n\ninterface DiscoverDashboardProps {\n dashboard: CuratedDashboard;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate,\n presentation: Presentation\n ) => Flight.Request;\n imageCdnUrl: string;\n currentUser: CurrentUser;\n audiences: PresentationAudience[];\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n resourceThumbnailFallbackImageUrl: string;\n emptyImageUrl?: string;\n presentation: Presentation;\n setFavourite?: FavouriteFunc;\n canFavourite?: CanFavouriteFunc;\n widgetAppLinks?: WidgetAppLinks;\n headerAppLinks?: DiscoverHeaderAppLinks;\n scrollToWidgetId?: string;\n updatePreferences?: (\n widgetId: string,\n widgetTypeId: WidgetTypeId,\n oldPreferences: WidgetPreference[],\n newPreferences: WidgetPreference[]\n ) => Promise<void>;\n onSubmitFeedback?: (feedback: DashboardFeedbackData) => Promise<void>;\n isReadonly?: boolean;\n yearGroups?: YearGroup[];\n lazyLoad?: boolean;\n showCalendar: boolean;\n jobTitle: JobTitles;\n imageUrls: WidgetImageUrls\n settings: SettingsHash;\n isPlugin: boolean;\n availablePresentations: Presentation[];\n}\n\nexport function DiscoverDashboard(props: DiscoverDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template, props.presentation);\n }\n\n const showEmptyState = props.isReadonly && !widgets?.length;\n\n return (\n <>\n <DiscoverHeader\n type={props.dashboard?.userType}\n appLinks={props.headerAppLinks}\n hasStudentExperience={props.hasPermissions(PermissionName.StudentExperience)}\n showCalendar={props.showCalendar}\n active='forYou'\n />\n {widgets.map((widget, idx) => {\n return (\n <WidgetContainerView\n key={widget.id}\n id={widget.id}\n imageCdnUrl={props.imageCdnUrl}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n presentation={props.presentation}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n resourceThumbnailFallbackImageUrl={props.resourceThumbnailFallbackImageUrl}\n preferences={widget.preferences}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n onSubmitFeedback={props.onSubmitFeedback}\n updatePreferences={props.updatePreferences}\n yearGroups={props.yearGroups}\n lazyLoad={props.lazyLoad}\n dashboardTarget={DashboardTargetType.Discover}\n widgetIndex={idx}\n jobTitle={props.jobTitle}\n isPreviewing={props.isReadonly}\n imageUrls={props.imageUrls}\n settings={props.settings}\n isPlugin={props.isPlugin}\n availablePresentations={props.availablePresentations}\n />\n );\n })}\n\n {showEmptyState && (\n <DiscoverDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LocationUtils } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { DiscoverDashboard } from 'libs/shared/apps/discover/components/discover-dashboard/DiscoverDashboard';\nimport { DashboardFeedbackData } from 'libs/shared/components/feedback-form/FeedbackForm';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { FeedbackType } from 'libs/shared/enums/FeedbackType';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { FeedbackRequests } from 'libs/shared/flight-requests/FeedbackRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CurrentUser, Customer, DashboardTargetType, Library, Presentation, PresentationAudience, User, WidgetPreference, YearGroup } from 'libs/shared/interfaces';\nimport { Config } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\nimport { FeedbackFormHelper } from 'libs/shared/utils/FeedbackFormHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { UpgradeFeedbackBanner } from 'shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { useShowCalendar } from 'shared/hooks/useShowCalendar';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { LibraryHelper } from 'apps/libraries/utils/LibraryHelper';\n\nimport { getDiscoverHeaderAppLinks, getDiscoverWidgetAppLinks } from './DiscoverViewUtils';\n\nconst namespace = 'dashboard.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getPhraseVariant(presentation: Presentation): string {\n const learningLevel = PresentationLearningLevel[presentation?.learningLevel];\n\n return +learningLevel === PresentationLearningLevel.Level_1\n ? 'VariantOne'\n : 'VariantTwo';\n}\n\ninterface CuratedDiscoverViewProps {\n presentationSlug?: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function CuratedDiscoverView(props: CuratedDiscoverViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const user = Flight.useBasicFetch<User>(currentUser.data?.isAuthenticated && UserRequests.user(currentUser.data.id));\n const { hasLocalPermissions, hasPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n\n const customer = Flight.useBasicFetch<Customer>(\n hasLocalPermissions(LocalPermissionName.ManageDiscoverPreferences) &&\n currentUser.data &&\n CustomerRequests.customer(currentUser.data.customerId)\n );\n\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated\n && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const libraries = Flight.useBasicFetch<Library[]>(\n currentUser.data?.isAuthenticated &&\n LibraryRequests.libraries()\n );\n\n const { availablePresentations } = usePresentation();\n\n const {\n dashboard,\n presentation,\n audiences\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Discover,\n queryParams: props.queryParams,\n presentationSlug: props.presentationSlug\n });\n\n const fetchAsync = Flight.useGetFetchAsync();\n const settings = useSettings(null);\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.Dashboard);\n\n const [activeAudiences] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const widgetAppLinks = getDiscoverWidgetAppLinks(AudienceHelper.getAudienceParams(activeAudiences), currentUser.data);\n\n const phraseVariant = getPhraseVariant(presentation);\n\n useSetPageMetadata(PageMetadataHelper.getDiscoverMetadata({\n content: presentation,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: `pageTitle${phraseVariant}`,\n descriptionPhrase: `pageDescription${phraseVariant}`\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: SeoHelper.allowIndexing(),\n hrefLang: SeoHelper.getStaticRouteHrefLang(\n presentation?.learningLevel,\n widgetAppLinks.discover\n )\n }));\n\n async function onSubmitFeedback(feedback: DashboardFeedbackData): Promise<void> {\n const promise = await fetchAsync<void>(FeedbackRequests.submitFeedback({\n type: FeedbackType.Footer,\n user: FeedbackFormHelper.getUserInfo(currentUser.data, customer.data),\n tags: FeedbackFormHelper.getTags(\n currentUser.data,\n ProductId.Primary,\n hasPermissions(PermissionName.StudentExperience),\n [ 'discover', 'in product feedback' ]\n )\n }, {\n reaction: feedback.type,\n feedback: feedback.content,\n location: 'Discover Footer',\n presentationName: presentation.description,\n presentationId: presentation.id,\n dashboardName: dashboard.data.name,\n dashboardId: dashboard.data.id,\n currentPageUrl: LocationUtils.GetCurrentUrl()\n }));\n\n AnalyticsHelper.logUserAction({\n feedbackType: feedback.type,\n content: feedback.content,\n presentationId: presentation.id,\n dashboardId: dashboard.data.id\n }, {\n actionType: UserAction.Submit,\n location: LocationContext.DiscoverFooter,\n entity: EntityType.Feedback,\n workflowPhase: WorkflowPhase.Complete\n });\n\n return promise;\n }\n\n async function updateWidgetPreferences(\n widgetId: string,\n widgetTypeId: WidgetTypeId,\n oldPreferences: WidgetPreference[],\n newPreferences: WidgetPreference[]\n ): Promise<void> {\n const addedSubjects = newPreferences.filter(p => {\n if (p.hidden)\n return false;\n\n const oldPreference = oldPreferences.find(o => o.id === p.id);\n\n return oldPreference.hidden;\n });\n const removedSubjects = newPreferences.filter(p => {\n if (!p.hidden)\n return false;\n \n const oldPreference = oldPreferences.find(o => o.id === p.id);\n\n return !oldPreference.hidden;\n });\n\n if (addedSubjects?.length)\n await fetchAsync<void>(PreferenceRequests.followSubjects(addedSubjects.map(s => s.id)));\n\n if (removedSubjects?.length)\n await fetchAsync<void>(PreferenceRequests.unfollowSubjects(removedSubjects.map(s => s.id)));\n\n return fetchAsync<void>(DashboardRequests.updateWidgetPreferences(\n widgetId,\n newPreferences.map(p => ({\n id: p.id,\n index: p.index\n })),\n currentUser.data\n ));\n }\n const { showCalendar } = useShowCalendar();\n\n return (\n <div className='bg-white px-4'>\n <UpgradeFeedbackBanner />\n <DiscoverDashboard\n currentUser={currentUser.data}\n dashboard={dashboard.data}\n widgetAppLinks={widgetAppLinks}\n headerAppLinks={getDiscoverHeaderAppLinks()}\n presentation={presentation}\n imageCdnUrl={config.data.imageCdnUrl}\n resourceThumbnailFallbackImageUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n getWidgetContentRequest={(\n ...args: Parameters<typeof DashboardRequests.dashboardWidgetContent>\n ) => {\n const hasTwig = LibraryHelper.hasTwig(libraries.data, currentUser.data);\n\n return DashboardRequests.discoverWidgetContent(hasTwig, ...args);\n }}\n setFavourite={setFavourite}\n audiences={audiences.data}\n canFavourite={canFavourite}\n updatePreferences={updateWidgetPreferences}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n onSubmitFeedback={\n hasPermissions(PermissionName.CanSubmitFeedback) &&\n onSubmitFeedback\n }\n yearGroups={yearGroups.data}\n lazyLoad={!SeoHelper.isBot()}\n showCalendar={showCalendar}\n jobTitle={user.data?.userProfile?.metadata?.jobTitle}\n imageUrls={{\n onboardingAdminBackgroundFull: ImageUrls.OnboardingV2.Widget.ADMIN_BACKGROUND_FULL,\n onboardingAdminBackground: ImageUrls.OnboardingV2.Widget.ADMIN_BACKGROUND,\n onboardingTeacherBackground: ImageUrls.OnboardingV2.Widget.TEACHER_BACKGROUND\n }}\n settings={settings}\n isPlugin={isPlugin}\n availablePresentations={availablePresentations}\n />\n </div>\n );\n}","import { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { DiscoverHeaderAppLinks } from 'libs/shared/apps/discover/components/header/DiscoverHeader';\nimport { OnboardingScreenId } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenId';\nimport { RatingFilterHelper } from 'libs/shared/apps/search/utils/RatingFilterHelper';\nimport { WidgetAppLinks } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { Classification, Company, CurrentUser, Playlist, Rating, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { getOnboardingAppLinks } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst CLASSIFICATION_LATEST_RELEASES = 'classification-latest-releases';\n\nexport function getDiscoverWidgetAppLinks(\n params: HashObject,\n currentUser: CurrentUser\n): WidgetAppLinks {\n return {\n classification: (classification?: Classification) =>\n ClassificationAppLinkHelper.getAppLink(classification, params || {}),\n\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser?.isAuthenticated\n })\n ),\n\n series: SeriesAppLinkHelper.getSeriesAppLink,\n\n subText: (video: Video) => SeriesAppLinkHelper.getSeriesAppLink(video.series),\n\n playlist: (playlist: Playlist) => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\n }),\n \n latestReleases: () => ({\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n }),\n\n allTopics: () => ({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.PRESENTATION_TOPICS\n }),\n\n classificationLatestReleases: (classification: Classification) => {\n if (classification.id === CLASSIFICATION_LATEST_RELEASES)\n return {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n };\n\n return {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CLASSIFICATION_UPDATE,\n args: [ classification.id, TextHelper.slugify(classification.name) ]\n };\n },\n\n widgetVideoList: (widgetId: string, widgetName: string) => ({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.DASHBOARD,\n args: [ widgetId, TextHelper.slugify(widgetName) ]\n }),\n\n watchHistory: () => ({\n application: AppChannels.WATCH_HISTORY,\n action: Actions.WatchHistory.HOME\n }),\n\n rating: (rating: Rating, ratings: Rating[]) => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n moviesAndTv: true,\n rating: RatingFilterHelper.getFrontendParamValue([ ArrayHelper.first(ratings), rating ])\n }\n }),\n\n company: (company: Company) => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ company.id, TextHelper.slugify(company.name) ]\n }),\n\n discover: () => ({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }),\n\n calendar: () => ({\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR\n }),\n\n calendarMonth: (month: string, year?: string) => {\n const appLink: Core.AppLink = {\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR_MONTH,\n args: [month.toLowerCase()]\n };\n\n if (year)\n appLink.params = { year };\n\n return appLink;\n },\n\n onboardingStep: (step: OnboardingScreenId) => {\n const appLinks = getOnboardingAppLinks();\n return appLinks[step];\n },\n\n onboardingAppLinks: () => {\n return getOnboardingAppLinks();\n },\n\n classroomGuide: VideoAppLinkHelper.getClassroomGuideAppLink,\n interactiveGuidance: VideoAppLinkHelper.getInteractiveGuidanceAppLink,\n resourceGuidance: VideoAppLinkHelper.getResourceGuidanceAppLink\n };\n}\n\nexport function getDiscoverHeaderAppLinks(): DiscoverHeaderAppLinks {\n return {\n forYou: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n },\n whatsNew: {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n },\n calendar: {\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR\n }\n };\n}","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.upgradeFeedbackBanner';\n\nexport function UpgradeFeedbackBanner(): JSX.Element {\n const { showFeedbackBanner, dismissFeedbackBanner } = useLiteUpgrade();\n\n if (!showFeedbackBanner)\n return <></>;\n\n return (\n <div className='alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center'>\n <Text\n namespace={namespace}\n phrase='message'\n options={{ url: 'https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look' }}\n />\n <DivButton\n onClick={dismissFeedbackBanner}\n >\n <SvgContainer\n svgName={cvSvgLibrary.Close}\n className='ms-2 svg-container'\n />\n </DivButton>\n </div>\n );\n}","import React from 'react';\n\nimport { EnvironmentVariables } from 'libs/common/backbone/services/EnvironmentVariables';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nconst ALLOWED_LEARNING_LEVELS_BY_REGION: Record<ContentRegion, PresentationLearningLevel[]> = {\n [ContentRegion.AU]: [\n // AU Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.US]: [\n // US Elementary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.UK]: [\n // UK Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.SCOT]: [\n // Scotland Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.NZ]: [],\n [ContentRegion.GLOBAL]: []\n};\n\nexport function useShowCalendar() {\n const { hasSpecialEventCalendar, isLoadingSettings } = useSettings(null);\n\n const {\n activePresentation\n } = usePresentation({ redirectOnError: true });\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const allowedLearningLevels = ALLOWED_LEARNING_LEVELS_BY_REGION[currentUser.data?.contentRegion];\n const learningLevel = TopicsHelper.getMappedPresentationLevel(activePresentation?.learningLevel);\n const learningLevelCantAccess = !allowedLearningLevels?.find(l => {\n return l.toString() === (learningLevel as PresentationLearningLevel)?.toString();\n });\n\n const noSetting = !isLoadingSettings && !hasSpecialEventCalendar;\n\n const [ showCalendar, setShowCalendar ] = React.useState<boolean>(!noSetting && !learningLevelCantAccess);\n\n const [ isLoading, setIsLoading ] = React.useState(isLoadingSettings || !activePresentation?.id);\n\n React.useEffect(() => {\n if (noSetting || learningLevelCantAccess) {\n setShowCalendar(false);\n } else if (!isLoading) {\n setShowCalendar(true);\n }\n setIsLoading(isLoadingSettings || !activePresentation?.id);\n }, [ hasSpecialEventCalendar, activePresentation?.id, isLoading ]);\n\n if (EnvironmentVariables.isDevelopment)\n return { showCalendar: true, isLoading: false };\n\n return { showCalendar, isLoading };\n}","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["namespace","DiscoverHeader","props","type","hasStudentExperience","className","Text","phrase","tabs","name","LanguageService","appLink","appLinks","forYou","active","analyticsData","url","analyticsOptions","actionType","entity","location","whatsNew","showCalendar","push","calendar","PillTabSelector","pdfExtensions","docExtensions","textExtensions","excelExtensions","imageExtensions","videoMimeType","archiveExtensions","powerPointExtensions","subtitleExtensions","FileExtensions","IMAGES","join","VIDEO","MIXED_MEDIA","RESOURCES","SUBTITLES","FileExtensionHelper","getResourceType","extension","ext","toLowerCase","TabContents","tab","svgName","count","data","ref","containerRef","borderRadius","listClassName","map","index","key","onClick","onSelect","onSelectTab","defaultProps","FeedbackType","FeedbackRequests","submitFeedback","requestData","formValues","FeedbackFormHelper","getUserInfo","currentUser","customer","id","username","email","userType","role","customerId","cvcId","crmId","customerName","instanceRegion","contentRegion","firstName","givenName","lastName","familyName","mapInstanceRegionToTag","getTags","product","extraTags","tags","regionTag","categorizeFiles","files","reduce","result","file","fileInfo","get","videoUrls","imageUrls","getPhrase","DiscoverDashboardEmptyState","isArchived","dashboard","status","EmptyState","src","imageUrl","altText","Tooltip","title","spanHack","text","addWidgetApplink","icon","disabled","DiscoverDashboard","widgets","ArrayHelper","getWidgetContentRequest","widgetTypeId","template","params","presentation","showEmptyState","isReadonly","length","headerAppLinks","hasPermissions","PermissionName","widget","idx","WidgetContainerView","imageCdnUrl","getContentRequest","audiences","description","templateId","metadata","setFavourite","canFavourite","resourceThumbnailFallbackImageUrl","preferences","widgetAppLinks","isScrollToTargetWidget","scrollToWidgetId","widgetId","hasLocalPermissions","onSubmitFeedback","updatePreferences","yearGroups","lazyLoad","dashboardTarget","widgetIndex","jobTitle","isPreviewing","settings","isPlugin","availablePresentations","emptyImageUrl","widgetWizard","CuratedDiscoverView","config","ConfigRequests","UserRequests","user","isAuthenticated","usePermissions","usePluginHelper","CustomerRequests","libraries","LibraryRequests","usePresentation","targetType","queryParams","presentationSlug","fetchAsync","useSettings","useLiteFavourites","u","activeAudiences","SharedViewModelKeys","undefined","storage","AudienceHelper","phraseVariant","PresentationLearningLevel","learningLevel","getPhraseVariant","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","allowIndexing","hrefLang","discover","useShowCalendar","UpgradeFeedbackBanner","ImageUrls","hasTwig","LibraryHelper","args","DashboardRequests","oldPreferences","newPreferences","addedSubjects","filter","p","hidden","find","o","removedSubjects","PreferenceRequests","s","feedback","ProductId","reaction","presentationName","presentationId","dashboardName","dashboardId","currentPageUrl","promise","AnalyticsHelper","feedbackType","workflowPhase","userProfile","onboardingAdminBackgroundFull","onboardingAdminBackground","onboardingTeacherBackground","CLASSIFICATION_LATEST_RELEASES","getDiscoverWidgetAppLinks","classification","videoType","video","opts","context","includeContext","series","subText","playlist","application","action","latestReleases","allTopics","classificationLatestReleases","widgetVideoList","widgetName","watchHistory","rating","ratings","moviesAndTv","company","calendarMonth","month","year","onboardingStep","step","onboardingAppLinks","classroomGuide","interactiveGuidance","resourceGuidance","getDiscoverHeaderAppLinks","showFeedbackBanner","dismissFeedbackBanner","options","ALLOWED_LEARNING_LEVELS_BY_REGION","hasSpecialEventCalendar","isLoadingSettings","activePresentation","redirectOnError","allowedLearningLevels","learningLevelCantAccess","l","toString","noSetting","setShowCalendar","isLoading","setIsLoading"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6934],{94191:(e,i,a)=>{a.r(i),a.d(i,{VideoClipsView:()=>T});var t=a(32735),n=a(81886),s=a(23481),c=a(20354),r=a(28400),o=a(65858),d=a(49935),l=a(71020),u=a(13231),p=a(51365),v=a(183),g=a(94644),m=a(43012),h=a(39151),f=a(1666),k=a(31949),C=a(1575),L=a(69883),b=a(60115),A=a(22902),V=a(14070),E=a(97291),F=a(51855),I=a(10671),G=a(27638),O=a(44110),w=a(35014),j=a(22490),y=a(16747),P=a(98620),_=a(82431),x="shared.videoMedia",N=s.T.encloseNamespace(x);function T(e){var i,a,T,W,B=e.videoId,S=c.a.useGetFetch(),M=(0,L.Z)(),R=(0,G.u)(o.LZ.VideoThumbnail),U=R.setFavourite,D=R.canFavourite,Q=(0,F.G)().isPlugin,Y=(0,O.i)(),Z=(0,A.T)().hasPermissions,H=(0,I._)({location:I.i.VideoItem}),K=(0,w.I)(),$=c.a.useBasicFetch(k.N.currentUser()),q=c.a.useBasicFetch($.data.isAuthenticated&&f.h.yearGroups($.data.customerId)),z=c.a.useBasicFetch(C.R.video(B));function J(e){return m.e.videoClips(B,null,e)}function X(e){return S(J(e))}var ee=(0,b.K)(!!K.canViewClips&&J,X,(function(e,i){if(1===e)return(0,g.r)(i);M.error(s.T.getPhrase(x,"errorClips"))})),ie=ee.items,ae=ee.hasMore,te=ee.isFetching,ne=c.a.useBasicFetch(h.L.config()),se=N("clipHeading"),ce=[{name:null===(i=z.data)||void 0===i?void 0:i.name,appLink:Object.assign(Object.assign({},P.Y.playVideo),{args:[B,r.m.slugify(null===(a=z.data)||void 0===a?void 0:a.name)]})},{name:se,appLink:{application:E.O.VIDEOS,action:V.e.Videos.VIDEO_CLIPS,args:[B,r.m.slugify(null===(T=z.data)||void 0===T?void 0:T.name)]},active:!0}];return t.useEffect((function(){K.canViewClips||function(){var e;n.Q.C$.trigger(Object.assign(Object.assign({},P.Y.playVideo),{args:[B,r.m.slugify(null===(e=z.data)||void 0===e?void 0:e.name)]}),{replace:!0})}()}),[K.canViewClips]),z.data&&(null==ie?void 0:ie.length)&&ne.hasCompleted?t.createElement(p.M.Provider,{value:H},t.createElement("div",{className:"px-3"},t.createElement("h1",{className:"h2 mb-2"},se),t.createElement("div",{className:"mb-2"},t.createElement(d.Oo,{breadcrumbs:ce})),t.createElement(u.E4,{videos:ie,yearGroups:q.data,getVideoAppLink:function(i,a){var t;return j.W.getAppLink(i,Object.assign(Object.assign({},a),{context:v.Q.Widget,contextId:e.videoId,includeContext:null===(t=$.data)||void 0===t?void 0:t.isAuthenticated}))},hasPermissions:Z,getSubTextAppLink:function(e){return _.j.getSeriesAppLink(e.series)},setFavourite:U,canFavourite:D,presentationAudiences:Y.data,imageCdnUrl:null===(W=ne.data)||void 0===W?void 0:W.imageCdnUrl,isPlugin:Q,getClassroomGuideAppLink:j.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:j.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:j.W.getResourceGuidanceAppLink}),(ae||te)&&t.createElement(l._,{isFetching:te,fetchNext:X}))):t.createElement(y.l,null)}}}]);
2
+ //# sourceMappingURL=6934-5688ca7ce7-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6934-5688ca7ce7-lite.chunk.js","mappings":"6eAuCMA,EAAY,oBACZC,EAAY,qBAAiCD,GAM7C,SAAUE,EAAeC,G,YACrBC,EAAYD,EAAZC,QACFC,EAAQ,kBACRC,GAAS,SAEf,GAAuC,IAAAC,GAAkB,qBAAjDC,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACdC,GAAa,SAAbA,SAEFC,GAAY,SACVC,GAAmB,SAAnBA,eAEFC,GAAe,OAAgB,CAAEC,SAAU,gBAC3CC,GAAgB,SAChBC,EAAc,kBAAkC,mBAChDC,EAAa,kBACjBD,EAAYE,KAAKC,iBAAmB,eAA4BH,EAAYE,KAAKE,aAG7EC,EAAQ,kBAA4B,UAAoBjB,IAE9D,SAASkB,EAAgBC,GACvB,OAAO,eAAwBnB,EAAS,KAAMmB,EAChD,CAEA,SAASC,EAAUD,GACjB,OAAOlB,EAAMiB,EAAgBC,GAC/B,CASA,QAA8C,SAC5CR,EAAcU,cAAeH,EAC7BE,GATF,SAAiBE,EAAoBC,GACnC,GAAmB,IAAfD,EACF,OAAO,OAAgBC,GAEzBrB,EAAOsB,MAAM,cAA0B5B,EAAW,cACpD,IAEe6B,GAAK,GAAZC,MAAcC,GAAO,GAAPA,QAASC,GAAU,GAAVA,WAMzBC,GAAS,kBAA6B,cAEtCC,GAAQjC,EAAU,eAGlBkC,GAA4B,CAAC,CACjCC,KAAgB,QAAV,EAAAf,EAAMH,YAAI,eAAEkB,KAClBC,QAAS,OAAF,wBACF,eAA4B,CAC/BC,KAAM,CAAElC,EAAS,YAA6B,QAAV,EAAAiB,EAAMH,YAAI,eAAEkB,UAEjD,CACDA,KAAMF,GACNG,QAAS,CACPE,YAAa,WACbC,OAAS,uBACTF,KAAM,CAAElC,EAAS,YAA6B,QAAV,EAAAiB,EAAMH,YAAI,eAAEkB,QAElDK,QAAQ,IAgBV,OANA,aAAgB,WACT1B,EAAcU,cARrB,W,MACE,eAA2B,OAAD,wBACrB,eAA4B,CAC/Ba,KAAM,CAAElC,EAAS,YAA6B,QAAV,EAAAiB,EAAMH,YAAI,eAAEkB,SAC/C,CAAEM,SAAS,GAChB,CAIIC,EAEJ,GAAG,CAAC5B,EAAcU,eAEbJ,EAAMH,OAASW,cAAK,EAALA,GAAOe,SAAWX,GAAOY,aAI3C,gBAAC,aAA4B,CAACC,MAAOjC,GACnC,uBAAKkC,UAAU,QACb,sBAAIA,UAAU,WAAWb,IAEzB,uBAAKa,UAAU,QACb,gBAAC,KAAW,CAACZ,YAAaA,MAG5B,gBAAC,KAAS,CACRa,OAAQnB,GACRZ,WAAYA,EAAWC,KACvB+B,gBAAiB,SAAC5B,EAAO6B,G,MAAS,sBAA8B7B,EAAO,OAAF,wBAChE6B,GAAI,CACPC,QAAS,WACTC,UAAWjD,EAAMC,QACjBiD,eAAgC,QAAhB,EAAArC,EAAYE,YAAI,eAAEC,kB,EAEpCP,eAAgBA,EAChB0C,kBAAmB,SAAAjC,GAAK,OAAI,qBAAqCA,EAAMkC,OAAO,EAC9E/C,aAAcA,EACdC,aAAcA,EACd+C,sBAAuB7C,EAAUO,KACjCuC,YAAwB,QAAX,EAAAxB,GAAOf,YAAI,eAAEuC,YAC1B/C,SAAUA,EACVgD,yBAA0B,6BAC1BC,8BAA+B,kCAC/BC,2BAA4B,kCAE5B7B,IAAWC,KACX,gBAAC,IAAoB,CAACA,WAAYA,GAAYR,UAAWA,MAhCxD,gBAAC,IAAqB,KAqCjC,C","sources":["file:///app/packages/projects/lite/src/shared/views/video-media/VideoClipsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, Config, CurrentUser, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { PartialVideoMediaView } from 'shared/views/video-media/partial-loading/PartialVideoMediaView';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface VideoMediaViewProps {\n videoId: string;\n}\n\nexport function VideoClipsView(props: VideoMediaViewProps): JSX.Element {\n const { videoId } = props;\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n \n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(videoId));\n\n function getClipsRequest(cursor?: string) {\n return ClipRequests.videoClips(videoId, null, cursor);\n }\n\n function fetchNext(cursor?: string) {\n return fetch(getClipsRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(LanguageService.getPhrase(namespace, 'errorClips'));\n }\n\n const { items: clips, hasMore, isFetching } = useInfiniteList<Clip>(\n featureAccess.canViewClips ? getClipsRequest : false,\n fetchNext,\n onError\n );\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = getPhrase('clipHeading');\n\n\n const breadcrumbs: Breadcrumb[] = [{\n name: video.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playVideo,\n args: [ videoId, TextHelper.slugify(video.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.VIDEO_CLIPS,\n args: [ videoId, TextHelper.slugify(video.data?.name) ]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playVideo,\n args: [ videoId, TextHelper.slugify(video.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewClips) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewClips]);\n\n if (!video.data || !clips?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={clips}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.videoId,\n includeContext: currentUser.data?.isAuthenticated\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {(hasMore || isFetching) && (\n <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} />\n )}\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["namespace","getPhrase","VideoClipsView","props","videoId","fetch","alerts","u","setFavourite","canFavourite","isPlugin","audiences","hasPermissions","videoActions","location","featureAccess","currentUser","yearGroups","data","isAuthenticated","customerId","video","getClipsRequest","cursor","fetchNext","canViewClips","pageNumber","httpStatus","error","clips","items","hasMore","isFetching","config","title","breadcrumbs","name","appLink","args","application","action","active","replace","redirectToPlaypage","length","hasCompleted","value","className","videos","getVideoAppLink","opts","context","contextId","includeContext","getSubTextAppLink","series","presentationAudiences","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7234],{56520:(e,a,t)=>{t.d(a,{R0:()=>m,_N:()=>u,eR:()=>p});var n=t(23481),i=t(97395),r=t(20354),s=t(42617),o=t(4594),l=t(39151),c=t(31949),d=n.T.encloseNamespace("shared.hooks");function u(e,a,t,n){var r=i._.safeUrlConcat(e,"manage"),s=i._.safeUrlConcat(e,"exchange"),l=function(e,a,t){return i._.safeUrlConcat(e,"".concat(a,"/").concat(t))};switch(a){case o.E.Subject:return i._.safeUrlConcat(r,"subjects/presentations/".concat(n,"/classifications/").concat(t,"/edit"));case o.E.Video:return l(r,"videos",t);case o.E.Playlist:return l(r,"playlists",t);case o.E.Series:return l(r,"series",t);case o.E.Company:return l(r,"companies",t);case o.E.Interactive:return l(r,"interactives",t);case o.E.Clip:return l(r,"clips",t);case o.E.Category:return l(s,"categories",t)}}function p(){return d("openInCurationStudio")}function m(){var e,a,t=r.a.useBasicFetch(c.N.currentUser()),n=r.a.useBasicFetch((null===(e=t.data)||void 0===e?void 0:e.id)&&c.N.groups(null===(a=t.data)||void 0===a?void 0:a.id)).data,i=r.a.useBasicFetch(l.L.config()),o=[s.j.Curator,s.j.Content,s.j.Developer];return{openInCurationStudioLabel:p(),isUserCurator:o.some((function(e){return null==n?void 0:n.data.find((function(a){return a.name===e}))})),getOpenInCurationStudioLink:function(e,a,t){var n;return u(null===(n=i.data)||void 0===n?void 0:n.curatorUrl,e,a,t)}}}},60008:(e,a,t)=>{t.r(a),t.d(a,{CompanyDashboardView:()=>$});var n=t(32735),i=t(23481),r=t(81886),s=t(20354),o=t(28400),l=t(65858),c=t(75896),d=t(23232),u=t(83345),p=t(36532),m=t(40424),g=t(35223),v="moviesAndTv.companyDashboardEmptyState",h=i.T.encloseNamespace(v);function b(e){var a,t,r=(null===(a=e.dashboard)||void 0===a?void 0:a.status)===m.GL.Archived;return n.createElement(d.u,null,n.createElement(d.u.Image,{src:e.imageUrl,altText:h("info")}),n.createElement(d.u.Heading,null,n.createElement(u.x,{namespace:v,phrase:"heading"})),n.createElement(d.u.Info,null,n.createElement(u.x,{namespace:v,phrase:"info"})),n.createElement(p.u,{title:r?i.T.getPhrase(v,"archivedCtaTooltip"):"",spanHack:!0},n.createElement(d.u.Cta,{text:i.T.getPhrase(v,"add"),appLink:null===(t=e.addWidgetApplink)||void 0===t?void 0:t.call(e),className:"btn btn-dark",icon:g.vn.Plus,disabled:r})))}var y=t(44522),C=t(49935),f=t(19889),k=t(7733),E=t(21366),T=t(9085);function L(e){var a,t,i,r=c.m.sortBy(null===(a=e.dashboard)||void 0===a?void 0:a.widgets,"index");function s(a,t,n){var i=E.S.getWidgetParams(t,n,E.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(a,i,n)}var o=e.isReadonly&&!(null==r?void 0:r.length);return n.createElement(n.Fragment,null,!!r.length&&n.createElement(n.Fragment,null,e.company?n.createElement(y.p,{heading:e.company.name,banner:e.company.banner,imageCdnUrl:e.imageCdnUrl,blockColourClass:(0,T.x)(e.company.name,k.o),actions:null===(t=e.getBannerActions)||void 0===t?void 0:t.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):n.createElement(y.v,null),n.createElement("div",{className:"py-3 mb-3 border-bottom"},n.createElement(C.Oo,{breadcrumbs:null===(i=e.getBreadcrumbs)||void 0===i?void 0:i.call(e)})),n.createElement("div",{className:"mt-3"},r.map((function(a){return n.createElement(f.L,{key:a.id,id:a.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:s,audiences:e.audiences,name:a.name,description:a.description,templateId:a.templateId,metadata:a.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===a.id,widgetTypeId:a.widgetId,yearGroups:e.yearGroups,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:a.preferences,isPlugin:e.isPlugin,settings:e.settings})})))),o&&n.createElement(b,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var I=t(14875),P=t(16714),U=t(183),A=t(67058),w=t(39151),F=t(80889),S=t(63719),x=t(56520),R=t(22902),W=t(79612),N=t(37802),B=t(76753),D=t(99742),G=t(14070),_=t(97291),O=t(68317),j=t(51855),H=t(7179),q=t(27638),M=t(23737),V=t(33192),Q=t(22490),Y=t(82431),z=i.T.encloseNamespace("moviesAndTv.companyDashboard"),Z={videoType:function(e,a){return Q.W.getAppLink(e,Object.assign(Object.assign({},a),{moviesAndTv:!0,context:U.Q.Widget}))},series:Y.j.getSeriesAppLink,subText:function(e){return Y.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:_.O.PLAYLISTS,action:G.e.Playlists.PLAYLIST,args:[e.id,o.m.slugify(e.name)]}},classroomGuide:Q.W.getClassroomGuideAppLink,interactiveGuidance:Q.W.getInteractiveGuidanceAppLink,resourceGuidance:Q.W.getResourceGuidanceAppLink};function $(e){var a,t,i,o=s.a.useBasicFetch(w.L.config()),c=s.a.useBasicFetch(O.h.company(e.companyId)),d=(0,x.R0)(),u=d.openInCurationStudioLabel,p=d.isUserCurator,g=d.getOpenInCurationStudioLink,v=(0,q.u)(l.LZ.ExpandableVideoThumbnail),h=v.setFavourite,b=v.canFavourite,y=(0,R.T)(),C=y.hasPermissions,f=y.hasLocalPermissions,k=(0,j.G)().isPlugin,E=(0,N.r)(null),T=C(P.C.ViewMoviesTv),U=(0,M.y)({targetType:m.ku.Company,queryParams:e.queryParams,presentationSlug:e.presentationSlug,companyId:e.companyId}),Q=U.dashboard,Y=U.presentation,$=U.isPreviewing;(0,W.M)(B.CG.getDefaultMetadata({title:null===(a=c.data)||void 0===a?void 0:a.name,phraseContext:{phraseHandler:z,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:V.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1})),(0,H.P)({id:e.companyId,app:"studios"}),n.useEffect((function(){Q.hasCompleted&&(T&&Q.data||r.Q.C$.trigger({application:_.O.DASHBOARD,action:G.e.Dashboard.HOME},{replace:!0}))}),[T,Q.data,Q.hasCompleted]);var J=(0,S.h)({name:null===(t=c.data)||void 0===t?void 0:t.name});return n.useEffect((function(){Q.hasCompleted&&!Q.data&&r.Q.Ry.throw(new A.d)}),[Q.data,Q.hasCompleted]),n.createElement("div",{className:"position-relative px-4"},!(!$||!Q.data)&&n.createElement(I.a,{status:Q.data.status,type:"company"}),n.createElement(L,{company:c.data,dashboard:Q.data,getWidgetContentRequest:F._.dashboardWidgetContent,getBannerActions:function(){var e,a;return p?[{label:u,href:g(null===(e=c.data)||void 0===e?void 0:e.typeId,null===(a=c.data)||void 0===a?void 0:a.id),openInNewTab:!0}]:[]},imageCdnUrl:null===(i=o.data)||void 0===i?void 0:i.imageCdnUrl,resourceThumbnailFallbackImageUrl:D.W.Fallbacks.RESOURCE_THUMBNAIL,presentation:Y,widgetAppLinks:Z,setFavourite:h,canFavourite:b,getBreadcrumbs:function(){return c.hasCompleted?J:[]},hasPermissions:C,hasLocalPermissions:f,isPlugin:k,settings:E}))}}}]);
2
- //# sourceMappingURL=7234-d1a173cb25-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7234],{56520:(e,a,t)=>{t.d(a,{R0:()=>m,_N:()=>u,eR:()=>p});var n=t(23481),i=t(97395),r=t(20354),s=t(42617),o=t(4594),l=t(39151),c=t(31949),d=n.T.encloseNamespace("shared.hooks");function u(e,a,t,n){var r=i._.safeUrlConcat(e,"manage"),s=i._.safeUrlConcat(e,"exchange"),l=function(e,a,t){return i._.safeUrlConcat(e,"".concat(a,"/").concat(t))};switch(a){case o.E.Subject:return i._.safeUrlConcat(r,"subjects/presentations/".concat(n,"/classifications/").concat(t,"/edit"));case o.E.Video:return l(r,"videos",t);case o.E.Playlist:return l(r,"playlists",t);case o.E.Series:return l(r,"series",t);case o.E.Company:return l(r,"companies",t);case o.E.Interactive:return l(r,"interactives",t);case o.E.Clip:return l(r,"clips",t);case o.E.Category:return l(s,"categories",t)}}function p(){return d("openInCurationStudio")}function m(){var e,a,t=r.a.useBasicFetch(c.N.currentUser()),n=r.a.useBasicFetch((null===(e=t.data)||void 0===e?void 0:e.id)&&c.N.groups(null===(a=t.data)||void 0===a?void 0:a.id)).data,i=r.a.useBasicFetch(l.L.config()),o=[s.j.Curator,s.j.Content,s.j.Developer];return{openInCurationStudioLabel:p(),isUserCurator:o.some((function(e){return null==n?void 0:n.data.find((function(a){return a.name===e}))})),getOpenInCurationStudioLink:function(e,a,t){var n;return u(null===(n=i.data)||void 0===n?void 0:n.curatorUrl,e,a,t)}}}},60008:(e,a,t)=>{t.r(a),t.d(a,{CompanyDashboardView:()=>J});var n=t(32735),i=t(23481),r=t(81886),s=t(20354),o=t(28400),l=t(65858),c=t(75896),d=t(23232),u=t(83345),p=t(36532),m=t(40424),g=t(35223),v="moviesAndTv.companyDashboardEmptyState",h=i.T.encloseNamespace(v);function b(e){var a,t,r=(null===(a=e.dashboard)||void 0===a?void 0:a.status)===m.GL.Archived;return n.createElement(d.u,null,n.createElement(d.u.Image,{src:e.imageUrl,altText:h("info")}),n.createElement(d.u.Heading,null,n.createElement(u.x,{namespace:v,phrase:"heading"})),n.createElement(d.u.Info,null,n.createElement(u.x,{namespace:v,phrase:"info"})),n.createElement(p.u,{title:r?i.T.getPhrase(v,"archivedCtaTooltip"):"",spanHack:!0},n.createElement(d.u.Cta,{text:i.T.getPhrase(v,"add"),appLink:null===(t=e.addWidgetApplink)||void 0===t?void 0:t.call(e),className:"btn btn-dark",icon:g.vn.Plus,disabled:r})))}var C=t(44522),y=t(49935),f=t(19889),k=t(7733),E=t(21366),T=t(9085);function L(e){var a,t,i,r=c.m.sortBy(null===(a=e.dashboard)||void 0===a?void 0:a.widgets,"index");function s(a,t,n){var i=E.S.getWidgetParams(t,n,E.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(a,i,n)}var o=e.isReadonly&&!(null==r?void 0:r.length);return n.createElement(n.Fragment,null,!!r.length&&n.createElement(n.Fragment,null,e.company?n.createElement(C.p,{heading:e.company.name,banner:e.company.banner,imageCdnUrl:e.imageCdnUrl,blockColourClass:(0,T.x)(e.company.name,k.o),actions:null===(t=e.getBannerActions)||void 0===t?void 0:t.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):n.createElement(C.v,null),n.createElement("div",{className:"py-3 mb-3 border-bottom"},n.createElement(y.Oo,{breadcrumbs:null===(i=e.getBreadcrumbs)||void 0===i?void 0:i.call(e)})),n.createElement("div",{className:"mt-3"},r.map((function(a){return n.createElement(f.L,{key:a.id,id:a.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:s,audiences:e.audiences,name:a.name,description:a.description,templateId:a.templateId,metadata:a.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===a.id,widgetTypeId:a.widgetId,yearGroups:e.yearGroups,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:a.preferences,isPlugin:e.isPlugin,settings:e.settings})})))),o&&n.createElement(b,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var I=t(14875),P=t(16714),U=t(183),A=t(67058),F=t(39151),w=t(80889),S=t(31949),x=t(63719),R=t(56520),W=t(22902),N=t(79612),B=t(37802),D=t(76753),G=t(99742),_=t(14070),O=t(97291),j=t(68317),H=t(51855),q=t(7179),M=t(27638),V=t(23737),Q=t(33192),Y=t(22490),z=t(82431),Z=i.T.encloseNamespace("moviesAndTv.companyDashboard");function $(e){return{videoType:function(a,t){return Y.W.getAppLink(a,Object.assign(Object.assign({},t),{moviesAndTv:!0,context:U.Q.Widget,includeContext:e.isAuthenticated}))},series:z.j.getSeriesAppLink,subText:function(e){return z.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:O.O.PLAYLISTS,action:_.e.Playlists.PLAYLIST,args:[e.id,o.m.slugify(e.name)]}},classroomGuide:Y.W.getClassroomGuideAppLink,interactiveGuidance:Y.W.getInteractiveGuidanceAppLink,resourceGuidance:Y.W.getResourceGuidanceAppLink}}function J(e){var a,t,i,o=s.a.useBasicFetch(F.L.config()),c=s.a.useBasicFetch(j.h.company(e.companyId)),d=s.a.useBasicFetch(S.N.currentUser()),u=(0,R.R0)(),p=u.openInCurationStudioLabel,g=u.isUserCurator,v=u.getOpenInCurationStudioLink,h=(0,M.u)(l.LZ.ExpandableVideoThumbnail),b=h.setFavourite,C=h.canFavourite,y=(0,W.T)(),f=y.hasPermissions,k=y.hasLocalPermissions,E=(0,H.G)().isPlugin,T=(0,B.r)(null),U=f(P.C.ViewMoviesTv),Y=(0,V.y)({targetType:m.ku.Company,queryParams:e.queryParams,presentationSlug:e.presentationSlug,companyId:e.companyId}),z=Y.dashboard,J=Y.presentation,K=Y.isPreviewing;(0,N.M)(D.CG.getDefaultMetadata({title:null===(a=c.data)||void 0===a?void 0:a.name,phraseContext:{phraseHandler:Z,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:Q.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1})),(0,q.P)({id:e.companyId,app:"studios"}),n.useEffect((function(){z.hasCompleted&&(U&&z.data||r.Q.C$.trigger({application:O.O.DASHBOARD,action:_.e.Dashboard.HOME},{replace:!0}))}),[U,z.data,z.hasCompleted]);var X=(0,x.h)({name:null===(t=c.data)||void 0===t?void 0:t.name});return n.useEffect((function(){z.hasCompleted&&!z.data&&r.Q.Ry.throw(new A.d)}),[z.data,z.hasCompleted]),n.createElement("div",{className:"position-relative px-4"},!(!K||!z.data)&&n.createElement(I.a,{status:z.data.status,type:"company"}),n.createElement(L,{company:c.data,dashboard:z.data,getWidgetContentRequest:w._.dashboardWidgetContent,getBannerActions:function(){var e,a;return g?[{label:p,href:v(null===(e=c.data)||void 0===e?void 0:e.typeId,null===(a=c.data)||void 0===a?void 0:a.id),openInNewTab:!0}]:[]},imageCdnUrl:null===(i=o.data)||void 0===i?void 0:i.imageCdnUrl,resourceThumbnailFallbackImageUrl:G.W.Fallbacks.RESOURCE_THUMBNAIL,presentation:J,widgetAppLinks:$(d.data),setFavourite:b,canFavourite:C,getBreadcrumbs:function(){return c.hasCompleted?X:[]},hasPermissions:f,hasLocalPermissions:k,isPlugin:E,settings:T}))}}}]);
2
+ //# sourceMappingURL=7234-8664150dd4-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/7234-8664150dd4-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/hooks/useCurationStudio.ts","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState.tsx","file:///app/packages/libs/shared/src/apps/movies-and-tv/components/company-dashboard/CompanyDashboard.tsx","file:///app/packages/projects/lite/src/apps/movies-and-tv/views/company-dashboard/CompanyDashboardView.tsx"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CuratorGroup } from 'libs/shared/enums/CuratorGroup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CuratorUserGroupCollection, CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getOpenInCurationStudioLink(\n baseUrl: string,\n objectType: MasterType | string,\n id: string,\n presentationId?: string\n) {\n const baseManageUrl = UrlHelper.safeUrlConcat(baseUrl, 'manage');\n const baseExchangeUrl = UrlHelper.safeUrlConcat(baseUrl, 'exchange');\n const href = (baseUrl: string, objectType: string, id: string) => UrlHelper.safeUrlConcat(baseUrl, `${objectType}/${id}`);\n\n switch (objectType) {\n case MasterType.Subject:\n return UrlHelper.safeUrlConcat(baseManageUrl, `subjects/presentations/${presentationId}/classifications/${id}/edit`);\n case MasterType.Video:\n return href(baseManageUrl, 'videos', id);\n case MasterType.Playlist:\n return href(baseManageUrl, 'playlists', id);\n case MasterType.Series:\n return href(baseManageUrl, 'series', id);\n case MasterType.Company:\n return href(baseManageUrl, 'companies', id);\n case MasterType.Interactive:\n return href(baseManageUrl, 'interactives', id);\n case MasterType.Clip:\n return href(baseManageUrl, 'clips', id);\n case MasterType.Category:\n return href(baseExchangeUrl, 'categories', id);\n }\n}\n\nexport function getOpenInCurationStudioLabel(): string {\n return getPhrase('openInCurationStudio');\n}\n\nexport function useCurationStudio() {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { data: userGroups } = Flight.useBasicFetch<CuratorUserGroupCollection>(\n (currentUser.data?.id) && UserRequests.groups(currentUser.data?.id)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n \n const curatorGroups = [ CuratorGroup.Curator, CuratorGroup.Content, CuratorGroup.Developer ];\n\n function isUserCurator(): boolean {\n return curatorGroups.some(group => userGroups?.data.find(userGroup => userGroup.name === group));\n }\n\n return {\n openInCurationStudioLabel: getOpenInCurationStudioLabel(),\n isUserCurator: isUserCurator(),\n getOpenInCurationStudioLink: (objectType: MasterType | string, id: string, presentationId?: string) =>\n getOpenInCurationStudioLink(config.data?.curatorUrl, objectType, id, presentationId)\n };\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'moviesAndTv.companyDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CompanyDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function CompanyDashboardEmptyState(props: CompanyDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('info')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={cvSvgLibrary.Plus}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { CompanyDashboardEmptyState } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/empty-state/CompanyDashboardEmptyState';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoSubTextType } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { WidgetAppLinks } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { CanFavouriteFunc, Company, CuratedDashboard, CuratedWidgetQueryParams, FavouriteFunc, Presentation, PresentationAudience, YearGroup } from 'libs/shared/interfaces';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\n\ninterface CompanyDashboardProps {\n dashboard: CuratedDashboard;\n company: Company;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate\n ) => Flight.Request;\n imageCdnUrl: string;\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n resourceThumbnailFallbackImageUrl: string;\n audiences?: PresentationAudience[];\n emptyImageUrl?: string;\n presentation: Presentation;\n setFavourite?: FavouriteFunc;\n canFavourite?: CanFavouriteFunc;\n widgetAppLinks?: WidgetAppLinks;\n scrollToWidgetId?: string;\n isReadonly?: boolean;\n yearGroups?: YearGroup[];\n getBreadcrumbs?: () => Breadcrumb[];\n getBannerActions?: () => ActionOptions[];\n companyLogoFallbackUrl?: string;\n subTextType?: VideoSubTextType;\n isPlugin: boolean;\n settings?: SettingsHash;\n}\n\nexport function CompanyDashboard(props: CompanyDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template);\n }\n\n const showEmptyState = props.isReadonly && !widgets?.length;\n\n return (\n <>\n {!!widgets.length &&\n <>\n {props.company\n ? (\n <BannerHeader\n heading={props.company.name}\n banner={props.company.banner}\n imageCdnUrl={props.imageCdnUrl}\n blockColourClass={getBgColorClass(props.company.name, BG_COLOUR_CLASS_NAMES)}\n actions={props.getBannerActions?.()}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n ) : <PartialBannerHeader />\n }\n\n <div className='py-3 mb-3 border-bottom'>\n <Breadcrumbs breadcrumbs={props.getBreadcrumbs?.()} />\n </div>\n\n <div className='mt-3'>\n {widgets.map(widget => {\n return (\n <WidgetContainerView\n key={widget.id}\n id={widget.id}\n imageCdnUrl={props.imageCdnUrl}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n presentation={props.presentation}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n yearGroups={props.yearGroups}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n isPreviewing={props.isReadonly}\n companyLogoFallbackUrl={props.companyLogoFallbackUrl}\n subTextType={props.subTextType}\n resourceThumbnailFallbackImageUrl={props.resourceThumbnailFallbackImageUrl}\n preferences={widget.preferences}\n isPlugin={props.isPlugin}\n settings={props.settings}\n />\n );\n })}\n </div>\n </>\n }\n\n {showEmptyState && (\n <CompanyDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { CompanyDashboard } from 'libs/shared/apps/movies-and-tv/components/company-dashboard/CompanyDashboard';\nimport { PreviewBanner } from 'libs/shared/apps/subjects/components/preview-banner/PreviewBanner';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { WidgetAppLinks } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Company, Config, CurrentUser, DashboardTargetType, Playlist, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'moviesAndTv.companyDashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getCompanyAppLinks(currentUser: CurrentUser): WidgetAppLinks {\n return {\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n moviesAndTv: true,\n context: RelatedVideosContext.Widget,\n includeContext: currentUser.isAuthenticated\n })\n ),\n \n series: SeriesAppLinkHelper.getSeriesAppLink,\n \n subText: (video: Video) => SeriesAppLinkHelper.getSeriesAppLink(video.series),\n \n playlist: (playlist: Playlist) => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\n }),\n \n classroomGuide: VideoAppLinkHelper.getClassroomGuideAppLink,\n interactiveGuidance: VideoAppLinkHelper.getInteractiveGuidanceAppLink,\n resourceGuidance: VideoAppLinkHelper.getResourceGuidanceAppLink\n };\n}\n\ninterface CompanyDashboardViewProps {\n presentationSlug: string;\n companyId: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function CompanyDashboardView(props: CompanyDashboardViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const company = Flight.useBasicFetch<Company>(CompanyRequests.company(props.companyId));\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.ExpandableVideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n const settings = useSettings(null);\n const hasMoviesAndTv = hasPermissions(PermissionName.ViewMoviesTv);\n\n const {\n dashboard,\n presentation,\n isPreviewing\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Company,\n queryParams: props.queryParams,\n presentationSlug: props.presentationSlug,\n companyId: props.companyId\n });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: company.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: false\n }));\n\n useDeepLinks({ id: props.companyId, app: 'studios' });\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted)\n return;\n\n if (hasMoviesAndTv && dashboard.data)\n return;\n\n Core.AppLinkHelper.trigger(\n { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME },\n { replace: true }\n );\n }, [ hasMoviesAndTv, dashboard.data, dashboard.hasCompleted ]);\n\n const breadcrumbs = useBreadcrumbs({ name: company.data?.name });\n function getBreadcrumbs(): Breadcrumb[] {\n if (!company.hasCompleted)\n return [];\n\n return breadcrumbs;\n }\n\n function getBannerActions(): ActionOptions[] {\n if (!isUserCurator)\n return [];\n\n return [{\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(company.data?.typeId, company.data?.id),\n openInNewTab: true\n }];\n }\n\n React.useEffect(() => {\n if (!dashboard.hasCompleted || dashboard.data)\n return;\n\n Core.ErrorHelper.throw(new NotFoundError());\n }, [ dashboard.data, dashboard.hasCompleted ]);\n\n return (\n <div className='position-relative px-4'>\n {!!(isPreviewing && dashboard.data) && <PreviewBanner status={dashboard.data.status} type='company' />}\n <CompanyDashboard\n company={company.data}\n dashboard={dashboard.data}\n getWidgetContentRequest={DashboardRequests.dashboardWidgetContent}\n getBannerActions={getBannerActions}\n imageCdnUrl={config.data?.imageCdnUrl}\n resourceThumbnailFallbackImageUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n presentation={presentation}\n widgetAppLinks={getCompanyAppLinks(currentUser.data)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n getBreadcrumbs={getBreadcrumbs}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n isPlugin={isPlugin}\n settings={settings}\n />\n </div>\n );\n}"],"names":["getPhrase","baseUrl","objectType","id","presentationId","baseManageUrl","baseExchangeUrl","href","getOpenInCurationStudioLabel","useCurationStudio","currentUser","userGroups","data","config","curatorGroups","Curator","openInCurationStudioLabel","isUserCurator","some","group","find","userGroup","name","getOpenInCurationStudioLink","curatorUrl","namespace","LanguageService","CompanyDashboardEmptyState","props","isArchived","dashboard","status","EmptyState","src","imageUrl","altText","Text","phrase","Tooltip","title","spanHack","text","appLink","addWidgetApplink","className","icon","disabled","CompanyDashboard","widgets","ArrayHelper","getWidgetContentRequest","widgetTypeId","template","params","showEmptyState","isReadonly","length","company","BannerHeader","heading","banner","imageCdnUrl","blockColourClass","getBgColorClass","actions","getBannerActions","actionsDropdownClassName","Breadcrumbs","breadcrumbs","getBreadcrumbs","map","widget","WidgetContainerView","key","getContentRequest","audiences","description","templateId","metadata","presentation","setFavourite","canFavourite","appLinks","widgetAppLinks","isScrollToTargetWidget","scrollToWidgetId","widgetId","yearGroups","hasPermissions","hasLocalPermissions","isPreviewing","companyLogoFallbackUrl","subTextType","resourceThumbnailFallbackImageUrl","preferences","isPlugin","settings","emptyImageUrl","widgetWizard","getCompanyAppLinks","videoType","video","opts","VideoAppLinkHelper","moviesAndTv","context","RelatedVideosContext","includeContext","isAuthenticated","series","SeriesAppLinkHelper","subText","playlist","application","action","args","TextHelper","classroomGuide","interactiveGuidance","resourceGuidance","CompanyDashboardView","ConfigRequests","CompanyRequests","companyId","UserRequests","useLiteFavourites","u","usePermissions","usePluginHelper","useSettings","hasMoviesAndTv","PermissionName","targetType","queryParams","presentationSlug","useSetPageMetadata","PageMetadataHelper","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","allowIndexing","useDeepLinks","app","hasCompleted","replace","useBreadcrumbs","NotFoundError","PreviewBanner","type","DashboardRequests","label","typeId","openInNewTab","ImageUrls"],"sourceRoot":""}