@clickview/lite 0.67.0-rc.5 → 0.67.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 (64) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{6822-lite-c32c06fff9.chunk.css → 1319-lite-f181681870.chunk.css} +1 -0
  3. package/dist/css/{1265-lite-cf5a64d933.chunk.css → 2205-lite-daccc93768.chunk.css} +1 -0
  4. package/dist/css/3407-lite-2b6d2c3596.chunk.css +1 -0
  5. package/dist/css/{1928-lite-7535155363.chunk.css → 3657-lite-30c63783c6.chunk.css} +1 -0
  6. package/dist/css/4205-lite-2b6d2c3596.chunk.css +1 -0
  7. package/dist/css/{6264-lite-6c16dff355.chunk.css → 4586-lite-2b4142796a.chunk.css} +1 -0
  8. package/dist/css/{3192-lite-dca2cbecd4.chunk.css → 5259-lite-c43d17524f.chunk.css} +1 -0
  9. package/dist/css/{2613-lite-2b363e89ec.chunk.css → 897-lite-49388db199.chunk.css} +1 -0
  10. package/dist/css/{lite-app-d8fa7e0f98.css → lite-app-d2e53316e7.css} +5 -6
  11. package/dist/scripts/{6822-e059388f0e-lite.chunk.js → 1319-44debe2be5-lite.chunk.js} +2 -2
  12. package/dist/scripts/{6822-e059388f0e-lite.chunk.js.map → 1319-44debe2be5-lite.chunk.js.map} +1 -1
  13. package/dist/scripts/{1265-1c11ef03e1-lite.chunk.js → 2205-7596edf3ff-lite.chunk.js} +3 -3
  14. package/dist/scripts/2205-7596edf3ff-lite.chunk.js.map +1 -0
  15. package/dist/scripts/{2564-b38ceabfc3-lite.chunk.js → 2564-7758fc9a23-lite.chunk.js} +2 -2
  16. package/dist/scripts/{2564-b38ceabfc3-lite.chunk.js.map → 2564-7758fc9a23-lite.chunk.js.map} +1 -1
  17. package/dist/scripts/3407-d7bb190086-lite.chunk.js +2 -0
  18. package/dist/scripts/3407-d7bb190086-lite.chunk.js.map +1 -0
  19. package/dist/scripts/{1928-2bdfd44f43-lite.chunk.js → 3657-9ab3ea0e92-lite.chunk.js} +2 -2
  20. package/dist/scripts/{1928-2bdfd44f43-lite.chunk.js.map → 3657-9ab3ea0e92-lite.chunk.js.map} +1 -1
  21. package/dist/scripts/{3978-e86c2d54be-lite.chunk.js → 3978-ef3884cfe5-lite.chunk.js} +2 -2
  22. package/dist/scripts/{3978-e86c2d54be-lite.chunk.js.map → 3978-ef3884cfe5-lite.chunk.js.map} +1 -1
  23. package/dist/scripts/4205-b37ae8ccb9-lite.chunk.js +3 -0
  24. package/dist/scripts/4205-b37ae8ccb9-lite.chunk.js.map +1 -0
  25. package/dist/scripts/{6264-4b52686f8d-lite.chunk.js → 4586-f9ab450399-lite.chunk.js} +2 -2
  26. package/dist/scripts/{6264-4b52686f8d-lite.chunk.js.map → 4586-f9ab450399-lite.chunk.js.map} +1 -1
  27. package/dist/scripts/{3192-5fafe73839-lite.chunk.js → 5259-c1be5e460a-lite.chunk.js} +2 -2
  28. package/dist/scripts/{3192-5fafe73839-lite.chunk.js.map → 5259-c1be5e460a-lite.chunk.js.map} +1 -1
  29. package/dist/scripts/{5722-2704be9eac-lite.chunk.js → 5722-ffeb02c053-lite.chunk.js} +2 -2
  30. package/dist/scripts/5722-ffeb02c053-lite.chunk.js.map +1 -0
  31. package/dist/scripts/6450-8f22c3d427-lite.chunk.js +2 -0
  32. package/dist/scripts/6450-8f22c3d427-lite.chunk.js.map +1 -0
  33. package/dist/scripts/6919-afa7705c12-lite.chunk.js +2 -0
  34. package/dist/scripts/{2121-aec96064d1-lite.chunk.js.map → 6919-afa7705c12-lite.chunk.js.map} +1 -1
  35. package/dist/scripts/{7318-20bc42718d-lite.chunk.js → 7318-bf6bb0e9f7-lite.chunk.js} +2 -2
  36. package/dist/scripts/{7318-20bc42718d-lite.chunk.js.map → 7318-bf6bb0e9f7-lite.chunk.js.map} +1 -1
  37. package/dist/scripts/7426-c64273c529-lite.chunk.js +3 -0
  38. package/dist/scripts/7426-c64273c529-lite.chunk.js.map +1 -0
  39. package/dist/scripts/897-10a911aed5-lite.chunk.js +2 -0
  40. package/dist/scripts/897-10a911aed5-lite.chunk.js.map +1 -0
  41. package/dist/scripts/9630-871c10832c-lite.chunk.js +3 -0
  42. package/dist/scripts/9630-871c10832c-lite.chunk.js.LICENSE.txt +1 -0
  43. package/dist/scripts/9630-871c10832c-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{bundle-60e5e2f3ee.min.js → bundle-3fed522614.min.js} +3 -3
  45. package/dist/scripts/{bundle-60e5e2f3ee.min.js.map → bundle-3fed522614.min.js.map} +1 -1
  46. package/package.json +1 -1
  47. package/dist/scripts/1265-1c11ef03e1-lite.chunk.js.map +0 -1
  48. package/dist/scripts/1477-fa0f6cc194-lite.chunk.js +0 -2
  49. package/dist/scripts/1477-fa0f6cc194-lite.chunk.js.map +0 -1
  50. package/dist/scripts/2121-aec96064d1-lite.chunk.js +0 -2
  51. package/dist/scripts/2613-3d81a10b0b-lite.chunk.js +0 -2
  52. package/dist/scripts/2613-3d81a10b0b-lite.chunk.js.map +0 -1
  53. package/dist/scripts/4005-d961c9bbff-lite.chunk.js +0 -3
  54. package/dist/scripts/4005-d961c9bbff-lite.chunk.js.map +0 -1
  55. package/dist/scripts/5722-2704be9eac-lite.chunk.js.map +0 -1
  56. package/dist/scripts/7426-f704b4187d-lite.chunk.js +0 -3
  57. package/dist/scripts/7426-f704b4187d-lite.chunk.js.map +0 -1
  58. package/dist/scripts/9630-94751b1994-lite.chunk.js +0 -2
  59. package/dist/scripts/9630-94751b1994-lite.chunk.js.map +0 -1
  60. /package/dist/scripts/{1265-1c11ef03e1-lite.chunk.js.LICENSE.txt → 2205-7596edf3ff-lite.chunk.js.LICENSE.txt} +0 -0
  61. /package/dist/scripts/{2564-b38ceabfc3-lite.chunk.js.LICENSE.txt → 2564-7758fc9a23-lite.chunk.js.LICENSE.txt} +0 -0
  62. /package/dist/scripts/{4005-d961c9bbff-lite.chunk.js.LICENSE.txt → 4205-b37ae8ccb9-lite.chunk.js.LICENSE.txt} +0 -0
  63. /package/dist/scripts/{7426-f704b4187d-lite.chunk.js.LICENSE.txt → 7426-c64273c529-lite.chunk.js.LICENSE.txt} +0 -0
  64. /package/dist/scripts/{bundle-60e5e2f3ee.min.js.LICENSE.txt → bundle-3fed522614.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6264],{44522:(e,a,n)=>{n.d(a,{p:()=>T,v:()=>y});var t=n(32735),o=n(110),i=n(50690),l=n(84963),r=n(73679),c=n(83657),s=n(23481),d=n(36848),m=n(83914),u=n(35223),p="shared.backButton";function v(e){var a=Object.assign({textShadow:!0},e),n=a.backToName,o=a.appLink,i=a.color,l=a.extraClasses,r=a.textShadow,c=n?s.T.getPhrase(p,"backTo",{backToName:n}):s.T.getPhrase(p,"back"),v="black"===i?"":"text-white",g=r?"text-shadow":"";return t.createElement(d.F,{appLink:o,className:"d-inline-flex align-items-center h5 mb-0 ".concat(l," ").concat(v," ").concat(g)},t.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),t.createElement("span",{className:"ms-1"},c))}v.defaultProps={color:"black",extraClasses:""};var g=n(36518),h=n(83345),b=n(7733),f=n(10587),C=n(94232),E=n(54610),k=n(79967),x=n(9085),L=n(67453);const N={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(f.y[E.__.Banners].width,":").concat(f.y[E.__.Banners].height);function D(e){return e.length<160?"h1":N.headingLarge}var T=t.memo((function(e){var a,n,s,d,m=e.heading,u=e.banner,p=e.imageCdnUrl,f=e.actions,T=e.sortComponent,y=e.blockColourClass,M=e.specialEvent,B=t.useContext(C.n),O=(0,k.k)().xxl?1920:1200,P=t.useMemo((function(){if(!M||e.showComingSoon)return!1;var a=o.O.format(new Date,"YYYY-MM-DD");return M.endDate?M.startDate<=a&&M.endDate>=a:M.startDate===a}),[M]),I=e.imageOptions||{width:O,ratio:w,resizeType:E.Nq.Cover},S=!!u&&!!p&&L.j.createBannerUrl(u,{fallbackBaseUrl:p,fallbackCategoryName:m,type:E.__.Banners},I),_={className:"banner banner-header ".concat(e.bannerClassName),style:S?{backgroundImage:"url('".concat(S,"')")}:{}};!u&&y&&(delete _.style,_.className+=" ".concat(y));var j=e.detailsComponent,A=(0,x.x)(e.heading,b.o);return i.b.renderInPortalIfExists(t.createElement("header",Object.assign({},_),t.createElement("div",{className:"container ".concat(N.container," position-relative inner-banner")},e.backButtonAppLink&&t.createElement("div",{className:"pt-3"},t.createElement(v,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),t.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(N.bannerContent," px-2 ").concat((null===(a=e.logo)||void 0===a?void 0:a.url)?N.bannerContentWithLogo:""))},!!M&&t.createElement("div",{className:"position-relative ".concat(N.specialEventContainer)},t.createElement(r.s,{body:{type:M.endDate?"range":"day",text:M.endDate?"".concat(o.O.format(M.startDate,"DD"),"-").concat(o.O.format(M.endDate,"DD")):o.O.format(M.startDate,"DD")},month:function(e){return e.endDate?o.O.isSame(e.startDate,e.endDate,"month")?o.O.format(e.startDate,"MMMM"):"".concat(o.O.format(e.startDate,"MMM")," - ").concat(o.O.format(e.endDate,"MMM")):o.O.format(e.startDate,"MMMM")}(M),theme:e.calendarTheme})),t.createElement("div",null,P&&t.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},t.createElement(h.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&t.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),t.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(n=e.logo)||void 0===n?void 0:n.url)&&t.createElement("div",{className:"".concat(N.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(A)},t.createElement(g.w,{src:L.j.createUrl(null===(s=e.logo)||void 0===s?void 0:s.url,{size:E.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),t.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(N.heading," ").concat(D(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,j&&t.createElement(j,null)))),!!f&&t.createElement("div",{className:N.actionsContainer},t.createElement(c.e,{actions:f,sortComponent:T,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&t.createElement("div",{className:N.logoContainer},t.createElement("img",{src:L.j.createUrl(e.logo.url,{size:E.h2.Medium}),className:"rounded-circle"})))),null==B?void 0:B.container)}),(function(e,a){var n,t;return e.actions===a.actions&&e.heading===a.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(t=a.logo)||void 0===t?void 0:t.url)}));function y(){var e=t.useContext(C.n);return i.b.renderInPortalIfExists(t.createElement("div",{className:"partial-banner partial-loading-background ".concat(N.banner)}),null==e?void 0:e.container)}},97461:(e,a,n)=>{n.r(a),n.d(a,{PresentationTopicsView:()=>U});var t=n(32735),o=n(23481),i=n(20354),l=n(65858),r=n(36848),c=n(44522),s=n(49935),d=n(10874),m=n(83345),u=n(47770),p=n(30662),v=n(65163),g=n(9513),h=n(54610),b=n(12754),f=n(78479),C=n(42308),E=n(21750),k=n(39151),x=n(79967),L=n(15311),N=n(79612),w=n(37802),D=n(35223),T=n(87114),y=n(14070),M=n(97291),B=n(86698),O=n(33192),P=n(23923),I=(n(28400),n(34181)),S=function(e){return function(a){return(null==a?void 0:a.id)?I.L.getAppLink(a,e||{}):null}};const _={classificationPane:"ftCMX"};var j="subjects.presentationTopics",A=o.T.encloseNamespace(j);function U(e){var a,n,o,I,U,F,z,H,J,V=(0,w.r)(null).hasTopicDirectories,W=(0,x.k)(),Y=i.a.useBasicFetch(k.L.config()),Q=(0,B.y)(),R=Q.availablePresentations,q=Q.activePresentation,X=Q.hasPresentationsLoaded,Z=Q.canAccessPresentation,K=(0,P.B)(),G=(0,L.r)(),$=e.presentationId||(null==q?void 0:q.id),ee=i.a.useBasicFetch($&&E.x.presentationById($)),ae=ee.hasCompleted&&X,ne={name:T.i.getExploreAllTopicsTitle(null===(a=ee.data)||void 0===a?void 0:a.name,null==R?void 0:R.length),banner:{url:T.i.getPresentationLevelImage(null===(n=ee.data)||void 0===n?void 0:n.learningLevel,"topic-banner")}},te=i.a.useBasicFetch(ae&&E.x.topLevelTopics($||(null===(o=ee.data)||void 0===o?void 0:o.id))),oe=A("pageTitleSubject",{title:null===(I=ee.data)||void 0===I?void 0:I.name});(0,N.M)({title:oe,description:A("pageDescription",{title:null===(U=ee.data)||void 0===U?void 0:U.name}),canonicalLink:O.f.getCanonicalLink(),allowIndexing:O.f.allowIndexing()});var ie=S();var le=!!Y.data&&!!R&&te.data,re=Z(null===(F=ee.data)||void 0===F?void 0:F.id),ce={presentationId:null===(z=ee.data)||void 0===z?void 0:z.id,presentationName:null===(H=ee.data)||void 0===H?void 0:H.name,widgetId:C.z.Classifications,templateId:f.f.CoverFixedPillListLarge},se=V?p.q:u.K;return t.createElement("main",{className:"bg-white px-4"},le?t.createElement(c.p,{heading:null==ne?void 0:ne.name,banner:null==ne?void 0:ne.banner,imageCdnUrl:Y.data.imageCdnUrl,imageOptions:{size:h.h2.Large}}):t.createElement(c.v,null),t.createElement("div",{className:"py-3 mb-3 ".concat(re?"border-bottom":"")},re?le?t.createElement(s.Oo,{breadcrumbs:function(){var e;return[{name:A("discover"),appLink:{application:M.O.DASHBOARD,action:y.e.Dashboard.HOME}},{name:T.i.getExploreAllTopicsBreadcrumb(null===(e=ee.data)||void 0===e?void 0:e.name,null==R?void 0:R.length),active:!0}]}()}):t.createElement(s.b2,null):t.createElement(t.Fragment,null)),t.createElement("div",{className:_.classificationPane},le?t.createElement(se,{id:null===(J=ee.data)||void 0===J?void 0:J.id,name:"",description:"",analyticsData:ce,content:null==te?void 0:te.data,appLinks:{classification:ie},hasTableOfContents:!1,settings:{hasTopicDirectories:V},isTertiaryCustomerWithoutExchange:K&&!(null==G?void 0:G.hasProduct(b.x.Exchange)),onToggleFollowClassification:function(){}}):t.createElement(v.QL,{partialLoadingComponent:g.Qh}),le&&V&&(null==R?void 0:R.length)>1&&t.createElement("ul",{className:"pt-3 list-unstyled"},R.filter((function(e){var a;return e.id!==(null===(a=ee.data)||void 0===a?void 0:a.id)})).map((function(e){var a,n,o;return t.createElement("li",{key:e.id},t.createElement(r.F,{className:"d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ".concat(_.link," ").concat(T.i.getMappedPresentationBackgroundColourClass(null==e?void 0:e.learningLevel)),appLink:{application:M.O.SUBJECT,action:y.e.Subjects.PRESENTATION_TOPICS,params:{presentationId:e.id}},appLinkOptions:{middlewareOptions:{presentationSlug:e.vanitySlug}},analyticsData:{id:e.id,name:e.name,description:e.description,currentPresentationId:null===(a=ee.data)||void 0===a?void 0:a.id,currentPresentationName:null===(n=ee.data)||void 0===n?void 0:n.name,currentPresentationDescription:null===(o=ee.data)||void 0===o?void 0:o.description},analyticsOptions:{entity:l.py.Presentation,actionType:l.Vw.Click,location:l.LZ.PresentationClassifications}},t.createElement("div",{className:"h4 text-shadow mb-0"},R.length>2||W.sm||W.xs?t.createElement(m.x,{namespace:j,phrase:"multiPresentationBanner",options:{name:e.name}}):t.createElement(m.x,{namespace:j,phrase:"singlePresentationBanner",options:{name:e.name}})),t.createElement(d.h,{svgName:W.xs?D.vn.Sparkle:D.vn.School,openInNewTab:!0,className:"btn btn-outline-dark",onClick:null},t.createElement(m.x,{namespace:j,phrase:W.xs?"explore":"changeTo",options:{name:e.name}}))))})))))}}}]);
2
- //# sourceMappingURL=6264-4b52686f8d-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4586],{44522:(e,a,n)=>{n.d(a,{p:()=>T,v:()=>y});var t=n(32735),o=n(110),i=n(50690),l=n(84963),r=n(73679),c=n(83657),s=n(23481),d=n(36848),m=n(83914),u=n(35223),p="shared.backButton";function v(e){var a=Object.assign({textShadow:!0},e),n=a.backToName,o=a.appLink,i=a.color,l=a.extraClasses,r=a.textShadow,c=n?s.T.getPhrase(p,"backTo",{backToName:n}):s.T.getPhrase(p,"back"),v="black"===i?"":"text-white",g=r?"text-shadow":"";return t.createElement(d.F,{appLink:o,className:"d-inline-flex align-items-center h5 mb-0 ".concat(l," ").concat(v," ").concat(g)},t.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),t.createElement("span",{className:"ms-1"},c))}v.defaultProps={color:"black",extraClasses:""};var g=n(36518),h=n(83345),b=n(7733),f=n(10587),C=n(94232),E=n(54610),k=n(79967),x=n(9085),L=n(67453);const N={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(f.y[E.__.Banners].width,":").concat(f.y[E.__.Banners].height);function D(e){return e.length<160?"h1":N.headingLarge}var T=t.memo((function(e){var a,n,s,d,m=e.heading,u=e.banner,p=e.imageCdnUrl,f=e.actions,T=e.sortComponent,y=e.blockColourClass,M=e.specialEvent,B=t.useContext(C.n),O=(0,k.k)().xxl?1920:1200,P=t.useMemo((function(){if(!M||e.showComingSoon)return!1;var a=o.O.format(new Date,"YYYY-MM-DD");return M.endDate?M.startDate<=a&&M.endDate>=a:M.startDate===a}),[M]),I=e.imageOptions||{width:O,ratio:w,resizeType:E.Nq.Cover},S=!!u&&!!p&&L.j.createBannerUrl(u,{fallbackBaseUrl:p,fallbackCategoryName:m,type:E.__.Banners},I),_={className:"banner banner-header ".concat(e.bannerClassName),style:S?{backgroundImage:"url('".concat(S,"')")}:{}};!u&&y&&(delete _.style,_.className+=" ".concat(y));var j=e.detailsComponent,A=(0,x.x)(e.heading,b.o);return i.b.renderInPortalIfExists(t.createElement("header",Object.assign({},_),t.createElement("div",{className:"container ".concat(N.container," position-relative inner-banner")},e.backButtonAppLink&&t.createElement("div",{className:"pt-3"},t.createElement(v,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),t.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(N.bannerContent," px-2 ").concat((null===(a=e.logo)||void 0===a?void 0:a.url)?N.bannerContentWithLogo:""))},!!M&&t.createElement("div",{className:"position-relative ".concat(N.specialEventContainer)},t.createElement(r.s,{body:{type:M.endDate?"range":"day",text:M.endDate?"".concat(o.O.format(M.startDate,"DD"),"-").concat(o.O.format(M.endDate,"DD")):o.O.format(M.startDate,"DD")},month:function(e){return e.endDate?o.O.isSame(e.startDate,e.endDate,"month")?o.O.format(e.startDate,"MMMM"):"".concat(o.O.format(e.startDate,"MMM")," - ").concat(o.O.format(e.endDate,"MMM")):o.O.format(e.startDate,"MMMM")}(M),theme:e.calendarTheme})),t.createElement("div",null,P&&t.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},t.createElement(h.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&t.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),t.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&(null===(n=e.logo)||void 0===n?void 0:n.url)&&t.createElement("div",{className:"".concat(N.logoContainerLeft," d-none d-md-block rounded-circle overflow-hidden me-3 ").concat(A)},t.createElement(g.w,{src:L.j.createUrl(null===(s=e.logo)||void 0===s?void 0:s.url,{size:E.h2.Medium}),style:{backgroundColor:e.logoBgColour}})),t.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(N.heading," ").concat(D(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,j&&t.createElement(j,null)))),!!f&&t.createElement("div",{className:N.actionsContainer},t.createElement(c.e,{actions:f,sortComponent:T,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&t.createElement("div",{className:N.logoContainer},t.createElement("img",{src:L.j.createUrl(e.logo.url,{size:E.h2.Medium}),className:"rounded-circle"})))),null==B?void 0:B.container)}),(function(e,a){var n,t;return e.actions===a.actions&&e.heading===a.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(t=a.logo)||void 0===t?void 0:t.url)}));function y(){var e=t.useContext(C.n);return i.b.renderInPortalIfExists(t.createElement("div",{className:"partial-banner partial-loading-background ".concat(N.banner)}),null==e?void 0:e.container)}},97461:(e,a,n)=>{n.r(a),n.d(a,{PresentationTopicsView:()=>U});var t=n(32735),o=n(23481),i=n(20354),l=n(65858),r=n(36848),c=n(44522),s=n(49935),d=n(10874),m=n(83345),u=n(47770),p=n(30662),v=n(65163),g=n(9513),h=n(54610),b=n(12754),f=n(78479),C=n(42308),E=n(21750),k=n(39151),x=n(79967),L=n(15311),N=n(79612),w=n(37802),D=n(35223),T=n(87114),y=n(14070),M=n(97291),B=n(86698),O=n(33192),P=n(23923),I=(n(28400),n(34181)),S=function(e){return function(a){return(null==a?void 0:a.id)?I.L.getAppLink(a,e||{}):null}};const _={classificationPane:"ftCMX"};var j="subjects.presentationTopics",A=o.T.encloseNamespace(j);function U(e){var a,n,o,I,U,F,z,H,J,V=(0,w.r)(null).hasTopicDirectories,W=(0,x.k)(),Y=i.a.useBasicFetch(k.L.config()),Q=(0,B.y)(),R=Q.availablePresentations,q=Q.activePresentation,X=Q.hasPresentationsLoaded,Z=Q.canAccessPresentation,K=(0,P.B)(),G=(0,L.r)(),$=e.presentationId||(null==q?void 0:q.id),ee=i.a.useBasicFetch($&&E.x.presentationById($)),ae=ee.hasCompleted&&X,ne={name:T.i.getExploreAllTopicsTitle(null===(a=ee.data)||void 0===a?void 0:a.name,null==R?void 0:R.length),banner:{url:T.i.getPresentationLevelImage(null===(n=ee.data)||void 0===n?void 0:n.learningLevel,"topic-banner")}},te=i.a.useBasicFetch(ae&&E.x.topLevelTopics($||(null===(o=ee.data)||void 0===o?void 0:o.id))),oe=A("pageTitleSubject",{title:null===(I=ee.data)||void 0===I?void 0:I.name});(0,N.M)({title:oe,description:A("pageDescription",{title:null===(U=ee.data)||void 0===U?void 0:U.name}),canonicalLink:O.f.getCanonicalLink(),allowIndexing:O.f.allowIndexing()});var ie=S();var le=!!Y.data&&!!R&&te.data,re=Z(null===(F=ee.data)||void 0===F?void 0:F.id),ce={presentationId:null===(z=ee.data)||void 0===z?void 0:z.id,presentationName:null===(H=ee.data)||void 0===H?void 0:H.name,widgetId:C.z.Classifications,templateId:f.f.CoverFixedPillListLarge},se=V?p.q:u.K;return t.createElement("main",{className:"bg-white px-4"},le?t.createElement(c.p,{heading:null==ne?void 0:ne.name,banner:null==ne?void 0:ne.banner,imageCdnUrl:Y.data.imageCdnUrl,imageOptions:{size:h.h2.Large}}):t.createElement(c.v,null),t.createElement("div",{className:"py-3 mb-3 ".concat(re?"border-bottom":"")},re?le?t.createElement(s.Oo,{breadcrumbs:function(){var e;return[{name:A("discover"),appLink:{application:M.O.DASHBOARD,action:y.e.Dashboard.HOME}},{name:T.i.getExploreAllTopicsBreadcrumb(null===(e=ee.data)||void 0===e?void 0:e.name,null==R?void 0:R.length),active:!0}]}()}):t.createElement(s.b2,null):t.createElement(t.Fragment,null)),t.createElement("div",{className:_.classificationPane},le?t.createElement(se,{id:null===(J=ee.data)||void 0===J?void 0:J.id,name:"",description:"",analyticsData:ce,content:null==te?void 0:te.data,appLinks:{classification:ie},hasTableOfContents:!1,settings:{hasTopicDirectories:V},isTertiaryCustomerWithoutExchange:K&&!(null==G?void 0:G.hasProduct(b.x.Exchange)),onToggleFollowClassification:function(){}}):t.createElement(v.QL,{partialLoadingComponent:g.Qh}),le&&V&&(null==R?void 0:R.length)>1&&t.createElement("ul",{className:"pt-3 list-unstyled"},R.filter((function(e){var a;return e.id!==(null===(a=ee.data)||void 0===a?void 0:a.id)})).map((function(e){var a,n,o;return t.createElement("li",{key:e.id},t.createElement(r.F,{className:"d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ".concat(_.link," ").concat(T.i.getMappedPresentationBackgroundColourClass(null==e?void 0:e.learningLevel)),appLink:{application:M.O.SUBJECT,action:y.e.Subjects.PRESENTATION_TOPICS,params:{presentationId:e.id}},appLinkOptions:{middlewareOptions:{presentationSlug:e.vanitySlug}},analyticsData:{id:e.id,name:e.name,description:e.description,currentPresentationId:null===(a=ee.data)||void 0===a?void 0:a.id,currentPresentationName:null===(n=ee.data)||void 0===n?void 0:n.name,currentPresentationDescription:null===(o=ee.data)||void 0===o?void 0:o.description},analyticsOptions:{entity:l.py.Presentation,actionType:l.Vw.Click,location:l.LZ.PresentationClassifications}},t.createElement("div",{className:"h4 text-shadow mb-0"},R.length>2||W.sm||W.xs?t.createElement(m.x,{namespace:j,phrase:"multiPresentationBanner",options:{name:e.name}}):t.createElement(m.x,{namespace:j,phrase:"singlePresentationBanner",options:{name:e.name}})),t.createElement(d.h,{svgName:W.xs?D.vn.Sparkle:D.vn.School,openInNewTab:!0,className:"btn btn-outline-dark",onClick:null},t.createElement(m.x,{namespace:j,phrase:W.xs?"explore":"changeTo",options:{name:e.name}}))))})))))}}}]);
2
+ //# sourceMappingURL=4586-f9ab450399-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/6264-4b52686f8d-lite.chunk.js","mappings":"4PASMA,EAAY,oBAkBZ,SAAUC,EAAWC,GACzB,MAA8D,eAC5DC,YAAY,GACTD,GAFGE,EAAU,EAAVA,WAAYC,EAAO,EAAPA,QAASC,EAAK,EAALA,MAAOC,EAAY,EAAZA,aAAcJ,EAAU,EAAVA,WAK5CK,EAAaJ,EACfK,EAAA,YAA0BT,EAAW,SAAU,CAAEI,WAAAA,IACjDK,EAAA,YAA0BT,EAAW,QAEnCU,EAAuB,UAAVJ,EAAoB,GAAK,aACtCK,EAAkBR,EAAa,cAAgB,GAErD,OACE,gBAACS,EAAA,EAAO,CACNP,QAASA,EACTQ,UAAS,mDAA8CN,EAAY,YAAIG,EAAU,YAAIC,IAErF,gBAACG,EAAA,EAAY,CAACC,QAAS,iBAA0BC,KAAMF,EAAAG,EAAA,SACvD,wBAAMJ,UAAU,QAAQL,GAG9B,CA3BAP,EAAWiB,aAAe,CACxBZ,MAAO,QACPC,aAAc,I,qGCvBhB,SAAgB,cAAgB,QAAQ,iBAAmB,QAAQ,sBAAwB,QAAQ,UAAY,QAAQ,cAAgB,QAAQ,kBAAoB,QAAQ,YAAc,QAAQ,sBAAwB,QAAQ,aAAe,QAAQ,QAAU,SCuBlQ,IAAMY,EAAQ,GAAH,OAAM,IAAmB,cAAmBC,MAAK,YAAI,IAAmB,cAAmBC,QAatG,SAASC,EAAaC,GACpB,OAAIA,EAAQC,OAAS,IACZ,KAEF,cACT,CAwBA,IAEaC,EAAe,QAAW,SAASvB,G,YACtCqB,EAAyFrB,EAAzFqB,QAASG,EAAgFxB,EAAhFwB,OAAQC,EAAwEzB,EAAxEyB,YAAaC,EAA2D1B,EAA3D0B,QAASC,EAAkD3B,EAAlD2B,cAAeC,EAAmC5B,EAAnC4B,iBAAkBC,EAAiB7B,EAAjB6B,aAE1EC,EAAyB,aAAiBC,EAAA,GAE1CC,GA5Cc,EAAAC,EAAA,KAEJC,IALS,KADL,KAkDdC,EAAsB,WAAc,WACxC,IAAKN,GAAgB7B,EAAMoC,eACzB,OAAO,EAET,IAAMC,EAAQC,EAAA,SAAkB,IAAIC,KAAQ,cAE5C,OAAKV,EAAaW,QAGXX,EAAaY,WAAaJ,GAASR,EAAaW,SAAWH,EAFzDR,EAAaY,YAAcJ,CAGtC,GAAG,CAACR,IAYEa,EAAe1C,EAAM0C,cAAgB,CACzCxB,MAAOc,EACPW,MAAO1B,EACP2B,WAAY,YAGRC,IAAQrB,KAAYC,GAAeqB,EAAA,kBAA4BtB,EAAQ,CAC3EuB,gBAAiBtB,EACjBuB,qBAAsB3B,EACtB4B,KAAM,cACLP,GAEGQ,EAAgG,CACpGvC,UAAW,wBAAF,OAA0BX,EAAMmD,iBACzCC,MAAOP,EAAM,CAAEQ,gBAAiB,QAAF,OAAUR,EAAG,OAAS,CAAC,IAGlDrB,GAAUI,WACNsB,EAAeE,MACtBF,EAAevC,WAAa,IAAJ,OAAQiB,IAGlC,IAAM0B,EAAmBtD,EAAMuD,iBAEzBC,GAA0B,EAAAC,EAAA,GAAgBzD,EAAMqB,QAAS,KAE/D,OAAOqC,EAAA,yBAEL,0CAAYR,GACV,uBAAKvC,UAAS,oBAAe,YAAgB,oCAC1CX,EAAM2D,mBACL,uBAAKhD,UAAU,QACb,gBAACZ,EAAU,CACTI,QAASH,EAAM2D,kBACfzD,WAAYF,EAAM4D,eAClBvD,aAAcL,EAAM6D,kBACpBzD,MAAM,WAKZ,uBAAKO,UAAS,UAAKX,EAAM8D,cAAgB,iEAAmE,GAAH,OAAM,gBAAoB,kBAAmB,QAAV,EAAA9D,EAAM+D,YAAI,eAAElB,KAAM,wBAA+B,QACxLhB,GACD,uBAAKlB,UAAS,4BAAuB,0BACnC,gBAACqD,EAAA,EAAmB,CAClBC,KAAM,CACJhB,KAAMpB,EAAaW,QAAU,QAAU,MACvC0B,KAAMrC,EAAaW,QAAO,UACnBF,EAAA,SAAkBT,EAAaY,UAAW,MAAK,YAAIH,EAAA,SAAkBT,EAAaW,QAAS,OAC9FF,EAAA,SAAkBT,EAAaY,UAAW,OAEhD0B,MA7Dd,SAAkCtC,GAChC,OAAKA,EAAaW,QAGdF,EAAA,SAAkBT,EAAaY,UAAWZ,EAAaW,QAAS,SAC3DF,EAAA,SAAkBT,EAAaY,UAAW,QAE5C,GAAP,OAAUH,EAAA,SAAkBT,EAAaY,UAAW,OAAM,cAAMH,EAAA,SAAkBT,EAAaW,QAAS,QAL/FF,EAAA,SAAkBT,EAAaY,UAAW,OAMrD,CAqDqB2B,CAAyBvC,GAChCwC,MAAOrE,EAAMsE,iBAInB,2BACGnC,GACC,uBAAKxB,UAAU,kFACb,gBAAC4D,EAAA,EAAI,CAACzE,UA1FJ,sBA0F0B0E,OAAO,aAGtCxE,EAAMoC,gBACL,gBAACqC,EAAA,EAAa,CAAC9D,UAAU,yEAE3B,uBAAKA,UAAU,6BACZX,EAAM8D,gBAA2B,QAAV,EAAA9D,EAAM+D,YAAI,eAAElB,MAClC,uBAAKlC,UAAS,UAAK,oBAAwB,kEAA0D6C,IACnG,gBAACkB,EAAA,EAAS,CACRC,IAAK7B,EAAA,YAAgC,QAAV,EAAA9C,EAAM+D,YAAI,eAAElB,IAAK,CAAE/B,KAAM,cACpDsC,MAAO,CAAEwB,gBAAiB5E,EAAM6E,iBAItC,sBAAIlE,UAAS,sDAAiD,UAAc,YAAIS,EAAaC,GAAQ,YAAIrB,EAAM8D,cAAgB,OAAS,KACrIzC,EACAiC,GAAoB,gBAACA,EAAgB,WAIzC5B,GACD,uBAAKf,UAAW,oBACd,gBAACmE,EAAA,EAAO,CACNpD,QAASA,EACTC,cAAeA,EACfoD,yBAA0B/E,EAAM+E,8BAKtC/E,EAAM8D,kBAA6B,QAAV,EAAA9D,EAAM+D,YAAI,eAAElB,MACrC,uBAAKlC,UAAW,iBACd,uBACEgE,IAAK7B,EAAA,YAAsB9C,EAAM+D,KAAKlB,IAAK,CAAE/B,KAAM,cACnDH,UAAU,sBAMpBmB,aAAsB,EAAtBA,EAAwBkD,UAE5B,IAAG,SAACC,EAAWC,G,QAAuB,OACpCD,EAAUvD,UAAYwD,EAAUxD,SAC7BuD,EAAU5D,UAAY6D,EAAU7D,UAClB,QAAd,EAAA4D,EAAUlB,YAAI,eAAElB,QAAsB,QAAd,EAAAqC,EAAUnB,YAAI,eAAElB,I,IAGvC,SAAUsC,IACd,IAAMrD,EAAyB,aAAiBC,EAAA,GAEhD,OAAO2B,EAAA,yBACL,uBAAK/C,UAAS,oDAA+C,YAC7DmB,aAAsB,EAAtBA,EAAwBkD,UAE5B,C,kaC1MaI,EAA2B,SAACC,GAAmB,OAC1D,SAACC,GACC,OAAKA,aAAc,EAAdA,EAAgBC,IAGdC,EAAA,aAAuCF,EAAgBD,GAAU,CAAC,GAFhE,IAGX,CAAC,ECfH,SAAgB,mBAAqB,SCuCrC,IAAMvF,EAAY,8BACZ2F,EAAYlF,EAAA,mBAAiCT,GAU7C,SAAU4F,EAAuB1F,G,sBAC7B2F,GAAwB,EAAAC,EAAA,GAAY,MAApCD,oBACFE,GAAc,EAAA5D,EAAA,KAKd6D,EAAS,kBAA6BC,EAAA,YAE5C,GAKI,EAAAC,EAAA,KAJFC,EAAsB,EAAtBA,uBACAC,EAAkB,EAAlBA,mBACAC,EAAsB,EAAtBA,uBACAC,EAAqB,EAArBA,sBAGIC,GAAa,EAAAC,EAAA,KACbC,GAAW,SAMXC,EAAwBxG,EAAMyG,iBAAkBP,aAAkB,EAAlBA,EAAoBX,IAEpEmB,GAAsB,kBAC1BF,GACAG,EAAA,mBAAwCH,IAGpCI,GAAYF,GAAoBG,cAAgBV,EAEhDb,GAAiB,CACrBwB,KAAMC,EAAA,2BAA8D,QAAxB,EAAAL,GAAoBM,YAAI,eAAEF,KAAMb,aAAsB,EAAtBA,EAAwB3E,QACpGE,OAAQ,CACNqB,IAAKkE,EAAA,4BAA+D,QAAxB,EAAAL,GAAoBM,YAAI,eAAEC,cAAe,kBAInFC,GAAW,kBACfN,IACAD,EAAA,iBAAsCH,IAAiD,QAAxB,EAAAE,GAAoBM,YAAI,eAAEzB,MAGrF4B,GAAQ1B,EAAU,mBAAoB,CAAE0B,MAA+B,QAAxB,EAAAT,GAAoBM,YAAI,eAAEF,QAE/E,EAAAM,EAAA,GAAmB,CACjBD,MAAAA,GACAE,YAAa5B,EAAU,kBAAmB,CAAE0B,MAA+B,QAAxB,EAAAT,GAAoBM,YAAI,eAAEF,OAC7EQ,cAAeC,EAAA,qBACfC,cAAeD,EAAA,oBAGjB,IAAME,GAA0BrC,IAkBhC,IAAMsC,KAAe5B,EAAOkB,QAAUf,GAA0BiB,GAASF,KACnEW,GAAqBvB,EAA8C,QAAxB,EAAAM,GAAoBM,YAAI,eAAEzB,IAKrEqC,GAAgB,CACpBnB,eAAwC,QAAxB,EAAAC,GAAoBM,YAAI,eAAEzB,GAC1CsC,iBAA0C,QAAxB,EAAAnB,GAAoBM,YAAI,eAAEF,KAC5CgB,SAAUC,EAAA,kBACVC,WAAYC,EAAA,2BAGRC,GAAoBvC,EACtBwC,EAAA,EACAC,EAAA,EAEJ,OACE,wBAAMzH,UAAU,iBACb+G,GAEG,gBAACnG,EAAA,EAAY,CACXF,QAASiE,cAAc,EAAdA,GAAgBwB,KACzBtF,OAAQ8D,cAAc,EAAdA,GAAgB9D,OACxBC,YAAaqE,EAAOkB,KAAKvF,YACzBiB,aAAc,CAAE5B,KAAM,cAEtB,gBAAC,IAAmB,MAE1B,uBAAKH,UAAS,oBAAegH,GAAqB,gBAAkB,KAE3DA,GAGAD,GAGE,gBAACW,EAAA,GAAW,CAACC,YArD5B,W,MACE,MAAO,CAAC,CACNxB,KAAMrB,EAAU,YAChBtF,QAAS,CACPoI,YAAa,cACbC,OAAQ,qBAET,CACD1B,KAAMC,EAAA,gCAAmE,QAAxB,EAAAL,GAAoBM,YAAI,eAAEF,KAAMb,aAAsB,EAAtBA,EAAwB3E,QACzGmH,QAAQ,GAEZ,CA0CyCC,KAFxB,gBAAC,KAAkB,MAHnB,kCAQb,uBAAK/H,UAAW,sBACb+G,GACC,gBAACQ,GAAiB,CAChB3C,GAA4B,QAAxB,EAAAmB,GAAoBM,YAAI,eAAEzB,GAC9BuB,KAAK,GACLO,YAAY,GACZO,cAAeA,GACfe,QAASzB,cAAQ,EAARA,GAAUF,KACnB4B,SAAU,CAAEtD,eAAgBmC,IAC5BoB,oBAAoB,EACpBC,SAAU,CAAEnD,oBAAAA,GACZoD,kCAAmC1C,KAAeE,aAAQ,EAARA,EAAUyC,WAAWC,EAAA,aAEvEC,6BAA8B,WAAO,IAGvC,gBAAC,KAAoB,CAACC,wBAAyB,OAGhDzB,IAAc/B,IAAuBM,aAAsB,EAAtBA,EAAwB3E,QAAS,GACrE,sBAAIX,UAAU,sBACXsF,EAAuBmD,QAAO,SAAAC,GAAI,MAAC,OAAAA,EAAE9D,MAA+B,QAAxB,EAAAmB,GAAoBM,YAAI,eAAEzB,GAAE,IAAE+D,KAAI,SAAAC,G,UAC7E,OACE,sBAAIC,IAAKD,EAAahE,IACpB,gBAAC7E,EAAA,EAAO,CACNC,UAAS,0FAAqF,OAAW,YAAIoG,EAAA,6CAAwDwC,aAAY,EAAZA,EAActC,gBACnL9G,QAAS,CACPoI,YAAa,YACbC,OAAQ,iCACRnD,OAAQ,CAAEoB,eAAgB8C,EAAahE,KAEzCkE,eAAgB,CAAEC,kBAAmB,CAAEC,iBAAkBJ,EAAaK,aACtEhC,cAAe,CACbrC,GAAIgE,EAAahE,GACjBuB,KAAMyC,EAAazC,KACnBO,YAAakC,EAAalC,YAC1BwC,sBAA+C,QAAxB,EAAAnD,GAAoBM,YAAI,eAAEzB,GACjDuE,wBAAiD,QAAxB,EAAApD,GAAoBM,YAAI,eAAEF,KACnDiD,+BAAwD,QAAxB,EAAArD,GAAoBM,YAAI,eAAEK,aAE5D2C,iBAAkB,CAChBC,OAAQ,kBACRC,WAAY,WACZC,SAAU,mCAGZ,uBAAKxJ,UAAU,uBACXsF,EAAuB3E,OAAS,GAAKuE,EAAYuE,IAAMvE,EAAYwE,GACnE,gBAAC9F,EAAA,EAAI,CAACzE,UAAWA,EAAW0E,OAAO,0BAA0B8F,QAAS,CAAExD,KAAMyC,EAAazC,QAE3F,gBAACvC,EAAA,EAAI,CAACzE,UAAWA,EAAW0E,OAAO,2BAA2B8F,QAAS,CAAExD,KAAMyC,EAAazC,SAGhG,gBAACyD,EAAA,EAAU,CACT1J,QAASgF,EAAYwE,GAAK,aAAuB,YACjDG,cAAY,EACZ7J,UAAU,uBACV8J,QAAS,MAET,gBAAClG,EAAA,EAAI,CACHzE,UAAWA,EACX0E,OAAQqB,EAAYwE,GAAK,UAAY,WACrCC,QAAS,CAAExD,KAAMyC,EAAazC,UAM1C,MAMZ,C","sources":["file:///app/packages/libs/shared/src/components/back-button/BackButton.tsx","file:///app/packages/libs/shared/src/components/banner-header/banner-header.scss","file:///app/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","file:///app/packages/projects/lite/src/apps/subjects/utils/ClassificationAppLinks.ts","file:///app/packages/projects/lite/src/apps/subjects/views/presentation-topics/presentation-topics.scss","file:///app/packages/projects/lite/src/apps/subjects/views/presentation-topics/PresentationTopicsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.backButton';\n\ninterface BackButtonProps {\n appLink: Core.AppLink;\n backToName?: string;\n color?: 'black' | 'white';\n extraClasses?: string;\n /**\n * Whether or not the button text has a text shadow. Defaults to true\n */\n textShadow?: boolean;\n}\n\nBackButton.defaultProps = {\n color: 'black',\n extraClasses: ''\n};\n\nexport function BackButton(props: BackButtonProps): React.ReactElement {\n const { backToName, appLink, color, extraClasses, textShadow } = {\n textShadow: true,\n ...props\n };\n\n const backPhrase = backToName\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\n : LanguageService.getPhrase(namespace, 'back');\n\n const colorClass = color === 'black' ? '' : 'text-white';\n const textShadowClass = textShadow ? 'text-shadow' : '';\n\n return (\n <AppLink\n appLink={appLink}\n className={`d-inline-flex align-items-center h5 mb-0 ${extraClasses} ${colorClass} ${textShadowClass}`}\n >\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\n <span className='ms-1'>{backPhrase}</span>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bannerContent\":\"sSCTB\",\"actionsContainer\":\"Z5WI2\",\"bannerContentWithLogo\":\"rgs7Q\",\"container\":\"M51HJ\",\"logoContainer\":\"vkeJk\",\"logoContainerLeft\":\"M3U9B\",\"logoHeading\":\"EtRwC\",\"specialEventContainer\":\"rOxDc\",\"headingLarge\":\"_8pnV\",\"heading\":\"JXVBH\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { PortalHelper } from 'libs/common/react/utils/PortalHelper';\n\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { GenericCalendarDate } from 'libs/shared/apps/calendar/components/generic-calendar-date/GenericCalendarDate';\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageMinDimensions } from 'libs/shared/constants/ImageSizes';\nimport { BannerPortalContext } from 'libs/shared/context/BannerPortalContext';\nimport { ImageSize, ImageType, ResizeType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Banner, CalendarEvent, Logo } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './banner-header.scss';\n\nconst RATIO = `${ImageMinDimensions[ImageType.Banners].width}:${ImageMinDimensions[ImageType.Banners].height}`;\nconst DEFAULT_WIDTH = 1200; // This is ImageSize.Large for a Banner.\nconst LARGE_SCREEN_WIDTH = 1920;\n\nfunction useGetImageWidth(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl)\n return LARGE_SCREEN_WIDTH;\n\n return DEFAULT_WIDTH;\n}\n\nfunction getSizeClass(heading: string): string {\n if (heading.length < 160)\n return 'h1';\n\n return styles.headingLarge;\n}\n\ninterface BannerHeaderProps {\n heading: string;\n banner?: Banner;\n bannerClassName?: string;\n imageCdnUrl?: string;\n logo?: Logo;\n logoBgColour?: string;\n actions?: ActionOptions[];\n specialEvent?: CalendarEvent;\n backButtonAppLink?: Core.AppLink;\n backButtonText?: string;\n backButtonClasses?: string;\n sortComponent?: JSX.Element;\n blockColourClass?: string;\n actionsDropdownClassName?: string;\n detailsComponent?: () => React.ReactElement;\n imageOptions?: ImageOptions;\n showComingSoon?: boolean;\n alignLogoLeft?: boolean;\n calendarTheme?: CalendarTheme;\n}\n\nconst namespace = 'shared.bannerHeader';\n\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\n const { heading, banner, imageCdnUrl, actions, sortComponent, blockColourClass, specialEvent } = props;\n\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n const imageWidth = useGetImageWidth();\n\n const specialEventIsToday = React.useMemo(() => {\n if (!specialEvent || props.showComingSoon)\n return false;\n\n const today = DateHelper.format(new Date(), 'YYYY-MM-DD');\n\n if (!specialEvent.endDate)\n return specialEvent.startDate === today;\n\n return specialEvent.startDate <= today && specialEvent.endDate >= today;\n }, [specialEvent]);\n\n function getSpecialEventMonthText(specialEvent: CalendarEvent): string {\n if (!specialEvent.endDate)\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n if (DateHelper.isSame(specialEvent.startDate, specialEvent.endDate, 'month'))\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n return `${DateHelper.format(specialEvent.startDate, 'MMM')} - ${DateHelper.format(specialEvent.endDate, 'MMM')}`;\n }\n\n const imageOptions = props.imageOptions || {\n width: imageWidth,\n ratio: RATIO,\n resizeType: ResizeType.Cover\n };\n\n const url = !!banner && !!imageCdnUrl && ImageHelper.createBannerUrl(banner, {\n fallbackBaseUrl: imageCdnUrl,\n fallbackCategoryName: heading,\n type: ImageType.Banners\n }, imageOptions);\n\n const containerProps: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> = {\n className: `banner banner-header ${props.bannerClassName}`,\n style: url ? { backgroundImage: `url('${url}')` } : {}\n };\n\n if (!banner && blockColourClass) {\n delete containerProps.style;\n containerProps.className += ` ${blockColourClass}`;\n }\n\n const DetailsComponent = props.detailsComponent;\n\n const logoFallbackBgClassName = getBgColorClass(props.heading, BG_COLOUR_CLASS_NAMES);\n\n return PortalHelper.renderInPortalIfExists(\n // \"banner\" is used in playlists in Online. banner-header is used by all other projects\n <header {...containerProps}>\n <div className={`container ${styles.container} position-relative inner-banner`}>\n {props.backButtonAppLink && (\n <div className='pt-3'>\n <BackButton\n appLink={props.backButtonAppLink}\n backToName={props.backButtonText}\n extraClasses={props.backButtonClasses}\n color='white'\n />\n </div>\n )}\n \n <div className={`${props.alignLogoLeft ? 'position-absolute top-50 start-0 translate-middle-y w-100 ps-4' : `${styles.bannerContent} px-2 ${props.logo?.url ? styles.bannerContentWithLogo : ''}`}`}>\n {!!specialEvent && (\n <div className={`position-relative ${styles.specialEventContainer}`}>\n <GenericCalendarDate\n body={{\n type: specialEvent.endDate ? 'range' : 'day',\n text: specialEvent.endDate\n ? `${DateHelper.format(specialEvent.startDate, 'DD')}-${DateHelper.format(specialEvent.endDate, 'DD')}`\n : DateHelper.format(specialEvent.startDate, 'DD')\n }}\n month={getSpecialEventMonthText(specialEvent)}\n theme={props.calendarTheme}\n />\n </div>\n )}\n <div>\n {specialEventIsToday && (\n <div className='rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block'>\n <Text namespace={namespace} phrase='onToday' />\n </div>\n )}\n {props.showComingSoon && (\n <ComingSoonTag className='pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap' />\n )}\n <div className='d-flex align-items-center'>\n {props.alignLogoLeft && props.logo?.url &&\n <div className={`${styles.logoContainerLeft} d-none d-md-block rounded-circle overflow-hidden me-3 ${logoFallbackBgClassName}`}>\n <LazyImage\n src={ImageHelper.createUrl(props.logo?.url, { size: ImageSize.Medium })}\n style={{ backgroundColor: props.logoBgColour }}\n />\n </div>\n }\n <h1 className={`text-white text-shadow pe-3 position-static ${styles.heading} ${getSizeClass(heading)} ${props.alignLogoLeft ? 'w-50' : ''}`}>\n {heading}\n {DetailsComponent && <DetailsComponent />}\n </h1>\n </div>\n </div>\n {!!actions && (\n <div className={styles.actionsContainer}>\n <Actions\n actions={actions}\n sortComponent={sortComponent}\n actionsDropdownClassName={props.actionsDropdownClassName}\n />\n </div>\n )}\n </div>\n {!props.alignLogoLeft && !!props.logo?.url &&\n <div className={styles.logoContainer}>\n <img\n src={ImageHelper.createUrl(props.logo.url, { size: ImageSize.Medium })}\n className='rounded-circle'\n />\n </div>\n }\n </div>\n </header>,\n portalContainerContext?.container\n );\n}, (prevProps, nextProps): boolean => (\n prevProps.actions === nextProps.actions\n && prevProps.heading === nextProps.heading\n && prevProps.logo?.url === nextProps.logo?.url\n));\n\nexport function PartialBannerHeader(): JSX.Element {\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n return PortalHelper.renderInPortalIfExists(\n <div className={`partial-banner partial-loading-background ${styles.banner}`} />,\n portalContainerContext?.container\n );\n}","import { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Classification, Playlist } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\n\nexport const getClassificationAppLink = (params?: HashObject) =>\n (classification?: Classification): Core.AppLink => {\n if (!classification?.id)\n return null;\n\n return ClassificationAppLinkHelper.getAppLink(classification, params || {});\n };\n\nexport const getPlaylistAppLink = (playlist: Playlist, classificationId: string): Core.AppLink => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ],\n params: { classificationId }\n});\n\nexport const getAllTopicsAppLink = (presentationId?: string): Core.AppLink => ({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.PRESENTATION_TOPICS,\n params: presentationId ? { presentationId } : {}\n});","// extracted by mini-css-extract-plugin\nexport default {\"classificationPane\":\"ftCMX\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CoverFixedPillListLargeWidgetTemplate } from 'libs/shared/components/widgets/curated-widgets/templates/cover-fixed-pill-list-large/CoverFixedPillListLargeWidgetTemplate';\nimport { StatsCoverFixedPillListLargeWidgetTemplate } from 'libs/shared/components/widgets/curated-widgets/templates/stats-cover-fixed-pill-list-large/StatsCoverFixedPillListLargeWidgetTemplate';\nimport { PartialDynamicWidget } from 'libs/shared/components/widgets/dynamic-widget';\nimport { PartialSubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classification, Config, Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { useIsTertiary } from 'apps/onboarding/hooks/useIsTertiary';\nimport { getClassificationAppLink } from 'apps/subjects/utils/ClassificationAppLinks';\n\nimport styles from './presentation-topics.scss';\n\nconst namespace = 'subjects.presentationTopics';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface PresentationTopicsViewQueryParams {\n presentationId?: string;\n}\n\ninterface PresentationTopicsViewProps {\n presentationId?: string;\n}\n\nexport function PresentationTopicsView(props: PresentationTopicsViewProps): React.ReactElement {\n const { hasTopicDirectories } = useSettings(null);\n const breakpoints = useBreakpoints();\n\n /**\n * Data fetching\n */\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const {\n availablePresentations,\n activePresentation,\n hasPresentationsLoaded,\n canAccessPresentation\n } = usePresentation();\n\n const isTertiary = useIsTertiary();\n const products = useProducts();\n\n /**\n * We'll prefer the presentationId query param, but fallback to the\n * user's activePresentation where the queryParam doesn't exist.\n */\n const initialPresentationId = props.presentationId || activePresentation?.id;\n\n const currentPresentation = Flight.useBasicFetch<Presentation>(\n initialPresentationId &&\n ClassificationRequests.presentationById(initialPresentationId)\n );\n\n const hasLoaded = currentPresentation.hasCompleted && hasPresentationsLoaded;\n\n const classification = {\n name: TopicsHelper.getExploreAllTopicsTitle(currentPresentation.data?.name, availablePresentations?.length),\n banner: {\n url: TopicsHelper.getPresentationLevelImage(currentPresentation.data?.learningLevel, 'topic-banner')\n }\n } as Classification;\n\n const children = Flight.useBasicFetch<Classification[]>(\n hasLoaded &&\n ClassificationRequests.topLevelTopics(initialPresentationId || currentPresentation.data?.id)\n );\n\n const title = getPhrase('pageTitleSubject', { title: currentPresentation.data?.name });\n\n useSetPageMetadata({\n title,\n description: getPhrase('pageDescription', { title: currentPresentation.data?.name }),\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: SeoHelper.allowIndexing()\n });\n\n const classificationAppLinkFn = getClassificationAppLink();\n\n function getBreadcrumbs(): Breadcrumb[] {\n return [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }, {\n name: TopicsHelper.getExploreAllTopicsBreadcrumb(currentPresentation.data?.name, availablePresentations?.length),\n active: true\n }];\n }\n\n /**\n * Render Variable\n */\n const dataLoaded = !!config.data && !!availablePresentations && children.data;\n const canViewBreadcrumbs = canAccessPresentation(currentPresentation.data?.id);\n\n /**\n * Additional subjects data to be mixed in with lower-level component analytics collection\n */\n const analyticsData = {\n presentationId: currentPresentation.data?.id,\n presentationName: currentPresentation.data?.name,\n widgetId: WidgetTypeId.Classifications,\n templateId: WidgetTemplate.CoverFixedPillListLarge\n };\n\n const TemplateComponent = hasTopicDirectories\n ? StatsCoverFixedPillListLargeWidgetTemplate\n : CoverFixedPillListLargeWidgetTemplate;\n \n return (\n <main className='bg-white px-4'>\n {dataLoaded\n ? (\n <BannerHeader\n heading={classification?.name}\n banner={classification?.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n imageOptions={{ size: ImageSize.Large }}\n />\n ) : <PartialBannerHeader />\n }\n <div className={`py-3 mb-3 ${canViewBreadcrumbs ? 'border-bottom' : ''}`}>\n {(() => {\n if (!canViewBreadcrumbs)\n return <></>;\n\n if (!dataLoaded)\n return <PartialBreadcrumbs />;\n\n return <Breadcrumbs breadcrumbs={getBreadcrumbs()} />;\n })()}\n </div>\n <div className={styles.classificationPane}>\n {dataLoaded ? (\n <TemplateComponent\n id={currentPresentation.data?.id}\n name=''\n description=''\n analyticsData={analyticsData}\n content={children?.data}\n appLinks={{ classification: classificationAppLinkFn }}\n hasTableOfContents={false}\n settings={{ hasTopicDirectories }}\n isTertiaryCustomerWithoutExchange={isTertiary && !products?.hasProduct(ProductId.Exchange)}\n // TODO: Should this be optional?\n onToggleFollowClassification={() => {}}\n />\n ) : (\n <PartialDynamicWidget partialLoadingComponent={PartialSubjectWidgetItem} />\n )}\n\n {dataLoaded && hasTopicDirectories && availablePresentations?.length > 1 && (\n <ul className='pt-3 list-unstyled'>\n {availablePresentations.filter(p => p.id !== currentPresentation.data?.id).map(presentation => {\n return (\n <li key={presentation.id}>\n <AppLink\n className={`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${styles.link} ${TopicsHelper.getMappedPresentationBackgroundColourClass(presentation?.learningLevel)}`}\n appLink={{\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.PRESENTATION_TOPICS,\n params: { presentationId: presentation.id }\n }}\n appLinkOptions={{ middlewareOptions: { presentationSlug: presentation.vanitySlug } }}\n analyticsData={{\n id: presentation.id,\n name: presentation.name,\n description: presentation.description,\n currentPresentationId: currentPresentation.data?.id,\n currentPresentationName: currentPresentation.data?.name,\n currentPresentationDescription: currentPresentation.data?.description\n }}\n analyticsOptions={{\n entity: EntityType.Presentation,\n actionType: UserAction.Click,\n location: LocationContext.PresentationClassifications\n }}\n >\n <div className='h4 text-shadow mb-0'>\n {(availablePresentations.length > 2 || breakpoints.sm || breakpoints.xs) ? (\n <Text namespace={namespace} phrase='multiPresentationBanner' options={{ name: presentation.name }} />\n ) : (\n <Text namespace={namespace} phrase='singlePresentationBanner' options={{ name: presentation.name }} />\n )}\n </div>\n <IconButton\n svgName={breakpoints.xs ? cvSvgLibrary.Sparkle : cvSvgLibrary.School}\n openInNewTab\n className='btn btn-outline-dark'\n onClick={null}\n >\n <Text\n namespace={namespace}\n phrase={breakpoints.xs ? 'explore' : 'changeTo'}\n options={{ name: presentation.name }}\n />\n </IconButton>\n </AppLink>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n </main>\n );\n}\n"],"names":["namespace","BackButton","props","textShadow","backToName","appLink","color","extraClasses","backPhrase","LanguageService","colorClass","textShadowClass","AppLink","className","SvgContainer","svgName","size","S","defaultProps","RATIO","width","height","getSizeClass","heading","length","BannerHeader","banner","imageCdnUrl","actions","sortComponent","blockColourClass","specialEvent","portalContainerContext","BannerPortalContext","imageWidth","useBreakpoints","xxl","specialEventIsToday","showComingSoon","today","DateHelper","Date","endDate","startDate","imageOptions","ratio","resizeType","url","ImageHelper","fallbackBaseUrl","fallbackCategoryName","type","containerProps","bannerClassName","style","backgroundImage","DetailsComponent","detailsComponent","logoFallbackBgClassName","getBgColorClass","PortalHelper","backButtonAppLink","backButtonText","backButtonClasses","alignLogoLeft","logo","GenericCalendarDate","body","text","month","getSpecialEventMonthText","theme","calendarTheme","Text","phrase","ComingSoonTag","LazyImage","src","backgroundColor","logoBgColour","Actions","actionsDropdownClassName","container","prevProps","nextProps","PartialBannerHeader","getClassificationAppLink","params","classification","id","ClassificationAppLinkHelper","getPhrase","PresentationTopicsView","hasTopicDirectories","useSettings","breakpoints","config","ConfigRequests","usePresentation","availablePresentations","activePresentation","hasPresentationsLoaded","canAccessPresentation","isTertiary","useIsTertiary","products","initialPresentationId","presentationId","currentPresentation","ClassificationRequests","hasLoaded","hasCompleted","name","TopicsHelper","data","learningLevel","children","title","useSetPageMetadata","description","canonicalLink","SeoHelper","allowIndexing","classificationAppLinkFn","dataLoaded","canViewBreadcrumbs","analyticsData","presentationName","widgetId","WidgetTypeId","templateId","WidgetTemplate","TemplateComponent","StatsCoverFixedPillListLargeWidgetTemplate","CoverFixedPillListLargeWidgetTemplate","Breadcrumbs","breadcrumbs","application","action","active","getBreadcrumbs","content","appLinks","hasTableOfContents","settings","isTertiaryCustomerWithoutExchange","hasProduct","ProductId","onToggleFollowClassification","partialLoadingComponent","filter","p","map","presentation","key","appLinkOptions","middlewareOptions","presentationSlug","vanitySlug","currentPresentationId","currentPresentationName","currentPresentationDescription","analyticsOptions","entity","actionType","location","sm","xs","options","IconButton","openInNewTab","onClick"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/4586-f9ab450399-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/back-button/BackButton.tsx","file:///app/packages/libs/shared/src/components/banner-header/banner-header.scss","file:///app/packages/libs/shared/src/components/banner-header/BannerHeader.tsx","file:///app/packages/projects/lite/src/apps/subjects/utils/ClassificationAppLinks.ts","file:///app/packages/projects/lite/src/apps/subjects/views/presentation-topics/presentation-topics.scss","file:///app/packages/projects/lite/src/apps/subjects/views/presentation-topics/PresentationTopicsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.backButton';\n\ninterface BackButtonProps {\n appLink: Core.AppLink;\n backToName?: string;\n color?: 'black' | 'white';\n extraClasses?: string;\n /**\n * Whether or not the button text has a text shadow. Defaults to true\n */\n textShadow?: boolean;\n}\n\nBackButton.defaultProps = {\n color: 'black',\n extraClasses: ''\n};\n\nexport function BackButton(props: BackButtonProps): React.ReactElement {\n const { backToName, appLink, color, extraClasses, textShadow } = {\n textShadow: true,\n ...props\n };\n\n const backPhrase = backToName\n ? LanguageService.getPhrase(namespace, 'backTo', { backToName })\n : LanguageService.getPhrase(namespace, 'back');\n\n const colorClass = color === 'black' ? '' : 'text-white';\n const textShadowClass = textShadow ? 'text-shadow' : '';\n\n return (\n <AppLink\n appLink={appLink}\n className={`d-inline-flex align-items-center h5 mb-0 ${extraClasses} ${colorClass} ${textShadowClass}`}\n >\n <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Medium} />\n <span className='ms-1'>{backPhrase}</span>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bannerContent\":\"sSCTB\",\"actionsContainer\":\"Z5WI2\",\"bannerContentWithLogo\":\"rgs7Q\",\"container\":\"M51HJ\",\"logoContainer\":\"vkeJk\",\"logoContainerLeft\":\"M3U9B\",\"logoHeading\":\"EtRwC\",\"specialEventContainer\":\"rOxDc\",\"headingLarge\":\"_8pnV\",\"heading\":\"JXVBH\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { PortalHelper } from 'libs/common/react/utils/PortalHelper';\n\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { GenericCalendarDate } from 'libs/shared/apps/calendar/components/generic-calendar-date/GenericCalendarDate';\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { BackButton } from 'libs/shared/components/back-button/BackButton';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageMinDimensions } from 'libs/shared/constants/ImageSizes';\nimport { BannerPortalContext } from 'libs/shared/context/BannerPortalContext';\nimport { ImageSize, ImageType, ResizeType } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Banner, CalendarEvent, Logo } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './banner-header.scss';\n\nconst RATIO = `${ImageMinDimensions[ImageType.Banners].width}:${ImageMinDimensions[ImageType.Banners].height}`;\nconst DEFAULT_WIDTH = 1200; // This is ImageSize.Large for a Banner.\nconst LARGE_SCREEN_WIDTH = 1920;\n\nfunction useGetImageWidth(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl)\n return LARGE_SCREEN_WIDTH;\n\n return DEFAULT_WIDTH;\n}\n\nfunction getSizeClass(heading: string): string {\n if (heading.length < 160)\n return 'h1';\n\n return styles.headingLarge;\n}\n\ninterface BannerHeaderProps {\n heading: string;\n banner?: Banner;\n bannerClassName?: string;\n imageCdnUrl?: string;\n logo?: Logo;\n logoBgColour?: string;\n actions?: ActionOptions[];\n specialEvent?: CalendarEvent;\n backButtonAppLink?: Core.AppLink;\n backButtonText?: string;\n backButtonClasses?: string;\n sortComponent?: JSX.Element;\n blockColourClass?: string;\n actionsDropdownClassName?: string;\n detailsComponent?: () => React.ReactElement;\n imageOptions?: ImageOptions;\n showComingSoon?: boolean;\n alignLogoLeft?: boolean;\n calendarTheme?: CalendarTheme;\n}\n\nconst namespace = 'shared.bannerHeader';\n\nexport const BannerHeader = React.memo(function(props: React.PropsWithChildren<BannerHeaderProps>): React.ReactElement {\n const { heading, banner, imageCdnUrl, actions, sortComponent, blockColourClass, specialEvent } = props;\n\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n const imageWidth = useGetImageWidth();\n\n const specialEventIsToday = React.useMemo(() => {\n if (!specialEvent || props.showComingSoon)\n return false;\n\n const today = DateHelper.format(new Date(), 'YYYY-MM-DD');\n\n if (!specialEvent.endDate)\n return specialEvent.startDate === today;\n\n return specialEvent.startDate <= today && specialEvent.endDate >= today;\n }, [specialEvent]);\n\n function getSpecialEventMonthText(specialEvent: CalendarEvent): string {\n if (!specialEvent.endDate)\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n if (DateHelper.isSame(specialEvent.startDate, specialEvent.endDate, 'month'))\n return DateHelper.format(specialEvent.startDate, 'MMMM');\n\n return `${DateHelper.format(specialEvent.startDate, 'MMM')} - ${DateHelper.format(specialEvent.endDate, 'MMM')}`;\n }\n\n const imageOptions = props.imageOptions || {\n width: imageWidth,\n ratio: RATIO,\n resizeType: ResizeType.Cover\n };\n\n const url = !!banner && !!imageCdnUrl && ImageHelper.createBannerUrl(banner, {\n fallbackBaseUrl: imageCdnUrl,\n fallbackCategoryName: heading,\n type: ImageType.Banners\n }, imageOptions);\n\n const containerProps: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> = {\n className: `banner banner-header ${props.bannerClassName}`,\n style: url ? { backgroundImage: `url('${url}')` } : {}\n };\n\n if (!banner && blockColourClass) {\n delete containerProps.style;\n containerProps.className += ` ${blockColourClass}`;\n }\n\n const DetailsComponent = props.detailsComponent;\n\n const logoFallbackBgClassName = getBgColorClass(props.heading, BG_COLOUR_CLASS_NAMES);\n\n return PortalHelper.renderInPortalIfExists(\n // \"banner\" is used in playlists in Online. banner-header is used by all other projects\n <header {...containerProps}>\n <div className={`container ${styles.container} position-relative inner-banner`}>\n {props.backButtonAppLink && (\n <div className='pt-3'>\n <BackButton\n appLink={props.backButtonAppLink}\n backToName={props.backButtonText}\n extraClasses={props.backButtonClasses}\n color='white'\n />\n </div>\n )}\n \n <div className={`${props.alignLogoLeft ? 'position-absolute top-50 start-0 translate-middle-y w-100 ps-4' : `${styles.bannerContent} px-2 ${props.logo?.url ? styles.bannerContentWithLogo : ''}`}`}>\n {!!specialEvent && (\n <div className={`position-relative ${styles.specialEventContainer}`}>\n <GenericCalendarDate\n body={{\n type: specialEvent.endDate ? 'range' : 'day',\n text: specialEvent.endDate\n ? `${DateHelper.format(specialEvent.startDate, 'DD')}-${DateHelper.format(specialEvent.endDate, 'DD')}`\n : DateHelper.format(specialEvent.startDate, 'DD')\n }}\n month={getSpecialEventMonthText(specialEvent)}\n theme={props.calendarTheme}\n />\n </div>\n )}\n <div>\n {specialEventIsToday && (\n <div className='rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block'>\n <Text namespace={namespace} phrase='onToday' />\n </div>\n )}\n {props.showComingSoon && (\n <ComingSoonTag className='pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap' />\n )}\n <div className='d-flex align-items-center'>\n {props.alignLogoLeft && props.logo?.url &&\n <div className={`${styles.logoContainerLeft} d-none d-md-block rounded-circle overflow-hidden me-3 ${logoFallbackBgClassName}`}>\n <LazyImage\n src={ImageHelper.createUrl(props.logo?.url, { size: ImageSize.Medium })}\n style={{ backgroundColor: props.logoBgColour }}\n />\n </div>\n }\n <h1 className={`text-white text-shadow pe-3 position-static ${styles.heading} ${getSizeClass(heading)} ${props.alignLogoLeft ? 'w-50' : ''}`}>\n {heading}\n {DetailsComponent && <DetailsComponent />}\n </h1>\n </div>\n </div>\n {!!actions && (\n <div className={styles.actionsContainer}>\n <Actions\n actions={actions}\n sortComponent={sortComponent}\n actionsDropdownClassName={props.actionsDropdownClassName}\n />\n </div>\n )}\n </div>\n {!props.alignLogoLeft && !!props.logo?.url &&\n <div className={styles.logoContainer}>\n <img\n src={ImageHelper.createUrl(props.logo.url, { size: ImageSize.Medium })}\n className='rounded-circle'\n />\n </div>\n }\n </div>\n </header>,\n portalContainerContext?.container\n );\n}, (prevProps, nextProps): boolean => (\n prevProps.actions === nextProps.actions\n && prevProps.heading === nextProps.heading\n && prevProps.logo?.url === nextProps.logo?.url\n));\n\nexport function PartialBannerHeader(): JSX.Element {\n const portalContainerContext = React.useContext(BannerPortalContext);\n\n return PortalHelper.renderInPortalIfExists(\n <div className={`partial-banner partial-loading-background ${styles.banner}`} />,\n portalContainerContext?.container\n );\n}","import { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Classification, Playlist } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\n\nexport const getClassificationAppLink = (params?: HashObject) =>\n (classification?: Classification): Core.AppLink => {\n if (!classification?.id)\n return null;\n\n return ClassificationAppLinkHelper.getAppLink(classification, params || {});\n };\n\nexport const getPlaylistAppLink = (playlist: Playlist, classificationId: string): Core.AppLink => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ],\n params: { classificationId }\n});\n\nexport const getAllTopicsAppLink = (presentationId?: string): Core.AppLink => ({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.PRESENTATION_TOPICS,\n params: presentationId ? { presentationId } : {}\n});","// extracted by mini-css-extract-plugin\nexport default {\"classificationPane\":\"ftCMX\"};","import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CoverFixedPillListLargeWidgetTemplate } from 'libs/shared/components/widgets/curated-widgets/templates/cover-fixed-pill-list-large/CoverFixedPillListLargeWidgetTemplate';\nimport { StatsCoverFixedPillListLargeWidgetTemplate } from 'libs/shared/components/widgets/curated-widgets/templates/stats-cover-fixed-pill-list-large/StatsCoverFixedPillListLargeWidgetTemplate';\nimport { PartialDynamicWidget } from 'libs/shared/components/widgets/dynamic-widget';\nimport { PartialSubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classification, Config, Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { useIsTertiary } from 'apps/onboarding/hooks/useIsTertiary';\nimport { getClassificationAppLink } from 'apps/subjects/utils/ClassificationAppLinks';\n\nimport styles from './presentation-topics.scss';\n\nconst namespace = 'subjects.presentationTopics';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface PresentationTopicsViewQueryParams {\n presentationId?: string;\n}\n\ninterface PresentationTopicsViewProps {\n presentationId?: string;\n}\n\nexport function PresentationTopicsView(props: PresentationTopicsViewProps): React.ReactElement {\n const { hasTopicDirectories } = useSettings(null);\n const breakpoints = useBreakpoints();\n\n /**\n * Data fetching\n */\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const {\n availablePresentations,\n activePresentation,\n hasPresentationsLoaded,\n canAccessPresentation\n } = usePresentation();\n\n const isTertiary = useIsTertiary();\n const products = useProducts();\n\n /**\n * We'll prefer the presentationId query param, but fallback to the\n * user's activePresentation where the queryParam doesn't exist.\n */\n const initialPresentationId = props.presentationId || activePresentation?.id;\n\n const currentPresentation = Flight.useBasicFetch<Presentation>(\n initialPresentationId &&\n ClassificationRequests.presentationById(initialPresentationId)\n );\n\n const hasLoaded = currentPresentation.hasCompleted && hasPresentationsLoaded;\n\n const classification = {\n name: TopicsHelper.getExploreAllTopicsTitle(currentPresentation.data?.name, availablePresentations?.length),\n banner: {\n url: TopicsHelper.getPresentationLevelImage(currentPresentation.data?.learningLevel, 'topic-banner')\n }\n } as Classification;\n\n const children = Flight.useBasicFetch<Classification[]>(\n hasLoaded &&\n ClassificationRequests.topLevelTopics(initialPresentationId || currentPresentation.data?.id)\n );\n\n const title = getPhrase('pageTitleSubject', { title: currentPresentation.data?.name });\n\n useSetPageMetadata({\n title,\n description: getPhrase('pageDescription', { title: currentPresentation.data?.name }),\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: SeoHelper.allowIndexing()\n });\n\n const classificationAppLinkFn = getClassificationAppLink();\n\n function getBreadcrumbs(): Breadcrumb[] {\n return [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }, {\n name: TopicsHelper.getExploreAllTopicsBreadcrumb(currentPresentation.data?.name, availablePresentations?.length),\n active: true\n }];\n }\n\n /**\n * Render Variable\n */\n const dataLoaded = !!config.data && !!availablePresentations && children.data;\n const canViewBreadcrumbs = canAccessPresentation(currentPresentation.data?.id);\n\n /**\n * Additional subjects data to be mixed in with lower-level component analytics collection\n */\n const analyticsData = {\n presentationId: currentPresentation.data?.id,\n presentationName: currentPresentation.data?.name,\n widgetId: WidgetTypeId.Classifications,\n templateId: WidgetTemplate.CoverFixedPillListLarge\n };\n\n const TemplateComponent = hasTopicDirectories\n ? StatsCoverFixedPillListLargeWidgetTemplate\n : CoverFixedPillListLargeWidgetTemplate;\n \n return (\n <main className='bg-white px-4'>\n {dataLoaded\n ? (\n <BannerHeader\n heading={classification?.name}\n banner={classification?.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n imageOptions={{ size: ImageSize.Large }}\n />\n ) : <PartialBannerHeader />\n }\n <div className={`py-3 mb-3 ${canViewBreadcrumbs ? 'border-bottom' : ''}`}>\n {(() => {\n if (!canViewBreadcrumbs)\n return <></>;\n\n if (!dataLoaded)\n return <PartialBreadcrumbs />;\n\n return <Breadcrumbs breadcrumbs={getBreadcrumbs()} />;\n })()}\n </div>\n <div className={styles.classificationPane}>\n {dataLoaded ? (\n <TemplateComponent\n id={currentPresentation.data?.id}\n name=''\n description=''\n analyticsData={analyticsData}\n content={children?.data}\n appLinks={{ classification: classificationAppLinkFn }}\n hasTableOfContents={false}\n settings={{ hasTopicDirectories }}\n isTertiaryCustomerWithoutExchange={isTertiary && !products?.hasProduct(ProductId.Exchange)}\n // TODO: Should this be optional?\n onToggleFollowClassification={() => {}}\n />\n ) : (\n <PartialDynamicWidget partialLoadingComponent={PartialSubjectWidgetItem} />\n )}\n\n {dataLoaded && hasTopicDirectories && availablePresentations?.length > 1 && (\n <ul className='pt-3 list-unstyled'>\n {availablePresentations.filter(p => p.id !== currentPresentation.data?.id).map(presentation => {\n return (\n <li key={presentation.id}>\n <AppLink\n className={`d-flex justify-content-between align-items-center text-white p-3 mb-3 rounded-3 ${styles.link} ${TopicsHelper.getMappedPresentationBackgroundColourClass(presentation?.learningLevel)}`}\n appLink={{\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.PRESENTATION_TOPICS,\n params: { presentationId: presentation.id }\n }}\n appLinkOptions={{ middlewareOptions: { presentationSlug: presentation.vanitySlug } }}\n analyticsData={{\n id: presentation.id,\n name: presentation.name,\n description: presentation.description,\n currentPresentationId: currentPresentation.data?.id,\n currentPresentationName: currentPresentation.data?.name,\n currentPresentationDescription: currentPresentation.data?.description\n }}\n analyticsOptions={{\n entity: EntityType.Presentation,\n actionType: UserAction.Click,\n location: LocationContext.PresentationClassifications\n }}\n >\n <div className='h4 text-shadow mb-0'>\n {(availablePresentations.length > 2 || breakpoints.sm || breakpoints.xs) ? (\n <Text namespace={namespace} phrase='multiPresentationBanner' options={{ name: presentation.name }} />\n ) : (\n <Text namespace={namespace} phrase='singlePresentationBanner' options={{ name: presentation.name }} />\n )}\n </div>\n <IconButton\n svgName={breakpoints.xs ? cvSvgLibrary.Sparkle : cvSvgLibrary.School}\n openInNewTab\n className='btn btn-outline-dark'\n onClick={null}\n >\n <Text\n namespace={namespace}\n phrase={breakpoints.xs ? 'explore' : 'changeTo'}\n options={{ name: presentation.name }}\n />\n </IconButton>\n </AppLink>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n </main>\n );\n}\n"],"names":["namespace","BackButton","props","textShadow","backToName","appLink","color","extraClasses","backPhrase","LanguageService","colorClass","textShadowClass","AppLink","className","SvgContainer","svgName","size","S","defaultProps","RATIO","width","height","getSizeClass","heading","length","BannerHeader","banner","imageCdnUrl","actions","sortComponent","blockColourClass","specialEvent","portalContainerContext","BannerPortalContext","imageWidth","useBreakpoints","xxl","specialEventIsToday","showComingSoon","today","DateHelper","Date","endDate","startDate","imageOptions","ratio","resizeType","url","ImageHelper","fallbackBaseUrl","fallbackCategoryName","type","containerProps","bannerClassName","style","backgroundImage","DetailsComponent","detailsComponent","logoFallbackBgClassName","getBgColorClass","PortalHelper","backButtonAppLink","backButtonText","backButtonClasses","alignLogoLeft","logo","GenericCalendarDate","body","text","month","getSpecialEventMonthText","theme","calendarTheme","Text","phrase","ComingSoonTag","LazyImage","src","backgroundColor","logoBgColour","Actions","actionsDropdownClassName","container","prevProps","nextProps","PartialBannerHeader","getClassificationAppLink","params","classification","id","ClassificationAppLinkHelper","getPhrase","PresentationTopicsView","hasTopicDirectories","useSettings","breakpoints","config","ConfigRequests","usePresentation","availablePresentations","activePresentation","hasPresentationsLoaded","canAccessPresentation","isTertiary","useIsTertiary","products","initialPresentationId","presentationId","currentPresentation","ClassificationRequests","hasLoaded","hasCompleted","name","TopicsHelper","data","learningLevel","children","title","useSetPageMetadata","description","canonicalLink","SeoHelper","allowIndexing","classificationAppLinkFn","dataLoaded","canViewBreadcrumbs","analyticsData","presentationName","widgetId","WidgetTypeId","templateId","WidgetTemplate","TemplateComponent","StatsCoverFixedPillListLargeWidgetTemplate","CoverFixedPillListLargeWidgetTemplate","Breadcrumbs","breadcrumbs","application","action","active","getBreadcrumbs","content","appLinks","hasTableOfContents","settings","isTertiaryCustomerWithoutExchange","hasProduct","ProductId","onToggleFollowClassification","partialLoadingComponent","filter","p","map","presentation","key","appLinkOptions","middlewareOptions","presentationSlug","vanitySlug","currentPresentationId","currentPresentationName","currentPresentationDescription","analyticsOptions","entity","actionType","location","sm","xs","options","IconButton","openInNewTab","onClick"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3192],{75097:(e,t,n)=>{n.d(t,{U:()=>c});var a=n(32735),r=n(95245);function c(e){var t=e.count,n=void 0===t?6:t;return a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"d-flex ps-1"},Array(n).fill(null).map((function(e,t){return a.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},38502:(e,t,n)=>{n.d(t,{r:()=>m});var a=n(32735),r=n(49985),c=n(36848),l=n(18559),o=n(11607),s=n(83914),i=n(87432);function u(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(l.C,{type:l.g.Count,data:e.tab.count})))}function m(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(i.Z.pillTabSelector,"\n ").concat(e.borderRadius?i.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(i.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?i.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.createElement(c.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(i.Z.tabLink,"\n ")},a.createElement(u,{tab:e})):a.createElement(o.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(i.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},31647:(e,t,n)=>{n.d(t,{E:()=>o});var a=n(32735),r=n(23481),c=n(38502),l="rostering.settingHeader";function o(e){var t,n,o=[{name:r.T.getPhrase(l,"syncJobs"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.syncJobs,active:"syncJobs"===e.active},{name:r.T.getPhrase(l,"settings"),appLink:null===(n=e.appLinks)||void 0===n?void 0:n.settings,active:"settings"===e.active}];return a.createElement("div",null,a.createElement(c.r,{tabs:o}))}},65654:(e,t,n)=>{n.d(t,{G:()=>s});var a=n(32735),r=n(23481),c=n(36532);const l={rightButton:"GcqRT"};var o=r.T.encloseNamespace("rostering.syncActionButtonGroup");function s(e){return a.createElement("div",{className:"btn-group px-2",role:"group"},a.createElement(c.u,{title:o("syncNowTooltip"),spanHack:!0,placement:"left",spanHackClassName:l.buttonBorder},a.createElement("button",{type:"button",className:"btn btn-outline-dark ".concat(l.leftButton),onClick:null==e?void 0:e.onSyncNow},o("syncNow"))))}},62394:(e,t,n)=>{n.d(t,{y:()=>l});var a=n(75896),r=n(110),c=new Date,l={parseUTCToLocal:function(e){var t=e.utcHour,n=e.utcWeekdays,c=e.utcMinute,l=void 0===c?0:c,o=n.map((function(e){return r.O.buildLocalDateFromUTC(e,t,l)})),s=o.map((function(e){return e.getDay()}));return{hour:+r.O.format(a.m.first(o),"HH"),daysOfWeek:s,minute:l}},getScheduledJobBySetting:function(e){var t;if(!e||!e.fullSyncSchedule||!e.fullSyncSchedule.enabled)return null;var n=l.parseUTCToLocal({utcHour:e.fullSyncSchedule.hour,utcWeekdays:e.fullSyncSchedule.daysOfWeek,utcMinute:e.fullSyncSchedule.minute}),a=new Date,r=c.getDay(),o=n.daysOfWeek.sort((function(e,t){return e-t})),s=n.daysOfWeek.includes(r),i=n.hour,u=null!==(t=null==n?void 0:n.minute)&&void 0!==t?t:0;if(s&&(a.setHours(i,u,0,0),c<a))return a;var m=new Date,d=o.find((function(e){return e>r}));d||(d=o[0]);var p=Math.abs(d-r);return m.setDate(c.getDate()+p),m.setHours(i,0,0,0),m}}},14177:(e,t,n)=>{n.d(t,{$:()=>C});var a=n(32735),r=n(70680),c=n(81886),l=n(20354),o=n(79447),s=n(83914),i=n(83345),u=n(4594),m=n(76881),d=n(35223),p="userManager.wizardInProgress";function f(e){var t=Math.floor(e.totalItemsComplete/e.totalItems*100)||0;return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},a.createElement(i.x,{namespace:p,phrase:"heading",options:{percentage:t,actionName:e.actionName}})),a.createElement(s.x,{svgName:d.vn.CheckCircle})),a.createElement("p",null,a.createElement(i.x,{namespace:p,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1"},a.createElement("span",{className:"text-info"},e.progressVerbPhrase?a.createElement("span",null,e.progressVerbPhrase):a.createElement(i.x,{namespace:p,phrase:"progressVerb".concat(e.actionVerb)}))," ",e.objectType===u.E.User&&e.userType?a.createElement(i.x,{namespace:p,phrase:e.userType===m.Y.Learner?"progressStudents":"progressStaff",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):e.objectType===u.E.Video?a.createElement(i.x,{namespace:p,phrase:"progressVideos",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):a.createElement(i.x,{namespace:p,phrase:"progressItems",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}})),a.createElement(o.Z,{variant:"info",now:t}))}var g="userManager.wizardSubmitted";function b(e){return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},e.actionName?a.createElement(i.x,{namespace:g,phrase:"heading",options:{actionName:e.actionName}}):a.createElement(i.x,{namespace:g,phrase:"headingGeneric"})),a.createElement(s.x,{svgName:d.vn.CheckCircle})),a.createElement("p",null,a.createElement(i.x,{namespace:g,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1 text-info"},a.createElement(i.x,{namespace:g,phrase:"preparing"})),a.createElement(o.Z,{variant:"info",now:0}))}var v=n(58739),y=n(94644),E=n(89476);function h(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(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)?N(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 N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var S=2e3,x=3;function C(e){var t=h(a.useState(null),2),n=t[0],o=t[1],s=h(a.useState(0),2),i=s[0],u=s[1],m=a.useRef(),d=(0,E.f)(),p=(0,r.I0)();function g(){e.pollJob(N,C)}function N(t){o(t),t.status===v.K.Completed||t.status===v.K.CompletedWithError||t.status===v.K.Failed?window.setTimeout((function(){!function(){var t;e.navLockId&&d.unlock(e.navLockId);var n={jobId:e.jobId};e.userType&&(n.userType=e.userType,p({type:l.a.Actions.INVALIDATE,keys:["school:users","user:count","search:aggregation","search:users"],request:null})),e.statusCompleteAppLink?c.Q.C$.trigger(Object.assign(Object.assign({},e.statusCompleteAppLink),{params:n})):null===(t=e.onStatusCompleted)||void 0===t||t.call(e)}()}),2e3):m.current=window.setTimeout(g,S)}function C(t){i===x&&(window.clearTimeout(m.current),e.navLockId&&d.unlock(e.navLockId),(0,y.r)(t)),u((function(e){return e+1})),m.current=window.setTimeout(g,S)}return a.useEffect((function(){return g(),function(){m.current&&window.clearTimeout(m.current)}}),[]),n&&n.status!==v.K.Submitted&&n.status!==v.K.Queued&&n.status!==v.K.Pending&&0!==n.totalItems?a.createElement(f,{totalItems:n.totalItems,totalItemsComplete:n.processedItems,userType:e.userType,objectType:e.objectType,actionName:e.actionName,actionVerb:e.actionVerb,progressVerbPhrase:e.progressVerbPhrase}):a.createElement(b,{actionName:e.actionName,actionVerb:e.actionVerb})}},44538:(e,t,n)=>{n.d(t,{K:()=>o});var a=n(99940),r=n(97395),c=n(58739),l=n(38389),o={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var n=[];e.jobStatus.includes("completed")&&n.push.apply(n,[c.K.Completed,c.K.CompletedWithError]),e.jobStatus.includes("failed")&&n.push(c.K.Failed),e.jobStatus.includes("inProgress")&&n.push.apply(n,[c.K.Submitted,c.K.Queued,c.K.Pending,c.K.InProgress]),t.status=n}return t.type=l.m.Rostering,{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,n){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:a.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:n}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,n,r,c){return{type:a.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:n,error:r,always:c}}}},299:(e,t,n)=>{n.d(t,{X:()=>l});var a=n(32735),r=n(69217),c=n(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.idField,l=void 0===n?"id":n,o=t.persistNamespace,s=t.initialState?t.initialState:new Map,i=a.useRef(s),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){i.current.clear(),u()}function f(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),i.current.get(e)}function g(){return!!(null==e?void 0:e.length)&&e.every(f)}function b(e){e.forEach((function(e){i.current.set(e,!0)})),u()}return a.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),a.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&b(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!g();e.forEach((function(e){t?i.current.set(e[l].toString(),!0):i.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!i.current.get(e.toString());t?i.current.set(e.toString(),t):i.current.delete(e.toString()),u()},getSelected:function(){return Array.from(i.current.keys())},isChecked:f,bulkChecked:g(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){i.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return f(e)}))},setSelected:b,getSelectedCount:function(){return i.current.size},reset:p,getMap:function(){return i.current}}}},93322:(e,t,n)=>{n.d(t,{F:()=>c});var a=n(32735),r=n(13126);function c(){a.useEffect((function(){return r.e.lockContentWidth(),function(){return r.e.unlockContentWidth()}}),[])}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),c=n(23481),l=n(49935),o=n(22902),s=n(14070),i=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var d="settings.settingsLayout",p=function(e){var t=(0,o.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==i.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:i.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var o,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(l.Oo,{breadcrumbs:[{name:c.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME}}].concat((o=u,function(e){if(Array.isArray(e))return m(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||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}}(o)||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.")}()))})),e.description&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},10373:(e,t,n)=>{n.r(t),n.d(t,{RosteringSyncListView:()=>Fe});var a=n(32735),r=n(70680),c=n(23481),l=n(20354),o=n(75097),s=n(49935);const i={partialHeading:"MwUCZ",partialJobCount:"MUELm",partialCheckbox:"dShe9",partialExportButton:"VL4Tq",row:"z_hGc",checkboxColumn:"IacDe",actionColumn:"_JoZe",usersColumn:"BtHPO",dateColumn:"jpr0N",performedByColumn:"XP4Lf",seeMoreColumn:"A8_Nf",heading:"uThGf",action:"PFOGb",users:"pXZx8",date:"VWS_a",performedBy:"vZeC9"};function u(){return a.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(i.row)},a.createElement("div",{className:"".concat(i.checkboxColumn," d-flex justify-content-center")},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox," ms-0")})),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.action)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.users)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.date)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.performedBy)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function m(){return a.createElement("div",{className:"d-flex py-2 mb-1"},a.createElement("div",{className:"".concat(i.checkboxColumn)}," "),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function d(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"mb-3 mt-n1"},a.createElement(m,null),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null))))}function p(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"partial-loading-background mb-2 ".concat(i.partialHeading)}),a.createElement("div",{className:"pb-3"},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement(s.b2,null),a.createElement("div",{className:"partial-loading-background ".concat(i.partialJobCount)}))),a.createElement("div",{className:"d-flex align-items-center pb-2"},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox)}),a.createElement("div",{className:"ms-4 ps-3"},a.createElement(o.U,{count:3})),a.createElement("div",{className:"ms-auto partial-loading-background ".concat(i.partialExportButton)})),a.createElement(d,null))}var f=n(31647),g=n(110),b=n(58739);const v={complete:"nAOdH",failed:"xkFpC",inProgress:"BjR3y",scheduled:"Ux2b9"};var y=c.T.encloseNamespace("rostering.syncJobsStatusBadge");function E(e){return a.createElement("div",{className:function(){var t="rounded-pill px-2 d-inline-flex align-items-center fw-semibold";switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return"".concat(t," ").concat(v.complete);case b.K.Failed:return"".concat(t," ").concat(v.failed);case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return"".concat(t," ").concat(v.inProgress);case"scheduled":return"".concat(t," ").concat(v.scheduled)}}()},function(){switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return y("complete");case b.K.Failed:return y("failed");case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return y("inProgress");case"scheduled":return y("scheduled")}}())}var h=n(83914),N=n(35223);const S={colored:"MLlUi",avatar:"Z1jn_",logoWrapper:"OAeff",cog:"I7V_R",checkboxPlaceholder:"LTmrp",source:"zYMOT",date:"mnJQP",status:"Pm1Aa",performedBy:"oy6Vm",placeholder:"o0RDO"};var x=c.T.encloseNamespace("rostering.scheduledSyncJobItem");function C(e){return a.createElement("div",{className:S.colored},a.createElement("div",{className:"px-4 py-3 d-flex align-items-center"},a.createElement("div",{className:S.checkboxPlaceholder}),a.createElement("div",{className:"".concat(S.source," px-2")}),a.createElement("div",{className:"".concat(S.date," px-2")},g.O.format(e.scheduledDate,"DD/MM/YYYY, hh:mmA")),a.createElement("div",{className:"".concat(S.status," px-2")},a.createElement(E,{status:"scheduled"})),a.createElement("div",{className:"".concat(S.performedBy," px-2 d-flex align-items-center")},a.createElement("div",{className:"".concat(S.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),x("performedBy")),a.createElement("div",{className:"cursor-pointer d-flex justify-content-end ".concat(S.placeholder)})))}var k=n(65654),w=n(56050),I=n(23715),T=n(20789),j={getCellStyle:function(e){return{width:e,flex:"".concat(e," 0 auto")}}},P=n(89965);const A={colored:"aU1VO",seeMore:"Nfc8Q"};function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var L=c.T.encloseNamespace("shared.bulkJobsAccordionItem");function K(e){var t,n,r=(t=a.useState(!!e.forceExpand&&e.forceExpand(e.job)),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return O(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)?O(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=r[0],l=r[1],o=!!e.disableExpand&&e.disableExpand(e.job);return a.createElement("div",{className:"".concat(A.colored," ").concat(o?"":"cursor-pointer"),onClick:function(){o||l((function(e){return!e}))}},a.createElement("div",{className:"p-4 d-flex align-items-center"},a.createElement("div",{style:j.getCellStyle(60),onClick:function(e){return e.stopPropagation()}},a.createElement(P.X,{id:e.job.id,checked:e.isChecked(e.job.id),onChange:function(){return e.onToggleCheckbox(e.job.id)}})),e.columns.map((function(t){var n=t.render,r=t.renderClassName,c=t.width,l=t.id;return a.createElement("div",{className:"".concat(null!=r?r:""),key:l,style:j.getCellStyle(c)},n(e.job))})),a.createElement("div",{className:"d-flex justify-content-end ".concat(o?"":"cursor-pointer"),style:j.getCellStyle(200)},!o&&a.createElement("div",{className:"".concat(A.seeMore," text-info")},L(c?"seeLess":"seeMore")))),c&&a.createElement("div",{className:"bg-white border-bottom cursor-default",onClick:function(e){return e.stopPropagation()}},e.jobDetailsComponent(e.job)))}var J=n(93659);function B(e){return a.createElement(J.J,{queryParams:e.queryParams,mainFilters:e.filters,appLink:e.appLink,analyticsOptions:e.analyticsOptions,hideHeading:!0,hideDivider:!0,constantIndices:[]})}var R=n(37395),F=n(2102),M=n(83345),H=n(69883),U=n(299),D=n(75795);const V={bulkCheckbox:"XeoQi"};function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var G="shared.bulkJobsAccordions",Z=c.T.encloseNamespace(G);function q(e){var t,n,r,c=(n=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(n,r)||function(e,t){if(e){if("string"==typeof e)return W(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)?W(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],o=c[1],s=(0,U.X)(e.jobs.data),i=(0,H.Z)();return a.createElement("div",{className:"".concat(V.container," pe-3")},a.createElement("div",{className:"d-flex align-items-center pb-2 mt-3"},a.createElement(P.X,{className:V.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:s.bulkChecked,onChange:s.onToggleBulk,indeterminate:s.hasSomeSelections()}),a.createElement("div",{className:"ms-4"},a.createElement(B,{queryParams:e.queryParams,appLink:e.appLink,filters:e.filters})),a.createElement(F.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!l){o(!0);var t=s.getSelected();e.onClickExport(t).then((function(){return i.success(Z("exportSuccess"))})).catch((function(){return i.error(Z("exportError"))})).finally((function(){return o(!1)}))}},disabled:!s.hasSomeSelections()||l,showSpinner:l},a.createElement(M.x,{namespace:G,phrase:"export"}))),a.createElement("div",{className:"d-flex no-wrap mb-2 fw-semibold px-4 py-2"},a.createElement("div",{style:j.getCellStyle(60)}),e.columns.map((function(e){var t=e.id,n=e.header,r=e.headerClassName,c=e.width;return a.createElement("div",{key:t,className:r,style:j.getCellStyle(c)},n)})),a.createElement("div",{style:j.getCellStyle(200)})),!!e.pinnedComponent&&e.pinnedComponent(),!!e.jobs.data.length&&e.jobs.data.map((function(t){return a.createElement(K,{key:t.id,job:t,onToggleCheckbox:s.onToggleItem,isChecked:s.isChecked,jobDetailsComponent:e.jobDetailsComponent,onClickExport:e.onClickExport,imageCdnUrl:e.imageCdnUrl,onPollJob:e.onPollJob,columns:e.columns,forceExpand:e.forceExpand,disableExpand:e.disableExpand})})),!!(null===(t=e.jobs.pagination)||void 0===t?void 0:t.cursors)&&a.createElement(R.t,{className:"p-0 text-end pb-3 mt-3",cursors:e.jobs.pagination.cursors,appLink:D.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var _=n(89725),$=n(10874),Q=n(80247),Y=n(14177);function z(e){return e.jobId?a.createElement("div",null,a.createElement("div",{className:"mb-4"},a.createElement(Y.$,{jobId:e.jobId,pollJob:e.onPollJob(e.jobId),onStatusCompleted:e.onCompleted,actionName:"Sync",actionVerb:"Update",progressVerbPhrase:c.T.getPhrase("rostering.syncJobPolling","progressVerb")}))):a.createElement("div",{className:"text-center"},a.createElement(Q.Z,{as:"div",animation:"border",role:"status"}))}const X={failed:"BSIaY",tag:"NOJhh"};function ee(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return te(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)?te(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 te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var ne="rostering.syncJobSummary";function ae(e){var t=ee(a.useState(null),2),n=t[0],r=t[1],c=ee(a.useState(!1),2),l=c[0],o=c[1];function s(e){var t="",r="";switch(e){case"staff":t="bg-navy",r=N.vn.Staff;break;case"learners":t="bg-blue",r=N.vn.GraduationCap;break;case"classrooms":t="bg-teal",r=N.vn.Classrooms}var c=Object.keys(n[e]).filter((function(e){return"totalProcessed"!==e&&"totalSucceeded"!==e}));return a.createElement("div",{className:"col"},a.createElement("div",{className:"py-3 ps-2 pe-3 rounded border"},a.createElement("div",{className:"d-flex align-items-center px-2 mb-2"},a.createElement("div",{className:"".concat(t," ").concat(X.badge," d-flex align-items-center rounded-circle text-white ps-0 me-2")},a.createElement(h.x,{className:"svg-container ".concat(X.svg),size:h.S.Standard,svgName:r})),a.createElement(M.x,{namespace:ne,phrase:e})),a.createElement("ul",{className:"mb-0"},null==c?void 0:c.map((function(t){return a.createElement("li",{className:"mb-2",key:t},a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded-pill me-2 px-2 d-inline-flex align-items-center fw-semibold ".concat("errored"===t?X.failed:X.tag)},n[e][t]),a.createElement(M.x,{namespace:ne,phrase:t})))})))))}return a.useEffect((function(){n||(o(!0),e.getJobSummary(e.job.id).then((function(e){r(e)})).finally((function(){o(!1)})))}),[e.job.id]),a.createElement(a.Fragment,null,l&&!n&&a.createElement("div",{className:"text-center py-3"},a.createElement(Q.Z,{as:"div",animation:"border",role:"status"})),!!n&&a.createElement("div",{className:"row gx-3 mt-2"},s("staff"),s("learners"),s("classrooms")))}var re=c.T.encloseNamespace("rostering.syncJobDetails");function ce(e){var t=e.job.status===b.K.Completed||e.job.status===b.K.CompletedWithError,n=(0,H.Z)();return a.createElement("div",{className:"py-3 px-4"},a.createElement("div",{className:"d-flex justify-content-between"},e.job.status!==b.K.InProgress&&a.createElement("h1",{className:"h4"},re("heading")),t&&a.createElement($.h,{className:"btn btn-outline-dark fw-semibold",svgName:N.vn.Download,onClick:function(){e.onClickExport([e.job.id]).then((function(){n.success(re("exportSuccess"))})).catch((function(){n.error(re("exportError"))}))}},re("export"))),function(){switch(e.job.status){case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return a.createElement(z,{jobId:e.job.id,onCompleted:e.onCompleted,onPollJob:e.onPollJob});case b.K.Failed:return a.createElement(a.Fragment,null);case b.K.Completed:case b.K.CompletedWithError:return a.createElement(ae,{job:e.job,getJobSummary:e.getJobSummary});default:return a.createElement(a.Fragment,null)}}())}var le=n(86794),oe=n(36532),se=n(55171),ie=n(64818);const ue={avatar:"B8miR",logoWrapper:"higtD",cog:"bNPxa"};var me="rostering.syncJobsAccordion",de=c.T.encloseNamespace(me),pe=[b.K.InProgress,b.K.Pending,b.K.Queued,b.K.Submitted];function fe(e){var t=[I.x$.SortBy([{id:"newest",name:c.T.getPhrase(me,"newest"),default:!0},{id:"oldest",name:c.T.getPhrase(me,"oldest")}]),I.x$.JobStatus()],n=[{id:"id",header:de("syncFrom"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){var t,n=null===(t=e.metadata)||void 0===t?void 0:t.source;if(!n)return a.createElement(a.Fragment,null);var r=se.e.Rostering.sources[n];if(!r)throw new w.H("Unsupported rostering sync source, please add it to HardCoded rostering source");return a.createElement("div",{className:"bg-white rounded-circle border ".concat(ue.logoWrapper," d-flex align-items-center justify-content-center")},a.createElement(oe.u,{spanHack:!0,title:r.name},a.createElement("img",{src:r.iconUrl,alt:r.name})))},width:120},{id:"dateCreated",header:de("date"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return g.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA")},width:220},{id:"status",header:de("status"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return a.createElement(E,{status:e.status})},width:200},{id:"submitterName",header:de("performedBy"),headerClassName:"px-2",renderClassName:"px-2",render:function(t){return function(e,t){return e.submittedByClickView?a.createElement("div",{className:"d-flex align-items-center"},a.createElement(le.b,{className:"me-2 rounded-circle border",size:h.S.Large},a.createElement(_.F,null)),e.submitterName):e.submitterName?a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"me-2 ".concat(ue.avatar)},a.createElement(T.q,{imageCdnUrl:t.imageCdnUrl,initials:ie.l.getInitials(e.submitterName.split(" ")[0],e.submitterName.split(" ")[1])})),e.submitterName):a.createElement("div",{className:"me-2 d-flex align-items-center"},a.createElement("div",{className:"".concat(ue.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),de("scheduledSubmitter"))}(t,e)},width:200}];return a.createElement(q,Object.assign({},e,{filters:t,jobDetailsComponent:function(t){return a.createElement(ce,{job:t,getJobSummary:e.getJobSummary,onPollJob:e.onPollJob,onClickExport:e.onClickExport,onCompleted:e.onCompleted})},columns:n,forceExpand:function(e){return pe.includes(e.status)},disableExpand:function(e){return e.status===b.K.Failed}}))}var ge=n(62394),be=n(16714),ve=n(39151),ye=n(44538),Ee=n(31949),he=n(93322),Ne=n(79612),Se=n(14070),xe=n(97291),Ce=n(29613),ke=n(81803),we=n(23232),Ie=n(99742),Te="rostering.districtRosterEmptyState";function je(){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.DISTRICT_ROSTERING}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Te,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-2"},a.createElement(M.x,{namespace:Te,phrase:"emptyInfo"})),a.createElement(we.u.Info,{className:"w-50 mb-1 fw-semibold"},a.createElement(M.x,{namespace:Te,phrase:"strongInfo"})))}var Pe="rostering.noResults";function Ae(){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.EMPTY_RESULTS}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Pe,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-1"},a.createElement(M.x,{namespace:Pe,phrase:"emptyInfo"})))}var Oe="rostering.noSyncJobs",Le=c.T.encloseNamespace(Oe);function Ke(e){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.NO_SYNC_JOBS}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Oe,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-3"},a.createElement(M.x,{namespace:Oe,phrase:"emptyInfo"})),a.createElement(we.u.Cta,{className:"btn btn-dark",onClick:e.onStartFullSync,text:Le("emptyCta")}))}var Je=n(52834),Be=n(56736),Re=c.T.encloseNamespace("rostering.syncList");function Fe(e){var t,n=l.a.useBasicFetch(ye.K.getSyncList(e.queryParams)),c=l.a.useBasicFetch(ve.L.config()),o=l.a.useBasicFetch(Ee.N.currentUser()),s=l.a.useBasicFetch(ye.K.getRostering()),i=l.a.useBasicFetch(o.data&&s.data&&ye.K.getSyncScheduleSettings(s.data.id)),u=n.hasCompleted&&c.hasCompleted&&i.hasCompleted&&s.hasCompleted;(0,he.F)();var m=l.a.useGetFetchAsync(),d=(0,r.I0)();function g(e){return m(ye.K.getJobSummary(e))}function b(e){return function(t,n){return m(Ce.q.getJobProgress(e,t,n))}}function v(){d({type:l.a.Actions.INVALIDATE,keys:["rostering:sync"],request:null})}function y(e){return m(Ce.q.sendJobReports(e))}(0,Ne.M)({title:Re("pageTitle")});var E=u&&"Active"===(null===(t=s.data)||void 0===t?void 0:t.status),h=(0,Be.B)(o.data),N=h.syncNow,S=h.fullSync;return a.createElement(ke.d,{heading:Re("heading"),breadcrumbs:[Re("breadcrumb")],headingButton:function(){return E?a.createElement(k.G,{onSyncNow:N,onFullSync:S}):a.createElement(a.Fragment,null)},requiredPermissions:be.C.Rostering},E&&a.createElement(f.E,{active:"syncJobs",appLinks:{syncJobs:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING},settings:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING_SETTINGS}}}),function(){var t,r;if("Managed"===(null===(t=s.data)||void 0===t?void 0:t.status))return a.createElement(je,null);if("None"===(null===(r=s.data)||void 0===r?void 0:r.status))return a.createElement(Je.y,null);if(!u)return a.createElement(p,null);if(!n.data.data.length&&!e.queryParams)return a.createElement(Ke,{onStartFullSync:N});var l=ge.y.getScheduledJobBySetting(i.data);return a.createElement(a.Fragment,null,a.createElement(fe,{jobs:n.data,queryParams:e.queryParams,appLink:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING},onClickExport:y,getJobSummary:g,imageCdnUrl:c.data.imageCdnUrl,onPollJob:b,onCompleted:v,pinnedComponent:l?function(){return a.createElement(C,{scheduledDate:l})}:null}),!n.data.data.length&&e.queryParams&&a.createElement(Ae,null))}())}},52834:(e,t,n)=>{n.d(t,{y:()=>u});var a=n(32735),r=n(23232),c=n(98461),l=n(83345),o=n(12778),s=n(99742),i="rostering.requiresSetUp";function u(){return a.createElement(r.u,null,a.createElement(r.u.Image,{src:s.W.EmptyStates.Rostering.REQUIRES_SET_UP}),a.createElement(r.u.Heading,null,a.createElement(l.x,{namespace:i,phrase:"emptyHeading"})),a.createElement(r.u.Info,{className:"w-50 mb-3"},a.createElement(l.x,{namespace:i,phrase:"emptyInfo"})),a.createElement(c.d,{className:"btn btn-dark",href:o.o.getSupportRequestUrl(),newTab:!0},a.createElement(l.x,{namespace:i,phrase:"button"})))}},56736:(e,t,n)=>{n.d(t,{B:()=>p});var a=n(60139),r=n(23481),c=n(20354),l=n(67651),o=n(72081),s=n(38389),i=n(4594),u=n(44538),m=n(69883),d=r.T.encloseNamespace("rostering.syncUtils"),p=function(e){var t=c.a.useGetFetchAsync(),n=(0,m.Z)();return e?{fullSync:function(){},syncNow:function(){var r={type:a.NK.Success,heading:d("startSyncAlertHeading"),message:d("startSyncAlertBody"),appLinkText:d("startSyncAlertAppLinkText"),appLinkClassName:"info-link"},c={name:o.g.Rostering,type:s.m.Rostering,metadata:{targetMasterId:e.customerId,targetMasterType:i.E.Customer},customerId:e.customerId,dataType:l.B.Learner};t(u.K.createJob(c,(function(){n.success(r)}),(function(){n.error(d("error"))})))}}:{syncNow:function(){},fullSync:function(){}}}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}},79447:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(95685),r=n.n(a),c=n(32735),l=n(46304),o=n(58661),s=n(74512);function i(e,t,n){const a=(e-t)/(n-t)*100;return Math.round(1e3*a)/1e3}function u({min:e,now:t,max:n,label:a,visuallyHidden:c,striped:l,animated:o,className:u,style:m,variant:d,bsPrefix:p,...f},g){return(0,s.jsx)("div",{ref:g,...f,role:"progressbar",className:r()(u,`${p}-bar`,{[`bg-${d}`]:d,[`${p}-bar-animated`]:o,[`${p}-bar-striped`]:o||l}),style:{width:`${i(t,e,n)}%`,...m},"aria-valuenow":t,"aria-valuemin":e,"aria-valuemax":n,children:c?(0,s.jsx)("span",{className:"visually-hidden",children:a}):a})}const m=c.forwardRef((({isChild:e=!1,...t},n)=>{const a={min:0,max:100,animated:!1,visuallyHidden:!1,striped:!1,...t};if(a.bsPrefix=(0,l.vE)(a.bsPrefix,"progress"),e)return u(a,n);const{min:i,now:m,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:y,className:E,children:h,...N}=a;return(0,s.jsx)("div",{ref:n,...N,className:r()(E,v),children:h?(0,o.UI)(h,(e=>(0,c.cloneElement)(e,{isChild:!0}))):u({min:i,now:m,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:y},n)})}));m.displayName="ProgressBar";const d=m}}]);
2
- //# sourceMappingURL=3192-5fafe73839-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5259],{75097:(e,t,n)=>{n.d(t,{U:()=>c});var a=n(32735),r=n(95245);function c(e){var t=e.count,n=void 0===t?6:t;return a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"d-flex ps-1"},Array(n).fill(null).map((function(e,t){return a.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},38502:(e,t,n)=>{n.d(t,{r:()=>m});var a=n(32735),r=n(49985),c=n(36848),l=n(18559),o=n(11607),s=n(83914),i=n(87432);function u(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(l.C,{type:l.g.Count,data:e.tab.count})))}function m(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(i.Z.pillTabSelector,"\n ").concat(e.borderRadius?i.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(i.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?i.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.createElement(c.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(i.Z.tabLink,"\n ")},a.createElement(u,{tab:e})):a.createElement(o.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(i.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},31647:(e,t,n)=>{n.d(t,{E:()=>o});var a=n(32735),r=n(23481),c=n(38502),l="rostering.settingHeader";function o(e){var t,n,o=[{name:r.T.getPhrase(l,"syncJobs"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.syncJobs,active:"syncJobs"===e.active},{name:r.T.getPhrase(l,"settings"),appLink:null===(n=e.appLinks)||void 0===n?void 0:n.settings,active:"settings"===e.active}];return a.createElement("div",null,a.createElement(c.r,{tabs:o}))}},65654:(e,t,n)=>{n.d(t,{G:()=>s});var a=n(32735),r=n(23481),c=n(36532);const l={rightButton:"GcqRT"};var o=r.T.encloseNamespace("rostering.syncActionButtonGroup");function s(e){return a.createElement("div",{className:"btn-group px-2",role:"group"},a.createElement(c.u,{title:o("syncNowTooltip"),spanHack:!0,placement:"left",spanHackClassName:l.buttonBorder},a.createElement("button",{type:"button",className:"btn btn-outline-dark ".concat(l.leftButton),onClick:null==e?void 0:e.onSyncNow},o("syncNow"))))}},62394:(e,t,n)=>{n.d(t,{y:()=>l});var a=n(75896),r=n(110),c=new Date,l={parseUTCToLocal:function(e){var t=e.utcHour,n=e.utcWeekdays,c=e.utcMinute,l=void 0===c?0:c,o=n.map((function(e){return r.O.buildLocalDateFromUTC(e,t,l)})),s=o.map((function(e){return e.getDay()}));return{hour:+r.O.format(a.m.first(o),"HH"),daysOfWeek:s,minute:l}},getScheduledJobBySetting:function(e){var t;if(!e||!e.fullSyncSchedule||!e.fullSyncSchedule.enabled)return null;var n=l.parseUTCToLocal({utcHour:e.fullSyncSchedule.hour,utcWeekdays:e.fullSyncSchedule.daysOfWeek,utcMinute:e.fullSyncSchedule.minute}),a=new Date,r=c.getDay(),o=n.daysOfWeek.sort((function(e,t){return e-t})),s=n.daysOfWeek.includes(r),i=n.hour,u=null!==(t=null==n?void 0:n.minute)&&void 0!==t?t:0;if(s&&(a.setHours(i,u,0,0),c<a))return a;var m=new Date,d=o.find((function(e){return e>r}));d||(d=o[0]);var p=Math.abs(d-r);return m.setDate(c.getDate()+p),m.setHours(i,0,0,0),m}}},14177:(e,t,n)=>{n.d(t,{$:()=>C});var a=n(32735),r=n(70680),c=n(81886),l=n(20354),o=n(79447),s=n(83914),i=n(83345),u=n(4594),m=n(76881),d=n(35223),p="userManager.wizardInProgress";function f(e){var t=Math.floor(e.totalItemsComplete/e.totalItems*100)||0;return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},a.createElement(i.x,{namespace:p,phrase:"heading",options:{percentage:t,actionName:e.actionName}})),a.createElement(s.x,{svgName:d.vn.CheckCircle})),a.createElement("p",null,a.createElement(i.x,{namespace:p,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1"},a.createElement("span",{className:"text-info"},e.progressVerbPhrase?a.createElement("span",null,e.progressVerbPhrase):a.createElement(i.x,{namespace:p,phrase:"progressVerb".concat(e.actionVerb)}))," ",e.objectType===u.E.User&&e.userType?a.createElement(i.x,{namespace:p,phrase:e.userType===m.Y.Learner?"progressStudents":"progressStaff",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):e.objectType===u.E.Video?a.createElement(i.x,{namespace:p,phrase:"progressVideos",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}}):a.createElement(i.x,{namespace:p,phrase:"progressItems",options:{totalComplete:e.totalItemsComplete,total:e.totalItems,smartCount:e.totalItems}})),a.createElement(o.Z,{variant:"info",now:t}))}var g="userManager.wizardSubmitted";function b(e){return a.createElement("div",null,a.createElement("div",{className:"d-flex align-items-center mb-2"},a.createElement("h2",{className:"h5 mb-0"},e.actionName?a.createElement(i.x,{namespace:g,phrase:"heading",options:{actionName:e.actionName}}):a.createElement(i.x,{namespace:g,phrase:"headingGeneric"})),a.createElement(s.x,{svgName:d.vn.CheckCircle})),a.createElement("p",null,a.createElement(i.x,{namespace:g,phrase:"info".concat(e.actionVerb)})),a.createElement("p",{className:"mb-1 text-info"},a.createElement(i.x,{namespace:g,phrase:"preparing"})),a.createElement(o.Z,{variant:"info",now:0}))}var v=n(58739),y=n(94644),E=n(89476);function h(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(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)?N(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 N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var S=2e3,x=3;function C(e){var t=h(a.useState(null),2),n=t[0],o=t[1],s=h(a.useState(0),2),i=s[0],u=s[1],m=a.useRef(),d=(0,E.f)(),p=(0,r.I0)();function g(){e.pollJob(N,C)}function N(t){o(t),t.status===v.K.Completed||t.status===v.K.CompletedWithError||t.status===v.K.Failed?window.setTimeout((function(){!function(){var t;e.navLockId&&d.unlock(e.navLockId);var n={jobId:e.jobId};e.userType&&(n.userType=e.userType,p({type:l.a.Actions.INVALIDATE,keys:["school:users","user:count","search:aggregation","search:users"],request:null})),e.statusCompleteAppLink?c.Q.C$.trigger(Object.assign(Object.assign({},e.statusCompleteAppLink),{params:n})):null===(t=e.onStatusCompleted)||void 0===t||t.call(e)}()}),2e3):m.current=window.setTimeout(g,S)}function C(t){i===x&&(window.clearTimeout(m.current),e.navLockId&&d.unlock(e.navLockId),(0,y.r)(t)),u((function(e){return e+1})),m.current=window.setTimeout(g,S)}return a.useEffect((function(){return g(),function(){m.current&&window.clearTimeout(m.current)}}),[]),n&&n.status!==v.K.Submitted&&n.status!==v.K.Queued&&n.status!==v.K.Pending&&0!==n.totalItems?a.createElement(f,{totalItems:n.totalItems,totalItemsComplete:n.processedItems,userType:e.userType,objectType:e.objectType,actionName:e.actionName,actionVerb:e.actionVerb,progressVerbPhrase:e.progressVerbPhrase}):a.createElement(b,{actionName:e.actionName,actionVerb:e.actionVerb})}},44538:(e,t,n)=>{n.d(t,{K:()=>o});var a=n(99940),r=n(97395),c=n(58739),l=n(38389),o={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var n=[];e.jobStatus.includes("completed")&&n.push.apply(n,[c.K.Completed,c.K.CompletedWithError]),e.jobStatus.includes("failed")&&n.push(c.K.Failed),e.jobStatus.includes("inProgress")&&n.push.apply(n,[c.K.Submitted,c.K.Queued,c.K.Pending,c.K.InProgress]),t.status=n}return t.type=l.m.Rostering,{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,n){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:a.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:n}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,n,r,c){return{type:a.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:n,error:r,always:c}}}},299:(e,t,n)=>{n.d(t,{X:()=>l});var a=n(32735),r=n(69217),c=n(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.idField,l=void 0===n?"id":n,o=t.persistNamespace,s=t.initialState?t.initialState:new Map,i=a.useRef(s),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){i.current.clear(),u()}function f(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),i.current.get(e)}function g(){return!!(null==e?void 0:e.length)&&e.every(f)}function b(e){e.forEach((function(e){i.current.set(e,!0)})),u()}return a.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),a.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&b(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!g();e.forEach((function(e){t?i.current.set(e[l].toString(),!0):i.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!i.current.get(e.toString());t?i.current.set(e.toString(),t):i.current.delete(e.toString()),u()},getSelected:function(){return Array.from(i.current.keys())},isChecked:f,bulkChecked:g(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){i.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return f(e)}))},setSelected:b,getSelectedCount:function(){return i.current.size},reset:p,getMap:function(){return i.current}}}},93322:(e,t,n)=>{n.d(t,{F:()=>c});var a=n(32735),r=n(13126);function c(){a.useEffect((function(){return r.e.lockContentWidth(),function(){return r.e.unlockContentWidth()}}),[])}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),c=n(23481),l=n(49935),o=n(22902),s=n(14070),i=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var d="settings.settingsLayout",p=function(e){var t=(0,o.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==i.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:i.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var o,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(l.Oo,{breadcrumbs:[{name:c.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:i.O.SETTINGS,action:s.e.Settings.HOME}}].concat((o=u,function(e){if(Array.isArray(e))return m(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||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}}(o)||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.")}()))})),e.description&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},10373:(e,t,n)=>{n.r(t),n.d(t,{RosteringSyncListView:()=>Fe});var a=n(32735),r=n(70680),c=n(23481),l=n(20354),o=n(75097),s=n(49935);const i={partialHeading:"MwUCZ",partialJobCount:"MUELm",partialCheckbox:"dShe9",partialExportButton:"VL4Tq",row:"z_hGc",checkboxColumn:"IacDe",actionColumn:"_JoZe",usersColumn:"BtHPO",dateColumn:"jpr0N",performedByColumn:"XP4Lf",seeMoreColumn:"A8_Nf",heading:"uThGf",action:"PFOGb",users:"pXZx8",date:"VWS_a",performedBy:"vZeC9"};function u(){return a.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(i.row)},a.createElement("div",{className:"".concat(i.checkboxColumn," d-flex justify-content-center")},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox," ms-0")})),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.action)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.users)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.date)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.performedBy)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function m(){return a.createElement("div",{className:"d-flex py-2 mb-1"},a.createElement("div",{className:"".concat(i.checkboxColumn)}," "),a.createElement("div",{className:"".concat(i.actionColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.usersColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.dateColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.performedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(i.heading)})),a.createElement("div",{className:"".concat(i.seeMoreColumn)}," "))}function d(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"mb-3 mt-n1"},a.createElement(m,null),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null),a.createElement(u,null))))}function p(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"partial-loading-background mb-2 ".concat(i.partialHeading)}),a.createElement("div",{className:"pb-3"},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement(s.b2,null),a.createElement("div",{className:"partial-loading-background ".concat(i.partialJobCount)}))),a.createElement("div",{className:"d-flex align-items-center pb-2"},a.createElement("div",{className:"partial-loading-background ".concat(i.partialCheckbox)}),a.createElement("div",{className:"ms-4 ps-3"},a.createElement(o.U,{count:3})),a.createElement("div",{className:"ms-auto partial-loading-background ".concat(i.partialExportButton)})),a.createElement(d,null))}var f=n(31647),g=n(110),b=n(58739);const v={complete:"nAOdH",failed:"xkFpC",inProgress:"BjR3y",scheduled:"Ux2b9"};var y=c.T.encloseNamespace("rostering.syncJobsStatusBadge");function E(e){return a.createElement("div",{className:function(){var t="rounded-pill px-2 d-inline-flex align-items-center fw-semibold";switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return"".concat(t," ").concat(v.complete);case b.K.Failed:return"".concat(t," ").concat(v.failed);case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return"".concat(t," ").concat(v.inProgress);case"scheduled":return"".concat(t," ").concat(v.scheduled)}}()},function(){switch(e.status){case b.K.Completed:case b.K.CompletedWithError:return y("complete");case b.K.Failed:return y("failed");case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return y("inProgress");case"scheduled":return y("scheduled")}}())}var h=n(83914),N=n(35223);const S={colored:"MLlUi",avatar:"Z1jn_",logoWrapper:"OAeff",cog:"I7V_R",checkboxPlaceholder:"LTmrp",source:"zYMOT",date:"mnJQP",status:"Pm1Aa",performedBy:"oy6Vm",placeholder:"o0RDO"};var x=c.T.encloseNamespace("rostering.scheduledSyncJobItem");function C(e){return a.createElement("div",{className:S.colored},a.createElement("div",{className:"px-4 py-3 d-flex align-items-center"},a.createElement("div",{className:S.checkboxPlaceholder}),a.createElement("div",{className:"".concat(S.source," px-2")}),a.createElement("div",{className:"".concat(S.date," px-2")},g.O.format(e.scheduledDate,"DD/MM/YYYY, hh:mmA")),a.createElement("div",{className:"".concat(S.status," px-2")},a.createElement(E,{status:"scheduled"})),a.createElement("div",{className:"".concat(S.performedBy," px-2 d-flex align-items-center")},a.createElement("div",{className:"".concat(S.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),x("performedBy")),a.createElement("div",{className:"cursor-pointer d-flex justify-content-end ".concat(S.placeholder)})))}var k=n(65654),w=n(56050),I=n(23715),T=n(20789),j={getCellStyle:function(e){return{width:e,flex:"".concat(e," 0 auto")}}},P=n(89965);const A={colored:"aU1VO",seeMore:"Nfc8Q"};function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var L=c.T.encloseNamespace("shared.bulkJobsAccordionItem");function K(e){var t,n,r=(t=a.useState(!!e.forceExpand&&e.forceExpand(e.job)),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return O(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)?O(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=r[0],l=r[1],o=!!e.disableExpand&&e.disableExpand(e.job);return a.createElement("div",{className:"".concat(A.colored," ").concat(o?"":"cursor-pointer"),onClick:function(){o||l((function(e){return!e}))}},a.createElement("div",{className:"p-4 d-flex align-items-center"},a.createElement("div",{style:j.getCellStyle(60),onClick:function(e){return e.stopPropagation()}},a.createElement(P.X,{id:e.job.id,checked:e.isChecked(e.job.id),onChange:function(){return e.onToggleCheckbox(e.job.id)}})),e.columns.map((function(t){var n=t.render,r=t.renderClassName,c=t.width,l=t.id;return a.createElement("div",{className:"".concat(null!=r?r:""),key:l,style:j.getCellStyle(c)},n(e.job))})),a.createElement("div",{className:"d-flex justify-content-end ".concat(o?"":"cursor-pointer"),style:j.getCellStyle(200)},!o&&a.createElement("div",{className:"".concat(A.seeMore," text-info")},L(c?"seeLess":"seeMore")))),c&&a.createElement("div",{className:"bg-white border-bottom cursor-default",onClick:function(e){return e.stopPropagation()}},e.jobDetailsComponent(e.job)))}var J=n(93659);function B(e){return a.createElement(J.J,{queryParams:e.queryParams,mainFilters:e.filters,appLink:e.appLink,analyticsOptions:e.analyticsOptions,hideHeading:!0,hideDivider:!0,constantIndices:[]})}var R=n(37395),F=n(2102),M=n(83345),H=n(69883),U=n(299),D=n(75795);const V={bulkCheckbox:"XeoQi"};function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var G="shared.bulkJobsAccordions",Z=c.T.encloseNamespace(G);function q(e){var t,n,r,c=(n=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(n,r)||function(e,t){if(e){if("string"==typeof e)return W(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)?W(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],o=c[1],s=(0,U.X)(e.jobs.data),i=(0,H.Z)();return a.createElement("div",{className:"".concat(V.container," pe-3")},a.createElement("div",{className:"d-flex align-items-center pb-2 mt-3"},a.createElement(P.X,{className:V.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:s.bulkChecked,onChange:s.onToggleBulk,indeterminate:s.hasSomeSelections()}),a.createElement("div",{className:"ms-4"},a.createElement(B,{queryParams:e.queryParams,appLink:e.appLink,filters:e.filters})),a.createElement(F.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!l){o(!0);var t=s.getSelected();e.onClickExport(t).then((function(){return i.success(Z("exportSuccess"))})).catch((function(){return i.error(Z("exportError"))})).finally((function(){return o(!1)}))}},disabled:!s.hasSomeSelections()||l,showSpinner:l},a.createElement(M.x,{namespace:G,phrase:"export"}))),a.createElement("div",{className:"d-flex no-wrap mb-2 fw-semibold px-4 py-2"},a.createElement("div",{style:j.getCellStyle(60)}),e.columns.map((function(e){var t=e.id,n=e.header,r=e.headerClassName,c=e.width;return a.createElement("div",{key:t,className:r,style:j.getCellStyle(c)},n)})),a.createElement("div",{style:j.getCellStyle(200)})),!!e.pinnedComponent&&e.pinnedComponent(),!!e.jobs.data.length&&e.jobs.data.map((function(t){return a.createElement(K,{key:t.id,job:t,onToggleCheckbox:s.onToggleItem,isChecked:s.isChecked,jobDetailsComponent:e.jobDetailsComponent,onClickExport:e.onClickExport,imageCdnUrl:e.imageCdnUrl,onPollJob:e.onPollJob,columns:e.columns,forceExpand:e.forceExpand,disableExpand:e.disableExpand})})),!!(null===(t=e.jobs.pagination)||void 0===t?void 0:t.cursors)&&a.createElement(R.t,{className:"p-0 text-end pb-3 mt-3",cursors:e.jobs.pagination.cursors,appLink:D.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var _=n(89725),$=n(10874),Q=n(80247),Y=n(14177);function z(e){return e.jobId?a.createElement("div",null,a.createElement("div",{className:"mb-4"},a.createElement(Y.$,{jobId:e.jobId,pollJob:e.onPollJob(e.jobId),onStatusCompleted:e.onCompleted,actionName:"Sync",actionVerb:"Update",progressVerbPhrase:c.T.getPhrase("rostering.syncJobPolling","progressVerb")}))):a.createElement("div",{className:"text-center"},a.createElement(Q.Z,{as:"div",animation:"border",role:"status"}))}const X={failed:"BSIaY",tag:"NOJhh"};function ee(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 a,r,c,l,o=[],s=!0,i=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=c.call(n)).done)&&(o.push(a.value),o.length!==t);s=!0);}catch(e){i=!0,r=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return te(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)?te(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 te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var ne="rostering.syncJobSummary";function ae(e){var t=ee(a.useState(null),2),n=t[0],r=t[1],c=ee(a.useState(!1),2),l=c[0],o=c[1];function s(e){var t="",r="";switch(e){case"staff":t="bg-navy",r=N.vn.Staff;break;case"learners":t="bg-blue",r=N.vn.GraduationCap;break;case"classrooms":t="bg-teal",r=N.vn.Classrooms}var c=Object.keys(n[e]).filter((function(e){return"totalProcessed"!==e&&"totalSucceeded"!==e}));return a.createElement("div",{className:"col"},a.createElement("div",{className:"py-3 ps-2 pe-3 rounded border"},a.createElement("div",{className:"d-flex align-items-center px-2 mb-2"},a.createElement("div",{className:"".concat(t," ").concat(X.badge," d-flex align-items-center rounded-circle text-white ps-0 me-2")},a.createElement(h.x,{className:"svg-container ".concat(X.svg),size:h.S.Standard,svgName:r})),a.createElement(M.x,{namespace:ne,phrase:e})),a.createElement("ul",{className:"mb-0"},null==c?void 0:c.map((function(t){return a.createElement("li",{className:"mb-2",key:t},a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded-pill me-2 px-2 d-inline-flex align-items-center fw-semibold ".concat("errored"===t?X.failed:X.tag)},n[e][t]),a.createElement(M.x,{namespace:ne,phrase:t})))})))))}return a.useEffect((function(){n||(o(!0),e.getJobSummary(e.job.id).then((function(e){r(e)})).finally((function(){o(!1)})))}),[e.job.id]),a.createElement(a.Fragment,null,l&&!n&&a.createElement("div",{className:"text-center py-3"},a.createElement(Q.Z,{as:"div",animation:"border",role:"status"})),!!n&&a.createElement("div",{className:"row gx-3 mt-2"},s("staff"),s("learners"),s("classrooms")))}var re=c.T.encloseNamespace("rostering.syncJobDetails");function ce(e){var t=e.job.status===b.K.Completed||e.job.status===b.K.CompletedWithError,n=(0,H.Z)();return a.createElement("div",{className:"py-3 px-4"},a.createElement("div",{className:"d-flex justify-content-between"},e.job.status!==b.K.InProgress&&a.createElement("h1",{className:"h4"},re("heading")),t&&a.createElement($.h,{className:"btn btn-outline-dark fw-semibold",svgName:N.vn.Download,onClick:function(){e.onClickExport([e.job.id]).then((function(){n.success(re("exportSuccess"))})).catch((function(){n.error(re("exportError"))}))}},re("export"))),function(){switch(e.job.status){case b.K.InProgress:case b.K.Pending:case b.K.Queued:case b.K.Submitted:return a.createElement(z,{jobId:e.job.id,onCompleted:e.onCompleted,onPollJob:e.onPollJob});case b.K.Failed:return a.createElement(a.Fragment,null);case b.K.Completed:case b.K.CompletedWithError:return a.createElement(ae,{job:e.job,getJobSummary:e.getJobSummary});default:return a.createElement(a.Fragment,null)}}())}var le=n(86794),oe=n(36532),se=n(55171),ie=n(64818);const ue={avatar:"B8miR",logoWrapper:"higtD",cog:"bNPxa"};var me="rostering.syncJobsAccordion",de=c.T.encloseNamespace(me),pe=[b.K.InProgress,b.K.Pending,b.K.Queued,b.K.Submitted];function fe(e){var t=[I.x$.SortBy([{id:"newest",name:c.T.getPhrase(me,"newest"),default:!0},{id:"oldest",name:c.T.getPhrase(me,"oldest")}]),I.x$.JobStatus()],n=[{id:"id",header:de("syncFrom"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){var t,n=null===(t=e.metadata)||void 0===t?void 0:t.source;if(!n)return a.createElement(a.Fragment,null);var r=se.e.Rostering.sources[n];if(!r)throw new w.H("Unsupported rostering sync source, please add it to HardCoded rostering source");return a.createElement("div",{className:"bg-white rounded-circle border ".concat(ue.logoWrapper," d-flex align-items-center justify-content-center")},a.createElement(oe.u,{spanHack:!0,title:r.name},a.createElement("img",{src:r.iconUrl,alt:r.name})))},width:120},{id:"dateCreated",header:de("date"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return g.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA")},width:220},{id:"status",header:de("status"),headerClassName:"px-2 py-1",renderClassName:"px-2",render:function(e){return a.createElement(E,{status:e.status})},width:200},{id:"submitterName",header:de("performedBy"),headerClassName:"px-2",renderClassName:"px-2",render:function(t){return function(e,t){return e.submittedByClickView?a.createElement("div",{className:"d-flex align-items-center"},a.createElement(le.b,{className:"me-2 rounded-circle border",size:h.S.Large},a.createElement(_.F,null)),e.submitterName):e.submitterName?a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"me-2 ".concat(ue.avatar)},a.createElement(T.q,{imageCdnUrl:t.imageCdnUrl,initials:ie.l.getInitials(e.submitterName.split(" ")[0],e.submitterName.split(" ")[1])})),e.submitterName):a.createElement("div",{className:"me-2 d-flex align-items-center"},a.createElement("div",{className:"".concat(ue.cog," me-2 rounded-circle text-white bg-dark d-flex align-items-center justify-content-center")},a.createElement(h.x,{svgName:N.vn.Cog,className:"svg-container"})),de("scheduledSubmitter"))}(t,e)},width:200}];return a.createElement(q,Object.assign({},e,{filters:t,jobDetailsComponent:function(t){return a.createElement(ce,{job:t,getJobSummary:e.getJobSummary,onPollJob:e.onPollJob,onClickExport:e.onClickExport,onCompleted:e.onCompleted})},columns:n,forceExpand:function(e){return pe.includes(e.status)},disableExpand:function(e){return e.status===b.K.Failed}}))}var ge=n(62394),be=n(16714),ve=n(39151),ye=n(44538),Ee=n(31949),he=n(93322),Ne=n(79612),Se=n(14070),xe=n(97291),Ce=n(29613),ke=n(81803),we=n(23232),Ie=n(99742),Te="rostering.districtRosterEmptyState";function je(){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.DISTRICT_ROSTERING}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Te,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-2"},a.createElement(M.x,{namespace:Te,phrase:"emptyInfo"})),a.createElement(we.u.Info,{className:"w-50 mb-1 fw-semibold"},a.createElement(M.x,{namespace:Te,phrase:"strongInfo"})))}var Pe="rostering.noResults";function Ae(){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.EMPTY_RESULTS}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Pe,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-1"},a.createElement(M.x,{namespace:Pe,phrase:"emptyInfo"})))}var Oe="rostering.noSyncJobs",Le=c.T.encloseNamespace(Oe);function Ke(e){return a.createElement(we.u,null,a.createElement(we.u.Image,{src:Ie.W.EmptyStates.Rostering.NO_SYNC_JOBS}),a.createElement(we.u.Heading,null,a.createElement(M.x,{namespace:Oe,phrase:"emptyHeading"})),a.createElement(we.u.Info,{className:"w-50 mb-3"},a.createElement(M.x,{namespace:Oe,phrase:"emptyInfo"})),a.createElement(we.u.Cta,{className:"btn btn-dark",onClick:e.onStartFullSync,text:Le("emptyCta")}))}var Je=n(52834),Be=n(56736),Re=c.T.encloseNamespace("rostering.syncList");function Fe(e){var t,n=l.a.useBasicFetch(ye.K.getSyncList(e.queryParams)),c=l.a.useBasicFetch(ve.L.config()),o=l.a.useBasicFetch(Ee.N.currentUser()),s=l.a.useBasicFetch(ye.K.getRostering()),i=l.a.useBasicFetch(o.data&&s.data&&ye.K.getSyncScheduleSettings(s.data.id)),u=n.hasCompleted&&c.hasCompleted&&i.hasCompleted&&s.hasCompleted;(0,he.F)();var m=l.a.useGetFetchAsync(),d=(0,r.I0)();function g(e){return m(ye.K.getJobSummary(e))}function b(e){return function(t,n){return m(Ce.q.getJobProgress(e,t,n))}}function v(){d({type:l.a.Actions.INVALIDATE,keys:["rostering:sync"],request:null})}function y(e){return m(Ce.q.sendJobReports(e))}(0,Ne.M)({title:Re("pageTitle")});var E=u&&"Active"===(null===(t=s.data)||void 0===t?void 0:t.status),h=(0,Be.B)(o.data),N=h.syncNow,S=h.fullSync;return a.createElement(ke.d,{heading:Re("heading"),breadcrumbs:[Re("breadcrumb")],headingButton:function(){return E?a.createElement(k.G,{onSyncNow:N,onFullSync:S}):a.createElement(a.Fragment,null)},requiredPermissions:be.C.Rostering},E&&a.createElement(f.E,{active:"syncJobs",appLinks:{syncJobs:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING},settings:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING_SETTINGS}}}),function(){var t,r;if("Managed"===(null===(t=s.data)||void 0===t?void 0:t.status))return a.createElement(je,null);if("None"===(null===(r=s.data)||void 0===r?void 0:r.status))return a.createElement(Je.y,null);if(!u)return a.createElement(p,null);if(!n.data.data.length&&!e.queryParams)return a.createElement(Ke,{onStartFullSync:N});var l=ge.y.getScheduledJobBySetting(i.data);return a.createElement(a.Fragment,null,a.createElement(fe,{jobs:n.data,queryParams:e.queryParams,appLink:{application:xe.O.SETTINGS,action:Se.e.Settings.ROSTERING},onClickExport:y,getJobSummary:g,imageCdnUrl:c.data.imageCdnUrl,onPollJob:b,onCompleted:v,pinnedComponent:l?function(){return a.createElement(C,{scheduledDate:l})}:null}),!n.data.data.length&&e.queryParams&&a.createElement(Ae,null))}())}},52834:(e,t,n)=>{n.d(t,{y:()=>u});var a=n(32735),r=n(23232),c=n(98461),l=n(83345),o=n(12778),s=n(99742),i="rostering.requiresSetUp";function u(){return a.createElement(r.u,null,a.createElement(r.u.Image,{src:s.W.EmptyStates.Rostering.REQUIRES_SET_UP}),a.createElement(r.u.Heading,null,a.createElement(l.x,{namespace:i,phrase:"emptyHeading"})),a.createElement(r.u.Info,{className:"w-50 mb-3"},a.createElement(l.x,{namespace:i,phrase:"emptyInfo"})),a.createElement(c.d,{className:"btn btn-dark",href:o.o.getSupportRequestUrl(),newTab:!0},a.createElement(l.x,{namespace:i,phrase:"button"})))}},56736:(e,t,n)=>{n.d(t,{B:()=>p});var a=n(60139),r=n(23481),c=n(20354),l=n(67651),o=n(72081),s=n(38389),i=n(4594),u=n(44538),m=n(69883),d=r.T.encloseNamespace("rostering.syncUtils"),p=function(e){var t=c.a.useGetFetchAsync(),n=(0,m.Z)();return e?{fullSync:function(){},syncNow:function(){var r={type:a.NK.Success,heading:d("startSyncAlertHeading"),message:d("startSyncAlertBody"),appLinkText:d("startSyncAlertAppLinkText"),appLinkClassName:"info-link"},c={name:o.g.Rostering,type:s.m.Rostering,metadata:{targetMasterId:e.customerId,targetMasterType:i.E.Customer},customerId:e.customerId,dataType:l.B.Learner};t(u.K.createJob(c,(function(){n.success(r)}),(function(){n.error(d("error"))})))}}:{syncNow:function(){},fullSync:function(){}}}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}},79447:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(95685),r=n.n(a),c=n(32735),l=n(46304),o=n(58661),s=n(74512);function i(e,t,n){const a=(e-t)/(n-t)*100;return Math.round(1e3*a)/1e3}function u({min:e,now:t,max:n,label:a,visuallyHidden:c,striped:l,animated:o,className:u,style:m,variant:d,bsPrefix:p,...f},g){return(0,s.jsx)("div",{ref:g,...f,role:"progressbar",className:r()(u,`${p}-bar`,{[`bg-${d}`]:d,[`${p}-bar-animated`]:o,[`${p}-bar-striped`]:o||l}),style:{width:`${i(t,e,n)}%`,...m},"aria-valuenow":t,"aria-valuemin":e,"aria-valuemax":n,children:c?(0,s.jsx)("span",{className:"visually-hidden",children:a}):a})}const m=c.forwardRef((({isChild:e=!1,...t},n)=>{const a={min:0,max:100,animated:!1,visuallyHidden:!1,striped:!1,...t};if(a.bsPrefix=(0,l.vE)(a.bsPrefix,"progress"),e)return u(a,n);const{min:i,now:m,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:y,className:E,children:h,...N}=a;return(0,s.jsx)("div",{ref:n,...N,className:r()(E,v),children:h?(0,o.UI)(h,(e=>(0,c.cloneElement)(e,{isChild:!0}))):u({min:i,now:m,max:d,label:p,visuallyHidden:f,striped:g,animated:b,bsPrefix:v,variant:y},n)})}));m.displayName="ProgressBar";const d=m}}]);
2
+ //# sourceMappingURL=5259-c1be5e460a-lite.chunk.js.map