@clickview/lite 0.70.0-rc.1 → 0.70.0-rc.2

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-bffc2efc17.min.js",
2
+ "appBundle": "bundle-6df33485fe.min.js",
3
3
  "cssBundle": "lite-app-90190cd96f.css",
4
4
  "polyfillBundle": "polyfills-bac1abc89b.min.js"
5
5
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3022],{94644:(e,r,t)=>{t.d(r,{r:()=>u});var n=t(50242),i=t(81886),o=t(67058),a=t(14553),c=t(49267),s=t(49075),l={notFound:o.d,forbidden:{rating:a.q,yearLevel:a.q,region:c.a,privacy:a.q},badRequest:s._,internalServerError:s._};function u(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var a=Object.assign(Object.assign({},l),r);o&&i.Q.Ry.isStatusCodeError(o)&&(o!==n.o.InternalServer?o!==n.o.NotFound?o!==n.o.Forbidden?t.badRequest||i.Q.Ry.throw(new a.badRequest):t.forbidden||i.Q.Ry.throw(new a.forbidden.privacy):t.notFound||i.Q.Ry.throw(new a.notFound):t.internalServerError||i.Q.Ry.throw(new s._))}}},60115:(e,r,t)=>{t.d(r,{K:()=>l});var n=t(32735),i=t(50242),o=t(91967),a=400,c=t(45719);function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function l(e,r,t,l,u,d){var p,m,v,g,f=(p=(0,n.useState)(0),m=2,function(e){if(Array.isArray(e))return e}(p)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,i,o,a,c=[],s=!0,l=!1;try{if(o=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;s=!1}else for(;!(s=(n=o.call(t)).done)&&(c.push(n.value),c.length!==r);s=!0);}catch(e){l=!0,i=e}finally{try{if(!s&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return c}}(p,m)||function(e,r){if(e){if("string"==typeof e)return s(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,r):void 0}}(p,m)||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.")}()),y=f[0],h=f[1],C=r,b=(0,c.P)((function(r){if(!e)return null;var t=e(r);return t?t.key:null}),l,u);return v={fetchNextPage:function(){if(r&&e&&b)return h((function(e){return e+1})),C(b.nextCursor)},hasMore:!!(null==b?void 0:b.nextCursor),isFetching:null==b?void 0:b.isFetching,scrollContainer:d},g=function(){if(!v.isFetching){if(v.scrollContainer){var e=v.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-a)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-a)return;v.fetchNextPage()}},(0,n.useEffect)((function(){var e=o.q.throttle(g,200),r=v.scrollContainer||window;return v.hasMore&&r.addEventListener("scroll",e),function(){return r.removeEventListener("scroll",e)}}),[v.hasMore,v.fetchNextPage,v.scrollContainer]),(0,n.useEffect)((function(){b&&b.shouldInitialFetch&&r&&(C(),h((function(e){return e+1})))}),[null==b?void 0:b.shouldInitialFetch,r]),(0,n.useEffect)((function(){var e,r;if((null==b?void 0:b.statusCode)&&o.q.isFunction(t)){var n=+(null===(r=null===(e=b.statusCode)||void 0===e?void 0:e.toString())||void 0===r?void 0:r.substr(0,1));n!==i.k.ClientError&&n!==i.k.ServerError||t(y,b.statusCode)}}),[null==b?void 0:b.statusCode]),{items:null==b?void 0:b.items,hasMore:!!(null==b?void 0:b.nextCursor),nextCursor:null==b?void 0:b.nextCursor,isFetching:null==b?void 0:b.isFetching,totalItems:null==b?void 0:b.totalItems,hasFirstPageCompleted:null==b?void 0:b.hasFirstPageCompleted}}},78267:(e,r,t)=>{t.d(r,{H:()=>a});var n=t(99940),i=t(97395),o=t(45157),a={resource:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"resources:".concat(e)}},videoResources:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/resources?query=customer"),key:"videos:".concat(e,":resources")}},videoResourcesAndLinks:function(e,r){var t="(resources[thumbnail,pdf]|links)";return{url:i._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),{query:t,cursor:r}),publicUrl:i._.urlBuilder("/api/objects/".concat(e,"/members"),{query:t,cursor:r}),key:"videos:".concat(e,":resources:links").concat(r)}},addResource:function(e,r,t,i,a){return{url:"{gateway}/v1/objects/".concat(e,"/resources"),key:"create:resource:".concat(r.fileId||o.Y.getRandomInt()),data:r,type:n.k.POST,invalidationKeys:["videos:".concat(e,":resources"),"videos:".concat(e)],success:t,error:i,always:a}},updateResource:function(e,r,t,i,o){return{url:"{gateway}/v1/objects/".concat(e),key:"update:resource:".concat(e),data:r,type:n.k.PUT,success:t,error:i,always:o}},deleteResource:function(e,r,t,i,o){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:resource:".concat(e),type:n.k.DELETE,invalidationKeys:["videos:".concat(r,":resources"),"videos:".concat(r)],success:t,error:i,always:o}}}},35014:(e,r,t)=>{t.d(r,{I:()=>s});var n=t(16714),i=t(12754),o=t(22902),a=t(15311),c=t(11387);function s(){var e=(0,o.T)(),r=e.hasPermissions,t=e.hasLocalPermissions,s=(0,(0,a.r)().hasProduct)(i.x.Primary);return{canViewGlance:r(n.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:s&&r(n.C.ViewVideoInteractives),canViewClips:s&&r(n.C.ViewVideoClips),canViewCurriculumLinks:r(n.C.ViewCurriculums),canUseActions:t(n.E.UseVideoActions),canViewPublicLayout:!t(n.E.WatchVideos)&&c.C.hasRegionPrefix(),canViewResourceItems:t(n.E.ViewVideoResourceItems),canNavigate:s}}},43022:(e,r,t)=>{t.r(r),t.d(r,{VideoGuidanceResourcesView:()=>M});var n=t(32735),i=t(81886),o=t(23481),a=t(20354),c=t(28400),s=t(49985),l=t(65858),u=t(42648),d=t(87801),p=t(9111),m=t(13876),v=t(15611),g=t(62335),f=t(54610),y=t(4594),h=t(45778),C=t(54297),b=t(25352);function k(e){var r=(0,b.ZS)(e.resource,e.actionBehaviour);function t(){s.k.logUserAction(e.analyticsData,e.analyticsOptions)}return h.G.isType(e.resource,y.E.Link)?n.createElement("a",{href:e.resource.url,target:"_blank",onClick:t},e.children):r?"public"===e.actionBehaviour?n.createElement("div",{className:"cursor-pointer d-inline",onClick:function(){t(),i.Q.C$.trigger(e.appLink)}},e.children):n.createElement(v.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},e.children):n.createElement("div",null,e.children)}function E(e){var r,t,i={id:e.resource.id,name:e.resource.name,parentVideoId:e.parentVideo.id,parentVideoName:e.parentVideo.name,parentVideoType:e.parentVideo.type},o=Object.assign(Object.assign({},e.analyticsOptions),{actionType:l.Vw.Click,entity:h.G.isResource(e.resource)?l.py.Resource:l.py.Link});return n.createElement("div",{className:"row gx-0"},n.createElement("div",{className:"col-4"},n.createElement(k,{resource:e.resource,appLink:e.appLink,analyticsData:i,analyticsOptions:Object.assign(Object.assign({},o),{descriptor:l._S.Thumbnail}),actionBehaviour:e.actionBehaviour},n.createElement(b.$G,{data:e.resource,titlePosition:"none",imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,hideTypeBadge:!0,dynamicRatioImageOptions:{width:400,resizeType:f.Nq.Cover},theme:{thumbnailContainerClass:"w-100",containerClass:"px-3"}}))),n.createElement("div",{className:"col-8 ps-2"},n.createElement(k,{resource:e.resource,appLink:e.appLink,analyticsData:i,analyticsOptions:Object.assign(Object.assign({},o),{descriptor:l._S.Title}),actionBehaviour:e.actionBehaviour},h.G.isType(e.resource,y.E.Resource)&&!!(null===(t=null===(r=e.resource)||void 0===r?void 0:r.metadata)||void 0===t?void 0:t.resourceType)&&n.createElement(g.m,null,C.C.getResourceTypeName(e.resource.metadata.resourceType)),n.createElement("h3",{className:"h6 clamp-2"},e.resource.name))))}function w(e){return function(e){if(Array.isArray(e))return V(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return V(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?V(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function V(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}var I="shared.videoGuidanceResourcesPopup",R=350;function L(e){var r,t,i,a,c=[].concat(w((null===(t=null===(r=e.video)||void 0===r?void 0:r.resources)||void 0===t?void 0:t.data)||[]),w((null===(a=null===(i=e.video)||void 0===i?void 0:i.links)||void 0===a?void 0:a.data)||[])),s=e.isLoading?[]:e.resources||c;return n.createElement(p.G,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:e.isLoading?"":o.T.getPhrase(I,"resources"),size:"lg"},!e.isLoading&&n.createElement(n.Fragment,null,n.createElement(u.ZP,{autoHeightMax:R,autoHeightMin:R,autoHeight:!0},n.createElement("ul",{className:"list-unstyled"},s.map((function(r){var t;return n.createElement("li",{key:r.id,className:"mb-3"},n.createElement(E,{resource:r,parentVideo:e.video,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.resourceImageErrorFallbackUrl,preloadImage:!0,appLink:null===(t=e.getResourceAppLink)||void 0===t?void 0:t.call(e,r.id),actionBehaviour:e.actionBehaviour,analyticsOptions:{location:l.LZ.ResourcesGuidancePopup}}))}))),(e.hasMore||e.isFetching)&&n.createElement(d._,{isFetching:e.isFetching,fetchNext:e.fetchNext,nextCursor:e.nextCursor})),n.createElement(m.u,null,n.createElement(m.u.Cancel,{onClick:e.onClickClose,text:o.T.getPhrase(I,"close")}),n.createElement(m.u.Submit,{text:o.T.getPhrase(I,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo}))))}var P=t(94644),F=t(43012),S=t(39151),O=t(1575),T=t(69883),A=t(60115),U=t(31908),x=t(99742),j=t(14070),N=t(97291),_=t(78267),B=t(35014),G="shared.videoGuidanceResources";function M(e){var r,t=a.a.useBasicFetch(e.type===y.E.Video?O.R.video(e.id):F.e.clip(e.id)),u=a.a.useBasicFetch(S.L.config()),d=(0,B.I)(),p=a.a.useGetFetch(),m=(0,T.Z)();function v(r){return _.H.videoResourcesAndLinks(e.id,r)}function g(e){return p(v(e))}var f=(0,A.K)(v,g,(function(e,r){if(1===e)return(0,P.r)(r);m.error(o.T.getPhrase(G,"error"))})),h=f.items,C=f.hasMore,b=f.isFetching,k=f.nextCursor;return n.createElement(L,{isLoading:!t.hasCompleted||!u.hasCompleted,video:t.data,resources:h,hasMore:C,isFetching:b,nextCursor:k,fetchNext:g,imageCdnUrl:null===(r=u.data)||void 0===r?void 0:r.imageCdnUrl,resourceImageErrorFallbackUrl:x.W.Fallbacks.RESOURCE_THUMBNAIL,getResourceAppLink:function(e){return d.canViewResourceItems?{application:N.O.VIDEOS,action:j.e.Videos.PREVIEW_PDF,args:[e],params:{videoId:t.data.id,showBackButton:!0}}:{application:N.O.SIGN_UP,action:j.e.SignUp.SIGN_UP}},actionBehaviour:d.canViewResourceItems?"normal":"public",onClickClose:function(){s.k.logUserAction({id:t.data.id,name:t.data.name},{entity:U.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.CurriculumGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.Close}),e.closePopup()},onClickViewVideo:function(){if(s.k.logUserAction({id:t.data.id,name:t.data.name},{entity:U.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.CurriculumGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.ViewVideo}),U.M.isVideo(t.data))return i.Q.C$.trigger({application:N.O.VIDEOS,action:j.e.Videos.PLAY_VIDEO,args:[t.data.id,c.m.slugify(t.data.name)]}),void e.closePopup();i.Q.C$.trigger({application:N.O.CLIPS,action:j.e.Clips.PLAY_CLIP,args:[t.data.id,c.m.slugify(t.data.name)]}),e.closePopup()}})}}}]);
2
+ //# sourceMappingURL=3022-b6fa0f0ed3-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/3022-b6fa0f0ed3-lite.chunk.js","mappings":"0MA2BMA,EAA8B,CAClCC,SAAU,IACVC,UAAW,CACTC,OAAQ,IACRC,UAAW,IACXC,OAAQ,IACRC,QAAS,KAEXC,WAAY,IACZC,oBAAqB,KAGjB,SAAUC,EACdC,GAMkC,IALlCC,EAAA,uDAA+B,CAAC,EAKhCC,EAAA,uDAAgC,CAAC,EAEjC,GAAKF,EAAL,CAGA,IAAIG,EAGFA,EADmB,iBAAVH,EACIA,EAEAA,EAAKI,OAGpB,IAAMC,EAAW,OAAH,wBACTf,GACAW,GAGAE,GAGA,yBAAmCA,KAGpCA,IAAe,mBAMfA,IAAe,aAMfA,IAAe,cAUdD,EAAUL,YACb,aAAuB,IAAIQ,EAASR,YAN/BK,EAAUV,WACb,aAAuB,IAAIa,EAASb,UAAUI,SAX3CM,EAAUX,UACb,aAAuB,IAAIc,EAASd,UAPjCW,EAAUJ,qBACb,aAAuB,IAAI,KAvBvB,CA6CV,C,wEC1FMQ,EAAmB,I,iHC2BnB,SAAUC,EACdC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,I,ID1BgCC,EAC1BC,ECyB+C,G,GAAX,IAAAC,UAAS,G,EAAE,E,o4BAA7CC,EAAY,KAAEC,EAAe,KAE/BC,EAAcV,EAcdW,GAAW,QAZjB,SAAgBC,GACd,IAAKb,EACH,OAAO,KAET,IAAMc,EAAUd,EAAWa,GAE3B,OAAKC,EAGEA,EAAQC,IAFN,IAGX,GAIEZ,EACAC,GAwCF,ODrFgCE,ECwDd,CAChBU,cATF,WACE,GAAKf,GAAcD,GAAeY,EAIlC,OADAF,GAAgB,SAAAO,GAAU,OAAIA,EAAa,CAAC,IACrCN,EAAYC,EAASM,WAC9B,EAIEC,WAAWP,aAAQ,EAARA,EAAUM,YACrBE,WAAYR,aAAQ,EAARA,EAAUQ,WACtBf,gBAAAA,GD3DIE,EAAe,WACnB,IAAID,EAAQc,WAAZ,CAGA,GAAKd,EAAQD,gBAON,CACL,IAAQA,EAAoBC,EAApBD,gBAKR,GAJ4BA,EAAgBgB,wBAAwBC,OAASjB,EAAgBkB,UAEzElB,EAAgBmB,aAAe1B,EAGjD,MACH,MAVC,GAJ4B2B,OAAOC,YAAcC,SAASC,gBAAgBL,UAEtDI,SAASC,gBAAgBJ,aAAe1B,EAG1D,OAWJQ,EAAQU,eAnBA,CAoBV,GAEA,IAAAa,YAAU,WACR,IAAMC,EAAWC,EAAA,WAAwBxB,EAAc,KAEjDF,EAAkBC,EAAQD,iBAAmBoB,OAKnD,OAHInB,EAAQa,SACVd,EAAgB2B,iBAAiB,SAAUF,GAEtC,kBAAMzB,EAAgB4B,oBAAoB,SAAUH,EAAS,CACtE,GAAG,CAAExB,EAAQa,QAASb,EAAQU,cAAeV,EAAQD,mBC6BrD,IAAAwB,YAAU,WACHjB,GAGDA,EAASsB,oBAAsBjC,IACjCU,IACAD,GAAgB,SAAAO,GAAU,OAAIA,EAAa,CAAC,IAEhD,GAAG,CAAEL,aAAQ,EAARA,EAAUsB,mBAAoBjC,KAEnC,IAAA4B,YAAU,W,QACR,IAAKjB,aAAQ,EAARA,EAAUjB,aAAeoC,EAAA,aAA0B7B,GAAxD,CAGA,IAAMiC,IAAoE,QAA/B,EAAmB,QAAnB,EAAAvB,EAASjB,kBAAU,eAAEyC,kBAAU,eAAEC,OAAO,EAAG,IAElFF,IAAoBG,EAAA,eAA+BH,IAAoBG,EAAA,eAG3EpC,EAAQO,EAAcG,EAASjB,WAPvB,CAQV,GAAG,CAACiB,aAAQ,EAARA,EAAUjB,aAEP,CACL4C,MAAO3B,aAAQ,EAARA,EAAU2B,MACjBpB,WAAWP,aAAQ,EAARA,EAAUM,YACrBA,WAAYN,aAAQ,EAARA,EAAUM,WACtBE,WAAYR,aAAQ,EAARA,EAAUQ,WACtBoB,WAAY5B,aAAQ,EAARA,EAAU4B,WACtBC,sBAAuB7B,aAAQ,EAARA,EAAU6B,sBAErC,C,wECjGaC,EAAmB,CAC9BC,SAAQ,SAACC,GACP,MAAO,CACLC,IAAK,wBAAF,OAA0BD,GAC7B7B,IAAK,aAAF,OAAe6B,GAEtB,EAEAE,eAAc,SAACC,GACb,MAAO,CACLF,IAAK,wBAAF,OAA0BE,EAAO,6BACpChC,IAAK,UAAF,OAAYgC,EAAO,cAE1B,EAEAC,uBAAsB,SAACD,EAAiBlC,GACtC,IAAMoC,EAAQ,mCACd,MAAO,CACLJ,IAAK,eAAqB,wBAAD,OAAyBE,EAAO,YAAY,CAAEE,MAAAA,EAAOpC,OAAAA,IAC9EqC,UAAW,eAAqB,gBAAD,OAAiBH,EAAO,YAAY,CAAEE,MAAAA,EAAOpC,OAAAA,IAC5EE,IAAK,UAAF,OAAYgC,EAAO,2BAAmBlC,GAE7C,EAEAsC,YAAW,SACTJ,EACAJ,EACAS,EACAC,EACAC,GAEA,MAAO,CACLT,IAAK,wBAAF,OAA0BE,EAAO,cACpChC,IAAK,mBAAF,OAAqB4B,EAASY,QAAU,oBAC3CC,KAAMb,EACNc,KAAM,SACNC,iBAAkB,CAAC,UAAD,OAAYX,EAAO,+BAAwBA,IAC7DK,QAAAA,EACAC,MAAAA,EACAC,OAAAA,EAEJ,EAEAK,eAAc,SACZf,EACAY,EACAJ,EACAC,EACAC,GAEA,MAAO,CACLT,IAAK,wBAAF,OAA0BD,GAC7B7B,IAAK,mBAAF,OAAqB6B,GACxBY,KAAAA,EACAC,KAAM,QACNL,QAAAA,EACAC,MAAAA,EACAC,OAAAA,EAEJ,EAEAM,eAAc,SACZhB,EACAG,EACAK,EACAC,EACAC,GAEA,MAAO,CACLT,IAAK,wBAAF,OAA0BD,GAC7B7B,IAAK,mBAAF,OAAqB6B,GACxBa,KAAM,WACNC,iBAAkB,CAAC,UAAD,OAAYX,EAAO,+BAAwBA,IAC7DK,QAAAA,EACAC,MAAAA,EACAC,OAAAA,EAEJ,E,8FCnEI,SAAUO,IACd,OAAgD,SAAxCC,EAAc,EAAdA,eAAgBC,EAAmB,EAAnBA,oBAGlBC,GAAQC,GAFS,SAAfA,YAEiB,aAiBzB,MAAO,CACLC,cAAeJ,EAAe,qBAC9BK,kBAAkB,EAClBC,oBAAqBJ,GAASF,EAAe,2BAC7CO,aAAcL,GAASF,EAAe,oBACtCQ,uBAAwBR,EAAe,qBACvCS,cAAeR,EAAoB,qBACnCS,qBAlBIT,EAAoB,kBAQjB,sBAWPU,qBAAsBV,EAAoB,4BAC1CW,YAAaV,EAEjB,C,2QCzBA,SAASW,EAAgBC,GAEvB,IAAMC,GAAa,QAAsBD,EAAMjC,SAAUiC,EAAME,iBAE/D,SAASC,IACPC,EAAA,gBAA8BJ,EAAMK,cAAeL,EAAMM,iBAC3D,CAGA,OAAIC,EAAA,SAA8BP,EAAMjC,SAAUyC,EAAA,QAE9C,qBAAGC,KAAMT,EAAMjC,SAASE,IAAKyC,OAAO,SAASC,QAASR,GACnDH,EAAMY,UAKTX,EAM4B,WAA1BD,EAAME,gBAEN,uBACEW,UAAS,0BACTF,QAAS,WACPR,IACA,eAA2BH,EAAMc,QACnC,GAECd,EAAMY,UAMX,gBAACG,EAAA,EAAO,CACND,QAASd,EAAMc,QACfT,cAAeL,EAAMK,cACrBC,iBAAkBN,EAAMM,kBAEvBN,EAAMY,UAMX,2BACGZ,EAAMY,SAGb,CAaM,SAAUI,EAAiBhB,G,QACzBK,EAAgB,CACpBrC,GAAIgC,EAAMjC,SAASC,GACnBiD,KAAMjB,EAAMjC,SAASkD,KACrBC,cAAelB,EAAMmB,YAAYnD,GACjCoD,gBAAiBpB,EAAMmB,YAAYF,KACnCI,gBAAiBrB,EAAMmB,YAAYtC,MAG/ByB,EAAgB,+BACjBN,EAAMM,kBAAgB,CACzBgB,WAAY,WACZC,OAAQhB,EAAA,aAA4BP,EAAMjC,UAAY,cAAsB,YAG9E,OACE,uBAAK8C,UAAU,YACb,uBAAKA,UAAU,SACb,gBAACd,EAAe,CACdhC,SAAUiC,EAAMjC,SAChB+C,QAASd,EAAMc,QACfT,cAAeA,EACfC,iBAAgB,+BACXA,GAAgB,CACnBkB,WAAY,iBAEdtB,gBAAiBF,EAAME,iBAEvB,gBAAC,KAAc,CACbtB,KAAMoB,EAAMjC,SACZ0D,cAAc,OACdC,YAAa1B,EAAM0B,YACnBC,sBAAuB3B,EAAM2B,sBAC7BC,aAAc5B,EAAM4B,aACpBC,eAAa,EACbC,yBAA0B,CACxBC,MAAO,IACPC,WAAY,YAEdC,MAAO,CACLC,wBAAyB,QACzBC,eAAgB,YAKxB,uBAAKtB,UAAU,cACb,gBAACd,EAAe,CACdhC,SAAUiC,EAAMjC,SAChB+C,QAASd,EAAMc,QACfT,cAAeA,EACfC,iBAAgB,+BACXA,GAAgB,CACnBkB,WAAY,aAEdtB,gBAAiBF,EAAME,iBAGrBK,EAAA,SAAkCP,EAAMjC,SAAUyC,EAAA,gBACtB,QAAxB,EAAc,QAAd,EAAAR,EAAMjC,gBAAQ,eAAEqE,gBAAQ,eAAEC,eAE9B,gBAACC,EAAA,EAAY,KACVC,EAAA,sBAAmCvC,EAAMjC,SAASqE,SAASC,eAIhE,sBAAIxB,UAAU,cACXb,EAAMjC,SAASkD,QAM5B,C,8tBCvJA,IAAMuB,EAAY,qCAEZC,EAAiB,IAkBjB,SAAUC,EAA4B1C,G,YACpC9B,EAAiB,GAAH,UAA+B,QAAtB,EAAW,QAAX,EAAA8B,EAAM2C,aAAK,eAAEC,iBAAS,eAAEhE,OAAQ,IAAK,GAAsB,QAAlB,EAAW,QAAX,EAAAoB,EAAM2C,aAAK,eAAEE,aAAK,eAAEjE,OAAQ,KAC5FgE,EAAY5C,EAAM8C,UACpB,GACA9C,EAAM4C,WAAa1E,EAEvB,OACE,gBAAC6E,EAAA,EAAK,CACJC,WAAYhD,EAAMiD,aAClBC,mBAAoBlD,EAAM8C,UAC1BK,MAAOnD,EAAM8C,UACT,GACAM,EAAA,YAA0BZ,EAAW,aAEzCa,KAAK,OAEHrD,EAAM8C,WACN,gCACE,gBAAC,KAAU,CAACQ,cAAeb,EAAgBc,cAAed,EAAgBe,YAAU,GAClF,sBAAI3C,UAAU,iBACX+B,EAAUa,KAAI,SAAA1F,G,MACb,OACE,sBAAI5B,IAAK4B,EAASC,GAAI6C,UAAU,QAC9B,gBAACG,EAAgB,CACfjD,SAAUA,EACVoD,YAAanB,EAAM2C,MACnBjB,YAAa1B,EAAM0B,YACnBC,sBAAuB3B,EAAM0D,8BAC7B9B,cAAY,EACZd,QAAiC,QAAxB,EAAAd,EAAM2D,0BAAkB,sBAAG5F,EAASC,IAC7CkC,gBAAiBF,EAAME,gBACvBI,iBAAkB,CAChBsD,SAAU,+BAKpB,MAEA5D,EAAMzD,SAAWyD,EAAMxD,aACvB,gBAACqH,EAAA,EAAoB,CACnBrH,WAAYwD,EAAMxD,WAClBnB,UAAW2E,EAAM3E,UACjBiB,WAAY0D,EAAM1D,cAKxB,gBAACwH,EAAA,EAAY,KACX,gBAACA,EAAA,SAAmB,CAClBnD,QAASX,EAAMiD,aACfc,KAAMX,EAAA,YAA0BZ,EAAW,WAE7C,gBAACsB,EAAA,SAAmB,CAClBC,KAAMX,EAAA,YAA0BZ,EAAW,aAC3CwB,QAAQ,OACRrD,QAASX,EAAMiE,qBAO7B,C,uICrEM,EAAY,gCAQZ,SAAUC,EAA2BlE,G,MAOnC2C,EAAQ,kBALL3C,EAAMnB,OAAS2B,EAAA,QAClB2D,EAAA,QAAoBnE,EAAMhC,IAC1BoG,EAAA,OAAkBpE,EAAMhC,KAIxBqG,EAAS,kBAA6BC,EAAA,YAEtCC,GAAgB,EAAAtF,EAAA,KAEhBuF,EAAQ,kBACRC,GAAS,SAEf,SAASC,EAAoBzI,GAC3B,OAAO6B,EAAA,yBAAwCkC,EAAMhC,GAAI/B,EAC3D,CAEA,SAASZ,EAAUY,GACjB,OAAOuI,EAAME,EAAoBzI,GACnC,CASA,OAAmD,OACjDyI,EACArJ,GATF,SAAiBsJ,EAAoBC,GACnC,GAAmB,IAAfD,EACF,OAAO,OAAgBC,GAEzBH,EAAOhG,MAAM2E,EAAA,YAA0B,EAAW,SACpD,IAEQzF,EAAK,EAALA,MAAOpB,EAAO,EAAPA,QAASC,EAAU,EAAVA,WAAYF,EAAU,EAAVA,WAwDpC,OACE,gBAACoG,EAA2B,CAC1BI,WAAYH,EAAMkC,eAAiBR,EAAOQ,aAC1ClC,MAAOA,EAAM/D,KACbgE,UAAWjF,EACXpB,QAASA,EACTC,WAAYA,EACZF,WAAYA,EACZjB,UAAWA,EACXqG,YAAwB,QAAX,EAAA2C,EAAOzF,YAAI,eAAE8C,YAC1BgC,8BAA+BoB,EAAA,+BAC/BnB,mBAAoB,SAAA3F,GAClB,OAAKuG,EAAc1E,qBAOZ,CACLkF,YAAa,WACbC,OAAQ,uBACRC,KAAM,CAACjH,GACPkH,OAAQ,CAAE/G,QAASwE,EAAM/D,KAAKZ,GAAImH,gBAAgB,IAV3C,CACLJ,YAAa,YACbC,OAAQ,mBAUd,EACA9E,gBAAiBqE,EAAc1E,qBAAuB,SAAW,SACjEoD,aA7EJ,WACE7C,EAAA,gBAA8B,CAC5BpC,GAAI2E,EAAM/D,KAAKZ,GACfiD,KAAM0B,EAAM/D,KAAKqC,MAChB,CACDM,OAAQ6D,EAAA,UAAoBzC,EAAM/D,MAC9B,WACA,UACJgF,SAAU,6BACVtC,WAAY,WACZE,WAAY,aAGdxB,EAAMgD,YACR,EAgEIiB,iBA9DJ,WAaE,GAZA7D,EAAA,gBAA8B,CAC5BpC,GAAI2E,EAAM/D,KAAKZ,GACfiD,KAAM0B,EAAM/D,KAAKqC,MAChB,CACDM,OAAQ6D,EAAA,UAAoBzC,EAAM/D,MAC9B,WACA,UACJgF,SAAU,6BACVtC,WAAY,WACZE,WAAY,iBAGV4D,EAAA,UAAoBzC,EAAM/D,MAS5B,OARA,eAA2B,CACzBmG,YAAa,WACbC,OAAQ,sBACRC,KAAM,CAAEtC,EAAM/D,KAAKZ,GAAIqH,EAAA,UAAmB1C,EAAM/D,KAAKqC,cAGvDjB,EAAMgD,aAKR,eAA2B,CACzB+B,YAAa,UACbC,OAAQ,oBACRC,KAAM,CAAEtC,EAAM/D,KAAKZ,GAAIqH,EAAA,UAAmB1C,EAAM/D,KAAKqC,SAGvDjB,EAAMgD,YACR,GAiCF,C","sources":["file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/projects/lite/src/shared/flight-requests/ResourceRequests.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/resource-list-item/ResourceListItem.tsx","file:///app/packages/libs/shared/src/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-resources/VideoGuidanceResourcesView.tsx"],"sourcesContent":["import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n internalServerError?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError,\n internalServerError: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.InternalServer) {\n if (!ignoreMap.internalServerError)\n Core.ErrorHelper.throw(new UnspecifiedError());\n return;\n }\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { UpdateResourceRequest } from 'libs/shared/interfaces';\n\nexport const ResourceRequests = {\n resource(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `resources:${id}`\n };\n },\n\n videoResources(videoId: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources?query=customer`,\n key: `videos:${videoId}:resources`\n };\n },\n\n videoResourcesAndLinks(videoId: string, cursor?: string): Flight.PublicRequest {\n const query = `(resources[thumbnail,pdf]|links)`;\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${videoId}/members`, { query, cursor }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${videoId}/members`, { query, cursor }),\n key: `videos:${videoId}:resources:links${cursor}`\n };\n },\n\n addResource(\n videoId: string,\n resource: any,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources`,\n key: `create:resource:${resource.fileId || RandomHelper.getRandomInt()}`,\n data: resource,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n },\n\n updateResource(\n id: string,\n data: UpdateResourceRequest,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `update:resource:${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deleteResource(\n id: string,\n videoId: string,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `delete:resource:${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n }\n};","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, ClickDescriptor, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { ResizeType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Clip, Link, Resource, Video } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\n\nimport { ResourceTileV2, useCanPreviewResource } from '../play-page/resources-widget/ResourceWidgetItemV2';\n\ninterface ResourceWrapperProps{\n resource: Resource | Link;\n appLink: Core.AppLink;\n analyticsData: HashObject;\n analyticsOptions: AnalyticsOptions;\n actionBehaviour: 'normal' | 'public';\n}\n\nfunction ResourceWrapper(props: React.PropsWithChildren<ResourceWrapperProps>): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreviewResource(props.resource, props.actionBehaviour);\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(props.analyticsData, props.analyticsOptions);\n }\n\n // Handle resource links\n if (MasterTypeHelper.isType<Link>(props.resource, MasterType.Link)) {\n return (\n <a href={props.resource.url} target='_blank' onClick={logAction}>\n {props.children}\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a div over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div\n className={`cursor-pointer d-inline`}\n onClick={() => {\n logAction();\n Core.AppLinkHelper.trigger(props.appLink);\n }}\n >\n {props.children}\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n {props.children}\n </AppLink>\n );\n }\n\n return (\n <div>\n {props.children}\n </div>\n );\n}\n\ninterface ResourceListItemProps {\n resource: Resource | Link;\n parentVideo: Clip | Video;\n imageCdnUrl: string;\n imageErrorFallbackUrl: string;\n preloadImage: boolean;\n appLink: Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n analyticsOptions: AnalyticsOptions;\n}\n\nexport function ResourceListItem(props: ResourceListItemProps): JSX.Element {\n const analyticsData = {\n id: props.resource.id,\n name: props.resource.name,\n parentVideoId: props.parentVideo.id,\n parentVideoName: props.parentVideo.name,\n parentVideoType: props.parentVideo.type\n };\n \n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: MasterTypeHelper.isResource(props.resource) ? EntityType.Resource : EntityType.Link\n };\n\n return (\n <div className='row gx-0'>\n <div className='col-4'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Thumbnail\n }}\n actionBehaviour={props.actionBehaviour}\n >\n <ResourceTileV2\n data={props.resource}\n titlePosition='none'\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n hideTypeBadge\n dynamicRatioImageOptions={{\n width: 400,\n resizeType: ResizeType.Cover\n }}\n theme={{\n thumbnailContainerClass: 'w-100',\n containerClass: 'px-3'\n }}\n />\n </ResourceWrapper>\n </div>\n <div className='col-8 ps-2'>\n <ResourceWrapper\n resource={props.resource}\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={{\n ...analyticsOptions,\n descriptor: ClickDescriptor.Title\n }}\n actionBehaviour={props.actionBehaviour}\n >\n {(\n MasterTypeHelper.isType<Resource>(props.resource, MasterType.Resource) &&\n !!props.resource?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.resource.metadata.resourceType)}\n </TitleSubText>\n )}\n\n <h3 className='h6 clamp-2'>\n {props.resource.name}\n </h3>\n </ResourceWrapper>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { ResourceListItem } from 'libs/shared/components/resource-list-item/ResourceListItem';\nimport { Link, Resource, Video } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.videoGuidanceResourcesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceResourcesPopupProps {\n isLoading: boolean;\n video: Video;\n resources?: (Link | Resource)[];\n hasMore: boolean;\n isFetching: boolean;\n fetchNext: (cursor?: string) => void;\n nextCursor?: string;\n onClickClose: () => void;\n onClickViewVideo: () => void;\n imageCdnUrl: string;\n resourceImageErrorFallbackUrl: string;\n getResourceAppLink?: (id: string) => Core.AppLink;\n actionBehaviour: 'normal' | 'public';\n}\n\nexport function VideoGuidanceResourcesPopup(props: VideoGuidanceResourcesPopupProps): JSX.Element {\n const videoResources = [ ...(props.video?.resources?.data || []), ...(props.video?.links?.data || []) ];\n const resources = props.isLoading\n ? []\n : props.resources || videoResources;\n\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'resources')\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT} autoHeight>\n <ul className='list-unstyled'>\n {resources.map(resource => {\n return (\n <li key={resource.id} className='mb-3'>\n <ResourceListItem\n resource={resource}\n parentVideo={props.video}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.resourceImageErrorFallbackUrl}\n preloadImage\n appLink={props.getResourceAppLink?.(resource.id)}\n actionBehaviour={props.actionBehaviour}\n analyticsOptions={{\n location: LocationContext.ResourcesGuidancePopup\n }}\n />\n </li>\n );\n })}\n </ul>\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces';\n\nimport { VideoGuidanceResourcesPopup } from 'libs/shared/components/video-guidance/resources/popup/VideoGuidanceResourcesPopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { Clip, Config, Link, PopupViewProps, Resource, Video } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ResourceRequests } from 'shared/flight-requests/ResourceRequests';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\n\nconst namespace = 'shared.videoGuidanceResources';\n\ninterface VideoGuidanceResourcesViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function VideoGuidanceResourcesView(props: VideoGuidanceResourcesViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const featureAccess = useVideoFeatureAccess();\n\n const fetch = Flight.useGetFetch();\n const alerts = useAlerts();\n\n function getResourcesRequest(cursor?: string) {\n return ResourceRequests.videoResourcesAndLinks(props.id, cursor);\n }\n\n function fetchNext(cursor?: string) {\n return fetch(getResourcesRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n }\n\n const { items, hasMore, isFetching, nextCursor } = useInfiniteList<Resource|Link>(\n getResourcesRequest,\n fetchNext,\n onError\n );\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.CurriculumGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.CurriculumGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n return (\n <VideoGuidanceResourcesPopup\n isLoading={!video.hasCompleted || !config.hasCompleted}\n video={video.data}\n resources={items}\n hasMore={hasMore}\n isFetching={isFetching}\n nextCursor={nextCursor}\n fetchNext={fetchNext}\n imageCdnUrl={config.data?.imageCdnUrl}\n resourceImageErrorFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n getResourceAppLink={id => {\n if (!featureAccess.canViewResourceItems) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [id],\n params: { videoId: video.data.id, showBackButton: true }\n };\n }}\n actionBehaviour={featureAccess.canViewResourceItems ? 'normal' : 'public'}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n />\n );\n}"],"names":["defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","internalServerError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","SCROLL_TOLERANCE","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","scrollContainer","options","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","cursor","request","key","fetchNextPage","currentVal","nextCursor","hasMore","isFetching","getBoundingClientRect","height","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","httpStatusClass","toString","substr","HttpStatus","items","totalItems","hasFirstPageCompleted","ResourceRequests","resource","id","url","videoResources","videoId","videoResourcesAndLinks","query","publicUrl","addResource","success","error","always","fileId","data","type","invalidationKeys","updateResource","deleteResource","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","ResourceWrapper","props","canPreview","actionBehaviour","logAction","AnalyticsHelper","analyticsData","analyticsOptions","MasterTypeHelper","MasterType","href","target","onClick","children","className","appLink","AppLink","ResourceListItem","name","parentVideoId","parentVideo","parentVideoName","parentVideoType","actionType","entity","descriptor","titlePosition","imageCdnUrl","imageErrorFallbackUrl","preloadImage","hideTypeBadge","dynamicRatioImageOptions","width","resizeType","theme","thumbnailContainerClass","containerClass","metadata","resourceType","TitleSubText","ResourceHelper","namespace","MIN_MAX_HEIGHT","VideoGuidanceResourcesPopup","video","resources","links","isLoading","Popup","closePopup","onClickClose","showLoadingSpinner","title","LanguageService","size","autoHeightMax","autoHeightMin","autoHeight","map","resourceImageErrorFallbackUrl","getResourceAppLink","location","InfiniteScrollFooter","PopupButtons","text","variant","onClickViewVideo","VideoGuidanceResourcesView","VideoRequests","ClipRequests","config","ConfigRequests","featureAccess","fetch","alerts","getResourcesRequest","pageNumber","httpStatus","hasCompleted","ImageUrls","application","action","args","params","showBackButton","VideoHelper","TextHelper"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3468],{23201:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(32735),a=n(92802),o=n(2102),c=n(83345),l=n(33936),i="shared.formButtons";function s(e){var t=(0,a.u6)(),n=(0,l.l)(t);return r.createElement(o.m,{variant:e.variant||"primary",type:"submit",disabled:!n,size:e.size,className:e.className?e.className:"",showSpinner:t.isSubmitting},e.submitText?r.createElement(r.Fragment,null,e.submitText):r.createElement(c.x,{namespace:i,phrase:e.isNew?"create":"save"}))}},29057:(e,t,n)=>{n.d(t,{n:()=>E,W:()=>O});var r=n(32735),a=n(80247),o=n(80130),c=n(92802),l=n(91967),i=n(1048),s=n(15611),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function m(e){var t=e.label,n=e.checkboxLabelClassName,a=e.checkboxLabelFontWeight,c=e.className,l=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return r.createElement(o.Z.Group,{className:"form-group"},r.createElement("div",{className:"form-check ".concat(c||"")},r.createElement(E,Object.assign({className:"form-check-input"},l)),r.createElement(o.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===a?"fw-normal":""," \n ").concat(n),htmlFor:l.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&r.createElement(r.Fragment,null,r.createElement("span",null," "),r.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var d=n(83914),f=n(83345),p=n(73814),b=n(35223);function v(e){var t=(0,c.u6)().values,n=i.t.get(t,e.fieldName);return"string"!=typeof n?r.createElement(r.Fragment,null):r.createElement("div",{className:"float-end text-secondary fw-normal"},n.length,"/",e.limit," characters")}const y={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var g=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},w="shared.formField";function E(e){var t,n,o=e.children,s=e.showLoadingSpinner,u=g(e,["children","showLoadingSpinner"]),m=(t=r.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,c,l=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=m[0],p=m[1],v=l.q.isFunction(o)?function(e){return o(e)}:r.Children.count(o)?o:null;if("password"!==u.type)return s?r.createElement("div",{className:"position-relative"},r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize"])),v),r.createElement("div",{className:y.spinner},r.createElement(a.Z,{animation:"border",size:"sm"}))):r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize"])),v);var w="position-relative ".concat(y.passwordContainer);return u.className&&(w+=" ".concat(u.className)),u.disabled&&(w+=" ".concat(y.passwordContainerDisabled)),r.createElement("div",{className:w},r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize","type","className"]),{type:f,className:"".concat(y.passwordInput," border-0 w-100 h-100 outline-none rounded")}),v),"password"===u.type&&r.createElement(d.x,{svgName:"password"===f?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(y.revealPassword),onClick:function(){p("password"===f?"text":"password")}}))}function O(e){var t=e.label,n=e.className,a=e.showCharacterCounter,l=e.showRequiredStar,s=e.infoTooltip,u=e.infoTooltipPlacement,h=e.infoText,O=e.formSize,k=e.showOptionalLabel,N=g(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),C=(0,c.u6)(),S=C.errors,x=C.touched,j=function(){};if("checkbox"===N.type){var P=i.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(P.onChange=j),r.createElement(m,Object.assign({},P))}var I=Object.assign(Object.assign({},N),{className:p.w.getCustomFormControlClassName(S,x,N.name,O,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(I.onChange=j),r.createElement(o.Z.Group,{className:"form-group"},!!t&&r.createElement(o.Z.Label,{htmlFor:N.id,className:"d-flex align-items-center"},t,l&&r.createElement("span",{className:"text-danger"},"*"),s&&r.createElement(d.x,{className:"svg-container text-secondary ".concat(y.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:u,tooltipSpanHack:!0}),k&&r.createElement("span",{className:"text-secondary"}," ",r.createElement(f.x,{namespace:w,phrase:"optional"})),!!a&&!!N.maxLength&&r.createElement("div",{className:"ms-auto"},r.createElement(v,{fieldName:N.name,limit:N.maxLength}))),r.createElement(E,Object.assign({},I,{"aria-errormessage":"".concat(N.name,"Error")})),!!h&&r.createElement(o.Z.Text,{className:"text-secondary"},h),r.createElement(c.Bc,{name:N.name},(function(e){return r.createElement(o.Z.Control.Feedback,{id:"".concat(N.name,"Error"),type:"invalid",role:"status"},e)})))}E.defaultProps={autoComplete:"off"},O.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>s});var r=n(32735),a=n(92802),o=n(91967),c=n(1048);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var i=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,m=i(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=c.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&(c.t.isObject(n[r])?e(n[r]):null===t[r]&&delete t[r])}))}(t),t}(s)):s,f={allowInitialSubmit:e.allowInitialSubmit};return r.createElement(a.J9,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:function(t,r){var a=r.setSubmitting,o=r.resetForm,c=r.setFieldError,i=n&&e.validationSchema?e.validationSchema.cast(t):t;u(i,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&o(),n.errors)for(var r=0,i=Object.entries(n.errors);r<i.length;r++){var s=(e=i[r],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,c,l=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(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.")}()),u=s[0],m=s[1];c(u,m)}a(!1)}))},initialStatus:f}),o.q.isFunction(e.children)?function(t){return e.children(t)}:r.Children.count(e.children)?e.children:null)}function u(){return(0,a.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>a});var r=n(92802),a={getCustomFormControlClassName:function(e,t,n,a,o,c){var l="";return l=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(c,a),(0,r.u9)(t,n)&&(0,r.u9)(e,n)&&(l+=" is-invalid"),o&&(l+=" ".concat(o)),l}}},78267:(e,t,n)=>{n.d(t,{H:()=>c});var r=n(99940),a=n(97395),o=n(45157),c={resource:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"resources:".concat(e)}},videoResources:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/resources?query=customer"),key:"videos:".concat(e,":resources")}},videoResourcesAndLinks:function(e,t){return{url:a._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),{query:"(resources[thumbnail,pdf]|links)",cursor:t}),key:"videos:".concat(e,":resources:links").concat(t)}},addResource:function(e,t,n,a,c){return{url:"{gateway}/v1/objects/".concat(e,"/resources"),key:"create:resource:".concat(t.fileId||o.Y.getRandomInt()),data:t,type:r.k.POST,invalidationKeys:["videos:".concat(e,":resources"),"videos:".concat(e)],success:n,error:a,always:c}},updateResource:function(e,t,n,a,o){return{url:"{gateway}/v1/objects/".concat(e),key:"update:resource:".concat(e),data:t,type:r.k.PUT,success:n,error:a,always:o}},deleteResource:function(e,t,n,a,o){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:resource:".concat(e),type:r.k.DELETE,invalidationKeys:["videos:".concat(t,":resources"),"videos:".concat(t)],success:n,error:a,always:o}}}},53468:(e,t,n)=>{n.r(t),n.d(t,{EditResourceView:()=>C});var r=n(32735),a=n(70680),o=n(23481),c=n(20354),l=n(49985),i=n(65858),s=n(98269),u=n(92802),m=n(5173),d=n(23201),f=n(29057),p=n(82644),b=n(83345),v="shared.editResource",y=o.T.encloseNamespace(v),h=m.Ry().shape({name:m.Z_().trim().max(255,(function(){return y("nameTooLong")})).required((function(){return y("nameRequired")})).default("")}).noUnknown();function g(e){var t=(0,u.u6)();return r.createElement(u.l0,null,r.createElement(f.W,{label:y("name"),name:"name",id:"name",value:t.values.name,placeholder:y("namePlaceholder"),autoFocus:!0}),r.createElement("div",{className:e.buttonContainerClassName||""},r.createElement(s.Z,{variant:"link",className:"me-2",onClick:e.onClickCancel},r.createElement(b.x,{namespace:v,phrase:"cancel"})),r.createElement(d.A,{isNew:!1,variant:e.submitBtnVariant})))}function w(e){return r.createElement(p.n,{initialValues:e.resource,validationSchema:h,onSubmit:e.saveResource},r.createElement(g,{onClickCancel:e.onClickCancel,buttonContainerClassName:e.buttonContainerClassName,submitBtnVariant:e.submitBtnVariant}))}w.defaultProps={submitBtnVariant:"primary"};var E=n(9111),O=n(69883),k=n(78267),N=o.T.encloseNamespace("shared.editResourceView");function C(e){var t=(0,a.I0)(),n=(0,O.Z)(),o=c.a.useBasicFetch(k.H.resource(e.resourceId));return r.createElement(E.G,{title:N("heading"),closePopup:e.closePopup,showLoadingSpinner:!o.data},!!o.data&&r.createElement(w,{resource:o.data,saveResource:function(r){c.a.fetch(t,k.H.updateResource(e.resourceId,r,(function(){n.success(N("success")),l.k.logUserAction({id:e.resourceId,parentId:e.videoId,name:r.name},{location:i.LZ.Popup,actionType:i.Vw.Edit,entity:i.py.Resource,workflowPhase:i.eu.Complete})}),(function(){return n.error(N("error"))}),e.closePopup))},onClickCancel:e.closePopup,buttonContainerClassName:"d-flex justify-content-end border-top pt-3 px-3 mx-n3",submitBtnVariant:"dark"}))}}}]);
2
- //# sourceMappingURL=3468-943f8a9859-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3468],{23201:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(32735),a=n(92802),o=n(2102),c=n(83345),l=n(33936),i="shared.formButtons";function s(e){var t=(0,a.u6)(),n=(0,l.l)(t);return r.createElement(o.m,{variant:e.variant||"primary",type:"submit",disabled:!n,size:e.size,className:e.className?e.className:"",showSpinner:t.isSubmitting},e.submitText?r.createElement(r.Fragment,null,e.submitText):r.createElement(c.x,{namespace:i,phrase:e.isNew?"create":"save"}))}},29057:(e,t,n)=>{n.d(t,{n:()=>E,W:()=>O});var r=n(32735),a=n(80247),o=n(80130),c=n(92802),l=n(91967),i=n(1048),s=n(15611),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function m(e){var t=e.label,n=e.checkboxLabelClassName,a=e.checkboxLabelFontWeight,c=e.className,l=u(e,["label","checkboxLabelClassName","checkboxLabelFontWeight","className"]);return r.createElement(o.Z.Group,{className:"form-group"},r.createElement("div",{className:"form-check ".concat(c||"")},r.createElement(E,Object.assign({className:"form-check-input"},l)),r.createElement(o.Z.Label,{className:"form-check-label cursor-pointer ".concat("normal"===a?"fw-normal":""," \n ").concat(n),htmlFor:l.id},t),e.checkboxAppLink&&e.checkboxAppLinkText&&r.createElement(r.Fragment,null,r.createElement("span",null," "),r.createElement(s.F,{appLink:e.checkboxAppLink,className:"info-link"},e.checkboxAppLinkText))))}var d=n(83914),f=n(83345),p=n(73814),b=n(35223);function v(e){var t=(0,c.u6)().values,n=i.t.get(t,e.fieldName);return"string"!=typeof n?r.createElement(r.Fragment,null):r.createElement("div",{className:"float-end text-secondary fw-normal"},n.length,"/",e.limit," characters")}const y={revealPassword:"jCfI0",passwordInput:"RBJnf",passwordContainer:"d78lK",passwordContainerDisabled:"asbVo",infoTooltip:"wzyOG",spinner:"CycFx"};function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var g=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},w="shared.formField";function E(e){var t,n,o=e.children,s=e.showLoadingSpinner,u=g(e,["children","showLoadingSpinner"]),m=(t=r.useState(e.type),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,c,l=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=m[0],p=m[1],v=l.q.isFunction(o)?function(e){return o(e)}:r.Children.count(o)?o:null;if("password"!==u.type)return s?r.createElement("div",{className:"position-relative"},r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize"])),v),r.createElement("div",{className:y.spinner},r.createElement(a.Z,{animation:"border",size:"sm"}))):r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize"])),v);var w="position-relative ".concat(y.passwordContainer);return u.className&&(w+=" ".concat(u.className)),u.disabled&&(w+=" ".concat(y.passwordContainerDisabled)),r.createElement("div",{className:w},r.createElement(c.gN,Object.assign({},i.t.omit(u,["formSize","type","className"]),{type:f,className:"".concat(y.passwordInput," border-0 w-100 h-100 outline-none rounded")}),v),"password"===u.type&&r.createElement(d.x,{svgName:"password"===f?b.vn.VisibleOn:b.vn.VisibleOff,className:"svg-container cursor-pointer ".concat(y.revealPassword),onClick:function(){p("password"===f?"text":"password")}}))}function O(e){var t=e.label,n=e.className,a=e.showCharacterCounter,l=e.showRequiredStar,s=e.infoTooltip,u=e.infoTooltipPlacement,h=e.infoText,O=e.formSize,k=e.showOptionalLabel,N=g(e,["label","className","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel"]),C=(0,c.u6)(),S=C.errors,x=C.touched,j=function(){};if("checkbox"===N.type){var P=i.t.omit(e,["formSize","infoTooltipPlacement"]);return e.disabled&&(P.onChange=j),r.createElement(m,Object.assign({},P))}var I=Object.assign(Object.assign({},N),{className:p.w.getCustomFormControlClassName(S,x,N.name,O,n,"string"==typeof e.as?e.as:null)});return e.disabled&&(I.onChange=j),r.createElement(o.Z.Group,{className:"form-group"},!!t&&r.createElement(o.Z.Label,{htmlFor:N.id,className:"d-flex align-items-center"},t,l&&r.createElement("span",{className:"text-danger"},"*"),s&&r.createElement(d.x,{className:"svg-container text-secondary ".concat(y.infoTooltip),svgName:b.vn.Info,title:s,tooltipPlacement:u,tooltipSpanHack:!0}),k&&r.createElement("span",{className:"text-secondary"}," ",r.createElement(f.x,{namespace:w,phrase:"optional"})),!!a&&!!N.maxLength&&r.createElement("div",{className:"ms-auto"},r.createElement(v,{fieldName:N.name,limit:N.maxLength}))),r.createElement(E,Object.assign({},I,{"aria-errormessage":"".concat(N.name,"Error")})),!!h&&r.createElement(o.Z.Text,{className:"text-secondary"},h),r.createElement(c.Bc,{name:N.name},(function(e){return r.createElement(o.Z.Control.Feedback,{id:"".concat(N.name,"Error"),type:"invalid",role:"status"},e)})))}E.defaultProps={autoComplete:"off"},O.defaultProps={autoComplete:"off",infoTooltipPlacement:"top"}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>s});var r=n(32735),a=n(92802),o=n(91967),c=n(1048);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var i=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function s(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,s=e.initialValues,u=e.onSubmit,m=i(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=c.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&(c.t.isObject(n[r])?e(n[r]):null===t[r]&&delete t[r])}))}(t),t}(s)):s,f={allowInitialSubmit:e.allowInitialSubmit};return r.createElement(a.J9,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:function(t,r){var a=r.setSubmitting,o=r.resetForm,c=r.setFieldError,i=n&&e.validationSchema?e.validationSchema.cast(t):t;u(i,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&o(),n.errors)for(var r=0,i=Object.entries(n.errors);r<i.length;r++){var s=(e=i[r],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,c,l=[],i=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(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.")}()),u=s[0],m=s[1];c(u,m)}a(!1)}))},initialStatus:f}),o.q.isFunction(e.children)?function(t){return e.children(t)}:r.Children.count(e.children)?e.children:null)}function u(){return(0,a.u6)()}s.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},73814:(e,t,n)=>{n.d(t,{w:()=>a});var r=n(92802),a={getCustomFormControlClassName:function(e,t,n,a,o,c){var l="";return l=function(e,t){var n="";return n="select"===e?"form-select":"form-control","sm"===t&&(n+=" ".concat(n,"-sm")),"lg"===t&&(n+=" ".concat(n,"-lg")),n}(c,a),(0,r.u9)(t,n)&&(0,r.u9)(e,n)&&(l+=" is-invalid"),o&&(l+=" ".concat(o)),l}}},78267:(e,t,n)=>{n.d(t,{H:()=>c});var r=n(99940),a=n(97395),o=n(45157),c={resource:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"resources:".concat(e)}},videoResources:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/resources?query=customer"),key:"videos:".concat(e,":resources")}},videoResourcesAndLinks:function(e,t){var n="(resources[thumbnail,pdf]|links)";return{url:a._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),{query:n,cursor:t}),publicUrl:a._.urlBuilder("/api/objects/".concat(e,"/members"),{query:n,cursor:t}),key:"videos:".concat(e,":resources:links").concat(t)}},addResource:function(e,t,n,a,c){return{url:"{gateway}/v1/objects/".concat(e,"/resources"),key:"create:resource:".concat(t.fileId||o.Y.getRandomInt()),data:t,type:r.k.POST,invalidationKeys:["videos:".concat(e,":resources"),"videos:".concat(e)],success:n,error:a,always:c}},updateResource:function(e,t,n,a,o){return{url:"{gateway}/v1/objects/".concat(e),key:"update:resource:".concat(e),data:t,type:r.k.PUT,success:n,error:a,always:o}},deleteResource:function(e,t,n,a,o){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:resource:".concat(e),type:r.k.DELETE,invalidationKeys:["videos:".concat(t,":resources"),"videos:".concat(t)],success:n,error:a,always:o}}}},53468:(e,t,n)=>{n.r(t),n.d(t,{EditResourceView:()=>C});var r=n(32735),a=n(70680),o=n(23481),c=n(20354),l=n(49985),i=n(65858),s=n(98269),u=n(92802),m=n(5173),d=n(23201),f=n(29057),p=n(82644),b=n(83345),v="shared.editResource",y=o.T.encloseNamespace(v),h=m.Ry().shape({name:m.Z_().trim().max(255,(function(){return y("nameTooLong")})).required((function(){return y("nameRequired")})).default("")}).noUnknown();function g(e){var t=(0,u.u6)();return r.createElement(u.l0,null,r.createElement(f.W,{label:y("name"),name:"name",id:"name",value:t.values.name,placeholder:y("namePlaceholder"),autoFocus:!0}),r.createElement("div",{className:e.buttonContainerClassName||""},r.createElement(s.Z,{variant:"link",className:"me-2",onClick:e.onClickCancel},r.createElement(b.x,{namespace:v,phrase:"cancel"})),r.createElement(d.A,{isNew:!1,variant:e.submitBtnVariant})))}function w(e){return r.createElement(p.n,{initialValues:e.resource,validationSchema:h,onSubmit:e.saveResource},r.createElement(g,{onClickCancel:e.onClickCancel,buttonContainerClassName:e.buttonContainerClassName,submitBtnVariant:e.submitBtnVariant}))}w.defaultProps={submitBtnVariant:"primary"};var E=n(9111),O=n(69883),k=n(78267),N=o.T.encloseNamespace("shared.editResourceView");function C(e){var t=(0,a.I0)(),n=(0,O.Z)(),o=c.a.useBasicFetch(k.H.resource(e.resourceId));return r.createElement(E.G,{title:N("heading"),closePopup:e.closePopup,showLoadingSpinner:!o.data},!!o.data&&r.createElement(w,{resource:o.data,saveResource:function(r){c.a.fetch(t,k.H.updateResource(e.resourceId,r,(function(){n.success(N("success")),l.k.logUserAction({id:e.resourceId,parentId:e.videoId,name:r.name},{location:i.LZ.Popup,actionType:i.Vw.Edit,entity:i.py.Resource,workflowPhase:i.eu.Complete})}),(function(){return n.error(N("error"))}),e.closePopup))},onClickCancel:e.closePopup,buttonContainerClassName:"d-flex justify-content-end border-top pt-3 px-3 mx-n3",submitBtnVariant:"dark"}))}}}]);
2
+ //# sourceMappingURL=3468-ecc5f20dd2-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/3468-ecc5f20dd2-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/projects/lite/src/shared/flight-requests/ResourceRequests.ts","file:///app/packages/libs/shared/src/components/edit-resource/EditResource.tsx","file:///app/packages/projects/lite/src/shared/views/edit-resource/EditResourceView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\n\nconst namespace = 'shared.formButtons';\n\ninterface FormButtonsProps {\n isNew?: boolean;\n submitText?: string;\n variant?: ButtonProps['variant'];\n size?: FormSize;\n className?: string;\n}\n\nexport function FormButtons<Values extends HashObject>(props: FormButtonsProps): JSX.Element {\n const formikProps = useFormikContext<Values>();\n\n const canSubmit = useCanSubmitForm(formikProps);\n\n return (\n <SpinnerButton\n variant={props.variant || 'primary'}\n type='submit'\n disabled={!canSubmit}\n size={props.size}\n className={props.className ? props.className : ''}\n showSpinner={formikProps.isSubmitting}\n >\n {props.submitText\n ? <>{props.submitText}</>\n : <Text namespace={namespace} phrase={props.isNew ? 'create' : 'save'} />}\n </SpinnerButton>\n );\n}\n","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span>&nbsp;</span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = ObjectHelper.get(values, props.fieldName as string);\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'>&nbsp;<Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} aria-errormessage={`${fieldProps.name}Error`} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback id={`${fieldProps.name}Error`} type='invalid' role='status'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { UpdateResourceRequest } from 'libs/shared/interfaces';\n\nexport const ResourceRequests = {\n resource(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `resources:${id}`\n };\n },\n\n videoResources(videoId: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources?query=customer`,\n key: `videos:${videoId}:resources`\n };\n },\n\n videoResourcesAndLinks(videoId: string, cursor?: string): Flight.PublicRequest {\n const query = `(resources[thumbnail,pdf]|links)`;\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${videoId}/members`, { query, cursor }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${videoId}/members`, { query, cursor }),\n key: `videos:${videoId}:resources:links${cursor}`\n };\n },\n\n addResource(\n videoId: string,\n resource: any,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources`,\n key: `create:resource:${resource.fileId || RandomHelper.getRandomInt()}`,\n data: resource,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n },\n\n updateResource(\n id: string,\n data: UpdateResourceRequest,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `update:resource:${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deleteResource(\n id: string,\n videoId: string,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `delete:resource:${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n }\n};","import * as React from 'react';\nimport { Button, ButtonProps } from 'react-bootstrap';\nimport { Form, useFormikContext } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Resource, UpdateResourceRequest } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.editResource';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst ResourceValidationSchema = Yup.object().shape<UpdateResourceRequest>({\n name: Yup.string()\n .trim()\n .max(255, () => getPhrase('nameTooLong'))\n .required(() => getPhrase('nameRequired'))\n .default('')\n}).noUnknown();\n\n\ninterface EditResourceFormProps {\n onClickCancel: () => void;\n buttonContainerClassName?: string;\n submitBtnVariant?: ButtonProps['variant'];\n}\n\nexport function EditResourceForm(props: EditResourceFormProps): JSX.Element {\n const formikProps = useFormikContext<UpdateResourceRequest>();\n\n return (\n <Form>\n <FormField<UpdateResourceRequest>\n label={getPhrase('name')}\n name='name'\n id='name'\n value={formikProps.values.name}\n placeholder={getPhrase('namePlaceholder')}\n autoFocus\n />\n <div className={props.buttonContainerClassName || ''}>\n <Button variant='link' className='me-2' onClick={props.onClickCancel}>\n <Text namespace={namespace} phrase='cancel' />\n </Button>\n <FormButtons isNew={false} variant={props.submitBtnVariant} />\n </div>\n </Form>\n );\n}\n\ninterface EditResourceProps {\n saveResource: (data: UpdateResourceRequest, onDone: () => void) => void;\n resource: Resource;\n onClickCancel: () => void;\n buttonContainerClassName?: string;\n submitBtnVariant?: ButtonProps['variant'];\n}\n\nEditResource.defaultProps = {\n submitBtnVariant: 'primary'\n};\n\nexport function EditResource(props: EditResourceProps): JSX.Element {\n return (\n <FormWrapper<UpdateResourceRequest, Resource>\n initialValues={props.resource}\n validationSchema={ResourceValidationSchema}\n onSubmit={props.saveResource}\n >\n <EditResourceForm\n onClickCancel={props.onClickCancel}\n buttonContainerClassName={props.buttonContainerClassName}\n submitBtnVariant={props.submitBtnVariant}\n />\n </FormWrapper>\n );\n}","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EditResource } from 'libs/shared/components/edit-resource/EditResource';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps, Resource, UpdateResourceRequest } from 'libs/shared/interfaces';\n\nimport { ResourceRequests } from 'shared/flight-requests/ResourceRequests';\n\nconst getPhrase = LanguageService.encloseNamespace('shared.editResourceView');\n\ninterface EditResourceViewProps extends PopupViewProps {\n resourceId: string;\n videoId: string;\n}\n\nexport function EditResourceView(props: EditResourceViewProps): JSX.Element {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const resource = Flight.useBasicFetch<Resource>(ResourceRequests.resource(props.resourceId));\n\n function saveResource(data: UpdateResourceRequest): void {\n const onSuccess = () => {\n alerts.success(getPhrase('success'));\n\n AnalyticsHelper.logUserAction({\n id: props.resourceId,\n parentId: props.videoId,\n name: data.name\n }, {\n location: LocationContext.Popup,\n actionType: UserAction.Edit,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete\n });\n };\n\n const onError = () => alerts.error(getPhrase('error'));\n\n Flight.fetch(\n dispatch,\n ResourceRequests.updateResource(props.resourceId, data, onSuccess, onError, props.closePopup)\n );\n }\n\n return (\n <Popup title={getPhrase('heading')} closePopup={props.closePopup} showLoadingSpinner={!resource.data}>\n {!!resource.data &&\n <EditResource\n resource={resource.data}\n saveResource={saveResource}\n onClickCancel={props.closePopup}\n buttonContainerClassName='d-flex justify-content-end border-top pt-3 px-3 mx-n3'\n submitBtnVariant='dark'\n />\n }\n </Popup>\n );\n}"],"names":["namespace","FormButtons","props","formikProps","canSubmit","variant","type","disabled","size","className","showSpinner","isSubmitting","submitText","phrase","isNew","FormCheckbox","label","checkboxLabelClassName","checkboxLabelFontWeight","fieldProps","Form","FieldWrapper","htmlFor","id","checkboxAppLink","checkboxAppLinkText","AppLink","appLink","CharacterCounter","values","field","ObjectHelper","fieldName","length","limit","children","showLoadingSpinner","setType","resolvedChildren","FunctionHelper","f","Spinner","animation","containerClassName","SvgContainer","svgName","onClick","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","name","as","title","tooltipPlacement","tooltipSpanHack","Text","maxLength","errorMessage","role","defaultProps","autoComplete","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","forEach","key","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","value","useFormikContextWrapper","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","ResourceRequests","resource","url","videoResources","videoId","videoResourcesAndLinks","cursor","query","publicUrl","addResource","success","error","always","fileId","data","invalidationKeys","updateResource","deleteResource","getPhrase","LanguageService","ResourceValidationSchema","shape","trim","max","required","noUnknown","EditResourceForm","placeholder","autoFocus","buttonContainerClassName","Button","onClickCancel","submitBtnVariant","EditResource","saveResource","EditResourceView","dispatch","alerts","resourceId","Popup","closePopup","AnalyticsHelper","parentId","location","actionType","entity","workflowPhase"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[872],{1704:(e,t,r)=>{r.d(t,{l:()=>i});var n=r(32735),c=r(23481),o=r(9111),a=r(13876);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var s=c.T.encloseNamespace("shared.confirmationPopup");function i(e){var t,r,c=(t=n.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 n,c,o,a,u=[],s=!0,i=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=o.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){i=!0,c=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(i)throw c}}return u}}(t,r)||function(e,t){if(e){if("string"==typeof e)return u(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)?u(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.")}()),i=c[0],l=c[1];return n.createElement(o.G,{title:e.title,closePopup:e.closePopup},n.createElement(n.Fragment,null,e.children,n.createElement(a.u,null,n.createElement(a.u.Cancel,{onClick:e.closePopup,variant:e.cancelButtonVariant,text:e.cancelButtonText||s("cancel")}),n.createElement(a.u.Submit,{onClick:function(){l(!0),e.onClickConfirm()},text:e.confirmButtonText||s("confirm"),variant:e.confirmButtonVariant,showSpinner:i,disabled:e.disabledConfirmButton}))))}i.defaultProps={confirmButtonVariant:"primary",cancelButtonVariant:"link"}},78267:(e,t,r)=>{r.d(t,{H:()=>a});var n=r(99940),c=r(97395),o=r(45157),a={resource:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"resources:".concat(e)}},videoResources:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/resources?query=customer"),key:"videos:".concat(e,":resources")}},videoResourcesAndLinks:function(e,t){var r="(resources[thumbnail,pdf]|links)";return{url:c._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),{query:r,cursor:t}),publicUrl:c._.urlBuilder("/api/objects/".concat(e,"/members"),{query:r,cursor:t}),key:"videos:".concat(e,":resources:links").concat(t)}},addResource:function(e,t,r,c,a){return{url:"{gateway}/v1/objects/".concat(e,"/resources"),key:"create:resource:".concat(t.fileId||o.Y.getRandomInt()),data:t,type:n.k.POST,invalidationKeys:["videos:".concat(e,":resources"),"videos:".concat(e)],success:r,error:c,always:a}},updateResource:function(e,t,r,c,o){return{url:"{gateway}/v1/objects/".concat(e),key:"update:resource:".concat(e),data:t,type:n.k.PUT,success:r,error:c,always:o}},deleteResource:function(e,t,r,c,o){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:resource:".concat(e),type:n.k.DELETE,invalidationKeys:["videos:".concat(t,":resources"),"videos:".concat(t)],success:r,error:c,always:o}}}},20872:(e,t,r)=>{r.r(t),r.d(t,{DeleteResourceView:()=>v});var n=r(32735),c=r(70680),o=r(23481),a=r(20354),u=r(49985),s=r(65858),i=r(1704),l=r(50023),d=r(83345),f=r(69883),p=r(78267),m="shared.deleteResourceView",y=o.T.encloseNamespace(m);function v(e){var t=(0,c.I0)(),r=(0,f.Z)(),o=a.a.useBasicFetch(p.H.resource(e.resourceId));return n.createElement(i.l,{title:y("heading"),confirmButtonText:y("remove"),confirmButtonVariant:"danger",onClickConfirm:function(){a.a.fetch(t,p.H.deleteResource(e.resourceId,e.videoId,(function(){r.success(y("success")),u.k.logUserAction({id:e.resourceId,parentId:e.videoId},{location:s.LZ.Popup,actionType:s.Vw.Delete,entity:s.py.Resource,workflowPhase:s.eu.Complete})}),(function(){return r.error(y("error"))}),e.closePopup))},closePopup:e.closePopup},o.data?n.createElement("p",null,n.createElement(d.x,{namespace:m,phrase:"body",options:{name:o.data.name}})):n.createElement(l.E,null))}}}]);
2
+ //# sourceMappingURL=872-928631c37b-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/872-928631c37b-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/confirmation-popup/ConfirmationPopup.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/ResourceRequests.ts","file:///app/packages/projects/lite/src/shared/views/delete-resource/DeleteResourceView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.confirmationPopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ConfirmationPopupProps {\n title: string;\n onClickConfirm: () => void;\n confirmButtonText?: string;\n cancelButtonText?: string;\n confirmButtonVariant?: ButtonProps['variant'];\n cancelButtonVariant?: ButtonProps['variant'];\n disabledConfirmButton?: boolean;\n}\n\nConfirmationPopup.defaultProps = {\n confirmButtonVariant: 'primary',\n cancelButtonVariant: 'link'\n};\n\ntype PropTypes = React.PropsWithChildren<ConfirmationPopupProps & PopupViewProps>;\n\nexport function ConfirmationPopup(props: PropTypes): React.ReactElement {\n const [ showButtonSpinner, setShowButtonSpinner ] = React.useState(false);\n\n return (\n <Popup title={props.title} closePopup={props.closePopup}>\n <>\n {props.children}\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.closePopup}\n variant={props.cancelButtonVariant}\n text={props.cancelButtonText || getPhrase('cancel')}\n />\n <PopupButtons.Submit\n onClick={() => { setShowButtonSpinner(true); props.onClickConfirm(); }}\n text={props.confirmButtonText || getPhrase('confirm')}\n variant={props.confirmButtonVariant}\n showSpinner={showButtonSpinner}\n disabled={props.disabledConfirmButton}\n />\n </PopupButtons>\n </>\n </Popup>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { UpdateResourceRequest } from 'libs/shared/interfaces';\n\nexport const ResourceRequests = {\n resource(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `resources:${id}`\n };\n },\n\n videoResources(videoId: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources?query=customer`,\n key: `videos:${videoId}:resources`\n };\n },\n\n videoResourcesAndLinks(videoId: string, cursor?: string): Flight.PublicRequest {\n const query = `(resources[thumbnail,pdf]|links)`;\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${videoId}/members`, { query, cursor }),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${videoId}/members`, { query, cursor }),\n key: `videos:${videoId}:resources:links${cursor}`\n };\n },\n\n addResource(\n videoId: string,\n resource: any,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${videoId}/resources`,\n key: `create:resource:${resource.fileId || RandomHelper.getRandomInt()}`,\n data: resource,\n type: HttpVerbs.POST,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n },\n\n updateResource(\n id: string,\n data: UpdateResourceRequest,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `update:resource:${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deleteResource(\n id: string,\n videoId: string,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: `delete:resource:${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [ `videos:${videoId}:resources`, `videos:${videoId}` ],\n success,\n error,\n always\n };\n }\n};","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ConfirmationPopup } from 'libs/shared/components/confirmation-popup/ConfirmationPopup';\nimport { PopupLoadingSpinner } from 'libs/shared/components/popup/PopupLoadingSpinner';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { PopupViewProps, Resource } from 'libs/shared/interfaces';\n\nimport { ResourceRequests } from 'shared/flight-requests/ResourceRequests';\n\nconst namespace = 'shared.deleteResourceView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface DeleteResourceViewProps extends PopupViewProps {\n resourceId: string;\n videoId: string;\n}\n\nexport function DeleteResourceView(props: DeleteResourceViewProps): JSX.Element {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const resource = Flight.useBasicFetch<Resource>(ResourceRequests.resource(props.resourceId));\n\n function deleteResource(): void {\n const onSuccess = () => {\n alerts.success(getPhrase('success'));\n\n AnalyticsHelper.logUserAction({\n id: props.resourceId,\n parentId: props.videoId\n }, {\n location: LocationContext.Popup,\n actionType: UserAction.Delete,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete\n });\n };\n\n const onError = () => alerts.error(getPhrase('error'));\n\n Flight.fetch(\n dispatch,\n ResourceRequests.deleteResource(props.resourceId, props.videoId, onSuccess, onError, props.closePopup)\n );\n }\n\n return (\n <ConfirmationPopup\n title={getPhrase('heading')}\n confirmButtonText={getPhrase('remove')}\n confirmButtonVariant='danger'\n onClickConfirm={deleteResource}\n closePopup={props.closePopup}\n >\n {resource.data\n ? <p><Text namespace={namespace} phrase='body' options={{ name: resource.data.name }} /></p>\n : <PopupLoadingSpinner />\n }\n </ConfirmationPopup>\n );\n}"],"names":["getPhrase","ConfirmationPopup","props","showButtonSpinner","setShowButtonSpinner","title","closePopup","children","onClick","variant","cancelButtonVariant","text","cancelButtonText","onClickConfirm","confirmButtonText","confirmButtonVariant","showSpinner","disabled","disabledConfirmButton","defaultProps","ResourceRequests","resource","id","url","key","videoResources","videoId","videoResourcesAndLinks","cursor","query","publicUrl","addResource","success","error","always","fileId","data","type","invalidationKeys","updateResource","deleteResource","namespace","DeleteResourceView","dispatch","alerts","resourceId","parentId","location","actionType","entity","workflowPhase","phrase","options","name"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9668],{86877:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(23481);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function a(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var s=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=c(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,n||[],c(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),n=t,(a=[{key:"name",get:function(){return"FileTypeError"}},{key:"lang",get:function(){return"upload.fileType"}},{key:"dialogOptions",get:function(){return{title:r.T.getPhrase(this.lang,"heading"),text:r.T.getPhrase(this.lang,"body"),buttons:[{text:r.T.getPhrase(this.lang,"okay"),className:"btn btn-dark",success:!0},{text:r.T.getPhrase(this.lang,"close"),className:"btn btn-link",close:!0}]}}}])&&i(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a}(n(47663).S)},28046:(e,t,n)=>{"use strict";n.d(t,{l:()=>p,v:()=>m});var r=n(21161),o=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],a=["csv","txt"],l=["xls","xlt","xlsx"],c=["jpg","tif","png","bmp","gif","jpeg"],u="video/*",s=["zip","rar"],d=["ppt","pot","pps","pptx"],f=["srt"],p={IMAGES:".".concat(c.join(",.")),VIDEO:u,MIXED_MEDIA:".".concat(c.join(",."),",").concat(u),RESOURCES:".".concat([].concat(i,l,d,o,a,c,s).join(",.")),SUBTITLES:".".concat(f.join(",."))},m={getResourceType:function(e){var t=e.toLowerCase();return r.contains(i,t)?"document":r.contains(l,t)?"excel":r.contains(d,t)?"powerpoint":r.contains(o,t)?"pdf":r.contains(a,t)?"text":r.contains(c,t)?"image":r.contains(s,t)?"archive":r.contains(f,t)?"subtitle":""}}},1704:(e,t,n)=>{"use strict";n.d(t,{l:()=>u});var r=n(32735),o=n(23481),i=n(9111),a=n(13876);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var c=o.T.encloseNamespace("shared.confirmationPopup");function u(e){var t,n,o=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=o[0],s=o[1];return r.createElement(i.G,{title:e.title,closePopup:e.closePopup},r.createElement(r.Fragment,null,e.children,r.createElement(a.u,null,r.createElement(a.u.Cancel,{onClick:e.closePopup,variant:e.cancelButtonVariant,text:e.cancelButtonText||c("cancel")}),r.createElement(a.u.Submit,{onClick:function(){s(!0),e.onClickConfirm()},text:e.confirmButtonText||c("confirm"),variant:e.confirmButtonVariant,showSpinner:u,disabled:e.disabledConfirmButton}))))}u.defaultProps={confirmButtonVariant:"primary",cancelButtonVariant:"link"}},23357:(e,t,n)=>{"use strict";var r;n.d(t,{s:()=>r}),function(e){e.FileSelect="file-select",e.DragDrop="drag-drop"}(r||(r={}))},94644:(e,t,n)=>{"use strict";n.d(t,{r:()=>s});var r=n(50242),o=n(81886),i=n(67058),a=n(14553),l=n(49267),c=n(49075),u={notFound:i.d,forbidden:{rating:a.q,yearLevel:a.q,region:l.a,privacy:a.q},badRequest:c._,internalServerError:c._};function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var a=Object.assign(Object.assign({},u),t);i&&o.Q.Ry.isStatusCodeError(i)&&(i!==r.o.InternalServer?i!==r.o.NotFound?i!==r.o.Forbidden?n.badRequest||o.Q.Ry.throw(new a.badRequest):n.forbidden||o.Q.Ry.throw(new a.forbidden.privacy):n.notFound||o.Q.Ry.throw(new a.notFound):n.internalServerError||o.Q.Ry.throw(new c._))}}},78681:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var r={ratings:function(){return{url:"/api/domain/v2/me/ratings",key:"ratings"}}}},81409:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(32735);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){var n,i,a,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],c=(i=r.useState(!1),a=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(i,a)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(i,a)||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.")}())[1];return r.useEffect((function(){var n=e();if(n)return n.off("add remove change"),n.on("add remove change",(function(){c((function(e){return!e}))})),t&&n.on("remove",t),function(){n.off("add remove change")}}),l),null===(n=e())||void 0===n?void 0:n.toJSON()}},91286:(e,t,n)=>{"use strict";n.d(t,{v:()=>a});var r=n(32735),o=n(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function a(e,t,n){var a=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){a.forEach((function(e){(0,o.r)(e.statusCode,t,n)}))}),[i(a),t,n])}},93566:(e,t,n)=>{"use strict";n.d(t,{y:()=>i});var r=n(23481),o=n(80190),i={getEnglishName:function(e,t){var n,i,a=e.language;return i=(null==t?void 0:t.filter((function(e){return e.language!==a}))).length>0?o.S.getFullEnglishName(a):o.S.getEnglishName(a),(null===(n=e.metadata)||void 0===n?void 0:n.autoGenerated)?r.T.getPhrase("shared.shared-utils","autoGeneratedSubtitle",{name:i}):i}}},78267:(e,t,n)=>{"use strict";n.d(t,{H:()=>a});var r=n(99940),o=n(97395),i=n(45157),a={resource:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"resources:".concat(e)}},videoResources:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/resources?query=customer"),key:"videos:".concat(e,":resources")}},videoResourcesAndLinks:function(e,t){var n="(resources[thumbnail,pdf]|links)";return{url:o._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),{query:n,cursor:t}),publicUrl:o._.urlBuilder("/api/objects/".concat(e,"/members"),{query:n,cursor:t}),key:"videos:".concat(e,":resources:links").concat(t)}},addResource:function(e,t,n,o,a){return{url:"{gateway}/v1/objects/".concat(e,"/resources"),key:"create:resource:".concat(t.fileId||i.Y.getRandomInt()),data:t,type:r.k.POST,invalidationKeys:["videos:".concat(e,":resources"),"videos:".concat(e)],success:n,error:o,always:a}},updateResource:function(e,t,n,o,i){return{url:"{gateway}/v1/objects/".concat(e),key:"update:resource:".concat(e),data:t,type:r.k.PUT,success:n,error:o,always:i}},deleteResource:function(e,t,n,o,i){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:resource:".concat(e),type:r.k.DELETE,invalidationKeys:["videos:".concat(t,":resources"),"videos:".concat(t)],success:n,error:o,always:i}}}},99304:(e,t,n)=>{"use strict";n.d(t,{I:()=>i});var r=n(99940),o=n(45157),i={subtitle:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"subtitles:".concat(e)}},videoSubtitles:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/subtitles?query=customer"),key:"videos:".concat(e,":subtitles")}},addSubtitle:function(e,t,n,i,a){return{url:"{gateway}/v1/objects/".concat(e,"/subtitles"),key:"create:subtitle:".concat(t.fileId||o.Y.getRandomInt()),data:t,type:r.k.POST,invalidationKeys:"videos:".concat(e,":subtitles"),success:n,error:i,always:a}},deleteSubtitle:function(e,t,n,o,i){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:subtitle:".concat(e),type:r.k.DELETE,invalidationKeys:"videos:".concat(t,":subtitles"),success:n,error:o,always:i}}}},85342:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EditVideoView:()=>An});var r=n(32735),o=n(70680),i=n(43823),a=n(23481),l=n(81886),c=n(20354),u=n(21820),s=n(1048),d=n(49985),f=n(65858),p=n(29555),m=n(28046),y=n(49935),v=n(68050),b=n(98269),g=n(92802),h=n(5173),E=n(29057),k=n(2136),S="shared.channelFormField",w=a.T.encloseNamespace(S);function O(e){var t,n,o,i=(0,g.u6)();function l(e){i.setFieldValue("channel",e)}var c=(null===(t=i.values.channel)||void 0===t?void 0:t.id)?(null===(n=i.values.channel)||void 0===n?void 0:n.name)||(null===(o=e.initialValue)||void 0===o?void 0:o.name):"";return r.createElement(E.W,{label:w("channel"),name:"channel"},(function(){var e;return r.createElement(k.E,{key:null===(e=i.values.channel)||void 0===e?void 0:e.id,initialQuery:c,getRemoteUrl:function(e){return"/api/domain/v1/search/channel/instant/raw?q=".concat(e)},onSuggestionSelected:l,activationLength:2,placeholder:a.T.getPhrase(S,"placeholder"),searchIconPlacement:!1,highlightInputOnFocus:!0,showClearInputIcon:!0,onClickClearInput:function(){return l({})},renderAsForm:!1})}))}var C=n(1704),j=n(77318),T=n.n(j),I=n(83914),P=n(35223);const N={inputContainer:"yR3gh",clearButton:"KdxtL",inputBtnContainer:"PPVhq"};function L(e){var t=(0,g.u6)(),n=(0,g.u9)(null==t?void 0:t.values,e.attribute),o=r.forwardRef((function(o,i){return r.createElement("div",{className:"position-relative ".concat(N.inputContainer)},r.createElement("input",{name:e.attribute,placeholder:e.placeholder,className:"form-control",value:o.value,onChange:o.onChange,onClick:o.onClick,onKeyDown:function(e){return e.preventDefault()},ref:i,autoComplete:"off"}),r.createElement("div",{className:N.inputBtnContainer},!!n&&r.createElement("div",{className:"d-inline-block text-secondary cursor-pointer ".concat(N.clearButton)},r.createElement(I.x,{svgName:P.vn.Close,size:I.S.Standard,onClick:function(){return t.setFieldValue(e.attribute,null)}})),r.createElement("div",{className:"d-inline-block cursor-pointer"},r.createElement(I.x,{svgName:P.vn.Calendar,size:I.S.Standard,onClick:o.onClick}))))}));return r.createElement(E.W,{label:e.label,name:e.attribute},(function(){return r.createElement(T(),{selected:n?new Date(n):null,onChange:function(n){return t.setFieldValue(e.attribute,n.toISOString())},dateFormat:"d MMMM yyyy",maxDate:e.maxDate,showMonthDropdown:!0,showYearDropdown:!0,customInput:r.createElement(o,null)})}))}var x=n(23201),_=n(82644),A=n(91967),V=n(74547),D=n(7432),R=n(83345),U=n(10587),F=n(34390),B=n(54610),M=n(79483),Q=n(11834);const Z={deleteIcon:"RsZ8L",imageContainer:"R4kuc"};function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function H(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return W(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W(e,t):void 0}}(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 W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function K(e,t,n){return(t=function(e){var t=function(e){if("object"!=q(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=q(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==q(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $="shared.imageSelect",z=a.T.encloseNamespace($);function G(e){var t=e.imageType,n=e.fieldName,o=e.appLink,i=e.extraClasses,a=e.setSelectedImage,c=e.deleteImage,u=(0,g.u6)(),s=(0,g.u9)(null==u?void 0:u.values,n),d=r.useContext(F.u),f=d.setDataUrl,p=d.getImage,y=d.imageUploaded,v=H(r.useState(!1),2),b=v[0],h=v[1],E=H(r.useState(s),2),k=E[0],S=E[1];function w(e){h(!0),f(e.src),l.Q.C$.trigger(Object.assign(Object.assign({},o),{args:[t]}))}return r.useEffect((function(){s||S(null),(null==s?void 0:s.url)&&S(s)}),[s]),r.useEffect((function(){if(b){var e,t=p();t&&(h(!1),S(t),e=t,A.q.isFunction(a)?a(e):u&&u.setFieldValue(n,{fileId:e.id||e.fileId,fileIdType:B.z9.ImageAPIv2}))}}),[y]),r.createElement("div",{className:"h-auto"},r.createElement("div",{className:"pb-2 img-padding ".concat(Z.imageContainer)},c&&k&&r.createElement(I.x,{svgName:P.vn.Delete,onClick:function(){return c(n)},className:"svg-container cursor-pointer ".concat(Z.deleteIcon)}),r.createElement(D.Z,{data:k,imageType:t,imageOptions:{size:B.h2.Medium}},i?r.createElement("div",{className:i}):r.createElement(Q.oy,{type:e.imageFallbackType}))),r.createElement("em",{className:"d-block mb-2 em-margin text-secondary"},r.createElement(R.x,{namespace:$,phrase:"minDimensions",options:{width:U.y[t].width,height:U.y[t].height}})),r.createElement(V._,{className:"btn btn-".concat(e.btnVariant," w-100"),mimeType:m.l.IMAGES,onFileSelect:function(e){return M.J.onFileSelect(t,e,w)}},function(e){return K(K(K({},B.__.Thumbnails,z("uploadAThumbnail")),B.__.Covers,z("uploadACover")),B.__.Banners,z("uploadABanner"))[e]}(t)))}G.defaultProps={btnVariant:"light"};var J=n(79469),Y=n(36532),X=a.T.encloseNamespace("workspace.ratingSelect");function ee(e){var t=(0,g.u6)();return r.createElement(E.W,{label:X("rating"),name:"rating"},(function(){return r.createElement("div",null,r.createElement(J.Z,null,e.ratings.map((function(n,o){var i,a;if(!n.code)return r.createElement(r.Fragment,{key:o});var l=n.id.toString()===(null===(a=null===(i=t.values.rating)||void 0===i?void 0:i.id)||void 0===a?void 0:a.toString());return r.createElement(Y.u,{key:o,title:n.name},r.createElement(b.Z,{variant:"light",onClick:function(){!function(e){t.setFieldValue("rating",e)}(l?null:n)},active:l,disabled:e.disabled},n.code))}))))}))}var te=n(89476);const ne={title:"WCtjS",rating:"dOyqo"};function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var oe="shared.editVideoDetails",ie=a.T.encloseNamespace(oe),ae="edit-workspace-video-details",le=h.Ry().shape({name:h.Z_().trim().max(200,(function(){return ie("titleTooLong")})).required((function(){return ie("titleRequired")})).default(""),description:h.Z_().trim().max(16e3,(function(){return ie("descriptionTooLong")})).default(""),rating:h.Ry().shape({id:h.Z_()}).nullable().noUnknown(),dateBroadcast:h.Z_().trim().nullable(),channel:h.Ry().shape({id:h.Z_()}).nullable().noUnknown(),thumbnail:h.Ry().shape({id:h.Z_(),fileId:h.Z_().nullable(),fileIdType:h.nK(),url:h.Z_()}).noUnknown()}).noUnknown();function ce(e){var t,n,o=(0,g.u6)(),i=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return re(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=i[0],c=i[1],u=(0,te.f)();return r.useEffect((function(){var t;o.dirty&&u.lock({id:ae,title:a.T.getPhrase(oe,"navLockTitle"),text:a.T.getPhrase(oe,"navLockBody"),appLinkWhitelist:null!==(t=e.navLockAppLinkWhitelist)&&void 0!==t?t:[]}),o.dirty||u.unlock(ae)}),[o.dirty]),r.createElement(r.Fragment,null,r.createElement(g.l0,null,r.createElement(v.Z,null,r.createElement("div",{className:"col-sm-4 col-xs-12 py-3"},r.createElement("h2",{className:"h5"},ie("thumbnail")),r.createElement(G,{imageType:B.__.Thumbnails,fieldName:"thumbnail",appLink:e.imageUploadAppLink,btnVariant:e.thumbnailBtnVariant,imageFallbackType:Q.mS.Video})),r.createElement("div",{className:"col-sm-8 col-xs-12 py-3"},r.createElement(v.Z,null,r.createElement("div",{className:"col-12 d-flex justify-content-between"},r.createElement("h2",{className:"h5"},ie("basicInformation")),r.createElement("div",null,!!o.dirty&&r.createElement(b.Z,{variant:"link",onClick:function(){return c(!0)}},ie("undoChanges")),r.createElement(x.A,{isNew:!1,variant:e.saveBtnVariant})))),r.createElement(v.Z,null,r.createElement("div",{className:"col-auto px-2 ".concat(ne.title)},r.createElement(E.W,{label:ie("title"),type:"text",name:"name",id:"name",value:o.values.name,placeholder:ie("titlePlaceholder")})),!e.hideRating&&r.createElement("div",{className:"col-auto px-2 ".concat(ne.rating)},r.createElement(ee,{ratings:e.ratings,disabled:e.disableRatings}))),r.createElement(v.Z,null,r.createElement("div",{className:"col-md-12"},r.createElement(E.W,{label:ie("description"),as:"textarea",name:"description",id:"description",value:o.values.description,placeholder:ie("descriptionPlaceholder")}))),!e.hideBroadcastInfo&&r.createElement(v.Z,null,r.createElement("div",{className:"col-md-6"},r.createElement(L,{label:ie("broadcastDate"),placeholder:ie("broadcastDatePlaceholder"),attribute:"dateBroadcast",maxDate:new Date})),r.createElement("div",{className:"col-md-6"},r.createElement(O,{initialValue:e.initialChannel})))))),l&&r.createElement(C.l,{title:ie("undoPopupTitle"),onClickConfirm:function(){o.resetForm(),c(!1)},closePopup:function(){return c(!1)},confirmButtonText:ie("undoPopupConfirm"),cancelButtonText:ie("undoPopupCancel"),confirmButtonVariant:"danger"},r.createElement("p",null,r.createElement(R.x,{phrase:"undoPopupBody",namespace:oe,options:{videoName:o.initialValues.name}}))))}function ue(e){return r.createElement(_.n,{initialValues:(t=e.video,{name:t.name,description:t.description,dateBroadcast:t.dateBroadcast,rating:t.rating,channel:t.channel?{id:t.channel.id}:null,thumbnail:t.thumbnail}),validationSchema:le,onSubmit:e.saveVideo},r.createElement(ce,{id:e.video&&e.video.id,disableRatings:e.disableRatings,ratings:e.ratings,initialChannel:e.video.channel,imageUploadAppLink:e.imageUploadAppLink,hideBroadcastInfo:e.hideBroadcastInfo,hideRating:e.hideRating,navLockAppLinkWhitelist:e.navLockAppLinkWhitelist,saveBtnVariant:e.saveBtnVariant,thumbnailBtnVariant:e.thumbnailBtnVariant}));var t}ce.defaultProps={saveBtnVariant:"primary"};const se={header:"y01jy",subHeader:"rzjU8",thumbnailContainer:"JqqU_",input:"S4426",textbox:"DWzHV"};function de(){return r.createElement("div",{className:"row"},r.createElement("div",{className:"col-sm-4 col-xs-12 py-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.header)}),r.createElement("div",{className:"partial-loading-background mb-2 w-100 ".concat(se.thumbnailContainer)}),r.createElement("button",{className:"btn my-3 w-100 partial-loading-background"}," ")),r.createElement("div",{className:"col-sm-8 col-xs-12 py-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.header)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.subHeader)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.input)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.subHeader)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.textbox)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.subHeader)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(se.input)})))}const fe={header:"jXnSJ",text:"TexaF",upload:"iLqe5"};function pe(){return r.createElement("div",{className:"row border-top"},r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.header)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.text)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.upload)})),r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.header)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.text)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.upload)})),r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.header)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.text)}),r.createElement("div",{className:"partial-loading-background mb-2 ".concat(fe.upload)})))}var me=n(72092);const ye={linkContainer:"muWDg"};var ve=a.T.encloseNamespace("shared.editVideoLinks");function be(e){return r.createElement("div",{className:"d-flex justify-content-between rounded p-2 mb-2 ".concat(ye.linkContainer)},r.createElement("span",null,r.createElement("span",{className:"d-inline-block align-middle info-link"},r.createElement(I.x,{svgName:P.vn.Link})),r.createElement("a",{href:e.link.url,target:"_blank",className:"align-middle ms-2"},e.link.name)),r.createElement("span",{className:"cursor-pointer text-secondary"},r.createElement(I.x,{svgName:P.vn.Edit,onClick:function(){return e.editLink(e.link.id)}}),r.createElement(I.x,{svgName:P.vn.Delete,onClick:function(){return e.deleteLink(e.link.id)}})))}function ge(e){var t;return r.createElement(r.Fragment,null,r.createElement("h2",{className:"h5"},ve("heading")),r.createElement("p",null,ve("description")),r.createElement("div",{className:"mb-2"},(null===(t=e.links)||void 0===t?void 0:t.length)<e.limit?r.createElement(me.m,{saveLink:e.addLink,submitButtonText:ve("attach"),submitButtonVariant:e.btnVariant}):r.createElement("p",{className:"alert alert-warning mb-0"},ve("limit",{limit:e.limit}))),e.links.map((function(t,n){return r.createElement(be,{key:n,link:t,editLink:e.editLink,deleteLink:e.deleteLink})})))}var he=n(58591),Ee=n(86877),ke=n(23357),Se=n(47663);function we(e){return we="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},we(e)}function Oe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}function Ce(e){var t=function(e){if("object"!=we(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=we(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==we(t)?t:t+""}function je(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(je=function(){return!!e})()}function Te(e){return Te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Te(e)}function Ie(e,t){return Ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ie(e,t)}var Pe="shared.tooManyFiles",Ne=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=Te(t),function(e,t){if(t&&("object"==we(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,je()?Reflect.construct(t,n||[],Te(e).constructor):t.apply(e,n))}(this,t,[a.T.getPhrase(Pe,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ie(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"TooManyFilesError"}},{key:"dialogOptions",get:function(){return{title:a.T.getPhrase(Pe,"heading"),text:a.T.getPhrase(Pe,"body"),buttons:[{text:a.T.getPhrase(Pe,"okay"),className:"btn btn-dark",success:!0}]}}}])&&Oe(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(Se.S);const Le={fileDrop:"JuPXH",dragActive:"aw4tl",dropMask:"mP8BL"};function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var _e=a.T.encloseNamespace("shared.fileSelect");function Ae(e){var t=(0,he.uI)({onDrop:function(t){return e.onFilesAdded(t,ke.s.DragDrop)},noClick:!0,noKeyboard:!0,multiple:!!e.acceptMultiple,onDropRejected:function(t){t.length>1&&!e.acceptMultiple?l.Q.Ry.throw(new Ne):l.Q.Ry.throw(new Ee.Z(_e("invalidFileType")))}}),n=t.getRootProps,o=t.getInputProps,i=t.isDragActive,a="p-2 ".concat(Le.fileDrop);return i&&(a+=" ".concat(Le.dragActive)),e.limitAlertText&&e.showLimitAlert?r.createElement("p",{className:"alert alert-warning mb-0"},e.limitAlertText):r.createElement(r.Fragment,null,r.createElement("div",Object.assign({},n({className:a})),r.createElement(V._,{className:"btn btn-".concat(e.btnVariant),onFileSelect:function(t){return e.onFilesAdded(function(e){if(Array.isArray(e))return xe(e)}(n=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return xe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xe(e,t):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),ke.s.FileSelect);var n},mimeType:e.mimeType,acceptMultiple:e.acceptMultiple},e.btnText||_e("browse")),!!e.alternateText&&r.createElement("span",{className:"ms-2 text-secondary align-middle"},e.alternateText),i&&r.createElement("div",{className:Le.dropMask}),r.createElement("input",Object.assign({},o()))))}Ae.defaultProps={btnVariant:"light"};var Ve=n(7221),De=n(94804),Re=n.n(De);const Ue={svgContainer:"sr9KQ",progress:"Cn0ad"};function Fe(e){return Fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fe(e)}function Be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Me(r.key),r)}}function Me(e){var t=function(e){if("object"!=Fe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Fe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Fe(t)?t:t+""}function Qe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Qe=function(){return!!e})()}function Ze(e){return Ze=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ze(e)}function qe(e,t){return qe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},qe(e,t)}var He=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=Ze(t),function(e,t){if(t&&("object"==Fe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Qe()?Reflect.construct(t,n||[],Ze(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qe(e,t)}(t,e),n=t,(r=[{key:"initialize",value:function(){this.listenTo(this.model,"change:progress",this.render)}},{key:"name",get:function(){return"FileUploadComponent"}},{key:"template",get:function(){return Re()}},{key:"events",value:function(){return{"click .cancel-upload":"onClickCancelUpload"}}},{key:"onClickCancelUpload",value:function(){A.q.isFunction(this.options.onClickCancelUpload)&&this.options.onClickCancelUpload(this.model.get("id"))}},{key:"viewOptions",value:function(){return{styles:Ue,svg:P.Nj.getSvg(P.vn.Folder),tickSvg:P.Nj.getSvg(P.vn.Check),finished:this.model.get("progress")>=100}}}])&&Be(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(l.Q.wA);function We(e){var t=r.useMemo((function(){return new l.Q.Hn(e.upload)}),[e.upload]);return r.createElement(Ve.R,{view:He,options:{model:t,onClickCancelUpload:e.cancelUpload},dependencies:[e.upload]})}function Ke(e){var t;return(null===(t=e.uploads)||void 0===t?void 0:t.length)?r.createElement(r.Fragment,null,e.uploads.map((function(t,n){return r.createElement(We,{key:n,upload:t,cancelUpload:e.cancelUpload})}))):r.createElement(r.Fragment,null)}var $e=n(81993),ze=n(59720),Ge=n.n(ze);function Je(e){return Je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Je(e)}function Ye(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Xe(r.key),r)}}function Xe(e){var t=function(e){if("object"!=Je(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Je(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Je(t)?t:t+""}function et(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(et=function(){return!!e})()}function tt(e){return tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tt(e)}function nt(e,t){return nt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},nt(e,t)}var rt,ot=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=tt(t),function(e,t){if(t&&("object"==Je(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,et()?Reflect.construct(t,n||[],tt(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nt(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"ResourceItemComponent"}},{key:"template",get:function(){return Ge()}},{key:"className",get:function(){return"".concat("CdlNn"," rounded p-2 mb-2")}},{key:"events",value:function(){return{"click .delete":"onClickDelete","click .edit":"onClickEdit"}}},{key:"appLinks",get:function(){return{".edit":this.options.getEditAppLink(this.model.get("id"))}}},{key:"onClickEdit",value:function(){var e=d.k.mergeOptions(this.options.analyticsOptions,{actionType:f.Vw.Edit,entity:f.py.Resource,workflowPhase:f.eu.Start}),t={id:this.model.get("id"),parentId:+this.options.videoId};d.k.logUserAction(t,e)}},{key:"onClickDelete",value:function(){A.q.isFunction(this.options.onClickDelete)&&this.options.onClickDelete(this.model)}},{key:"viewOptions",value:function(){var e=this.model.get("metadata"),t=e?e.type:"";return{editable:this.options.editable,extension:$e.u.mapTypeToExtension(t),svg:P.Nj.getSvg($e.u.mapTypeToSvg(t)),iconClass:$e.u.mapTypeToClass(t),resourceType:$e.u.mapTypeToName(t),editSvg:P.Nj.getSvg(P.vn.Edit),trashSvg:P.Nj.getSvg(P.vn.Delete)}}}])&&Ye(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(l.Q.wA);function it(e){var t=r.useMemo((function(){return new l.Q.Hn(Object.assign({},e.resource))}),[e.resource]);return r.createElement(Ve.R,{view:ot,options:{model:t,videoId:e.videoId,editable:e.editable,getEditAppLink:e.getEditAppLink,onClickDelete:function(t){return e.onClickDelete(t.get("id"))},analyticsOptions:e.analyticsOptions},dependencies:[e.resource,e.videoId]})}function at(e){var t;return(null===(t=e.resources)||void 0===t?void 0:t.length)?r.createElement(r.Fragment,null,e.resources.map((function(t,n){return r.createElement(it,{key:n,resource:t,videoId:e.videoId,editable:e.editable,getEditAppLink:e.getEditAppLink,onClickDelete:e.onClickDelete,analyticsOptions:e.analyticsOptions})}))):r.createElement(r.Fragment,null)}!function(e){e[e.Customer=1]="Customer",e[e.ClickView=2]="ClickView"}(rt||(rt={}));var lt=n(96560),ct={canEditVideo:function(e){return e._canUpdate?e._canUpdate.value:function(e){var t,n;return null===(n=null===(t=null==e?void 0:e.libraries)||void 0===t?void 0:t.data)||void 0===n?void 0:n.every((function(e){return e.type===lt.r.CustomLibrary}))}(e)||function(e){var t,n;return null===(n=null===(t=null==e?void 0:e.libraries)||void 0===t?void 0:t.data)||void 0===n?void 0:n.every((function(e){return e.type===lt.r.Workspace}))}(e)},filterObjectsByOwnerType:function(e,t,n){return e.filter((function(e){var r,o=null===(r=e.customer)||void 0===r?void 0:r.id;return!o&&t===rt.ClickView||(null==o?void 0:o.toString())===(null==n?void 0:n.toString())&&t===rt.Customer}))}},ut=a.T.encloseNamespace("shared.editVideoResources");function st(e){var t,n=!ct.canEditVideo(e.video),o=n?ct.filterObjectsByOwnerType(e.resources,rt.Customer,e.currentUserCustomerId):e.resources,i=!!n&&ct.filterObjectsByOwnerType(e.resources,rt.ClickView);return r.createElement(r.Fragment,null,!!(null==i?void 0:i.length)&&r.createElement(r.Fragment,null,r.createElement("h2",{className:"h5"},ut("clickViewResources")),r.createElement(at,{resources:i,videoId:e.video.id,getEditAppLink:e.getEditAppLink,onClickDelete:e.onClickDelete,analyticsOptions:e.analyticsOptions,editable:!1})),r.createElement("div",{className:"mb-2"},r.createElement("h5",null,ut(n?"customerResources":"resources")),r.createElement("p",{dangerouslySetInnerHTML:{__html:ut("resourcesDescription")}}),r.createElement(Ae,{onFilesAdded:e.addResourceFiles,alternateText:ut("resourcesAlternative"),mimeType:m.l.RESOURCES,limitAlertText:ut("resourcesLimit",{limit:e.resourceLimit}),showLimitAlert:(null===(t=e.resources)||void 0===t?void 0:t.length)>=e.resourceLimit,btnVariant:e.btnVariant,acceptMultiple:!0})),r.createElement(Ke,{uploads:e.uploadingFiles,cancelUpload:e.cancelUpload}),r.createElement(at,{resources:o,videoId:e.video.id,getEditAppLink:e.getEditAppLink,onClickDelete:e.onClickDelete,analyticsOptions:e.analyticsOptions,editable:!n}))}var dt=n(93566),ft=n(35610),pt=n.n(ft);const mt={container:"SizJb",svgContainer:"PuqLQ",actionSvg:"L9P1P"};function yt(e){return yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},yt(e)}function vt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bt(r.key),r)}}function bt(e){var t=function(e){if("object"!=yt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=yt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==yt(t)?t:t+""}function gt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(gt=function(){return!!e})()}function ht(e){return ht=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ht(e)}function Et(e,t){return Et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Et(e,t)}var kt=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=ht(t),function(e,t){if(t&&("object"==yt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,gt()?Reflect.construct(t,n||[],ht(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"SubtitleItemComponent"}},{key:"template",get:function(){return pt()}},{key:"className",get:function(){return"".concat(mt.container," rounded p-2 mb-2")}},{key:"events",value:function(){return{"click .delete":"onClickDelete"}}},{key:"getEnglishName",value:function(){return dt.y.getEnglishName(this.model.toJSON(),this.model.collection.toJSON())}},{key:"onClickDelete",value:function(){!this.options.isClickViewContent&&A.q.isFunction(this.options.onClickDelete)&&this.options.onClickDelete(this.model)}},{key:"viewOptions",value:function(){return{styles:mt,svg:P.Nj.getSvg($e.u.mapTypeToSvg("subtitle")),trashSvg:P.Nj.getSvg(P.vn.Delete),name:this.getEnglishName(),isClickViewContent:this.options.isClickViewContent}}}])&&vt(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(l.Q.wA);function St(e){return r.createElement(Ve.R,{view:kt,options:{model:e.subtitle,onClickDelete:function(t){return e.onClickDelete(t.get("id"))},isClickViewContent:e.isClickViewContent},dependencies:[e.subtitle]})}function wt(e){var t,n=r.useMemo((function(){return new l.Q.FE(e.subtitles)}),[e.subtitles]);return(null===(t=e.subtitles)||void 0===t?void 0:t.length)?r.createElement(r.Fragment,null,n.map((function(t,n){return r.createElement(St,{key:n,subtitle:t,onClickDelete:e.onClickDelete,isClickViewContent:e.isClickViewContent})}))):r.createElement(r.Fragment,null)}var Ot=a.T.encloseNamespace("shared.editVideoSubtitles");function Ct(e){var t,n=!ct.canEditVideo(e.video),o=n?ct.filterObjectsByOwnerType(e.subtitles,rt.Customer,e.currentUserCustomerId):e.subtitles,i=!!n&&ct.filterObjectsByOwnerType(e.subtitles,rt.ClickView);return r.createElement(r.Fragment,null,!!(null==i?void 0:i.length)&&r.createElement(r.Fragment,null,r.createElement("h2",{className:"h5"},Ot("clickViewSubtitles")),r.createElement(wt,{subtitles:i,onClickDelete:e.onClickDelete,isClickViewContent:n})),r.createElement("div",{className:"mb-2"},r.createElement("h5",null,Ot(n?"customerSubtitles":"subtitles")),r.createElement("p",{dangerouslySetInnerHTML:{__html:Ot("subtitlesDescription",{limit:e.subtitleLimit})}}),r.createElement(Ae,{onFilesAdded:e.addSubtitleFiles,alternateText:Ot("subtitlesAlternative"),mimeType:m.l.SUBTITLES,limitAlertText:Ot("subtitlesLimit",{limit:e.subtitleLimit}),showLimitAlert:(null===(t=e.subtitles)||void 0===t?void 0:t.length)>=e.subtitleLimit,btnVariant:e.btnVariant})),r.createElement(Ke,{uploads:e.uploadingFiles,cancelUpload:e.cancelUpload}),r.createElement(wt,{subtitles:o,onClickDelete:e.onClickDelete,isClickViewContent:n}))}var jt=n(75896),Tt=n(9111),It=n(13876),Pt=n(80190);function Nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Lt=a.T.encloseNamespace("shared.languageSelect"),xt=5;function _t(e){var t=[];if(!e)return t;var n=Pt.S.getEnglishNameContains(e);return Object.keys(n).forEach((function(e){t.push({code:e,name:n[e].englishName})})),jt.m.firstFew(t,xt)}function At(e){var t,n,o=(t=r.useState(e.defaultLanguage),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Nt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nt(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return r.createElement(Tt.G,{title:Lt("heading"),closePopup:e.closePopup},r.createElement("div",{className:"pb-3"},r.createElement(k.E,{initialQuery:i.name,onSuggestionSelected:a,local:[],getLocalSuggestions:_t,placeholder:Lt("placeholder"),activationLength:1,searchIconPlacement:!1,autoFocusInput:!0,highlightInputOnFocus:!0})),r.createElement(It.u,null,r.createElement(It.u.Cancel,{text:Lt("close"),onClick:e.closePopup}),r.createElement(It.u.Submit,{text:Lt("submit"),onClick:function(){i&&e.onSelectLanguage(i)},variant:e.submitVariant})))}At.defaultProps={submitVariant:"primary"};var Vt=n(52003),Dt=n(60735),Rt=n(78681),Ut=n(31949),Ft=n(1575),Bt=n(69883),Mt=n(81409),Qt=n(91286),Zt=n(35286),qt=n(79612);function Ht(e){return Ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ht(e)}function Wt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Kt(r.key),r)}}function Kt(e){var t=function(e){if("object"!=Ht(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ht(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ht(t)?t:t+""}function $t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return($t=function(){return!!e})()}function zt(e){return zt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zt(e)}function Gt(e,t){return Gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gt(e,t)}var Jt="shared.errors.tooManyResources",Yt=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,t,n){return t=zt(t),function(e,t){if(t&&("object"==Ht(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,$t()?Reflect.construct(t,n||[],zt(e).constructor):t.apply(e,n))}(this,t,["Cannot add that many resources"])).resourceLimit=e,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gt(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"TooManyResourcesError"}},{key:"dialogOptions",get:function(){return{title:a.T.getPhrase(Jt,"heading"),text:a.T.getPhrase(Jt,"body",{resourceLimit:this.resourceLimit}),buttons:[{text:a.T.getPhrase(Jt,"okay"),className:"btn btn-dark",success:!0}]}}}])&&Wt(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(Se.S);function Xt(e){return Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xt(e)}function en(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,tn(r.key),r)}}function tn(e){var t=function(e){if("object"!=Xt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Xt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xt(t)?t:t+""}function nn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(nn=function(){return!!e})()}function rn(e){return rn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},rn(e)}function on(e,t){return on=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},on(e,t)}var an="shared.errors.tooManySubtitles",ln=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,t,n){return t=rn(t),function(e,t){if(t&&("object"==Xt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,nn()?Reflect.construct(t,n||[],rn(e).constructor):t.apply(e,n))}(this,t,["Cannot add that many subtitles"])).subtileLimit=e,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&on(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"TooManySubtitlesError"}},{key:"dialogOptions",get:function(){return{title:a.T.getPhrase(an,"heading"),text:a.T.getPhrase(an,"body",{subtitleLimit:this.subtileLimit}),buttons:[{text:a.T.getPhrase(an,"okay"),className:"btn btn-dark",success:!0}]}}}])&&en(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(Se.S),cn=n(14070),un=n(97291),sn=n(64364);function dn(e){return dn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dn(e)}function fn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,pn(r.key),r)}}function pn(e){var t=function(e){if("object"!=dn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=dn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dn(t)?t:t+""}function mn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(mn=function(){return!!e})()}function yn(e){return yn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},yn(e)}function vn(e,t){return vn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},vn(e,t)}var bn="shared.cannotEditVideo",gn=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=yn(t),function(e,t){if(t&&("object"==dn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,mn()?Reflect.construct(t,n||[],yn(e).constructor):t.apply(e,n))}(this,t,[a.T.getPhrase(bn,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vn(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"CannnotEditVideoError"}},{key:"heading",get:function(){return a.T.getPhrase(bn,"heading")}},{key:"description",get:function(){return a.T.getPhrase(bn,"description")}}])&&fn(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(sn.H),hn=n(75360),En=n(78267),kn=n(99304),Sn=n(28400),wn=n(98064);function On(e){return function(e){if(Array.isArray(e))return Cn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Cn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Cn(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var jn=a.T.encloseNamespace("myVideos.hooks");var Tn=function(){return[{application:un.O.VIDEOS,action:cn.e.Videos.UPLOAD_IMAGE},{application:un.O.VIDEOS,action:cn.e.Videos.EDIT_RESOURCE},{application:un.O.VIDEOS,action:cn.e.Videos.DELETE_RESOURCE},{application:un.O.VIDEOS,action:cn.e.Videos.DELETE_SUBTITLE},{application:un.O.VIDEOS,action:cn.e.Videos.EDIT_LINK},{application:un.O.VIDEOS,action:cn.e.Videos.DELETE_LINK}]};function In(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Pn=a.T.encloseNamespace("shared.editVideo"),Nn=5,Ln=25,xn=25;function _n(e,t,n){var r=d.k.mapInteractionType(n),o={location:f.LZ.EditVideoResources,actionType:f.Vw.Upload,entity:t,descriptor:r};d.k.logUserAction(e,o)}function An(e){var t,n,a,v,b,g,h,E,k,S=(0,o.I0)(),w=(0,Bt.Z)(),O=(E=r.useState(),k=2,function(e){if(Array.isArray(e))return e}(E)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return l}}(E,k)||function(e,t){if(e){if("string"==typeof e)return In(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?In(e,t):void 0}}(E,k)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),C=O[0],j=O[1],T=c.a.useBasicFetch(Ft.R.video(e.id)),I=c.a.useBasicFetch(Rt.Z.ratings()),P=c.a.useBasicFetch(Ut.N.currentUser()),N=c.a.useBasicFetch(En.H.videoResources(e.id)),L=c.a.useBasicFetch(kn.I.videoSubtitles(e.id)),x=c.a.useBasicFetch(hn.r.videoLinks(e.id)),_=(0,u.G)(Dt.D.ResourceUpload),A=(0,Mt.o)((function(){return _.getCollection()}),null),V=(0,u.G)(Dt.D.SubtitleUpload),D=(0,Mt.o)((function(){return V.getCollection()}),null),R=function(e){var t,n,r,o,i,a=null===(n=null===(t=null==e?void 0:e.categories)||void 0===t?void 0:t.data)||void 0===n?void 0:n[0],l=null===(o=null===(r=null==a?void 0:a.libraries)||void 0===r?void 0:r.data)||void 0===o?void 0:o[0],u=(null==l?void 0:l.type)===lt.r.CustomLibrary,s=u?{name:null==l?void 0:l.name,appLink:{application:un.O.LIBRARIES,action:cn.e.Libraries.LIBRARY,args:[null==l?void 0:l.id,Sn.m.slugify(null==l?void 0:l.name)]}}:{name:jn("myVideos"),appLink:{application:un.O.MY_VIDEOS,action:cn.e.MyVideos.MY_VIDEOS}},d={name:null==e?void 0:e.name,active:!0},f=function(e){var t,n,r=e.folderId,o=e.firstItem,i=e.lastItem,a=e.getAppLink,l=c.a.useBasicFetch(wn.D.folderParentTree(r));if(!(null===(n=null===(t=l.data)||void 0===t?void 0:t.children)||void 0===n?void 0:n.length))return[];for(var u=l.data.children.map((function(e){return{node:e,path:[e]}})),s=[],d=function(){var e=u.pop(),t=e.node,n=e.path;t.data.id.toString()===r.toString()&&(s=n.map((function(e){return{name:e.data.name,appLink:a(e)}}))),t.children&&u.push.apply(u,On(t.children.map((function(e){return{node:e,path:[].concat(On(n),[e])}}))))};u.length;)d();return o&&s.unshift(o),i&&s.push(i),s[s.length-1].active=!0,s}({folderId:null==a?void 0:a.id,getAppLink:function(e){return u?{application:un.O.LIBRARIES,action:cn.e.Libraries.FOLDER,args:[l.id,e.data.id,Sn.m.slugify(e.data.name)]}:{application:un.O.MY_VIDEOS,action:cn.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.data.id,Sn.m.slugify(e.data.name)]}},firstItem:s,lastItem:d});return(null===(i=null==e?void 0:e.categories)||void 0===i?void 0:i.data)&&!e.categories.data.length?[s,d]:f}(T.data);r.useEffect((function(){var e,t;T.hasCompleted&&((null===(t=null===(e=T.data)||void 0===e?void 0:e._canUpdate)||void 0===t?void 0:t.value)||l.Q.Ry.throw(new gn))}),[null===(n=null===(t=T.data)||void 0===t?void 0:t._canUpdate)||void 0===n?void 0:n.value]),(0,Zt.L)(i.Radio.channel(Vt.Q4.RESOURCE_UPLOAD),p.S.UPLOAD_COMPLETE,(function(t){var n=t.toJSON(),r={fileId:n.fileInfo.id,uploadId:n.file.cvUpload.uploadId,name:n.fileInfo.name,type:m.v.getResourceType(n.fileInfo.extension),extension:n.fileInfo.extension,fileSize:n.fileInfo.size,fileUrl:n.fileInfo.url,ingestUrl:n.file.cvUpload.ingestUrl,metaData:{type:m.v.getResourceType(n.fileInfo.extension)},contribution:!1,url:n.fileInfo.url,fileIdType:2};if(B.current.push(r),F.current--,!(F.current>0)){var o=B.current.length,i=function(e){o--,_n(e,f.py.Resource,U.current),o>0||w.success(Pn("resourceUploadSuccess"))},a=function(){return w.error(Pn("resourceUploadError"))};B.current.forEach((function(t){c.a.fetch(S,En.H.addResource(e.id,t,i,a,(function(){var e=_.getCollection().filter((function(e){var n;return(null===(n=e.get("fileInfo"))||void 0===n?void 0:n.id)===t.fileId}));_.getCollection().remove(e)})))})),B.current=[]}})),(0,Zt.L)(i.Radio.channel(Vt.Q4.SUBTITLE_UPLOAD),p.S.UPLOAD_COMPLETE,(function(e){j(e.toJSON())}));var U=r.useRef(null),F=r.useRef(0),B=r.useRef([]);return(0,qt.M)({title:!!T.data&&Pn("pageTitle",{name:T.data.name})}),(0,Qt.v)(T),r.createElement(r.Fragment,null,r.createElement("div",{className:"px-3"},r.createElement("div",{className:"border-bottom pb-3"},r.createElement("h1",{className:"h2"},Pn("heading")),r.createElement(y.Oo,{breadcrumbs:R})),T.data&&I.data?r.createElement(ue,{video:s.t.omit(T.data,["clips","interactives"]),ratings:I.data,saveVideo:function(t,n){c.a.fetch(S,Ft.R.updateVideo(e.id,t,(function(){return w.success(Pn("videoDetailsUpdateSuccess",{name:t.name,escapeText:!0}))}),(function(){return w.error(Pn("videoDetailsUpdateError"))}),n))},imageUploadAppLink:{application:un.O.VIDEOS,action:cn.e.Videos.UPLOAD_IMAGE},navLockAppLinkWhitelist:Tn(),saveBtnVariant:"dark",thumbnailBtnVariant:"outline-dark",hideRating:!0,hideBroadcastInfo:!0}):r.createElement(de,null),T.data&&P.data&&N.data&&L.data&&x.data?r.createElement("div",{className:"row border-top"},r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement(st,{addResourceFiles:function(e,t){var n,r;e.length>Ln-(null===(r=null===(n=N.data)||void 0===n?void 0:n.data)||void 0===r?void 0:r.length)?l.Q.Ry.throw(new Yt(Ln)):(F.current+=e.length,t&&(U.current=t),_.addFiles(e))},resourceLimit:Ln,video:T.data,resources:null===(a=N.data)||void 0===a?void 0:a.data,uploadingFiles:A,cancelUpload:function(e){return _.cancelUpload(e)},currentUserCustomerId:null===(v=P.data)||void 0===v?void 0:v.customerId,getEditAppLink:function(t){return{application:un.O.VIDEOS,action:cn.e.Videos.EDIT_RESOURCE,args:[e.id,t]}},onClickDelete:function(t){return l.Q.C$.trigger({application:un.O.VIDEOS,action:cn.e.Videos.DELETE_RESOURCE,args:[e.id,t]})},analyticsOptions:{location:f.LZ.EditVideoDetails},btnVariant:"outline-dark"})),r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement(Ct,{addSubtitleFiles:function(e,t){var n,r;e.length>Nn-(null===(r=null===(n=L.data)||void 0===n?void 0:n.data)||void 0===r?void 0:r.length)?l.Q.Ry.throw(new ln(Ln)):(t&&(U.current=t),V.addFiles(e))},subtitleLimit:Nn,video:T.data,subtitles:null===(b=L.data)||void 0===b?void 0:b.data,uploadingFiles:D,cancelUpload:function(e){return V.cancelUpload(e)},currentUserCustomerId:null===(g=P.data)||void 0===g?void 0:g.customerId,onClickDelete:function(t){return l.Q.C$.trigger({application:un.O.VIDEOS,action:cn.e.Videos.DELETE_SUBTITLE,args:[e.id,t]})},btnVariant:"outline-dark"})),r.createElement("div",{className:"col-xl-6 col-lg-12 pt-3"},r.createElement(ge,{links:null===(h=x.data)||void 0===h?void 0:h.data,addLink:function(t,n){var r,o;(null===(o=null===(r=x.data)||void 0===r?void 0:r.data)||void 0===o?void 0:o.length)>=xn||c.a.fetch(S,hn.r.addLink(e.id,t,(function(t){w.success(Pn("linkSaveSuccess"));var n={location:f.LZ.EditVideoResources,actionType:f.Vw.Associate,entity:f.py.Video,descriptor:f.iF.Link};d.k.logUserAction({id:e.id,link:t},n)}),(function(){return w.error(Pn("linkSaveError"))}),(function(){return n({reset:!0})})))},editLink:function(t){return l.Q.C$.trigger({application:un.O.VIDEOS,action:cn.e.Videos.EDIT_LINK,args:[e.id,t]})},deleteLink:function(t){return l.Q.C$.trigger({application:un.O.VIDEOS,action:cn.e.Videos.DELETE_LINK,args:[e.id,t]})},limit:xn,btnVariant:"outline-dark"}))):r.createElement(pe,null)),!!C&&r.createElement(At,{onSelectLanguage:function(t){var n={fileId:C.fileInfo.id,name:t.name,language:t.code,type:m.v.getResourceType(C.fileInfo.extension),fileIdType:2};j(null),c.a.fetch(S,kn.I.addSubtitle(e.id,n,(function(e){_n(e,f.py.Subtitle,U.current),w.success(Pn("subtitleUploadSuccess"))}),(function(){return w.error(Pn("subtitleUploadError"))}),(function(){return V.getCollection().remove(C)})))},defaultLanguage:{code:"en",name:"English"},closePopup:function(){V.cancelUpload(C.id),j(null)},submitVariant:"dark"}))}},94804:(e,t,n)=>{var r=n(31197);e.exports=(r.default||r).template({1:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a=e.lambda;return'<span class="d-inline-block align-middle me-2 '+e.escapeExpression(a(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.svgContainer:i,t))+' float-end text-success">'+(null!=(i=a(null!=(i=null!=t?t.options:t)?i.tickSvg:i,t))?i:"")+"</span>\n"},3:function(e,t,n,r,o){var i;return e.propertyIsEnumerable,'<span class="d-inline-block align-middle me-2 '+e.escapeExpression(e.lambda(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.svgContainer:i,t))+' cursor-pointer cancel-upload btn-close float-end" role="button" aria-label="Close"></span>\n'},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,d="function";return'<span class="d-inline-block align-middle me-2 '+c(l(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.svgContainer:i,t))+'">'+(null!=(i=l(null!=(i=null!=t?t.options:t)?i.svg:i,t))?i:"")+'</span>\n<span class="align-middle">\n '+c(typeof(a=null!=(a=n.name||(null!=t?t.name:t))?a:s)===d?a.call(u,{name:"name",hash:{},data:o}):a)+"\n</span>\n"+(null!=(i=n.if.call(u,null!=(i=null!=t?t.options:t)?i.finished:i,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.program(3,o,0),data:o}))?i:"")+'\n<div class="progress my-2 '+c(l(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.progress:i,t))+' mt-2">\n <div class="progress-bar bg-blue" style="width: '+c(typeof(a=null!=(a=n.progress||(null!=t?t.progress:t))?a:s)===d?a.call(u,{name:"progress",hash:{},data:o}):a)+'%" aria-valuenow="'+c(typeof(a=null!=(a=n.progress||(null!=t?t.progress:t))?a:s)===d?a.call(u,{name:"progress",hash:{},data:o}):a)+'" aria-valuemin="0" aria-valuemax="100"></div>\n</div>'},useData:!0})},59720:(e,t,n)=>{var r=n(31197);e.exports=(r.default||r).template({1:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a=e.lambda;return'<a class="float-end svg-container cursor-pointer text-secondary delete">'+(null!=(i=a(null!=(i=null!=t?t.options:t)?i.trashSvg:i,t))?i:"")+'</a>\n<a class="float-end svg-container cursor-pointer text-secondary edit">'+(null!=(i=a(null!=(i=null!=t?t.options:t)?i.editSvg:i,t))?i:"")+"</a>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{},s=e.hooks.helperMissing,d="function";return'<span title="'+c(l(null!=(i=null!=t?t.options:t)?i.resourceType:i,t))+'" class="d-inline-block align-middle me-2 svg-container '+c(l(null!=(i=null!=t?t.options:t)?i.iconClass:i,t))+'">'+(null!=(i=l(null!=(i=null!=t?t.options:t)?i.svg:i,t))?i:"")+'</span>\n<a href="'+c(typeof(a=null!=(a=n.url||(null!=t?t.url:t))?a:s)===d?a.call(u,{name:"url",hash:{},data:o}):a)+"?name="+c(typeof(a=null!=(a=n.name||(null!=t?t.name:t))?a:s)===d?a.call(u,{name:"name",hash:{},data:o}):a)+'" class="align-middle">\n '+c(typeof(a=null!=(a=n.name||(null!=t?t.name:t))?a:s)===d?a.call(u,{name:"name",hash:{},data:o}):a)+"\n</a>\n"+(null!=(i=n.if.call(u,null!=(i=null!=t?t.options:t)?i.editable:i,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o}))?i:"")},useData:!0})},35610:(e,t,n)=>{var r=n(31197);e.exports=(r.default||r).template({1:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a=e.lambda,l=e.escapeExpression;return'<a class="float-end '+l(a(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.svgContainer:i,t))+" "+l(a(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.actionSvg:i,t))+' text-secondary delete">'+(null!=(i=a(null!=(i=null!=t?t.options:t)?i.trashSvg:i,t))?i:"")+"</a>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,n,r,o){e.propertyIsEnumerable;var i,a,l=e.lambda,c=e.escapeExpression,u=null!=t?t:e.nullContext||{};return'<span class="d-inline-block align-middle me-2 '+c(l(null!=(i=null!=(i=null!=t?t.options:t)?i.styles:i)?i.svgContainer:i,t))+'">'+(null!=(i=l(null!=(i=null!=t?t.options:t)?i.svg:i,t))?i:"")+'</span>\n<a href="'+c("function"==typeof(a=null!=(a=n.url||(null!=t?t.url:t))?a:e.hooks.helperMissing)?a.call(u,{name:"url",hash:{},data:o}):a)+"?name="+c(l(null!=(i=null!=t?t.options:t)?i.name:i,t))+'" class="align-middle">\n '+c(l(null!=(i=null!=t?t.options:t)?i.name:i,t))+"\n</a>\n"+(null!=(i=n.unless.call(u,null!=(i=null!=t?t.options:t)?i.isClickViewContent:i,{name:"unless",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o}))?i:"")},useData:!0})}}]);
2
+ //# sourceMappingURL=9668-c29f432441-lite.chunk.js.map