@clickview/lite 0.47.1-dev.0 → 0.47.1-dev.1

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-e2413266db.min.js",
2
+ "appBundle": "bundle-2893a86c20.min.js",
3
3
  "cssBundle": "lite-app-9ba1dedd8d.css",
4
4
  "polyfillBundle": "polyfills-3e58116ab6.min.js"
5
5
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6725],{94644:(e,n,r)=>{r.d(n,{r:()=>d});var t=r(50242),a=r(81886),i=r(67058),c=r(14553),o=r(49267),s=r(49075),u={notFound:i.d,forbidden:{rating:c.q,yearLevel:c.q,region:o.a,privacy:c.q},badRequest:s._};function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var c=Object.assign(Object.assign({},u),n);i&&a.Q.Ry.isStatusCodeError(i)&&(i!==t.o.NotFound?i!==t.o.Forbidden?r.badRequest||a.Q.Ry.throw(new c.badRequest):r.forbidden||a.Q.Ry.throw(new c.forbidden.privacy):r.notFound||a.Q.Ry.throw(new c.notFound))}}},91286:(e,n,r)=>{r.d(n,{v:()=>c});var t=r(32735),a=r(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function c(e,n,r){var c=Array.isArray(e)?e:[e];(0,t.useEffect)((function(){c.forEach((function(e){(0,a.r)(e.statusCode,n,r)}))}),[i(c),n,r])}},14919:(e,n,r)=>{r.d(n,{w:()=>v});var t=r(32735),a=r(64249),i=r(11607),c=r(2786),o=r(7733),s=r(9085),u=r(98084),d=r(87984);const l={playButtonCircle:"zima4"};function v(e){var n,r,v,m,b=e.onClick,g=e.video,p="rating"in g&&(null===(n=g.rating)||void 0===n?void 0:n.code),f="rating"in g&&(null===(r=g.rating)||void 0===r?void 0:r.value),h=(0,d.C)(f),E="series"in g&&(null===(v=g.series)||void 0===v?void 0:v.name),k="episodeNumber"in g&&g.episodeNumber,w="season"in g&&(null===(m=g.season)||void 0===m?void 0:m.number),y=a.I.getImageUrl(g),C="";y||(C=(0,s.x)(g.name,o.b));var F={backgroundImage:y?"url('".concat(y,"')"):"",backgroundColor:C};return t.createElement(i.L,{className:"cv-embed-splash ".concat(C||"cv-embed-splash-black"),style:F,onClick:b},!!y&&t.createElement("div",{className:"cv-splash-mask"}),t.createElement("div",{className:"cv-splash-metadata"},t.createElement("h1",null,t.createElement("div",{className:"cv-splash-series"},function(e,n,r){if(!e)return"";if(!r||!n)return e;var t=u.I.padNumber(r,2),a=u.I.padNumber(n,2);return"".concat(e," S").concat(t," &bull; E").concat(a)}(E,k,w)),g.name),t.createElement("div",{className:"cv-splash-rating ".concat(h)},p)),t.createElement("div",{className:l.playButtonCircle},t.createElement("svg",{viewBox:"0 0 1800 1800"},t.createElement("path",{d:"M597.3333333333334 1418.6666666666665V373.3333333333333L1418.6666666666667 896z"}))),t.createElement("div",{className:"cv-splash-logo"},t.createElement(c.Yo,null)))}},61995:(e,n,r)=>{r.d(n,{_:()=>c});var t=r(45593),a=r(21938),i=r(76867),c={notFound:a.W,forbidden:{rating:t.F,yearLevel:t.F,region:i.z,privacy:t.F},badRequest:i.z}},66725:(e,n,r)=>{r.r(n),r.d(n,{EmbeddedLcsLoginView:()=>f});var t=r(32735),a=r(60810),i=r(39202),c=r(23481),o=r(20354),s=r(39151),u=r(1575),d=r(91286),l=r(71158),v=r(14919),m=r(6736),b=r(61995),g="embed.embeddedLcsLogin",p={forbidden:!0};function f(e){var n=o.a.useBasicFetch(s.L.config()),r=o.a.useBasicFetch(u.R.publicVideo(e.videoId));if((0,d.v)(r,b._,p),!n.data||!r.hasCompleted)return t.createElement(t.Fragment,null);var f=r.data;return r.hasError&&(f={name:c.T.getPhrase(g,"privateVideo")}),t.createElement(v.w,{onClick:function(){var n=null,r=m.b.renderSignInPopup({targetUrl:i.Ab.GetCurrentOrigin(),customerId:e.customerId,onClose:function(){return l.P.applyToken(n)}});r&&new a.CVEventsApi(r).on("cv-token",(function(e,r){return n=r.embedToken}))},video:f})}},87984:(e,n,r)=>{function t(e){return e?function(e){switch(!0){case e<32:return"cv-rating-purple";case e<48:return"cv-rating-green";case e<80:return"cv-rating-blue";case e<96:return"cv-rating-red";case e<128:return"cv-rating-pink";case e>=128:return"cv-rating-yellow";default:return""}}(e):""}r.d(n,{C:()=>t})}}]);
2
+ //# sourceMappingURL=6725-694558e784-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6725-694558e784-lite.chunk.js","mappings":"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","sources":["file://C:/ClickView Projects/clickview/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file://C:/ClickView Projects/clickview/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/embedded-login/embedded-login.scss","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/embedded-login/EmbeddedLogin.tsx","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/utils/EmbedDefaultErrors.ts","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/views/embedded-lcs-login/EmbeddedLcsLoginView.tsx","file://C:/ClickView Projects/clickview/packages/projects/player/src/utils/PlayerRatingHelper.ts"],"sourcesContent":["import { BaseError } from 'libs/common/backbone/core/BaseError';\r\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\r\nimport { Xhr } from 'libs/common/backbone/interfaces';\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\r\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\r\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\r\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\r\nimport { VideoTypes } from 'libs/shared/interfaces';\r\n\r\nexport interface HttpErrorMap {\r\n notFound?: new () => BaseError;\r\n forbidden?: {\r\n rating?: new (description: string) => BaseError;\r\n yearLevel?: new (description: string) => BaseError;\r\n region?: new () => BaseError;\r\n privacy?: new (video?: VideoTypes) => BaseError;\r\n };\r\n badRequest?: new () => BaseError;\r\n}\r\n\r\nexport type IgnoreHttpErrorMap = {\r\n [key in keyof HttpErrorMap]: boolean;\r\n};\r\n\r\nconst defaultErrors: HttpErrorMap = {\r\n notFound: NotFoundError,\r\n forbidden: {\r\n rating: PrivateResourceError,\r\n yearLevel: PrivateResourceError,\r\n region: RegionLockedResourceError,\r\n privacy: PrivateResourceError\r\n },\r\n badRequest: UnspecifiedError\r\n};\r\n\r\nexport function handleHttpError(\r\n info: HttpStatus | Xhr,\r\n customErrorMap: HttpErrorMap = {},\r\n /**\r\n * Prevent certain errors in the errorMap from being thrown\r\n * so that you may implement your own handler\r\n */\r\n ignoreMap: IgnoreHttpErrorMap = {}\r\n): void {\r\n if (!info)\r\n return;\r\n\r\n let statusCode: HttpStatus;\r\n\r\n if (typeof(info) === 'number') {\r\n statusCode = info;\r\n } else {\r\n statusCode = info.status;\r\n }\r\n\r\n const errorMap = {\r\n ...defaultErrors,\r\n ...customErrorMap\r\n };\r\n\r\n if (!statusCode)\r\n return;\r\n\r\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\r\n return;\r\n\r\n if (statusCode === HttpStatus.NotFound) {\r\n if (!ignoreMap.notFound)\r\n Core.ErrorHelper.throw(new errorMap.notFound());\r\n return;\r\n }\r\n\r\n if (statusCode === HttpStatus.Forbidden) {\r\n /**\r\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\r\n * ratings, and privacy.\r\n */\r\n if (!ignoreMap.forbidden)\r\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\r\n return;\r\n }\r\n\r\n if (!ignoreMap.badRequest)\r\n Core.ErrorHelper.throw(new errorMap.badRequest());\r\n}\r\n\r\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\r\n handleHttpError(xhr.status, customErrorMap);\r\n}","import { useEffect } from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\n\r\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\r\n\r\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\r\n return flightObjs.map(obj => obj.statusCode).join(':');\r\n}\r\n\r\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\r\nexport function useHandleObjectError(\r\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\r\n customErrors?: HttpErrorMap,\r\n ignoreErrors?: IgnoreHttpErrorMap\r\n): void {\r\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\r\n\r\n useEffect(() => {\r\n flightObjs.forEach(obj => {\r\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\r\n });\r\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\r\n}","// extracted by mini-css-extract-plugin\nexport default {\"playButtonCircle\":\"zima4\"};","/**\r\n * IMPORTANT!\r\n * Please refer to projects\\player\\src\\components\\poster-image\\poster-image-details.md\r\n * before changing this file\r\n */\r\nimport React from 'react';\r\n\r\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { ClickViewLogoInverted } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\r\nimport { LOGO_SAFE_BG_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\r\nimport { VideoTypes } from 'libs/shared/interfaces';\r\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\r\nimport { NumberHelper } from 'libs/shared/utils/NumberHelper';\r\n\r\nimport { mapRatingValueToColourClass } from 'projects/player/utils/PlayerRatingHelper';\r\n\r\nimport styles from './embedded-login.scss';\r\n\r\nfunction getSeries(seriesName: string, episodeNumber: number, seasonNumber: number): string {\r\n if (!seriesName)\r\n return '';\r\n\r\n if (!seasonNumber || !episodeNumber)\r\n return seriesName;\r\n\r\n const paddedSeason = NumberHelper.padNumber(seasonNumber, 2);\r\n const paddedEpisode = NumberHelper.padNumber(episodeNumber, 2);\r\n\r\n return `${seriesName} S${paddedSeason} &bull; E${paddedEpisode}`;\r\n}\r\n\r\ninterface EmbeddedLoginProps {\r\n onClick: () => void;\r\n video: VideoTypes;\r\n}\r\n\r\nexport function EmbeddedLogin(props: EmbeddedLoginProps): React.ReactElement {\r\n const {\r\n onClick,\r\n video\r\n } = props;\r\n\r\n const ratingCode = 'rating' in video && video.rating?.code;\r\n const ratingValue = 'rating' in video && video.rating?.value;\r\n const ratingColour = mapRatingValueToColourClass(ratingValue);\r\n\r\n const seriesName = 'series' in video && video.series?.name;\r\n const episodeNumber = 'episodeNumber' in video && video.episodeNumber;\r\n const seasonNumber = 'season' in video && video.season?.number;\r\n\r\n const backgroundImage = ShareViewHelper.getImageUrl(video);\r\n let backgroundColor = '';\r\n\r\n if (!backgroundImage)\r\n backgroundColor = getBgColorClass(video.name, LOGO_SAFE_BG_CLASS_NAMES);\r\n\r\n const style: React.CSSProperties = {\r\n backgroundImage: backgroundImage ? `url('${backgroundImage}')` : '',\r\n backgroundColor\r\n };\r\n\r\n // Markup changes here should also be made to components in `landing-splash-plugin.ts`\r\n return (\r\n <DivButton\r\n className={`cv-embed-splash ${backgroundColor || 'cv-embed-splash-black'}`}\r\n style={style}\r\n onClick={onClick}\r\n >\r\n {!!backgroundImage && <div className='cv-splash-mask' />}\r\n\r\n <div className='cv-splash-metadata'>\r\n <h1>\r\n <div className='cv-splash-series'>\r\n {getSeries(seriesName, episodeNumber, seasonNumber)}\r\n </div>\r\n {video.name}\r\n </h1>\r\n\r\n <div className={`cv-splash-rating ${ratingColour}`}>\r\n {ratingCode}\r\n </div>\r\n </div>\r\n\r\n <div className={styles.playButtonCircle}>\r\n <svg viewBox='0 0 1800 1800'>\r\n <path d='M597.3333333333334 1418.6666666666665V373.3333333333333L1418.6666666666667 896z'></path>\r\n </svg>\r\n </div>\r\n\r\n <div className='cv-splash-logo'>\r\n <ClickViewLogoInverted />\r\n </div>\r\n </DivButton>\r\n );\r\n}","import { HttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\r\n\r\nimport { PrivateEmbedError } from 'apps/embed/errors/forbidden/PrivateEmbedError';\r\nimport { EmbedNotFoundError } from 'apps/embed/errors/not-found/EmbedNotFoundError';\r\nimport { UnspecifiedEmbedError } from 'apps/embed/errors/unspecified/UnspecifiedEmbedError';\r\n\r\nexport const EmbeddedDefaultErrors: HttpErrorMap = {\r\n notFound: EmbedNotFoundError,\r\n forbidden: {\r\n rating: PrivateEmbedError,\r\n yearLevel: PrivateEmbedError,\r\n region: UnspecifiedEmbedError,\r\n privacy: PrivateEmbedError\r\n },\r\n badRequest: UnspecifiedEmbedError\r\n};","import React from 'react';\r\nimport { CVEventsApi } from 'CVEvents';\r\n\r\nimport { LocationUtils } from 'libs/common/backbone/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\n\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\r\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\r\nimport { Config, Video } from 'libs/shared/interfaces';\r\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\r\nimport { EmbedTokenHelper } from 'libs/shared/utils/EmbedTokenHelper';\r\n\r\nimport { EmbeddedLogin } from 'apps/embed/components/embedded-login/EmbeddedLogin';\r\nimport { EmbedAuthHelper } from 'apps/embed/utils/EmbedAuthHelper';\r\nimport { EmbeddedDefaultErrors } from 'apps/embed/utils/EmbedDefaultErrors';\r\n\r\nconst namespace = 'embed.embeddedLcsLogin';\r\n\r\nconst IGNORE_ERROR_MAP = {\r\n forbidden: true\r\n};\r\n\r\ninterface EmbeddedLcsLoginViewProps {\r\n videoId: string;\r\n customerId?: number\r\n}\r\n\r\nexport function EmbeddedLcsLoginView(props: EmbeddedLcsLoginViewProps): JSX.Element {\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\r\n\r\n /**\r\n * We're using the sharedVideo request because it's piped through Lite's backend\r\n * in order to get around not being able to use Gateway publicly. Ideally\r\n * we shouldn't need to use the sharedVideo request once Gateway works publicly\r\n * - Sha\r\n */\r\n const video = Flight.useBasicFetch<Video>(VideoRequests.publicVideo(props.videoId));\r\n\r\n function onClick(): void {\r\n let embedToken: AuthToken = null;\r\n \r\n const popup = EmbedAuthHelper.renderSignInPopup({\r\n targetUrl: LocationUtils.GetCurrentOrigin(),\r\n customerId: props.customerId,\r\n onClose: () => EmbedTokenHelper.applyToken(embedToken)\r\n });\r\n\r\n if (popup) {\r\n const cvEventsAPi = new CVEventsApi(popup);\r\n cvEventsAPi.on('cv-token', (_: string, details: any) => embedToken = details.embedToken);\r\n }\r\n }\r\n\r\n useHandleObjectError(video, EmbeddedDefaultErrors, IGNORE_ERROR_MAP);\r\n\r\n if (!config.data || !video.hasCompleted)\r\n return <></>;\r\n\r\n let sharedResource = video.data;\r\n if (video.hasError) {\r\n sharedResource = {\r\n name: LanguageService.getPhrase(namespace, 'privateVideo')\r\n };\r\n }\r\n \r\n return (\r\n <EmbeddedLogin\r\n onClick={onClick}\r\n video={sharedResource}\r\n />\r\n );\r\n}","export function mapRatingValueToColourClass(ratingValue: number): string {\r\n if (!ratingValue) return '';\r\n\r\n const ratings = (rating: number): string => {\r\n switch (true) {\r\n case (rating < 32):\r\n return 'cv-rating-purple';\r\n case (rating < 48):\r\n return 'cv-rating-green';\r\n case (rating < 80):\r\n return 'cv-rating-blue';\r\n case (rating < 96):\r\n return 'cv-rating-red';\r\n case (rating < 128):\r\n return 'cv-rating-pink';\r\n case (rating >= 128):\r\n return 'cv-rating-yellow';\r\n default:\r\n return ''; // Handles unrated\r\n }\r\n };\r\n\r\n return ratings(ratingValue);\r\n}"],"names":["defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","map","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","EmbeddedLogin","props","onClick","video","ratingCode","code","ratingValue","value","ratingColour","seriesName","series","name","episodeNumber","seasonNumber","season","number","backgroundImage","ShareViewHelper","backgroundColor","getBgColorClass","style","DivButton","className","paddedSeason","NumberHelper","paddedEpisode","getSeries","viewBox","d","ClickViewLogo","EmbeddedDefaultErrors","namespace","IGNORE_ERROR_MAP","EmbeddedLcsLoginView","config","videoId","data","hasCompleted","sharedResource","hasError","embedToken","popup","targetUrl","customerId","onClose","CVEventsApi","on","_","details","mapRatingValueToColourClass","ratings"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 6736-750229acd4-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6736],{6736:(t,e,r)=>{r.d(e,{b:()=>_});var n=r(97395),o=r(81886),i=r(62756),c=r(23481),a=r(47663);function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function s(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,l(n.key),n)}}function l(t){var e=function(t,e){if("object"!=u(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==u(e)?e:e+""}function f(t,e,r){return e=p(e),function(t,e){if(e&&("object"===u(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,h()?Reflect.construct(e,r||[],p(t).constructor):e.apply(t,r))}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(h=function(){return!!t})()}function p(t){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},p(t)}function y(t,e){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},y(t,e)}var v="embed.protectiveBrowserSettingsError",d=function(t){function e(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(r=f(this,e,[c.T.getPhrase(v,"title")])).url=t,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&y(t,e)}(e,t),r=e,(n=[{key:"name",get:function(){return"ProtectiveBrowserSettingsError"}},{key:"dialogOptions",get:function(){return{title:c.T.getPhrase(v,"heading"),text:c.T.getPhrase(v,"description",{url:this.url}),buttons:[{text:c.T.getPhrase(v,"okay"),className:"btn btn-dark",success:!0}]}}}])&&s(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(a.S);function m(t){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function g(){g=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,c=Object.create(i.prototype),a=new C(n||[]);return o(c,"_invoke",{value:P(t,r,a)}),c}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",y="executing",v="completed",d={};function b(){}function w(){}function x(){}var _={};s(_,c,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(N([])));E&&E!==r&&n.call(E,c)&&(_=E);var O=x.prototype=b.prototype=Object.create(_);function L(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function r(o,i,c,a){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==m(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,c,a)}),(function(t){r("throw",t,c,a)})):e.resolve(l).then((function(t){s.value=t,c(s)}),(function(t){return r("throw",t,c,a)}))}a(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function P(e,r,n){var o=h;return function(i,c){if(o===y)throw Error("Generator is already running");if(o===v){if("throw"===i)throw c;return{value:t,done:!0}}for(n.method=i,n.arg=c;;){var a=n.delegate;if(a){var u=S(a,n);if(u){if(u===d)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:p,s.arg===d)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function S(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,S(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,d;var c=i.arg;return c?c.done?(r[e.resultName]=c.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,d):c:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function N(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(m(e)+" is not iterable")}return w.prototype=x,o(O,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:w,configurable:!0}),w.displayName=s(x,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,s(t,u,"GeneratorFunction")),t.prototype=Object.create(O),t},e.awrap=function(t){return{__await:t}},L(j.prototype),s(j.prototype,a,(function(){return this})),e.AsyncIterator=j,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var c=new j(l(t,r,n,o),i);return e.isGeneratorFunction(r)?c:c.next().then((function(t){return t.done?t.value:c.next()}))},L(O),s(O,u,"Generator"),s(O,c,(function(){return this})),s(O,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=N,C.prototype={constructor:C,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var c=this.tryEntries[i],a=c.completion;if("root"===c.tryLoc)return o("end");if(c.tryLoc<=this.prev){var u=n.call(c,"catchLoc"),s=n.call(c,"finallyLoc");if(u&&s){if(this.prev<c.catchLoc)return o(c.catchLoc,!0);if(this.prev<c.finallyLoc)return o(c.finallyLoc)}else if(u){if(this.prev<c.catchLoc)return o(c.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return o(c.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var c=i?i.completion:{};return c.type=t,c.arg=e,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(c)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;I(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:N(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),d}},e}var b=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function c(t){try{u(n.next(t))}catch(t){i(t)}}function a(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(c,a)}u((n=n.apply(t,e||[])).next())}))},w="_cookieTest";function x(t,e,r,n){var i=window.open(t,"_blank",function(t){var e="sm"===t?550:screen.availWidth,r="sm"===t?750:screen.availWidth,n=parseInt(screen.availWidth/2-e/2+""),o=parseInt(screen.availHeight/2-r/2+"");return["width=".concat(e),"height=".concat(r),"status","resizable","left=".concat(n),"top=".concat(o),"screenX=".concat(n),"screenY=".concat(o),"scrollbars=yes"].join(",")}(n));if(i)return k(i,r),i;o.Q.Ry.throw(new d(e))}var _={renderSignInPopup:function(t){var e=t.targetUrl,o=t.shareId,c=t.consumerKey,a=t.customerId,u=t.onClose,s=t.size,l=void 0===s?"sm":s,f=t.redirectUrl;f||(f=n._.urlBuilder("/embed-login-success",{consumerKey:c}));var h=n._.safeUrlConcat(e,"/login"),p={redirectUrl:f,showSignUp:!0};o&&(p.shareId=o),a&&(p.customerId=a);var y=n._.urlBuilder(h,p);if(c!==i.A.MicrosoftTeams)return x(y,e,u,l);!function(t,e){b(this,void 0,void 0,g().mark((function n(){var o;return g().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,r.e(4777).then(r.t.bind(r,94777,23));case 2:return o=n.sent,n.prev=3,n.next=6,o.app.initialize();case 6:return n.next=8,o.authentication.authenticate({url:t,height:1e3,width:1e3});case 8:n.next=13;break;case 10:n.prev=10,n.t0=n.catch(3),console.log(n.t0);case 13:return n.prev=13,e(),n.finish(13);case 16:case"end":return n.stop()}}),n,null,[[3,10,13,16]])})))}(y,u)},renderSignUpPopup:function(t){var e=t.primaryUrl,r=t.onClose,o=t.size,i=void 0===o?"sm":o;return x(n._.safeUrlConcat(e,"/sign-up"),e,r,i)},setPreloadCookie:function(){docCookies.setItem(w,"1",3600,null,null,!0,"none")},canUseCookies:function(){return docCookies.setItem(w,"1",10,null,null,!0,"none"),!!docCookies.getItem("_cookieTest")||(docCookies.setItem(w,"1",10),!!docCookies.getItem(w))},closePopup:function(t){return b(this,void 0,void 0,g().mark((function e(){var n;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===i.A.MicrosoftTeams){e.next=3;break}return window.setTimeout((function(){return window.close()}),1e3),e.abrupt("return");case 3:return e.prev=3,e.next=6,r.e(4777).then(r.t.bind(r,94777,23));case 6:return n=e.sent,e.next=9,n.app.initialize();case 9:n.authentication.notifySuccess();case 10:return e.prev=10,window.setTimeout((function(){return window.close()}),1e3),e.finish(10);case 13:case"end":return e.stop()}}),e,null,[[3,,10,13]])})))}};function k(t,e){setTimeout((function(){t&&(!1===t.closed?k(t,e):e())}),500)}}}]);
3
+ //# sourceMappingURL=6736-750229acd4-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6736-750229acd4-lite.chunk.js","mappings":"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","sources":["file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/errors/protected-browser-settings-error/ProtectiveBrowserSettingsError.ts","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/utils/EmbedAuthHelper.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\r\nimport { DialogOptions } from 'libs/shared/interfaces';\r\n\r\nconst namespace = 'embed.protectiveBrowserSettingsError';\r\n\r\nexport class ProtectiveBrowserSettingsError extends DialogError {\r\n private url: string;\r\n\r\n constructor(url: string) {\r\n super(LanguageService.getPhrase(namespace, 'title'));\r\n\r\n this.url = url;\r\n }\r\n\r\n // @ts-ignore\r\n public get name(): string {\r\n return 'ProtectiveBrowserSettingsError';\r\n }\r\n\r\n // @ts-ignore\r\n public get dialogOptions(): DialogOptions {\r\n return {\r\n title: LanguageService.getPhrase(namespace, 'heading'),\r\n text: LanguageService.getPhrase(namespace, 'description', {\r\n url: this.url\r\n }),\r\n buttons: [{\r\n text: LanguageService.getPhrase(namespace, 'okay'),\r\n className: 'btn btn-dark',\r\n success: true\r\n }]\r\n };\r\n }\r\n}","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { HashObject } from 'libs/common/react/interfaces';\r\n\r\nimport { PluginConsumers } from 'shared/hooks/use-plugin-helper/usePluginHelper';\r\n\r\nimport { ProtectiveBrowserSettingsError } from 'apps/embed/errors/protected-browser-settings-error/ProtectiveBrowserSettingsError';\r\n\r\nconst COOKIE_TEST = '_cookieTest';\r\n\r\ntype PopupSize = 'sm' | 'lg';\r\n\r\nfunction renderPopup(\r\n url: string,\r\n targetUrl: string,\r\n onClose: () => void,\r\n size: PopupSize\r\n): Window {\r\n const popup = window.open(url, '_blank', getPopupAttributes(size));\r\n\r\n if (popup) {\r\n pollWindow(popup, onClose);\r\n } else {\r\n Core.ErrorHelper.throw(new ProtectiveBrowserSettingsError(targetUrl));\r\n return;\r\n }\r\n return popup;\r\n}\r\n\r\nexport const EmbedAuthHelper = {\r\n renderSignInPopup(options: {\r\n targetUrl: string;\r\n onClose: () => void;\r\n redirectUrl?: string;\r\n shareId?: string;\r\n consumerKey?: string;\r\n customerId?: number;\r\n size?: PopupSize\r\n }): Window {\r\n const {\r\n targetUrl,\r\n shareId,\r\n consumerKey,\r\n customerId,\r\n onClose,\r\n size = 'sm'\r\n } = options;\r\n \r\n let { redirectUrl } = options;\r\n\r\n if (!redirectUrl)\r\n redirectUrl = UrlHelper.urlBuilder('/embed-login-success', { consumerKey });\r\n\r\n const baseUrl = UrlHelper.safeUrlConcat(targetUrl, '/login');\r\n \r\n const params: HashObject = {\r\n redirectUrl,\r\n showSignUp: true\r\n };\r\n \r\n if (shareId) params.shareId = shareId;\r\n if (customerId) params.customerId = customerId;\r\n \r\n const url = UrlHelper.urlBuilder(baseUrl, params);\r\n \r\n if (consumerKey === PluginConsumers.MicrosoftTeams) {\r\n microsoftTeamsOpenPopup(url, onClose);\r\n return;\r\n }\r\n \r\n return renderPopup(url, targetUrl, onClose, size);\r\n },\r\n\r\n renderSignUpPopup(options: {\r\n primaryUrl: string;\r\n onClose: () => void;\r\n size?: PopupSize\r\n }): Window {\r\n const { primaryUrl, onClose, size = 'sm' } = options;\r\n const url = UrlHelper.safeUrlConcat(primaryUrl, '/sign-up');\r\n return renderPopup(url, primaryUrl, onClose, size);\r\n },\r\n\r\n setPreloadCookie(): void {\r\n docCookies.setItem(COOKIE_TEST, '1', 3600, null, null, true, 'none');\r\n },\r\n\r\n canUseCookies(): boolean {\r\n docCookies.setItem(COOKIE_TEST, '1', 10, null, null, true, 'none');\r\n\r\n const cookie = docCookies.getItem('_cookieTest');\r\n \r\n if (cookie)\r\n return true;\r\n\r\n /**\r\n * If the above didn't work, perhaps this is an older browser that doesn't\r\n * support SameSite: None. So we try the legacy way.\r\n */\r\n docCookies.setItem(COOKIE_TEST, '1', 10);\r\n return !!docCookies.getItem(COOKIE_TEST);\r\n },\r\n\r\n async closePopup(consumerKey: string): Promise<void> {\r\n if (consumerKey !== PluginConsumers.MicrosoftTeams) {\r\n window.setTimeout(() => window.close(), 1000);\r\n return;\r\n }\r\n\r\n try {\r\n const microsoftTeams = await import('@microsoft/teams-js');\r\n await microsoftTeams.app.initialize();\r\n microsoftTeams.authentication.notifySuccess();\r\n } finally {\r\n window.setTimeout(() => window.close(), 1000);\r\n }\r\n }\r\n};\r\n\r\nfunction getPopupAttributes(size: PopupSize): string {\r\n const width = size === 'sm' ? 550 : screen.availWidth;\r\n const height = size === 'sm' ? 750 : screen.availWidth;\r\n const left = parseInt((screen.availWidth / 2) - (width / 2) + '');\r\n const top = parseInt((screen.availHeight / 2) - (height / 2) + '');\r\n\r\n return [\r\n `width=${width}`,\r\n `height=${height}`,\r\n 'status',\r\n 'resizable',\r\n `left=${left}`,\r\n `top=${top}`,\r\n `screenX=${left}`,\r\n `screenY=${top}`,\r\n `scrollbars=yes`\r\n ].join(',');\r\n}\r\n\r\nfunction pollWindow(popup: Window, onClose: () => void): void {\r\n const pollTime = 500;\r\n\r\n setTimeout(() => {\r\n // If the popup is null, dont keep polling\r\n if (!popup)\r\n return;\r\n\r\n if (popup.closed !== false) {\r\n onClose();\r\n return;\r\n }\r\n\r\n pollWindow(popup, onClose);\r\n }, pollTime);\r\n}\r\n\r\nasync function microsoftTeamsOpenPopup(url: string, onClose: () => void): Promise<void> {\r\n const microsoftTeams = await import('@microsoft/teams-js');\r\n\r\n try {\r\n await microsoftTeams.app.initialize();\r\n await microsoftTeams.authentication.authenticate({\r\n url: url,\r\n height: 1000,\r\n width: 1000\r\n });\r\n } catch (err) {\r\n // Logging this to the console in case we ever need to debug. - Sha\r\n console.log(err);\r\n } finally {\r\n onClose();\r\n }\r\n}"],"names":["namespace","ProtectiveBrowserSettingsError","url","LanguageService","title","text","this","buttons","className","success","DialogError","COOKIE_TEST","renderPopup","targetUrl","onClose","size","popup","window","open","width","screen","availWidth","height","left","parseInt","top","availHeight","join","getPopupAttributes","pollWindow","EmbedAuthHelper","renderSignInPopup","options","shareId","consumerKey","customerId","redirectUrl","UrlHelper","baseUrl","params","showSignUp","microsoftTeams","app","initialize","authentication","authenticate","console","log","microsoftTeamsOpenPopup","renderSignUpPopup","primaryUrl","setPreloadCookie","docCookies","setItem","canUseCookies","getItem","closePopup","setTimeout","close","notifySuccess","closed"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6896],{36896:(e,n,t)=>{t.r(n),t.d(n,{PluginLoginView:()=>b});var r=t(32735),a=t(98269),i=t(60810),l=t(39202),c=t(97395),s=t(81886),o=t(20354),u=t(2786),m=t(83345),d=t(39151),p=t(62756),g=t(6736);const f={contentWidth:"Vm5ro"};var v="embed.pluginLogin";function b(e){var n=o.a.useBasicFetch(d.L.config()),t=function(e){var n=e.split("?");if(!n.length)return null;var t=n.slice(1).join("?");return l.Ab.DeserializeQueryParams(t)}(e.returnUrl),b=t.customerId,k=t.consumerKey,y=k===p.A.MicrosoftTeams,E=k===p.A.SmartEmbed;return r.createElement("div",{className:"d-flex justify-content-center align-items-center vh-100"},r.createElement("div",{className:"".concat(f.contentWidth," d-flex align-items-center flex-column justify-content-center p-4")},r.createElement("div",{className:"px-4"},r.createElement(u.$S,null)),r.createElement("p",{className:"my-3"},r.createElement(m.x,{namespace:v,phrase:"tagline"})),r.createElement(a.Z,{variant:"dark",className:"btn-lg w-100",onClick:function(){g.b.canUseCookies()||y?g.b.renderSignInPopup({targetUrl:n.data.primaryUrl,customerId:b,consumerKey:k,onClose:function(){s.Q.Ab.PageLoad(e.returnUrl)}}):function(){var e=g.b.renderSignInPopup({targetUrl:l.Ab.GetCurrentOrigin(),redirectUrl:c._.urlBuilder("/plugin",l.Ab.GetQuery()),customerId:b,onClose:function(){null==n||n.off("cv-lms-addvideo")},size:"lg"});if(e){var n=new i.CVEventsApi(e);n.on("cv-lms-addvideo",(function(e,n){var t={type:"cv-lms-addvideo",data:n};window.parent.postMessage(JSON.stringify(t),"*")}))}}()}},r.createElement(m.x,{namespace:v,phrase:"signIn"})),E&&r.createElement(a.Z,{variant:"link",className:"btn-lg w-100 info-link mt-2",onClick:function(){g.b.renderSignUpPopup({primaryUrl:n.data.primaryUrl,onClose:function(){s.Q.Ab.PageLoad(e.returnUrl)}})}},r.createElement(m.x,{namespace:v,phrase:"signUp"}))))}}}]);
2
+ //# sourceMappingURL=6896-2e0f1b3265-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/6896-2e0f1b3265-lite.chunk.js","mappings":"+RACA,SAAgB,aAAe,SCoB/B,IAAMA,EAAY,oBAkBZ,SAAUC,EAAgBC,GAC9B,IAAMC,EAAS,kBAA6BC,EAAA,YAE5C,EAfF,SAAmBC,GACjB,IAAMC,EAAQD,EAAUE,MAAM,KAE9B,IAAKD,EAAME,OACT,OAAO,KAET,IAAMC,EAAcH,EAAMI,MAAM,GAAGC,KAAK,KAGxC,OAFe,4BAAqCF,EAGtD,CAKsCG,CAAUV,EAAMG,WAA5CQ,EAAU,EAAVA,WAAYC,EAAW,EAAXA,YACdC,EAAmBD,IAAgB,mBACnCE,EAAeF,IAAgB,eAuDrC,OACE,uBAAKG,UAAU,2DACb,uBAAKA,UAAS,UAAK,eAAmB,sEACpC,uBAAKA,UAAU,QACb,gBAACC,EAAA,GAAa,OAEhB,qBAAGD,UAAU,QAAO,gBAACE,EAAA,EAAI,CAACnB,UAAWA,EAAWoB,OAAO,aACvD,gBAACC,EAAA,EAAM,CAACC,QAAQ,OAAOL,UAAU,eAAeM,QA5DtD,WACOC,EAAA,mBAAoCT,EAKzCS,EAAA,oBAAkC,CAChCC,UAAWtB,EAAOuB,KAAKC,WACvBd,WAAAA,EACAC,YAAAA,EACAc,QAAS,WACP,gBAA4B1B,EAAMG,UACpC,IAaJ,WACE,IAAMwB,EAAQL,EAAA,oBAAkC,CAC9CC,UAAW,wBACXK,YAAaC,EAAA,aACX,UACA,iBAEFlB,WAAAA,EACAe,QAAS,WACPI,SAAAA,EAAaC,IAAI,kBACnB,EACAC,KAAM,OAGR,GAAKL,EAAL,CAGA,IAAMG,EAAc,IAAI,EAAAG,YAAYN,GAEpCG,EAAYI,GAAG,mBAAmB,SAACC,EAAeC,GAChD,IAAMC,EAAU,CACdC,KAAM,kBACNd,KAAMY,GAERG,OAAOC,OAAOC,YAAYC,KAAKC,UAAUN,GAAU,IACrD,GAVQ,CAWV,CAjDIO,EAYJ,GA+CQ,gBAAC3B,EAAA,EAAI,CAACnB,UAAWA,EAAWoB,OAAO,YAEpCJ,GACC,gBAACK,EAAA,EAAM,CAACC,QAAQ,OAAOL,UAAU,8BAA8BM,QAhDvE,WACEC,EAAA,oBAAkC,CAChCG,WAAYxB,EAAOuB,KAAKC,WACxBC,QAAS,WACP,gBAA4B1B,EAAMG,UACpC,GAEJ,GA0CU,gBAACc,EAAA,EAAI,CAACnB,UAAWA,EAAWoB,OAAO,aAM/C,C","sources":["file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/views/plugin-login/plugin-login.scss","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/views/plugin-login/PluginLoginView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"contentWidth\":\"Vm5ro\"};","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { CVEventsApi } from 'CVEvents';\r\n\r\nimport { LocationUtils } from 'libs/common/backbone/core';\r\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { HashObject } from 'libs/common/react/interfaces';\r\n\r\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { Config } from 'libs/shared/interfaces';\r\n\r\nimport { PluginConsumers } from 'shared/hooks/use-plugin-helper/usePluginHelper';\r\n\r\nimport { EmbedAuthHelper } from 'apps/embed/utils/EmbedAuthHelper';\r\n\r\nimport styles from './plugin-login.scss';\r\n\r\nconst namespace = 'embed.pluginLogin';\r\n\r\ninterface PluginLoginProps {\r\n returnUrl: string;\r\n}\r\n\r\nfunction getParams(returnUrl: string): HashObject {\r\n const parts = returnUrl.split('?');\r\n\r\n if (!parts.length)\r\n return null;\r\n\r\n const queryString = parts.slice(1).join('?');\r\n const params = LocationUtils.DeserializeQueryParams(queryString);\r\n\r\n return params;\r\n}\r\n\r\nexport function PluginLoginView(props: PluginLoginProps): React.ReactElement {\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\r\n\r\n const { customerId, consumerKey } = getParams(props.returnUrl);\r\n const isMicrosoftTeams = consumerKey === PluginConsumers.MicrosoftTeams;\r\n const isSmartEmbed = consumerKey === PluginConsumers.SmartEmbed;\r\n\r\n function onClick(): void {\r\n if (!EmbedAuthHelper.canUseCookies() && !isMicrosoftTeams) {\r\n launchPluginPopup();\r\n return;\r\n }\r\n\r\n EmbedAuthHelper.renderSignInPopup({\r\n targetUrl: config.data.primaryUrl,\r\n customerId,\r\n consumerKey,\r\n onClose: () => {\r\n Core.LocationUtils.PageLoad(props.returnUrl);\r\n }\r\n });\r\n }\r\n \r\n function onClickSignUp(): void {\r\n EmbedAuthHelper.renderSignUpPopup({\r\n primaryUrl: config.data.primaryUrl,\r\n onClose: () => {\r\n Core.LocationUtils.PageLoad(props.returnUrl);\r\n }\r\n });\r\n }\r\n\r\n function launchPluginPopup(): void {\r\n const popup = EmbedAuthHelper.renderSignInPopup({\r\n targetUrl: LocationUtils.GetCurrentOrigin(),\r\n redirectUrl: UrlHelper.urlBuilder(\r\n '/plugin',\r\n LocationUtils.GetQuery()\r\n ),\r\n customerId,\r\n onClose: () => {\r\n cvEventsAPi?.off('cv-lms-addvideo');\r\n },\r\n size: 'lg'\r\n });\r\n\r\n if (!popup)\r\n return;\r\n\r\n const cvEventsAPi = new CVEventsApi(popup);\r\n\r\n cvEventsAPi.on('cv-lms-addvideo', (event: string, details: any) => {\r\n const message = {\r\n type: 'cv-lms-addvideo',\r\n data: details\r\n };\r\n window.parent.postMessage(JSON.stringify(message), '*');\r\n });\r\n }\r\n\r\n return (\r\n <div className='d-flex justify-content-center align-items-center vh-100'>\r\n <div className={`${styles.contentWidth} d-flex align-items-center flex-column justify-content-center p-4`}>\r\n <div className='px-4'>\r\n <ClickViewLogo />\r\n </div>\r\n <p className='my-3'><Text namespace={namespace} phrase='tagline' /></p>\r\n <Button variant='dark' className='btn-lg w-100' onClick={onClick}>\r\n <Text namespace={namespace} phrase='signIn' />\r\n </Button>\r\n {isSmartEmbed &&\r\n <Button variant='link' className='btn-lg w-100 info-link mt-2' onClick={onClickSignUp}>\r\n <Text namespace={namespace} phrase='signUp' />\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n );\r\n}"],"names":["namespace","PluginLoginView","props","config","ConfigRequests","returnUrl","parts","split","length","queryString","slice","join","getParams","customerId","consumerKey","isMicrosoftTeams","isSmartEmbed","className","ClickViewLogo","Text","phrase","Button","variant","onClick","EmbedAuthHelper","targetUrl","data","primaryUrl","onClose","popup","redirectUrl","UrlHelper","cvEventsAPi","off","size","CVEventsApi","on","event","details","message","type","window","parent","postMessage","JSON","stringify","launchPluginPopup"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7017],{17017:(e,t,a)=>{a.r(t),a.d(t,{EmbedLoginSuccessView:()=>p});var c=a(32735),n=a(20354),s=a(31949),l=a(2786),o=a(83345),i=a(99742);const r={logo:"EtNtX"};var m="embed.embedLoginSuccess";function u(){return c.createElement("div",{className:"mt-5"},c.createElement("div",{className:"".concat(r.logo," mx-auto")},c.createElement(l.$S,null)),c.createElement("img",{className:"img-fluid mx-auto d-block mt-4",alt:"Success",src:i.W.SUCCESS,style:{maxWidth:"18rem"}}),c.createElement("p",{className:"text-center mb-4 mt-2"},c.createElement(o.x,{namespace:m,phrase:"success"})))}var d=a(6736);function p(e){var t=n.a.useBasicFetch(s.N.token());return c.useEffect((function(){var a,c;if(t.data){var n={type:"cv-token",data:{embedToken:t.data}},s=JSON.stringify(n);null===(a=window.parent)||void 0===a||a.postMessage(s,"*"),window.opener!==window.parent&&(null===(c=window.opener)||void 0===c||c.postMessage(s,"*")),d.b.closePopup(e.consumerKey)}}),[t.data]),c.createElement(u,null)}}}]);
2
+ //# sourceMappingURL=7017-da16c91436-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/7017-da16c91436-lite.chunk.js","mappings":"oOACA,SAAgB,KAAO,SCQvB,IAAMA,EAAY,0BAEZ,SAAUC,IACd,OACE,uBAAKC,UAAU,QACb,uBAAKA,UAAS,UAAK,OAAW,aAC5B,gBAACC,EAAA,GAAa,OAGhB,uBACED,UAAU,iCACVE,IAAI,UACJC,IAAKC,EAAA,UACLC,MAAO,CAAEC,SAAU,WAGrB,qBAAGN,UAAU,yBACX,gBAACO,EAAA,EAAI,CAACT,UAAWA,EAAWU,OAAO,aAI3C,C,cChBM,SAAUC,EAAsBC,GACpC,IAAMC,EAAQ,kBAAgCC,EAAA,WAmB9C,OAjBA,aAAgB,W,QACd,GAAKD,EAAME,KAAX,CAEA,IAAMC,EAAU,CACdC,KAAM,WACNF,KAAM,CAAEG,WAAYL,EAAME,OAGtBI,EAAOC,KAAKC,UAAUL,GACf,QAAb,EAAAM,OAAOC,cAAM,SAAEC,YAAYL,EAAM,KAE7BG,OAAOG,SAAWH,OAAOC,SACd,QAAb,EAAAD,OAAOG,cAAM,SAAED,YAAYL,EAAM,MAEnCO,EAAA,aAA2Bd,EAAMe,YAbV,CAczB,GAAG,CAACd,EAAME,OAEH,gBAACd,EAAY,KACtB,C","sources":["file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/login-success/login-success.scss","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/login-success/LoginSuccess.tsx","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/views/embed-login-success/EmbedLoginSuccessView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"logo\":\"EtNtX\"};","import React from 'react';\r\n\r\nimport { ClickViewLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nimport { ImageUrls } from 'shared/constants/ImageUrls';\r\n\r\nimport styles from './login-success.scss';\r\n\r\nconst namespace = 'embed.embedLoginSuccess';\r\n\r\nexport function LoginSuccess(): React.ReactElement {\r\n return (\r\n <div className='mt-5'>\r\n <div className={`${styles.logo} mx-auto`}>\r\n <ClickViewLogo />\r\n </div>\r\n\r\n <img\r\n className='img-fluid mx-auto d-block mt-4'\r\n alt='Success'\r\n src={ImageUrls.SUCCESS}\r\n style={{ maxWidth: '18rem' }} /* Half the @2x image size */\r\n />\r\n\r\n <p className='text-center mb-4 mt-2'>\r\n <Text namespace={namespace} phrase='success' />\r\n </p>\r\n </div>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { Flight } from 'libs/common/react/index';\r\n\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\r\n\r\nimport { LoginSuccess } from 'apps/embed/components/login-success/LoginSuccess';\r\nimport { EmbedAuthHelper } from 'apps/embed/utils/EmbedAuthHelper';\r\n\r\ninterface EmbedLoginSuccessProps {\r\n consumerKey: string;\r\n}\r\n\r\nexport function EmbedLoginSuccessView(props: EmbedLoginSuccessProps): JSX.Element {\r\n const token = Flight.useBasicFetch<AuthToken>(UserRequests.token());\r\n\r\n React.useEffect(() => {\r\n if (!token.data) return;\r\n \r\n const message = {\r\n type: 'cv-token',\r\n data: { embedToken: token.data }\r\n };\r\n \r\n const json = JSON.stringify(message);\r\n window.parent?.postMessage(json, '*');\r\n\r\n if (window.opener !== window.parent)\r\n window.opener?.postMessage(json, '*');\r\n\r\n EmbedAuthHelper.closePopup(props.consumerKey);\r\n }, [token.data]);\r\n\r\n return <LoginSuccess />;\r\n}"],"names":["namespace","LoginSuccess","className","ClickViewLogo","alt","src","ImageUrls","style","maxWidth","Text","phrase","EmbedLoginSuccessView","props","token","UserRequests","data","message","type","embedToken","json","JSON","stringify","window","parent","postMessage","opener","EmbedAuthHelper","consumerKey"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8772],{14919:(e,a,t)=>{t.d(a,{w:()=>v});var r=t(32735),n=t(64249),c=t(11607),i=t(2786),s=t(7733),l=t(9085),u=t(98084),o=t(87984);const d={playButtonCircle:"zima4"};function v(e){var a,t,v,m,p=e.onClick,E=e.video,b="rating"in E&&(null===(a=E.rating)||void 0===a?void 0:a.code),g="rating"in E&&(null===(t=E.rating)||void 0===t?void 0:t.value),h=(0,o.C)(g),I="series"in E&&(null===(v=E.series)||void 0===v?void 0:v.name),f="episodeNumber"in E&&E.episodeNumber,C="season"in E&&(null===(m=E.season)||void 0===m?void 0:m.number),k=n.I.getImageUrl(E),N="";k||(N=(0,l.x)(E.name,s.b));var w={backgroundImage:k?"url('".concat(k,"')"):"",backgroundColor:N};return r.createElement(c.L,{className:"cv-embed-splash ".concat(N||"cv-embed-splash-black"),style:w,onClick:p},!!k&&r.createElement("div",{className:"cv-splash-mask"}),r.createElement("div",{className:"cv-splash-metadata"},r.createElement("h1",null,r.createElement("div",{className:"cv-splash-series"},function(e,a,t){if(!e)return"";if(!t||!a)return e;var r=u.I.padNumber(t,2),n=u.I.padNumber(a,2);return"".concat(e," S").concat(r," &bull; E").concat(n)}(I,f,C)),E.name),r.createElement("div",{className:"cv-splash-rating ".concat(h)},b)),r.createElement("div",{className:d.playButtonCircle},r.createElement("svg",{viewBox:"0 0 1800 1800"},r.createElement("path",{d:"M597.3333333333334 1418.6666666666665V373.3333333333333L1418.6666666666667 896z"}))),r.createElement("div",{className:"cv-splash-logo"},r.createElement(i.Yo,null)))}},58772:(e,a,t)=>{t.r(a),t.d(a,{EmbedLoginView:()=>g});var r=t(32735),n=t(60810),c=t(39202),i=t(81886),s=t(20354),l=t(30439),u=t(39151),o=t(71158),d=t(14070),v=t(97291),m=t(14919),p=t(6736),E=t(13746),b=t(75608);function g(e){var a=s.a.useBasicFetch(u.L.config()),t=s.a.useBasicFetch(l.o.getShareObject(e.shareId)),g=(0,b.a)(e.shareId);return r.useLayoutEffect((function(){E.R.remove()}),[]),a.data&&t.data&&g?r.createElement(m.w,{onClick:function(){if(t.data.isPasswordProtected)return a={application:v.O.EMBED,action:d.e.Embed.VIEW_EMBEDDED_RESOURCE,args:[e.shareId],params:i.Q.C$.getCurrentAppLink().params},void i.Q.C$.trigger({application:v.O.LAUNCHPAD,action:d.e.Launchpad.PASSWORD_PROTECTED_SHARE_LINK,args:[e.shareId],params:{appLink:a}});var a,r=null,s=p.b.renderSignInPopup({targetUrl:c.Ab.GetCurrentOrigin(),shareId:e.shareId,customerId:e.customerId,consumerKey:e.consumerKey,onClose:function(){return o.P.applyToken(r)}});s&&new n.CVEventsApi(s).on("cv-token",(function(e,a){return r=a.embedToken}))},video:g}):r.createElement(r.Fragment,null)}},75608:(e,a,t)=>{t.d(a,{a:()=>m});var r=t(20354),n=t(30439),c=t(4594),i=t(21750),s=t(43012),l=t(20768),u=t(5112),o=t(60011),d=t(31949),v=t(1575);function m(e){var a=r.a.useBasicFetch(d.N.currentUser()),t=r.a.useBasicFetch(n.o.getShareObject(e)),m=function(){if(!t.data||!a.data)return null;switch(t.data.objectTypeId){case c.E.Video:return v.R.publicVideo(t.data.objectId,e);case c.E.Clip:return s.e.publicClip(t.data.objectId,e);case c.E.Interactive:return l.b.publicInteractiveMetadata(t.data.objectId,e);case c.E.Playlist:return u.C.getSharedPlaylist(t.data.objectId,e);case c.E.Subject:return i.x.classification(t.data.objectId,a.data.id);case c.E.Series:return o.J.sharedSeries(t.data.objectId,e)}}();return r.a.useBasicFetch(m).data}},87984:(e,a,t)=>{function r(e){return e?function(e){switch(!0){case e<32:return"cv-rating-purple";case e<48:return"cv-rating-green";case e<80:return"cv-rating-blue";case e<96:return"cv-rating-red";case e<128:return"cv-rating-pink";case e>=128:return"cv-rating-yellow";default:return""}}(e):""}t.d(a,{C:()=>r})}}]);
2
+ //# sourceMappingURL=8772-8579470f46-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/8772-8579470f46-lite.chunk.js","mappings":"6NACA,SAAgB,iBAAmB,SCoC7B,SAAUA,EAAcC,G,YAE1BC,EAEED,EAFFC,QACAC,EACEF,EADFE,MAGIC,EAAa,WAAYD,IAAqB,QAAZ,EAAAA,EAAME,cAAM,eAAEC,MAChDC,EAAc,WAAYJ,IAAqB,QAAZ,EAAAA,EAAME,cAAM,eAAEG,OACjDC,GAAe,OAA4BF,GAE3CG,EAAa,WAAYP,IAAqB,QAAZ,EAAAA,EAAMQ,cAAM,eAAEC,MAChDC,EAAgB,kBAAmBV,GAASA,EAAMU,cAClDC,EAAe,WAAYX,IAAqB,QAAZ,EAAAA,EAAMY,cAAM,eAAEC,QAElDC,EAAkBC,EAAA,cAA4Bf,GAChDgB,EAAkB,GAEjBF,IACHE,GAAkB,EAAAC,EAAA,GAAgBjB,EAAMS,KAAM,MAEhD,IAAMS,EAA6B,CACjCJ,gBAAiBA,EAAkB,QAAH,OAAWA,EAAe,MAAO,GACjEE,gBAAAA,GAIF,OACE,gBAACG,EAAA,EAAS,CACRC,UAAS,0BAAqBJ,GAAmB,yBACjDE,MAAOA,EACPnB,QAASA,KAENe,GAAmB,uBAAKM,UAAU,mBAErC,uBAAKA,UAAU,sBACb,0BACE,uBAAKA,UAAU,oBAtDzB,SAAmBb,EAAoBG,EAAuBC,GAC5D,IAAKJ,EACH,MAAO,GAET,IAAKI,IAAiBD,EACpB,OAAOH,EAET,IAAMc,EAAeC,EAAA,YAAuBX,EAAc,GACpDY,EAAgBD,EAAA,YAAuBZ,EAAe,GAE5D,MAAO,GAAP,OAAUH,EAAU,aAAKc,EAAY,oBAAYE,EACnD,CA4CaC,CAAUjB,EAAYG,EAAeC,IAEvCX,EAAMS,MAGT,uBAAKW,UAAS,2BAAsBd,IACjCL,IAIL,uBAAKmB,UAAW,oBACd,uBAAKK,QAAQ,iBACX,wBAAMC,EAAE,sFAIZ,uBAAKN,UAAU,kBACb,gBAACO,EAAA,GAAqB,OAI9B,C,oNCpEM,SAAUC,EAAe9B,GAC7B,IAAM+B,EAAS,kBAA6B,cAEtCC,EAAY,kBAAgC,mBAA6BhC,EAAMiC,UAC/EC,GAAiB,OAAmClC,EAAMiC,SA4ChE,OAJA,mBAAsB,WACpB,YACF,GAAG,IAEEF,EAAOI,MAASH,EAAUG,MAASD,EAItC,gBAAC,IAAa,CACZjC,QA/BJ,WACE,GAAI+B,EAAUG,KAAKC,oBAEjB,OAlBIC,EAAwB,CAC5BC,YAAa,UACbC,OAAQ,iCACRC,KAAM,CAACxC,EAAMiC,SACbQ,OAAQ,2BAAuCA,aAGjD,eAA2B,CACzBH,YAAa,cACbC,OAAQ,4CACRC,KAAM,CAACxC,EAAMiC,SACbQ,OAAQ,CAAEJ,QAAAA,KAZd,IACQA,EAqBFK,EAAwB,KAEtBC,EAAQ,sBAAkC,CAC9CC,UAAW,wBACXX,QAASjC,EAAMiC,QACfY,WAAY7C,EAAM6C,WAClBC,YAAa9C,EAAM8C,YACnBC,QAAS,kBAAM,eAA4BL,EAAW,IAGpDC,GACkB,IAAI,EAAAK,YAAYL,GACxBM,GAAG,YAAY,SAACC,EAAWC,GAAY,OAAKT,EAAaS,EAAQT,UAAU,GAE3F,EAYIxC,MAAOgC,IALF,gCAQX,C,kJCvEM,SAAUkB,EAA0BnB,GACxC,IAAMoB,EAAc,kBAAkC,mBAChDrB,EAAY,kBAAgC,mBAA6BC,IAsBzEqB,EApBN,WACE,IAAKtB,EAAUG,OAASkB,EAAYlB,KAClC,OAAO,KAET,OAAQH,EAAUG,KAAKoB,cACrB,KAAK,UACH,OAAO,gBAA0BvB,EAAUG,KAAKqB,SAAUvB,GAC5D,KAAK,SACH,OAAO,eAAwBD,EAAUG,KAAKqB,SAAUvB,GAC1D,KAAK,gBACH,OAAO,8BAA8CD,EAAUG,KAAKqB,SAAUvB,GAChF,KAAK,aACH,OAAO,sBAAmCD,EAAUG,KAAKqB,SAAUvB,GACrE,KAAK,YACH,OAAO,mBAAsCD,EAAUG,KAAKqB,SAAUH,EAAYlB,KAAKsB,IACzF,KAAK,WACH,OAAO,iBAA4BzB,EAAUG,KAAKqB,SAAUvB,GAElE,CAEwByB,GAGxB,OAFiB,kBAAwBJ,GAEzBnB,IAClB,C,kBCzCM,SAAUwB,EAA4BrD,GAC1C,OAAKA,EAEW,SAACF,GACf,QAAQ,GACN,KAAMA,EAAS,GACb,MAAO,mBACT,KAAMA,EAAS,GACb,MAAO,kBACT,KAAMA,EAAS,GACb,MAAO,iBACT,KAAMA,EAAS,GACb,MAAO,gBACT,KAAMA,EAAS,IACb,MAAO,iBACT,KAAMA,GAAU,IACd,MAAO,mBACT,QACE,MAAO,GAEb,CAEOwD,CAAQtD,GArBU,EAsB3B,C","sources":["file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/embedded-login/embedded-login.scss","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/components/embedded-login/EmbeddedLogin.tsx","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/embed/views/embed-login/EmbedLoginView.tsx","file://C:/ClickView Projects/clickview/packages/projects/lite/src/apps/share/hooks/useFetchSharedResource.ts","file://C:/ClickView Projects/clickview/packages/projects/player/src/utils/PlayerRatingHelper.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"playButtonCircle\":\"zima4\"};","/**\r\n * IMPORTANT!\r\n * Please refer to projects\\player\\src\\components\\poster-image\\poster-image-details.md\r\n * before changing this file\r\n */\r\nimport React from 'react';\r\n\r\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { ClickViewLogoInverted } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\r\nimport { LOGO_SAFE_BG_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\r\nimport { VideoTypes } from 'libs/shared/interfaces';\r\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\r\nimport { NumberHelper } from 'libs/shared/utils/NumberHelper';\r\n\r\nimport { mapRatingValueToColourClass } from 'projects/player/utils/PlayerRatingHelper';\r\n\r\nimport styles from './embedded-login.scss';\r\n\r\nfunction getSeries(seriesName: string, episodeNumber: number, seasonNumber: number): string {\r\n if (!seriesName)\r\n return '';\r\n\r\n if (!seasonNumber || !episodeNumber)\r\n return seriesName;\r\n\r\n const paddedSeason = NumberHelper.padNumber(seasonNumber, 2);\r\n const paddedEpisode = NumberHelper.padNumber(episodeNumber, 2);\r\n\r\n return `${seriesName} S${paddedSeason} &bull; E${paddedEpisode}`;\r\n}\r\n\r\ninterface EmbeddedLoginProps {\r\n onClick: () => void;\r\n video: VideoTypes;\r\n}\r\n\r\nexport function EmbeddedLogin(props: EmbeddedLoginProps): React.ReactElement {\r\n const {\r\n onClick,\r\n video\r\n } = props;\r\n\r\n const ratingCode = 'rating' in video && video.rating?.code;\r\n const ratingValue = 'rating' in video && video.rating?.value;\r\n const ratingColour = mapRatingValueToColourClass(ratingValue);\r\n\r\n const seriesName = 'series' in video && video.series?.name;\r\n const episodeNumber = 'episodeNumber' in video && video.episodeNumber;\r\n const seasonNumber = 'season' in video && video.season?.number;\r\n\r\n const backgroundImage = ShareViewHelper.getImageUrl(video);\r\n let backgroundColor = '';\r\n\r\n if (!backgroundImage)\r\n backgroundColor = getBgColorClass(video.name, LOGO_SAFE_BG_CLASS_NAMES);\r\n\r\n const style: React.CSSProperties = {\r\n backgroundImage: backgroundImage ? `url('${backgroundImage}')` : '',\r\n backgroundColor\r\n };\r\n\r\n // Markup changes here should also be made to components in `landing-splash-plugin.ts`\r\n return (\r\n <DivButton\r\n className={`cv-embed-splash ${backgroundColor || 'cv-embed-splash-black'}`}\r\n style={style}\r\n onClick={onClick}\r\n >\r\n {!!backgroundImage && <div className='cv-splash-mask' />}\r\n\r\n <div className='cv-splash-metadata'>\r\n <h1>\r\n <div className='cv-splash-series'>\r\n {getSeries(seriesName, episodeNumber, seasonNumber)}\r\n </div>\r\n {video.name}\r\n </h1>\r\n\r\n <div className={`cv-splash-rating ${ratingColour}`}>\r\n {ratingCode}\r\n </div>\r\n </div>\r\n\r\n <div className={styles.playButtonCircle}>\r\n <svg viewBox='0 0 1800 1800'>\r\n <path d='M597.3333333333334 1418.6666666666665V373.3333333333333L1418.6666666666667 896z'></path>\r\n </svg>\r\n </div>\r\n\r\n <div className='cv-splash-logo'>\r\n <ClickViewLogoInverted />\r\n </div>\r\n </DivButton>\r\n );\r\n}","import React from 'react';\r\nimport { CVEventsApi } from 'CVEvents';\r\n\r\nimport { LocationUtils } from 'libs/common/backbone/core';\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\n\r\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { Config, ShareLink, VideoTypes } from 'libs/shared/interfaces';\r\nimport { AuthToken } from 'libs/shared/interfaces/models/AuthToken';\r\nimport { EmbedTokenHelper } from 'libs/shared/utils/EmbedTokenHelper';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\n\r\nimport { EmbeddedLogin } from 'apps/embed/components/embedded-login/EmbeddedLogin';\r\nimport { EmbedAuthHelper } from 'apps/embed/utils/EmbedAuthHelper';\r\nimport { EmbedPlaceHolderHelper } from 'apps/embed/utils/EmbedPlaceholderHelper';\r\nimport { useFetchSharedResource } from 'apps/share/hooks/useFetchSharedResource';\r\n\r\ninterface EmbedLoginViewProps {\r\n shareId: string;\r\n consumerKey?: string;\r\n customerId?: number\r\n}\r\n\r\nexport function EmbedLoginView(props: EmbedLoginViewProps): JSX.Element {\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\r\n\r\n const shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareObject(props.shareId));\r\n const sharedResource = useFetchSharedResource<VideoTypes>(props.shareId);\r\n\r\n function handlePasswordProtected() {\r\n const appLink: Core.AppLink = {\r\n application: AppChannels.EMBED,\r\n action: Actions.Embed.VIEW_EMBEDDED_RESOURCE,\r\n args: [props.shareId],\r\n params: Core.AppLinkHelper.getCurrentAppLink().params\r\n };\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.LAUNCHPAD,\r\n action: Actions.Launchpad.PASSWORD_PROTECTED_SHARE_LINK,\r\n args: [props.shareId],\r\n params: { appLink }\r\n });\r\n }\r\n\r\n function onClick(): void {\r\n if (shareLink.data.isPasswordProtected) {\r\n handlePasswordProtected();\r\n return;\r\n }\r\n\r\n let embedToken: AuthToken = null;\r\n \r\n const popup = EmbedAuthHelper.renderSignInPopup({\r\n targetUrl: LocationUtils.GetCurrentOrigin(),\r\n shareId: props.shareId,\r\n customerId: props.customerId,\r\n consumerKey: props.consumerKey,\r\n onClose: () => EmbedTokenHelper.applyToken(embedToken)\r\n });\r\n\r\n if (popup) {\r\n const cvEventsAPi = new CVEventsApi(popup);\r\n cvEventsAPi.on('cv-token', (_: string, details: any) => embedToken = details.embedToken);\r\n }\r\n }\r\n\r\n React.useLayoutEffect(() => {\r\n EmbedPlaceHolderHelper.remove();\r\n }, []);\r\n\r\n if (!config.data || !shareLink.data || !sharedResource)\r\n return <></>;\r\n \r\n return (\r\n <EmbeddedLogin\r\n onClick={onClick}\r\n video={sharedResource}\r\n />\r\n );\r\n}","import { Flight } from 'libs/common/flight';\r\n\r\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\r\nimport { MasterType } from 'libs/shared/enums/MasterType';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\r\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\r\nimport { CurrentUser, ShareLink } from 'libs/shared/interfaces';\r\n\r\nexport function useFetchSharedResource<T>(shareId: string): T {\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\r\n const shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareObject(shareId));\r\n\r\n function getResourceRequest(): Flight.Request {\r\n if (!shareLink.data || !currentUser.data)\r\n return null;\r\n\r\n switch (shareLink.data.objectTypeId) {\r\n case MasterType.Video:\r\n return VideoRequests.publicVideo(shareLink.data.objectId, shareId);\r\n case MasterType.Clip:\r\n return ClipRequests.publicClip(shareLink.data.objectId, shareId);\r\n case MasterType.Interactive:\r\n return InteractiveRequests.publicInteractiveMetadata(shareLink.data.objectId, shareId);\r\n case MasterType.Playlist:\r\n return PlaylistRequests.getSharedPlaylist(shareLink.data.objectId, shareId);\r\n case MasterType.Subject:\r\n return ClassificationRequests.classification(shareLink.data.objectId, currentUser.data.id);\r\n case MasterType.Series:\r\n return SeriesRequests.sharedSeries(shareLink.data.objectId, shareId);\r\n }\r\n }\r\n\r\n const resourceRequest = getResourceRequest();\r\n const resource = Flight.useBasicFetch<T>(resourceRequest);\r\n\r\n return resource.data;\r\n}","export function mapRatingValueToColourClass(ratingValue: number): string {\r\n if (!ratingValue) return '';\r\n\r\n const ratings = (rating: number): string => {\r\n switch (true) {\r\n case (rating < 32):\r\n return 'cv-rating-purple';\r\n case (rating < 48):\r\n return 'cv-rating-green';\r\n case (rating < 80):\r\n return 'cv-rating-blue';\r\n case (rating < 96):\r\n return 'cv-rating-red';\r\n case (rating < 128):\r\n return 'cv-rating-pink';\r\n case (rating >= 128):\r\n return 'cv-rating-yellow';\r\n default:\r\n return ''; // Handles unrated\r\n }\r\n };\r\n\r\n return ratings(ratingValue);\r\n}"],"names":["EmbeddedLogin","props","onClick","video","ratingCode","rating","code","ratingValue","value","ratingColour","seriesName","series","name","episodeNumber","seasonNumber","season","number","backgroundImage","ShareViewHelper","backgroundColor","getBgColorClass","style","DivButton","className","paddedSeason","NumberHelper","paddedEpisode","getSeries","viewBox","d","ClickViewLogo","EmbedLoginView","config","shareLink","shareId","sharedResource","data","isPasswordProtected","appLink","application","action","args","params","embedToken","popup","targetUrl","customerId","consumerKey","onClose","CVEventsApi","on","_","details","useFetchSharedResource","currentUser","resourceRequest","objectTypeId","objectId","id","getResourceRequest","mapRatingValueToColourClass","ratings"],"sourceRoot":""}