@clickview/lite 0.53.4 → 0.53.6-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{6094-lite-bcd14ea6d2.chunk.css → 1019-lite-bbcf2bff27.chunk.css} +3 -2
- package/dist/css/{1329-lite-be86e46c78.chunk.css → 1329-lite-458183b24f.chunk.css} +2 -2
- package/dist/css/{1838-lite-e6a28b84ed.chunk.css → 1838-lite-981a5e0783.chunk.css} +1 -1
- package/dist/css/{1760-lite-bcd14ea6d2.chunk.css → 2548-lite-bbcf2bff27.chunk.css} +3 -2
- package/dist/css/{3969-lite-29e14c7861.chunk.css → 3969-lite-ed58852d97.chunk.css} +2 -2
- package/dist/css/{422-lite-dace5f41de.chunk.css → 422-lite-b8c1fd1dee.chunk.css} +1 -1
- package/dist/css/{4502-lite-92be6697e7.chunk.css → 4502-lite-eaf1a1113c.chunk.css} +1 -1
- package/dist/css/{5220-lite-9832e2c2fb.chunk.css → 5220-lite-8a8d5d035f.chunk.css} +1 -1
- package/dist/css/{537-lite-56a3fc7e48.chunk.css → 537-lite-4de4c47713.chunk.css} +1 -1
- package/dist/css/{6489-lite-9045df4bb9.chunk.css → 6489-lite-e271aaed2d.chunk.css} +1 -1
- package/dist/css/{6544-lite-d46c2d634c.chunk.css → 6544-lite-319ed51ccc.chunk.css} +1 -1
- package/dist/css/{5549-lite-97ed26d0aa.chunk.css → 6596-lite-bb28584922.chunk.css} +2 -1
- package/dist/css/{841-lite-27b6485cd1.chunk.css → 841-lite-46ef623835.chunk.css} +1 -1
- package/dist/css/{8522-lite-2f2797038e.chunk.css → 8522-lite-f100606ec5.chunk.css} +1 -1
- package/dist/css/{8801-lite-c88eb54bee.chunk.css → 8801-lite-d34200ab29.chunk.css} +2 -2
- package/dist/css/{3640-lite-97ed26d0aa.chunk.css → 9010-lite-bb28584922.chunk.css} +2 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js → 1019-8f977b5095-lite.chunk.js} +2 -2
- package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js.map → 1019-8f977b5095-lite.chunk.js.map} +1 -1
- package/dist/scripts/1080-509aa6e738-lite.chunk.js +2 -0
- package/dist/scripts/1080-509aa6e738-lite.chunk.js.map +1 -0
- package/dist/scripts/1169-e64f0dbd67-lite.chunk.js +2 -0
- package/dist/scripts/1169-e64f0dbd67-lite.chunk.js.map +1 -0
- package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js +3 -0
- package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js.map +1 -0
- package/dist/scripts/{1379-976d20185f-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
- package/dist/scripts/{1379-976d20185f-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
- package/dist/scripts/1518-4f76dbeee8-lite.chunk.js +2 -0
- package/dist/scripts/1518-4f76dbeee8-lite.chunk.js.map +1 -0
- package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js → 1838-95081e8dea-lite.chunk.js} +1 -1
- package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js.map → 1838-95081e8dea-lite.chunk.js.map} +1 -1
- package/dist/scripts/184-6ce393c251-lite.chunk.js +2 -0
- package/dist/scripts/184-6ce393c251-lite.chunk.js.map +1 -0
- package/dist/scripts/{2004-3005565af0-lite.chunk.js → 2004-e20d72976c-lite.chunk.js} +3 -3
- package/dist/scripts/{2004-3005565af0-lite.chunk.js.map → 2004-e20d72976c-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2094-58390aa60a-lite.chunk.js → 2094-a16bbca3a3-lite.chunk.js} +2 -2
- package/dist/scripts/2094-a16bbca3a3-lite.chunk.js.map +1 -0
- package/dist/scripts/2142-c46ca4050f-lite.chunk.js +2 -0
- package/dist/scripts/2142-c46ca4050f-lite.chunk.js.map +1 -0
- package/dist/scripts/2199-be40da7440-lite.chunk.js +2 -0
- package/dist/scripts/2199-be40da7440-lite.chunk.js.map +1 -0
- package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js +2 -0
- package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js.map +1 -0
- package/dist/scripts/3969-6d7c342d0c-lite.chunk.js +2 -0
- package/dist/scripts/3969-6d7c342d0c-lite.chunk.js.map +1 -0
- package/dist/scripts/3999-317a4538c6-lite.chunk.js +3 -0
- package/dist/scripts/3999-317a4538c6-lite.chunk.js.map +1 -0
- package/dist/scripts/{422-ee640f76c5-lite.chunk.js → 422-a63a7eb901-lite.chunk.js} +1 -1
- package/dist/scripts/{422-ee640f76c5-lite.chunk.js.map → 422-a63a7eb901-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4502-af4903784e-lite.chunk.js → 4502-a7d60fa257-lite.chunk.js} +1 -1
- package/dist/scripts/{4502-af4903784e-lite.chunk.js.map → 4502-a7d60fa257-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4554-c0d7490a46-lite.chunk.js → 4554-b9aa07891f-lite.chunk.js} +2 -2
- package/dist/scripts/4554-b9aa07891f-lite.chunk.js.map +1 -0
- package/dist/scripts/{4591-379f0fe588-lite.chunk.js → 4591-21c0094f28-lite.chunk.js} +2 -2
- package/dist/scripts/{4591-379f0fe588-lite.chunk.js.map → 4591-21c0094f28-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4683-ce52da47d8-lite.chunk.js → 4683-d3afe2dfa8-lite.chunk.js} +2 -2
- package/dist/scripts/4683-d3afe2dfa8-lite.chunk.js.map +1 -0
- package/dist/scripts/5220-291b2243ad-lite.chunk.js +3 -0
- package/dist/scripts/5220-291b2243ad-lite.chunk.js.map +1 -0
- package/dist/scripts/537-6efb9bc099-lite.chunk.js +3 -0
- package/dist/scripts/537-6efb9bc099-lite.chunk.js.map +1 -0
- package/dist/scripts/5660-6711768c20-lite.chunk.js +2 -0
- package/dist/scripts/5660-6711768c20-lite.chunk.js.map +1 -0
- package/dist/scripts/5936-e839cb8193-lite.chunk.js +2 -0
- package/dist/scripts/5936-e839cb8193-lite.chunk.js.map +1 -0
- package/dist/scripts/{624-bf0ff6257f-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
- package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
- package/dist/scripts/6450-f16821bf09-lite.chunk.js +2 -0
- package/dist/scripts/6450-f16821bf09-lite.chunk.js.map +1 -0
- package/dist/scripts/6489-c242844567-lite.chunk.js +3 -0
- package/dist/scripts/6489-c242844567-lite.chunk.js.map +1 -0
- package/dist/scripts/6544-07898e3fa3-lite.chunk.js +2 -0
- package/dist/scripts/6544-07898e3fa3-lite.chunk.js.map +1 -0
- package/dist/scripts/6596-848fbf79bb-lite.chunk.js +2 -0
- package/dist/scripts/6596-848fbf79bb-lite.chunk.js.map +1 -0
- package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js → 6741-fe09fea334-lite.chunk.js} +3 -3
- package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.map → 6741-fe09fea334-lite.chunk.js.map} +1 -1
- package/dist/scripts/6752-0d139a6c9a-lite.chunk.js +2 -0
- package/dist/scripts/6752-0d139a6c9a-lite.chunk.js.map +1 -0
- package/dist/scripts/696-fa78eb455f-lite.chunk.js +2 -0
- package/dist/scripts/696-fa78eb455f-lite.chunk.js.map +1 -0
- package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js → 7234-d15fe07f0e-lite.chunk.js} +2 -2
- package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js.map → 7234-d15fe07f0e-lite.chunk.js.map} +1 -1
- package/dist/scripts/729-594be12089-lite.chunk.js +2 -0
- package/dist/scripts/729-594be12089-lite.chunk.js.map +1 -0
- package/dist/scripts/{7293-3e6ad36a7a-lite.chunk.js → 7293-35871fc150-lite.chunk.js} +2 -2
- package/dist/scripts/7293-35871fc150-lite.chunk.js.map +1 -0
- package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js → 8192-eb7054ccc6-lite.chunk.js} +2 -2
- package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js.map → 8192-eb7054ccc6-lite.chunk.js.map} +1 -1
- package/dist/scripts/841-11af1334bf-lite.chunk.js +3 -0
- package/dist/scripts/841-11af1334bf-lite.chunk.js.map +1 -0
- package/dist/scripts/{8522-b4b217640c-lite.chunk.js → 8522-8e9c576bf6-lite.chunk.js} +1 -1
- package/dist/scripts/{8522-b4b217640c-lite.chunk.js.map → 8522-8e9c576bf6-lite.chunk.js.map} +1 -1
- package/dist/scripts/8801-3a7652eb35-lite.chunk.js +2 -0
- package/dist/scripts/8801-3a7652eb35-lite.chunk.js.map +1 -0
- package/dist/scripts/9010-ef7ea501ee-lite.chunk.js +2 -0
- package/dist/scripts/9010-ef7ea501ee-lite.chunk.js.map +1 -0
- package/dist/scripts/9139-22fb64f542-lite.chunk.js +2 -0
- package/dist/scripts/9139-22fb64f542-lite.chunk.js.map +1 -0
- package/dist/scripts/9173-e45847aa35-lite.chunk.js +2 -0
- package/dist/scripts/9173-e45847aa35-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js → 9478-13da35c4ee-lite.chunk.js} +3 -3
- package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.map → 9478-13da35c4ee-lite.chunk.js.map} +1 -1
- package/dist/scripts/{953-bf3d621a33-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
- package/dist/scripts/{953-bf3d621a33-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9899-68b030d4e2-lite.chunk.js → 9899-fa58471776-lite.chunk.js} +2 -2
- package/dist/scripts/{9899-68b030d4e2-lite.chunk.js.map → 9899-fa58471776-lite.chunk.js.map} +1 -1
- package/dist/scripts/bundle-7f9a9b650d.min.js +3 -0
- package/dist/scripts/bundle-7f9a9b650d.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1080-4173ce26bd-lite.chunk.js +0 -2
- package/dist/scripts/1080-4173ce26bd-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-d090f0a147-lite.chunk.js +0 -2
- package/dist/scripts/1169-d090f0a147-lite.chunk.js.map +0 -1
- package/dist/scripts/1329-d48379c043-lite.chunk.js +0 -3
- package/dist/scripts/1329-d48379c043-lite.chunk.js.map +0 -1
- package/dist/scripts/1518-9756fde01e-lite.chunk.js +0 -2
- package/dist/scripts/1518-9756fde01e-lite.chunk.js.map +0 -1
- package/dist/scripts/184-ee581fa2e0-lite.chunk.js +0 -2
- package/dist/scripts/184-ee581fa2e0-lite.chunk.js.map +0 -1
- package/dist/scripts/2094-58390aa60a-lite.chunk.js.map +0 -1
- package/dist/scripts/2199-476ac5922f-lite.chunk.js +0 -2
- package/dist/scripts/2199-476ac5922f-lite.chunk.js.map +0 -1
- package/dist/scripts/3640-1ac0a110f4-lite.chunk.js +0 -2
- package/dist/scripts/3640-1ac0a110f4-lite.chunk.js.map +0 -1
- package/dist/scripts/3969-c0160d0139-lite.chunk.js +0 -2
- package/dist/scripts/3969-c0160d0139-lite.chunk.js.map +0 -1
- package/dist/scripts/4063-786732e7b0-lite.chunk.js +0 -2
- package/dist/scripts/4063-786732e7b0-lite.chunk.js.map +0 -1
- package/dist/scripts/4273-de24896b28-lite.chunk.js +0 -3
- package/dist/scripts/4273-de24896b28-lite.chunk.js.map +0 -1
- package/dist/scripts/4554-c0d7490a46-lite.chunk.js.map +0 -1
- package/dist/scripts/4683-ce52da47d8-lite.chunk.js.map +0 -1
- package/dist/scripts/4850-5ddd277550-lite.chunk.js +0 -2
- package/dist/scripts/4850-5ddd277550-lite.chunk.js.map +0 -1
- package/dist/scripts/5220-85898810a6-lite.chunk.js +0 -3
- package/dist/scripts/5220-85898810a6-lite.chunk.js.map +0 -1
- package/dist/scripts/537-de7445d41a-lite.chunk.js +0 -3
- package/dist/scripts/537-de7445d41a-lite.chunk.js.map +0 -1
- package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js +0 -2
- package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js.map +0 -1
- package/dist/scripts/5660-a356acdbca-lite.chunk.js +0 -2
- package/dist/scripts/5660-a356acdbca-lite.chunk.js.map +0 -1
- package/dist/scripts/5936-92d9cea005-lite.chunk.js +0 -2
- package/dist/scripts/5936-92d9cea005-lite.chunk.js.map +0 -1
- package/dist/scripts/6094-8546003d79-lite.chunk.js +0 -2
- package/dist/scripts/6094-8546003d79-lite.chunk.js.map +0 -1
- package/dist/scripts/6450-601f889072-lite.chunk.js +0 -2
- package/dist/scripts/6450-601f889072-lite.chunk.js.map +0 -1
- package/dist/scripts/6489-532a022587-lite.chunk.js +0 -3
- package/dist/scripts/6489-532a022587-lite.chunk.js.map +0 -1
- package/dist/scripts/6544-ae27efabab-lite.chunk.js +0 -2
- package/dist/scripts/6544-ae27efabab-lite.chunk.js.map +0 -1
- package/dist/scripts/6752-5dddab5e0b-lite.chunk.js +0 -2
- package/dist/scripts/6752-5dddab5e0b-lite.chunk.js.map +0 -1
- package/dist/scripts/6852-9dfd47d085-lite.chunk.js +0 -2
- package/dist/scripts/6852-9dfd47d085-lite.chunk.js.map +0 -1
- package/dist/scripts/7293-3e6ad36a7a-lite.chunk.js.map +0 -1
- package/dist/scripts/841-73ef4ba5ec-lite.chunk.js +0 -3
- package/dist/scripts/841-73ef4ba5ec-lite.chunk.js.map +0 -1
- package/dist/scripts/8801-222a1b2e99-lite.chunk.js +0 -2
- package/dist/scripts/8801-222a1b2e99-lite.chunk.js.map +0 -1
- package/dist/scripts/9139-49023800c6-lite.chunk.js +0 -2
- package/dist/scripts/9139-49023800c6-lite.chunk.js.map +0 -1
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js +0 -2
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-e72459b30e.min.js +0 -3
- package/dist/scripts/bundle-e72459b30e.min.js.map +0 -1
- /package/dist/css/{4273-lite-a3c7435ba4.chunk.css → 3999-lite-a3c7435ba4.chunk.css} +0 -0
- /package/dist/css/{4063-lite-f72fc7b813.chunk.css → 4860-lite-f72fc7b813.chunk.css} +0 -0
- /package/dist/css/{4850-lite-f72fc7b813.chunk.css → 729-lite-f72fc7b813.chunk.css} +0 -0
- /package/dist/scripts/{1329-d48379c043-lite.chunk.js.LICENSE.txt → 1329-bdbbf6c7fd-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1379-976d20185f-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2004-3005565af0-lite.chunk.js.LICENSE.txt → 2004-e20d72976c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4273-de24896b28-lite.chunk.js.LICENSE.txt → 3999-317a4538c6-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5220-85898810a6-lite.chunk.js.LICENSE.txt → 5220-291b2243ad-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{537-de7445d41a-lite.chunk.js.LICENSE.txt → 537-6efb9bc099-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6489-532a022587-lite.chunk.js.LICENSE.txt → 6489-c242844567-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.LICENSE.txt → 6741-fe09fea334-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{841-73ef4ba5ec-lite.chunk.js.LICENSE.txt → 841-11af1334bf-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt → 9478-13da35c4ee-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{953-bf3d621a33-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-e72459b30e.min.js.LICENSE.txt → bundle-7f9a9b650d.min.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/4554-c0d7490a46-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/common/src/react/utils/LinkifyHelper.ts","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/components/video-details/video-details.scss","file:///app/packages/libs/shared/src/components/video-details/VideoDetails.tsx","file:///app/packages/libs/shared/src/utils/CollectionHelper.ts","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/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/projects/lite/src/apps/user-manager/views/students-video/StudentsVideoView.tsx","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={}))}])}));","import { ObjectHash } from 'backbone';\nimport linkifyStr from 'linkifyjs/string';\nimport * as _ from 'underscore';\n\nconst BaseLinkifyOptions = {\n className: 'info-link',\n defaultProtocol: 'https'\n};\n\nexport const LinkifyHelper = {\n /**\n * The underlying linkifyStr interface escapes text within the input string\n */\n linkifyText(text: string, options?: ObjectHash): string {\n if (!text) return;\n const ops = options ? _.extend({}, BaseLinkifyOptions, options) : BaseLinkifyOptions;\n return linkifyStr(text, ops);\n }\n};","// 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: (\n getTagAppLink: (tag: Tag) => Core.AppLink,\n onClick: () => void,\n renderAsSpan?: boolean\n ) => {\n if (renderAsSpan) {\n return {\n onClick: (tag: Tag) => {\n if (onClick)\n onClick();\n\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 onClick\n };\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\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\nconst namespace = 'shared.tags';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\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, hasThemeColour: boolean): 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 fw-normal';\n\n case TagType.Normal:\n if (!hasThemeColour)\n return 'bg-gray-100 fw-normal';\n return '';\n\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 const hasThemeColour = (tagType === TagType.Normal && props.themeColours) && !!props.themeColours?.secondary;\n let classNames = `rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType, hasThemeColour)}`;\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 <button\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n aria-label={`${getPhrase('ariaFilter')} ${name}`}\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 </button>\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}","// 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 { DivButton } from 'libs/shared/components/div-button/DivButton';\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 { BaseObject, BasePaginatedCollection, Tag, 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 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 getTagAppLink?: (tag: Tag) => Core.AppLink;\n onLaunchImmersiveReader?: () => void;\n onExitImmersiveReader?: () => void;\n onClickClose?: () => void;\n onClickShowCurriculumLinks?: () => 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 const canClose = typeof props.onClickClose === 'function';\n const showCurriculumLinks = typeof props.onClickShowCurriculumLinks === 'function';\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;\n }\n\n if (!showDescription && !showDetails)\n return <></>;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\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 <TagList\n tags={getTags()}\n {...TagHelper.getTagActionProps(props.getTagAppLink, null, props.suppressInteractivity)}\n className='mt-1'\n />\n {showCurriculumLinks && (\n <DivButton\n onClick={props.onClickShowCurriculumLinks}\n className='cursor-pointer d-inline-block fw-semibold text-info mt-2 mb-1'\n >\n <Text namespace={namespace} phrase='seeCurriculumLinks' />\n </DivButton>\n )}\n </div>\n )}\n\n {showDetails && (\n <DetailsSection {...props} />\n )}\n </div>\n </Scrollbars>\n\n {canClose && (\n <button\n type='button'\n className={`btn-close ${styles.closeButton}`}\n aria-label='Close'\n onClick={props.onClickClose}\n />\n )}\n </div>\n </LanguageNamespaceContext.Provider>\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};","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}","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoDetailsWithScrollbar } from 'libs/shared/components/video-details/VideoDetails';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { Config, CurrentUser, PlayerViewKey, User, VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { LitePlayerView } from 'shared/views/lite-player/LitePlayerView';\n\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\n\nconst namespace = 'userManager.studentsVideo';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getRequest(id: string, typeId: string): Flight.Request {\n if (typeId.toString() === MasterType.Clip.toString())\n return ClipRequests.clip(id);\n\n if (typeId.toString() === MasterType.Interactive.toString())\n return InteractiveRequests.interactiveMetadata(id);\n\n return VideoRequests.video(id);\n}\n\nfunction getMessagePhrase(typeId: string): string {\n if (typeId.toString() === MasterType.Clip.toString())\n return 'messageClip';\n\n if (typeId.toString() === MasterType.Interactive.toString())\n return 'messageInteractive';\n\n return 'messageVideo';\n}\n\ninterface StudentsVideoProps {\n userId: string;\n id: string;\n typeId: string;\n}\n\nexport function StudentsVideoView(props: StudentsVideoProps): JSX.Element {\n const user = Flight.useBasicFetch<User>(UserManagerRequests.getUser(props.userId));\n\n const video = Flight.useBasicFetch<VideoTypes>(getRequest(props.id, props.typeId));\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(PlayerRequests.createViewKey(props.id, MediaIdType.MasterObject));\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n useHandleObjectError([ user, video ]);\n\n const dataLoaded = (\n user.hasCompleted &&\n video.hasCompleted &&\n viewKey.hasCompleted &&\n config.hasCompleted &&\n currentUser.hasCompleted\n );\n\n if (!dataLoaded)\n return <></>;\n\n return (\n <div className='px-3'>\n <div className='alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center' role='alert'>\n <div className='d-flex align-items-center'>\n <SvgContainer\n svgName={cvSvgLibrary.Info}\n size={SvgContainerSize.Standard}\n className='me-2 svg-container'\n />\n \n <div className='w-100'>\n <p className='fw-semibold mb-0'>\n {getPhrase(\n getMessagePhrase(props.typeId),\n { name: UserHelper.getFullName(user.data), yearGroup: user.data.masterYearGroup?.name }\n )}\n </p>\n </div>\n </div>\n </div>\n <div className='mb-3'>\n <LitePlayerView\n config={config.data}\n video={video.data}\n currentUser={currentUser.data}\n viewKey={viewKey.data}\n />\n </div>\n <div className='d-flex justify-content-between align-items-center mb-2'>\n <div>\n <h1 className='h3 d-inline-flex m-0 mb-2'>\n {video.data.name}\n </h1>\n </div>\n <AppLink\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.DELETE_STUDENTS_VIDEO,\n args: [ props.userId, props.id ],\n params: { typeId: props.typeId }\n }}\n className='btn btn-outline-dark'\n >\n <Text namespace={namespace} phrase='delete' />\n </AppLink>\n </div>\n <VideoDetailsWithScrollbar video={video.data} />\n </div>\n );\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","BaseLinkifyOptions","className","defaultProtocol","LinkifyHelper","linkifyText","text","options","ops","globalImmersiveReader","fetched","namespace","ImmersiveReader","props","immersiveReader","setImmersiveReader","ajaxRequest","resource","type","HttpVerbs","error","title","LanguageService","onClick","FunctionHelper","onLaunch","AnalyticsHelper","analyticsData","analyticsOptions","content","mimeType","html","subdomain","token","viewBox","fill","TagHelper","getTagActionProps","getTagAppLink","renderAsSpan","tag","appLink","getAppLink","getPhrase","TagItem","disabled","tagClass","name","tagType","hasThemeColour","themeColours","secondary","classNames","getTagTypeClass","onRemove","backgroundColor","role","getTagSortValue","TagList","tags","sortedTags","sort","map","key","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","canClose","onClickClose","showCurriculumLinks","onClickShowCurriculumLinks","autoHeight","autoHeightMax","onLaunchImmersiveReader","onExitImmersiveReader","location","entity","actionType","descriptor","dangerouslySetInnerHTML","__html","nl2br","hideTags","getTags","suppressInteractivity","DivButton","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","hasPPDD","media","_parentVideo","getVideo","MINIMUM_GLANCE_HEIGHT","TagType","TagTypeNumber","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","obj","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","StudentsVideoView","typeId","user","userId","viewKey","config","currentUser","hasCompleted","svgName","size","S","getMessagePhrase","yearGroup","masterYearGroup","application","action","args","params"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/4683-ce52da47d8-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx","file:///app/packages/projects/lite/src/shared/components/play-clip/PlayClip.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\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 { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { PlayClip } from 'shared/components/play-clip/PlayClip';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n const { hasPermissions } = usePermissions();\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n const childClips = Flight.useBasicFetch<Clip[]>(\n !!clip.data?._parentVideo && featureAccess.canViewClips && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n const glanceTheme = Flight.useBasicFetch<Theme>(clip.data?.glance?.theme\n ? ThemeRequests.themeImages(clip.data.glance.theme, clip.data.glance.type) : null);\n\n const shouldFetchTheme = hasPermissions(PermissionName.ViewVideoGlance) &&\n clip.data?.glance?.theme;\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n interactives={interactives.data}\n clips={childClips.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n relatedVideos={relatedVideos}\n canFavourite={canFavourite}\n setFavourite={setFavourite}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n imageCdnUrl={config.data.imageCdnUrl}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n glanceTheme={glanceTheme.data}\n glanceLoaded={!shouldFetchTheme || glanceTheme.hasCompleted}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n isPlugin={isPlugin}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SignUpDescriptors, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoAtAGlance } from 'libs/shared/components/video-at-a-glance/VideoAtAGlance';\nimport { hasGlanceData } from 'libs/shared/components/video-at-a-glance/VideoAtAGlanceUtils';\nimport { VideoDetailsWithScrollbar } from 'libs/shared/components/video-details/VideoDetails';\nimport { VideoDetailsPartial } from 'libs/shared/components/video-details/VideoDetailsPartial';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { ClipWidgetItem, ClipWidgetItemProps } from 'libs/shared/components/widgets/items/clip-widget-item/ClipWidgetItem';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { ResourceWidgetItem, ResourceWidgetItemProps } from 'libs/shared/components/widgets/items/resource-widget-item/ResourceWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, Interactive, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\nimport { getResources } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\nconst namespace = 'shared.playClip';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype DetailsViewType = {\n view: 'v@g' | 'details' | 'loading';\n referrer: 'v@g' | 'details';\n};\n\ninterface PlayClipProps {\n clip: Clip;\n interactives: InteractiveMetadata[];\n clips: Clip[];\n originalVideo: Video;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n imageCdnUrl: string;\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n glanceTheme?: Theme;\n glanceLoaded: boolean;\n tableOfContentsId: string;\n isPlugin: boolean;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n const resourcesRef = React.useRef<HTMLDivElement>(null);\n const interactivesRef = React.useRef<HTMLDivElement>(null);\n\n useTableOfContentsScroll([\n resourcesRef.current,\n interactivesRef.current\n ], props.tableOfContentsId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const hasGlance = hasGlanceData(props.clip, props.glanceTheme) && props.featureAccess.canViewGlance;\n\n const [ detailsView, setDetailsView ] = React.useState<DetailsViewType>({\n view: 'loading',\n referrer: null\n });\n\n React.useEffect(() => {\n if (!props.glanceLoaded)\n return;\n\n setDetailsView({\n view: props.glanceTheme ? 'v@g' : 'details',\n referrer: null\n });\n }, [ props.glanceLoaded, props.glanceTheme ]);\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function limitAccess(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return true;\n\n if (!props.hasProduct(ProductId.Primary))\n return true;\n\n if (hasStudentExperience)\n return true;\n\n return false;\n }\n\n const canAccessOriginal = props.originalVideo && !limitAccess() && !!props.clip._canBeConsumed?.value;\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal)\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ props.originalVideo.id, TextHelper.slugify(props.originalVideo.name) ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const resourcesWidget = getResources(props.clip, hasStudentExperience);\n\n const otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n return (\n <div className='px-4'>\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section className={`mb-2`}>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n }\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <PlayPageTitleAndActions\n media={props.clip}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n />\n\n {/* \n * Toggling between display 'block' and 'none' is *deliberate* done here to facilitate exposure of our content to bots for SEO.\n * The markup of all 3 components should be available in the DOM from the first render. If you're going to refactor,\n * please don't neglect this usecase - Mike\n */}\n <section className={`${detailsView.view === 'v@g' ? 'd-block' : 'd-none'}`}>\n <VideoAtAGlance\n theme={props.glanceTheme}\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n onClickShowDescription={() => setDetailsView({ view: 'details', referrer: 'v@g' })}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'details' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsWithScrollbar\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n onClickClose={hasGlance && (() => setDetailsView({ view: 'v@g', referrer: 'details' }))}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n hideTags={hasGlance}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'loading' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsPartial />\n </section>\n\n {!!resourcesWidget?.length && (\n <section className='pb-3' id={PlayPageAnchor.Resources} ref={resourcesRef}>\n <FixedWidget<ResourceWidgetItemProps>\n name={getPhrase('resources', { count: resourcesWidget.length })}\n contents={WidgetContents.PlayPageResources}\n collection={resourcesWidget}\n prefetched\n childComponent={ResourceWidgetItem}\n extraChildComponentProps={{\n imageCdnUrl: props.imageCdnUrl,\n imageErrorFallbackUrl: ImageUrls.Fallbacks.RESOURCE_THUMBNAIL,\n actionBehaviour: props.featureAccess.canViewResourceItems ? 'normal' : 'public',\n location: 'play-page',\n titlePosition: 'above',\n hideTypeBadge: true\n }}\n getChildAppLink={getResourceAppLink(\n props.clip?.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n )}\n analyticsOptions={(() => {\n if (props.featureAccess.canViewResourceItems)\n return {};\n\n return {\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n };\n })()}\n analyticsData={{ widgetId: 'resources' }}\n />\n </section>\n )}\n\n {!!(otherClips?.length && !limitAccess()) && (\n <div className='pb-3'>\n <FixedWidget<ClipWidgetItemProps>\n name={getPhrase('otherClips', { count: otherClips.length })}\n contents={WidgetContents.Clips}\n collection={otherClips}\n prefetched\n getChildAppLink={(clip: Clip) => {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ clip.id, TextHelper.slugify(clip.name) ]\n };\n }}\n childComponent={ClipWidgetItem}\n extraChildComponentProps={{ video: props.originalVideo, imageCdnUrl: props.imageCdnUrl }}\n analyticsData={{ widgetId: 'clips' }}\n />\n </div>\n )}\n\n {!!(props.interactives?.length && !limitAccess()) && (\n <div className='pb-3' id={PlayPageAnchor.Interactives} ref={interactivesRef}>\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('interactives', { count: props.interactives.length })}\n contents={WidgetContents.Interactives}\n collection={props.interactives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: props.clip,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!!canAccessOriginal && (\n <section className='pb-2 pt-1'>\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </VideoActionsContext.Provider>\n </section>\n )}\n\n <section>\n <RelatedVideos\n currentVideo={props.clip}\n yearGroups={props.yearGroups}\n relatedVideos={props.relatedVideos}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n isPlugin={props.isPlugin}\n />\n </section>\n </div>\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};"],"names":["PlaySharedClipView","props","hasProduct","u","setFavourite","canFavourite","isPlugin","hasPermissions","featureAccess","currentUser","config","clip","objectId","shareId","video","data","_parentVideo","id","relatedVideos","context","queryParams","contextId","moviesAndTv","mtv","interactives","canViewInteractives","childClips","canViewClips","audiences","yearGroups","isAuthenticated","customerId","pointsOfInterest","glanceTheme","glance","theme","type","shouldFetchTheme","content","videos","app","hasCompleted","clips","originalVideo","imageCdnUrl","canManageVideoAccess","glanceLoaded","items","tableOfContentsId","tocId","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","namespace","getPhrase","PlayClip","playerContext","canConsume","videoActions","location","resourcesRef","interactivesRef","current","isArchived","hasStudentExperience","shouldPlayOnExitImmersiveReader","hasGlance","canViewGlance","view","referrer","detailsView","setDetailsView","limitAccess","canAccessOriginal","_canBeConsumed","value","showPlayerPlaceholder","mode","canViewPublicLayout","resourcesWidget","otherClips","filter","c","toString","className","restrictions","_restrictions","objectTypeId","typeId","key","playNext","startTime","t","media","originalVideoAppLink","name","onClickShowDescription","setStartTime","time","playerRef","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","onLaunchImmersiveReader","isPaused","pause","onExitImmersiveReader","play","onClickClose","hideTags","length","ref","count","contents","collection","prefetched","childComponent","R","extraChildComponentProps","imageErrorFallbackUrl","actionBehaviour","canViewResourceItems","titlePosition","hideTypeBadge","getChildAppLink","analyticsOptions","workflowPhase","descriptor","SignUp","analyticsData","widgetId","C","interactive","questionsAppLink","phrase","getVideoAppLink","v","opts","presentationAudiences","getPreviewQuestionsAppLink","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","currentVideo","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4850,4063],{96922:(e,t,n)=>{n.r(t),n.d(t,{SharedSeriesView:()=>c});var r=n(32735),i=n(81886),a=n(183),o=n(60696);function c(e){var t=i.Q.C$.getCurrentAppLink();return r.createElement(o.SeriesView,{key:e.objectId,id:e.objectId,shareId:e.shareId,getVideoAppLink:function(n){return Object.assign(Object.assign({},t),{params:{videoId:n.id,contextId:e.objectId,context:a.Q.Series}})}})}},60696:(e,t,n)=>{n.r(t),n.d(t,{SeriesView:()=>le});var r=n(32735),i=n(70680),a=n(23481),o=n(20354),c=n(65858),s=n(44522),u=n(49935),l=n(11607),d=n(83345),p=n(10038);const f={text:"wLJpg",seeMore:"x5t0p"};function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],s=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){u=!0,i=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var h="shared.expandableText";function b(e){var t,n,i=e.text,a=e.lines,o=void 0===a?2:a,c=v(r.useState(!1),2),s=c[0],u=c[1],m=r.useRef(null),b=r.useRef(0);r.useEffect((function(){m.current.clientHeight&&(b.current=m.current.clientHeight)}),[]);var g=v(r.useState((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current),2),y=g[0],E=g[1];return(0,p.H)((function(){var e;m.current.clientHeight&&(b.current=m.current.clientHeight,E((null===(e=m.current)||void 0===e?void 0:e.scrollHeight)>b.current))})),r.useEffect((function(){var e,t;(null===(e=m.current)||void 0===e?void 0:e.scrollHeight)&&E((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current)}),[null===(n=m.current)||void 0===n?void 0:n.scrollHeight,b.current]),r.createElement("div",{className:"d-flex overflow-hidden"},r.createElement("div",{className:"".concat(s?"":"clamp-".concat(o)," ").concat(f.text),ref:m},!s&&y&&r.createElement(l.L,{onClick:function(){return u(!0)},className:"ms-1 info-text hover-text-underline ".concat(f.seeMore)},r.createElement(d.x,{namespace:h,phrase:"seeMore"})),r.createElement("p",{className:"mb-0 d-inline"},i),s&&r.createElement(l.L,{onClick:function(){return u(!1)},className:"ms-1 info-text hover-text-underline d-inline"},r.createElement(d.x,{namespace:h,phrase:"seeLess"}))))}var g=n(71020),y=n(74696),E=n(13231),S=n(79718),k=n(7733),w=n(51365),I=n(16714),A=n(23788),L=n(21750),x=n(39151),j=n(1666),O=n(60011),C=n(31949),P=n(63719),T=n(56520),N=n(91286),F=n(60115),H=n(22902),_=n(79612),V=n(76753),G=n(35223),R=n(68140),B=n(14070),M=n(97291),U=n(64364);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function J(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function Q(e){var t=function(e,t){if("object"!=D(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}function W(e,t,n){return t=$(t),function(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Z()?Reflect.construct(t,n||[],$(e).constructor):t.apply(e,n))}function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Z=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},$(e)}function K(e,t){return K=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},K(e,t)}var q="shared.seriesNotFoundError",z=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),W(this,t,["Series doesn't exist"])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&K(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"SeriesNotFoundError"}},{key:"heading",get:function(){return a.T.getPhrase(q,"heading")}},{key:"description",get:function(){return a.T.getPhrase(q,"description")}}])&&J(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(U.H),X=n(51855),Y=n(10671),ee=n(7179),te=n(27638),ne=n(44110),re=n(97816),ie=n(10741),ae=n(33192),oe=n(22490),ce=n(82431),se=a.T.encloseNamespace("shared.series"),ue=function(e){return k.o[e.name.charCodeAt(0)%k.o.length]};function le(e){var t,n,a,l,d=(0,i.I0)(),p=(0,te.u)(c.LZ.VideoThumbnail),f=p.setFavourite,v=p.canFavourite,m=(0,H.T)(),h=m.hasPermissions,k=m.hasLocalPermissions,U=(0,X.G)().isPlugin,D=(0,T.R0)(),J=D.openInCurationStudioLabel,Q=D.isUserCurator,W=D.getOpenInCurationStudioLink;(0,ee.P)({id:e.id,app:"series",shareId:e.shareId});var Z=o.a.useBasicFetch(x.L.config()),$=o.a.useBasicFetch(C.N.currentUser()),K=o.a.useBasicFetch((null===(t=$.data)||void 0===t?void 0:t.isAuthenticated)&&j.h.yearGroups($.data.customerId)),q=o.a.useBasicFetch(e.shareId?O.J.sharedSeries(e.id,e.shareId):O.J.series(e.id)),le=(0,ne.i)();(0,_.M)(V.CG.getSeriesMetadata({content:q.data,phraseContext:{phraseHandler:se,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:ae.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:ae.f.allowIndexing()}));var de=(0,Y._)({location:Y.i.VideoItem,shareId:e.shareId}),pe=o.a.useBasicFetch(e.classificationId&&L.x.path(e.classificationId));function fe(e){return!ae.f.isBot()||!e}function ve(t){var n;return fe(t)?O.J.seriesVideos(e.id,null===(n=$.data)||void 0===n?void 0:n.id,he,t):null}function me(e){return o.a.getFetch(d)(ve(e))}var he=!!$.data&&R.d.getOrSetSortType($.data.id,e.sort,A.D.Series),be={classificationId:e.classificationId,mtv:e.moviesAndTv},ge=(0,F.K)(!!$.data&&ve,me),ye=ge.items,Ee=ge.isFetching,Se=ge.nextCursor;(0,re.V)(ye),(0,N.v)(q,{notFound:z});var ke=!h(I.C.StudentExperience)&&k(I.E.UseSeriesActions),we=(0,P.h)({name:null===(n=q.data)||void 0===n?void 0:n.name});return r.createElement(w.M.Provider,{value:de},r.createElement("div",{className:"px-3"},Z.data&&q.data?r.createElement(s.p,{heading:q.data.name,banner:q.data.banner,imageCdnUrl:Z.data.imageCdnUrl,actions:function(){var e,t,n;if(U||!ke)return[];var r=[{label:se("share"),appLink:q&&{application:M.O.DEFAULT,action:B.e.Default.SHARE,args:[null===(e=q.data)||void 0===e?void 0:e.id],params:{entityType:"series"}},svgName:G.vn.Share2,className:"btn btn-outline-dark me-2",button:!0}];return Q&&r.push({label:J,href:W(null===(t=q.data)||void 0===t?void 0:t.typeId,null===(n=q.data)||void 0===n?void 0:n.id),openInNewTab:!0}),r}(),actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:ue(q.data)}):r.createElement(s.v,null),r.createElement("div",null,r.createElement("div",{className:(null===(a=q.data)||void 0===a?void 0:a.description)||e.moviesAndTv&&pe.data?"border-bottom py-3 mb-3":"pt-3 mb-2"},!q.data||e.classificationId&&!pe.data?r.createElement(u.b2,null):r.createElement(u.Oo,{breadcrumbs:we}),r.createElement("div",{className:"d-flex align-items-center"},(null===(l=q.data)||void 0===l?void 0:l.description)&&r.createElement("div",{className:"mb-0 ".concat(e.classificationId?"pt-2":"")},r.createElement(b,{text:q.data.description})),q.data&&r.createElement("div",{className:"ms-auto"},r.createElement(S.p,{variant:"outline-dark",type:he,analyticsOptions:{location:c.LZ.VideoListHeader,entity:c.py.Video,actionType:c.Vw.Sort,workflowPhase:c.eu.Complete},getSortAppLink:function(e){return ce.j.getSeriesAppLink(q.data,Object.assign(Object.assign({},be),{sort:e}))}})))),ye?r.createElement(r.Fragment,null,r.createElement(E.E4,{videos:ye,yearGroups:K.data,getVideoAppLink:e.getVideoAppLink,hasPermissions:h,getSubTextAppLink:function(e){return ce.j.getSeriesAppLink(null==e?void 0:e.series,Object.assign(Object.assign({},be),{sort:he}))},setFavourite:f,canFavourite:v,presentationAudiences:e.moviesAndTv?null:le.data,getPreviewQuestionsAppLink:function(e){return ie.j.getPreviewQuestionsAppLink(e)},isPlugin:U,getClassroomGuideAppLink:oe.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:oe.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:oe.W.getResourceGuidanceAppLink}),(Ee||Se)&&fe(Se)&&r.createElement(g._,{isFetching:Ee,fetchNext:me,nextCursor:Se})):r.createElement(y.S,null))))}}}]);
|
|
2
|
-
//# sourceMappingURL=4850-5ddd277550-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/4850-5ddd277550-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-series/SharedSeriesView.tsx","file:///app/packages/libs/shared/src/components/expandable-text/expandable-text.scss","file:///app/packages/libs/shared/src/components/expandable-text/ExpandableText.tsx","file:///app/packages/projects/lite/src/shared/errors/series/series-not-found/SeriesNotFoundError.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { Video } from 'libs/shared/interfaces';\n\nimport { SeriesView } from 'shared/views/series/SeriesView';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedSeriesView(props: ShareLinkViewProps): JSX.Element {\n const currentAppLink = Core.AppLinkHelper.getCurrentAppLink();\n\n const getVideoAppLink = (video: Video) => ({\n ...currentAppLink,\n params: {\n videoId: video.id,\n contextId: props.objectId,\n context: RelatedVideosContext.Series\n }\n });\n\n return (\n <SeriesView\n key={props.objectId}\n id={props.objectId}\n shareId={props.shareId}\n getVideoAppLink={getVideoAppLink}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"wLJpg\",\"seeMore\":\"x5t0p\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\n\nimport styles from './expandable-text.scss';\n\ninterface ExpandableTextProps{\n text: string;\n lines?: number;\n}\n\nconst namespace = 'shared.expandableText';\n\nexport function ExpandableText(props: ExpandableTextProps): JSX.Element {\n const { text, lines = 2 } = props;\n const [ expanded, setExpanded ] = React.useState(false);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const memoClientHeight = React.useRef<number>(0);\n React.useEffect(() => {\n if (containerRef.current.clientHeight)\n // memo the initial clientHeight, cuz after expand and collapse the clientHeight will change\n memoClientHeight.current = containerRef.current.clientHeight;\n }, []);\n\n const [ showButton, setShowButton ] = React.useState(containerRef.current?.scrollHeight > memoClientHeight.current);\n\n useResizeListener(() => {\n if (containerRef.current.clientHeight) {\n // update memo value on resize\n memoClientHeight.current = containerRef.current.clientHeight;\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n });\n\n React.useEffect(() => {\n if (containerRef.current?.scrollHeight) {\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n }, [ containerRef.current?.scrollHeight, memoClientHeight.current ]);\n\n return (\n <div className='d-flex overflow-hidden'>\n <div className={`${expanded ? '' : `clamp-${lines}`} ${styles.text}`} ref={containerRef}>\n {(!expanded && showButton) && (\n <DivButton\n onClick={() => setExpanded(true)}\n className={`ms-1 info-text hover-text-underline ${styles.seeMore}`}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </DivButton>\n )}\n <p className='mb-0 d-inline'>{text}</p>\n {expanded && (\n <DivButton\n onClick={() => setExpanded(false)}\n className={`ms-1 info-text hover-text-underline d-inline`}\n >\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n )}\n </div>\n </div>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.seriesNotFoundError';\n\nexport class SeriesNotFoundError extends ErrorPageError {\n constructor() {\n super('Series doesn\\'t exist');\n }\n\n // @ts-ignore\n public get name(): string {\n return 'SeriesNotFoundError';\n }\n\n // @ts-ignore\n public get heading(): string {\n return LanguageService.getPhrase(namespace, 'heading');\n }\n\n // @ts-ignore\n public get description(): string {\n return LanguageService.getPhrase(namespace, 'description');\n }\n}","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableText } from 'libs/shared/components/expandable-text/ExpandableText';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, Config, CurrentUser, Series, Video, YearGroup } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { SeriesNotFoundError } from 'shared/errors/series/series-not-found/SeriesNotFoundError';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getFallbackBannerColourClass = (series: Series): string => {\n return BG_COLOUR_CLASS_NAMES[series.name.charCodeAt(0) % BG_COLOUR_CLASS_NAMES.length];\n};\n\ninterface SeriesViewProps {\n id: string;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n classificationId?: string;\n shareId?: string;\n moviesAndTv?: boolean;\n sort?: VideoSortType;\n}\n\nexport function SeriesView(props: SeriesViewProps): JSX.Element {\n const dispatch = useDispatch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n useDeepLinks({ id: props.id, app: 'series', shareId: props.shareId });\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\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 series = Flight.useBasicFetch<Series>(props.shareId\n ? SeriesRequests.sharedSeries(props.id, props.shareId)\n : SeriesRequests.series(props.id));\n\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata(PageMetadataHelper.getSeriesMetadata({\n content: series.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, shareId: props.shareId });\n\n const topicPath = Flight.useBasicFetch<Classification[]>(\n props.classificationId &&\n ClassificationRequests.path(props.classificationId)\n );\n\n /**\n * Infinite scrolling will be restricted for public browsing as a crawler/bot.\n * The rationale behind this is that we don't want to preload or allow crawlers\n * to enumerate the entirety of our series collections. Some series have > 10k videos\n * and they don't all need to be indexed (i.e. old news/current affair series).\n * \n * Public browsing by regular users will continue to paginate, along with authenticated\n * users. - Mike\n */\n function shouldFetch(cursor?: string) {\n if (SeoHelper.isBot() && cursor)\n return false;\n\n return true;\n }\n\n function getVideosRequest(cursor?: string) {\n if (!shouldFetch(cursor))\n return null;\n\n return SeriesRequests.seriesVideos(props.id, currentUser.data?.id, sort, cursor);\n }\n\n function fetchNext(cursor?: string) {\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n function getBannerActions(): ActionOptions[] {\n if (isPlugin || !showHeaderActions) {\n return [];\n }\n\n const actions: ActionOptions[] = [{\n label: getPhrase('share'),\n appLink: series && {\n application: AppChannels.DEFAULT,\n action: Actions.Default.SHARE,\n args: [series.data?.id],\n params: { entityType: 'series' }\n },\n svgName: cvSvgLibrary.Share2,\n className: 'btn btn-outline-dark me-2',\n button: true\n }];\n\n if (isUserCurator)\n actions.push({\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(series.data?.typeId, series.data?.id),\n openInNewTab: true\n });\n\n return actions;\n }\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data && VideoSortHelper.getOrSetSortType(\n currentUser.data.id,\n props.sort,\n VideoSortType.Series\n );\n\n const seriesParams = {\n classificationId: props.classificationId,\n mtv: props.moviesAndTv\n };\n\n const {\n items: videos,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(currentUser.data ? getVideosRequest : false, fetchNext);\n\n useVideoMixin(videos);\n\n useHandleObjectError(series, {\n notFound: SeriesNotFoundError\n });\n\n const showHeaderActions = !hasPermissions(PermissionName.StudentExperience) &&\n hasLocalPermissions(LocalPermissionName.UseSeriesActions);\n\n const breadcrumbs = useBreadcrumbs({ name: series.data?.name });\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n {config.data && series.data\n ? (\n <BannerHeader\n heading={series.data.name}\n banner={series.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n actions={getBannerActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n blockColourClass={getFallbackBannerColourClass(series.data)}\n />\n ) : <PartialBannerHeader />\n }\n \n <div>\n <div className={series.data?.description || (props.moviesAndTv && topicPath.data) ? 'border-bottom py-3 mb-3' : 'pt-3 mb-2'}>\n {(() => {\n if (!series.data || (props.classificationId && !topicPath.data))\n return <PartialBreadcrumbs />;\n\n return (\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n );\n })()}\n\n <div className='d-flex align-items-center'>\n {series.data?.description && (\n <div className={`mb-0 ${props.classificationId ? 'pt-2' : ''}`}>\n <ExpandableText text={series.data.description}/>\n </div>\n )}\n\n {series.data && (\n <div className='ms-auto'>\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n getSortAppLink={sort => {\n return SeriesAppLinkHelper.getSeriesAppLink(series.data, { ...seriesParams, sort });\n }}\n />\n </div>\n )}\n </div>\n </div>\n\n {(() => {\n if (!videos)\n return <PartialVideoList />;\n\n return (\n <>\n <VideoList\n videos={videos}\n yearGroups={yearGroups.data}\n getVideoAppLink={props.getVideoAppLink}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video =>\n SeriesAppLinkHelper.getSeriesAppLink(video?.series, { ...seriesParams, sort })}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={props.moviesAndTv ? null : audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {(isFetching || nextCursor) && shouldFetch(nextCursor) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n />\n )}\n </>\n );\n })()}\n </div>\n </div>\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["SharedSeriesView","props","currentAppLink","SeriesView","key","objectId","id","shareId","getVideoAppLink","video","params","videoId","contextId","context","namespace","ExpandableText","text","lines","expanded","setExpanded","containerRef","memoClientHeight","current","clientHeight","scrollHeight","showButton","setShowButton","className","ref","DivButton","onClick","Text","phrase","SeriesNotFoundError","LanguageService","ErrorPageError","getPhrase","getFallbackBannerColourClass","series","name","charCodeAt","dispatch","useLiteFavourites","u","setFavourite","canFavourite","usePermissions","hasPermissions","hasLocalPermissions","isPlugin","usePluginHelper","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useDeepLinks","app","config","ConfigRequests","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","SeriesRequests","audiences","usePresentationAudiences","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","allowIndexing","videoActions","useVideoActions","location","topicPath","classificationId","ClassificationRequests","shouldFetch","cursor","getVideosRequest","sort","fetchNext","VideoSortHelper","VideoSortType","seriesParams","mtv","moviesAndTv","videos","items","isFetching","nextCursor","useVideoMixin","notFound","showHeaderActions","PermissionName","breadcrumbs","useBreadcrumbs","VideoActionsContext","value","BannerHeader","heading","banner","imageCdnUrl","actions","label","appLink","application","action","args","entityType","svgName","button","push","href","typeId","openInNewTab","getBannerActions","actionsDropdownClassName","blockColourClass","description","Breadcrumbs","VideoSortSelect","variant","type","analyticsOptions","entity","actionType","workflowPhase","getSortAppLink","SeriesAppLinkHelper","VideoList","getSubTextAppLink","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","VideoAppLinkHelper","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","InfiniteScrollFooter","PartialVideoList"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 5220-85898810a6-lite.chunk.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5220],{34468:(e,t,n)=>{"use strict";n.d(t,{R:()=>a});var r=n(32735),i=n(73758);function a(e,t,n,a){var o=function(){i.n.unsubscribe(e,t)};return(0,r.useEffect)((function(){if(a)return n?i.n.subscribeOnce(e,t):i.n.subscribe(e,t),function(){o()}}),[]),o}},73758:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function a(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{n:()=>o});var o=new(function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.listeners={}},t=[{key:"subscribe",value:function(e,t){this.registerListener(e,t)}},{key:"subscribeOnce",value:function(e,t){this.registerListener(e,t,1)}},{key:"unsubscribe",value:function(e,t){this.deregisterListener(e,t)}},{key:"trigger",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.triggerCallbacks(e,n)}},{key:"registerListener",value:function(e,t,n){var r;if("string"!=typeof e)throw new Error("Event name must be a string");if("function"!=typeof t)throw new Error("Event callback must be a function");if(n&&"number"!=typeof n)throw new Error("Execution limit must be a number or undefined");this.listeners[e]=null!==(r=this.listeners[e])&&void 0!==r?r:[],this.listeners[e].push({callback:t,executionLimit:n})}},{key:"deregisterListener",value:function(e,t){var n;if("string"!=typeof e)throw new Error("Event name must be a string");if(t&&"function"!=typeof t)throw new Error("Event callback must be a function");if(t){var r=null===(n=this.listeners[e])||void 0===n?void 0:n.findIndex((function(e){return e.callback===t}));"number"==typeof r&&-1!==r&&(this.listeners[e].splice(r,1),0===this.listeners[e].length&&delete this.listeners[e])}else this.listeners[e]=[]}},{key:"triggerCallbacks",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];if(this.listeners[e]){var a=[];this.listeners[e].forEach((function(e){var t,n;"number"==typeof e.executionLimit&&(e.executionCount=null!==(n=e.executionCount)&&void 0!==n?n:0,e.executionCount++,e.executionCount===e.executionLimit&&a.push(e.callback)),(t=e.callback).apply.apply(t,[null].concat(r))})),a.length&&a.forEach((function(n){return t.deregisterListener(e,n)}))}}}],t&&i(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}())},1353:(e,t,n)=>{"use strict";n.d(t,{$:()=>s});var r=n(32735),i=n(23481),a=n(11607),o=n(54610),c=n(67453),l=n(22161),u=i.T.encloseNamespace("shared.curriculumLinks");function s(e){var t=e.data;return r.createElement(a.L,{key:t.id,className:"p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ".concat(l.Z.tag," ").concat(e.selected?l.Z.selected:""),onClick:function(){return e.onChangeCurriculum(t.id.toString())},"aria-label":"".concat(u("ariaFilter")," ").concat(t.name)},r.createElement("div",{className:"bg-white ".concat(l.Z.cover," rounded-circle border")},r.createElement("img",{src:c.j.createUrl(t.cover.url,{size:o.h2.Small}),alt:t.name,className:"rounded-circle"})),r.createElement("div",{className:"ms-2"},t.name))}},38496:(e,t,n)=>{"use strict";n.d(t,{p:()=>u});var r=n(32735),i=n(23481),a=n(23232),o=n(83345),c="shared.curriculumLinks",l=i.T.encloseNamespace(c);function u(e){return r.createElement(a.u,{className:"pt-3"},r.createElement(a.u.Image,{src:e.emptyStateUrl,altText:l("emptyInfo"),size:"small"}),r.createElement(a.u.Heading,null,r.createElement(o.x,{namespace:c,phrase:"emptyHeading"})),r.createElement(a.u.Info,null,r.createElement(o.x,{namespace:c,phrase:"emptyInfo"})))}},44599:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(32735);var i=function(){return r.createElement(r.Fragment,null,r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ".concat("vDcrq")}),r.createElement("div",null,r.createElement("div",{className:"partial-loading-background mb-1 ".concat("GXhoW")}),r.createElement("div",{className:"mb-2 d-flex"},r.createElement("div",{className:"me-1 align-self-start ".concat("goKaS")},r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100"})),r.createElement("div",{className:"partial-loading-background ".concat("vFew6")}))))};function a(){return r.createElement("div",null,r.createElement("div",{className:"mb-3"},r.createElement(i,null)),r.createElement("div",{className:"mb-3"},r.createElement(i,null)),r.createElement("div",null,r.createElement(i,null)))}},34223:(e,t,n)=>{"use strict";n.d(t,{Y:()=>g});var r=n(32735),i=n(38496),a=n(44599),o=n(83345),c=n(85597);const l={curriculumSubject:"i4D3h",curriculumSet:"WCdf9",areaLeafSet:"o8H8s",closeButton:"McsPs",leafDescriptionOnly:"xmEEo"};function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==u(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var f=/(.*)\s\((.*)?\)/i,m="shared.curriculumLinks",p="text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold";function v(e){function t(){var t=p+" bg-white border";return!e.leaf.name&&e.uiContainsCodes?t+" border-secondary text-secondary":t+" border-dark"}var n=r.useRef();return r.useEffect((function(){if(n.current){var t=n.current.getBoundingClientRect().width;e.trySetMaxCodeWidth(t)}}),[n.current]),r.createElement("div",{className:"d-flex"},e.leaf.description?!e.leaf.name&&e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},r.createElement(o.x,{namespace:m,phrase:"noCode"}))),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):e.leaf.name||e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},e.leaf.name)),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.description}}):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.name}}))}function y(e){var t,n,i,a={},o=!1;function u(e){var t="mb-2";return e.name||o?t:t+" ms-4 "+l.leafDescriptionOnly}return e.linkSet.areasAndLeaves.forEach((function(e){var t=e[c.k.Area].map((function(e){return e.name})).join(" - ");a[t]?e[c.k.Leaf].forEach((function(e){a[t].push(e),e.name&&(o=!0)})):a[t]=e[c.k.Leaf]})),r.createElement(r.Fragment,null,r.createElement("h3",{className:"".concat(p," text-white bg-dark-blue fw-normal me-1 mb-2")},(t=e.linkSet[c.k.Audience].name,n=e.linkSet[c.k.Subject].name,(i=t.match(f))?"".concat(i[1]," • ").concat(i[2]," • ").concat(n):"".concat(t," • ").concat(n))),r.createElement("div",{className:"me-2 ".concat(l.curriculumSubject)},Object.keys(a).map((function(t,n){return r.createElement("div",{key:n,className:l.areaLeafSet},t&&r.createElement("h4",{className:"mb-1 font-size-normal"},t),r.createElement("ul",{className:"list-unstyled"},a[t].map((function(t){return r.createElement("li",{key:t.id,className:u(t)},r.createElement(v,{leaf:t,codeWidth:e.codeWidth,trySetMaxCodeWidth:e.trySetMaxCodeWidth,uiContainsCodes:o}))}))))}))))}function g(e){var t,n,o,u=(n=r.useState(0),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(n,o)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=u[0],m=u[1];function p(e){m((function(t){return t>=e?t:e}))}var v=r.useMemo((function(){var t={};return e.curriculumLinks.forEach((function(e){var n=null,r=null,i=[],a=[];e.forEach((function(e){switch(e.type){case c.k.Subject:n=e;break;case c.k.Audience:r=e;break;case c.k.Area:i.push(e);break;case c.k.Leaf:a.push(e)}}));var o="".concat(n.id,":").concat(r.id);t[o]?t[o].areasAndLeaves.push(s(s({},c.k.Area,i),c.k.Leaf,a)):t[o]=s(s(s({},c.k.Subject,n),c.k.Audience,r),"areasAndLeaves",[s(s({},c.k.Area,i),c.k.Leaf,a)])})),t}),[e.curriculumLinks]);return e.curriculumLinks?(null===(t=e.curriculumLinks)||void 0===t?void 0:t.length)?r.createElement("ul",{className:"list-unstyled m-0"},Object.keys(v).map((function(e,t){return r.createElement("li",{key:"linkset-".concat(t),className:l.curriculumSet},r.createElement(y,{linkSet:v[e],trySetMaxCodeWidth:p,codeWidth:f}))}))):r.createElement(i.p,{emptyStateUrl:e.emptyStateUrl}):r.createElement(a.Z,null)}},22283:(e,t,n)=>{"use strict";n.d(t,{P:()=>c});var r=n(32735),i=n(1353),a=n(63112),o=n(65163);function c(e){var t,n,c;return r.createElement(o.eb,{collection:(null===(t=e.selectedCurriculum)||void 0===t?void 0:t.id)?e.curriculums.nonEmptyCurriculums:null,childClassName:"flex-shrink-0",childComponent:function(t){var n,a;return r.createElement(i.$,Object.assign({},t,{selected:(null===(a=null===(n=e.selectedCurriculum)||void 0===n?void 0:n.id)||void 0===a?void 0:a.toString())===t.data.id.toString(),onChangeCurriculum:e.onChangeCurriculum}))},partialLoadingComponent:function(){return r.createElement(a.o,null)},widgetDataDeps:[null===(c=null===(n=e.selectedCurriculum)||void 0===n?void 0:n.id)||void 0===c?void 0:c.toString(),e.onChangeCurriculum],noNegativePadding:e.noNegativePadding})}},51184:(e,t,n)=>{"use strict";n.d(t,{NE:()=>s,RH:()=>f,Wp:()=>d});var r=n(32735),i=n(16367),a=n(34468),o=n(73758),c=n(63847);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u=/\[\]\(cv:\/\/poi\?id=\d+\)\n*/g;function s(e,t){var n,a,o,c=(a=(0,r.useState)(""),o=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(a,o)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(a,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],d=c[1];return(0,r.useEffect)((function(){if(t){var n=(r=e.glance,a=r.content.replace(u,""),i(a));d(n)}var r,a}),[null===(n=e.glance)||void 0===n?void 0:n.content,t]),s}function d(e){var t,n;return(null===(t=e.glance)||void 0===t?void 0:t.content)&&"text/markdown"===(null===(n=e.glance)||void 0===n?void 0:n.format)}function f(e,t){var n=(0,r.useRef)();function i(){e&&o.n.trigger("glance:poi:mouseover",e)}function l(){o.n.trigger("glance:poi:mouseleave")}return(0,a.R)("player:poi:mouseover",(function(t){var r,i,a;(null==t?void 0:t.id)&&(null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.toString())===(null===(i=null==t?void 0:t.id)||void 0===i?void 0:i.toString())&&(null===(a=n.current)||void 0===a||a.classList.add(c.Z.highlightPoi))}),null,t),(0,a.R)("player:poi:mouseleave",(function(){var e;null===(e=n.current)||void 0===e||e.classList.remove(c.Z.highlightPoi)}),null,t),(0,r.useEffect)((function(){var e,r;if(n.current&&t)return null===(e=n.current)||void 0===e||e.addEventListener("mouseover",i),null===(r=n.current)||void 0===r||r.addEventListener("mouseleave",l),function(){var e,t;null===(e=n.current)||void 0===e||e.removeEventListener("mouseover",i),null===(t=n.current)||void 0===t||t.removeEventListener("mouseleave",l)}}),[n.current]),n}},64921:(e,t,n)=>{"use strict";n.d(t,{j:()=>j});var r=n(32735),i=n(59087),a=n.n(i),o=n(42648),c=n(23481),l=n(49985),u=n(65858),s=n(11607),d=n(83345),f=n(93264),m=n(51184);const p={poiEntry:"vr6R9",poiText:"znHZF",public:"v0BZ9",poiTimeStamp:"AdKwe",wideBadge:"YR2Hh"};function v(e){var t=f.T.ToDisplayDuration(1e3*e.poi.startTime),n=(0,m.RH)(e.poi,!e.suppressInteractivity);return e.suppressInteractivity?r.createElement("div",{className:"d-flex ".concat(p.poiEntry," mb-2")},r.createElement("span",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold text-info bg-light-blue ".concat(p.poiTimeStamp," ").concat(e.wideBadge?p.wideBadge:"")},t),r.createElement("div",{className:"".concat(p.public," ms-2")},e.poi.description)):r.createElement(s.L,{key:e.poi.startTime,className:"d-flex ".concat(p.poiEntry," mb-2 cursor-pointer"),onClick:function(){return e.onClickPoiItem(e.poi.startTime)},ref:n},r.createElement("div",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold text-info bg-light-blue ".concat(p.poiTimeStamp," ").concat(e.wideBadge?p.wideBadge:"")},t),r.createElement("div",{className:"ms-2 ".concat(p.poiText)},e.poi.description))}var y="shared.pointsOfInterestList";function g(e){var t=e.pointsOfInterest.sort((function(e,t){return e.startTime-t.startTime})),n=t.some((function(e){return e.startTime>=3600}));return r.createElement("div",null,r.createElement("h2",{className:"h6 my-2"},r.createElement(d.x,{namespace:y,phrase:"heading"})),r.createElement("div",null,t.map((function(t){return r.createElement(v,{key:t.startTime,poi:t,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:e.onClickPoiItem,wideBadge:n})}))))}var h=n(83914),b=n(87311),E=n(91743),w=n(76177),C=n(44829),k=n(35223),S=n(31908),x=n(63847);function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var O="shared.videoAtAGlanceV2",A=c.T.encloseNamespace(O),N=350;function P(e){return e.hideScrollbar?r.createElement(r.Fragment,null,e.children):r.createElement("div",{className:"rounded border mb-4 bg-white"},r.createElement(o.ZP,{autoHeight:!0,autoHeightMax:N},r.createElement("div",{className:"px-3 px-3 pt-3 pb-2"},e.children)))}function j(e){var t,n,i,o=(0,m.NE)(e.video,e.canViewGlance),c=(n=r.useState(""),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(n,i)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(e,t):void 0}}(n,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],f=c[1],p=function(){var t,n,r,i;return S.M.isInteractive(e.video)||!(null===(n=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length)?null:null===(i=null===(r=e.video.tags)||void 0===r?void 0:r.data)||void 0===i?void 0:i.filter((function(e){return e.tagType===C.Q.Pedagogy||e.tagType===C.Q.Skill}))}(),v=r.useRef(null);return r.useEffect((function(){var e;(null===(e=v.current)||void 0===e?void 0:e.innerText)&&f(v.current.innerText)}),[null===(t=v.current)||void 0===t?void 0:t.innerText]),e.canViewGlance?r.createElement("section",{className:"play-page-section"},r.createElement(P,{hideScrollbar:e.hideScrollbar},r.createElement("h2",{className:"h6 mb-2"},r.createElement(d.x,{namespace:O,phrase:"learningIntention"})),r.createElement("div",{className:"mb-3 ".concat(x.Z.learningIntention)},r.createElement(w.u,{title:A("copy"),spanHack:!0,spanHackClassName:x.Z.icon},r.createElement(a(),{text:s},r.createElement(h.x,{className:"svg-container me-1 cursor-pointer",svgName:k.vn.Copy,size:h.S.Small,onClick:function(){var t={id:e.video.glance.id,videoId:e.video.id,videoName:e.video.name,learningIntention:s},n={actionType:u.Vw.Copy,entity:u.py.Glance,location:u.LZ.PlayPage};l.k.logUserAction(t,n)}}))),r.createElement("div",{dangerouslySetInnerHTML:{__html:o},className:"d-inline",ref:v})),!!(null==p?void 0:p.length)&&r.createElement("div",{className:"mb-1"},r.createElement(E.P,Object.assign({tags:p},b.G.getTagActionProps(e.getTagAppLink,e.onClickTag,e.suppressInteractivity),{className:"mt-2"}))),!!e.pointsOfInterest.length&&r.createElement(g,{pointsOfInterest:e.pointsOfInterest,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:function(t){e.setStartTime(t)}}))):r.createElement(r.Fragment,null)}},63112:(e,t,n)=>{"use strict";n.d(t,{o:()=>a});var r=n(32735),i=n(91807),a=r.memo((function(e){var t=e.tagClass,n="partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ".concat(void 0===t?"":t," ").concat(i.Z.partialTag);return r.createElement("div",{className:"mt-1"},r.createElement("span",{className:n}," "))}))},87311:(e,t,n)=>{"use strict";n.d(t,{G:()=>i});var r=n(81886),i={getTagActionProps:function(e,t,n){return n?{onClick:function(n){t&&t();var i=e?e(n):null;if(i)return r.Q.C$.trigger(i)}}:{getAppLink:function(t){return e?e(t):null},onClick:t}}}},16035:(e,t,n)=>{"use strict";n.d(t,{z:()=>u});var r=n(32735),i=n(23481),a=n(36848),o=n(44829),c=n(91807),l=i.T.encloseNamespace("shared.tags");function u(e){var t,n,i=e.tag,u=e.appLink,s=e.onClick,d=e.disabled,f=e.tagClass,m=void 0===f?"tag":f,p=i.name.toLowerCase(),v=null===(t=i.tagType)||void 0===t?void 0:t.toLowerCase(),y=v===o.Q.Normal&&e.themeColours&&!!(null===(n=e.themeColours)||void 0===n?void 0:n.secondary),g="rounded-pill py-1 px-2 my-1 me-1 ".concat(m," ").concat(function(e,t){switch(e){case o.Q.Pedagogy:case o.Q.Skill:return"pedagogy-tag text-white";case o.Q.Hidden:return"hidden-tag fw-normal";case o.Q.Normal:return t?"":"bg-gray-100 fw-normal";default:return""}}(v,y));y&&(g+=" text-white"),!u&&!s||d||(g+=" cursor-pointer"),d&&(g+=" "+c.Z.disabled),e.onRemove&&(g+=" "+c.Z.badge),u||(g+=" d-inline-block");var h=y?{backgroundColor:e.themeColours.secondary}:{};return u?r.createElement(a.F,{onClick:s,appLink:u,className:g,title:p,style:h},r.createElement("span",{className:"text-truncate text-nowrap"},p)):r.createElement("button",{onClick:s,className:g,title:p,style:h,"aria-label":"".concat(l("ariaFilter")," ").concat(p)},r.createElement("span",{className:"text-truncate text-nowrap"},p,e.onRemove&&r.createElement("button",{onClick:e.onRemove,className:"".concat(c.Z.close," btn-close font-size-normal"),role:"button","aria-label":"Close"})))}},91743:(e,t,n)=>{"use strict";n.d(t,{P:()=>u});var r=n(32735),i=n(16035),a=n(44829),o=n(91807);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function l(e){var t;switch(null===(t=e.tagType)||void 0===t?void 0:t.toLowerCase()){case a.Q.Pedagogy:return 0;case a.Q.Skill:return 1;default:return 2}}function u(e){if(!e.tags)return r.createElement(r.Fragment,null);var t,n=(t=e.tags,function(e){if(Array.isArray(e))return c(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(t)||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.")}()).sort((function(e,t){return l(e)-l(t)}));return r.createElement("div",{className:"".concat(o.Z.tagList," ").concat(e.className)},n.map((function(t){var n="function"==typeof e.getAppLink?e.getAppLink(t):null,a="function"==typeof e.onRemove?function(){return e.onRemove(t)}:null,o="function"==typeof e.onClick?function(){return e.onClick(t)}:null;return r.createElement(i.z,{key:t.id||t.name,tag:t,appLink:n,themeColours:e.themeColours,onRemove:a,onClick:o})})))}},88513:(e,t,n)=>{"use strict";n.d(t,{B:()=>s});var r=n(32735),i=n(23481),a=n(65858),o=n(36848);const c={seeMore:"yv0FS"};var l=i.T.encloseNamespace("shared.widgetHeader");function u(e){return r.createElement("div",{className:"ms-3 ".concat(c.seeMore)},r.createElement(o.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:a._S.SeeMore}),className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":"")},r.createElement("p",{className:"hover-text-underline text-dark curated-widget-heading"},l("seeMore"))))}function s(e){var t=!!e.description;return e.name||e.description?r.createElement("div",{className:"curated-widget-header"},r.createElement("div",{className:"d-flex justify-content-between"},!!e.name&&r.createElement("div",{className:c.title},r.createElement(o.F,{appLink:e.appLink,analyticsOptions:e.analyticsOptions,analyticsData:e.analyticsData,className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":""),onClick:e.onClick},r.createElement("h2",{className:"h4 curated-widget-heading"},e.name))),!!e.appLink&&!t&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e))),t&&r.createElement("div",{className:"d-flex justify-content-between align-items-end"},r.createElement("p",{className:"description curated-widget-description ".concat(c.description)},r.createElement("span",null,e.description)),!!e.appLink&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e)))):r.createElement(r.Fragment,null)}},65163:(e,t,n)=>{"use strict";n.d(t,{QL:()=>r.Q,eb:()=>r.e});var r=n(16450);n(14244)},29420:(e,t,n)=>{"use strict";n.d(t,{T:()=>l});var r=n(32735);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var c=400;function l(e){var t=e.type,n=e.state,o=e.containerRef,l=e.mediaQuery,u=a(r.useState(!1),2),s=u[0],d=u[1],f=a(r.useState({}),2),m=f[0],p=f[1],v=a(r.useState(null),2),y=v[0],g=v[1];return r.useEffect((function(){"dynamic"===t&&o.current&&n.containerLeftPosition&&setTimeout((function(){return function(){var e,t=n;if(null===(e=o.current)||void 0===e?void 0:e.children){var r=Array.from(o.current.children).reduce((function(e,n){var r,a,o,c=null==n?void 0:n.getBoundingClientRect(),l=c.left<t.containerRightPosition&&c.right>t.containerLeftPosition;return Object.assign(Object.assign({},e),(r={},a=n.id,o=l?{"aria-hidden":!1}:{"aria-hidden":!0,inert:"true"},(a=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(a))in r?Object.defineProperty(r,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[a]=o,r))}),{});p(r)}}()}),c+50)}),[o.current,l,n.offset,n.containerLeftPosition]),{isTabbing:s,onFocusWidget:function(e){document.querySelector(".user-is-tabbing")&&(d(!0),g(e))},onBlurWidget:function(){document.querySelector(".user-is-tabbing")||(d(!1),g(null))},getFixedAttributes:function(e){var t=n;return e>=t.offset-t.viewableItems&&e<t.offset?{"aria-hidden":!1}:{inert:"true","aria-hidden":!0}},dynamicAttributes:m,focusNext:function(){setTimeout((function(){if(o.current){for(var e=o.current.querySelectorAll("li[aria-hidden]"),t=null,n=y+1;n<e.length&&!t;n++)t=e[n].querySelector('a[tabindex="0"]');t&&t.focus()}}),c+100)},focusPrev:function(){setTimeout((function(){if(o.current){for(var e=o.current.querySelectorAll("li[aria-hidden]"),t=null,n=y-1;n>=0&&!t;n--)t=e[n].querySelector('a[tabindex="0"]');t&&t.focus()}}),c+100)}}}},43872:(e,t,n)=>{"use strict";n.d(t,{V:()=>s});var r=n(32735),i=n(82182),a=n(31069),o=n(91967),c=new Image;c.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=";var l=function(e){e.dataTransfer.setDragImage&&o.q.isFunction(e.dataTransfer.setDragImage)&&e.dataTransfer.setDragImage(c,0,0)},u=i.V.isTouchScreen(),s=r.forwardRef((function(e,t){var n,i,o,c,s=e.children,d=e.positionType,f=e.onDrag,m=e.onDragEnd,p=e.onTouchMove,v=e.onTouchEnd,y=e.percentageDragged,g=e.position,h=void 0===g?0:g;return r.createElement("ul",Object.assign({className:"list-unstyled d-flex flex-nowrap position-relative w-100",style:(i=h,o=d,c=y,o===a.C.Percentage&&c&&(i-=c),{transform:"translate3d(".concat(i).concat(o,", 0px, 0px)"),transition:"transform .4s ease-in-out"}),ref:t},(n={},f&&m&&(n.draggable=!0,n.onDragEnd=m,n.onDragStart=l,n.onDragOver=f),p&&v&&u&&(n.onTouchMoveCapture=p,n.onTouchEndCapture=v),n)),s)}))},16930:(e,t,n)=>{"use strict";n.d(t,{W:()=>d,f:()=>u});var r=n(32735),i=n(23481),a=n(83914),o=n(35223);const c="VSAPU",l="kgeXh";var u,s=i.T.encloseNamespace("shared.widgetButton");!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(u||(u={}));var d=r.memo((function(e){var t,n,i,d=e.direction===u.Left,f=d?o.vn.ChevronLeft:o.vn.ChevronRight;return e.hide?r.createElement(r.Fragment,null):r.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(i=e.state)||void 0===i?void 0:i.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&r.createElement("div",{className:d?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&r.createElement("button",{onClick:e.onClick,className:"".concat("AtsWP"," ").concat(d?c:l),tabIndex:-1}),r.createElement("button",{className:"".concat((t="BVcIS",t+=d?" ".concat(c," ").concat(e.leftButtonClassName):" ".concat(l," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick,"aria-label":s(d?"previous":"next")},e.hoverText&&r.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),r.createElement(a.x,{svgName:f,size:a.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},31069:(e,t,n)=>{"use strict";var r;n.d(t,{C:()=>r}),function(e){e.Percentage="%",e.Pixels="px"}(r||(r={}))},85597:(e,t,n)=>{"use strict";var r;n.d(t,{k:()=>r}),function(e){e.Subject="CurriculumSubject",e.Audience="CurriculumAudience",e.Area="CurriculumArea",e.Leaf="CurriculumLeaf"}(r||(r={}))},44829:(e,t,n)=>{"use strict";var r,i;n.d(t,{Q:()=>r}),function(e){e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.Pedagogy=1]="Pedagogy",e[e.Hidden=2]="Hidden",e[e.Skill=3]="Skill",e[e.Curation=4]="Curation"}(i||(i={}))},10841:(e,t,n)=>{"use strict";var r;n.d(t,{n:()=>r}),function(e){e.Init="init",e.Next="next",e.Previous="previous",e.Resize="resize",e.Drag="drag",e.Update="update",e.JumpToIndex="jump-to-index"}(r||(r={}))},81514:(e,t,n)=>{"use strict";n.d(t,{V:()=>a});var r=n(86764),i=n(3747);function a(){var e=(0,i.a)(r.r.XS),t=(0,i.a)(r.r.SM),n=(0,i.a)(r.r.MD),a=(0,i.a)(r.r.LG),o=(0,i.a)(r.r.XL),c=(0,i.a)(r.r.XXL),l=r.r.LG;return e&&(l=r.r.XS),t&&(l=r.r.SM),n&&(l=r.r.MD),a&&(l=r.r.LG),o&&(l=r.r.XL),c&&(l=r.r.XXL),l}},35014:(e,t,n)=>{"use strict";n.d(t,{I:()=>l});var r=n(16714),i=n(12754),a=n(22902),o=n(15311),c=n(11387);function l(){var e=(0,a.T)(),t=e.hasPermissions,n=e.hasLocalPermissions,l=(0,(0,o.r)().hasProduct)(i.x.Primary);return{canViewGlance:t(r.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:l&&t(r.C.ViewVideoInteractives),canViewClips:l&&t(r.C.ViewVideoClips),canViewCurriculumLinks:t(r.C.ViewCurriculums),canUseActions:n(r.E.UseVideoActions),canViewPublicLayout:!n(r.E.WatchVideos)&&c.C.hasRegionPrefix(),canViewResourceItems:n(r.E.ViewVideoResourceItems),canNavigate:l}}},44005:(e,t,n)=>{"use strict";n.r(t),n.d(t,{VideoGuidanceClassroomGuideView:()=>G});var r=n(32735),i=n(81886),a=n(20354),o=n(28400),c=n(49985),l=n(65858),u=n(42648),s=n(23481),d=n(75896),f=n(44599),m=n(34223),p=n(22283),v=n(64921),y=n(9111),g=n(13876),h=n(83345),b=n(69883);function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function w(){w=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var a=t&&t.prototype instanceof g?t:g,o=Object.create(a.prototype),c=new T(r||[]);return i(o,"_invoke",{value:A(e,n,c)}),o}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var f="suspendedStart",m="suspendedYield",p="executing",v="completed",y={};function g(){}function h(){}function b(){}var C={};u(C,o,(function(){return this}));var k=Object.getPrototypeOf,S=k&&k(k(I([])));S&&S!==n&&r.call(S,o)&&(C=S);var x=b.prototype=g.prototype=Object.create(C);function L(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,a,o,c){var l=d(e[i],e,a);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==E(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(s).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,c)}))}c(l.arg)}var a;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return a=a?a.then(i,i):i()}})}function A(t,n,r){var i=f;return function(a,o){if(i===p)throw Error("Generator is already running");if(i===v){if("throw"===a)throw o;return{value:e,done:!0}}for(r.method=a,r.arg=o;;){var c=r.delegate;if(c){var l=N(c,r);if(l){if(l===y)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=p;var u=d(t,n,r);if("normal"===u.type){if(i=r.done?v:m,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=v,r.method="throw",r.arg=u.arg)}}}function N(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,N(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var a=d(i,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,y;var o=a.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(E(t)+" is not iterable")}return h.prototype=b,i(x,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:h,configurable:!0}),h.displayName=u(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},L(O.prototype),u(O.prototype,c,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,a){void 0===a&&(a=Promise);var o=new O(s(e,n,r,i),a);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},L(x),u(x,l,"Generator"),u(x,o,(function(){return this})),u(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return c.type="throw",c.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],c=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=r.call(o,"catchLoc"),u=r.call(o,"finallyLoc");if(l&&u){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;j(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var k=function(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function c(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}l((r=r.apply(e,t||[])).next())}))},S=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},x="shared.videoGuidanceClassroomGuidePopup",L=350;function O(e){var t,n,a,o,E,O,A,N=(O=r.useState(),A=2,function(e){if(Array.isArray(e))return e}(O)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(O,A)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(O,A)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),P=N[0],j=N[1],T=(0,b.Z)();r.useEffect((function(){if(!e.isLoading&&e.curriculums&&!P){var t=e.curriculums.activeCurriculum?e.curriculums.activeCurriculum:d.m.first(e.curriculums.availableCurriculums);j(t)}}),[e.isLoading,null===(n=null===(t=e.curriculums)||void 0===t?void 0:t.activeCurriculum)||void 0===n?void 0:n.id]);var I=e.canViewCurriculumLinks&&(null===(a=e.curriculums)||void 0===a?void 0:a.customerHasCurriculumLinks);return r.createElement(y.G,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:s.T.getPhrase(x,"classroomGuide"),size:"lg"},!e.isLoading&&r.createElement(r.Fragment,null,r.createElement(u.ZP,{autoHeightMax:L,autoHeightMin:L,autoHeight:!0,className:"pb-3",renderThumbVertical:function(e){var t=e.style,n=S(e,["style"]);return r.createElement("div",Object.assign({},n,{style:Object.assign(Object.assign({},t),{borderRadius:"inherit",backgroundColor:"rgba(0, 0, 0, 0.2)",zIndex:5}),className:"thumb-vertical"}))}},r.createElement("div",{className:I?"mb-4":""},r.createElement(v.j,{video:e.video,pointsOfInterest:e.pointsOfInterest,setStartTime:function(t){i.Q.C$.trigger(e.getVideoAppLink(e.video,{t})),e.closePopup()},getTagAppLink:e.getTagAppLink,suppressInteractivity:e.canViewPublicLayout,onClickTag:e.closePopup,canViewGlance:e.canViewGlance,hideScrollbar:!0})),I&&r.createElement(r.Fragment,null,r.createElement("h2",{className:"h6"},r.createElement(h.x,{namespace:x,phrase:"curriculumLinks"})),r.createElement("div",{className:"mb-2"},r.createElement(p.P,{curriculums:e.curriculums,selectedCurriculum:P,onChangeCurriculum:function(t){var n,r,i;return k(this,void 0,void 0,w().mark((function a(){var o;return w().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(null==(o=e.curriculums.availableCurriculums.find((function(e){return e.id.toString()===t})))?void 0:o.id){a.next=3;break}return a.abrupt("return",!1);case 3:if((null===(r=null===(n=e.curriculums.activeCurriculum)||void 0===n?void 0:n.id)||void 0===r?void 0:r.toString())!==(null===(i=null==o?void 0:o.id)||void 0===i?void 0:i.toString())){a.next=5;break}return a.abrupt("return",!1);case 5:return j(o),a.prev=6,a.next=9,e.curriculums.updateCurriculum(o);case 9:c.k.logUserAction({id:o.id,name:o.id,description:o.description,videoId:e.video.id,videoName:e.video.name},{entity:l.py.Presentation,actionType:l.Vw.Select,descriptor:l.kD.Curriculum,location:l.LZ.ClassroomGuidancePopup}),a.next=16;break;case 12:a.prev=12,a.t0=a.catch(6),j(P),T.error(s.T.getPhrase(x,"updateCurriculumFailed"));case 16:case"end":return a.stop()}}),a,null,[[6,12]])})))},noNegativePadding:!0})),(null===(o=e.curriculums)||void 0===o?void 0:o.hasLoaded)?r.createElement(m.Y,{curriculumLinks:null===(E=e.curriculums)||void 0===E?void 0:E.curriculumLinks,emptyStateUrl:e.curriculumLinksEmptyStateUrl}):r.createElement(f.Z,null))),r.createElement(g.u,null,r.createElement(g.u.Cancel,{onClick:e.onClickClose,text:s.T.getPhrase(x,"close")}),r.createElement(g.u.Submit,{text:s.T.getPhrase(x,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo}))))}var A=n(4594),N=n(43012),P=n(1575),j=n(31908),T=n(99742),I=n(14070),V=n(97291),D=n(82817),R=n(49948),M=n(35014),_=n(22490);function G(e){var t=a.a.useBasicFetch(e.type===A.E.Video?P.R.video(e.id):N.e.clip(e.id)),n=(0,R.l)(e.id,!0),u=(0,D.M)(e.id,!0),s=(0,M.I)();return r.createElement(O,{isLoading:!t.hasCompleted||!n.hasCompleted,video:t.data,pointsOfInterest:n.items,curriculums:u,onClickClose:function(){c.k.logUserAction({id:t.data.id,name:t.data.name},{entity:j.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.ClassroomGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.Close}),e.closePopup()},onClickViewVideo:function(){if(c.k.logUserAction({id:t.data.id,name:t.data.name},{entity:j.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.ClassroomGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.ViewVideo}),j.M.isVideo(t.data))return i.Q.C$.trigger({application:V.O.VIDEOS,action:I.e.Videos.PLAY_VIDEO,args:[t.data.id,o.m.slugify(t.data.name)]}),void e.closePopup();i.Q.C$.trigger({application:V.O.CLIPS,action:I.e.Clips.PLAY_CLIP,args:[t.data.id,o.m.slugify(t.data.name)]}),e.closePopup()},curriculumLinksEmptyStateUrl:T.W.EmptyStates.CURRICULUM_LINKS,getVideoAppLink:_.W.getAppLink,getTagAppLink:function(e){return{application:V.O.SEARCH,action:I.e.Search.HOME,params:{tagOrClassification:e.name}}},canViewCurriculumLinks:s.canViewCurriculumLinks,canViewPublicLayout:s.canViewPublicLayout,canViewGlance:s.canViewGlance,closePopup:e.closePopup})}},91969:(e,t,n)=>{"use strict";var r=n(47033),i={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,a,o,c,l,u,s=!1;t||(t={}),n=t.debug||!1;try{if(o=r(),c=document.createRange(),l=document.getSelection(),(u=document.createElement("span")).textContent=e,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var a=i[t.format]||i.default;window.clipboardData.setData(a,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(u),c.selectNodeContents(u),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");s=!0}catch(r){n&&console.error("unable to copy using execCommand: ",r),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),s=!0}catch(r){n&&console.error("unable to copy using clipboardData: ",r),n&&console.error("falling back to prompt"),a=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(a,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),u&&document.body.removeChild(u),o()}return s}},22161:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={curriculumSubject:"GvGYH",curriculumSet:"d7RK0",areaLeafSet:"XRTAe",closeButton:"N3l5Q",heading:"hAxR4",leafDescriptionOnly:"h66ke",dropdown:"CsG6G",tag:"rdLqY",cover:"etwaD",active:"aDLMe",selected:"BMrSd"}},63847:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={learningIntention:"MHM6O",highlightPoi:"U7Q6x",icon:"H1xbT"}},91807:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}},44818:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var i=c(n(32735)),a=c(n(91969)),o=["text","onCopy","options","children"];function c(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t){return d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},d(e,t)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(y,e);var t,n,c,l,v=(c=y,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=m(c);if(l){var n=m(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}(this,e)});function y(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return p(f(e=v.call.apply(v,[this].concat(n))),"onClick",(function(t){var n=e.props,r=n.text,o=n.onCopy,c=n.children,l=n.options,u=i.default.Children.only(c),s=(0,a.default)(r,l);o&&o(r,s),u&&u.props&&"function"==typeof u.props.onClick&&u.props.onClick(t)})),e}return t=y,(n=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,o),r=i.default.Children.only(t);return i.default.cloneElement(r,u(u({},n),{},{onClick:this.onClick}))}}])&&s(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),y}(i.default.PureComponent);t.CopyToClipboard=v,p(v,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,n)=>{"use strict";var r=n(44818).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}}}]);
|
|
3
|
-
//# sourceMappingURL=5220-85898810a6-lite.chunk.js.map
|