@clickview/lite 0.49.0-rc.2 → 0.49.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/4291-lite-69960aaab9.chunk.css +23 -0
  3. package/dist/css/6723-lite-69960aaab9.chunk.css +23 -0
  4. package/dist/css/9437-lite-69960aaab9.chunk.css +23 -0
  5. package/dist/languages/en.json +1 -1
  6. package/dist/scripts/{6375-f6cac7d19c-lite.chunk.js → 1539-df427c5b98-lite.chunk.js} +2 -2
  7. package/dist/scripts/1539-df427c5b98-lite.chunk.js.map +1 -0
  8. package/dist/scripts/194-918a27a783-lite.chunk.js +2 -0
  9. package/dist/scripts/194-918a27a783-lite.chunk.js.map +1 -0
  10. package/dist/scripts/{3042-d531f193aa-lite.chunk.js → 3042-32e303014a-lite.chunk.js} +2 -2
  11. package/dist/scripts/{3042-d531f193aa-lite.chunk.js.map → 3042-32e303014a-lite.chunk.js.map} +1 -1
  12. package/dist/scripts/32-cf9b8ba599-lite.chunk.js +2 -0
  13. package/dist/scripts/32-cf9b8ba599-lite.chunk.js.map +1 -0
  14. package/dist/scripts/{3854-6b20ca6c3b-lite.chunk.js → 3854-9e1422da99-lite.chunk.js} +2 -2
  15. package/dist/scripts/3854-9e1422da99-lite.chunk.js.map +1 -0
  16. package/dist/scripts/4291-4ea61b3610-lite.chunk.js +2 -0
  17. package/dist/scripts/4291-4ea61b3610-lite.chunk.js.map +1 -0
  18. package/dist/scripts/6723-ece2125bab-lite.chunk.js +2 -0
  19. package/dist/scripts/6723-ece2125bab-lite.chunk.js.map +1 -0
  20. package/dist/scripts/{7268-d9bf6e2c2a-lite.chunk.js → 7268-a8484f7697-lite.chunk.js} +2 -2
  21. package/dist/scripts/{7268-d9bf6e2c2a-lite.chunk.js.map → 7268-a8484f7697-lite.chunk.js.map} +1 -1
  22. package/dist/scripts/{9087-48c8bfbc09-lite.chunk.js → 9087-55e2aad6ad-lite.chunk.js} +2 -2
  23. package/dist/scripts/{9087-48c8bfbc09-lite.chunk.js.map → 9087-55e2aad6ad-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/9437-d9c671743c-lite.chunk.js +2 -0
  25. package/dist/scripts/9437-d9c671743c-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{bundle-1335ff3786.min.js → bundle-0f5cfcd378.min.js} +3 -3
  27. package/dist/scripts/bundle-0f5cfcd378.min.js.map +1 -0
  28. package/package.json +1 -1
  29. package/dist/scripts/194-6131a555c8-lite.chunk.js +0 -2
  30. package/dist/scripts/194-6131a555c8-lite.chunk.js.map +0 -1
  31. package/dist/scripts/32-5739e73587-lite.chunk.js +0 -2
  32. package/dist/scripts/32-5739e73587-lite.chunk.js.map +0 -1
  33. package/dist/scripts/3854-6b20ca6c3b-lite.chunk.js.map +0 -1
  34. package/dist/scripts/6375-f6cac7d19c-lite.chunk.js.map +0 -1
  35. package/dist/scripts/bundle-1335ff3786.min.js.map +0 -1
  36. /package/dist/css/{6375-lite-69960aaab9.chunk.css → 1539-lite-69960aaab9.chunk.css} +0 -0
  37. /package/dist/scripts/{bundle-1335ff3786.min.js.LICENSE.txt → bundle-0f5cfcd378.min.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/9087-48c8bfbc09-lite.chunk.js","mappings":"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","sources":["file:///app/node_modules/@microsoft/immersive-reader-sdk/lib/immersive-reader-sdk.js","file:///app/packages/libs/shared/src/components/immersive-reader/immersive-reader.scss","file:///app/packages/libs/shared/src/components/immersive-reader/ImmersiveReader.tsx","file:///app/packages/libs/shared/src/components/tags/TagHelper.ts","file:///app/packages/libs/shared/src/components/tags/TagItem.tsx","file:///app/packages/libs/shared/src/components/tags/TagList.tsx","file:///app/packages/libs/shared/src/utils/CollectionHelper.ts","file:///app/packages/libs/shared/src/components/video-details/video-details.scss","file:///app/packages/libs/shared/src/components/video-details/VideoDetails.tsx","file:///app/packages/libs/shared/src/components/video-details/VideoDetailsUtils.ts","file:///app/packages/libs/shared/src/constants/MinimumGlanceHeight.ts","file:///app/packages/libs/shared/src/enums/TagType.ts","file:///app/packages/libs/shared/src/components/tags/tags.scss"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ImmersiveReader=t():e.ImmersiveReader=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e[e.Disable=0]=\"Disable\",e[e.Enable=1]=\"Enable\"}(t.CookiePolicy||(t.CookiePolicy={}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(2);t.renderButtons=n.renderButtons;var o=r(3);t.close=o.close,t.launchAsync=o.launchAsync;var i=r(0);t.CookiePolicy=i.CookiePolicy,window.addEventListener(\"load\",(function(){var e,t;window.hasOwnProperty(\"Promise\")||(e=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js\",(t=document.createElement(\"script\")).src=e,document.head.appendChild(t)),n.renderButtons()}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={af:\"Indompelende leser\",am:\"በህያው ስሜት ፈጣሪ ዕይታ አንባቢ\",ar:\"القارئ الشامل\",as:\"ইমাৰচিভ ৰিডাৰ\",az:\"İmmersiv Oxuyucu\",be:\"Імерсіўны чытальнік\",bg:\"Концентриран четец\",bn:\"মনোগ্রাহী পাঠক\",\"bn-bd\":\"ইমার্সিভ পাঠক\",bs:\"Koncentrirani čitalac\",ca:\"Lector immersiu\",cs:\"Asistivní čtečka\",\"cy-gb\":\"Darllenydd Ymdrwythol\",da:\"Forenklet læser\",de:\"Plastischer Reader\",el:\"Προηγμένο πρόγραμμα ανάγνωσης\",en:\"Immersive Reader\",es:\"Lector inmersivo\",et:\"Süvaluger\",eu:\"Irakurgailu murgiltzailea\",fa:\"خواننده همه‌جانبه\",fi:\"Syventävä lukuohjelma\",fil:\"Immersive Reader\",fr:\"Lecteur immersif\",\"ga-ie\":\"Léitheoir tumthach\",gd:\"An leughadair ùr-nòsach\",gl:\"Lector avanzado\",gu:\"ઇમર્સિવ રીડર\",ha:\"Mai karatu Mai barbazawa\",he:\"תצוגת קריאה מודרנית\",hi:\"इमर्सिव रीडर\",hr:\"Stopljeni čitač\",hu:\"Modern olvasó\",hy:\"Խորասուզված ընթերցիչ\",id:\"Pembaca Imersif\",ig:\"Ọgụụ Kenzipụtara\",is:\"Aðgengilegt lestrarumhverfi\",it:\"Strumento di lettura immersiva\",ja:\"イマーシブ リーダー\",ka:\"იმერსიული წამკითხველი\",kk:\"Иммерсивті оқу құралы\",km:\"កម្មវិធីអានពណ៌រំលេចនៅលើអេក្រង់\",kn:\"ಇಮ್ಮರ್ಸಿವ್ ಓದುಗ\",ko:\"몰입형 리더\",kok:\"तंद्री लागिल्लो वाचक\",\"ku-arab\":\"خوێنەری پڕ\",ky:\"Курчаган Окугуч\",lb:\"Immersive Reader\",lo:\"ຕົວອ່ານອິມເມີສີບ\",lt:\"Įtraukianti skaitytuvė\",lv:\"Tīrskata lasītājs\",mi:\"Pūpānui Rumaki\",mk:\"Сеопфатен читач\",ml:\"ഇമ്മേഴ്‌സീവ് റീഡർ\",mn:\"Идэвхтэй уншигч\",mr:\"इमर्सिव्ह वाचक\",ms:\"Pembaca Imersif\",mt:\"Qarrej Immersiv\",ne:\"इमेर्सिभ रिडर\",nl:\"Insluitende lezer\",\"nn-no\":\"Engasjerande lesar\",no:\"Engasjerende leser\",nso:\"Go Bala ka Mongwalo o Mokoto\",or:\"ଇମରସିଭ୍ ରିଡର୍\",pa:\"ਇਮਰਸਿਵ ਰੀਡਰ\",\"pa-arab\":\"گھیرن آلا مطالعہ کار\",pl:\"Czytnik immersyjny\",prs:\"خواننده نمایش\",pt:\"Leitura Avançada\",quc:\"Nim ucholajil sik'inel uwach\",quz:\"Wankisqa Ñawiq\",ro:\"Immersive Reader\",ru:\"Иммерсивное средство чтения\",rw:\"Insakazasoma\",sd:\"امرسو ريڊر\",si:\"ගිලෙන සුළු කියවනය\",sk:\"Imerzná čítačka\",sl:\"Potopni bralnik\",sq:\"Lexuesi kredhës\",\"sr-cyrl-ba\":\"Концентрисани читалац\",\"sr-cyrl-rs\":\"Концентрисани читалац\",\"sr-latn-rs\":\"Koncentrisani čitalac\",sv:\"Avancerad läsare\",sw:\"Kisomaji cha Kuzamisha\",ta:\"அற்புதமான ரீடர்\",te:\"మంత్రముగ్ధులను చేసే పఠన సాధనం\",\"tg-cyrl-tj\":\"Хонандаи фарогир\",th:\"โปรแกรมช่วยอ่าน\",ti:\"ኣንባቢ ሕሉው ስምዒት ፈጣሪ\",tk:\"Giňişleýin okaýjy\",tn:\"Sebadi sa Imesife\",tr:\"Tam Ekran Okuyucu\",tt:\"Чолгап алучы уку чарасы\",\"ug-cn\":\"چۆكمە ئوقۇغۇچ\",uk:\"Занурення в текст\",ur:\"امرسیو مطالعہ کار\",uz:\"Immersiv mutolaa vositasi\",vi:\"Trình đọc Chân thực\",wo:\"Jàngukaay bu Rafet\",xh:\"Isifundi Esikhulu\",yo:\"Ìwò Alámùtán\",zh:\"沉浸式阅读器\",\"zh-hant\":\"沈浸式閱讀程式\",zu:\"Isifundi Sokuzizwisa\"};function o(e){var t=document.createElement(\"img\");t.src=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/immersive-reader-icon.svg\";var r=e.getAttribute(\"data-icon-px-size\")||\"20\";t.style.height=t.style.width=r+\"px\",t.style.verticalAlign=\"middle\",t.style.marginTop=\"-2px\";var n=e.getAttribute(\"data-locale\")||\"en\";t.alt=s(n),e.appendChild(t)}function i(e){var t=document.createElement(\"span\");t.style.marginLeft=\"8px\",e.appendChild(t)}function a(e){var t=document.createElement(\"span\"),r=e.getAttribute(\"data-locale\")||\"en\";t.textContent=s(r),e.appendChild(t)}function s(e){return e=e.toLowerCase(),n[e]?n[e]:\"zh-hk\"===e||\"zh-mo\"===e||\"zh-tw\"===e?n[\"zh-hant\"]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:n.en))}t.renderButtons=function(e){var t=document.createElement(\"style\");t.innerHTML=\".immersive-reader-button{cursor:pointer;display:inline-block;padding:5px;} .immersive-reader-button:hover{background:rgba(0,0,0,.05);border-radius:2px\",document.head.appendChild(t);var r=[].slice.call(document.getElementsByClassName(\"immersive-reader-button\"));e&&e.elements&&(r=e.elements);for(var n=0,u=r;n<u.length;n++){var d=u[n];d.setAttribute(\"role\",\"button\");var l=d.getAttribute(\"data-locale\")||\"en\";switch(d.setAttribute(\"aria-label\",s(l)),d.getAttribute(\"data-button-style\")||\"icon\"){case\"icon\":o(d);break;case\"text\":a(d);break;case\"iconAndText\":o(d),i(d),a(d)}}}},function(e,t,r){\"use strict\";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var o=r(0),i=r(4),a={};function s(e){if(!e)return!1;return new RegExp(\"^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])$\").test(e)}a[i.ErrorCode.TokenExpired]=\"The access token supplied is expired.\",a[i.ErrorCode.Throttled]=\"You have exceeded your quota.\",a[i.ErrorCode.ServerError]=\"An error occurred when calling the server to process the text.\",a[i.ErrorCode.InvalidSubdomain]=\"The subdomain supplied is invalid.\",t.launchAsync=function(e,t,r,u){return new Promise((function(d,l){if(e)if(r)if(r.chunks)if(r.chunks.length)if(s(t)||u&&u.customDomain){var c=Date.now();(u=n({uiZIndex:1e3,timeout:15e3,useWebview:!1,allowFullscreen:!0,hideExitButton:!1,cookiePolicy:o.CookiePolicy.Disable},u)).uiZIndex&&\"number\"==typeof u.uiZIndex||(u.uiZIndex=1e3);var m=null,v=document.createElement(\"div\"),p=u.useWebview?document.createElement(\"webview\"):document.createElement(\"iframe\"),f=document.createElement(\"style\");f.innerHTML=\"body{height:100%;overflow:hidden;}\";var h=function(){m&&(window.clearTimeout(m),m=null)},b=function(){document.body.contains(v)&&document.body.removeChild(v),window.removeEventListener(\"message\",y),h(),f.parentNode&&f.parentNode.removeChild(f)},g=function(){b(),u.onExit&&u.onExit()};b();var y=function(n){if(n&&n.data)if(\"ImmersiveReader-ReadyForContent\"===n.data){h();var o={cogSvcsAccessToken:e,cogSvcsSubdomain:t,request:r,launchToPostMessageSentDurationInMs:Date.now()-c};p.contentWindow.postMessage(JSON.stringify({messageType:\"Content\",messageValue:o}),\"*\")}else if(\"ImmersiveReader-Exit\"===n.data)g();else if(n.data.startsWith(\"ImmersiveReader-LaunchResponse:\")){var s=null,u=null,m=null;try{m=JSON.parse(n.data.substring(\"ImmersiveReader-LaunchResponse:\".length))}catch(e){}m&&m.success?s={container:v,sessionId:m.sessionId}:u=m&&!m.success?{code:m.errorCode,message:a[m.errorCode],sessionId:m.sessionId}:{code:i.ErrorCode.ServerError,message:a[i.ErrorCode.ServerError]},s?(h(),d(s)):u&&(g(),l(u))}};window.addEventListener(\"message\",y),m=window.setTimeout((function(){b(),l({code:i.ErrorCode.Timeout,message:\"Page failed to load after timeout (\"+u.timeout+\" ms)\"})}),u.timeout),u.allowFullscreen&&p.setAttribute(\"allowfullscreen\",\"\"),p.style.cssText=\"position: static; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0\",u.useWebview&&p.addEventListener(\"loadstop\",(function(){p.contentWindow.postMessage(JSON.stringify({messageType:\"WebviewHost\"}),\"*\")}));var k=(u.customDomain?u.customDomain:\"https://\"+t+\".cognitiveservices.azure.com/immersivereader/webapp/v1.0/\")+\"reader?exitCallback=ImmersiveReader-Exit&sdkPlatform=js&sdkVersion=1.0.0\";k+=\"&cookiePolicy=\"+(u.cookiePolicy===o.CookiePolicy.Enable?\"enable\":\"disable\"),u.hideExitButton&&(k+=\"&hideExitButton=true\"),u.uiLang&&(k+=\"&omkt=\"+u.uiLang),p.src=k,v.style.cssText=\"position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0; -webkit-perspective: 1px; z-index: \"+u.uiZIndex+\"; background: white; overflow: hidden\",v.appendChild(p),document.body.appendChild(v),document.head.appendChild(f)}else l({code:i.ErrorCode.InvalidSubdomain,message:a[i.ErrorCode.InvalidSubdomain]});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be empty\"});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Content must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Token must not be null\"})}))},t.close=function(){window.postMessage(\"ImmersiveReader-Exit\",\"*\")},t.isValidSubdomain=s},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e.BadArgument=\"BadArgument\",e.Timeout=\"Timeout\",e.TokenExpired=\"TokenExpired\",e.Throttled=\"Throttled\",e.ServerError=\"ServerError\",e.InvalidSubdomain=\"InvalidSubdomain\"}(t.ErrorCode||(t.ErrorCode={}))}])}));","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"nckQw\"};","import * as React from 'react';\nimport * as ImmersiveReaderSdk from '@microsoft/immersive-reader-sdk';\n\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { ajaxRequest } from 'libs/common/react/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\n\nimport styles from './immersive-reader.scss';\n\n/**\n * Caching stuff globally across all usages of ImmersiveReader\n */\nlet globalImmersiveReader: ImmersiveReaderResponse = null;\nlet fetched = false;\n\nconst namespace = 'shared.immersiveReader';\n\ninterface ImmersiveReaderResponse {\n token: string;\n subdomain: string;\n}\n\ntype ImmersiveReaderProps = PropsWithAnalyticsOptions<{\n text: string;\n title?: string;\n className?: string;\n onLaunch?: () => void;\n onExit?: () => void;\n\n analyticsData: {\n id: string;\n type: string\n },\n html?: boolean\n}>;\n\nexport function ImmersiveReader(props: ImmersiveReaderProps): JSX.Element {\n const [ immersiveReader, setImmersiveReader ] = React.useState(globalImmersiveReader);\n\n if (!globalImmersiveReader && !fetched) {\n fetched = true;\n ajaxRequest({\n resource: '/api/integrations/token/immersive-reader',\n type: HttpVerbs.GET,\n success: onFetched,\n error: () => {}\n });\n }\n\n function onFetched(data: ImmersiveReaderResponse): void {\n globalImmersiveReader = data;\n setImmersiveReader(data);\n window.setTimeout(() => {\n globalImmersiveReader = null;\n fetched = false;\n }, 900000); // 15 minutes\n }\n\n if (!immersiveReader)\n return <></>;\n\n if (!props.title)\n props.title = LanguageService.getPhrase(namespace, 'titleFallback');\n\n function launchImmersiveReader(): void {\n if (FunctionHelper.isFunction(props.onLaunch))\n props.onLaunch();\n\n AnalyticsHelper.logUserAction(props.analyticsData, props.analyticsOptions);\n\n const content = {\n title: props.title,\n chunks: [{\n content: props.text,\n mimeType: props.html ? 'text/html' : 'text/plain'\n }]\n };\n\n const { subdomain, token } = immersiveReader;\n\n const options = {\n uiZIndex: 5000, // Should always appear above our content\n onExit: () => {\n if (FunctionHelper.isFunction(props.onExit))\n props.onExit();\n }\n };\n\n ImmersiveReaderSdk.launchAsync(token, subdomain, content, options);\n }\n\n return (\n <span className={`${styles.button} ${props.className || ''}`} onClick={launchImmersiveReader}>\n <svg viewBox='0 0 40 37'>\n <path d='M37.4,0.9 L37.4,9.6 L35.4,9.6 L35.4,2.9 L24.4,2.9 C22.9,3.3 20,4.5 20,6 L20,17.2 L18,17.2 L18,6 C18,5 15.6,3.6 13.8,2.9 L2,2.9 L2,29 L12.4,29 L12.4,31 L0,31 L0,0.9 L14.1,0.9 L14.3,1 C15,1.2 17.5,2.2 18.9,3.7 C20.5,1.9 23.5,1.1 23.9,1 L24.1,1 L37.4,1 L37.4,0.9 Z' fill='#000000'></path>\n <path d='M27.4,37 L25.8,37 L18.4,29.4 L14,29.4 L14,21 L18.4,20.9 L26.1,13 L27.4,13 L27.4,37 Z M16,27.4 L19.2,27.4 L25.3,33.7 L25.3,16.6 L19.2,22.9 L15.9,22.9 L15.9,27.4 L16,27.4 Z' fill='#0197F2'></path>\n <path d='M31.3,32.7 L29.6,31.7 C29.6,31.7 31.7,28.3 31.7,25.2 C31.7,21.9 29.6,18.5 29.6,18.4 L31.3,17.4 C31.4,17.6 33.7,21.3 33.7,25.2 C33.7,28.8 31.4,32.6 31.3,32.7 Z' fill='#0197F2'></path>\n <path d='M36.4,36.2 L34.8,35 C34.8,35 38,30.8 38,25.2 C38,19.6 34.8,15.4 34.8,15.4 L36.4,14.2 C36.5,14.4 40,19 40,25.3 C40,31.5 36.5,36 36.4,36.2 Z' fill='#0197F2'></path>\n </svg>\n </span>\n );\n}","import { Core } from 'libs/common/core';\n\nimport { Tag } from 'libs/shared/interfaces';\n\nexport const TagHelper = {\n /**\n * This helper allows tag appLinks to be triggered manually for use in a public context.\n * \n * For public pages, all anchors will be crawled by bots. Given then number of tags we have\n * this will chew through crawl budget unnecessarily. \n * \n * The consuming project can opt-in for this behaviour. By default, tags will always be rendered\n * as anchors.\n */\n getTagActionProps: (getTagAppLink: (tag: Tag) => Core.AppLink, renderAsSpan?: boolean) => {\n if (renderAsSpan) {\n return {\n onClick: (tag: Tag) => {\n const appLink = getTagAppLink ? getTagAppLink(tag) : null;\n\n if (!appLink)\n return;\n\n return Core.AppLinkHelper.trigger(appLink);\n }\n };\n }\n\n return {\n getAppLink: (tag: Tag) => {\n return getTagAppLink\n ? getTagAppLink(tag)\n : null;\n }\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag';\n\n case TagType.Normal:\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n let classNames = `rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType)}`;\n\n const hasThemeColour = tagType === TagType.Normal && !!props.themeColours?.secondary;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove)\n classNames += ' ' + styles.badge;\n\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <span\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </span>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { TagItem } from 'libs/shared/components/tags/TagItem';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\n/**\n * TODO: this will eventually handle ClickView and Customer tag types.\n */\nfunction getTagSortValue(tag: Tag): number {\n switch (tag.tagType?.toLowerCase()) {\n case TagType.Pedagogy:\n return 0;\n\n case TagType.Skill:\n return 1;\n\n default:\n return 2;\n }\n}\n\ninterface TagListProps {\n tags: Tag[];\n themeColours?: ThemeColours;\n onClick?: (tag: Tag) => void;\n onRemove?: (tag: Tag) => void;\n getAppLink?: (tag: Tag) => Core.AppLink;\n className?: string;\n}\n\nexport function TagList(props: TagListProps): JSX.Element {\n if (!props.tags)\n return <></>;\n\n const sortedTags = [...props.tags].sort((a, b) => getTagSortValue(a) - getTagSortValue(b));\n\n return (\n <div className={`${styles.tagList} ${props.className}`}>\n {sortedTags.map((tag: Tag) => {\n const appLink = typeof props.getAppLink === 'function'\n ? props.getAppLink(tag)\n : null;\n\n const onRemove = typeof props.onRemove === 'function'\n ? () => props.onRemove(tag)\n : null;\n\n const onClick = typeof props.onClick === 'function'\n ? () => props.onClick(tag)\n : null;\n\n return (\n <TagItem\n key={tag.id || tag.name}\n tag={tag}\n appLink={appLink}\n themeColours={props.themeColours}\n onRemove={onRemove}\n onClick={onClick}\n />\n );\n })}\n </div>\n );\n}","import { Cursors, LegacyPagination } from 'libs/common/backbone/interfaces';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TypeHelper } from 'libs/common/react/utils/TypeHelper';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\ninterface LegacyPaginatedCollection {\n data: BaseObject[];\n pagination: LegacyPagination;\n}\n\nfunction convertLegacyPaginationToCursors(pagination: LegacyPagination): Cursors {\n const { page, totalPages } = pagination;\n\n const nextPage = TypeHelper.isNumber(page) && page > 0 && page < totalPages && page + 1;\n const prevPage = TypeHelper.isNumber(page) && page > 1 && page - 1;\n\n const cursors: HashObject = {};\n\n if (nextPage && nextPage <= totalPages)\n cursors.next = nextPage.toString();\n\n if (prevPage)\n cursors.previous = prevPage.toString();\n\n if (ObjectHelper.isEmpty(cursors))\n return;\n\n return cursors as Cursors;\n}\n\nexport const CollectionHelper = {\n isEmpty(collection: BasePaginatedCollection<BaseObject>): boolean {\n return collection && !(collection.data && collection.data.length);\n },\n\n length(collection: BasePaginatedCollection<BaseObject>): number {\n return collection && collection.data && collection.data.length;\n },\n\n at<T extends BaseObject>(collection: BasePaginatedCollection<T>, idx: number): T {\n if (!collection || !collection.data || !collection.data.length || idx > collection.data.length)\n return;\n\n return collection.data[idx];\n },\n\n get<T extends BaseObject>(collection: BasePaginatedCollection<T>, id: string): T {\n if (!collection || !collection.data || !collection.data.length)\n return;\n\n return collection.data.find(c => c.id && c.id.toString() === id);\n },\n\n flattenCollections<T extends BaseObject, U extends BasePaginatedCollection<T>>(collections: U[]): T[] {\n if (!collections || !collections.length)\n return;\n\n let flattened: T[] = [];\n\n collections.forEach(c => {\n flattened = [ ...flattened, ...c.data ];\n });\n\n return flattened;\n },\n\n getNextCursor<T extends BaseObject, U extends BasePaginatedCollection<T>>(collection: U): string {\n return collection.pagination && collection.pagination.cursors && collection.pagination.cursors.next;\n },\n\n convertLegacyPaginatedCollection(collection: LegacyPaginatedCollection): BasePaginatedCollection<BaseObject> {\n if (!collection)\n return;\n\n return {\n data: collection.data,\n pagination: {\n cursors: convertLegacyPaginationToCursors(collection.pagination),\n limit: collection.pagination.pageSize\n }\n };\n },\n\n hasData(collection: BasePaginatedCollection<BaseObject>): boolean {\n return !CollectionHelper.isEmpty(collection);\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"closeButton\":\"ZwHXo\",\"descriptionBorder\":\"J_Z5i\"};","import * as React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ImmersiveReader } from 'libs/shared/components/immersive-reader/ImmersiveReader';\nimport { TagHelper } from 'libs/shared/components/tags/TagHelper';\nimport { TagList } from 'libs/shared/components/tags/TagList';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MINIMUM_GLANCE_HEIGHT } from 'libs/shared/constants/MinimumGlanceHeight';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { BaseObject, BasePaginatedCollection, Tag, Theme, ThemeColours, VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { hasPPDD } from './VideoDetailsUtils';\n\nimport styles from './video-details.scss';\n\nconst namespace = 'shared.videoDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CommaListProps {\n label: string;\n items: BasePaginatedCollection<BaseObject>;\n className?: string;\n}\n\nfunction CommaList(props: CommaListProps): React.ReactElement {\n const { label, items, className } = props;\n\n const hasItems = items && items.data && items.data.length;\n\n if (!hasItems)\n return <></>;\n\n const commaSeperated = items.data.map(i => i.name).join(', ');\n\n return (\n <div className={className}>{label}: {commaSeperated}</div>\n );\n}\n\nfunction getThemeColours(theme: Theme): ThemeColours {\n if (theme?.data?.colours?.primary && theme?.data?.colours?.secondary)\n return theme.data.colours;\n}\n\nfunction DetailsSection(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video } = props;\n\n if (!VideoHelper.isVideo(video) && !VideoHelper.isClip(video))\n return <></>;\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n return (\n <div className={video.description ? 'col-md-5 ps-md-3 pt-3 pt-md-0' : 'col-12'}>\n <h2 className='h6 mb-1'><Text phrase='details' /></h2>\n {!!parentVideo.productionYear && (\n <div className='mb-1'>\n <Text phrase='productionYear' options={{ year: parentVideo.productionYear }} />\n </div>\n )}\n <CommaList\n label={getPhrase('productionCompanies', { smartCount: parentVideo.productionCompanies?.data?.length })}\n items={parentVideo.productionCompanies}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('distributors', { smartCount: parentVideo.distributors?.data?.length })}\n items={parentVideo.distributors}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('producers', { smartCount: parentVideo.producers?.data?.length })}\n items={parentVideo.producers}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('directors', { smartCount: parentVideo.directors?.data?.length })}\n items={parentVideo.directors}\n className='mb-1'\n />\n {!!parentVideo.dateBroadcast && (\n <div className='mb-1'>\n <Text phrase='dateBroadcast' options={{ date: DateHelper.format(parentVideo.dateBroadcast, 'DD/MM/YYYY') }} />\n </div>\n )}\n {!!parentVideo.channel && (\n <div className='mb-1'>\n <Text phrase='channel' options={{ channel: parentVideo.channel.name }} />\n </div>\n )}\n {!!(!video._isClickViewCurated?.value && video.dateCreated) && (\n <div className='mb-1'>\n <Text phrase='dateUploaded' options={{ date: DateHelper.format(video.dateCreated, 'DD/MM/YYYY') }} />\n </div>\n )}\n </div>\n );\n}\n\ninterface VideoDetailsWithScrollbarProps {\n video: VideoTypes;\n theme?: Theme;\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n onLaunchImmersiveReader?: () => void;\n onExitImmersiveReader?: () => void;\n maxHeight?: number;\n suppressInteractivity?: boolean;\n hideTags?: boolean;\n}\n\nexport function VideoDetailsWithScrollbar(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video, maxHeight = MINIMUM_GLANCE_HEIGHT } = props;\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n const showDescription = !!props.video.description;\n\n const showDetails = (\n hasPPDD(props.video) ||\n !!parentVideo.productionYear ||\n !!parentVideo.dateBroadcast ||\n !!parentVideo.channel ||\n !!(video.dateCreated && !video._isClickViewCurated?.value)\n );\n\n if (!showDescription && !showDetails)\n return <></>;\n\n function getTags(): Tag[] {\n if (props.hideTags || VideoHelper.isInteractive(props.video) || !props.video.tags?.data?.length)\n return null;\n\n return props.video.tags?.data?.filter(tag => tag.tagType === TagType.Normal);\n }\n const tags = getTags();\n const themeColours = getThemeColours(props.theme);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div>\n <h2 className='h5 mb-2'> <Text phrase='heading' /></h2>\n </div>\n <div className='rounded border p-3 mb-3 position-relative'>\n <Scrollbars autoHeight autoHeightMax={maxHeight}>\n <div className='row g-0'>\n {showDescription && (\n <div className={showDetails ? `${styles.descriptionBorder} pe-3 col-md-7` : 'col-12'}>\n <div className='d-flex align-items-center'>\n <h2 className='h6 mb-1'>\n <Text phrase='description' />\n </h2>\n <ImmersiveReader\n text={video.description}\n title={video.name}\n className='ps-2'\n onLaunch={props.onLaunchImmersiveReader}\n onExit={props.onExitImmersiveReader}\n analyticsOptions={{\n location: LocationContext.PlayPage,\n entity: EntityType.Video,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.LaunchImmersiveReader\n }}\n analyticsData={{ id: video.id, type: 'description' }}\n />\n </div>\n <p className='mb-0' dangerouslySetInnerHTML={{ __html: LinkifyHelper.linkifyText(props.video.description, { nl2br: true }) }} />\n </div>\n )}\n\n {showDetails && (\n <DetailsSection {...props} />\n )}\n </div>\n\n {!!tags?.length && (\n <div className='mt-3'>\n <h2 className='h6 mb-1'><Text phrase='normalTags' /></h2>\n <TagList\n tags={tags}\n themeColours={themeColours}\n {...TagHelper.getTagActionProps(props.getTagAppLink, props.suppressInteractivity)}\n className='mt-1'\n />\n </div>\n )}\n \n </Scrollbars>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { Video, VideoTypes } from 'libs/shared/interfaces';\nimport { CollectionHelper } from 'libs/shared/utils/CollectionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nfunction getVideo(media: VideoTypes): Video {\n if (VideoHelper.isVideo(media))\n return media;\n\n if (VideoHelper.isClip(media))\n return media._parentVideo;\n\n // For interactives, we don't display PPDD info\n return null;\n}\n\nexport function hasPPDD(media: VideoTypes): boolean {\n const hasData = CollectionHelper.hasData;\n\n const video = getVideo(media);\n\n if (!video)\n return false;\n\n return hasData(video.productionCompanies) ||\n hasData(video.producers) ||\n hasData(video.distributors) ||\n hasData(video.directors);\n}","// 368 is the min height of Video at a glance which is defined as $glanceHeight in synopsis.scss\nexport const MINIMUM_GLANCE_HEIGHT = 368; // px","export enum TagType {\n Normal = 'normal',\n Pedagogy = 'pedagogy',\n Hidden = 'hidden',\n Skill = 'skill',\n Curation = 'curation'\n}\n\n/**\n * This should **only** be used to create new tags in master (as it only accepts enum values).\n * Use the string enum above for all other cases.\n */\nexport enum TagTypeNumber {\n Normal = 0,\n Pedagogy = 1,\n Hidden = 2,\n Skill = 3,\n Curation = 4\n}","// extracted by mini-css-extract-plugin\nexport default {\"tagList\":\"Zw6d9\",\"disabled\":\"jlL1c\",\"partialTag\":\"too_N\",\"badge\":\"OjtN8\",\"close\":\"X9joI\"};"],"names":["window","module","exports","e","t","r","n","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","Disable","Enable","CookiePolicy","renderButtons","close","launchAsync","addEventListener","document","createElement","src","head","appendChild","af","am","ar","as","az","be","bg","bn","bs","ca","cs","da","de","el","en","es","et","eu","fa","fi","fil","fr","gd","gl","gu","ha","he","hi","hr","hu","hy","id","ig","is","it","ja","ka","kk","km","kn","ko","kok","ky","lb","lo","lt","lv","mi","mk","ml","mn","mr","ms","mt","ne","nl","no","nso","or","pa","pl","prs","pt","quc","quz","ro","ru","rw","sd","si","sk","sl","sq","sv","sw","ta","te","th","ti","tk","tn","tr","tt","uk","ur","uz","vi","wo","xh","yo","zh","zu","getAttribute","style","height","width","verticalAlign","marginTop","alt","marginLeft","a","textContent","toLowerCase","substring","lastIndexOf","innerHTML","slice","getElementsByClassName","elements","u","length","setAttribute","this","__assign","assign","arguments","apply","RegExp","test","ErrorCode","TokenExpired","Throttled","ServerError","InvalidSubdomain","Promise","chunks","customDomain","Date","now","uiZIndex","timeout","useWebview","allowFullscreen","hideExitButton","cookiePolicy","v","f","h","clearTimeout","b","body","contains","removeChild","removeEventListener","y","parentNode","g","onExit","data","cogSvcsAccessToken","cogSvcsSubdomain","request","launchToPostMessageSentDurationInMs","contentWindow","postMessage","JSON","stringify","messageType","messageValue","startsWith","parse","success","container","sessionId","code","errorCode","message","setTimeout","Timeout","cssText","k","uiLang","BadArgument","isValidSubdomain","globalImmersiveReader","fetched","namespace","ImmersiveReader","props","immersiveReader","setImmersiveReader","ajaxRequest","resource","type","HttpVerbs","error","title","LanguageService","className","onClick","FunctionHelper","onLaunch","AnalyticsHelper","analyticsData","analyticsOptions","content","text","mimeType","html","subdomain","token","options","viewBox","fill","TagHelper","getTagActionProps","getTagAppLink","renderAsSpan","tag","appLink","getAppLink","TagItem","disabled","tagClass","name","tagType","classNames","getTagTypeClass","hasThemeColour","themeColours","secondary","onRemove","backgroundColor","role","getTagSortValue","TagList","tags","sortedTags","sort","map","key","convertLegacyPaginationToCursors","pagination","page","totalPages","nextPage","TypeHelper","prevPage","cursors","next","toString","previous","ObjectHelper","CollectionHelper","isEmpty","collection","at","idx","find","flattenCollections","collections","flattened","forEach","getNextCursor","convertLegacyPaginatedCollection","limit","pageSize","hasData","getPhrase","CommaList","label","items","commaSeperated","join","DetailsSection","video","VideoHelper","parentVideo","description","Text","phrase","productionYear","year","smartCount","productionCompanies","distributors","producers","directors","dateBroadcast","date","DateHelper","channel","_isClickViewCurated","dateCreated","VideoDetailsWithScrollbar","maxHeight","showDescription","showDetails","media","_parentVideo","getVideo","hasPPDD","hideTags","filter","TagType","getTags","theme","colours","primary","getThemeColours","autoHeight","autoHeightMax","onLaunchImmersiveReader","onExitImmersiveReader","location","entity","actionType","descriptor","dangerouslySetInnerHTML","__html","LinkifyHelper","nl2br","suppressInteractivity","MINIMUM_GLANCE_HEIGHT","TagTypeNumber"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/9087-55e2aad6ad-lite.chunk.js","mappings":"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","sources":["file:///app/node_modules/@microsoft/immersive-reader-sdk/lib/immersive-reader-sdk.js","file:///app/packages/libs/shared/src/components/immersive-reader/immersive-reader.scss","file:///app/packages/libs/shared/src/components/immersive-reader/ImmersiveReader.tsx","file:///app/packages/libs/shared/src/components/tags/TagHelper.ts","file:///app/packages/libs/shared/src/components/tags/TagItem.tsx","file:///app/packages/libs/shared/src/components/tags/TagList.tsx","file:///app/packages/libs/shared/src/utils/CollectionHelper.ts","file:///app/packages/libs/shared/src/components/video-details/video-details.scss","file:///app/packages/libs/shared/src/components/video-details/VideoDetails.tsx","file:///app/packages/libs/shared/src/components/video-details/VideoDetailsUtils.ts","file:///app/packages/libs/shared/src/constants/MinimumGlanceHeight.ts","file:///app/packages/libs/shared/src/enums/TagType.ts","file:///app/packages/libs/shared/src/components/tags/tags.scss"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ImmersiveReader=t():e.ImmersiveReader=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e[e.Disable=0]=\"Disable\",e[e.Enable=1]=\"Enable\"}(t.CookiePolicy||(t.CookiePolicy={}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(2);t.renderButtons=n.renderButtons;var o=r(3);t.close=o.close,t.launchAsync=o.launchAsync;var i=r(0);t.CookiePolicy=i.CookiePolicy,window.addEventListener(\"load\",(function(){var e,t;window.hasOwnProperty(\"Promise\")||(e=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js\",(t=document.createElement(\"script\")).src=e,document.head.appendChild(t)),n.renderButtons()}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={af:\"Indompelende leser\",am:\"በህያው ስሜት ፈጣሪ ዕይታ አንባቢ\",ar:\"القارئ الشامل\",as:\"ইমাৰচিভ ৰিডাৰ\",az:\"İmmersiv Oxuyucu\",be:\"Імерсіўны чытальнік\",bg:\"Концентриран четец\",bn:\"মনোগ্রাহী পাঠক\",\"bn-bd\":\"ইমার্সিভ পাঠক\",bs:\"Koncentrirani čitalac\",ca:\"Lector immersiu\",cs:\"Asistivní čtečka\",\"cy-gb\":\"Darllenydd Ymdrwythol\",da:\"Forenklet læser\",de:\"Plastischer Reader\",el:\"Προηγμένο πρόγραμμα ανάγνωσης\",en:\"Immersive Reader\",es:\"Lector inmersivo\",et:\"Süvaluger\",eu:\"Irakurgailu murgiltzailea\",fa:\"خواننده همه‌جانبه\",fi:\"Syventävä lukuohjelma\",fil:\"Immersive Reader\",fr:\"Lecteur immersif\",\"ga-ie\":\"Léitheoir tumthach\",gd:\"An leughadair ùr-nòsach\",gl:\"Lector avanzado\",gu:\"ઇમર્સિવ રીડર\",ha:\"Mai karatu Mai barbazawa\",he:\"תצוגת קריאה מודרנית\",hi:\"इमर्सिव रीडर\",hr:\"Stopljeni čitač\",hu:\"Modern olvasó\",hy:\"Խորասուզված ընթերցիչ\",id:\"Pembaca Imersif\",ig:\"Ọgụụ Kenzipụtara\",is:\"Aðgengilegt lestrarumhverfi\",it:\"Strumento di lettura immersiva\",ja:\"イマーシブ リーダー\",ka:\"იმერსიული წამკითხველი\",kk:\"Иммерсивті оқу құралы\",km:\"កម្មវិធីអានពណ៌រំលេចនៅលើអេក្រង់\",kn:\"ಇಮ್ಮರ್ಸಿವ್ ಓದುಗ\",ko:\"몰입형 리더\",kok:\"तंद्री लागिल्लो वाचक\",\"ku-arab\":\"خوێنەری پڕ\",ky:\"Курчаган Окугуч\",lb:\"Immersive Reader\",lo:\"ຕົວອ່ານອິມເມີສີບ\",lt:\"Įtraukianti skaitytuvė\",lv:\"Tīrskata lasītājs\",mi:\"Pūpānui Rumaki\",mk:\"Сеопфатен читач\",ml:\"ഇമ്മേഴ്‌സീവ് റീഡർ\",mn:\"Идэвхтэй уншигч\",mr:\"इमर्सिव्ह वाचक\",ms:\"Pembaca Imersif\",mt:\"Qarrej Immersiv\",ne:\"इमेर्सिभ रिडर\",nl:\"Insluitende lezer\",\"nn-no\":\"Engasjerande lesar\",no:\"Engasjerende leser\",nso:\"Go Bala ka Mongwalo o Mokoto\",or:\"ଇମରସିଭ୍ ରିଡର୍\",pa:\"ਇਮਰਸਿਵ ਰੀਡਰ\",\"pa-arab\":\"گھیرن آلا مطالعہ کار\",pl:\"Czytnik immersyjny\",prs:\"خواننده نمایش\",pt:\"Leitura Avançada\",quc:\"Nim ucholajil sik'inel uwach\",quz:\"Wankisqa Ñawiq\",ro:\"Immersive Reader\",ru:\"Иммерсивное средство чтения\",rw:\"Insakazasoma\",sd:\"امرسو ريڊر\",si:\"ගිලෙන සුළු කියවනය\",sk:\"Imerzná čítačka\",sl:\"Potopni bralnik\",sq:\"Lexuesi kredhës\",\"sr-cyrl-ba\":\"Концентрисани читалац\",\"sr-cyrl-rs\":\"Концентрисани читалац\",\"sr-latn-rs\":\"Koncentrisani čitalac\",sv:\"Avancerad läsare\",sw:\"Kisomaji cha Kuzamisha\",ta:\"அற்புதமான ரீடர்\",te:\"మంత్రముగ్ధులను చేసే పఠన సాధనం\",\"tg-cyrl-tj\":\"Хонандаи фарогир\",th:\"โปรแกรมช่วยอ่าน\",ti:\"ኣንባቢ ሕሉው ስምዒት ፈጣሪ\",tk:\"Giňişleýin okaýjy\",tn:\"Sebadi sa Imesife\",tr:\"Tam Ekran Okuyucu\",tt:\"Чолгап алучы уку чарасы\",\"ug-cn\":\"چۆكمە ئوقۇغۇچ\",uk:\"Занурення в текст\",ur:\"امرسیو مطالعہ کار\",uz:\"Immersiv mutolaa vositasi\",vi:\"Trình đọc Chân thực\",wo:\"Jàngukaay bu Rafet\",xh:\"Isifundi Esikhulu\",yo:\"Ìwò Alámùtán\",zh:\"沉浸式阅读器\",\"zh-hant\":\"沈浸式閱讀程式\",zu:\"Isifundi Sokuzizwisa\"};function o(e){var t=document.createElement(\"img\");t.src=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/immersive-reader-icon.svg\";var r=e.getAttribute(\"data-icon-px-size\")||\"20\";t.style.height=t.style.width=r+\"px\",t.style.verticalAlign=\"middle\",t.style.marginTop=\"-2px\";var n=e.getAttribute(\"data-locale\")||\"en\";t.alt=s(n),e.appendChild(t)}function i(e){var t=document.createElement(\"span\");t.style.marginLeft=\"8px\",e.appendChild(t)}function a(e){var t=document.createElement(\"span\"),r=e.getAttribute(\"data-locale\")||\"en\";t.textContent=s(r),e.appendChild(t)}function s(e){return e=e.toLowerCase(),n[e]?n[e]:\"zh-hk\"===e||\"zh-mo\"===e||\"zh-tw\"===e?n[\"zh-hant\"]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:n.en))}t.renderButtons=function(e){var t=document.createElement(\"style\");t.innerHTML=\".immersive-reader-button{cursor:pointer;display:inline-block;padding:5px;} .immersive-reader-button:hover{background:rgba(0,0,0,.05);border-radius:2px\",document.head.appendChild(t);var r=[].slice.call(document.getElementsByClassName(\"immersive-reader-button\"));e&&e.elements&&(r=e.elements);for(var n=0,u=r;n<u.length;n++){var d=u[n];d.setAttribute(\"role\",\"button\");var l=d.getAttribute(\"data-locale\")||\"en\";switch(d.setAttribute(\"aria-label\",s(l)),d.getAttribute(\"data-button-style\")||\"icon\"){case\"icon\":o(d);break;case\"text\":a(d);break;case\"iconAndText\":o(d),i(d),a(d)}}}},function(e,t,r){\"use strict\";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var o=r(0),i=r(4),a={};function s(e){if(!e)return!1;return new RegExp(\"^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])$\").test(e)}a[i.ErrorCode.TokenExpired]=\"The access token supplied is expired.\",a[i.ErrorCode.Throttled]=\"You have exceeded your quota.\",a[i.ErrorCode.ServerError]=\"An error occurred when calling the server to process the text.\",a[i.ErrorCode.InvalidSubdomain]=\"The subdomain supplied is invalid.\",t.launchAsync=function(e,t,r,u){return new Promise((function(d,l){if(e)if(r)if(r.chunks)if(r.chunks.length)if(s(t)||u&&u.customDomain){var c=Date.now();(u=n({uiZIndex:1e3,timeout:15e3,useWebview:!1,allowFullscreen:!0,hideExitButton:!1,cookiePolicy:o.CookiePolicy.Disable},u)).uiZIndex&&\"number\"==typeof u.uiZIndex||(u.uiZIndex=1e3);var m=null,v=document.createElement(\"div\"),p=u.useWebview?document.createElement(\"webview\"):document.createElement(\"iframe\"),f=document.createElement(\"style\");f.innerHTML=\"body{height:100%;overflow:hidden;}\";var h=function(){m&&(window.clearTimeout(m),m=null)},b=function(){document.body.contains(v)&&document.body.removeChild(v),window.removeEventListener(\"message\",y),h(),f.parentNode&&f.parentNode.removeChild(f)},g=function(){b(),u.onExit&&u.onExit()};b();var y=function(n){if(n&&n.data)if(\"ImmersiveReader-ReadyForContent\"===n.data){h();var o={cogSvcsAccessToken:e,cogSvcsSubdomain:t,request:r,launchToPostMessageSentDurationInMs:Date.now()-c};p.contentWindow.postMessage(JSON.stringify({messageType:\"Content\",messageValue:o}),\"*\")}else if(\"ImmersiveReader-Exit\"===n.data)g();else if(n.data.startsWith(\"ImmersiveReader-LaunchResponse:\")){var s=null,u=null,m=null;try{m=JSON.parse(n.data.substring(\"ImmersiveReader-LaunchResponse:\".length))}catch(e){}m&&m.success?s={container:v,sessionId:m.sessionId}:u=m&&!m.success?{code:m.errorCode,message:a[m.errorCode],sessionId:m.sessionId}:{code:i.ErrorCode.ServerError,message:a[i.ErrorCode.ServerError]},s?(h(),d(s)):u&&(g(),l(u))}};window.addEventListener(\"message\",y),m=window.setTimeout((function(){b(),l({code:i.ErrorCode.Timeout,message:\"Page failed to load after timeout (\"+u.timeout+\" ms)\"})}),u.timeout),u.allowFullscreen&&p.setAttribute(\"allowfullscreen\",\"\"),p.style.cssText=\"position: static; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0\",u.useWebview&&p.addEventListener(\"loadstop\",(function(){p.contentWindow.postMessage(JSON.stringify({messageType:\"WebviewHost\"}),\"*\")}));var k=(u.customDomain?u.customDomain:\"https://\"+t+\".cognitiveservices.azure.com/immersivereader/webapp/v1.0/\")+\"reader?exitCallback=ImmersiveReader-Exit&sdkPlatform=js&sdkVersion=1.0.0\";k+=\"&cookiePolicy=\"+(u.cookiePolicy===o.CookiePolicy.Enable?\"enable\":\"disable\"),u.hideExitButton&&(k+=\"&hideExitButton=true\"),u.uiLang&&(k+=\"&omkt=\"+u.uiLang),p.src=k,v.style.cssText=\"position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0; -webkit-perspective: 1px; z-index: \"+u.uiZIndex+\"; background: white; overflow: hidden\",v.appendChild(p),document.body.appendChild(v),document.head.appendChild(f)}else l({code:i.ErrorCode.InvalidSubdomain,message:a[i.ErrorCode.InvalidSubdomain]});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be empty\"});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Content must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Token must not be null\"})}))},t.close=function(){window.postMessage(\"ImmersiveReader-Exit\",\"*\")},t.isValidSubdomain=s},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e.BadArgument=\"BadArgument\",e.Timeout=\"Timeout\",e.TokenExpired=\"TokenExpired\",e.Throttled=\"Throttled\",e.ServerError=\"ServerError\",e.InvalidSubdomain=\"InvalidSubdomain\"}(t.ErrorCode||(t.ErrorCode={}))}])}));","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"nckQw\"};","import * as React from 'react';\nimport * as ImmersiveReaderSdk from '@microsoft/immersive-reader-sdk';\n\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { ajaxRequest } from 'libs/common/react/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\n\nimport styles from './immersive-reader.scss';\n\n/**\n * Caching stuff globally across all usages of ImmersiveReader\n */\nlet globalImmersiveReader: ImmersiveReaderResponse = null;\nlet fetched = false;\n\nconst namespace = 'shared.immersiveReader';\n\ninterface ImmersiveReaderResponse {\n token: string;\n subdomain: string;\n}\n\ntype ImmersiveReaderProps = PropsWithAnalyticsOptions<{\n text: string;\n title?: string;\n className?: string;\n onLaunch?: () => void;\n onExit?: () => void;\n\n analyticsData: {\n id: string;\n type: string\n },\n html?: boolean\n}>;\n\nexport function ImmersiveReader(props: ImmersiveReaderProps): JSX.Element {\n const [ immersiveReader, setImmersiveReader ] = React.useState(globalImmersiveReader);\n\n if (!globalImmersiveReader && !fetched) {\n fetched = true;\n ajaxRequest({\n resource: '/api/integrations/token/immersive-reader',\n type: HttpVerbs.GET,\n success: onFetched,\n error: () => {}\n });\n }\n\n function onFetched(data: ImmersiveReaderResponse): void {\n globalImmersiveReader = data;\n setImmersiveReader(data);\n window.setTimeout(() => {\n globalImmersiveReader = null;\n fetched = false;\n }, 900000); // 15 minutes\n }\n\n if (!immersiveReader)\n return <></>;\n\n if (!props.title)\n props.title = LanguageService.getPhrase(namespace, 'titleFallback');\n\n function launchImmersiveReader(): void {\n if (FunctionHelper.isFunction(props.onLaunch))\n props.onLaunch();\n\n AnalyticsHelper.logUserAction(props.analyticsData, props.analyticsOptions);\n\n const content = {\n title: props.title,\n chunks: [{\n content: props.text,\n mimeType: props.html ? 'text/html' : 'text/plain'\n }]\n };\n\n const { subdomain, token } = immersiveReader;\n\n const options = {\n uiZIndex: 5000, // Should always appear above our content\n onExit: () => {\n if (FunctionHelper.isFunction(props.onExit))\n props.onExit();\n }\n };\n\n ImmersiveReaderSdk.launchAsync(token, subdomain, content, options);\n }\n\n return (\n <span className={`${styles.button} ${props.className || ''}`} onClick={launchImmersiveReader}>\n <svg viewBox='0 0 40 37'>\n <path d='M37.4,0.9 L37.4,9.6 L35.4,9.6 L35.4,2.9 L24.4,2.9 C22.9,3.3 20,4.5 20,6 L20,17.2 L18,17.2 L18,6 C18,5 15.6,3.6 13.8,2.9 L2,2.9 L2,29 L12.4,29 L12.4,31 L0,31 L0,0.9 L14.1,0.9 L14.3,1 C15,1.2 17.5,2.2 18.9,3.7 C20.5,1.9 23.5,1.1 23.9,1 L24.1,1 L37.4,1 L37.4,0.9 Z' fill='#000000'></path>\n <path d='M27.4,37 L25.8,37 L18.4,29.4 L14,29.4 L14,21 L18.4,20.9 L26.1,13 L27.4,13 L27.4,37 Z M16,27.4 L19.2,27.4 L25.3,33.7 L25.3,16.6 L19.2,22.9 L15.9,22.9 L15.9,27.4 L16,27.4 Z' fill='#0197F2'></path>\n <path d='M31.3,32.7 L29.6,31.7 C29.6,31.7 31.7,28.3 31.7,25.2 C31.7,21.9 29.6,18.5 29.6,18.4 L31.3,17.4 C31.4,17.6 33.7,21.3 33.7,25.2 C33.7,28.8 31.4,32.6 31.3,32.7 Z' fill='#0197F2'></path>\n <path d='M36.4,36.2 L34.8,35 C34.8,35 38,30.8 38,25.2 C38,19.6 34.8,15.4 34.8,15.4 L36.4,14.2 C36.5,14.4 40,19 40,25.3 C40,31.5 36.5,36 36.4,36.2 Z' fill='#0197F2'></path>\n </svg>\n </span>\n );\n}","import { Core } from 'libs/common/core';\n\nimport { Tag } from 'libs/shared/interfaces';\n\nexport const TagHelper = {\n /**\n * This helper allows tag appLinks to be triggered manually for use in a public context.\n * \n * For public pages, all anchors will be crawled by bots. Given then number of tags we have\n * this will chew through crawl budget unnecessarily. \n * \n * The consuming project can opt-in for this behaviour. By default, tags will always be rendered\n * as anchors.\n */\n getTagActionProps: (getTagAppLink: (tag: Tag) => Core.AppLink, renderAsSpan?: boolean) => {\n if (renderAsSpan) {\n return {\n onClick: (tag: Tag) => {\n const appLink = getTagAppLink ? getTagAppLink(tag) : null;\n\n if (!appLink)\n return;\n\n return Core.AppLinkHelper.trigger(appLink);\n }\n };\n }\n\n return {\n getAppLink: (tag: Tag) => {\n return getTagAppLink\n ? getTagAppLink(tag)\n : null;\n }\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag';\n\n case TagType.Normal:\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n let classNames = `rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType)}`;\n\n const hasThemeColour = tagType === TagType.Normal && !!props.themeColours?.secondary;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove)\n classNames += ' ' + styles.badge;\n\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <span\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </span>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { TagItem } from 'libs/shared/components/tags/TagItem';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\n/**\n * TODO: this will eventually handle ClickView and Customer tag types.\n */\nfunction getTagSortValue(tag: Tag): number {\n switch (tag.tagType?.toLowerCase()) {\n case TagType.Pedagogy:\n return 0;\n\n case TagType.Skill:\n return 1;\n\n default:\n return 2;\n }\n}\n\ninterface TagListProps {\n tags: Tag[];\n themeColours?: ThemeColours;\n onClick?: (tag: Tag) => void;\n onRemove?: (tag: Tag) => void;\n getAppLink?: (tag: Tag) => Core.AppLink;\n className?: string;\n}\n\nexport function TagList(props: TagListProps): JSX.Element {\n if (!props.tags)\n return <></>;\n\n const sortedTags = [...props.tags].sort((a, b) => getTagSortValue(a) - getTagSortValue(b));\n\n return (\n <div className={`${styles.tagList} ${props.className}`}>\n {sortedTags.map((tag: Tag) => {\n const appLink = typeof props.getAppLink === 'function'\n ? props.getAppLink(tag)\n : null;\n\n const onRemove = typeof props.onRemove === 'function'\n ? () => props.onRemove(tag)\n : null;\n\n const onClick = typeof props.onClick === 'function'\n ? () => props.onClick(tag)\n : null;\n\n return (\n <TagItem\n key={tag.id || tag.name}\n tag={tag}\n appLink={appLink}\n themeColours={props.themeColours}\n onRemove={onRemove}\n onClick={onClick}\n />\n );\n })}\n </div>\n );\n}","import { Cursors, LegacyPagination } from 'libs/common/backbone/interfaces';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TypeHelper } from 'libs/common/react/utils/TypeHelper';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\ninterface LegacyPaginatedCollection {\n data: BaseObject[];\n pagination: LegacyPagination;\n}\n\nfunction convertLegacyPaginationToCursors(pagination: LegacyPagination): Cursors {\n const { page, totalPages } = pagination;\n\n const nextPage = TypeHelper.isNumber(page) && page > 0 && page < totalPages && page + 1;\n const prevPage = TypeHelper.isNumber(page) && page > 1 && page - 1;\n\n const cursors: HashObject = {};\n\n if (nextPage && nextPage <= totalPages)\n cursors.next = nextPage.toString();\n\n if (prevPage)\n cursors.previous = prevPage.toString();\n\n if (ObjectHelper.isEmpty(cursors))\n return;\n\n return cursors as Cursors;\n}\n\nexport const CollectionHelper = {\n isEmpty(collection: BasePaginatedCollection<BaseObject>): boolean {\n return collection && !(collection.data && collection.data.length);\n },\n\n length(collection: BasePaginatedCollection<BaseObject>): number {\n return collection && collection.data && collection.data.length;\n },\n\n at<T extends BaseObject>(collection: BasePaginatedCollection<T>, idx: number): T {\n if (!collection || !collection.data || !collection.data.length || idx > collection.data.length)\n return;\n\n return collection.data[idx];\n },\n\n get<T extends BaseObject>(collection: BasePaginatedCollection<T>, id: string): T {\n if (!collection || !collection.data || !collection.data.length)\n return;\n\n return collection.data.find(c => c.id && c.id.toString() === id);\n },\n\n flattenCollections<T extends BaseObject, U extends BasePaginatedCollection<T>>(collections: U[]): T[] {\n if (!collections || !collections.length)\n return;\n\n let flattened: T[] = [];\n\n collections.forEach(c => {\n flattened = [ ...flattened, ...c.data ];\n });\n\n return flattened;\n },\n\n getNextCursor<T extends BaseObject, U extends BasePaginatedCollection<T>>(collection: U): string {\n return collection.pagination && collection.pagination.cursors && collection.pagination.cursors.next;\n },\n\n convertLegacyPaginatedCollection(collection: LegacyPaginatedCollection): BasePaginatedCollection<BaseObject> {\n if (!collection)\n return;\n\n return {\n data: collection.data,\n pagination: {\n cursors: convertLegacyPaginationToCursors(collection.pagination),\n limit: collection.pagination.pageSize\n }\n };\n },\n\n hasData(collection: BasePaginatedCollection<BaseObject>): boolean {\n return !CollectionHelper.isEmpty(collection);\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"closeButton\":\"ZwHXo\",\"descriptionBorder\":\"J_Z5i\"};","import * as React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ImmersiveReader } from 'libs/shared/components/immersive-reader/ImmersiveReader';\nimport { TagHelper } from 'libs/shared/components/tags/TagHelper';\nimport { TagList } from 'libs/shared/components/tags/TagList';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MINIMUM_GLANCE_HEIGHT } from 'libs/shared/constants/MinimumGlanceHeight';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { BaseObject, BasePaginatedCollection, Tag, Theme, ThemeColours, VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { hasPPDD } from './VideoDetailsUtils';\n\nimport styles from './video-details.scss';\n\nconst namespace = 'shared.videoDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CommaListProps {\n label: string;\n items: BasePaginatedCollection<BaseObject>;\n className?: string;\n}\n\nfunction CommaList(props: CommaListProps): React.ReactElement {\n const { label, items, className } = props;\n\n const hasItems = items && items.data && items.data.length;\n\n if (!hasItems)\n return <></>;\n\n const commaSeperated = items.data.map(i => i.name).join(', ');\n\n return (\n <div className={className}>{label}: {commaSeperated}</div>\n );\n}\n\nfunction getThemeColours(theme: Theme): ThemeColours {\n if (theme?.data?.colours?.primary && theme?.data?.colours?.secondary)\n return theme.data.colours;\n}\n\nfunction DetailsSection(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video } = props;\n\n if (!VideoHelper.isVideo(video) && !VideoHelper.isClip(video))\n return <></>;\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n return (\n <div className={video.description ? 'col-md-5 ps-md-3 pt-3 pt-md-0' : 'col-12'}>\n <h2 className='h6 mb-1'><Text phrase='details' /></h2>\n {!!parentVideo.productionYear && (\n <div className='mb-1'>\n <Text phrase='productionYear' options={{ year: parentVideo.productionYear }} />\n </div>\n )}\n <CommaList\n label={getPhrase('productionCompanies', { smartCount: parentVideo.productionCompanies?.data?.length })}\n items={parentVideo.productionCompanies}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('distributors', { smartCount: parentVideo.distributors?.data?.length })}\n items={parentVideo.distributors}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('producers', { smartCount: parentVideo.producers?.data?.length })}\n items={parentVideo.producers}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('directors', { smartCount: parentVideo.directors?.data?.length })}\n items={parentVideo.directors}\n className='mb-1'\n />\n {!!parentVideo.dateBroadcast && (\n <div className='mb-1'>\n <Text phrase='dateBroadcast' options={{ date: DateHelper.format(parentVideo.dateBroadcast, 'DD/MM/YYYY') }} />\n </div>\n )}\n {!!parentVideo.channel && (\n <div className='mb-1'>\n <Text phrase='channel' options={{ channel: parentVideo.channel.name }} />\n </div>\n )}\n {!!(!video._isClickViewCurated?.value && video.dateCreated) && (\n <div className='mb-1'>\n <Text phrase='dateUploaded' options={{ date: DateHelper.format(video.dateCreated, 'DD/MM/YYYY') }} />\n </div>\n )}\n </div>\n );\n}\n\ninterface VideoDetailsWithScrollbarProps {\n video: VideoTypes;\n theme?: Theme;\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n onLaunchImmersiveReader?: () => void;\n onExitImmersiveReader?: () => void;\n maxHeight?: number;\n suppressInteractivity?: boolean;\n hideTags?: boolean;\n}\n\nexport function VideoDetailsWithScrollbar(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video, maxHeight = MINIMUM_GLANCE_HEIGHT } = props;\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n const showDescription = !!props.video.description;\n\n const showDetails = (\n hasPPDD(props.video) ||\n !!parentVideo.productionYear ||\n !!parentVideo.dateBroadcast ||\n !!parentVideo.channel ||\n !!(video.dateCreated && !video._isClickViewCurated?.value)\n );\n\n if (!showDescription && !showDetails)\n return <></>;\n\n function getTags(): Tag[] {\n if (props.hideTags || VideoHelper.isInteractive(props.video) || !props.video.tags?.data?.length)\n return null;\n\n return props.video.tags?.data?.filter(tag => tag.tagType === TagType.Normal);\n }\n const tags = getTags();\n const themeColours = getThemeColours(props.theme);\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div>\n <h2 className='h5 mb-2'> <Text phrase='heading' /></h2>\n </div>\n <div className='rounded border p-3 mb-4 position-relative'>\n <Scrollbars autoHeight autoHeightMax={maxHeight}>\n <div className='row g-0'>\n {showDescription && (\n <div className={showDetails ? `${styles.descriptionBorder} pe-3 col-md-7` : 'col-12'}>\n <div className='d-flex align-items-center'>\n <h2 className='h6 mb-1'>\n <Text phrase='description' />\n </h2>\n <ImmersiveReader\n text={video.description}\n title={video.name}\n className='ps-2'\n onLaunch={props.onLaunchImmersiveReader}\n onExit={props.onExitImmersiveReader}\n analyticsOptions={{\n location: LocationContext.PlayPage,\n entity: EntityType.Video,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.LaunchImmersiveReader\n }}\n analyticsData={{ id: video.id, type: 'description' }}\n />\n </div>\n <p className='mb-0' dangerouslySetInnerHTML={{ __html: LinkifyHelper.linkifyText(props.video.description, { nl2br: true }) }} />\n </div>\n )}\n\n {showDetails && (\n <DetailsSection {...props} />\n )}\n </div>\n\n {!!tags?.length && (\n <div className='mt-3'>\n <h2 className='h6 mb-1'><Text phrase='normalTags' /></h2>\n <TagList\n tags={tags}\n themeColours={themeColours}\n {...TagHelper.getTagActionProps(props.getTagAppLink, props.suppressInteractivity)}\n className='mt-1'\n />\n </div>\n )}\n \n </Scrollbars>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { Video, VideoTypes } from 'libs/shared/interfaces';\nimport { CollectionHelper } from 'libs/shared/utils/CollectionHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nfunction getVideo(media: VideoTypes): Video {\n if (VideoHelper.isVideo(media))\n return media;\n\n if (VideoHelper.isClip(media))\n return media._parentVideo;\n\n // For interactives, we don't display PPDD info\n return null;\n}\n\nexport function hasPPDD(media: VideoTypes): boolean {\n const hasData = CollectionHelper.hasData;\n\n const video = getVideo(media);\n\n if (!video)\n return false;\n\n return hasData(video.productionCompanies) ||\n hasData(video.producers) ||\n hasData(video.distributors) ||\n hasData(video.directors);\n}","// 368 is the min height of Video at a glance which is defined as $glanceHeight in synopsis.scss\nexport const MINIMUM_GLANCE_HEIGHT = 368; // px","export enum TagType {\n Normal = 'normal',\n Pedagogy = 'pedagogy',\n Hidden = 'hidden',\n Skill = 'skill',\n Curation = 'curation'\n}\n\n/**\n * This should **only** be used to create new tags in master (as it only accepts enum values).\n * Use the string enum above for all other cases.\n */\nexport enum TagTypeNumber {\n Normal = 0,\n Pedagogy = 1,\n Hidden = 2,\n Skill = 3,\n Curation = 4\n}","// extracted by mini-css-extract-plugin\nexport default {\"tagList\":\"Zw6d9\",\"disabled\":\"jlL1c\",\"partialTag\":\"too_N\",\"badge\":\"OjtN8\",\"close\":\"X9joI\"};"],"names":["window","module","exports","e","t","r","n","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","Disable","Enable","CookiePolicy","renderButtons","close","launchAsync","addEventListener","document","createElement","src","head","appendChild","af","am","ar","as","az","be","bg","bn","bs","ca","cs","da","de","el","en","es","et","eu","fa","fi","fil","fr","gd","gl","gu","ha","he","hi","hr","hu","hy","id","ig","is","it","ja","ka","kk","km","kn","ko","kok","ky","lb","lo","lt","lv","mi","mk","ml","mn","mr","ms","mt","ne","nl","no","nso","or","pa","pl","prs","pt","quc","quz","ro","ru","rw","sd","si","sk","sl","sq","sv","sw","ta","te","th","ti","tk","tn","tr","tt","uk","ur","uz","vi","wo","xh","yo","zh","zu","getAttribute","style","height","width","verticalAlign","marginTop","alt","marginLeft","a","textContent","toLowerCase","substring","lastIndexOf","innerHTML","slice","getElementsByClassName","elements","u","length","setAttribute","this","__assign","assign","arguments","apply","RegExp","test","ErrorCode","TokenExpired","Throttled","ServerError","InvalidSubdomain","Promise","chunks","customDomain","Date","now","uiZIndex","timeout","useWebview","allowFullscreen","hideExitButton","cookiePolicy","v","f","h","clearTimeout","b","body","contains","removeChild","removeEventListener","y","parentNode","g","onExit","data","cogSvcsAccessToken","cogSvcsSubdomain","request","launchToPostMessageSentDurationInMs","contentWindow","postMessage","JSON","stringify","messageType","messageValue","startsWith","parse","success","container","sessionId","code","errorCode","message","setTimeout","Timeout","cssText","k","uiLang","BadArgument","isValidSubdomain","globalImmersiveReader","fetched","namespace","ImmersiveReader","props","immersiveReader","setImmersiveReader","ajaxRequest","resource","type","HttpVerbs","error","title","LanguageService","className","onClick","FunctionHelper","onLaunch","AnalyticsHelper","analyticsData","analyticsOptions","content","text","mimeType","html","subdomain","token","options","viewBox","fill","TagHelper","getTagActionProps","getTagAppLink","renderAsSpan","tag","appLink","getAppLink","TagItem","disabled","tagClass","name","tagType","classNames","getTagTypeClass","hasThemeColour","themeColours","secondary","onRemove","backgroundColor","role","getTagSortValue","TagList","tags","sortedTags","sort","map","key","convertLegacyPaginationToCursors","pagination","page","totalPages","nextPage","TypeHelper","prevPage","cursors","next","toString","previous","ObjectHelper","CollectionHelper","isEmpty","collection","at","idx","find","flattenCollections","collections","flattened","forEach","getNextCursor","convertLegacyPaginatedCollection","limit","pageSize","hasData","getPhrase","CommaList","label","items","commaSeperated","join","DetailsSection","video","VideoHelper","parentVideo","description","Text","phrase","productionYear","year","smartCount","productionCompanies","distributors","producers","directors","dateBroadcast","date","DateHelper","channel","_isClickViewCurated","dateCreated","VideoDetailsWithScrollbar","maxHeight","showDescription","showDetails","media","_parentVideo","getVideo","hasPPDD","hideTags","filter","TagType","getTags","theme","colours","primary","getThemeColours","autoHeight","autoHeightMax","onLaunchImmersiveReader","onExitImmersiveReader","location","entity","actionType","descriptor","dangerouslySetInnerHTML","__html","LinkifyHelper","nl2br","suppressInteractivity","MINIMUM_GLANCE_HEIGHT","TagTypeNumber"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9437],{49935:(e,a,t)=>{t.d(a,{Oo:()=>u,b2:()=>d});var n=t(32735),i=t(36848),r=t(86764),c=t(3747),l=t(5859),s=t(35223),o=t(83914),m=function(e){var a=e.breadcrumb,t=a.name,r=a.appLink,c=a.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?n.createElement("strong",null,t):n.createElement(i.F,{appLink:r},l&&n.createElement(o.x,{svgName:s.vn.ChevronLeft,size:o.S.Small}),n.createElement("span",{className:l?"ms-2":""},t)))},u=function(e){var a=e.breadcrumbs,t=(0,c.a)(r.r.XS),i=null==a?void 0:a.length;return!i||t&&i<2?n.createElement(n.Fragment,null):t?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(m,{breadcrumb:a[i-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},a.map((function(e,a){return n.createElement(m,{key:a,breadcrumb:e})}))))},d=n.memo((function(e){var a=e.numItems,t=void 0===a?3:a;return(0,c.a)(r.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:t}).map((function(e,a){var t=e.width;return n.createElement("li",{key:a,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:t},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},74696:(e,a,t)=>{t.d(a,{S:()=>o});var n=t(32735),i=t(68050),r=t(69111),c=t(9977),l=t(79967);const s={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function o(e){return n.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(a,t){return n.createElement("div",{className:"d-flex",key:t},e.allowBulkActions&&n.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),n.createElement(m,Object.assign({},e)))})))}function m(e){var a=(0,l.k)(),t="sm"===c.O.getSize(a,"md"),o=e.withReordering&&!a.xs;return n.createElement(i.Z,{className:"".concat(t?"":"py-2"," flex-grow-1")},n.createElement(r.Z,Object.assign({},c.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(t?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),n.createElement(i.Z,null,!!o&&n.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialDragHandle)})),n.createElement(r.Z,{xs:c.O.getThumbnailColSize(o)},n.createElement("div",{className:"partial-loading-background ".concat(t?"rounded":"rounded-3"," ").concat(s.partialThumbnail)})))),n.createElement(r.Z,Object.assign({},c.O.getDetailsColumns(),{className:t?"pb-2":"px-2"}),n.createElement("div",{className:"partial-loading-background mb-1 ".concat(s.partialName)}),n.createElement("div",{className:"partial-loading-background ".concat(s.partialDescription)})))}o.defaultProps={numVideos:15}},5859:(e,a,t)=>{function n(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=new Array(a);t<a;t++)n[t]=e[t];return n}t.d(a,{u:()=>r});var i={numItems:5,minWidth:50,maxWidth:100},r={getPartialLoadingItems:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign(Object.assign({},i),a);return(e=Array(t.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,a){if(e){if("string"==typeof e)return n(e,a);var t=Object.prototype.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)?n(e,a):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.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*t.maxWidth),t.minWidth),"px")}}))}}},44110:(e,a,t)=>{t.d(a,{i:()=>c});var n=t(20354),i=t(89454),r=t(86698),c=function(){var e=(0,r.y)({redirectOnError:!0}),a=e.activePresentation,t=e.getFallbackPresentation,c=a||t();return n.a.useBasicFetch(!!c&&i.O.presentationAudiences(c.id))}},35014:(e,a,t)=>{t.d(a,{I:()=>m});var n=t(20354),i=t(16714),r=t(12754),c=t(39151),l=t(22902),s=t(15311),o=t(11387);function m(){var e=(0,l.T)(),a=e.hasPermissions,t=e.hasLocalPermissions,m=(0,s.r)().hasProduct,u=n.a.useBasicFetch(c.L.config()),d=m(r.x.Primary);return{canWatchPublicly:function(e){var a,t;return!!e&&!!(null===(t=null===(a=u.data)||void 0===a?void 0:a.allowedPublicVideos)||void 0===t?void 0:t[e])},canViewGlance:a(i.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:d&&a(i.C.ViewVideoInteractives),canViewClips:d&&a(i.C.ViewVideoClips),canViewCurriculumLinks:a(i.C.ViewCurriculums),canUseActions:t(i.E.UseVideoActions),canViewPublicLayout:!t(i.E.WatchVideos)&&o.C.hasRegionPrefix(),canViewResourceItems:t(i.E.ViewVideoResourceItems),canNavigate:d}}},28891:(e,a,t)=>{t.r(a),t.d(a,{ClipInteractivesView:()=>P});var n=t(32735),i=t(81886),r=t(23481),c=t(20354),l=t(28400),s=t(65858),o=t(49935),m=t(13231),u=t(51365),d=t(183),p=t(43012),v=t(39151),b=t(1666),g=t(31949),f=t(22902),h=t(14070),E=t(97291),y=t(10671),w=t(27638),k=t(44110),N=t(35014),I=t(10741),V=t(22490),C=t(98620),x=t(82431),O=t(16747),L=r.T.encloseNamespace("shared.videoMedia");function P(e){var a,t,r,P,A,S=e.clipId,j=(0,w.u)(s.LZ.VideoThumbnail),F=j.setFavourite,T=j.canFavourite,_=(0,y._)({location:y.i.VideoItem}),B=(0,N.I)(),R=c.a.useBasicFetch(g.N.currentUser()),M=c.a.useBasicFetch(R.data.isAuthenticated&&b.h.yearGroups(R.data.customerId)),W=c.a.useBasicFetch(p.e.clip(S,null)),Z=null===(t=null===(a=W.data)||void 0===a?void 0:a.interactives)||void 0===t?void 0:t.data,D=(null==Z?void 0:Z.length)||0,G=c.a.useBasicFetch(v.L.config()),$="".concat(L("interactivesHeading")," (").concat(D||"",")"),H=(0,k.i)(),Q=(0,f.T)().hasPermissions,U=[{name:null===(r=W.data)||void 0===r?void 0:r.name,appLink:Object.assign(Object.assign({},C.Y.playClip),{args:[S,l.m.slugify(null===(P=W.data)||void 0===P?void 0:P.name)]})},{name:$,appLink:{application:E.O.CLIPS,action:h.e.Clips.CLIP_INTERACTIVES,args:[S]},active:!0}];return n.useEffect((function(){B.canViewInteractives||function(){var e;i.Q.C$.trigger(Object.assign(Object.assign({},C.Y.playClip),{args:[S,l.m.slugify(null===(e=W.data)||void 0===e?void 0:e.name)]}),{replace:!0})}()}),[B.canViewInteractives]),W.data&&(null==Z?void 0:Z.length)&&G.hasCompleted?n.createElement(u.M.Provider,{value:_},n.createElement("div",{className:"px-3"},n.createElement("h1",{className:"h2 mb-2"},$),n.createElement("div",{className:"mb-2"},n.createElement(o.Oo,{breadcrumbs:U})),n.createElement(m.E4,{videos:Z,yearGroups:M.data,getVideoAppLink:function(a,t){return V.W.getAppLink(a,Object.assign(Object.assign({},t),{context:d.Q.Widget,contextId:e.clipId}))},hasPermissions:Q,getSubTextAppLink:function(e){return x.j.getSeriesAppLink(e.series)},setFavourite:F,canFavourite:T,presentationAudiences:H.data,getPreviewQuestionsAppLink:function(e){return I.j.getPreviewQuestionsAppLink(e)},imageCdnUrl:null===(A=G.data)||void 0===A?void 0:A.imageCdnUrl}))):n.createElement(O.l,null)}},98620:(e,a,t)=>{t.d(a,{Y:()=>r});var n=t(14070),i=t(97291),r={playVideo:{application:i.O.VIDEOS,action:n.e.Videos.PLAY_VIDEO},playClip:{application:i.O.CLIPS,action:n.e.Clips.PLAY_CLIP}}},16747:(e,a,t)=>{t.d(a,{l:()=>l});var n=t(32735),i=t(49935),r=t(74696);const c={partialHeading:"okxfx"};function l(){return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"partial-loading-background mb-2 ".concat(c.partialHeading)}),n.createElement("div",{className:"mb-2"},n.createElement(i.b2,null)),n.createElement(r.S,null))}},68050:(e,a,t)=>{t.d(a,{Z:()=>o});var n=t(95685),i=t.n(n),r=t(32735),c=t(46304),l=t(74512);const s=r.forwardRef((({bsPrefix:e,className:a,as:t="div",...n},r)=>{const s=(0,c.vE)(e,"row"),o=(0,c.pi)(),m=(0,c.zG)(),u=`${s}-cols`,d=[];return o.forEach((e=>{const a=n[e];let t;delete n[e],null!=a&&"object"==typeof a?({cols:t}=a):t=a;const i=e!==m?`-${e}`:"";null!=t&&d.push(`${u}${i}-${t}`)})),(0,l.jsx)(t,{ref:r,...n,className:i()(a,s,...d)})}));s.displayName="Row";const o=s}}]);
2
+ //# sourceMappingURL=9437-d9c671743c-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/9437-d9c671743c-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/projects/lite/src/shared/views/video-media/ClipInteractivesView.tsx","file:///app/packages/projects/lite/src/shared/views/video-media/VideoMediaAppLinks.ts","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/partial-video-media-view.scss","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/PartialVideoMediaView.tsx","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import { Flight } from 'libs/common/react/index';\n\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { Config } from 'libs/shared/interfaces/models/Config';\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 canWatchPublicly: (videoId: string) => boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\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 /**\n * Publicly available video ids are maintained on the backend config. \n */\n function canWatchPublicly(videoId: string): boolean {\n if (!videoId)\n return false;\n\n return !!config.data?.allowedPublicVideos?.[videoId];\n }\n\n return {\n canWatchPublicly,\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 { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, CurrentUser, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { PartialVideoMediaView } from './partial-loading/PartialVideoMediaView';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipInteractivesViewProps {\n clipId: string;\n}\n\nexport function ClipInteractivesView(props: ClipInteractivesViewProps): JSX.Element {\n const { clipId } = props;\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const clip = Flight.useBasicFetch<Video>(ClipRequests.clip(clipId, null));\n const content = clip.data?.interactives?.data;\n const count = content?.length || 0;\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = `${getPhrase('interactivesHeading')} (${count || ''})`;\n\n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const breadcrumbs: Breadcrumb[] = [{\n name: clip.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.CLIP_INTERACTIVES,\n args: [clipId]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewInteractives) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewInteractives]);\n\n if (!clip.data || !content?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={content}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.clipId\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const VideoMediaAppLinks = {\n playVideo: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO\n },\n playClip: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"okxfx\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-video-media-view.scss';\n\nexport function PartialVideoMediaView(): JSX.Element {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='mb-2'>\n <PartialBreadcrumbs/>\n </div>\n <PartialVideoList />\n </div>\n );\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","PartialVideoList","props","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasProduct","config","hasNP","canWatchPublicly","videoId","data","allowedPublicVideos","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","getPhrase","ClipInteractivesView","clipId","u","setFavourite","canFavourite","videoActions","location","featureAccess","currentUser","yearGroups","isAuthenticated","customerId","clip","content","interactives","count","title","audiences","args","application","action","replace","redirectToPlaypage","hasCompleted","value","videos","getVideoAppLink","video","context","contextId","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","imageCdnUrl","VideoMediaAppLinks","playVideo","playClip","PartialVideoMediaView","bsPrefix","as","Component","ref","decoratedBsPrefix","minBreakpoint","sizePrefix","classes","forEach","brkPoint","propValue","cols","infix","push","displayName"],"sourceRoot":""}