@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.
package/dist/bundles.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "appBundle": "bundle-7b9e0a0911.min.js",
2
+ "appBundle": "bundle-09a768e88a.min.js",
3
3
  "cssBundle": "lite-app-0fdd5b0631.css",
4
4
  "polyfillBundle": "polyfills-644ebb0602.min.js"
5
5
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3991],{2158:(e,t,r)=>{r.d(t,{T:()=>b});var a=r(32735),n=r(2948),l=r(20354),c=r(38304),i=r(25925),o=r(21750),s=r(1666),u=r(5112),m=r(61699),d=r(31949),f=r(22902),v=r(37802),h=r(75795),p=r(33857);function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function b(e){var t,r,b,E,g=(b=(0,n.D)("has:playlist",null),E=2,function(e){if(Array.isArray(e))return e}(b)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw n}}return i}}(b,E)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}(b,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.")}()),N=g[0],w=g[1],x=l.a.useBasicFetch(d.N.currentUser()),S=l.a.useBasicFetch((null===(t=x.data)||void 0===t?void 0:t.isAuthenticated)&&d.N.user(x.data.id)),j=l.a.useBasicFetch((null===(r=x.data)||void 0===r?void 0:r.isAuthenticated)&&s.h.customer(x.data.customerId)),C=l.a.useBasicFetch(o.x.availablePresentations(i.R.Subject)),T=l.a.useBasicFetch(o.x.presentation(i.R.Subject)),A=l.a.useBasicFetch(o.x.availablePresentations(i.R.Curriculum)),D=l.a.useBasicFetch(u.C.getUserPlaylists(new p.l)),P=l.a.useBasicFetch(m.o.mySubjectPreferences()),I=(0,f.T)().hasPermissions;a.useEffect((function(){var e,t,r,a;D.hasCompleted&&N!==!!(null===(t=null===(e=D.data)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)&&w(!!(null===(a=null===(r=D.data)||void 0===r?void 0:r.data)||void 0===a?void 0:a.length))}),[D.hasCompleted]);var O=x.hasCompleted&&S.hasCompleted&&j.hasCompleted&&C.hasCompleted&&A.hasCompleted&&T.hasCompleted&&D.hasCompleted&&P.hasCompleted&&null!==N,k=(0,v.r)(null).userSettings;return{getPathway:function(){var t,r,a,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=n.jobTitleOverride||(null===(a=null===(r=null===(t=S.data)||void 0===t?void 0:t.userProfile)||void 0===r?void 0:r.metadata)||void 0===a?void 0:a.jobTitle),i=n.preferredPresentationOverride||T.data;return O?c.m.getOnboardingPathway({jobTitle:l,userSettings:k.data,presentations:C.data,curriculums:A.data,preferredSubjects:P.data,preferredPresentation:i,appLink:h.O.getCurrentRoute().appLink,appLinks:e,masterUser:S.data,customer:j.data,hasPlaylist:N,hasPermissions:I,currentUser:x.data}):{screens:{},currentScreen:null,totalScreens:0,totalScreensInProgressBar:0,hasCompletedAllSteps:!1}},hasLoadedPathway:O}}},63478:(e,t,r)=>{r.d(t,{B:()=>n});var a=r(32735);function n(e){return a.createElement("div",{className:"w-100 h-100 position-fixed bg-".concat(e.variant)},e.children)}},52588:(e,t,r)=>{r.d(t,{R:()=>u});var a=r(32735),n=r(75896),l=r(55171),c=r(54610),i=r(79967),o=r(67453);function s(e,t){return"mobile"===t?function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="12.5%",r.animationDelay="0.5s",r;case 1:return r.right="7.5%",r.animationDelay="1s",r;case 2:return r.left="10%",r;case 3:return r.right="2.5%",r.animationDelay="0.5s",r;case 4:return r.left="2.5%",r.animationDelay="1.5s",r;case 5:return r.right="10%",r;case 6:return r.left="12.5%",r.animationDelay="1.5s",r;case 7:return r.right="7.5%",r.animationDelay="0.5s",r;case 8:return r.left="5%",r.animationDelay="1s",r;case 9:return r.right="2.5%",r.animationDelay="1s",r;default:return r.left="10%",r.animationDelay="1.5s",r}}(e):"50%"===t?function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="25%",r.animationDelay="0.5s",r;case 1:return r.right="15%",r.animationDelay="1s",r;case 2:return r.left="20%",r;case 3:return r.right="5%",r.animationDelay="0.5s",r;case 4:return r.left="5%",r.animationDelay="1.5s",r;case 5:return r.right="20%",r;case 6:return r.left="25%",r.animationDelay="1.5s",r;case 7:return r.right="15%",r.animationDelay="0.5s",r;case 8:return r.left="10%",r.animationDelay="1s",r;case 9:return r.right="5%",r.animationDelay="1s",r;default:return r.left="20%",r.animationDelay="1.5s",r}}(e):function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="25%",r.animationDelay="0.5s",r;case 1:return r.right="30%",r.animationDelay="1s",r;case 2:return r.left="40%",r;case 3:return r.right="10%",r.animationDelay="0.5s",r;case 4:return r.left="10%",r.animationDelay="1.5s",r;case 5:return r.right="40%",r;case 6:return r.left="30%",r.animationDelay="1.5s",r;case 7:return r.right="30%",r.animationDelay="0.5s",r;case 8:return r.left="10%",r.animationDelay="1s",r;case 9:return r.right="10%",r.animationDelay="1s",r;default:return r.left="40%",r.animationDelay="1.5s",r}}(e)}var u=a.memo((function(e){var t=n.m.shuffle(l.e.Onboarding.LOADING_THUMBNAILS),r=(0,i.k)();return a.createElement("div",{className:"".concat("n2Qe4"," ").concat("50%"===e.screenSize?"w-50":"w-100")},t.map((function(t,n){return a.createElement("div",{key:n,className:"".concat("ZlA2t"," position-absolute rounded-3 overflow-hidden"),style:s(n,r.xs?"mobile":e.screenSize)},!e.hideThumbnailMask&&a.createElement("div",{className:"".concat("jNop3"," ").concat("blue"===e.variant?"jVOWE":"YNfFq")}),a.createElement("img",{className:"img-fluid",src:o.j.createUrl(t,{size:c.h2.Small})}))})))}))},39375:(e,t,r)=>{r.d(t,{Y:()=>u});var a=r(32735),n=r(54610),l=r(67453),c=r(2248);const i={magicTab:"H5jzm",subjectPlaceholder:"r1L6T",placeholderCover:"z9CFT",promotedTopicPlaceholder:"PbYs6",promotedTopicPlaceholderText:"hZ8Nf"};function o(e){return a.createElement("li",{className:"col-4"},a.createElement("div",{className:"d-flex border rounded-3 overflow-hidden ".concat(i.subjectPlaceholder)},e.coverUrl?a.createElement("div",{className:i.placeholderCover},a.createElement("img",{className:"img-fluid",src:l.j.createUrl(e.coverUrl,{size:n.h2.Small})})):a.createElement("div",{className:"".concat(i.placeholderCover," bg-light-blue")})))}function s(){return a.createElement("li",{className:"col-4"},a.createElement("div",{className:"bg-light-blue rounded-3 w-100 p-1 ".concat(i.promotedTopicPlaceholder)}))}function u(e){var t,r,n,l=Math.max(12-(null!==(r=null===(t=e.subjects)||void 0===t?void 0:t.length)&&void 0!==r?r:0),0);return a.createElement(c.L,{presentation:e.presentation,curriculum:e.curriculum,editingCurriculum:e.editingCurriculum},a.createElement("div",{className:"px-3 pt-3 w-100 d-flex flex-column align-items-center"},a.createElement("div",{className:"rounded-3 border overflow-hidden d-flex mb-2"},a.createElement("div",{className:"bg-light ".concat(i.magicTab)}),a.createElement("div",{className:"".concat(i.magicTab)})),a.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2"},null===(n=e.subjects)||void 0===n?void 0:n.map((function(e){var t;return a.createElement(o,{key:e.id,coverUrl:null===(t=e.cover)||void 0===t?void 0:t.url})})),new Array(l).fill(0).map((function(e,t){return a.createElement(o,{key:t})}))),a.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1"},a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null),a.createElement(s,null))))}},2248:(e,t,r)=>{r.d(t,{L:()=>y});var a=r(32735),n=r(60376),l=r(83914),c=r(2786),i=r(83345),o=r(54610),s=r(72639),u=r(79967),m=r(67453),d=r(35223),f=r(87114);const v={dot:"AlRQD",logo:"L42gR",blackBar:"ESCxm",topNav:"a3G_4",leftNav:"YxGVV",belowHeader:"jc_cg",leftNavIcon:"U6i6r",leftNavText:"LnYlW",presentationPlaceholderIcon:"Ljaju",presentationIcon:"QdwPq",presentationPlaceholderText:"af06V",curriculumIcon:"N7T4T",curriculumIconSmall:"_6xrUg",curriculumContainer:"Z65qX",iconPlaceholder:"CKOXL",shadow:"zygeJ",presentationName:"Oj7Dt"};var h="onboarding.mockLayout";function p(){return a.createElement("div",{className:"d-flex align-items-center justify-content-center mb-2 px-3"},a.createElement("div",{className:"".concat(v.leftNavIcon," rounded-circle")}),a.createElement("div",{className:"".concat(v.leftNavText," rounded-pill")}))}function y(e){var t,r,y=(0,u.k)();return a.createElement("div",{className:"border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100"},!!e.editingCurriculum&&a.createElement("div",{className:"w-100 h-100 position-absolute ".concat(v.shadow)},a.createElement("div",{className:"d-flex align-items-center h-100 w-50 ".concat(v.curriculumContainer)},a.createElement("div",{className:"bg-white rounded-3 border p-3 w-100"},a.createElement("h2",{className:"h6 text-start"},a.createElement(i.x,{namespace:h,phrase:"curriculum"})),e.curriculum?a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"".concat(v.curriculumIcon," rounded-circle me-2 border")},a.createElement(n.f,{imageUrl:m.j.createUrl(null===(t=e.curriculum.cover)||void 0===t?void 0:t.url,{size:o.h2.Small})})),a.createElement("div",{className:"text-start"},e.curriculum.name)):a.createElement("div",{className:"d-flex align-items-center text-secondary"},a.createElement("div",{className:"me-2 rounded-circle p-1 ".concat(v.iconPlaceholder)},a.createElement(n.f,{svgSize:l.S.Large,textVariant:"secondary",svgName:d.vn.GraduationCap})),a.createElement(i.x,{namespace:h,phrase:"selectCurriculum"}))))),a.createElement("div",{className:"bg-dark d-flex px-3 py-2 ".concat(v.blackBar)},a.createElement("div",{className:"rounded-circle me-2 ".concat(v.dot)}),a.createElement("div",{className:"rounded-circle me-2 ".concat(v.dot)}),a.createElement("div",{className:"rounded-circle ".concat(v.dot)})),a.createElement("div",{className:"border-bottom px-3 py-2 d-flex align-items-center ".concat(v.topNav)},a.createElement("div",{className:"".concat(v.logo," me-4")},y.xs?a.createElement(c.bc,null):a.createElement(c.$S,null)),a.createElement("div",{className:"form-control w-75 d-flex justify-content-start"},a.createElement(l.x,{svgName:d.vn.Search})),!!e.curriculum&&a.createElement("div",{className:"".concat(v.curriculumIconSmall," rounded-circle ms-2 me-n1 border")},a.createElement(n.f,{imageUrl:null===(r=e.curriculum.cover)||void 0===r?void 0:r.url}))),a.createElement("div",{className:"d-flex ".concat(v.belowHeader)},a.createElement("div",{className:"".concat(v.leftNav," border-end")},a.createElement("div",{className:"d-flex flex-column pt-3 h-100"},a.createElement(p,null),a.createElement(p,null),a.createElement(p,null),a.createElement(p,null),a.createElement(p,null),a.createElement("div",{className:"d-flex align-items-end h-100 w-100"},a.createElement("div",{className:"border-top p-3 w-100"},a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"".concat(function(){if(!e.presentation)return v.presentationPlaceholderIcon;switch(f.i.getMappedPresentationLevel(e.presentation.learningLevel)){case s.p.Level_1:return"bg-indigo ".concat(v.presentationIcon);case s.p.Level_3:return"bg-blue ".concat(v.presentationIcon);default:case s.p.Level_2:return"bg-green ".concat(v.presentationIcon)}}()," text-white rounded")},a.createElement(l.x,{svgName:d.vn.School,size:l.S.Large})),e.presentation?a.createElement("span",{className:"fw-semibold text-truncate ".concat(v.presentationName)},e.presentation.name):a.createElement("div",{className:"".concat(v.presentationPlaceholderText," fw-semibold")},a.createElement(i.x,{namespace:h,phrase:"schoolLevel"}))))))),a.createElement("div",{className:"w-100 h-100 overflow-hidden"},e.children)))}},62007:(e,t,r)=>{r.d(t,{u:()=>u});var a=r(32735),n=r(5465),l=r(84591),c=r(54610),i=r(2248);const o={banner:"CQxNy",title:"NzV5V",description1:"kjCZi",description2:"cBeyJ",placeholder:"Ks_Tl",playlistName:"eFPqz",thumbnailCol:"dgCQ7",videoInfoCol:"pzfE2"};function s(e){return a.createElement("li",{className:"row mb-2"},a.createElement("div",{className:"col-lg-4 col-5 ".concat(o.thumbnailCol)},e.video?a.createElement(l.u,{video:e.video,type:"cosmetic",hideDuration:!0,imageOptions:{size:c.h2.Medium}}):a.createElement(n.oy,{type:n.mS.Video,extraClasses:"position-relative rounded-3 ".concat(o.placeholder)})),a.createElement("div",{className:"col-lg-8 col-7 ".concat(o.videoInfoCol)},a.createElement("div",{className:"".concat(o.title," rounded-pill bg-grey mb-1")}),a.createElement("div",{className:"".concat(o.description1," rounded-pill bg-grey mb-1")}),a.createElement("div",{className:"".concat(o.description2," rounded-pill bg-grey mb-1")})))}function u(e){var t,r,n,l=e.hidePlaceholders?0:Math.max(6-(null!==(r=null===(t=e.videos)||void 0===t?void 0:t.length)&&void 0!==r?r:0),0);return a.createElement(i.L,{presentation:e.presentation,curriculum:e.curriculum},a.createElement("div",{className:"bg-teal ".concat(o.banner," position-relative")},e.name&&a.createElement("div",{className:"h5 text-white mb-0 ".concat(o.playlistName)},e.name)),a.createElement("ul",{className:"list-unstyled mb-0 w-100 p-2"},null===(n=e.videos)||void 0===n?void 0:n.map((function(e){return a.createElement(s,{key:e.id,video:e})})),new Array(l).fill(0).map((function(e,t){return a.createElement(s,{key:t})}))))}},40574:(e,t,r)=>{r.r(t),r.d(t,{OnboardingCompletedLoaderView:()=>z});var a=r(32735),n=r(57900),l=r(2948),c=r(20354),i=r(2158),o=r(21750),s=r(86702),u=r(82817),m=r(86698),d=r(83345),f=r(63478),v=r(52588),h=r(62007),p=r(96347);function y(){a.useEffect((function(){(0,p.p)("tsparticles",{count:500,drift:25,origin:{x:50,y:100},position:{x:50,y:100},startVelocity:100,ticks:100,gravity:3})}),[])}var b=r(67963);const E={playlistContainer:"J5iom",confetti:"Ja1bk",discover:"njFgx"};function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var N="onboarding.creatingPlaylistLoader",w=5e3;function x(e){var t,r,n=(t=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw n}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(t,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=n[0],c=n[1];return y(),a.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),w);return function(){window.clearTimeout(e)}}),[]),a.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,b.i)(e.redirectUrl)}),w);return function(){window.clearTimeout(t)}}}),[l]),l?a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(E.playlistContainer," ").concat(E.discover)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:N,phrase:"takingYouToDiscover"})),a.createElement(h.u,{presentation:e.presentation,curriculum:e.curriculum,videos:e.videos,name:e.name,hidePlaceholders:!0})),a.createElement(v.R,{screenSize:"100%",variant:"ultramarine"})):a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(E.playlistContainer," ").concat(E.confetti)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:N,phrase:"greatJob"}),a.createElement("br",null),a.createElement(d.x,{namespace:N,phrase:"creatingPlaylist"})),a.createElement(h.u,{presentation:e.presentation,curriculum:e.curriculum,videos:e.videos,name:e.name,hidePlaceholders:!0})))}var S=r(39375);const j={container:"GVDR9"};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var T="onboarding.defaultLoader",A=5e3;function D(e){var t,r,n=(t=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw n}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?C(e,t):void 0}}(t,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=n[0],c=n[1];return y(),a.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),A);return function(){window.clearTimeout(e)}}),[]),a.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,b.i)(e.redirectUrl)}),A);return function(){window.clearTimeout(t)}}}),[l]),l?a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(j.container)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:T,phrase:"takingYouToDiscover"})),a.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})),a.createElement(v.R,{screenSize:"100%",variant:"ultramarine"})):a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(j.container)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:T,phrase:"allDone"})),a.createElement(S.Y,{presentation:e.presentation,subjects:e.subjects,curriculum:e.curriculum})))}const P={discoverContainer:"u6Ak8",confetti:"BVY_E",discover:"yYZ_G"};function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var O="onboarding.preferencesLoader",k=5e3;function L(e){var t,r,n=(t=a.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw n}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I(e,t):void 0}}(t,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=n[0],c=n[1];return y(),a.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),k);return function(){window.clearTimeout(e)}}),[]),a.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,b.i)(e.redirectUrl)}),k);return function(){window.clearTimeout(t)}}}),[l]),l?a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(P.discoverContainer," ").concat(P.discover)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:O,phrase:"takingYouToDiscover"})),a.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})),a.createElement(v.R,{screenSize:"100%",variant:"ultramarine"})):a.createElement(f.B,{variant:"ultramarine"},a.createElement("div",{className:"".concat(P.discoverContainer," ").concat(P.confetti)},a.createElement("h1",{className:"text-white h3 text-center mb-3"},a.createElement(d.x,{namespace:O,phrase:"greatJob"}),a.createElement("br",null),a.createElement(d.x,{namespace:O,phrase:"loadingPreferences"})),a.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})))}function U(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);o=!0);}catch(e){s=!0,n=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw n}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(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 B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function z(e){var t=(0,b.u)(),r=(0,i.T)(t).getPathway,d=U((0,l.D)(s.y.ONBOARDING_LOADER,{}),1)[0],f=U((0,l.D)(s.y.ONBOARDING_VIDEOS_V2,[],{storage:n.Z1.LocalStorage}),1)[0],v=(0,m.y)().preferredPresentation,h=(0,u.M)().preferredCurriculum,p=c.a.useBasicFetch(o.x.classifications()),y=a.useMemo((function(){switch(r().currentScreen){case"create-playlist":return"create-playlist";case"subjects-summary":case"subjects":case"school-level":case"select-curriculum":return"preferences";default:return"default"}}),[]);return"default"===y?a.createElement(D,{subjects:p.data,presentation:v,curriculum:h,redirectUrl:e.redirectUrl}):"create-playlist"===y?a.createElement(x,{name:d.playlistName,videos:f.map((function(e){return e.data})),presentation:v,curriculum:h,redirectUrl:e.redirectUrl}):"preferences"===y?a.createElement(L,{subjects:p.data,presentation:v,curriculum:h,redirectUrl:e.redirectUrl}):a.createElement(a.Fragment,null)}}}]);
2
+ //# sourceMappingURL=3991-90b0f88c18-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/3991-90b0f88c18-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/onboarding/hooks/useOnboardingPathway.ts","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/primitives/OnboardingLoaderContainer.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/videos-loader/getOnboardingLoaderVideos.ts","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/videos-loader/OnboardingVideosLoader.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/videos-loader/videos-loader.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/mock-discover.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/discover/MockDiscover.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/mock-layout.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/MockLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/mock-playlist.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/MockPlaylist.tsx","file:///app/packages/projects/lite/src/apps/onboarding/hooks/useConfetti.ts","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/creating-playlist-loader/creating-playlist-loader.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/creating-playlist-loader/CreatingPlaylistLoader.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/default/default-loader.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/default/DefaultLoader.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/preferences-loader/preferences-loader.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/loaders/preferences-loader/PreferencesLoader.tsx","file:///app/packages/projects/lite/src/apps/onboarding/views/completed-loader/OnboardingCompletedLoaderView.tsx"],"sourcesContent":["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}","import React from 'react';\n\ninterface OnboardingLoaderContainerProps {\n variant: 'blue' | 'ultramarine'\n}\n\nexport function OnboardingLoaderContainer(props: React.PropsWithChildren<OnboardingLoaderContainerProps>): JSX.Element {\n return (\n <div className={`w-100 h-100 position-fixed bg-${props.variant}`}>\n {props.children}\n </div>\n );\n}","function mobile(index: number): React.CSSProperties {\n const indexPositionId = index % 10;\n\n const styles: React.CSSProperties = { top: `${index * 4}%` };\n\n /**\n * This is pretty much random to make the loader look nicer.\n */\n switch (indexPositionId) {\n case 0: {\n styles.left = '12.5%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 1: {\n styles.right = '7.5%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 2: {\n styles.left = '10%';\n return styles;\n }\n\n case 3: {\n styles.right = '2.5%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 4: {\n styles.left = '2.5%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 5: {\n styles.right = '10%';\n return styles;\n }\n\n case 6: {\n styles.left = '12.5%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 7: {\n styles.right = '7.5%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 8: {\n styles.left = '5%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 9: {\n styles.right = '2.5%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n default: {\n styles.left = '10%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n }\n}\n\nfunction halfScreen(index: number): React.CSSProperties {\n const indexPositionId = index % 10;\n\n const styles: React.CSSProperties = { top: `${index * 4}%` };\n\n /**\n * This is pretty much random to make the loader look nicer.\n */\n switch (indexPositionId) {\n case 0: {\n styles.left = '25%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 1: {\n styles.right = '15%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 2: {\n styles.left = '20%';\n return styles;\n }\n\n case 3: {\n styles.right = '5%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 4: {\n styles.left = '5%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 5: {\n styles.right = '20%';\n return styles;\n }\n\n case 6: {\n styles.left = '25%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 7: {\n styles.right = '15%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 8: {\n styles.left = '10%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 9: {\n styles.right = '5%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n default: {\n styles.left = '20%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n }\n}\n\nfunction fullScreen(index: number): React.CSSProperties {\n const indexPositionId = index % 10;\n\n const styles: React.CSSProperties = { top: `${index * 4}%` };\n\n /**\n * This is pretty much random to make the loader look nicer.\n */\n switch (indexPositionId) {\n case 0: {\n styles.left = '25%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 1: {\n styles.right = '30%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 2: {\n styles.left = '40%';\n return styles;\n }\n\n case 3: {\n styles.right = '10%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 4: {\n styles.left = '10%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 5: {\n styles.right = '40%';\n return styles;\n }\n\n case 6: {\n styles.left = '30%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n\n case 7: {\n styles.right = '30%';\n styles.animationDelay = '0.5s';\n return styles;\n }\n\n case 8: {\n styles.left = '10%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n case 9: {\n styles.right = '10%';\n styles.animationDelay = '1s';\n return styles;\n }\n\n default: {\n styles.left = '40%';\n styles.animationDelay = '1.5s';\n return styles;\n }\n }\n}\n\n// 2 columns means the images are more off to the sides\n// 3 columns means they approach the center more\nexport function getOnboardingLoaderVideoStyles(index: number, screenSize: '50%' | '100%' | 'mobile'): React.CSSProperties {\n if (screenSize === 'mobile')\n return mobile(index);\n\n if (screenSize === '50%')\n return halfScreen(index);\n\n return fullScreen(index);\n}","import React from 'react';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { getOnboardingLoaderVideoStyles } from 'apps/onboarding/components/loaders/videos-loader/getOnboardingLoaderVideos';\n\nimport styles from './videos-loader.scss';\n\ninterface OnboardingVideosLoaderProps {\n screenSize: '50%' | '100%';\n variant: 'ultramarine' | 'blue';\n hideThumbnailMask?: boolean;\n}\n\nexport const OnboardingVideosLoader = React.memo((props: OnboardingVideosLoaderProps) => {\n const thumbnails = ArrayHelper.shuffle(HardCoded.Onboarding.LOADING_THUMBNAILS);\n\n const breakpoints = useBreakpoints();\n\n function getScreenSize(): 'mobile' | OnboardingVideosLoaderProps['screenSize'] {\n if (breakpoints.xs) {\n return 'mobile';\n }\n\n return props.screenSize;\n }\n\n return (\n <div className={`${styles.loading} ${props.screenSize === '50%' ? 'w-50' : 'w-100'}`}>\n {thumbnails.map((thumbnail, index) => {\n return (\n <div\n key={index}\n className={`${styles.loadingImageContainer} position-absolute rounded-3 overflow-hidden`}\n style={getOnboardingLoaderVideoStyles(index, getScreenSize())}\n >\n {!props.hideThumbnailMask && (\n <div className={`${styles.loadingImageMask} ${props.variant === 'blue' ? styles.blue : styles.darkBlue}`} />\n )}\n <img className='img-fluid' src={ImageHelper.createUrl(thumbnail, { size: ImageSize.Small })} />\n </div>\n );\n })}\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"loadingImageContainer\":\"ZlA2t\",\"fadeIn\":\"YmTa1\",\"loadingImageMask\":\"jNop3\",\"darkBlue\":\"YNfFq\",\"blue\":\"jVOWE\",\"loading\":\"n2Qe4\",\"loader\":\"BqV36\"};","// extracted by mini-css-extract-plugin\nexport default {\"magicTab\":\"H5jzm\",\"subjectPlaceholder\":\"r1L6T\",\"placeholderCover\":\"z9CFT\",\"promotedTopicPlaceholder\":\"PbYs6\",\"promotedTopicPlaceholderText\":\"hZ8Nf\"};","import React from 'react';\n\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Classification, Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-discover.scss';\n\ninterface SubjectPlaceholderProps {\n coverUrl?: string;\n}\n\nfunction SubjectPlaceholder(props: SubjectPlaceholderProps): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`d-flex border rounded-3 overflow-hidden ${styles.subjectPlaceholder}`}>\n {props.coverUrl ? (\n <div className={styles.placeholderCover}>\n <img className='img-fluid' src={ImageHelper.createUrl(props.coverUrl, { size: ImageSize.Small })} />\n </div>\n ) : (\n <div className={`${styles.placeholderCover} bg-light-blue`} />\n )}\n </div>\n </li>\n );\n}\n\nfunction PromotedTopicPlaceholder(): JSX.Element {\n return (\n <li className='col-4'>\n <div className={`bg-light-blue rounded-3 w-100 p-1 ${styles.promotedTopicPlaceholder}`} />\n </li>\n );\n}\n\ninterface MockDiscoverProps {\n subjects?: Classification[];\n presentation?: Presentation;\n curriculum?: Presentation;\n editingCurriculum?: boolean;\n}\n\nexport function MockDiscover(props: MockDiscoverProps): JSX.Element {\n const placeholderSubjects = Math.max(12 - (props.subjects?.length ?? 0), 0);\n\n return (\n <MockLayout\n presentation={props.presentation}\n curriculum={props.curriculum}\n editingCurriculum={props.editingCurriculum}\n >\n <div className='px-3 pt-3 w-100 d-flex flex-column align-items-center'>\n {/* Magic tabs */}\n <div className='rounded-3 border overflow-hidden d-flex mb-2'>\n <div className={`bg-light ${styles.magicTab}`} />\n <div className={`${styles.magicTab}`} />\n </div>\n\n {/* Subjects */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2'>\n {props.subjects?.map(subject => {\n return (\n <SubjectPlaceholder key={subject.id} coverUrl={subject.cover?.url} />\n );\n })}\n {new Array(placeholderSubjects).fill(0).map((_, index) => {\n return (\n <SubjectPlaceholder key={index} />\n );\n })}\n </ul>\n\n {/* Promoted topics */}\n <ul className='list-unstyled mb-0 row w-100 g-xl-2 g-lg-1'>\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n <PromotedTopicPlaceholder />\n </ul>\n </div>\n </MockLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"AlRQD\",\"logo\":\"L42gR\",\"blackBar\":\"ESCxm\",\"topNav\":\"a3G_4\",\"leftNav\":\"YxGVV\",\"belowHeader\":\"jc_cg\",\"leftNavIcon\":\"U6i6r\",\"leftNavText\":\"LnYlW\",\"presentationPlaceholderIcon\":\"Ljaju\",\"presentationIcon\":\"QdwPq\",\"presentationPlaceholderText\":\"af06V\",\"curriculumIcon\":\"N7T4T\",\"curriculumIconSmall\":\"_6xrUg\",\"curriculumContainer\":\"Z65qX\",\"iconPlaceholder\":\"CKOXL\",\"shadow\":\"zygeJ\",\"presentationName\":\"Oj7Dt\"};","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClickViewLogo, ClickViewPrimaryLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport styles from './mock-layout.scss';\n\nconst namespace = 'onboarding.mockLayout';\n\nfunction LeftNavItem(): JSX.Element {\n return (\n <div className='d-flex align-items-center justify-content-center mb-2 px-3'>\n <div className={`${styles.leftNavIcon} rounded-circle`} />\n <div className={`${styles.leftNavText} rounded-pill`} />\n </div>\n );\n}\n\ninterface MockLayoutProps {\n editingCurriculum?: boolean;\n curriculum?: Presentation;\n presentation?: Presentation;\n}\n\nexport function MockLayout(props: React.PropsWithChildren<MockLayoutProps>): JSX.Element {\n const breakpoints = useBreakpoints();\n \n function getPresentationClass(): string {\n if (!props.presentation)\n return styles.presentationPlaceholderIcon;\n\n switch (TopicsHelper.getMappedPresentationLevel(props.presentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return `bg-indigo ${styles.presentationIcon}`;\n\n case PresentationLearningLevel.Level_3:\n return `bg-blue ${styles.presentationIcon}`;\n\n default:\n case PresentationLearningLevel.Level_2:\n return `bg-green ${styles.presentationIcon}`;\n }\n }\n\n return (\n <div className={`border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100`}>\n {!!props.editingCurriculum && (\n <div className={`w-100 h-100 position-absolute ${styles.shadow}`}>\n <div className={`d-flex align-items-center h-100 w-50 ${styles.curriculumContainer}`}>\n <div className='bg-white rounded-3 border p-3 w-100'>\n <h2 className='h6 text-start'><Text namespace={namespace} phrase='curriculum' /></h2>\n\n {props.curriculum ? (\n <div className='d-flex align-items-center'>\n <div className={`${styles.curriculumIcon} rounded-circle me-2 border`}>\n <IconCircle\n imageUrl={ImageHelper.createUrl(props.curriculum.cover?.url, { size: ImageSize.Small })}\n />\n </div>\n <div className='text-start'>{props.curriculum.name}</div>\n </div>\n ) : (\n <div className='d-flex align-items-center text-secondary'>\n <div className={`me-2 rounded-circle p-1 ${styles.iconPlaceholder}`}>\n <IconCircle svgSize={SvgContainerSize.Large} textVariant='secondary' svgName={cvSvgLibrary.GraduationCap} />\n </div>\n <Text namespace={namespace} phrase='selectCurriculum' />\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Black bar */}\n <div className={`bg-dark d-flex px-3 py-2 ${styles.blackBar}`}>\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle ${styles.dot}`} />\n </div>\n\n {/* Header */}\n <div className={`border-bottom px-3 py-2 d-flex align-items-center ${styles.topNav}`}>\n <div className={`${styles.logo} me-4`}>\n {breakpoints.xs ? (\n <ClickViewPrimaryLogo />\n ) : (\n <ClickViewLogo />\n )}\n </div>\n <div className='form-control w-75 d-flex justify-content-start'>\n <SvgContainer svgName={cvSvgLibrary.Search} />\n </div>\n {!!props.curriculum && (\n <div className={`${styles.curriculumIconSmall} rounded-circle ms-2 me-n1 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n )}\n </div>\n\n <div className={`d-flex ${styles.belowHeader}`}>\n {/* Left nav */}\n <div className={`${styles.leftNav} border-end`}>\n <div className='d-flex flex-column pt-3 h-100'>\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n\n {/* Presentation */}\n <div className='d-flex align-items-end h-100 w-100'>\n <div className='border-top p-3 w-100'>\n <div className='d-flex align-items-center'>\n <div className={`${getPresentationClass()} text-white rounded`}>\n <SvgContainer svgName={cvSvgLibrary.School} size={SvgContainerSize.Large} />\n </div>\n\n {!props.presentation ? (\n <div className={`${styles.presentationPlaceholderText} fw-semibold`}>\n <Text namespace={namespace} phrase='schoolLevel' />\n </div>\n ) : (\n <span className={`fw-semibold text-truncate ${styles.presentationName}`}>{props.presentation.name}</span>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Main content */}\n <div className={`w-100 h-100 overflow-hidden`}>\n {props.children}\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"CQxNy\",\"title\":\"NzV5V\",\"description1\":\"kjCZi\",\"description2\":\"cBeyJ\",\"placeholder\":\"Ks_Tl\",\"playlistName\":\"eFPqz\",\"thumbnailCol\":\"dgCQ7\",\"videoInfoCol\":\"pzfE2\"};","import React from 'react';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation, Video } from 'libs/shared/interfaces';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-playlist.scss';\n\ninterface VideoPlaceholderProps {\n video?: Video;\n}\n\nfunction VideoPlaceholder(props: VideoPlaceholderProps): JSX.Element {\n return (\n <li className='row mb-2'>\n <div className={`col-lg-4 col-5 ${styles.thumbnailCol}`}>\n {props.video ? (\n <VideoThumbnail video={props.video} type='cosmetic' hideDuration imageOptions={{ size: ImageSize.Medium }} />\n ) : (\n <ImageFallback type={ImageFallbackType.Video} extraClasses={`position-relative rounded-3 ${styles.placeholder}`} />\n )}\n </div>\n\n <div className={`col-lg-8 col-7 ${styles.videoInfoCol}`}>\n <div className={`${styles.title} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description1} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description2} rounded-pill bg-grey mb-1`} />\n </div>\n </li>\n );\n}\n\ninterface MockPlaylistProps {\n name?: string;\n presentation?: Presentation;\n curriculum?: Presentation;\n videos: Video[];\n hidePlaceholders?: boolean;\n}\n\nexport function MockPlaylist(props: MockPlaylistProps): JSX.Element {\n const placeholderVideos = props.hidePlaceholders ? 0 : Math.max(6 - (props.videos?.length ?? 0), 0);\n\n return (\n <MockLayout presentation={props.presentation} curriculum={props.curriculum}>\n {/* Banner */}\n <div className={`bg-teal ${styles.banner} position-relative`}>\n {props.name && (\n <div className={`h5 text-white mb-0 ${styles.playlistName}`}>{props.name}</div>\n )}\n </div>\n\n {/* Videos */}\n <ul className='list-unstyled mb-0 w-100 p-2'>\n {props.videos?.map(video => {\n return (\n <VideoPlaceholder key={video.id} video={video} />\n );\n })}\n {new Array(placeholderVideos).fill(0).map((_, index) => {\n return (\n <VideoPlaceholder key={index} />\n );\n })}\n </ul>\n </MockLayout>\n );\n}","import React from 'react';\nimport { confetti } from 'tsparticles-confetti';\n\nexport function useConfetti(): void {\n React.useEffect(() => {\n confetti('tsparticles', {\n count: 500,\n drift: 25,\n origin: { x: 50, y: 100 },\n position: { x: 50, y: 100 },\n startVelocity: 100,\n ticks: 100,\n gravity: 3\n });\n }, []);\n}","// extracted by mini-css-extract-plugin\nexport default {\"playlistContainer\":\"J5iom\",\"confetti\":\"Ja1bk\",\"discover\":\"njFgx\"};","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Presentation, Video } from 'libs/shared/interfaces';\n\nimport { OnboardingLoaderContainer } from 'apps/onboarding/components/loaders/primitives/OnboardingLoaderContainer';\nimport { OnboardingVideosLoader } from 'apps/onboarding/components/loaders/videos-loader/OnboardingVideosLoader';\nimport { MockPlaylist } from 'apps/onboarding/components/mock-views/playlist/MockPlaylist';\nimport { useConfetti } from 'apps/onboarding/hooks/useConfetti';\nimport { onFinishOnboarding } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nimport styles from './creating-playlist-loader.scss';\n\nconst namespace = 'onboarding.creatingPlaylistLoader';\n\nconst FAKE_LOADER = 5000;\n\ninterface CreatingPlaylistLoaderProps {\n name: string;\n presentation: Presentation;\n curriculum: Presentation;\n videos: Video[];\n redirectUrl: string;\n}\n\nexport function CreatingPlaylistLoader(props: CreatingPlaylistLoaderProps): JSX.Element {\n const [ showTakingToDiscover, setShowTakingToDiscover ] = React.useState(false);\n\n useConfetti();\n\n React.useEffect(() => {\n const timeout = window.setTimeout(() => {\n setShowTakingToDiscover(true);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, []);\n\n React.useEffect(() => {\n if (!showTakingToDiscover)\n return;\n\n const timeout = window.setTimeout(() => {\n onFinishOnboarding(props.redirectUrl);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, [showTakingToDiscover]);\n\n if (showTakingToDiscover) {\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.playlistContainer} ${styles.discover}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='takingYouToDiscover' />\n </h1>\n <MockPlaylist\n presentation={props.presentation}\n curriculum={props.curriculum}\n videos={props.videos}\n name={props.name}\n hidePlaceholders\n />\n </div>\n <OnboardingVideosLoader screenSize='100%' variant='ultramarine' />\n </OnboardingLoaderContainer>\n );\n }\n\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.playlistContainer} ${styles.confetti}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='greatJob' /><br />\n <Text namespace={namespace} phrase='creatingPlaylist' />\n </h1>\n <MockPlaylist\n presentation={props.presentation}\n curriculum={props.curriculum}\n videos={props.videos}\n name={props.name}\n hidePlaceholders\n />\n </div>\n </OnboardingLoaderContainer>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"GVDR9\"};","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Classification, Presentation } from 'libs/shared/interfaces';\n\nimport { OnboardingLoaderContainer } from 'apps/onboarding/components/loaders/primitives/OnboardingLoaderContainer';\nimport { OnboardingVideosLoader } from 'apps/onboarding/components/loaders/videos-loader/OnboardingVideosLoader';\nimport { MockDiscover } from 'apps/onboarding/components/mock-views/discover/MockDiscover';\nimport { useConfetti } from 'apps/onboarding/hooks/useConfetti';\nimport { onFinishOnboarding } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nimport styles from './default-loader.scss';\n\nconst namespace = 'onboarding.defaultLoader';\n\nconst FAKE_LOADER = 5000;\n\ninterface DefaultLoaderProps {\n presentation: Presentation;\n curriculum: Presentation;\n subjects: Classification[];\n redirectUrl: string;\n}\n\nexport function DefaultLoader(props: DefaultLoaderProps): JSX.Element {\n const [ showTakingToDiscover, setShowTakingToDiscover ] = React.useState(false);\n\n useConfetti();\n\n React.useEffect(() => {\n const timeout = window.setTimeout(() => {\n setShowTakingToDiscover(true);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, []);\n\n React.useEffect(() => {\n if (!showTakingToDiscover)\n return;\n\n const timeout = window.setTimeout(() => {\n onFinishOnboarding(props.redirectUrl);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, [showTakingToDiscover]);\n\n if (showTakingToDiscover) {\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.container}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='takingYouToDiscover' />\n </h1>\n <MockDiscover\n presentation={props.presentation}\n curriculum={props.curriculum}\n subjects={props.subjects}\n />\n </div>\n <OnboardingVideosLoader screenSize='100%' variant='ultramarine' />\n </OnboardingLoaderContainer>\n );\n }\n\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.container}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='allDone' />\n </h1>\n <MockDiscover\n presentation={props.presentation}\n subjects={props.subjects}\n curriculum={props.curriculum}\n />\n </div>\n </OnboardingLoaderContainer>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"discoverContainer\":\"u6Ak8\",\"confetti\":\"BVY_E\",\"discover\":\"yYZ_G\"};","import React from 'react';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Classification, Presentation } from 'libs/shared/interfaces';\n\nimport { OnboardingLoaderContainer } from 'apps/onboarding/components/loaders/primitives/OnboardingLoaderContainer';\nimport { OnboardingVideosLoader } from 'apps/onboarding/components/loaders/videos-loader/OnboardingVideosLoader';\nimport { useConfetti } from 'apps/onboarding/hooks/useConfetti';\nimport { onFinishOnboarding } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nimport { MockDiscover } from '../../mock-views/discover/MockDiscover';\n\nimport styles from './preferences-loader.scss';\n\nconst namespace = 'onboarding.preferencesLoader';\n\nconst FAKE_LOADER = 5000;\n\ninterface PreferencesLoaderProps {\n presentation: Presentation;\n curriculum: Presentation;\n subjects: Classification[];\n redirectUrl: string;\n}\n\nexport function PreferencesLoader(props: PreferencesLoaderProps): JSX.Element {\n const [ showTakingToDiscover, setShowTakingToDiscover ] = React.useState(false);\n\n useConfetti();\n\n React.useEffect(() => {\n const timeout = window.setTimeout(() => {\n setShowTakingToDiscover(true);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, []);\n\n React.useEffect(() => {\n if (!showTakingToDiscover)\n return;\n\n const timeout = window.setTimeout(() => {\n onFinishOnboarding(props.redirectUrl);\n }, FAKE_LOADER);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, [showTakingToDiscover]);\n\n if (showTakingToDiscover) {\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.discoverContainer} ${styles.discover}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='takingYouToDiscover' />\n </h1>\n <MockDiscover\n presentation={props.presentation}\n curriculum={props.curriculum}\n subjects={props.subjects}\n />\n </div>\n <OnboardingVideosLoader screenSize='100%' variant='ultramarine' />\n </OnboardingLoaderContainer>\n );\n }\n\n return (\n <OnboardingLoaderContainer variant='ultramarine'>\n <div className={`${styles.discoverContainer} ${styles.confetti}`}>\n <h1 className='text-white h3 text-center mb-3'>\n <Text namespace={namespace} phrase='greatJob' /><br />\n <Text namespace={namespace} phrase='loadingPreferences' />\n </h1>\n <MockDiscover\n presentation={props.presentation}\n curriculum={props.curriculum}\n subjects={props.subjects}\n />\n </div>\n </OnboardingLoaderContainer>\n );\n}","import React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useOnboardingPathway } from 'libs/shared/apps/onboarding/hooks/useOnboardingPathway';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport { CreatingPlaylistLoader } from 'apps/onboarding/components/loaders/creating-playlist-loader/CreatingPlaylistLoader';\nimport { DefaultLoader } from 'apps/onboarding/components/loaders/default/DefaultLoader';\nimport { PreferencesLoader } from 'apps/onboarding/components/loaders/preferences-loader/PreferencesLoader';\nimport { OnboardingViewProps } from 'apps/onboarding/interfaces/OnboardingViewProps';\nimport { getOnboardingAppLinks } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\n\nimport { SavedOnboardingVideo } from '../select-videos/OnboardingSelectVideosView';\n\ntype LoaderType = 'create-playlist' | 'preferences' | 'default';\n\nexport interface OnboardingLoaderViewModel {\n playlistName?: string;\n}\n\n// This view can just inherit the page title that it had on the screen that came before it\n// eslint-disable-next-line rulesdir/require-view-title\nexport function OnboardingCompletedLoaderView(props: OnboardingViewProps): JSX.Element {\n const appLinks = getOnboardingAppLinks();\n const { getPathway } = useOnboardingPathway(appLinks);\n\n const [loaderViewModel] = useViewModel<OnboardingLoaderViewModel>(ViewModelKeys.ONBOARDING_LOADER, {});\n\n const [videos] = useViewModel<SavedOnboardingVideo[]>(\n ViewModelKeys.ONBOARDING_VIDEOS_V2,\n [],\n { storage: StorageType.LocalStorage }\n );\n\n const { preferredPresentation } = usePresentation();\n const { preferredCurriculum } = useCurriculums();\n const subjects = Flight.useBasicFetch<Classification[]>(ClassificationRequests.classifications());\n\n const loaderType: LoaderType = React.useMemo(() => {\n const pathway = getPathway();\n\n switch (pathway.currentScreen) {\n case 'create-playlist':\n return 'create-playlist';\n \n case 'subjects-summary':\n case 'subjects':\n case 'school-level':\n case 'select-curriculum':\n return 'preferences';\n\n default:\n return 'default';\n }\n }, []);\n\n if (loaderType === 'default') {\n return (\n <DefaultLoader\n subjects={subjects.data}\n presentation={preferredPresentation}\n curriculum={preferredCurriculum}\n redirectUrl={props.redirectUrl}\n />\n );\n }\n\n if (loaderType === 'create-playlist') {\n return (\n <CreatingPlaylistLoader\n name={loaderViewModel.playlistName}\n videos={videos.map(v => v.data)}\n presentation={preferredPresentation}\n curriculum={preferredCurriculum}\n redirectUrl={props.redirectUrl}\n />\n );\n }\n\n if (loaderType === 'preferences') {\n return (\n <PreferencesLoader\n subjects={subjects.data}\n presentation={preferredPresentation}\n curriculum={preferredCurriculum}\n redirectUrl={props.redirectUrl}\n />\n );\n }\n\n return <></>;\n}"],"names":["useOnboardingPathway","appLinks","hasPlaylist","setHasPlaylist","currentUser","user","data","isAuthenticated","id","customer","customerId","presentations","preferredPresentation","curriculums","playlists","preferredSubjects","hasPermissions","hasCompleted","length","hasLoadedPathway","userSettings","getPathway","options","jobTitle","jobTitleOverride","userProfile","metadata","presentation","preferredPresentationOverride","appLink","masterUser","screens","currentScreen","totalScreens","totalScreensInProgressBar","hasCompletedAllSteps","OnboardingLoaderContainer","props","className","variant","children","getOnboardingLoaderVideoStyles","index","screenSize","indexPositionId","styles","top","left","animationDelay","right","mobile","halfScreen","fullScreen","OnboardingVideosLoader","thumbnails","ArrayHelper","HardCoded","breakpoints","useBreakpoints","map","thumbnail","key","style","xs","hideThumbnailMask","src","ImageHelper","size","SubjectPlaceholder","coverUrl","PromotedTopicPlaceholder","MockDiscover","placeholderSubjects","Math","max","subjects","MockLayout","curriculum","editingCurriculum","subject","cover","url","Array","fill","_","namespace","LeftNavItem","Text","phrase","IconCircle","imageUrl","name","svgSize","SvgContainer","S","textVariant","svgName","ClickViewLogo","TopicsHelper","learningLevel","PresentationLearningLevel","getPresentationClass","VideoPlaceholder","video","VideoThumbnail","type","hideDuration","imageOptions","ImageFallback","extraClasses","MockPlaylist","placeholderVideos","hidePlaceholders","videos","useConfetti","confetti","count","drift","origin","x","y","position","startVelocity","ticks","gravity","FAKE_LOADER","CreatingPlaylistLoader","showTakingToDiscover","setShowTakingToDiscover","timeout","window","setTimeout","clearTimeout","redirectUrl","DefaultLoader","PreferencesLoader","OnboardingCompletedLoaderView","loaderViewModel","storage","usePresentation","preferredCurriculum","useCurriculums","ClassificationRequests","loaderType","playlistName","v"],"sourceRoot":""}