@clickview/lite 0.65.0-rc.2 → 0.65.0-rc.3

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.
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 6181-09ef43a648-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6181],{31453:(t,e,r)=>{function n(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];if(!e.length)return"";var n=e.filter((function(t){return!!t}));return n.length?n.join(" "):""}r.d(e,{A:()=>n})},2158:(t,e,r)=>{r.d(e,{T:()=>g});var n=r(32735),o=r(2948),a=r(20354),i=r(38304),c=r(25925),l=r(21750),u=r(1666),s=r(5112),f=r(61699),h=r(31949),d=r(22902),p=r(37802),v=r(75795),m=r(33857);function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function g(t){var e,r,g,b,w=(g=(0,o.D)("has:playlist",null),b=2,function(t){if(Array.isArray(t))return t}(g)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);l=!0);}catch(t){u=!0,o=t}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(g,b)||function(t,e){if(t){if("string"==typeof t)return y(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(t,e):void 0}}(g,b)||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.")}()),E=w[0],x=w[1],L=a.a.useBasicFetch(h.N.currentUser()),N=a.a.useBasicFetch((null===(e=L.data)||void 0===e?void 0:e.isAuthenticated)&&h.N.user(L.data.id)),k=a.a.useBasicFetch((null===(r=L.data)||void 0===r?void 0:r.isAuthenticated)&&u.h.customer(L.data.customerId)),S=a.a.useBasicFetch(l.x.availablePresentations(c.R.Subject)),O=a.a.useBasicFetch(l.x.presentation(c.R.Subject)),C=a.a.useBasicFetch(l.x.availablePresentations(c.R.Curriculum)),j=a.a.useBasicFetch(s.C.getUserPlaylists(new m.l)),P=a.a.useBasicFetch(f.o.mySubjectPreferences()),A=(0,d.T)().hasPermissions;n.useEffect((function(){var t,e,r,n;j.hasCompleted&&E!==!!(null===(e=null===(t=j.data)||void 0===t?void 0:t.data)||void 0===e?void 0:e.length)&&x(!!(null===(n=null===(r=j.data)||void 0===r?void 0:r.data)||void 0===n?void 0:n.length))}),[j.hasCompleted]);var T=L.hasCompleted&&N.hasCompleted&&k.hasCompleted&&S.hasCompleted&&C.hasCompleted&&O.hasCompleted&&j.hasCompleted&&P.hasCompleted&&null!==E,_=(0,p.r)(null).userSettings;return{getPathway:function(){var e,r,n,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=o.jobTitleOverride||(null===(n=null===(r=null===(e=N.data)||void 0===e?void 0:e.userProfile)||void 0===r?void 0:r.metadata)||void 0===n?void 0:n.jobTitle),c=o.preferredPresentationOverride||O.data;return T?i.m.getOnboardingPathway({jobTitle:a,userSettings:_.data,presentations:S.data,curriculums:C.data,preferredSubjects:P.data,preferredPresentation:c,appLink:v.O.getCurrentRoute().appLink,appLinks:t,masterUser:N.data,customer:k.data,hasPlaylist:E,hasPermissions:A,currentUser:L.data}):{screens:{},currentScreen:null,totalScreens:0,totalScreensInProgressBar:0,hasCompletedAllSteps:!1}},hasLoadedPathway:T}}},65898:(t,e,r)=>{r.d(e,{o:()=>d});var n=r(32735),o=r(31453),a=r(2786),i=r(4594);const c="s6wnJ",l="UFQ2T",u="Tp9_3";function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);l=!0);}catch(t){u=!0,o=t}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function h(t){switch(t){case i.E.Video:case i.E.Interactive:case i.E.Clip:return"y0V3Z";case i.E.Subject:case i.E.Playlist:return"x3h8F";case i.E.Series:return"Wrg5x";default:return""}}function d(t){return n.createElement("div",{className:"d-flex"},t.children)}var p={cover:u,full:"AlF2T"},v={base:"uQ2rm",full:""};d.NarrowContent=function(t){return n.createElement("div",{className:"".concat("INvJ0"," mx-auto w-100 ").concat(t.className?t.className:"")},t.children)},d.Left=function(t){return n.createElement("div",{className:"".concat(c," ").concat(t.className?t.className:"")},t.children)},d.LeftImage=function(t){var e=s(n.useState(!1),2),r=e[0],o=e[1],a=s(n.useState(""),2),i=a[0],f=a[1];return n.useEffect((function(){if(t.imageUrl){var e=new Image;return e.onload=function(){return o(!0)},e.src=t.imageUrl,function(){return e.onload=null}}var r=t.fallbackImages[Math.floor(Math.random()*t.fallbackImages.length)];f(r.bgUrl)}),[t.imageUrl]),n.createElement("div",{className:"".concat(c," ").concat(l," ").concat(u," bg-light"),style:{backgroundImage:"url('".concat(i,"')")}},r&&n.createElement(n.Fragment,null,n.createElement("div",{className:"Mtlg9",style:{backgroundImage:"url('".concat(t.imageUrl,"')")}}),n.createElement("div",{className:"".concat("NxEjh"," ").concat(h(t.objectType))},n.createElement("div",{className:"NN9cV"},n.createElement("img",{className:"PkJ8J",src:t.imageUrl,alt:t.title})))))},d.LeftImageWithBackground=function(t){var e={backgroundImage:'url("'.concat(t.imageUrl,'")')};return t.backgroundColor&&(e.backgroundColor=t.backgroundColor),n.createElement("div",{className:"".concat(c," ").concat(l," ").concat(p[t.imageSize||"cover"]," d-flex align-items-center"),style:e,title:t.title})},d.Right=function(t){return n.createElement("div",{className:"".concat("eoZzJ"," ").concat(t.className?t.className:"")},t.children)},d.Header=function(t){var e,r=(null==t?void 0:t.logoComponent)||a.$S;return n.createElement("div",{className:"position-relative"},!!t.bannerComponent&&t.bannerComponent,n.createElement("div",{className:(0,o.A)("YHNgA","position-absolute",null===(e=t.className)||void 0===e?void 0:e.logoContainer)},n.createElement(r,null)),t.children)},d.Content=function(t){return n.createElement("div",{className:(0,o.A)("RVyLM","d-flex flex-column justify-content-center h-100",null==t?void 0:t.className)},t.children)},d.ContentBody=function(t){var e=v[t.width||"base"];return n.createElement("div",{className:(0,o.A)("aLd5V",e,"m-auto p-3",t.className)},t.children)},d.Buttons=function(t){return n.createElement("div",{className:(0,o.A)("position-fixed bg-white d-flex align-items-center","ZW85Q",null==t?void 0:t.className)},t.children)}},75359:(t,e,r)=>{r.d(e,{W:()=>a});var n=r(32735);const o={heading:"Y1xND"};function a(t){return n.createElement("h1",{className:"".concat(o.heading," ").concat(t.className)},t.children)}},12058:(t,e,r)=>{r.d(e,{X:()=>o});var n=r(32735);function o(t){return n.createElement("p",{className:t.className},t.children)}},56080:(t,e,r)=>{r.d(e,{z:()=>v});var n=r(32735),o=r(2158),a=r(65898),i=r(2102),c=r(83345),l=r(67963),u=r(38304);function s(t){var e=n.useMemo((function(){return u.m.getProgress(t.pathway)}),[]),r=e.totalScreensInProgressBar,o=e.currentStepProgressBarNumber,a=e.progressBarPercentage;return e.showProgressBar?n.createElement("div",{className:"".concat("AZBhg"," position-absolute rounded-pill bg-light-blue d-flex align-items-center")},n.createElement("div",{className:"fWxc8"},o," / ",r),n.createElement("div",{className:"flex-grow-1 h-50"},n.createElement("div",{className:"h-100 rounded-pill bg-green",style:{width:"".concat(a,"%")}}))):n.createElement(n.Fragment,null)}function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function h(){h=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var a=e&&e.prototype instanceof b?e:b,i=Object.create(a.prototype),c=new T(n||[]);return o(i,"_invoke",{value:C(t,r,c)}),i}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var p="suspendedStart",v="suspendedYield",m="executing",y="completed",g={};function b(){}function w(){}function E(){}var x={};u(x,i,(function(){return this}));var L=Object.getPrototypeOf,N=L&&L(L(_([])));N&&N!==r&&n.call(N,i)&&(x=N);var k=E.prototype=b.prototype=Object.create(x);function S(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,a,i,c){var l=d(t[o],t,a);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==f(s)&&n.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(s).then((function(t){u.value=t,i(u)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function C(e,r,n){var o=p;return function(a,i){if(o===m)throw Error("Generator is already running");if(o===y){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var l=j(c,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=m;var u=d(e,r,n);if("normal"===u.type){if(o=n.done?y:v,u.arg===g)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=y,n.method="throw",n.arg=u.arg)}}}function j(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,j(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var a=d(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,g;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,g):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,g)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function _(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(f(e)+" is not iterable")}return w.prototype=E,o(k,"constructor",{value:E,configurable:!0}),o(E,"constructor",{value:w,configurable:!0}),w.displayName=u(E,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,u(t,l,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},S(O.prototype),u(O.prototype,c,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new O(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},S(k),u(k,l,"Generator"),u(k,i,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=_,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:_(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var p="onboarding.onboardingLayout";function v(t){return(0,o.T)((0,l.u)()).hasLoadedPathway?n.createElement(c.D.Provider,{value:t.namespace},n.createElement(a.o,null,t.children)):n.createElement(n.Fragment,null)}v.Left=function(t){return n.createElement(a.o.Left,{className:t.className},t.children)},v.Right=function(t){var e,r,u=(e=n.useState(!1),r=2,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,c=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(c.push(n.value),c.length!==e);l=!0);}catch(t){u=!0,o=t}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return c}}(e,r)||function(t,e){if(t){if("string"==typeof t)return d(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(t,e):void 0}}(e,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.")}()),f=u[0],v=u[1],m=(0,l.u)(),y=(0,o.T)(m),g=y.getPathway,b=y.hasLoadedPathway,w=g();if(!b)return n.createElement(n.Fragment,null);var E=w.screens[w.currentScreen];return n.createElement(a.o.Right,{className:t.className},n.createElement(a.o.Header,null,n.createElement(s,{pathway:w})),n.createElement(a.o.Content,null,t.children),!1===t.hasCustomButtons&&n.createElement(a.o.Buttons,null,t.onClickComeBackLater&&n.createElement("button",{className:"btn btn-link btn-lg text-info",onClick:t.onClickComeBackLater},n.createElement(c.x,{namespace:p,phrase:"comeBackLater"})),t.onClickAreYouATeacher&&n.createElement("button",{className:"btn btn-link btn-lg text-info text-start",onClick:t.onClickAreYouATeacher},n.createElement(c.x,{namespace:p,phrase:"areYouATeacher"})),n.createElement("div",{className:"d-flex ms-auto"},!!(null==E?void 0:E.previous)&&n.createElement("button",{className:"btn btn-outline-dark btn-lg me-2",onClick:t.onClickBack},n.createElement(c.x,{namespace:p,phrase:"back"})),n.createElement(i.m,{className:"".concat(t.disableNext?"disabled":""),onClick:function(){return e=this,r=void 0,n=void 0,o=h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!0!==t.hasCustomButtons){e.next=2;break}return e.abrupt("return");case 2:return v(!0),e.prev=3,e.next=6,t.onClickNext();case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(3),v(!1);case 11:case"end":return e.stop()}}),e,null,[[3,8]])})),new(n||(n=Promise))((function(t,a){function i(t){try{l(o.next(t))}catch(t){a(t)}}function c(t){try{l(o.throw(t))}catch(t){a(t)}}function l(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(t){t(r)}))).then(i,c)}l((o=o.apply(e,r||[])).next())}));var e,r,n,o},disabled:t.disableNext,showSpinner:f,variant:"dark",size:"lg"},t.nextText?t.nextText:n.createElement(c.x,{namespace:p,phrase:(null==E?void 0:E.next)?(null==E?void 0:E.next)===(null==E?void 0:E.previous)?"save":"next":"finish"})))))}},73190:(t,e,r)=>{r.d(e,{Q:()=>L});var n=r(81886),o=r(23481),a=r(20354),i=r(65858),c=r(45716),l=r(2158),u=r(38304),s=r(77963),f=r(65728),h=r(31949),d=r(69883),p=r(37802),v=r(14070),m=r(97291),y=r(90815),g=r(67963);function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function w(){w=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var a=e&&e.prototype instanceof y?e:y,i=Object.create(a.prototype),c=new T(n||[]);return o(i,"_invoke",{value:C(t,r,c)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=s;var h="suspendedStart",d="suspendedYield",p="executing",v="completed",m={};function y(){}function g(){}function E(){}var x={};u(x,i,(function(){return this}));var L=Object.getPrototypeOf,N=L&&L(L(_([])));N&&N!==r&&n.call(N,i)&&(x=N);var k=E.prototype=y.prototype=Object.create(x);function S(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,a,i,c){var l=f(t[o],t,a);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==b(s)&&n.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(s).then((function(t){u.value=t,i(u)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function C(e,r,n){var o=h;return function(a,i){if(o===p)throw Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var l=j(c,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?v:d,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=v,n.method="throw",n.arg=u.arg)}}}function j(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,j(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function _(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(b(e)+" is not iterable")}return g.prototype=E,o(k,"constructor",{value:E,configurable:!0}),o(E,"constructor",{value:g,configurable:!0}),g.displayName=u(E,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,u(t,l,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},S(O.prototype),u(O.prototype,c,(function(){return this})),e.AsyncIterator=O,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new O(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},S(k),u(k,l,"Generator"),u(k,i,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=_,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(l&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:_(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}var E=function(t,e,r,n){return new(r||(r=Promise))((function(o,a){function i(t){try{l(n.next(t))}catch(t){a(t)}}function c(t){try{l(n.throw(t))}catch(t){a(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,c)}l((n=n.apply(t,e||[])).next())}))},x="onboarding.hooks";function L(t){var e=(0,g.u)(t),r=(0,l.T)(e).getPathway,b=a.a.useBasicFetch(h.N.currentUser()),L=r(),N=c.H[L.currentScreen],k=(0,d.Z)(),S=(0,y.H)().logEvent,O=(0,p.r)(null==N?void 0:N.analyticsLocation).updateSettingAsync;function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{hasLoader:!1};S(i.Vw.Click,i.Ix.ComeBackLater),O(b.data.id,{name:f.E.HasExitedOnboarding,value:!0,kind:s.g.Permanent}).then((function(){e.hasLoader?n.Q.C$.trigger({application:m.O.ONBOARDING,action:v.e.Onboarding.COMPLETED_LOADER,params:{redirectUrl:t}}):(0,g.i)(t)}))}function j(){S(i.Vw.Complete,i.Ix.Complete),O(b.data.id,{name:f.E.HasCompletedOnboardingV2,value:!0,kind:s.g.Permanent}).then((function(){n.Q.C$.trigger({application:m.O.ONBOARDING,action:v.e.Onboarding.COMPLETED_LOADER,params:{redirectUrl:t}})}))}return{onClickBack:function(){S(i.Vw.Click,i.Ix.Back);var t=u.m.getPreviousAppLink(L,e);n.Q.C$.trigger(t)},exitOnboarding:C,onSaveError:function(){k.error(o.T.getPhrase(x,"saveError"))},completeStepAsync:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isExiting:!1};return E(this,void 0,void 0,w().mark((function o(){var a,i,c;return w().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,O(b.data.id,{name:null==N?void 0:N.setting,value:!0,kind:s.g.Permanent});case 2:if(!t.isExiting){o.next=5;break}return C({hasLoader:!0}),o.abrupt("return");case 5:if(a=r(t),null==(i=a.screens[a.currentScreen])?void 0:i.next){o.next=11;break}return j(),o.abrupt("return");case 11:c=u.m.getNextAppLink(a,e),n.Q.C$.trigger(c);case 13:case"end":return o.stop()}}),o)})))},completeOnboarding:j}}},90815:(t,e,r)=>{r.d(e,{H:()=>p});var n=r(20354),o=r(49985),a=r(65858),i=r(45716),c=r(2158),l=r(38304),u=r(31949),s=r(84703),f=r(67963),h=r(36669),d=r(23923);function p(){var t=(0,f.u)(),e=(0,c.T)(t).getPathway,r=n.a.useBasicFetch(u.N.currentUser()),p=n.a.useBasicFetch(u.N.user(r.data.id)),v=n.a.useBasicFetch(h.t.currentProspect()),m=(0,s.n)(),y=(0,d.B)(),g=m?"kdm":"teacher";return{logEvent:function(t,r){var n,c,u,s,f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},h=e(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),d=i.H[h.currentScreen],m=l.m.getProgress(h),b=h.screens[h.currentScreen],w=null==b?void 0:b.next,E=null==b?void 0:b.previous,x={jobTitle:null===(u=null===(c=null===(n=p.data)||void 0===n?void 0:n.userProfile)||void 0===c?void 0:c.metadata)||void 0===u?void 0:u.jobTitle,prospectId:null===(s=v.data)||void 0===s?void 0:s.id};o.k.logUserAction(Object.assign(Object.assign(Object.assign({currentScreen:null==d?void 0:d.id,nextScreen:w,previousScreen:E,progress:m,pathway:g,isTertiary:y},x),l.m.getOnboardingScreenStates(h)),f),{actionType:t,descriptor:r,location:null==d?void 0:d.analyticsLocation,entity:a.py.User})}}}},36669:(t,e,r)=>{r.d(e,{t:()=>n});var n={currentProspect:function(){return{url:"/api/prospects/current",key:"prospect:current"}},getLookups:function(t){return{url:"/api/prospects/".concat(t,"/lookups"),key:"prospect:".concat(t)}}}}}]);
3
+ //# sourceMappingURL=6181-09ef43a648-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6181-09ef43a648-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/react/utils/ClassNameHelper.ts","file:///app/packages/libs/shared/src/apps/onboarding/hooks/useOnboardingPathway.ts","file:///app/packages/libs/shared/src/components/launchpad/v2/launchpad-v2.scss","file:///app/packages/libs/shared/src/components/launchpad/v2/LaunchpadV2.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/heading/onboarding-screen-heading.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/heading/OnboardingScreenHeading.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/info/OnboardingScreenInfo.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/progress-bar/OnboardingProgressBar.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/progress-bar/onboarding-progress-bar.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/layout/OnboardingLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/hooks/useOnboardingCallbacks.ts","file:///app/packages/projects/lite/src/apps/onboarding/hooks/useOnboardingEventLogger.ts","file:///app/packages/projects/lite/src/apps/sign-up/flight-requests/UpgradeRequests.ts"],"sourcesContent":["type ValidParams = string | boolean | undefined | null;\n\n/**\n * Helper to append classNames.\n * Filters any falsy values before returning classNames.\n * \n * @param ...classNames Array<string | boolean | undefined | null>\n * @returns string\n */\nexport function classNames(...classNames: Array<ValidParams>): string {\n if (!classNames.length) return '';\n\n const filteredClassNames = classNames.filter(className => !!className);\n \n if (!filteredClassNames.length) return '';\n \n return filteredClassNames.join(' ');\n}","import React from 'react';\n\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingScreenAppLinks } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenAppLinks';\nimport { OnboardingPathway, OnboardingPathwayHelper } from 'libs/shared/apps/onboarding/utils/OnboardingPathwayHelper';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Classification, CurrentUser, Customer, PlaylistCollection, Presentation, User } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { PlaylistCollectionIdentifier } from '../../playlists/interfaces';\n\nexport interface GetPathwayOptions {\n jobTitleOverride?: JobTitles;\n preferredPresentationOverride?: Presentation;\n}\n\nexport function useOnboardingPathway(appLinks: OnboardingScreenAppLinks) {\n const [ hasPlaylist, setHasPlaylist ] = useViewModel<boolean>('has:playlist', null);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const user = Flight.useBasicFetch<User>(currentUser.data?.isAuthenticated && UserRequests.user(currentUser.data.id));\n const customer = Flight.useBasicFetch<Customer>(\n currentUser.data?.isAuthenticated && CustomerRequests.customer(currentUser.data.customerId)\n );\n\n const presentations = Flight.useBasicFetch<Presentation[]>(\n ClassificationRequests.availablePresentations(PresentationType.Subject)\n );\n const preferredPresentation = Flight.useBasicFetch<Presentation>(\n ClassificationRequests.presentation(PresentationType.Subject)\n );\n const curriculums = Flight.useBasicFetch<Presentation[]>(\n ClassificationRequests.availablePresentations(PresentationType.Curriculum)\n );\n const playlists = Flight.useBasicFetch<PlaylistCollection>(\n PlaylistRequests.getUserPlaylists(new PlaylistCollectionIdentifier())\n );\n const preferredSubjects = Flight.useBasicFetch<Classification[]>(\n PreferenceRequests.mySubjectPreferences()\n );\n const { hasPermissions } = usePermissions();\n\n React.useEffect(() => {\n if (!playlists.hasCompleted)\n return;\n\n if (hasPlaylist !== !!playlists.data?.data?.length)\n setHasPlaylist(!!playlists.data?.data?.length);\n }, [playlists.hasCompleted]);\n\n const hasLoadedPathway = (\n currentUser.hasCompleted &&\n user.hasCompleted &&\n customer.hasCompleted &&\n presentations.hasCompleted &&\n curriculums.hasCompleted &&\n preferredPresentation.hasCompleted &&\n playlists.hasCompleted &&\n preferredSubjects.hasCompleted &&\n hasPlaylist !== null\n );\n\n const { userSettings } = useSettings(null);\n\n function getPathway(options: GetPathwayOptions = {}): OnboardingPathway {\n const jobTitle = options.jobTitleOverride || user.data?.userProfile?.metadata?.jobTitle;\n const presentation = options.preferredPresentationOverride || preferredPresentation.data;\n\n if (!hasLoadedPathway) {\n return {\n screens: {},\n currentScreen: null,\n totalScreens: 0,\n totalScreensInProgressBar: 0,\n hasCompletedAllSteps: false\n };\n }\n\n return OnboardingPathwayHelper.getOnboardingPathway({\n jobTitle,\n userSettings: userSettings.data,\n presentations: presentations.data,\n curriculums: curriculums.data,\n preferredSubjects: preferredSubjects.data,\n preferredPresentation: presentation,\n appLink: ContextService.getCurrentRoute().appLink,\n appLinks,\n masterUser: user.data,\n customer: customer.data,\n hasPlaylist,\n hasPermissions,\n currentUser: currentUser.data\n });\n }\n\n return {\n getPathway,\n hasLoadedPathway\n };\n}","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"s6wnJ\",\"leftWithImage\":\"UFQ2T\",\"bgCover\":\"Tp9_3\",\"bgFull\":\"AlF2T\",\"right\":\"eoZzJ\",\"rightContent\":\"RVyLM\",\"narrowContent\":\"INvJ0\",\"logo\":\"YHNgA\",\"buttonContainer\":\"ZW85Q\",\"blur\":\"Mtlg9\",\"imageContainer\":\"NxEjh\",\"imagePosition\":\"NN9cV\",\"image\":\"PkJ8J\",\"thumbnail\":\"y0V3Z\",\"tallposter\":\"Wrg5x\",\"cover\":\"x3h8F\",\"contentBody\":\"aLd5V\",\"contentBodyBase\":\"uQ2rm\"};","import React from 'react';\n\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { MasterType } from 'libs/shared/enums/MasterType';\n\nimport styles from './launchpad-v2.scss';\n\nfunction mapObjectTypeToImageClass(objectType: MasterType): string {\n switch (objectType) {\n case MasterType.Video:\n case MasterType.Interactive:\n case MasterType.Clip:\n return styles.thumbnail;\n\n case MasterType.Subject:\n case MasterType.Playlist:\n return styles.cover;\n\n case MasterType.Series:\n return styles.tallposter;\n\n default:\n return '';\n }\n}\n\ninterface LaunchpadV2Props {\n}\n\nexport function LaunchpadV2(props: React.PropsWithChildren<LaunchpadV2Props>): JSX.Element {\n return (\n <div className='d-flex'>\n {props.children}\n </div>\n );\n}\n\ninterface LeftPanelProps {\n className?: string;\n}\n\n\nfunction LeftPanel(props: React.PropsWithChildren<LeftPanelProps>): JSX.Element {\n return (\n <div className={`${styles.left} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface LeftImageProps {\n objectType?: MasterType;\n title?: string;\n imageUrl?: string;\n fallbackImages: LaunchImage[];\n}\n\ninterface LaunchImage {\n bgUrl: string;\n}\n\nfunction LeftImage(props: LeftImageProps): JSX.Element {\n const [ showImage, setShowImage ] = React.useState(false);\n const [ image, setImage ] = React.useState<string>('');\n\n React.useEffect(() => {\n if (!props.imageUrl) {\n const image = props.fallbackImages[Math.floor(Math.random() * props.fallbackImages.length)];\n setImage(image.bgUrl);\n return;\n }\n\n const img = new Image();\n img.onload = () => setShowImage(true);\n img.src = props.imageUrl;\n return () => img.onload = null;\n }, [props.imageUrl]);\n\n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${styles.bgCover} bg-light`}\n style={{ backgroundImage: `url('${image}')` }}\n >\n {showImage &&\n <>\n <div className={styles.blur} style={{ backgroundImage: `url('${props.imageUrl}')` }} />\n <div className={`${styles.imageContainer} ${mapObjectTypeToImageClass(props.objectType)}`}>\n <div className={styles.imagePosition}>\n <img className={styles.image} src={props.imageUrl} alt={props.title} />\n </div>\n </div>\n </>\n }\n </div>\n );\n}\n\ntype ImageSizeType = 'cover' | 'full';\n\ninterface LeftImageWithBackgroundProps {\n imageUrl: string;\n imageSize?: ImageSizeType;\n backgroundColor?: string;\n title?: string;\n}\n\nconst imageSizeMap: {[key in ImageSizeType]: string} = {\n cover: styles.bgCover,\n full: styles.bgFull\n};\n\nfunction LeftImageWithBackground(props: LeftImageWithBackgroundProps): JSX.Element {\n const bgStyles: React.CSSProperties = {\n backgroundImage: `url(\"${props.imageUrl}\")`\n };\n\n if (props.backgroundColor)\n bgStyles.backgroundColor = props.backgroundColor;\n \n return (\n <div\n className={`${styles.left} ${styles.leftWithImage} ${imageSizeMap[props.imageSize || 'cover']} d-flex align-items-center`}\n style={bgStyles}\n title={props.title}\n />\n );\n}\n\ninterface RightPanelProps {\n className?: string;\n}\n\nexport function RightPanel(props: React.PropsWithChildren<RightPanelProps>): JSX.Element {\n return (\n <div className={`${styles.right} ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface HeaderProps {\n bannerComponent?: JSX.Element;\n logoComponent?: () => JSX.Element;\n className?: {\n logoContainer?: string;\n }\n}\n\n\nfunction Header(props: React.PropsWithChildren<HeaderProps>): JSX.Element {\n const LogoComponent = props?.logoComponent || ClickViewLogo;\n \n return (\n <div className='position-relative'>\n {!!props.bannerComponent &&\n props.bannerComponent\n }\n <div className={classNames(styles.logo, 'position-absolute', props.className?.logoContainer)}>\n <LogoComponent />\n </div>\n {props.children}\n </div>\n );\n}\n\ninterface ContentProps {\n className?: string;\n}\n\nfunction Content(props: React.PropsWithChildren<ContentProps>): JSX.Element {\n return (\n <div className={classNames(styles.rightContent, 'd-flex flex-column justify-content-center h-100', props?.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface ContentBodyProps {\n className?: string;\n width?: 'base' | 'full';\n}\n\nconst widthClassNameMap: {[key in ContentBodyProps['width']]: string} = {\n base: styles.contentBodyBase,\n full: ''\n};\n\nfunction ContentBody(props: React.PropsWithChildren<ContentBodyProps>): JSX.Element {\n const widthClassName = widthClassNameMap[props.width || 'base'];\n return (\n <div className={classNames(styles.contentBody, widthClassName, 'm-auto p-3', props.className)}>\n {props.children}\n </div>\n );\n}\n\ninterface NarrowContentProps {\n className?: string;\n}\n\nLaunchpadV2.NarrowContent = NarrowContent;\nfunction NarrowContent(props: React.PropsWithChildren<NarrowContentProps>): JSX.Element {\n return (\n <div className={`${styles.narrowContent} mx-auto w-100 ${props.className ? props.className : ''}`}>\n {props.children}\n </div>\n );\n}\n\ninterface ButtonsProps {\n className?: string;\n}\n\nfunction Buttons(props: React.PropsWithChildren<ButtonsProps>): JSX.Element {\n return (\n <div className={classNames('position-fixed bg-white d-flex align-items-center', styles.buttonContainer, props?.className)}>\n {props.children}\n </div>\n );\n}\n\n/**\n * Intended ussage below:\n * \n * <LaunchpadV2>\n * <LaunchpadV2.Left>\n * // Your LHS content here\n * </LaunchpadV2.Left>\n * <LaunchpadV2.Right>\n * <LaunchpadV2.Header />\n * <LaunchpadV2.Content>\n * // Can omit this if it needs to be full width\n * <LaunchpadV2.ContentBody width=\"...\">\n * // Your main content here\n * </LaunchpadV2.ContentBody>\n * </LaunchpadV2.Content>\n * \n * // Omit this and put your buttons in content\n * // if you want your buttons immediately under your content rather \n * // than at the bottom of the screen\n * <LaunchpadV2.Buttons />\n * \n * </LaunchpadV2.Right>\n * </LaunchpadV2>\n * \n * - Sha\n */\n\nLaunchpadV2.Left = LeftPanel;\nLaunchpadV2.LeftImage = LeftImage;\nLaunchpadV2.LeftImageWithBackground = LeftImageWithBackground;\nLaunchpadV2.Right = RightPanel;\nLaunchpadV2.Header = Header;\nLaunchpadV2.Content = Content;\nLaunchpadV2.ContentBody = ContentBody;\nLaunchpadV2.Buttons = Buttons;\n","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"Y1xND\"};","import React from 'react';\n\nimport styles from './onboarding-screen-heading.scss';\n\ninterface OnboardingScreenHeadingProps {\n className?: string;\n}\n\nexport function OnboardingScreenHeading(props: React.PropsWithChildren<OnboardingScreenHeadingProps>): JSX.Element {\n return (\n <h1 className={`${styles.heading} ${props.className}`}>\n {props.children}\n </h1>\n );\n}","import React from 'react';\n\ninterface OnboardingScreenInfoProps {\n className?: string;\n}\n\nexport function OnboardingScreenInfo(props: React.PropsWithChildren<OnboardingScreenInfoProps>): JSX.Element {\n return (\n <p className={props.className}>\n {props.children}\n </p>\n );\n}","import React from 'react';\n\nimport { OnboardingPathway, OnboardingPathwayHelper } from 'libs/shared/apps/onboarding/utils/OnboardingPathwayHelper';\n\nimport styles from './onboarding-progress-bar.scss';\n\ninterface OnboardingProgressBarProps {\n pathway: OnboardingPathway;\n}\n\nexport function OnboardingProgressBar(props: OnboardingProgressBarProps): JSX.Element {\n /**\n * We only want to generate the progress bar once per view, otherwise the bar\n * may change out of sync with the current screen after switching pathways.\n */\n const {\n totalScreensInProgressBar,\n currentStepProgressBarNumber,\n progressBarPercentage,\n showProgressBar\n } = React.useMemo(() => OnboardingPathwayHelper.getProgress(props.pathway), []);\n\n if (!showProgressBar)\n return <></>;\n\n return (\n <div className={`${styles.progressBar} position-absolute rounded-pill bg-light-blue d-flex align-items-center`}>\n <div className={styles.currentStep}>\n {currentStepProgressBarNumber} / {totalScreensInProgressBar}\n </div>\n <div className='flex-grow-1 h-50'>\n <div className='h-100 rounded-pill bg-green' style={{ width: `${progressBarPercentage}%` }} />\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"progressBar\":\"AZBhg\",\"currentStep\":\"fWxc8\"};","import React from 'react';\n\nimport { useOnboardingPathway } from 'libs/shared/apps/onboarding/hooks/useOnboardingPathway';\nimport { LaunchpadV2 } from 'libs/shared/components/launchpad/v2/LaunchpadV2';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { getOnboardingAppLinks } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nimport { OnboardingProgressBar } from '../progress-bar/OnboardingProgressBar';\n\nconst namespace = 'onboarding.onboardingLayout';\n\ninterface OnboardingLayoutProps {\n namespace?: string;\n}\n\nexport function OnboardingLayout(props: React.PropsWithChildren<OnboardingLayoutProps>): JSX.Element {\n const { hasLoadedPathway } = useOnboardingPathway(getOnboardingAppLinks());\n\n if (!hasLoadedPathway)\n return <></>;\n\n return (\n <LanguageNamespaceContext.Provider value={props.namespace}>\n <LaunchpadV2>\n {props.children}\n </LaunchpadV2>\n </LanguageNamespaceContext.Provider>\n );\n}\n\ninterface LeftPanelProps {\n className?: string;\n}\n\nfunction LeftPanel(props: React.PropsWithChildren<LeftPanelProps>): JSX.Element {\n return (\n <LaunchpadV2.Left className={props.className}>\n {props.children}\n </LaunchpadV2.Left>\n );\n}\n\ntype SharedRightPanelProps = {\n className?: string;\n};\n\nexport type OnboardingRightPanelProps = SharedRightPanelProps & ({\n hasCustomButtons: false;\n onClickComeBackLater?: () => void;\n onClickAreYouATeacher?: () => void;\n onClickBack: () => void;\n onClickNext: () => Promise<void>;\n disableNext?: boolean;\n nextText?: string;\n} | {\n hasCustomButtons: true;\n});\n\nfunction RightPanel(props: React.PropsWithChildren<OnboardingRightPanelProps>): JSX.Element {\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const appLinks = getOnboardingAppLinks();\n const { getPathway, hasLoadedPathway } = useOnboardingPathway(appLinks);\n const pathway = getPathway();\n\n async function onClickNext(): Promise<void> {\n if (props.hasCustomButtons === true)\n return;\n\n setShowSpinner(true);\n\n try {\n await props.onClickNext();\n } catch {\n setShowSpinner(false);\n }\n }\n\n if (!hasLoadedPathway)\n return <></>;\n\n const currentScreenInfo = pathway.screens[pathway.currentScreen];\n\n return (\n <LaunchpadV2.Right className={props.className}>\n <LaunchpadV2.Header>\n <OnboardingProgressBar pathway={pathway} />\n </LaunchpadV2.Header>\n\n <LaunchpadV2.Content>\n {props.children}\n </LaunchpadV2.Content>\n\n {props.hasCustomButtons === false && (\n <LaunchpadV2.Buttons>\n {props.onClickComeBackLater && (\n <button className='btn btn-link btn-lg text-info' onClick={props.onClickComeBackLater}>\n <Text namespace={namespace} phrase='comeBackLater' />\n </button>\n )}\n\n {props.onClickAreYouATeacher && (\n <button className='btn btn-link btn-lg text-info text-start' onClick={props.onClickAreYouATeacher}>\n <Text namespace={namespace} phrase='areYouATeacher' />\n </button>\n )}\n\n <div className='d-flex ms-auto'>\n {!!currentScreenInfo?.previous && (\n <button className='btn btn-outline-dark btn-lg me-2' onClick={props.onClickBack}>\n <Text namespace={namespace} phrase='back' />\n </button>\n )}\n <SpinnerButton\n className={`${props.disableNext ? 'disabled' : ''}`}\n onClick={onClickNext}\n disabled={props.disableNext}\n showSpinner={showSpinner}\n variant='dark'\n size='lg'\n >\n {props.nextText ? (\n props.nextText\n ) : (\n <Text\n namespace={namespace}\n phrase={\n !currentScreenInfo?.next\n ? 'finish'\n : currentScreenInfo?.next === currentScreenInfo?.previous\n ? 'save'\n : 'next'}\n />\n )}\n </SpinnerButton>\n </div>\n </LaunchpadV2.Buttons>\n )}\n </LaunchpadV2.Right>\n );\n}\n\nOnboardingLayout.Left = LeftPanel;\nOnboardingLayout.Right = RightPanel;","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { OnboardingScreenConfigs } from 'libs/shared/apps/onboarding/constants/OnboardingScreenConfigs';\nimport { GetPathwayOptions, useOnboardingPathway } from 'libs/shared/apps/onboarding/hooks/useOnboardingPathway';\nimport { OnboardingPathwayHelper } from 'libs/shared/apps/onboarding/utils/OnboardingPathwayHelper';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useOnboardingEventLogger } from 'apps/onboarding/hooks/useOnboardingEventLogger';\nimport { getOnboardingAppLinks, onFinishOnboarding } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nconst namespace = 'onboarding.hooks';\n\ninterface CompleteStepOptions extends GetPathwayOptions {\n isExiting?: boolean;\n}\n\ninterface ExitStepOptions {\n hasLoader?: boolean;\n}\n\nexport function useOnboardingCallbacks(redirectUrl: string) {\n const appLinks = getOnboardingAppLinks(redirectUrl);\n const { getPathway } = useOnboardingPathway(appLinks);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const pathway = getPathway();\n const screenConfig = OnboardingScreenConfigs[pathway.currentScreen];\n const alerts = useAlerts();\n\n const { logEvent } = useOnboardingEventLogger();\n\n const { updateSettingAsync } = useSettings(screenConfig?.analyticsLocation);\n\n async function completeStepAsync(options: CompleteStepOptions = { isExiting: false }): Promise<void> {\n await updateSettingAsync(currentUser.data.id, {\n name: screenConfig?.setting,\n value: true,\n kind: SettingKind.Permanent\n });\n\n if (options.isExiting) {\n exitOnboarding({ hasLoader: true });\n return;\n }\n\n const pathway = getPathway(options);\n\n const currentNode = pathway.screens[pathway.currentScreen];\n const nextScreenId = currentNode?.next;\n\n if (!nextScreenId) {\n completeOnboarding();\n return;\n }\n\n const nextAppLink = OnboardingPathwayHelper.getNextAppLink(pathway, appLinks);\n Core.AppLinkHelper.trigger(nextAppLink);\n }\n\n function onSaveError(): void {\n alerts.error(LanguageService.getPhrase(namespace, 'saveError'));\n }\n\n function onClickBack(): void {\n logEvent(UserAction.Click, OnboardingDescriptor.Back);\n\n const previousAppLink = OnboardingPathwayHelper.getPreviousAppLink(pathway, appLinks);\n Core.AppLinkHelper.trigger(previousAppLink);\n }\n\n function exitOnboarding(options: ExitStepOptions = { hasLoader: false }): void {\n logEvent(UserAction.Click, OnboardingDescriptor.ComeBackLater);\n\n updateSettingAsync(currentUser.data.id, {\n name: SettingName.HasExitedOnboarding,\n value: true,\n kind: SettingKind.Permanent\n }).then(() => {\n if (options.hasLoader) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.ONBOARDING,\n action: Actions.Onboarding.COMPLETED_LOADER,\n params: { redirectUrl }\n });\n return;\n }\n\n onFinishOnboarding(redirectUrl);\n });\n }\n\n function completeOnboarding(): void {\n logEvent(UserAction.Complete, OnboardingDescriptor.Complete);\n\n updateSettingAsync(currentUser.data.id, {\n name: SettingName.HasCompletedOnboardingV2,\n value: true,\n kind: SettingKind.Permanent\n }).then(() => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.ONBOARDING,\n action: Actions.Onboarding.COMPLETED_LOADER,\n params: { redirectUrl }\n });\n });\n }\n\n return {\n onClickBack,\n exitOnboarding,\n onSaveError,\n completeStepAsync,\n completeOnboarding\n };\n}","import { Flight } from 'libs/common/react/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { OnboardingScreenConfigs } from 'libs/shared/apps/onboarding/constants/OnboardingScreenConfigs';\nimport { GetPathwayOptions, useOnboardingPathway } from 'libs/shared/apps/onboarding/hooks/useOnboardingPathway';\nimport { OnboardingPathwayHelper } from 'libs/shared/apps/onboarding/utils/OnboardingPathwayHelper';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useIsKDM } from 'libs/shared/hooks/UseIsKdm';\nimport { CurrentUser, User } from 'libs/shared/interfaces';\nimport { Prospect } from 'libs/shared/interfaces/models/Prospect';\n\nimport { getOnboardingAppLinks } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\nimport { UpgradeRequests } from 'apps/sign-up/flight-requests/UpgradeRequests';\n\nimport { useIsTertiary } from './useIsTertiary';\n\nexport function useOnboardingEventLogger() {\n const appLinks = getOnboardingAppLinks();\n const { getPathway } = useOnboardingPathway(appLinks);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const user = Flight.useBasicFetch<User>(UserRequests.user(currentUser.data.id));\n const prospect = Flight.useBasicFetch<Prospect>(UpgradeRequests.currentProspect());\n\n const isKDM = useIsKDM();\n const isTertiary = useIsTertiary();\n\n const pathwayName = isKDM ? 'kdm' : 'teacher';\n\n function logEvent(\n actionType: UserAction,\n descriptor: OnboardingDescriptor,\n additionalData: HashObject = {},\n pathwayOptions: GetPathwayOptions = {}\n ): void {\n const pathway = getPathway(pathwayOptions);\n const screenConfig = OnboardingScreenConfigs[pathway.currentScreen];\n\n const currentProgress = OnboardingPathwayHelper.getProgress(pathway);\n\n const currentNode = pathway.screens[pathway.currentScreen];\n const nextScreenId = currentNode?.next;\n const previousScreenId = currentNode?.previous;\n\n const userData = {\n jobTitle: user.data?.userProfile?.metadata?.jobTitle,\n prospectId: prospect.data?.id\n };\n\n AnalyticsHelper.logUserAction({\n currentScreen: screenConfig?.id,\n nextScreen: nextScreenId,\n previousScreen: previousScreenId,\n progress: currentProgress,\n pathway: pathwayName,\n isTertiary,\n ...userData,\n ...OnboardingPathwayHelper.getOnboardingScreenStates(pathway),\n ...additionalData\n }, {\n actionType,\n descriptor,\n location: screenConfig?.analyticsLocation,\n entity: EntityType.User\n });\n }\n\n return { logEvent };\n}","import { Flight } from 'libs/common/flight';\n\nexport const UpgradeRequests = {\n currentProspect(): Flight.Request {\n return {\n url: '/api/prospects/current',\n key: 'prospect:current'\n };\n },\n getLookups(prospectId: string): Flight.Request {\n return {\n url: `/api/prospects/${prospectId}/lookups`,\n key: `prospect:${prospectId}`\n };\n }\n};"],"names":["classNames","length","filteredClassNames","filter","className","join","useOnboardingPathway","appLinks","hasPlaylist","setHasPlaylist","currentUser","user","data","isAuthenticated","id","customer","customerId","presentations","preferredPresentation","curriculums","playlists","preferredSubjects","hasPermissions","hasCompleted","hasLoadedPathway","userSettings","getPathway","options","jobTitle","jobTitleOverride","userProfile","metadata","presentation","preferredPresentationOverride","appLink","masterUser","screens","currentScreen","totalScreens","totalScreensInProgressBar","hasCompletedAllSteps","mapObjectTypeToImageClass","objectType","MasterType","LaunchpadV2","props","children","imageSizeMap","cover","full","widthClassNameMap","base","NarrowContent","Left","LeftImage","showImage","setShowImage","image","setImage","imageUrl","img","Image","onload","src","fallbackImages","Math","floor","random","bgUrl","style","backgroundImage","alt","title","LeftImageWithBackground","bgStyles","backgroundColor","imageSize","Right","Header","LogoComponent","logoComponent","ClickViewLogo","bannerComponent","logoContainer","Content","ContentBody","widthClassName","width","Buttons","OnboardingScreenHeading","OnboardingScreenInfo","OnboardingProgressBar","OnboardingPathwayHelper","pathway","currentStepProgressBarNumber","progressBarPercentage","showProgressBar","namespace","OnboardingLayout","value","showSpinner","setShowSpinner","currentScreenInfo","hasCustomButtons","onClickComeBackLater","onClick","Text","phrase","onClickAreYouATeacher","previous","onClickBack","SpinnerButton","disableNext","onClickNext","disabled","variant","size","nextText","next","useOnboardingCallbacks","redirectUrl","screenConfig","alerts","logEvent","updateSettingAsync","analyticsLocation","exitOnboarding","hasLoader","name","kind","then","application","action","params","completeOnboarding","previousAppLink","onSaveError","error","completeStepAsync","isExiting","setting","currentNode","nextAppLink","useOnboardingEventLogger","prospect","isKDM","isTertiary","pathwayName","actionType","descriptor","additionalData","currentProgress","nextScreenId","previousScreenId","userData","prospectId","nextScreen","previousScreen","progress","location","entity","UpgradeRequests","currentProspect","url","key","getLookups"],"sourceRoot":""}