@clickview/lite 0.52.1 → 0.52.2-dev.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/{1329-lite-ec64553644.chunk.css → 1329-lite-55772b1036.chunk.css} +2 -2
- package/dist/css/{986-lite-6bdd43b250.chunk.css → 3532-lite-a3c7435ba4.chunk.css} +1 -1
- package/dist/css/{3969-lite-cb4c4824f6.chunk.css → 3969-lite-94ca677007.chunk.css} +1 -1
- package/dist/css/{4489-lite-e971ca8ab6.chunk.css → 4489-lite-49c28410f9.chunk.css} +1 -1
- package/dist/css/4690-lite-e1f88a6b47.chunk.css +4 -0
- package/dist/css/{537-lite-53bb989a96.chunk.css → 537-lite-390b70028c.chunk.css} +1 -1
- package/dist/css/{6489-lite-5ffcd32447.chunk.css → 6489-lite-a917e953c8.chunk.css} +1 -1
- package/dist/css/{8192-lite-cf3253f7b8.chunk.css → 8192-lite-282a716c03.chunk.css} +1 -1
- package/dist/css/{841-lite-93cc5f2469.chunk.css → 841-lite-4a007cd7be.chunk.css} +1 -1
- package/dist/css/{1820-lite-eaf5a9db1c.chunk.css → 999-lite-02c517e917.chunk.css} +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1080-5b00242a31-lite.chunk.js → 1080-d24c9657ec-lite.chunk.js} +2 -2
- package/dist/scripts/{1080-5b00242a31-lite.chunk.js.map → 1080-d24c9657ec-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9173-2392d447a6-lite.chunk.js → 1104-f057c6dea1-lite.chunk.js} +3 -3
- package/dist/scripts/{9173-2392d447a6-lite.chunk.js.map → 1104-f057c6dea1-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1125-aac132b88f-lite.chunk.js → 1125-55dc0a4586-lite.chunk.js} +2 -2
- package/dist/scripts/1125-55dc0a4586-lite.chunk.js.map +1 -0
- package/dist/scripts/1169-3de585be6a-lite.chunk.js +2 -0
- package/dist/scripts/1169-3de585be6a-lite.chunk.js.map +1 -0
- package/dist/scripts/1329-850346e6e6-lite.chunk.js +3 -0
- package/dist/scripts/1329-850346e6e6-lite.chunk.js.map +1 -0
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js → 1379-976d20185f-lite.chunk.js} +3 -3
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js.map → 1379-976d20185f-lite.chunk.js.map} +1 -1
- package/dist/scripts/1672-60a3ab42f5-lite.chunk.js +3 -0
- package/dist/scripts/1672-60a3ab42f5-lite.chunk.js.map +1 -0
- package/dist/scripts/1725-1e864ba78a-lite.chunk.js +2 -0
- package/dist/scripts/1725-1e864ba78a-lite.chunk.js.map +1 -0
- package/dist/scripts/1891-109e674486-lite.chunk.js +2 -0
- package/dist/scripts/1891-109e674486-lite.chunk.js.map +1 -0
- package/dist/scripts/193-797b89797a-lite.chunk.js +2 -0
- package/dist/scripts/193-797b89797a-lite.chunk.js.map +1 -0
- package/dist/scripts/2004-7d1bf8b246-lite.chunk.js +3 -0
- package/dist/scripts/2004-7d1bf8b246-lite.chunk.js.map +1 -0
- package/dist/scripts/209-d2e6b93965-lite.chunk.js +2 -0
- package/dist/scripts/209-d2e6b93965-lite.chunk.js.map +1 -0
- package/dist/scripts/2134-b9145f8ce8-lite.chunk.js +2 -0
- package/dist/scripts/2134-b9145f8ce8-lite.chunk.js.map +1 -0
- package/dist/scripts/2952-6a32a90314-lite.chunk.js +2 -0
- package/dist/scripts/2952-6a32a90314-lite.chunk.js.map +1 -0
- package/dist/scripts/3003-7685240aed-lite.chunk.js +2 -0
- package/dist/scripts/3003-7685240aed-lite.chunk.js.map +1 -0
- package/dist/scripts/3020-6c9c7d2176-lite.chunk.js +2 -0
- package/dist/scripts/3020-6c9c7d2176-lite.chunk.js.map +1 -0
- package/dist/scripts/338-e21a3cd6fe-lite.chunk.js +3 -0
- package/dist/scripts/338-e21a3cd6fe-lite.chunk.js.map +1 -0
- package/dist/scripts/3532-2fed0eb7a4-lite.chunk.js +3 -0
- package/dist/scripts/3532-2fed0eb7a4-lite.chunk.js.map +1 -0
- package/dist/scripts/3633-025f418c19-lite.chunk.js +2 -0
- package/dist/scripts/3633-025f418c19-lite.chunk.js.map +1 -0
- package/dist/scripts/3640-694d1d6d2a-lite.chunk.js +2 -0
- package/dist/scripts/3640-694d1d6d2a-lite.chunk.js.map +1 -0
- package/dist/scripts/3728-2c71d3021e-lite.chunk.js +2 -0
- package/dist/scripts/3728-2c71d3021e-lite.chunk.js.map +1 -0
- package/dist/scripts/3966-0e3c4f329e-lite.chunk.js +2 -0
- package/dist/scripts/3966-0e3c4f329e-lite.chunk.js.map +1 -0
- package/dist/scripts/{3969-6d5f2f272f-lite.chunk.js → 3969-e36f1922eb-lite.chunk.js} +1 -1
- package/dist/scripts/{3969-6d5f2f272f-lite.chunk.js.map → 3969-e36f1922eb-lite.chunk.js.map} +1 -1
- package/dist/scripts/4063-5fa157657f-lite.chunk.js +2 -0
- package/dist/scripts/4063-5fa157657f-lite.chunk.js.map +1 -0
- package/dist/scripts/4182-7ae9edf4a5-lite.chunk.js +2 -0
- package/dist/scripts/4182-7ae9edf4a5-lite.chunk.js.map +1 -0
- package/dist/scripts/4395-37537617e2-lite.chunk.js +2 -0
- package/dist/scripts/4395-37537617e2-lite.chunk.js.map +1 -0
- package/dist/scripts/4502-83e4017e54-lite.chunk.js +2 -0
- package/dist/scripts/4502-83e4017e54-lite.chunk.js.map +1 -0
- package/dist/scripts/4690-d64efe8020-lite.chunk.js +2 -0
- package/dist/scripts/4690-d64efe8020-lite.chunk.js.map +1 -0
- package/dist/scripts/4850-bb9541d3ed-lite.chunk.js +2 -0
- package/dist/scripts/4850-bb9541d3ed-lite.chunk.js.map +1 -0
- package/dist/scripts/5143-d46f032e9e-lite.chunk.js +2 -0
- package/dist/scripts/5143-d46f032e9e-lite.chunk.js.map +1 -0
- package/dist/scripts/5157-855821ccce-lite.chunk.js +2 -0
- package/dist/scripts/5157-855821ccce-lite.chunk.js.map +1 -0
- package/dist/scripts/537-f63ad5863e-lite.chunk.js +3 -0
- package/dist/scripts/537-f63ad5863e-lite.chunk.js.map +1 -0
- package/dist/scripts/5549-bb01b24470-lite.chunk.js +2 -0
- package/dist/scripts/5549-bb01b24470-lite.chunk.js.map +1 -0
- package/dist/scripts/5573-304fea77a6-lite.chunk.js +2 -0
- package/dist/scripts/5573-304fea77a6-lite.chunk.js.map +1 -0
- package/dist/scripts/5595-842c05064c-lite.chunk.js +2 -0
- package/dist/scripts/5595-842c05064c-lite.chunk.js.map +1 -0
- package/dist/scripts/5606-680582b817-lite.chunk.js +2 -0
- package/dist/scripts/5606-680582b817-lite.chunk.js.map +1 -0
- package/dist/scripts/5877-e75dcce0ef-lite.chunk.js +2 -0
- package/dist/scripts/5877-e75dcce0ef-lite.chunk.js.map +1 -0
- package/dist/scripts/5936-b509535ec7-lite.chunk.js +2 -0
- package/dist/scripts/5936-b509535ec7-lite.chunk.js.map +1 -0
- package/dist/scripts/6054-1e9b86d631-lite.chunk.js +2 -0
- package/dist/scripts/6054-1e9b86d631-lite.chunk.js.map +1 -0
- package/dist/scripts/6094-6c1e95073a-lite.chunk.js +2 -0
- package/dist/scripts/6094-6c1e95073a-lite.chunk.js.map +1 -0
- package/dist/scripts/6138-5791b93cc1-lite.chunk.js +2 -0
- package/dist/scripts/6138-5791b93cc1-lite.chunk.js.map +1 -0
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js → 624-bf0ff6257f-lite.chunk.js} +3 -3
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.map → 624-bf0ff6257f-lite.chunk.js.map} +1 -1
- package/dist/scripts/6263-cfd4ebfe8b-lite.chunk.js +2 -0
- package/dist/scripts/6263-cfd4ebfe8b-lite.chunk.js.map +1 -0
- package/dist/scripts/6290-eb223883fe-lite.chunk.js +2 -0
- package/dist/scripts/6290-eb223883fe-lite.chunk.js.map +1 -0
- package/dist/scripts/6470-1012a7889c-lite.chunk.js +2 -0
- package/dist/scripts/6470-1012a7889c-lite.chunk.js.map +1 -0
- package/dist/scripts/6481-39b72a58ef-lite.chunk.js +2 -0
- package/dist/scripts/6481-39b72a58ef-lite.chunk.js.map +1 -0
- package/dist/scripts/6489-9287613d14-lite.chunk.js +3 -0
- package/dist/scripts/6489-9287613d14-lite.chunk.js.map +1 -0
- package/dist/scripts/6532-9edab80cc6-lite.chunk.js +2 -0
- package/dist/scripts/6532-9edab80cc6-lite.chunk.js.map +1 -0
- package/dist/scripts/6604-2353daa8c0-lite.chunk.js +2 -0
- package/dist/scripts/6604-2353daa8c0-lite.chunk.js.map +1 -0
- package/dist/scripts/6741-572db2d1e9-lite.chunk.js +3 -0
- package/dist/scripts/6741-572db2d1e9-lite.chunk.js.map +1 -0
- package/dist/scripts/6746-72d35335ba-lite.chunk.js +2 -0
- package/dist/scripts/6746-72d35335ba-lite.chunk.js.map +1 -0
- package/dist/scripts/6852-f49f6f19d3-lite.chunk.js +2 -0
- package/dist/scripts/6852-f49f6f19d3-lite.chunk.js.map +1 -0
- package/dist/scripts/714-67adeb44da-lite.chunk.js +2 -0
- package/dist/scripts/714-67adeb44da-lite.chunk.js.map +1 -0
- package/dist/scripts/7163-8b5ab059b6-lite.chunk.js +2 -0
- package/dist/scripts/7163-8b5ab059b6-lite.chunk.js.map +1 -0
- package/dist/scripts/7178-4b9c33a63e-lite.chunk.js +2 -0
- package/dist/scripts/7178-4b9c33a63e-lite.chunk.js.map +1 -0
- package/dist/scripts/7223-e2f8a43b89-lite.chunk.js +2 -0
- package/dist/scripts/7223-e2f8a43b89-lite.chunk.js.map +1 -0
- package/dist/scripts/7234-595d44446f-lite.chunk.js +2 -0
- package/dist/scripts/7234-595d44446f-lite.chunk.js.map +1 -0
- package/dist/scripts/7267-dac72aeb98-lite.chunk.js +2 -0
- package/dist/scripts/7267-dac72aeb98-lite.chunk.js.map +1 -0
- package/dist/scripts/{7293-687e60dba2-lite.chunk.js → 7293-1ad518e385-lite.chunk.js} +2 -2
- package/dist/scripts/7293-1ad518e385-lite.chunk.js.map +1 -0
- package/dist/scripts/7679-f43777e02e-lite.chunk.js +2 -0
- package/dist/scripts/7679-f43777e02e-lite.chunk.js.map +1 -0
- package/dist/scripts/7757-2785d666ad-lite.chunk.js +2 -0
- package/dist/scripts/7757-2785d666ad-lite.chunk.js.map +1 -0
- package/dist/scripts/7795-b641104969-lite.chunk.js +2 -0
- package/dist/scripts/7795-b641104969-lite.chunk.js.map +1 -0
- package/dist/scripts/7818-cff0f2276c-lite.chunk.js +2 -0
- package/dist/scripts/7818-cff0f2276c-lite.chunk.js.map +1 -0
- package/dist/scripts/{8192-f26370c5a6-lite.chunk.js → 8192-ea5cee15d7-lite.chunk.js} +1 -1
- package/dist/scripts/{8192-f26370c5a6-lite.chunk.js.map → 8192-ea5cee15d7-lite.chunk.js.map} +1 -1
- package/dist/scripts/8200-1e4518c5d8-lite.chunk.js +3 -0
- package/dist/scripts/8200-1e4518c5d8-lite.chunk.js.map +1 -0
- package/dist/scripts/8323-fb330a8f47-lite.chunk.js +3 -0
- package/dist/scripts/8323-fb330a8f47-lite.chunk.js.map +1 -0
- package/dist/scripts/841-d69c7f4b4d-lite.chunk.js +3 -0
- package/dist/scripts/841-d69c7f4b4d-lite.chunk.js.map +1 -0
- package/dist/scripts/8709-f360baa021-lite.chunk.js +2 -0
- package/dist/scripts/8709-f360baa021-lite.chunk.js.map +1 -0
- package/dist/scripts/8722-00d7443d09-lite.chunk.js +2 -0
- package/dist/scripts/8722-00d7443d09-lite.chunk.js.map +1 -0
- package/dist/scripts/8982-6848480133-lite.chunk.js +2 -0
- package/dist/scripts/8982-6848480133-lite.chunk.js.map +1 -0
- package/dist/scripts/9016-e17da8b633-lite.chunk.js +3 -0
- package/dist/scripts/9016-e17da8b633-lite.chunk.js.map +1 -0
- package/dist/scripts/9173-a0c6c7be25-lite.chunk.js +2 -0
- package/dist/scripts/9173-a0c6c7be25-lite.chunk.js.map +1 -0
- package/dist/scripts/9226-a7c61f9129-lite.chunk.js +2 -0
- package/dist/scripts/9226-a7c61f9129-lite.chunk.js.map +1 -0
- package/dist/scripts/9230-537f1fcc38-lite.chunk.js +3 -0
- package/dist/scripts/9230-537f1fcc38-lite.chunk.js.map +1 -0
- package/dist/scripts/9359-deb452cb10-lite.chunk.js +2 -0
- package/dist/scripts/9359-deb452cb10-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js → 9395-e9b5cdbdce-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js.map → 9395-e9b5cdbdce-lite.chunk.js.map} +1 -1
- package/dist/scripts/9399-721a368168-lite.chunk.js +2 -0
- package/dist/scripts/9399-721a368168-lite.chunk.js.map +1 -0
- package/dist/scripts/{9478-99486906b9-lite.chunk.js → 9478-abfa7ed3cc-lite.chunk.js} +3 -3
- package/dist/scripts/{9478-99486906b9-lite.chunk.js.map → 9478-abfa7ed3cc-lite.chunk.js.map} +1 -1
- package/dist/scripts/{953-cbc7f0571e-lite.chunk.js → 953-bf3d621a33-lite.chunk.js} +3 -3
- package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.map → 953-bf3d621a33-lite.chunk.js.map} +1 -1
- package/dist/scripts/9719-ed1956607c-lite.chunk.js +3 -0
- package/dist/scripts/9719-ed1956607c-lite.chunk.js.map +1 -0
- package/dist/scripts/999-d7e93dac12-lite.chunk.js +2 -0
- package/dist/scripts/999-d7e93dac12-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-9a72d04e7d.min.js +3 -0
- package/dist/scripts/bundle-9a72d04e7d.min.js.map +1 -0
- package/package.json +1 -2
- package/dist/css/4690-lite-a4fdd7e61e.chunk.css +0 -4
- package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js +0 -2
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js.map +0 -1
- package/dist/scripts/1329-7064e95200-lite.chunk.js +0 -3
- package/dist/scripts/1329-7064e95200-lite.chunk.js.map +0 -1
- package/dist/scripts/1466-735d7dad48-lite.chunk.js +0 -3
- package/dist/scripts/1466-735d7dad48-lite.chunk.js.map +0 -1
- package/dist/scripts/1672-672f298d82-lite.chunk.js +0 -3
- package/dist/scripts/1672-672f298d82-lite.chunk.js.map +0 -1
- package/dist/scripts/1725-075015497e-lite.chunk.js +0 -2
- package/dist/scripts/1725-075015497e-lite.chunk.js.map +0 -1
- package/dist/scripts/1818-4949c9b748-lite.chunk.js +0 -2
- package/dist/scripts/1818-4949c9b748-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-345bf53a3c-lite.chunk.js +0 -2
- package/dist/scripts/1820-345bf53a3c-lite.chunk.js.map +0 -1
- package/dist/scripts/1867-6f801de383-lite.chunk.js +0 -2
- package/dist/scripts/1867-6f801de383-lite.chunk.js.map +0 -1
- package/dist/scripts/1891-e80f9f17ee-lite.chunk.js +0 -2
- package/dist/scripts/1891-e80f9f17ee-lite.chunk.js.map +0 -1
- package/dist/scripts/193-f08b054631-lite.chunk.js +0 -2
- package/dist/scripts/193-f08b054631-lite.chunk.js.map +0 -1
- package/dist/scripts/2004-d891104ed4-lite.chunk.js +0 -3
- package/dist/scripts/2004-d891104ed4-lite.chunk.js.map +0 -1
- package/dist/scripts/209-57b05f6c83-lite.chunk.js +0 -2
- package/dist/scripts/209-57b05f6c83-lite.chunk.js.map +0 -1
- package/dist/scripts/2134-bca2f4697e-lite.chunk.js +0 -2
- package/dist/scripts/2134-bca2f4697e-lite.chunk.js.map +0 -1
- package/dist/scripts/2703-591ccf069c-lite.chunk.js +0 -2
- package/dist/scripts/2703-591ccf069c-lite.chunk.js.map +0 -1
- package/dist/scripts/3020-dbc723b098-lite.chunk.js +0 -2
- package/dist/scripts/3020-dbc723b098-lite.chunk.js.map +0 -1
- package/dist/scripts/3633-66d28be6f8-lite.chunk.js +0 -2
- package/dist/scripts/3633-66d28be6f8-lite.chunk.js.map +0 -1
- package/dist/scripts/3728-d7ecfc6667-lite.chunk.js +0 -2
- package/dist/scripts/3728-d7ecfc6667-lite.chunk.js.map +0 -1
- package/dist/scripts/3966-a3bb0e0161-lite.chunk.js +0 -2
- package/dist/scripts/3966-a3bb0e0161-lite.chunk.js.map +0 -1
- package/dist/scripts/4182-7aecc28a6f-lite.chunk.js +0 -2
- package/dist/scripts/4182-7aecc28a6f-lite.chunk.js.map +0 -1
- package/dist/scripts/4395-64da004753-lite.chunk.js +0 -2
- package/dist/scripts/4395-64da004753-lite.chunk.js.map +0 -1
- package/dist/scripts/4502-2e30d86385-lite.chunk.js +0 -2
- package/dist/scripts/4502-2e30d86385-lite.chunk.js.map +0 -1
- package/dist/scripts/4690-03372d68ac-lite.chunk.js +0 -2
- package/dist/scripts/4690-03372d68ac-lite.chunk.js.map +0 -1
- package/dist/scripts/5143-b6896dad98-lite.chunk.js +0 -2
- package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +0 -1
- package/dist/scripts/5157-54aeb51bdf-lite.chunk.js +0 -2
- package/dist/scripts/5157-54aeb51bdf-lite.chunk.js.map +0 -1
- package/dist/scripts/537-536e52ef91-lite.chunk.js +0 -3
- package/dist/scripts/537-536e52ef91-lite.chunk.js.map +0 -1
- package/dist/scripts/5562-e011962a62-lite.chunk.js +0 -3
- package/dist/scripts/5562-e011962a62-lite.chunk.js.map +0 -1
- package/dist/scripts/5573-6cd98b69f2-lite.chunk.js +0 -2
- package/dist/scripts/5573-6cd98b69f2-lite.chunk.js.map +0 -1
- package/dist/scripts/5595-96a0649af0-lite.chunk.js +0 -2
- package/dist/scripts/5595-96a0649af0-lite.chunk.js.map +0 -1
- package/dist/scripts/5606-6c25caedc4-lite.chunk.js +0 -2
- package/dist/scripts/5606-6c25caedc4-lite.chunk.js.map +0 -1
- package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js +0 -2
- package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js.map +0 -1
- package/dist/scripts/5936-f0177219db-lite.chunk.js +0 -2
- package/dist/scripts/5936-f0177219db-lite.chunk.js.map +0 -1
- package/dist/scripts/6054-14d4ceeae3-lite.chunk.js +0 -2
- package/dist/scripts/6054-14d4ceeae3-lite.chunk.js.map +0 -1
- package/dist/scripts/6094-7ec9341357-lite.chunk.js +0 -2
- package/dist/scripts/6094-7ec9341357-lite.chunk.js.map +0 -1
- package/dist/scripts/6138-d419f62f77-lite.chunk.js +0 -2
- package/dist/scripts/6138-d419f62f77-lite.chunk.js.map +0 -1
- package/dist/scripts/6263-af99de5a35-lite.chunk.js +0 -2
- package/dist/scripts/6263-af99de5a35-lite.chunk.js.map +0 -1
- package/dist/scripts/6290-56412c6663-lite.chunk.js +0 -2
- package/dist/scripts/6290-56412c6663-lite.chunk.js.map +0 -1
- package/dist/scripts/6415-8b354a10c7-lite.chunk.js +0 -2
- package/dist/scripts/6415-8b354a10c7-lite.chunk.js.map +0 -1
- package/dist/scripts/6470-6216086d63-lite.chunk.js +0 -2
- package/dist/scripts/6470-6216086d63-lite.chunk.js.map +0 -1
- package/dist/scripts/6481-03a4f1082e-lite.chunk.js +0 -2
- package/dist/scripts/6481-03a4f1082e-lite.chunk.js.map +0 -1
- package/dist/scripts/6489-953bb87f64-lite.chunk.js +0 -3
- package/dist/scripts/6489-953bb87f64-lite.chunk.js.map +0 -1
- package/dist/scripts/6532-a6b65c91a7-lite.chunk.js +0 -2
- package/dist/scripts/6532-a6b65c91a7-lite.chunk.js.map +0 -1
- package/dist/scripts/6546-bc3a8099ba-lite.chunk.js +0 -2
- package/dist/scripts/6546-bc3a8099ba-lite.chunk.js.map +0 -1
- package/dist/scripts/6587-23e7b1d196-lite.chunk.js +0 -2
- package/dist/scripts/6587-23e7b1d196-lite.chunk.js.map +0 -1
- package/dist/scripts/6604-92193d6d68-lite.chunk.js +0 -2
- package/dist/scripts/6604-92193d6d68-lite.chunk.js.map +0 -1
- package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js +0 -3
- package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js.map +0 -1
- package/dist/scripts/6746-b5b2739944-lite.chunk.js +0 -2
- package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
- package/dist/scripts/679-92bb80f478-lite.chunk.js +0 -2
- package/dist/scripts/679-92bb80f478-lite.chunk.js.map +0 -1
- package/dist/scripts/714-432082f4fa-lite.chunk.js +0 -2
- package/dist/scripts/714-432082f4fa-lite.chunk.js.map +0 -1
- package/dist/scripts/7178-e603ea6b58-lite.chunk.js +0 -2
- package/dist/scripts/7178-e603ea6b58-lite.chunk.js.map +0 -1
- package/dist/scripts/7223-135cc7d675-lite.chunk.js +0 -2
- package/dist/scripts/7223-135cc7d675-lite.chunk.js.map +0 -1
- package/dist/scripts/729-c704d587d3-lite.chunk.js +0 -2
- package/dist/scripts/729-c704d587d3-lite.chunk.js.map +0 -1
- package/dist/scripts/7293-687e60dba2-lite.chunk.js.map +0 -1
- package/dist/scripts/7679-81c2a40df4-lite.chunk.js +0 -2
- package/dist/scripts/7679-81c2a40df4-lite.chunk.js.map +0 -1
- package/dist/scripts/7757-b149c4c215-lite.chunk.js +0 -2
- package/dist/scripts/7757-b149c4c215-lite.chunk.js.map +0 -1
- package/dist/scripts/7795-3ca0855d3a-lite.chunk.js +0 -2
- package/dist/scripts/7795-3ca0855d3a-lite.chunk.js.map +0 -1
- package/dist/scripts/7818-2eafc5f812-lite.chunk.js +0 -2
- package/dist/scripts/7818-2eafc5f812-lite.chunk.js.map +0 -1
- package/dist/scripts/8200-8a55f1631f-lite.chunk.js +0 -3
- package/dist/scripts/8200-8a55f1631f-lite.chunk.js.map +0 -1
- package/dist/scripts/8323-99cb03891e-lite.chunk.js +0 -3
- package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
- package/dist/scripts/841-0c50273ad2-lite.chunk.js +0 -3
- package/dist/scripts/841-0c50273ad2-lite.chunk.js.map +0 -1
- package/dist/scripts/8722-c5f95553f2-lite.chunk.js +0 -2
- package/dist/scripts/8722-c5f95553f2-lite.chunk.js.map +0 -1
- package/dist/scripts/8766-9605550480-lite.chunk.js +0 -2
- package/dist/scripts/8766-9605550480-lite.chunk.js.map +0 -1
- package/dist/scripts/8800-c88fefeace-lite.chunk.js +0 -2
- package/dist/scripts/8800-c88fefeace-lite.chunk.js.map +0 -1
- package/dist/scripts/8982-63c31685bf-lite.chunk.js +0 -2
- package/dist/scripts/8982-63c31685bf-lite.chunk.js.map +0 -1
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js +0 -3
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +0 -1
- package/dist/scripts/9226-c236c0eeb1-lite.chunk.js +0 -2
- package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +0 -1
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +0 -3
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +0 -1
- package/dist/scripts/9359-fa72fcdedc-lite.chunk.js +0 -2
- package/dist/scripts/9359-fa72fcdedc-lite.chunk.js.map +0 -1
- package/dist/scripts/9399-b724e4fb06-lite.chunk.js +0 -2
- package/dist/scripts/9399-b724e4fb06-lite.chunk.js.map +0 -1
- package/dist/scripts/9719-cf7d4172b6-lite.chunk.js +0 -3
- package/dist/scripts/9719-cf7d4172b6-lite.chunk.js.map +0 -1
- package/dist/scripts/986-e9379d557d-lite.chunk.js +0 -3
- package/dist/scripts/986-e9379d557d-lite.chunk.js.LICENSE.txt +0 -1
- package/dist/scripts/986-e9379d557d-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-d646383f3e.min.js +0 -3
- package/dist/scripts/bundle-d646383f3e.min.js.map +0 -1
- /package/dist/css/{9173-lite-b361d438f6.chunk.css → 1104-lite-b361d438f6.chunk.css} +0 -0
- /package/dist/css/{679-lite-00eb7dadb2.chunk.css → 2952-lite-00eb7dadb2.chunk.css} +0 -0
- /package/dist/css/{1867-lite-ae7bb51ed6.chunk.css → 3640-lite-ae7bb51ed6.chunk.css} +0 -0
- /package/dist/css/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
- /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.chunk.css} +0 -0
- /package/dist/css/{6546-lite-ae7bb51ed6.chunk.css → 5549-lite-ae7bb51ed6.chunk.css} +0 -0
- /package/dist/css/{8766-lite-8c5d7658ec.chunk.css → 7163-lite-8c5d7658ec.chunk.css} +0 -0
- /package/dist/css/{1818-lite-5ef1706d69.chunk.css → 7234-lite-5ef1706d69.chunk.css} +0 -0
- /package/dist/css/{6415-lite-707657102b.chunk.css → 9173-lite-707657102b.chunk.css} +0 -0
- /package/dist/scripts/{1329-7064e95200-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1379-082bbab71a-lite.chunk.js.LICENSE.txt → 1329-850346e6e6-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1466-735d7dad48-lite.chunk.js.LICENSE.txt → 1379-976d20185f-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1672-60a3ab42f5-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2004-d891104ed4-lite.chunk.js.LICENSE.txt → 2004-7d1bf8b246-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{537-536e52ef91-lite.chunk.js.LICENSE.txt → 338-e21a3cd6fe-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5562-e011962a62-lite.chunk.js.LICENSE.txt → 3532-2fed0eb7a4-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.LICENSE.txt → 537-f63ad5863e-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6489-953bb87f64-lite.chunk.js.LICENSE.txt → 624-bf0ff6257f-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6741-ff3e4a33a5-lite.chunk.js.LICENSE.txt → 6489-9287613d14-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8200-8a55f1631f-lite.chunk.js.LICENSE.txt → 6741-572db2d1e9-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 8200-1e4518c5d8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{841-0c50273ad2-lite.chunk.js.LICENSE.txt → 8323-fb330a8f47-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 841-d69c7f4b4d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-e17da8b633-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 9230-537f1fcc38-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-90b87097fa-lite.chunk.js.LICENSE.txt → 9395-e9b5cdbdce-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9478-99486906b9-lite.chunk.js.LICENSE.txt → 9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.LICENSE.txt → 953-bf3d621a33-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-ed1956607c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-d646383f3e.min.js.LICENSE.txt → bundle-9a72d04e7d.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6604-2353daa8c0-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/flight-requests/LtiRequests.ts","file:///app/packages/projects/lite/src/apps/settings/hooks/useCanManageLti.ts","file:///app/packages/projects/lite/src/apps/settings/enums/LtiPlatformStatus.ts","file:///app/packages/projects/lite/src/apps/settings/components/lti/lti-platform-list-item/LtiPlatformListItem.tsx","file:///app/packages/projects/lite/src/apps/settings/components/lti/lti-platform-list/lti-platform-list.scss","file:///app/packages/projects/lite/src/apps/settings/components/lti/lti-platform-list/LtiPlatformList.tsx","file:///app/packages/projects/lite/src/apps/settings/views/lti/lti-platforms/empty-state/LtiPlatformsEmptyState.tsx","file:///app/packages/projects/lite/src/apps/settings/views/lti/lti-platforms/partial-loading/partial-lti-platforms.scss","file:///app/packages/projects/lite/src/apps/settings/views/lti/lti-platforms/partial-loading/PartialLtiPlatforms.tsx","file:///app/packages/projects/lite/src/apps/settings/views/lti/lti-platforms/LtiPlatformsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst COLLAPSE_CHARACTER_COUNT = 56;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 3 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const secondLast = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} />;\n const rest = breadcrumbs.slice(1, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {collapse ?\n <li className='breadcrumb-item'>\n <button className='btn-link' onClick={() => setCollapse(false)}>\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => <BreadcrumbItem key={idx} breadcrumb={breadcrumb} />)\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\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}","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { LtiConsumer } from 'apps/settings/interfaces/lti/LtiConsumer';\nimport { LtiPlatform } from 'apps/settings/interfaces/lti/LtiPlatform';\nimport { CreateLtiConsumerRequest } from 'apps/settings/interfaces/lti/requests/CreateLtiConsumerRequest';\nimport { CreateLtiPlatformRequest } from 'apps/settings/interfaces/lti/requests/CreateLtiPlatformRequest';\nimport { UpdateLtiConsumerRequest } from 'apps/settings/interfaces/lti/requests/UpdateLtiConsumerRequest';\n\nexport const LtiRequests = {\n getConsumers(): Flight.Request {\n return {\n url: `/api/lti/consumers`,\n key: 'lti:consumers',\n normalize: false\n };\n },\n\n getPlatforms(): Flight.Request {\n return {\n url: `/api/lti/platforms`,\n key: 'lti:platforms',\n formatData: (data: LtiPlatform[]) => {\n return data.map(platform => {\n platform.publicJwk = JSON.stringify(platform.publicJwk);\n return platform;\n });\n },\n normalize: false\n };\n },\n\n getConsumer(consumerKey: string): Flight.Request {\n return {\n url: `/api/lti/consumers/${consumerKey}`,\n key: `lti:consumer:${consumerKey}`,\n normalize: false\n };\n },\n\n getPlatform(platformId: string): Flight.Request {\n return {\n url: `/api/lti/platforms/${platformId}`,\n key: `lti:platform:${platformId}`,\n formatData: (platform: LtiPlatform) => {\n platform.publicJwk = JSON.stringify(platform.publicJwk);\n return platform;\n },\n normalize: false\n };\n },\n\n createConsumer(\n data: CreateLtiConsumerRequest,\n success?: (consumer: LtiConsumer) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers`,\n key: 'create:consumer',\n type: HttpVerbs.POST,\n invalidationKeys: ['lti:consumers'],\n data,\n success,\n error\n };\n },\n\n createPlatform(\n data: CreateLtiPlatformRequest,\n success?: (platform: LtiPlatform) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms`,\n key: 'create:platform',\n type: HttpVerbs.POST,\n invalidationKeys: ['lti:platforms'],\n data,\n success,\n error\n };\n },\n\n updateConsumer(\n data: UpdateLtiConsumerRequest,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers/${data.key}`,\n key: 'update:consumer',\n type: HttpVerbs.PUT,\n invalidationKeys: [ `lti:consumers`, `lti:consumer:${data.key}` ],\n data,\n success,\n error\n };\n },\n\n updatePlatform(\n data: LtiPlatform,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms/${data.id}`,\n key: 'update:platform',\n type: HttpVerbs.PUT,\n invalidationKeys: [ `lti:platforms`, `lti:platform:${data.id}` ],\n data,\n success,\n error\n };\n },\n\n deleteConsumer(\n consumerKey: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers/${consumerKey}`,\n key: 'delete:consumer',\n type: HttpVerbs.DELETE,\n invalidationKeys: 'lti:consumers',\n success,\n error\n };\n },\n\n deletePlatform(\n platformId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms/${platformId}`,\n key: 'delete:platform',\n type: HttpVerbs.DELETE,\n invalidationKeys: 'lti:platforms',\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\n/**\n * Checks if the user can access LTI based on if they have the LTI domain option enabled\n * on their customer.\n */\nexport const useCanManageLti = () => {\n const [ canAccess, setCanAccess ] = React.useState<boolean>(undefined);\n\n const { hasLti } = useSettings(LocationContext.Settings);\n\n React.useEffect(() => {\n if (hasLti && canAccess !== true) {\n setCanAccess(true);\n return;\n }\n\n if (!hasLti && canAccess !== false)\n setCanAccess(false);\n }, [hasLti]);\n\n return { canAccess };\n};","export enum LtiPlatformStatus {\n Incomplete = 0,\n Complete = 1\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 { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'settings.ltiPlatformListItem';\n\ninterface LtiPlatformListItemProps {\n name: string;\n version: number;\n deleteAppLink: Core.AppLink;\n editAppLink: Core.AppLink;\n incomplete?: boolean;\n}\n\nexport function LtiPlatformListItem(props: LtiPlatformListItemProps): JSX.Element {\n function onClickEdit(e: React.MouseEvent): void {\n e.preventDefault();\n\n Core.AppLinkHelper.trigger(props.editAppLink);\n }\n\n function onClickDelete(e: React.MouseEvent): void {\n e.stopPropagation();\n e.preventDefault();\n\n Core.AppLinkHelper.trigger(props.deleteAppLink);\n }\n\n return (\n <AppLink\n appLink={props.editAppLink}\n onClick={onClickEdit}\n className='border border-secondary rounded px-3 py-2 d-flex justify-content-between align-items-center mb-2'\n >\n <span className='fw-semibold'>\n {props.name} ({props.version})\n {props.incomplete && (\n <span className='text-danger'> <Text namespace={namespace} phrase='incomplete' /></span>\n )}\n </span>\n\n <DivButton onClick={onClickDelete}>\n <SvgContainer svgName={cvSvgLibrary.Delete} title={LanguageService.getPhrase(namespace, 'deleteTooltip')} />\n </DivButton>\n </AppLink>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"list\":\"W7bNX\"};","import React from 'react';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { LtiPlatformListItem } from 'apps/settings/components/lti/lti-platform-list-item/LtiPlatformListItem';\nimport { LtiPlatformStatus } from 'apps/settings/enums/LtiPlatformStatus';\nimport { LtiConsumer } from 'apps/settings/interfaces/lti/LtiConsumer';\nimport { LtiPlatform } from 'apps/settings/interfaces/lti/LtiPlatform';\n\nimport styles from './lti-platform-list.scss';\n\ninterface LtiPlatformListProps {\n platforms: LtiPlatform[];\n consumers: LtiConsumer[];\n}\n\nexport function LtiPlatformList(props: LtiPlatformListProps): JSX.Element {\n return (\n <ul className={`list-unstyled ${styles.list}`}>\n {props.platforms.map(platform => (\n <li key={platform.id}>\n <LtiPlatformListItem\n name={platform.name}\n version={1.3}\n editAppLink={{\n application: AppChannels.SETTINGS,\n action: Actions.Settings.EDIT_LTI_PLATFORM,\n args: [platform.id]\n }}\n deleteAppLink={{\n application: AppChannels.SETTINGS,\n action: Actions.Settings.DELETE_LTI_PLATFORM,\n params: { platformId: platform.id }\n }}\n incomplete={platform.status === LtiPlatformStatus.Incomplete}\n />\n </li>\n ))}\n\n {props.consumers.map(consumer => (\n <li key={consumer.key}>\n <LtiPlatformListItem\n name={consumer.name}\n version={1.1}\n editAppLink={{\n application: AppChannels.SETTINGS,\n action: Actions.Settings.EDIT_LTI_CONSUMER,\n args: [consumer.key]\n }}\n deleteAppLink={{\n application: AppChannels.SETTINGS,\n action: Actions.Settings.DELETE_LTI_PLATFORM,\n params: { consumerKey: consumer.key }\n }}\n />\n </li>\n ))}\n </ul>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\ninterface LtiPlatformsEmptyStateProps {\n createAppLink: Core.AppLink;\n}\n\nexport function LtiPlatformsEmptyState({ createAppLink }: LtiPlatformsEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.LTI} size='small'/>\n\n <EmptyState.Heading>\n You have not configured any platforms yet\n </EmptyState.Heading>\n\n <EmptyState.Info>\n Embed videos directly into your learning tools and see interactive results in your gradebook.\n </EmptyState.Info>\n\n <EmptyState.Cta\n text='Add platform'\n appLink={createAppLink}\n icon={cvSvgLibrary.Plus}\n className='btn btn-outline-dark'\n />\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"platformList\":\"wyIYe\",\"platformItem\":\"lRt_C\"};","import React from 'react';\n\nimport styles from './partial-lti-platforms.scss';\n\nexport function PartialLtiPlatforms(): JSX.Element {\n return (\n <div className={styles.platformList}>\n <div className={`${styles.platformItem} partial-loading-background mb-2 rounded`} />\n <div className={`${styles.platformItem} partial-loading-background mb-2 rounded`} />\n <div className={`${styles.platformItem} partial-loading-background mb-2 rounded`} />\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { LtiPlatformList } from 'apps/settings/components/lti/lti-platform-list/LtiPlatformList';\nimport { LtiRequests } from 'apps/settings/flight-requests/LtiRequests';\nimport { useCanManageLti } from 'apps/settings/hooks/useCanManageLti';\nimport { LtiConsumer } from 'apps/settings/interfaces/lti/LtiConsumer';\nimport { LtiPlatform } from 'apps/settings/interfaces/lti/LtiPlatform';\n\nimport { LtiPlatformsEmptyState } from './empty-state/LtiPlatformsEmptyState';\nimport { PartialLtiPlatforms } from './partial-loading/PartialLtiPlatforms';\n\nconst namespace = 'settings.ltiPlatforms';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst createAppLink: Core.AppLink = {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.CREATE_LTI_PLATFORM\n};\n\nexport function LtiPlatformsView(): JSX.Element {\n const consumers = Flight.useBasicFetch<LtiConsumer[]>(LtiRequests.getConsumers());\n\n const platforms = Flight.useBasicFetch<LtiPlatform[]>(LtiRequests.getPlatforms());\n\n useHandleObjectError(consumers);\n useHandleObjectError(platforms);\n\n const { canAccess } = useCanManageLti();\n\n React.useEffect(() => {\n if (canAccess === false) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n });\n }\n }, [canAccess]);\n\n if (canAccess !== true)\n return <></>;\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n \n <IconButton svgName={cvSvgLibrary.Plus} appLink={createAppLink} className='btn btn-outline-dark'>\n <Text namespace={namespace} phrase='addPlatform' />\n </IconButton>\n </div>\n\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settings'), appLink: { application: AppChannels.SETTINGS, action: Actions.Settings.HOME } },\n { name: getPhrase('ltiPlatforms'), active: true }\n ]}\n />\n </div>\n\n {(() => {\n if (!platforms.data || !consumers.data)\n return <PartialLtiPlatforms />;\n\n if (!platforms.data?.length && !consumers.data?.length)\n return <LtiPlatformsEmptyState createAppLink={createAppLink} />;\n\n return (\n <LtiPlatformList\n platforms={platforms.data}\n consumers={consumers.data}\n />\n );\n })()}\n </div>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","characterLength","reduce","prev","next","first","secondLast","last","rest","slice","onClick","map","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","LtiRequests","getConsumers","url","normalize","getPlatforms","formatData","data","platform","publicJwk","JSON","stringify","getConsumer","consumerKey","getPlatform","platformId","createConsumer","success","error","type","invalidationKeys","createPlatform","updateConsumer","updatePlatform","id","deleteConsumer","deletePlatform","useCanManageLti","undefined","canAccess","setCanAccess","hasLti","LtiPlatformStatus","namespace","LtiPlatformListItem","props","AppLink","editAppLink","e","preventDefault","version","incomplete","Text","phrase","DivButton","stopPropagation","deleteAppLink","SvgContainer","title","LanguageService","LtiPlatformList","platforms","application","action","args","params","Incomplete","consumers","consumer","LtiPlatformsEmptyState","createAppLink","EmptyState","src","ImageUrls","text","icon","PartialLtiPlatforms","getPhrase","LtiPlatformsView","IconButton"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 6741-572db2d1e9-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6741],{3278:(e,t,n)=>{n.d(t,{z:()=>p});var r=n(32735),a=n(39202),i=n(23481),o=n(65858),c=n(38502),s=n(83345),l=n(40424);const u={pillTab:"bMJM0"};var d="discover.header";function p(e){var t,n,p,f,m,h;if(!e.type)return r.createElement(r.Fragment,null);if(e.type===l.Yv.Learner||e.hasStudentExperience)return r.createElement("div",{className:"py-3"},r.createElement("h1",{className:"h2 mb-0"},r.createElement(s.x,{namespace:d,phrase:"heading"})));var v=[{name:i.T.getPhrase(d,"forYou"),appLink:null===(t=e.appLinks)||void 0===t?void 0:t.forYou,active:"forYou"===e.active,analyticsData:{name:i.T.getPhrase(d,"forYou"),url:a.C$.getHref(null===(n=e.appLinks)||void 0===n?void 0:n.forYou)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:i.T.getPhrase(d,"whatsNew"),appLink:null===(p=e.appLinks)||void 0===p?void 0:p.whatsNew,active:"whatsNew"===e.active,analyticsData:{name:i.T.getPhrase(d,"whatsNew"),url:a.C$.getHref(null===(f=e.appLinks)||void 0===f?void 0:f.whatsNew)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}];return e.showCalendar&&v.push({name:i.T.getPhrase(d,"calendar"),appLink:null===(m=e.appLinks)||void 0===m?void 0:m.calendar,active:"calendar"===e.active,analyticsData:{name:i.T.getPhrase(d,"calendar"),url:a.C$.getHref(null===(h=e.appLinks)||void 0===h?void 0:h.calendar)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}),r.createElement("div",{className:"py-3 text-center"},r.createElement(c.r,{tabs:v,className:u.pillTab}))}},28046:(e,t,n)=>{n.d(t,{l:()=>f,v:()=>m});var r=n(39479),a=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],o=["csv","txt"],c=["xls","xlt","xlsx"],s=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",u=["zip","rar"],d=["ppt","pot","pps","pptx"],p=["srt"],f={IMAGES:".".concat(s.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(s.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,c,d,a,o,s,u).join(",.")),SUBTITLES:".".concat(p.join(",."))},m={getResourceType:function(e){var t=e.toLowerCase();return r.contains(i,t)?"document":r.contains(c,t)?"excel":r.contains(d,t)?"powerpoint":r.contains(a,t)?"pdf":r.contains(o,t)?"text":r.contains(s,t)?"image":r.contains(u,t)?"archive":r.contains(p,t)?"subtitle":""}}},38502:(e,t,n)=>{n.d(t,{r:()=>d});var r=n(32735),a=n(49985),i=n(36848),o=n(18559),c=n(11607),s=n(83914),l=n(87432);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function d(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))}))))}d.defaultProps={borderRadius:"lg"}},17101:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e[e.Other=0]="Other",e[e.SuggestImprovement=1]="SuggestImprovement",e[e.ReportBug=2]="ReportBug",e[e.RequestVideo=3]="RequestVideo",e[e.RaiseIssue=4]="RaiseIssue",e[e.GivePraise=5]="GivePraise",e[e.Footer=6]="Footer",e[e.RequestLivestream=7]="RequestLivestream"}(r||(r={}))},7198:(e,t,n)=>{n.d(t,{f:()=>a});var r=n(99940),a={submitFeedback:function(e,t){return{url:"{gateway}/v1/feedback",key:"submit:feedback",type:r.k.POST,data:Object.assign(Object.assign({},e),t)}}}},52167:(e,t,n)=>{n.d(t,{m:()=>l});var r=n(53301),a=n.n(r),i=n(28046),o=n(19808),c=n(86613);function s(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 l={getUserInfo:function(e,t){return{id:e.id,username:e.username,email:e.email,userType:e.role===c.i.Admin?"Admin":"Staff",customerId:e.customerId,cvcId:t.crmId,customerName:t.name,instanceRegion:e.instanceRegion,contentRegion:e.contentRegion}},mapInstanceRegionToTag:function(e){switch(e){case o.b.AU:return"au";case o.b.NZ:return"nz";case o.b.UK:return"uk";case o.b.US:return"us"}},getTags:function(e,t,n,r){var a,i=[t].concat(function(e){if(Array.isArray(e))return s(e)}(a=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return s(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)?s(e,t):void 0}}(a)||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.")}());i.push(n?"student":"staff"),e.role===c.i.Admin&&i.push("administrator");var o=l.mapInstanceRegionToTag(e.instanceRegion);return o&&i.push(o),i},categorizeFiles:function(e){return e.reduce((function(e,t){var n=t.get("fileInfo");return a().isValidFile(t.get("file"),i.l.VIDEO)?e.videoUrls.push(null==n?void 0:n.url):e.imageUrls.push(null==n?void 0:n.url),e}),{imageUrls:[],videoUrls:[]})}}},16741:(e,t,n)=>{n.r(t),n.d(t,{CuratedDiscoverView:()=>ne});var r=n(32735),a=n(23481),i=n(57900),o=n(20354),c=n(2948),s=n(49985),l=n(65858),u=n(75896),d=n(3278),p=n(32624),f=n(16714),m=n(40424),h=n(77843),v=n(23232),g=n(83345),y=n(76177),b=n(35223),w="subjects.discoverDashboardEmptyState",E=a.T.encloseNamespace(w);function L(e){var t,n,i=(null===(t=e.dashboard)||void 0===t?void 0:t.status)===m.GL.Archived;return r.createElement(v.u,null,r.createElement(v.u.Image,{src:e.imageUrl,altText:E("info")}),r.createElement(v.u.Heading,null,r.createElement(g.x,{namespace:w,phrase:"heading"})),r.createElement(v.u.Info,null,r.createElement(g.x,{namespace:w,phrase:"info"})),r.createElement(y.u,{title:i?a.T.getPhrase(w,"archivedCtaTooltip"):"",spanHack:!0},r.createElement(v.u.Cta,{text:a.T.getPhrase(w,"add"),appLink:null===(n=e.addWidgetApplink)||void 0===n?void 0:n.call(e),className:"btn btn-dark",icon:b.vn.Plus,disabled:i})))}function S(e){var t,n,a=u.m.sortBy(null===(t=e.dashboard)||void 0===t?void 0:t.widgets,"index");function i(t,n,r){var a=h.S.getWidgetParams(n,r,h.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(t,a,r,e.presentation)}var o=e.isReadonly&&!(null==a?void 0:a.length);return r.createElement(r.Fragment,null,r.createElement(d.z,{type:null===(n=e.dashboard)||void 0===n?void 0:n.userType,appLinks:e.headerAppLinks,hasStudentExperience:e.hasPermissions(f.C.StudentExperience),showCalendar:e.showCalendar,active:"forYou"}),a.map((function(t,n){return r.createElement(p.L,{key:t.id,id:t.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:i,audiences:e.audiences,name:t.name,description:t.description,templateId:t.templateId,metadata:t.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:t.preferences,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===t.id,widgetTypeId:t.widgetId,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,onSubmitFeedback:e.onSubmitFeedback,updatePreferences:e.updatePreferences,yearGroups:e.yearGroups,lazyLoad:e.lazyLoad,dashboardTarget:m.ku.Discover,widgetIndex:n,jobTitle:e.jobTitle,isPreviewing:e.isReadonly,imageUrls:e.imageUrls,settings:e.settings,isPlugin:e.isPlugin,availablePresentations:e.availablePresentations})})),o&&r.createElement(L,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var T=n(38143),A=n(17101),k=n(72639),O=n(12754),C=n(39151),x=n(1666),N=n(80889),P=n(7198),I=n(98064),D=n(61699),U=n(31949),F=n(22902),R=n(79612),j=n(37802),_=n(69454),B=n(52167),G=n(76753),M=n(73417),W=n(99742),H=n(51855),V=n(27638),Z=n(86698),Y=n(85369),z=n(23737),q=n(33192),$=n(48688),J=n(27051);function K(e){return K="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},K(e)}function Q(){Q=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),c=new N(r||[]);return a(o,"_invoke",{value:k(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=u;var p="suspendedStart",f="suspendedYield",m="executing",h="completed",v={};function g(){}function y(){}function b(){}var w={};l(w,o,(function(){return this}));var E=Object.getPrototypeOf,L=E&&E(E(P([])));L&&L!==n&&r.call(L,o)&&(w=L);var S=b.prototype=g.prototype=Object.create(w);function T(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(a,i,o,c){var s=d(e[a],e,i);if("throw"!==s.type){var l=s.arg,u=l.value;return u&&"object"==K(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(u).then((function(e){l.value=e,o(l)}),(function(e){return n("throw",e,o,c)}))}c(s.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function k(t,n,r){var a=p;return function(i,o){if(a===m)throw Error("Generator is already running");if(a===h){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var c=r.delegate;if(c){var s=O(c,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===p)throw a=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=m;var l=d(t,n,r);if("normal"===l.type){if(a=r.done?h:f,l.arg===v)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(a=h,r.method="throw",r.arg=l.arg)}}}function O(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,v;var o=i.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,v):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function C(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 x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function P(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 a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(K(t)+" is not iterable")}return y.prototype=b,a(S,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=l(b,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,s,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},T(A.prototype),l(A.prototype,c,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new A(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},T(S),l(S,s,"Generator"),l(S,o,(function(){return this})),l(S,"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=P,N.prototype={constructor:N,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(x),!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 a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],c=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):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),v},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),x(n),v}},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 a=r.arg;x(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function X(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 ee=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}s((r=r.apply(e,t||[])).next())}))},te=a.T.encloseNamespace("dashboard.dashboard");function ne(e){var t,n,a,u,d,p,h,v,g=o.a.useBasicFetch(C.L.config()),y=o.a.useBasicFetch(U.N.currentUser()),b=o.a.useBasicFetch((null===(t=y.data)||void 0===t?void 0:t.isAuthenticated)&&U.N.user(y.data.id)),w=(0,F.T)(),E=w.hasLocalPermissions,L=w.hasPermissions,K=(0,H.G)().isPlugin,ne=o.a.useBasicFetch(E(f.E.ManageDiscoverPreferences)&&y.data&&x.h.customer(y.data.customerId)),re=o.a.useBasicFetch((null===(n=y.data)||void 0===n?void 0:n.isAuthenticated)&&x.h.yearGroups(y.data.customerId)),ae=o.a.useBasicFetch((null===(a=y.data)||void 0===a?void 0:a.isAuthenticated)&&I.D.libraries()),ie=(0,Z.y)().availablePresentations,oe=(0,z.y)({targetType:m.ku.Discover,queryParams:e.queryParams,presentationSlug:e.presentationSlug}),ce=oe.dashboard,se=oe.presentation,le=oe.audiences,ue=o.a.useGetFetchAsync(),de=(0,j.r)(null),pe=(0,V.u)(l.LZ.Dashboard),fe=pe.setFavourite,me=pe.canFavourite,he=(h=(0,c.D)(T.g.AUDIENCE_FILTER,void 0,{storage:i.Z1.SessionStorage}),v=1,function(e){if(Array.isArray(e))return e}(h)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}return c}}(h,v)||function(e,t){if(e){if("string"==typeof e)return X(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)?X(e,t):void 0}}(h,v)||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.")}())[0],ve=(0,J.E)(_.T.getAudienceParams(he)),ge=function(e){return+k.p[null==e?void 0:e.learningLevel]===k.p.Level_1?"VariantOne":"VariantTwo"}(se);(0,R.M)(G.CG.getDiscoverMetadata({content:se,phraseContext:{phraseHandler:te,titlePhrase:"pageTitle".concat(ge),descriptionPhrase:"pageDescription".concat(ge)},canonicalLink:q.f.getCanonicalLink(),allowIndexing:q.f.allowIndexing(),hrefLang:q.f.getStaticRouteHrefLang(null==se?void 0:se.learningLevel,ve.discover)}));var ye=(0,Y.N)().showCalendar;return r.createElement("div",{className:"bg-white px-4"},r.createElement(M.T,null),r.createElement(S,{currentUser:y.data,dashboard:ce.data,widgetAppLinks:ve,headerAppLinks:(0,J.u)(),presentation:se,imageCdnUrl:g.data.imageCdnUrl,resourceThumbnailFallbackImageUrl:W.W.Fallbacks.RESOURCE_THUMBNAIL,getWidgetContentRequest:function(){for(var e=$.g.hasTwig(ae.data,y.data),t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return N._.discoverWidgetContent.apply(N._,[e].concat(n))},setFavourite:fe,audiences:le.data,canFavourite:me,updatePreferences:function(e,t,n,r){return ee(this,void 0,void 0,Q().mark((function t(){var a,i;return Q().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=r.filter((function(e){return!e.hidden&&n.find((function(t){return t.id===e.id})).hidden})),i=r.filter((function(e){return!!e.hidden&&!n.find((function(t){return t.id===e.id})).hidden})),!(null==a?void 0:a.length)){t.next=5;break}return t.next=5,ue(D.o.followSubjects(a.map((function(e){return e.id}))));case 5:if(!(null==i?void 0:i.length)){t.next=8;break}return t.next=8,ue(D.o.unfollowSubjects(i.map((function(e){return e.id}))));case 8:return t.abrupt("return",ue(N._.updateWidgetPreferences(e,r.map((function(e){return{id:e.id,index:e.index}})),y.data)));case 9:case"end":return t.stop()}}),t)})))},hasPermissions:L,hasLocalPermissions:E,onSubmitFeedback:L(f.C.CanSubmitFeedback)&&function(e){return ee(this,void 0,void 0,Q().mark((function t(){var n;return Q().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ue(P.f.submitFeedback({type:A.n.Footer,user:B.m.getUserInfo(y.data,ne.data),tags:B.m.getTags(y.data,O.x.Primary,L(f.C.StudentExperience),["discover","in product feedback"])},{reaction:e.type,feedback:e.content,location:"Discover Footer",presentationName:se.description,presentationId:se.id,dashboardName:ce.data.name,dashboardId:ce.data.id}));case 2:return n=t.sent,s.k.logUserAction({feedbackType:e.type,content:e.content,presentationId:se.id,dashboardId:ce.data.id},{actionType:l.Vw.Submit,location:l.LZ.DiscoverFooter,entity:l.py.Feedback,workflowPhase:l.eu.Complete}),t.abrupt("return",n);case 5:case"end":return t.stop()}}),t)})))},yearGroups:re.data,lazyLoad:!q.f.isBot(),showCalendar:ye,jobTitle:null===(p=null===(d=null===(u=b.data)||void 0===u?void 0:u.userProfile)||void 0===d?void 0:d.metadata)||void 0===p?void 0:p.jobTitle,imageUrls:{onboardingAdminBackgroundFull:W.W.OnboardingV2.Widget.ADMIN_BACKGROUND_FULL,onboardingAdminBackground:W.W.OnboardingV2.Widget.ADMIN_BACKGROUND,onboardingTeacherBackground:W.W.OnboardingV2.Widget.TEACHER_BACKGROUND},settings:de,isPlugin:K,availablePresentations:ie}))}},27051:(e,t,n)=>{n.d(t,{E:()=>f,u:()=>m});var r=n(75896),a=n(28400),i=n(17475),o=n(183),c=n(14070),s=n(97291),l=n(22490),u=n(67963),d=n(82431),p="classification-latest-releases";function f(e){return{classification:function(t){return{application:s.O.SUBJECT,action:c.e.Subjects.CLASSIFICATION,args:[null==t?void 0:t.id,a.m.slugify(null==t?void 0:t.name)],params:e||{}}},videoType:function(e,t){return l.W.getAppLink(e,Object.assign(Object.assign({},t),{context:o.Q.Widget}))},series:d.j.getSeriesAppLink,subText:function(e){return d.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:s.O.PLAYLISTS,action:c.e.Playlists.PLAYLIST,args:[e.id,a.m.slugify(e.name)]}},latestReleases:function(){return{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}},allTopics:function(){return{application:s.O.SUBJECT,action:c.e.Subjects.CLASSIFICATION_ALL}},classificationLatestReleases:function(e){return e.id===p?{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES}:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CLASSIFICATION_UPDATE,args:[e.id,a.m.slugify(e.name)]}},widgetVideoList:function(e,t){return{application:s.O.DASHBOARD,action:c.e.Dashboard.DASHBOARD,args:[e,a.m.slugify(t)]}},watchHistory:function(){return{application:s.O.WATCH_HISTORY,action:c.e.WatchHistory.HOME}},rating:function(e,t){return{application:s.O.SEARCH,action:c.e.Search.HOME,params:{moviesAndTv:!0,rating:i.S.getFrontendParamValue([r.m.first(t),e])}}},company:function(e){return{application:s.O.MOVIES_AND_TV,action:c.e.MoviesAndTv.COMPANY_DASHBOARD,args:[e.id,a.m.slugify(e.name)]}},discover:function(){return{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME}},calendar:function(){return{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}},calendarMonth:function(e,t){var n={application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR_MONTH,args:[e.toLowerCase()]};return t&&(n.params={year:t}),n},onboardingStep:function(e){return(0,u.u)()[e]},onboardingAppLinks:function(){return(0,u.u)()},classroomGuide:l.W.getClassroomGuideAppLink,interactiveGuidance:l.W.getInteractiveGuidanceAppLink,resourceGuidance:l.W.getResourceGuidanceAppLink}}function m(){return{forYou:{application:s.O.DASHBOARD,action:c.e.Dashboard.HOME},whatsNew:{application:s.O.CONTENT_UPDATES,action:c.e.ContentUpdates.CONTENT_UPDATES},calendar:{application:s.O.CALENDAR,action:c.e.Calendar.CALENDAR}}}},73417:(e,t,n)=>{n.d(t,{T:()=>u});var r=n(32735),a=n(11607),i=n(83914),o=n(83345),c=n(87348),s=n(35223),l="shared.upgradeFeedbackBanner";function u(){var e=(0,c.Q)(),t=e.showFeedbackBanner,n=e.dismissFeedbackBanner;return t?r.createElement("div",{className:"alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center"},r.createElement(o.x,{namespace:l,phrase:"message",options:{url:"https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look"}}),r.createElement(a.L,{onClick:n},r.createElement(i.x,{svgName:s.vn.Close,className:"ms-2 svg-container"}))):r.createElement(r.Fragment,null)}},85369:(e,t,n)=>{n.d(t,{N:()=>g});var r=n(32735),a=n(35242),i=n(20354),o=n(27022),c=n(72639),s=n(31949),l=n(37802),u=n(87114),d=n(86698);function p(e){return p="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},p(e)}function f(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,a,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw a}}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}function h(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=p(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var v=h(h(h(h(h(h({},o.t.AU,[c.p.Level_1]),o.t.US,[c.p.Level_1]),o.t.UK,[c.p.Level_1]),o.t.SCOT,[c.p.Level_1]),o.t.NZ,[]),o.t.GLOBAL,[]);function g(){var e,t=(0,l.r)(null),n=t.hasSpecialEventCalendar,o=t.isLoadingSettings,c=(0,d.y)({redirectOnError:!0}).activePresentation,p=i.a.useBasicFetch(s.N.currentUser()),m=v[null===(e=p.data)||void 0===e?void 0:e.contentRegion],h=u.i.getMappedPresentationLevel(null==c?void 0:c.learningLevel),g=!(null==m?void 0:m.find((function(e){return e.toString()===(null==h?void 0:h.toString())}))),y=!o&&!n,b=f(r.useState(!y&&!g),2),w=b[0],E=b[1],L=f(r.useState(o||!(null==c?void 0:c.id)),2),S=L[0],T=L[1];return r.useEffect((function(){y||g?E(!1):S||E(!0),T(o||!(null==c?void 0:c.id))}),[n,null==c?void 0:c.id,S]),a.h.isDevelopment?{showCalendar:!0,isLoading:!1}:{showCalendar:w,isLoading:S}}},87432:(e,t,n)=>{n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
|
|
3
|
+
//# sourceMappingURL=6741-572db2d1e9-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6741-572db2d1e9-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/discover/components/header/discover-header.scss","file:///app/packages/libs/shared/src/apps/discover/components/header/DiscoverHeader.tsx","file:///app/packages/libs/shared/src/apps/upload/utils/FileExtensionsHelper.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/FeedbackType.ts","file:///app/packages/libs/shared/src/flight-requests/FeedbackRequests.ts","file:///app/packages/libs/shared/src/utils/FeedbackFormHelper.ts","file:///app/packages/libs/shared/src/apps/discover/components/discover-dashboard/empty-state/DiscoverDashboardEmptyState.tsx","file:///app/packages/libs/shared/src/apps/discover/components/discover-dashboard/DiscoverDashboard.tsx","file:///app/packages/projects/lite/src/apps/dashboard/views/dashboard/CuratedDiscoverView.tsx","file:///app/packages/projects/lite/src/apps/dashboard/views/dashboard/DiscoverViewUtils.ts","file:///app/packages/projects/lite/src/shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner.tsx","file:///app/packages/projects/lite/src/shared/hooks/useShowCalendar.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"pillTab\":\"bMJM0\"};","import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { DashboardUserType } from 'libs/shared/interfaces';\n\nimport styles from './discover-header.scss';\n\nconst namespace = 'discover.header';\n\nexport interface DiscoverHeaderAppLinks {\n forYou: Core.AppLink;\n whatsNew: Core.AppLink;\n calendar: Core.AppLink;\n}\n\ninterface DiscoverHeaderProps {\n type: DashboardUserType;\n hasStudentExperience?: boolean;\n appLinks?: DiscoverHeaderAppLinks;\n showCalendar: boolean;\n active: keyof DiscoverHeaderAppLinks;\n}\n\nexport function DiscoverHeader(props: DiscoverHeaderProps): JSX.Element {\n if (!props.type)\n return <></>;\n\n if (props.type === DashboardUserType.Learner || props.hasStudentExperience) {\n return (\n <div className='py-3'>\n <h1 className='h2 mb-0'>\n <Text namespace={namespace} phrase='heading' />\n </h1>\n </div>\n );\n }\n\n const tabs = [{\n name: LanguageService.getPhrase(namespace, 'forYou'),\n appLink: props.appLinks?.forYou,\n active: props.active === 'forYou',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'forYou'),\n url: AppLinkHelper.getHref(props.appLinks?.forYou)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: LanguageService.getPhrase(namespace, 'whatsNew'),\n appLink: props.appLinks?.whatsNew,\n active: props.active === 'whatsNew',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'whatsNew'),\n url: AppLinkHelper.getHref(props.appLinks?.whatsNew)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }];\n\n if (props.showCalendar) {\n tabs.push({\n name: LanguageService.getPhrase(namespace, 'calendar'),\n appLink: props.appLinks?.calendar,\n active: props.active === 'calendar',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'calendar'),\n url: AppLinkHelper.getHref(props.appLinks?.calendar)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n });\n }\n\n return (\n <div className='py-3 text-center'>\n <PillTabSelector\n tabs={tabs}\n className={styles.pillTab}\n />\n </div>\n );\n}","import * as _ from 'underscore';\n\n/**\n * This are kept as separate variables for when we eventually need a single group of them.\n * For example when we add image upload support.\n */\n\nconst pdfExtensions = ['pdf'];\nconst docExtensions = [ 'doc', 'docx', 'dotx', 'dot', 'rtf', 'docm', 'odt' ];\nconst textExtensions = [ 'csv', 'txt' ];\nconst excelExtensions = [ 'xls', 'xlt', 'xlsx' ];\nconst imageExtensions = [ 'jpg', 'tif', 'png', 'bmp', 'gif', 'jpeg' ];\nconst videoMimeType = 'video/*';\nconst archiveExtensions = [ 'zip', 'rar' ];\nconst powerPointExtensions = [ 'ppt', 'pot', 'pps', 'pptx' ];\n\nconst subtitleExtensions = ['srt'];\n\nconst FileExtensions = {\n IMAGES: `.${imageExtensions.join(',.')}`,\n VIDEO: videoMimeType,\n MIXED_MEDIA: `.${imageExtensions.join(',.')},${videoMimeType}`,\n RESOURCES: `.${[\n ...docExtensions,\n ...excelExtensions,\n ...powerPointExtensions,\n ...pdfExtensions,\n ...textExtensions,\n ...imageExtensions,\n ...archiveExtensions\n ].join(',.')}`,\n SUBTITLES: `.${subtitleExtensions.join(',.')}`\n};\n\nconst FileExtensionHelper = {\n getResourceType(extension: string): string {\n const ext = extension.toLowerCase();\n\n if (_.contains(docExtensions, ext)) return 'document';\n if (_.contains(excelExtensions, ext)) return 'excel';\n if (_.contains(powerPointExtensions, ext)) return 'powerpoint';\n if (_.contains(pdfExtensions, ext)) return 'pdf';\n\n if (_.contains(textExtensions, ext)) return 'text';\n if (_.contains(imageExtensions, ext)) return 'image';\n if (_.contains(archiveExtensions, ext)) return 'archive';\n if (_.contains(subtitleExtensions, ext)) return 'subtitle';\n\n return '';\n }\n};\n\nexport { FileExtensions, FileExtensionHelper };","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","export enum FeedbackType {\n Other,\n SuggestImprovement,\n ReportBug,\n RequestVideo,\n RaiseIssue,\n GivePraise,\n Footer,\n RequestLivestream\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nimport { FeedbackFormRequest } from 'libs/shared/interfaces/requests/FeedbackFormRequest';\n\nexport const FeedbackRequests = {\n submitFeedback(requestData: FeedbackFormRequest, formValues: Record<string, string>): Flight.Request {\n return {\n url: '{gateway}/v1/feedback',\n key: 'submit:feedback',\n type: HttpVerbs.POST,\n data: {\n ...requestData,\n ...formValues\n }\n };\n }\n};","import Dropzone from 'dropzone';\n\nimport { UploadItem } from 'libs/shared/apps/upload/services/UploadService';\nimport { FileExtensions } from 'libs/shared/apps/upload/utils/FileExtensionsHelper';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { UserRole } from 'libs/shared/enums/UserRole';\nimport { CurrentUser, Customer } from 'libs/shared/interfaces';\nimport { FeedbackUserDetails } from 'libs/shared/interfaces/requests/FeedbackFormRequest';\n\nexport const FeedbackFormHelper = {\n getUserInfo: (\n currentUser: CurrentUser,\n customer: Customer\n ): FeedbackUserDetails => {\n return {\n id: currentUser.id,\n username: currentUser.username,\n email: currentUser.email,\n userType: currentUser.role === UserRole.Admin ? 'Admin' : 'Staff',\n customerId: currentUser.customerId,\n cvcId: customer.crmId,\n customerName: customer.name,\n instanceRegion: currentUser.instanceRegion,\n contentRegion: currentUser.contentRegion\n };\n },\n\n mapInstanceRegionToTag: (instanceRegion: InstanceRegion): string => {\n switch (instanceRegion) {\n case InstanceRegion.AU:\n return 'au';\n case InstanceRegion.NZ:\n return 'nz';\n case InstanceRegion.UK:\n return 'uk';\n case InstanceRegion.US:\n return 'us';\n }\n },\n\n getTags: (currentUser: CurrentUser, product: ProductId, hasStudentExperience: boolean, extraTags: string[]) => {\n const tags = [\n product,\n ...extraTags\n ];\n\n tags.push(hasStudentExperience ? 'student' : 'staff');\n \n if (currentUser.role === UserRole.Admin)\n tags.push('administrator');\n \n const regionTag = FeedbackFormHelper.mapInstanceRegionToTag(currentUser.instanceRegion);\n \n if (regionTag)\n tags.push(regionTag);\n\n return tags;\n },\n\n categorizeFiles(files: UploadItem[]) {\n return files.reduce((result, file) => {\n const fileInfo = file.get('fileInfo');\n if (Dropzone.isValidFile(file.get('file'), FileExtensions.VIDEO)) {\n result.videoUrls.push(fileInfo?.url);\n } else {\n result.imageUrls.push(fileInfo?.url);\n }\n return result;\n }, {\n imageUrls: [],\n videoUrls: []\n });\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CuratedDashboard, DashboardStatus } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'subjects.discoverDashboardEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n\ninterface DiscoverDashboardEmptyStateProps {\n dashboard: CuratedDashboard;\n imageUrl: string;\n isReadonly: boolean;\n addWidgetApplink?: () => Core.AppLink;\n}\n\nexport function DiscoverDashboardEmptyState(props: DiscoverDashboardEmptyStateProps): JSX.Element {\n const isArchived = props.dashboard?.status === DashboardStatus.Archived;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} altText={getPhrase('info')} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n <Tooltip title={isArchived ? LanguageService.getPhrase(namespace, 'archivedCtaTooltip') : ''} spanHack>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'add')}\n appLink={props.addWidgetApplink?.()}\n className='btn btn-dark'\n icon={cvSvgLibrary.Plus}\n disabled={isArchived}\n />\n </Tooltip>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { DiscoverHeader, DiscoverHeaderAppLinks } from 'libs/shared/apps/discover/components/header/DiscoverHeader';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { DashboardFeedbackData } from 'libs/shared/components/feedback-form/FeedbackForm';\nimport { WidgetContainerView } from 'libs/shared/components/widgets/curated-widgets/WidgetContainerView';\nimport { WidgetAppLinks, WidgetImageUrls } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { HasLocalPermissionsFunc, HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { SettingsHash } from 'libs/shared/hooks/useSettings';\nimport { CanFavouriteFunc, CuratedDashboard, CuratedWidgetQueryParams, CurrentUser, DashboardTargetType, FavouriteFunc, Presentation, PresentationAudience, WidgetPreference, YearGroup } from 'libs/shared/interfaces';\nimport { CuratedDashboardHelper } from 'libs/shared/utils/DashboardHelper';\n\nimport { DiscoverDashboardEmptyState } from './empty-state/DiscoverDashboardEmptyState';\n\ninterface DiscoverDashboardProps {\n dashboard: CuratedDashboard;\n getWidgetContentRequest: (\n id: string,\n params: CuratedWidgetQueryParams,\n widgetTemplate: WidgetTemplate,\n presentation: Presentation\n ) => Flight.Request;\n imageCdnUrl: string;\n currentUser: CurrentUser;\n audiences: PresentationAudience[];\n hasPermissions: HasPermissionsFunc;\n hasLocalPermissions: HasLocalPermissionsFunc;\n resourceThumbnailFallbackImageUrl: string;\n emptyImageUrl?: string;\n presentation: Presentation;\n setFavourite?: FavouriteFunc;\n canFavourite?: CanFavouriteFunc;\n widgetAppLinks?: WidgetAppLinks;\n headerAppLinks?: DiscoverHeaderAppLinks;\n scrollToWidgetId?: string;\n updatePreferences?: (\n widgetId: string,\n widgetTypeId: WidgetTypeId,\n oldPreferences: WidgetPreference[],\n newPreferences: WidgetPreference[]\n ) => Promise<void>;\n onSubmitFeedback?: (feedback: DashboardFeedbackData) => Promise<void>;\n isReadonly?: boolean;\n yearGroups?: YearGroup[];\n lazyLoad?: boolean;\n showCalendar: boolean;\n jobTitle: JobTitles;\n imageUrls: WidgetImageUrls\n settings: SettingsHash;\n isPlugin: boolean;\n availablePresentations: Presentation[];\n}\n\nexport function DiscoverDashboard(props: DiscoverDashboardProps): JSX.Element {\n const widgets = ArrayHelper.sortBy(props.dashboard?.widgets, 'index');\n\n function getWidgetContentRequest(id: string, widgetTypeId: WidgetTypeId, template: WidgetTemplate): Flight.Request {\n const params = CuratedDashboardHelper.getWidgetParams(\n widgetTypeId,\n template,\n CuratedDashboardHelper.getDashboardTargetType(props.dashboard)\n );\n\n return props.getWidgetContentRequest(id, params, template, props.presentation);\n }\n\n const showEmptyState = props.isReadonly && !widgets?.length;\n\n return (\n <>\n <DiscoverHeader\n type={props.dashboard?.userType}\n appLinks={props.headerAppLinks}\n hasStudentExperience={props.hasPermissions(PermissionName.StudentExperience)}\n showCalendar={props.showCalendar}\n active='forYou'\n />\n {widgets.map((widget, idx) => {\n return (\n <WidgetContainerView\n key={widget.id}\n id={widget.id}\n imageCdnUrl={props.imageCdnUrl}\n getContentRequest={getWidgetContentRequest}\n audiences={props.audiences}\n name={widget.name}\n description={widget.description}\n templateId={widget.templateId}\n metadata={widget.metadata}\n presentation={props.presentation}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n resourceThumbnailFallbackImageUrl={props.resourceThumbnailFallbackImageUrl}\n preferences={widget.preferences}\n appLinks={props.widgetAppLinks}\n isScrollToTargetWidget={props?.scrollToWidgetId === widget.id}\n widgetTypeId={widget.widgetId}\n hasPermissions={props.hasPermissions}\n hasLocalPermissions={props.hasLocalPermissions}\n onSubmitFeedback={props.onSubmitFeedback}\n updatePreferences={props.updatePreferences}\n yearGroups={props.yearGroups}\n lazyLoad={props.lazyLoad}\n dashboardTarget={DashboardTargetType.Discover}\n widgetIndex={idx}\n jobTitle={props.jobTitle}\n isPreviewing={props.isReadonly}\n imageUrls={props.imageUrls}\n settings={props.settings}\n isPlugin={props.isPlugin}\n availablePresentations={props.availablePresentations}\n />\n );\n })}\n\n {showEmptyState && (\n <DiscoverDashboardEmptyState\n dashboard={props.dashboard}\n isReadonly={props.isReadonly}\n imageUrl={props.emptyImageUrl}\n addWidgetApplink={props.widgetAppLinks.widgetWizard}\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { DiscoverDashboard } from 'libs/shared/apps/discover/components/discover-dashboard/DiscoverDashboard';\nimport { DashboardFeedbackData } from 'libs/shared/components/feedback-form/FeedbackForm';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { FeedbackType } from 'libs/shared/enums/FeedbackType';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { DashboardRequests } from 'libs/shared/flight-requests/DashboardRequests';\nimport { FeedbackRequests } from 'libs/shared/flight-requests/FeedbackRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CurrentUser, Customer, DashboardTargetType, Library, Presentation, PresentationAudience, User, WidgetPreference, YearGroup } from 'libs/shared/interfaces';\nimport { Config } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\nimport { FeedbackFormHelper } from 'libs/shared/utils/FeedbackFormHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { UpgradeFeedbackBanner } from 'shared/components/upgrade-feedback-banner/UpgradeFeedbackBanner';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { useShowCalendar } from 'shared/hooks/useShowCalendar';\nimport { DashboardViewQueryParams } from 'shared/interfaces/query-params/DashboardViewQueryParams';\nimport { useFetchCuratedDashboard } from 'shared/utils/DashboardHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\n\nimport { LibraryHelper } from 'apps/libraries/utils/LibraryHelper';\n\nimport { getDiscoverHeaderAppLinks, getDiscoverWidgetAppLinks } from './DiscoverViewUtils';\n\nconst namespace = 'dashboard.dashboard';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getPhraseVariant(presentation: Presentation): string {\n const learningLevel = PresentationLearningLevel[presentation?.learningLevel];\n\n return +learningLevel === PresentationLearningLevel.Level_1\n ? 'VariantOne'\n : 'VariantTwo';\n}\n\ninterface CuratedDiscoverViewProps {\n presentationSlug?: string;\n queryParams?: DashboardViewQueryParams;\n}\n\nexport function CuratedDiscoverView(props: CuratedDiscoverViewProps): JSX.Element {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const user = Flight.useBasicFetch<User>(currentUser.data?.isAuthenticated && UserRequests.user(currentUser.data.id));\n const { hasLocalPermissions, hasPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n\n const customer = Flight.useBasicFetch<Customer>(\n hasLocalPermissions(LocalPermissionName.ManageDiscoverPreferences) &&\n currentUser.data &&\n CustomerRequests.customer(currentUser.data.customerId)\n );\n\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated\n && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const libraries = Flight.useBasicFetch<Library[]>(\n currentUser.data?.isAuthenticated &&\n LibraryRequests.libraries()\n );\n\n const { availablePresentations } = usePresentation();\n\n const {\n dashboard,\n presentation,\n audiences\n } = useFetchCuratedDashboard({\n targetType: DashboardTargetType.Discover,\n queryParams: props.queryParams,\n presentationSlug: props.presentationSlug\n });\n\n const fetchAsync = Flight.useGetFetchAsync();\n const settings = useSettings(null);\n\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.Dashboard);\n\n const [activeAudiences] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const widgetAppLinks = getDiscoverWidgetAppLinks(AudienceHelper.getAudienceParams(activeAudiences));\n\n const phraseVariant = getPhraseVariant(presentation);\n\n useSetPageMetadata(PageMetadataHelper.getDiscoverMetadata({\n content: presentation,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: `pageTitle${phraseVariant}`,\n descriptionPhrase: `pageDescription${phraseVariant}`\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: SeoHelper.allowIndexing(),\n hrefLang: SeoHelper.getStaticRouteHrefLang(\n presentation?.learningLevel,\n widgetAppLinks.discover\n )\n }));\n\n async function onSubmitFeedback(feedback: DashboardFeedbackData): Promise<void> {\n const promise = await fetchAsync<void>(FeedbackRequests.submitFeedback({\n type: FeedbackType.Footer,\n user: FeedbackFormHelper.getUserInfo(currentUser.data, customer.data),\n tags: FeedbackFormHelper.getTags(\n currentUser.data,\n ProductId.Primary,\n hasPermissions(PermissionName.StudentExperience),\n [ 'discover', 'in product feedback' ]\n )\n }, {\n reaction: feedback.type,\n feedback: feedback.content,\n location: 'Discover Footer',\n presentationName: presentation.description,\n presentationId: presentation.id,\n dashboardName: dashboard.data.name,\n dashboardId: dashboard.data.id\n }));\n\n AnalyticsHelper.logUserAction({\n feedbackType: feedback.type,\n content: feedback.content,\n presentationId: presentation.id,\n dashboardId: dashboard.data.id\n }, {\n actionType: UserAction.Submit,\n location: LocationContext.DiscoverFooter,\n entity: EntityType.Feedback,\n workflowPhase: WorkflowPhase.Complete\n });\n\n return promise;\n }\n\n async function updateWidgetPreferences(\n widgetId: string,\n widgetTypeId: WidgetTypeId,\n oldPreferences: WidgetPreference[],\n newPreferences: WidgetPreference[]\n ): Promise<void> {\n const addedSubjects = newPreferences.filter(p => {\n if (p.hidden)\n return false;\n\n const oldPreference = oldPreferences.find(o => o.id === p.id);\n\n return oldPreference.hidden;\n });\n const removedSubjects = newPreferences.filter(p => {\n if (!p.hidden)\n return false;\n \n const oldPreference = oldPreferences.find(o => o.id === p.id);\n\n return !oldPreference.hidden;\n });\n\n if (addedSubjects?.length)\n await fetchAsync<void>(PreferenceRequests.followSubjects(addedSubjects.map(s => s.id)));\n\n if (removedSubjects?.length)\n await fetchAsync<void>(PreferenceRequests.unfollowSubjects(removedSubjects.map(s => s.id)));\n\n return fetchAsync<void>(DashboardRequests.updateWidgetPreferences(\n widgetId,\n newPreferences.map(p => ({\n id: p.id,\n index: p.index\n })),\n currentUser.data\n ));\n }\n const { showCalendar } = useShowCalendar();\n\n return (\n <div className='bg-white px-4'>\n <UpgradeFeedbackBanner />\n <DiscoverDashboard\n currentUser={currentUser.data}\n dashboard={dashboard.data}\n widgetAppLinks={widgetAppLinks}\n headerAppLinks={getDiscoverHeaderAppLinks()}\n presentation={presentation}\n imageCdnUrl={config.data.imageCdnUrl}\n resourceThumbnailFallbackImageUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n getWidgetContentRequest={(\n ...args: Parameters<typeof DashboardRequests.dashboardWidgetContent>\n ) => {\n const hasTwig = LibraryHelper.hasTwig(libraries.data, currentUser.data);\n\n return DashboardRequests.discoverWidgetContent(hasTwig, ...args);\n }}\n setFavourite={setFavourite}\n audiences={audiences.data}\n canFavourite={canFavourite}\n updatePreferences={updateWidgetPreferences}\n hasPermissions={hasPermissions}\n hasLocalPermissions={hasLocalPermissions}\n onSubmitFeedback={\n hasPermissions(PermissionName.CanSubmitFeedback) &&\n onSubmitFeedback\n }\n yearGroups={yearGroups.data}\n lazyLoad={!SeoHelper.isBot()}\n showCalendar={showCalendar}\n jobTitle={user.data?.userProfile?.metadata?.jobTitle}\n imageUrls={{\n onboardingAdminBackgroundFull: ImageUrls.OnboardingV2.Widget.ADMIN_BACKGROUND_FULL,\n onboardingAdminBackground: ImageUrls.OnboardingV2.Widget.ADMIN_BACKGROUND,\n onboardingTeacherBackground: ImageUrls.OnboardingV2.Widget.TEACHER_BACKGROUND\n }}\n settings={settings}\n isPlugin={isPlugin}\n availablePresentations={availablePresentations}\n />\n </div>\n );\n}","import { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { DiscoverHeaderAppLinks } from 'libs/shared/apps/discover/components/header/DiscoverHeader';\nimport { OnboardingScreenId } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenId';\nimport { RatingFilterHelper } from 'libs/shared/apps/search/utils/RatingFilterHelper';\nimport { WidgetAppLinks } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { Classification, Company, Playlist, Rating, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { getOnboardingAppLinks } from 'apps/onboarding/utils/OnboardingAppLinkHelper';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst CLASSIFICATION_LATEST_RELEASES = 'classification-latest-releases';\n\nexport function getDiscoverWidgetAppLinks(\n params: HashObject\n): WidgetAppLinks {\n return {\n classification: (classification?: Classification) => {\n return {\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION,\n args: [ classification?.id, TextHelper.slugify(classification?.name) ],\n params: params || {}\n };\n },\n\n videoType: (video: VideoTypes, opts: GetVideoAppLinkOptions) => (\n VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget\n })\n ),\n\n series: SeriesAppLinkHelper.getSeriesAppLink,\n\n subText: (video: Video) => SeriesAppLinkHelper.getSeriesAppLink(video.series),\n\n playlist: (playlist: Playlist) => ({\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ playlist.id, TextHelper.slugify(playlist.name) ]\n }),\n \n latestReleases: () => ({\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n }),\n\n allTopics: () => ({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION_ALL\n }),\n\n classificationLatestReleases: (classification: Classification) => {\n if (classification.id === CLASSIFICATION_LATEST_RELEASES)\n return {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n };\n\n return {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CLASSIFICATION_UPDATE,\n args: [ classification.id, TextHelper.slugify(classification.name) ]\n };\n },\n\n widgetVideoList: (widgetId: string, widgetName: string) => ({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.DASHBOARD,\n args: [ widgetId, TextHelper.slugify(widgetName) ]\n }),\n\n watchHistory: () => ({\n application: AppChannels.WATCH_HISTORY,\n action: Actions.WatchHistory.HOME\n }),\n\n rating: (rating: Rating, ratings: Rating[]) => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n moviesAndTv: true,\n rating: RatingFilterHelper.getFrontendParamValue([ ArrayHelper.first(ratings), rating ])\n }\n }),\n\n company: (company: Company) => ({\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.COMPANY_DASHBOARD,\n args: [ company.id, TextHelper.slugify(company.name) ]\n }),\n\n discover: () => ({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }),\n\n calendar: () => ({\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR\n }),\n\n calendarMonth: (month: string, year?: string) => {\n const appLink: Core.AppLink = {\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR_MONTH,\n args: [month.toLowerCase()]\n };\n\n if (year)\n appLink.params = { year };\n\n return appLink;\n },\n\n onboardingStep: (step: OnboardingScreenId) => {\n const appLinks = getOnboardingAppLinks();\n return appLinks[step];\n },\n\n onboardingAppLinks: () => {\n return getOnboardingAppLinks();\n },\n\n classroomGuide: VideoAppLinkHelper.getClassroomGuideAppLink,\n interactiveGuidance: VideoAppLinkHelper.getInteractiveGuidanceAppLink,\n resourceGuidance: VideoAppLinkHelper.getResourceGuidanceAppLink\n };\n}\n\nexport function getDiscoverHeaderAppLinks(): DiscoverHeaderAppLinks {\n return {\n forYou: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n },\n whatsNew: {\n application: AppChannels.CONTENT_UPDATES,\n action: Actions.ContentUpdates.CONTENT_UPDATES\n },\n calendar: {\n application: AppChannels.CALENDAR,\n action: Actions.Calendar.CALENDAR\n }\n };\n}","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useLiteUpgrade } from 'libs/shared/hooks/UseLiteUpgrade';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'shared.upgradeFeedbackBanner';\n\nexport function UpgradeFeedbackBanner(): JSX.Element {\n const { showFeedbackBanner, dismissFeedbackBanner } = useLiteUpgrade();\n\n if (!showFeedbackBanner)\n return <></>;\n\n return (\n <div className='alert bg-light-blue p-2 rounded text-info fw-semibold d-flex justify-content-between align-items-center'>\n <Text\n namespace={namespace}\n phrase='message'\n options={{ url: 'https://www.clickvieweducation.com/en-au/blog/product/exchange-tv-new-look' }}\n />\n <DivButton\n onClick={dismissFeedbackBanner}\n >\n <SvgContainer\n svgName={cvSvgLibrary.Close}\n className='ms-2 svg-container'\n />\n </DivButton>\n </div>\n );\n}","import React from 'react';\n\nimport { EnvironmentVariables } from 'libs/common/backbone/services/EnvironmentVariables';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nconst ALLOWED_LEARNING_LEVELS_BY_REGION: Record<ContentRegion, PresentationLearningLevel[]> = {\n [ContentRegion.AU]: [\n // AU Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.US]: [\n // US Elementary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.UK]: [\n // UK Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.SCOT]: [\n // Scotland Primary Calendar\n PresentationLearningLevel.Level_1\n ],\n [ContentRegion.NZ]: [],\n [ContentRegion.GLOBAL]: []\n};\n\nexport function useShowCalendar() {\n const { hasSpecialEventCalendar, isLoadingSettings } = useSettings(null);\n\n const {\n activePresentation\n } = usePresentation({ redirectOnError: true });\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const allowedLearningLevels = ALLOWED_LEARNING_LEVELS_BY_REGION[currentUser.data?.contentRegion];\n const learningLevel = TopicsHelper.getMappedPresentationLevel(activePresentation?.learningLevel);\n const learningLevelCantAccess = !allowedLearningLevels?.find(l => {\n return l.toString() === (learningLevel as PresentationLearningLevel)?.toString();\n });\n\n const noSetting = !isLoadingSettings && !hasSpecialEventCalendar;\n\n const [ showCalendar, setShowCalendar ] = React.useState<boolean>(!noSetting && !learningLevelCantAccess);\n\n const [ isLoading, setIsLoading ] = React.useState(isLoadingSettings || !activePresentation?.id);\n\n React.useEffect(() => {\n if (noSetting || learningLevelCantAccess) {\n setShowCalendar(false);\n } else if (!isLoading) {\n setShowCalendar(true);\n }\n setIsLoading(isLoadingSettings || !activePresentation?.id);\n }, [ hasSpecialEventCalendar, activePresentation?.id, isLoading ]);\n\n if (EnvironmentVariables.isDevelopment)\n return { showCalendar: true, isLoading: false };\n\n return { showCalendar, isLoading };\n}","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["namespace","DiscoverHeader","props","type","hasStudentExperience","className","Text","phrase","tabs","name","LanguageService","appLink","appLinks","forYou","active","analyticsData","url","analyticsOptions","actionType","entity","location","whatsNew","showCalendar","push","calendar","PillTabSelector","pdfExtensions","docExtensions","textExtensions","excelExtensions","imageExtensions","videoMimeType","archiveExtensions","powerPointExtensions","subtitleExtensions","FileExtensions","IMAGES","join","VIDEO","MIXED_MEDIA","RESOURCES","SUBTITLES","FileExtensionHelper","getResourceType","extension","ext","toLowerCase","TabContents","tab","svgName","count","data","ref","containerRef","borderRadius","listClassName","map","index","key","onClick","onSelect","onSelectTab","defaultProps","FeedbackType","FeedbackRequests","submitFeedback","requestData","formValues","FeedbackFormHelper","getUserInfo","currentUser","customer","id","username","email","userType","role","customerId","cvcId","crmId","customerName","instanceRegion","contentRegion","mapInstanceRegionToTag","getTags","product","extraTags","tags","regionTag","categorizeFiles","files","reduce","result","file","fileInfo","get","videoUrls","imageUrls","getPhrase","DiscoverDashboardEmptyState","isArchived","dashboard","status","EmptyState","src","imageUrl","altText","Tooltip","title","spanHack","text","addWidgetApplink","icon","disabled","DiscoverDashboard","widgets","ArrayHelper","getWidgetContentRequest","widgetTypeId","template","params","presentation","showEmptyState","isReadonly","length","headerAppLinks","hasPermissions","PermissionName","widget","idx","WidgetContainerView","imageCdnUrl","getContentRequest","audiences","description","templateId","metadata","setFavourite","canFavourite","resourceThumbnailFallbackImageUrl","preferences","widgetAppLinks","isScrollToTargetWidget","scrollToWidgetId","widgetId","hasLocalPermissions","onSubmitFeedback","updatePreferences","yearGroups","lazyLoad","dashboardTarget","widgetIndex","jobTitle","isPreviewing","settings","isPlugin","availablePresentations","emptyImageUrl","widgetWizard","CuratedDiscoverView","config","ConfigRequests","UserRequests","user","isAuthenticated","usePermissions","usePluginHelper","CustomerRequests","libraries","LibraryRequests","usePresentation","targetType","queryParams","presentationSlug","fetchAsync","useSettings","useLiteFavourites","u","activeAudiences","SharedViewModelKeys","undefined","storage","AudienceHelper","phraseVariant","PresentationLearningLevel","learningLevel","getPhraseVariant","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","allowIndexing","hrefLang","discover","useShowCalendar","UpgradeFeedbackBanner","ImageUrls","hasTwig","LibraryHelper","args","DashboardRequests","oldPreferences","newPreferences","addedSubjects","filter","p","hidden","find","o","removedSubjects","PreferenceRequests","s","feedback","ProductId","reaction","presentationName","presentationId","dashboardName","dashboardId","promise","AnalyticsHelper","feedbackType","workflowPhase","userProfile","onboardingAdminBackgroundFull","onboardingAdminBackground","onboardingTeacherBackground","CLASSIFICATION_LATEST_RELEASES","getDiscoverWidgetAppLinks","classification","application","action","videoType","video","opts","context","series","subText","playlist","latestReleases","allTopics","classificationLatestReleases","widgetVideoList","widgetName","watchHistory","rating","ratings","moviesAndTv","company","calendarMonth","month","year","onboardingStep","step","onboardingAppLinks","classroomGuide","interactiveGuidance","resourceGuidance","getDiscoverHeaderAppLinks","showFeedbackBanner","dismissFeedbackBanner","options","ALLOWED_LEARNING_LEVELS_BY_REGION","hasSpecialEventCalendar","isLoadingSettings","activePresentation","redirectOnError","allowedLearningLevels","learningLevelCantAccess","l","toString","noSetting","setShowCalendar","isLoading","setIsLoading"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6746],{49935:(e,t,r)=>{r.d(t,{Oo:()=>d,b2:()=>b});var n=r(32735),a=r(36848),i=r(86764),l=r(3747),c=r(5859),o=r(35223),m=r(83914);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var u=function(e){var t=e.breadcrumb,r=t.name,i=t.appLink,l=t.active,c=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(l?" active":"")},l?n.createElement("strong",null,r):n.createElement(a.F,{appLink:i},c&&n.createElement(m.x,{svgName:o.vn.ChevronLeft,size:m.S.Small}),n.createElement("span",{className:c?"ms-2":""},r)))},d=function(e){var t,r,a=e.breadcrumbs,c=(0,l.a)(i.r.XS),o=(null==a?void 0:a.length)||0,m=(t=n.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,l,c=[],o=!0,m=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);o=!0);}catch(e){m=!0,a=e}finally{try{if(!o&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(m)throw a}}return c}}(t,r)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=m[0],b=m[1];if(n.useEffect((function(){var e,t=null!==(e=null==a?void 0:a.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;o>3&&t>56&&b(!0)}),[null==a?void 0:a.length]),!o||c&&o<2)return n.createElement(n.Fragment,null);if(c)return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(u,{breadcrumb:a[o-2],withBackIcon:!0})));var f=n.createElement(u,{breadcrumb:a[0]}),p=o>2?n.createElement(u,{breadcrumb:a[o-2]}):n.createElement(n.Fragment,null),v=n.createElement(u,{breadcrumb:a[o-1]}),g=a.slice(1,o-2);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},f,d?n.createElement("li",{className:"breadcrumb-item"},n.createElement("button",{className:"btn-link",onClick:function(){return b(!1)}},"...")):g.map((function(e,t){return n.createElement(u,{key:t,breadcrumb:e})})),p,v))},b=n.memo((function(e){var t=e.numItems,r=void 0===t?3:t;return(0,l.a)(i.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},c.u.getPartialLoadingItems({numItems:r}).map((function(e,t){var r=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:r},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},5859:(e,t,r)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}r.d(t,{u:()=>i});var a={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=Object.assign(Object.assign({},a),t);return(e=Array(r.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*r.maxWidth),r.minWidth),"px")}}))}}},81803:(e,t,r)=>{r.d(t,{d:()=>f});var n=r(32735),a=r(81886),i=r(23481),l=r(49935),c=r(22902),o=r(14070),m=r(97291),s=r(96368);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var d="settings.settingsLayout",b=function(e){var t=(0,c.T)().hasPermissions,r=(0,s.e)();if(e)return t(e);var n=a.Q.C$.getCurrentAppLink();return n.application!==m.O.SETTINGS||r.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===n.action}))}))};function f(e){var t,r=b(e.requiredPermissions);if(n.useEffect((function(){r||a.Q.C$.trigger({application:m.O.SETTINGS,action:o.e.Settings.HOME},{replace:!0})}),[r]),!r)return n.createElement(n.Fragment,null);var c,s=e.breadcrumbs.map((function(t,r){return{name:t,appLink:{application:m.O.SETTINGS,action:o.e.Settings.HOME},active:r===e.breadcrumbs.length-1}}));return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"d-flex align-items-center justify-content-between"},n.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),n.createElement("div",{className:"pb-3"},n.createElement(l.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:m.O.SETTINGS,action:o.e.Settings.HOME}}].concat((c=s,function(e){if(Array.isArray(e))return u(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(c)||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.")}()))})),e.description&&n.createElement(n.Fragment,null,n.createElement("p",null,e.description),n.createElement("hr",null)),e.children)}},56746:(e,t,r)=>{r.r(t),r.d(t,{LibrariesPermissionsView:()=>I});var n=r(32735),a=r(23481),i=r(20354),l=r(65858),c=r(60376),o=r(83914),m=r(83345),s=r(83523),u=r(54610),d=r(77963),b=r(65728),f=r(39151),p=r(98064),v=r(31949),g=r(69883),h=r(37802),E=r(67453),y=r(35223),S=r(81803);const N={library:"OpkQB",svgWrapper:"M3KDT"};var k="settings.librariesPermissions",w=a.T.encloseNamespace(k);function I(){var e=i.a.useBasicFetch(f.L.config()),t=i.a.useBasicFetch(v.N.currentUser()),r=(0,h.r)(l.LZ.Settings),a=r.liteStudentCustomLibraries,I=r.isLoadingSettings,A=r.updateSetting,L=i.a.useBasicFetch(p.D.domainLibraries(["customLibrary","sharedLibrary"])),O=(0,g.Z)();return t.data&&e.data&&L.data&&!I?n.createElement(S.d,{heading:w("heading"),breadcrumbs:[w("breadcrumb")]},n.createElement("div",{className:"w-50"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement("p",{className:"fw-semibold mb-1"},n.createElement(m.x,{namespace:k,phrase:"label"})),n.createElement(s.Z,{onClick:function(){var e={name:b.E.LiteStudentCustomLibraries,value:!a,kind:d.g.Temporary};A(t.data.customerId,e,(function(){O.success(w("success"))}),(function(){O.error(w("error"))}))},on:a})),n.createElement("p",{className:"mb-2"},n.createElement(m.x,{namespace:k,phrase:"description"})),n.createElement("div",{className:"border rounded-3 p-2"},L.data.map((function(e){var t,r,a,i;return n.createElement("div",{key:e.id,className:"d-flex py-1"},n.createElement("div",{className:"".concat(N.library," border rounded-circle")},n.createElement(c.f,{imageUrl:E.j.createUrl(null===(r=null===(t=e.owner)||void 0===t?void 0:t.logo)||void 0===r?void 0:r.url,{size:u.h2.Small}),svgSize:o.S.Small,svgWrapperClassName:"bg-teal ".concat(N.svgWrapper),svgName:!(null===(i=null===(a=e.owner)||void 0===a?void 0:a.logo)||void 0===i?void 0:i.url)&&y.vn.School})),n.createElement("div",{className:"ms-2"},e.name))}))))):n.createElement(n.Fragment,null)}}}]);
|
|
2
|
+
//# sourceMappingURL=6746-72d35335ba-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/6746-72d35335ba-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/views/libraries-visibility/libraries-permissions.scss","file:///app/packages/projects/lite/src/apps/settings/views/libraries-visibility/LibrariesPermissionsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nconst COLLAPSE_CHARACTER_COUNT = 56;\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 3 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const secondLast = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} />;\n const rest = breadcrumbs.slice(1, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {collapse ?\n <li className='breadcrumb-item'>\n <button className='btn-link' onClick={() => setCollapse(false)}>\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => <BreadcrumbItem key={idx} breadcrumb={breadcrumb} />)\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"library\":\"OpkQB\",\"svgWrapper\":\"M3KDT\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, Library } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\n\nimport styles from './libraries-permissions.scss';\n\nconst namespace = 'settings.librariesPermissions';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function LibrariesPermissionsView(): React.ReactElement {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { liteStudentCustomLibraries, isLoadingSettings, updateSetting } = useSettings(LocationContext.Settings);\n\n const libraries = Flight.useBasicFetch<Library[]>(LibraryRequests.domainLibraries([ 'customLibrary', 'sharedLibrary' ]));\n\n const alerts = useAlerts();\n\n function onToggle() {\n const newSetting = {\n name: SettingName.LiteStudentCustomLibraries,\n value: !liteStudentCustomLibraries,\n kind: SettingKind.Temporary\n };\n\n updateSetting(\n currentUser.data.customerId,\n newSetting,\n () => {\n alerts.success(getPhrase('success'));\n },\n () => {\n alerts.error(getPhrase('error'));\n }\n );\n }\n\n if (\n !currentUser.data ||\n !config.data ||\n !libraries.data ||\n isLoadingSettings\n )\n return <></>;\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n <div className='w-50'>\n <div className='d-flex justify-content-between'>\n <p className='fw-semibold mb-1'><Text namespace={namespace} phrase='label' /></p>\n \n <ToggleSwitch\n onClick={onToggle}\n on={liteStudentCustomLibraries}\n />\n </div>\n\n <p className='mb-2'><Text namespace={namespace} phrase='description' /></p>\n <div className='border rounded-3 p-2'>\n {libraries.data.map(lib => (\n <div key={lib.id} className='d-flex py-1'>\n <div className={`${styles.library} border rounded-circle`}>\n <IconCircle\n imageUrl={ImageHelper.createUrl(lib.owner?.logo?.url, { size: ImageSize.Small })}\n svgSize={SvgContainerSize.Small}\n svgWrapperClassName={`bg-teal ${styles.svgWrapper}`}\n svgName={!(lib.owner?.logo?.url) && cvSvgLibrary.School}\n />\n </div>\n <div className='ms-2'>\n {lib.name}\n </div>\n </div>\n ))}\n </div>\n </div>\n \n </SettingsLayout>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","characterLength","reduce","prev","next","first","secondLast","last","rest","slice","onClick","map","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","namespace","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","application","some","group","modules","settingsModule","action","SettingsLayout","props","canAccess","replace","i","heading","headingButton","description","children","getPhrase","LanguageService","LibrariesPermissionsView","config","ConfigRequests","currentUser","UserRequests","useSettings","liteStudentCustomLibraries","isLoadingSettings","updateSetting","libraries","LibraryRequests","alerts","data","Text","phrase","ToggleSwitch","newSetting","SettingName","value","kind","SettingKind","customerId","success","error","on","lib","id","IconCircle","imageUrl","ImageHelper","owner","logo","url","svgSize","SvgContainer","svgWrapperClassName"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6852],{50690:(e,t,n)=>{n.d(t,{b:()=>r});var a=n(12788),r={renderInPortalIfExists:function(e,t){return t?(0,a.createPortal)(e,t):e}}},49935:(e,t,n)=>{n.d(t,{Oo:()=>m,b2:()=>p});var a=n(32735),r=n(36848),i=n(86764),l=n(3747),o=n(5859),c=n(35223),s=n(83914);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var u=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,l=t.active,o=e.withBackIcon;return a.createElement("li",{className:"breadcrumb-item".concat(l?" active":"")},l?a.createElement("strong",null,n):a.createElement(r.F,{appLink:i},o&&a.createElement(s.x,{svgName:c.vn.ChevronLeft,size:s.S.Small}),a.createElement("span",{className:o?"ms-2":""},n)))},m=function(e){var t,n,r=e.breadcrumbs,o=(0,l.a)(i.r.XS),c=(null==r?void 0:r.length)||0,s=(t=a.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(t,n)||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}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=s[0],p=s[1];if(a.useEffect((function(){var e,t=null!==(e=null==r?void 0:r.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;c>3&&t>56&&p(!0)}),[null==r?void 0:r.length]),!c||o&&c<2)return a.createElement(a.Fragment,null);if(o)return a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},a.createElement(u,{breadcrumb:r[c-2],withBackIcon:!0})));var v=a.createElement(u,{breadcrumb:r[0]}),f=c>2?a.createElement(u,{breadcrumb:r[c-2]}):a.createElement(a.Fragment,null),g=a.createElement(u,{breadcrumb:r[c-1]}),h=r.slice(1,c-2);return a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},v,m?a.createElement("li",{className:"breadcrumb-item"},a.createElement("button",{className:"btn-link",onClick:function(){return p(!1)}},"...")):h.map((function(e,t){return a.createElement(u,{key:t,breadcrumb:e})})),f,g))},p=a.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,l.a)(i.r.XS)?a.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},o.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return a.createElement("li",{key:t,className:"breadcrumb-item"},a.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},72553:(e,t,n)=>{n.d(t,{j:()=>u});var a=n(32735),r=n(42029),i=n(83345),l=n(49439);const o={copyrightDisclaimer:"z8YoI",overlayContainer:"eJDbJ"};function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var s="shared.copyrightDisclaimer",d=150;function u(e){var t,n,u,m=(n=(0,l.L)({}),u=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 a,r,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(n,u)||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}}(n,u)||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=m[0],v=m[1];return a.createElement("div",{ref:p,className:e.className},a.createElement("p",{className:"".concat(o.copyrightDisclaimer," mb-1")},a.createElement(i.x,{namespace:s,phrase:"copyrightDisclaimer"})),a.createElement(r.Z,{target:p.current,show:v,placement:e.overflowPlacement&&document.documentElement.clientHeight-(null===(t=p.current)||void 0===t?void 0:t.getBoundingClientRect().bottom)<d?e.overflowPlacement:e.placement},a.createElement("div",{className:"".concat(o.overlayContainer," mw-100 bg-white border rounded-3 p-2")},a.createElement("p",null,a.createElement(i.x,{namespace:s,phrase:"warning"})),a.createElement("p",{className:"fw-semibold mb-0"},a.createElement(i.x,{namespace:s,phrase:"sharing"})))))}},5640:(e,t,n)=>{n.d(t,{O:()=>y});var a=n(32735),r=n(23481),i=n(28400),l=n(11518),o=n(58704),c=n(59598),s=n(31908),d=n(14070),u=n(97291),m=n(22843),p=n(84591),v=n(68626),f=n(80143),g=a.memo((function(e){var t,n=e.data,r=e.thumbnailSize,i=e.preloadImage,l=e.getAppLink,o=(0,f.n)(null===(t=n.subjectPresentationAudiences)||void 0===t?void 0:t.data,e.audiences);return a.createElement("div",{className:"flex-shrink-0 px-1 col-6 col-sm-4"},a.createElement(p.u,{type:"static",textPosition:v.z.Independent,video:n,appLink:l(n),imageOptions:{size:r},preload:i,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,setFavourite:e.setFavourite,canFavourite:e.canFavourite,imageCdnUrl:e.imageCdnUrl,audience:o,hideDuration:!1,isPlugin:e.isPlugin,showOwner:e.showOwner}),a.createElement("div",{className:"mt-2"},a.createElement(m.h,Object.assign({},e,{video:n,appLink:e.getAppLink(n)}))))})),h="shared.playPageClipsV2";function y(e){var t;if(!e.canViewClips||!(null===(t=e.clips)||void 0===t?void 0:t.length))return a.createElement(a.Fragment,null);var n=s.M.isVideo(e.video),m=r.T.getPhrase(h,n?"clips":"otherClips",{count:e.clips.length});return a.createElement("section",{className:"play-page-section",id:c.K.Clips,ref:function(t){var n;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&e.headingRef.current.set(c.K.Clips,t)}},a.createElement(l.kM,{name:m,contents:o.z.ClipsV2,collection:e.clips,prefetched:!0,getChildAppLink:function(e){return{application:u.O.CLIPS,action:d.e.Clips.PLAY_CLIP,args:[e.id,i.m.slugify(e.name)]}},appLink:s.M.isVideo(e.video)?{action:d.e.Videos.VIDEO_CLIPS,application:u.O.VIDEOS,args:[e.video.id,i.m.slugify(e.video.name)]}:{action:d.e.Clips.CLIP_CLIPS,application:u.O.CLIPS,args:[e.video.id,i.m.slugify(e.video.name)]},childComponent:g,extraChildComponentProps:{yearGroups:e.yearGroups,audiences:e.audiences,imageCdnUrl:e.imageCdnUrl,setFavourite:e.setFavourite,canFavourite:e.canFavourite,isPlugin:e.isPlugin,showOwner:!0},analyticsData:e.analyticsData}))}},12059:(e,t,n)=>{n.d(t,{a:()=>N});var a=n(32735),r=n(42648),i=n(23481),l=n(110),o=n(78259),c=n(65858),s=n(72553),d=n(25723),u=n(87311),m=n(91743),p=n(83345),v=n(8730),f=n(40178),g=n(44829),h=n(59598),y=n(31908);const E={descriptionBorder:"YUC62"};var b="shared.videoDetailsV2",C=i.T.encloseNamespace(b);function I(e){var t=e.label,n=e.items,r=e.className;if(!(n&&n.data&&n.data.length))return a.createElement(a.Fragment,null);var i=n.data.map((function(e){return e.name})).join(", ");return a.createElement("div",{className:r},t,": ",i)}function k(e){var t,n,r,i,o,c,s,d,u,m=e.video;if(!y.M.isVideo(m)&&!y.M.isClip(m))return a.createElement(a.Fragment,null);var v=y.M.getParentVideo(m);return a.createElement("div",{className:m.description?"col-md-5 ps-md-3 pt-3 pt-md-0":"col-12"},a.createElement("h2",{className:"h6 mb-1"},a.createElement(p.x,{phrase:"details"})),!!v.productionYear&&a.createElement("div",{className:"mb-1"},a.createElement(p.x,{phrase:"productionYear",options:{year:v.productionYear}})),a.createElement(I,{label:C("productionCompanies",{smartCount:null===(n=null===(t=v.productionCompanies)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length}),items:v.productionCompanies,className:"mb-1"}),a.createElement(I,{label:C("distributors",{smartCount:null===(i=null===(r=v.distributors)||void 0===r?void 0:r.data)||void 0===i?void 0:i.length}),items:v.distributors,className:"mb-1"}),a.createElement(I,{label:C("producers",{smartCount:null===(c=null===(o=v.producers)||void 0===o?void 0:o.data)||void 0===c?void 0:c.length}),items:v.producers,className:"mb-1"}),a.createElement(I,{label:C("directors",{smartCount:null===(d=null===(s=v.directors)||void 0===s?void 0:s.data)||void 0===d?void 0:d.length}),items:v.directors,className:"mb-1"}),!!v.dateBroadcast&&a.createElement("div",{className:"mb-1"},a.createElement(p.x,{phrase:"dateBroadcast",options:{date:l.O.format(v.dateBroadcast,"DD/MM/YYYY")}})),!!v.channel&&a.createElement("div",{className:"mb-1"},a.createElement(p.x,{phrase:"channel",options:{channel:v.channel.name}})),!((null===(u=m._isClickViewCurated)||void 0===u?void 0:u.value)||!m.dateCreated)&&a.createElement("div",{className:"mb-1"},a.createElement(p.x,{phrase:"dateUploaded",options:{date:l.O.format(m.dateCreated,"DD/MM/YYYY")}})))}function N(e){var t,n=e.video,i=e.maxHeight,l=void 0===i?f.x:i,C=y.M.getParentVideo(n),I=!!e.video.description,N=(0,v._)(e.video)||!!C.productionYear||!!C.dateBroadcast||!!C.channel||!(!n.dateCreated||(null===(t=n._isClickViewCurated)||void 0===t?void 0:t.value));if(!I&&!N)return a.createElement(a.Fragment,null);var w=function(){var t,n,a,r;return e.hideTags||y.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===(r=null===(a=e.video.tags)||void 0===a?void 0:a.data)||void 0===r?void 0:r.filter((function(e){return e.tagType===g.Q.Normal}))}();return a.createElement(p.D.Provider,{value:b},a.createElement("section",{id:h.K.VideoDetails,ref:function(t){var n;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&e.headingRef.current.set(h.K.VideoDetails,t)},className:"play-page-section"},a.createElement("div",null,a.createElement("h2",{className:"h5 mb-2"}," ",a.createElement(p.x,{phrase:"heading"}))),a.createElement("div",{className:"rounded border p-3 position-relative"},a.createElement(r.$B,{autoHeight:!0,autoHeightMax:l},a.createElement("div",{className:"row g-0"},I&&a.createElement("div",{className:N?"".concat(E.descriptionBorder," pe-3 col-md-7"):"col-12"},a.createElement("div",{className:"d-flex align-items-center"},a.createElement("h2",{className:"h6 mb-1"},a.createElement(p.x,{phrase:"description"})),a.createElement(d.m,{text:n.description,title:n.name,className:"ps-2",onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:c.LZ.PlayPage,entity:c.py.Video,actionType:c.Vw.Click,descriptor:c._S.LaunchImmersiveReader},analyticsData:{id:n.id,type:"description"}})),a.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:o.O.linkifyText(e.video.description,{nl2br:!0})}})),N&&a.createElement(k,Object.assign({},e))),!!(null==w?void 0:w.length)&&a.createElement("div",{className:"mt-3"},a.createElement("h2",{className:"h6 mb-1"},a.createElement(p.x,{phrase:"normalTags"})),a.createElement(m.P,Object.assign({tags:w},u.G.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),{className:"mt-1"}))),y.M.isBroadcast(e.video)&&a.createElement(s.j,{placement:"bottom-start",className:"d-flex justify-content-start mt-2 mb-n1"})))))}},51184:(e,t,n)=>{n.d(t,{NE:()=>d,RH:()=>m,Wp:()=>u});var a=n(32735),r=n(16367),i=n(34468),l=n(73758),o=n(63847);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var s=/\[\]\(cv:\/\/poi\?id=\d+\)\n*/g;function d(e,t){var n,i,l,o=(i=(0,a.useState)(""),l=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(i,l)||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}}(i,l)||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.")}()),d=o[0],u=o[1];return(0,a.useEffect)((function(){if(t){var n=(a=e.glance,i=a.content.replace(s,""),r(i));u(n)}var a,i}),[null===(n=e.glance)||void 0===n?void 0:n.content,t]),d}function u(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 m(e,t){var n=(0,a.useRef)();function r(){e&&l.n.trigger("glance:poi:mouseover",e)}function c(){l.n.trigger("glance:poi:mouseleave")}return(0,i.R)("player:poi:mouseover",(function(t){var a,r,i;(null==t?void 0:t.id)&&(null===(a=null==e?void 0:e.id)||void 0===a?void 0:a.toString())===(null===(r=null==t?void 0:t.id)||void 0===r?void 0:r.toString())&&(null===(i=n.current)||void 0===i||i.classList.add(o.Z.highlightPoi))}),null,t),(0,i.R)("player:poi:mouseleave",(function(){var e;null===(e=n.current)||void 0===e||e.classList.remove(o.Z.highlightPoi)}),null,t),(0,a.useEffect)((function(){var e,a;if(n.current&&t)return null===(e=n.current)||void 0===e||e.addEventListener("mouseover",r),null===(a=n.current)||void 0===a||a.addEventListener("mouseleave",c),function(){var e,t;null===(e=n.current)||void 0===e||e.removeEventListener("mouseover",r),null===(t=n.current)||void 0===t||t.removeEventListener("mouseleave",c)}}),[n.current]),n}},64921:(e,t,n)=>{n.d(t,{j:()=>P});var a=n(32735),r=n(59087),i=n.n(r),l=n(42648),o=n(23481),c=n(49985),s=n(65858),d=n(11607),u=n(83345),m=n(93264),p=n(51184);const v={poiEntry:"vr6R9",poiText:"znHZF",public:"v0BZ9",poiTimeStamp:"AdKwe"};function f(e){var t=m.T.ToDisplayDuration(1e3*e.poi.startTime),n=(0,p.RH)(e.poi,!e.suppressInteractivity);return e.suppressInteractivity?a.createElement("div",{className:"d-flex ".concat(v.poiEntry," mb-2")},a.createElement("span",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold info-link ".concat(v.poiTimeStamp)},t),a.createElement("div",{className:"".concat(v.public," ms-2")},e.poi.description)):a.createElement(d.L,{key:e.poi.startTime,className:"d-flex ".concat(v.poiEntry," mb-2 cursor-pointer"),onClick:function(){return e.onClickPoiItem(e.poi.startTime)},ref:n},a.createElement("div",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold info-link ".concat(v.poiTimeStamp)},t),a.createElement("div",{className:"ms-2 ".concat(v.poiText)},e.poi.description))}var g="shared.pointsOfInterestList";function h(e){return a.createElement("div",null,a.createElement("h2",{className:"h6 my-2"},a.createElement(u.x,{namespace:g,phrase:"heading"})),a.createElement("div",null,e.pointsOfInterest.map((function(t){return a.createElement(f,{key:t.startTime,poi:t,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:e.onClickPoiItem})}))))}var y=n(83914),E=n(87311),b=n(91743),C=n(76177),I=n(44829),k=n(35223),N=n(31908),w=n(63847);function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var S="shared.videoAtAGlanceV2",x=o.T.encloseNamespace(S),T=350;function A(e){return e.hideScrollbar?a.createElement(a.Fragment,null,e.children):a.createElement("div",{className:"rounded border mb-4 bg-white"},a.createElement(l.ZP,{autoHeight:!0,autoHeightMax:T},a.createElement("div",{className:"px-3 px-3 pt-3 pb-2"},e.children)))}function P(e){var t,n,r,l=(0,p.NE)(e.video,e.canViewGlance),o=(n=a.useState(""),r=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 a,r,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(n,r)||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}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=o[0],m=o[1],v=function(){var t,n,a,r;return N.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===(r=null===(a=e.video.tags)||void 0===a?void 0:a.data)||void 0===r?void 0:r.filter((function(e){return e.tagType===I.Q.Pedagogy||e.tagType===I.Q.Skill}))}(),f=a.useRef(null);return a.useEffect((function(){var e;(null===(e=f.current)||void 0===e?void 0:e.innerText)&&m(f.current.innerText)}),[null===(t=f.current)||void 0===t?void 0:t.innerText]),e.canViewGlance?a.createElement("section",{className:"play-page-section"},a.createElement(A,{hideScrollbar:e.hideScrollbar},a.createElement("h2",{className:"h6 mb-2"},a.createElement(u.x,{namespace:S,phrase:"learningIntention"})),a.createElement("div",{className:"mb-3 ".concat(w.Z.learningIntention)},a.createElement(C.u,{title:x("copy"),spanHack:!0,spanHackClassName:w.Z.icon},a.createElement(i(),{text:d},a.createElement(y.x,{className:"svg-container me-1 cursor-pointer",svgName:k.vn.Copy,size:y.S.Small,onClick:function(){var t={id:e.video.glance.id,videoId:e.video.id,videoName:e.video.name,learningIntention:d},n={actionType:s.Vw.Copy,entity:s.py.Glance,location:s.LZ.PlayPage};c.k.logUserAction(t,n)}}))),a.createElement("div",{dangerouslySetInnerHTML:{__html:l},className:"d-inline",ref:f})),!!(null==v?void 0:v.length)&&a.createElement("div",{className:"mb-1"},a.createElement(b.P,Object.assign({tags:v},E.G.getTagActionProps(e.getTagAppLink,e.onClickTag,e.suppressInteractivity),{className:"mt-2"}))),!!e.pointsOfInterest.length&&a.createElement(h,{pointsOfInterest:e.pointsOfInterest,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:function(t){e.setStartTime(t)}}))):a.createElement(a.Fragment,null)}},17997:(e,t,n)=>{n.d(t,{H:()=>s});var a=n(32735),r=n(36848),i=n(83345),l=n(22843),o=n(84591),c=n(68626),s=a.memo((function(e){var t,n,s=e.data,d=e.thumbnailSize,u=e.preloadImage,m=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]}),p=null===(n=null===(t=s._timepoints)||void 0===t?void 0:t.value)||void 0===n?void 0:n.length;return a.createElement("div",{className:"flex-shrink-0 px-1 col-6 col-sm-4"},a.createElement(o.u,{type:"static",textPosition:c.z.Independent,video:s,appLink:e.getAppLink(s),imageOptions:{size:d},preload:u,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,setFavourite:e.setFavourite,canFavourite:e.canFavourite,hideDuration:!1,imageCdnUrl:e.imageCdnUrl,isPlugin:e.isPlugin,showOwner:e.showOwner}),a.createElement("div",{className:"mt-2"},a.createElement(l.h,Object.assign({},e,{video:s,appLink:e.getAppLink(s)}))),a.createElement("div",{className:"mt-1"},a.createElement(r.F,{appLink:m,className:"cursor-pointer"},a.createElement(i.x,{namespace:"shared.interactiveWidgetItemV2",phrase:"previewQuestions",options:{count:p,smartCount:p}}))))}))},95812:(e,t,n)=>{n.d(t,{J:()=>v});var a=n(32735),r=n(23481),i=n(28400),l=n(11518),o=n(58704),c=n(59598),s=n(31908),d=n(14070),u=n(97291),m=n(17997),p="shared.playPageInteractivesV2";function v(e){var t;if(!e.canViewInteractives||!(null===(t=e.interactives)||void 0===t?void 0:t.length))return a.createElement(a.Fragment,null);var n=r.T.getPhrase(p,"interactives",{count:e.interactives.length});return a.createElement("section",{className:"play-page-section",id:c.K.Interactives,ref:function(t){var n;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&e.headingRef.current.set(c.K.Interactives,t)}},a.createElement(l.kM,{name:n,contents:o.z.InteractivesV2,collection:e.interactives,prefetched:!0,getChildAppLink:function(e){return{application:u.O.INTERACTIVES,action:d.e.Interactives.VIEW_INTERACTIVE,args:[e.id,i.m.slugify(e.name)]}},appLink:s.M.isVideo(e.video)?{action:d.e.Videos.VIDEO_INTERACTIVES,application:u.O.VIDEOS,args:[e.video.id,i.m.slugify(e.video.name)]}:{action:d.e.Clips.CLIP_INTERACTIVES,application:u.O.CLIPS,args:[e.video.id,i.m.slugify(e.video.name)]},childComponent:m.H,extraChildComponentProps:{yearGroups:e.yearGroups,setFavourite:e.setFavourite,canFavourite:e.canFavourite,imageCdnUrl:e.imageCdnUrl,questionsAppLink:{application:u.O.INTERACTIVES,action:d.e.Interactives.PREVIEW_QUESTIONS},isPlugin:e.isPlugin,showOwner:!0},analyticsData:e.analyticsData}))}},53709:(e,t,n)=>{n.d(t,{M:()=>g});var a=n(32735),r=n(23481),i=n(65858),l=n(11518),o=n(16714),c=n(58704),s=n(22902),d=n(59598),u=n(74237),m=n(351);function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var f="shared.playPageResources";function g(e){var t=(0,s.T)().hasPermissions,n=function(e,t){var n,a,r,i,l=null!==(a=null===(n=e.resources)||void 0===n?void 0:n.data)&&void 0!==a?a:[],o=null!==(i=null===(r=e.links)||void 0===r?void 0:r.data)&&void 0!==i?i:[];if(!t)return[].concat(p(l),p(o));var c=l.filter((function(e){var t;return["additional-materials","student-activity"].includes(null===(t=e.metadata)||void 0===t?void 0:t.resourceType)}));return[].concat(p(c),p(o))}(e.video,t(o.C.StudentExperience)),v=r.T.getPhrase(f,"resources",{count:n.length});return n.length?a.createElement("section",{id:d.K.Resources,className:"play-page-section",ref:function(t){var n;t&&(null===(n=e.headingRef)||void 0===n?void 0:n.current)&&e.headingRef.current.set(d.K.Resources,t)}},a.createElement(l.kM,{name:v,contents:c.z.PlayPageResourcesV2,collection:n,prefetched:!0,childComponent:m.oA,extraChildComponentProps:{imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.resourceThumbnailFallbackUrl,actionBehaviour:e.canViewResources?"normal":"public",location:"play-page",titlePosition:"below",onClickDownload:e.canViewResources?function(t){u.T.downloadResource(t,e.analyticsData,{location:i.LZ.PlayPage,actionType:i.Vw.Download,entity:i.py.Resource})}:null},getChildAppLink:e.getAppLink,analyticsOptions:e.canViewResources?{}:{workflowPhase:i.eu.Start,descriptor:i.Yu.SignUp},analyticsData:e.analyticsData})):a.createElement(a.Fragment,null)}},351:(e,t,n)=>{n.d(t,{$G:()=>k,oA:()=>N,ZS:()=>I});var a=n(32735),r=n(39202),i=n(49985),l=n(65858),o=n(36848),c=n(11607),s=n(75891),d=n(83914),u=n(60995),m=n(76177),p=n(61150),v=n(71063),f=n(4594),g=n(1164),h=n(79967),y=n(45778),E=n(54297),b=n(35223);const C={imageStyle:"bYRn8",item:"CjuxU",dashboard:"IuRN0",playPage:"VdJvp",aspectRatio:"QK8Jh",outerContainer:"eiC_H",innerContainer:"huIRg",actions:"FsIJm",titleBelow:"DpeSr",thumbnailContainer:"ZbalL",titleAbove:"PwOSX",teacherPack:"ZHAEj",text:"k3ei6",hoverState:"BLrWL",atomGuide:"Qz8JE",studentActivity:"qNspk",additionalMaterials:"R0huw",userUploaded:"H_zGf",imageTypeResource:"AgeLb",download:"DKneu"};function I(e,t){var n,a=(0,h.k)();return"public"===t||!a.xs&&!a.sm&&"resource"===e.type&&"metadata"in e&&(e.metadata.type===g.L.Image||(e.metadata.type===g.L.Pdf?!!e.url:!!(null===(n=e.pdf)||void 0===n?void 0:n.url)))}function k(e){var t,n,r,i,l=null;"metadata"in e.data&&(l=e.data.metadata);var o=y.G.isType(e.data,f.E.Resource);return a.createElement(a.Fragment,null,a.createElement("div",{className:C.aspectRatio},a.createElement("div",{className:C.outerContainer},a.createElement("div",{className:function(t){var n,a="\n d-flex flex-column align-items-center justify-content-end rounded-3 h-100\n position-relative ".concat(function(e){switch(e){case"atom-guide":return C.atomGuide;case"student-activity":return C.studentActivity;case"teacher-pack":return C.teacherPack;case"additional-materials":return C.additionalMaterials;default:return C.userUploaded}}(t)," ").concat(C.innerContainer);return(null===(n=e.theme)||void 0===n?void 0:n.containerClass)?a+=" ".concat(e.theme.containerClass):a+=" pt-3 px-3",e.applyHoverState&&(a+=" ".concat(C.hoverState)),a}(null==l?void 0:l.resourceType)},"above"===e.titlePosition&&a.createElement(m.u,{title:e.data.name},a.createElement("h3",{className:"text-center text-break h5 mb-3 ".concat(C.text)},a.createElement("span",{className:"clamp-1"},e.data.name))),a.createElement("div",{className:"\n ".concat(null!==(n=null===(t=e.theme)||void 0===t?void 0:t.thumbnailContainerClass)&&void 0!==n?n:""," w-75 overflow-hidden \n ").concat(C.thumbnailContainer," ").concat("above"===e.titlePosition?C.titleAbove:""," \n ").concat(C.imageStyle,"\n ")},a.createElement(s.C,{resource:e.data,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage,dynamicRatioImageOptions:e.dynamicRatioImageOptions})),o&&e.onClickDownload&&"normal"===e.actionBehaviour&&a.createElement("div",{className:C.actions},a.createElement(c.L,{onClick:function(t){t.preventDefault(),t.stopPropagation(),y.G.isResource(e.data)&&"function"==typeof e.onClickDownload&&e.onClickDownload(e.data)},className:"".concat(C.download," d-flex align-items-center justify-content-center")},a.createElement(d.x,{svgName:b.vn.Download}))),!e.hideTypeBadge&&o&&a.createElement(p.y,{typeId:f.E.Resource})))),"below"===e.titlePosition&&a.createElement("div",{className:"mt-1 ".concat(C.titleBelow)},y.G.isType(e.data,f.E.Resource)&&!!(null===(i=null===(r=e.data)||void 0===r?void 0:r.metadata)||void 0===i?void 0:i.resourceType)&&a.createElement(u.m,null,E.C.getResourceTypeName(e.data.metadata.resourceType)),a.createElement("h3",{className:"h6 clamp-2"},e.data.name)))}k.defaultProps={preloadImage:!0,actionBehaviour:"normal"};var N=a.memo((function(e){var t=I(e.data,e.actionBehaviour),n=Object.assign(Object.assign({},e.analyticsData),e.data),c=Object.assign(Object.assign({},e.analyticsOptions),{actionType:l.Vw.Click,entity:e.data.typeId===f.E.Resource?l.py.Resource:l.py.Link});function s(){i.k.logUserAction(n,c)}var d,u=Object.assign(Object.assign({},e),{applyHoverState:t||!!e.data.url});return a.createElement("div",{className:"px-1 flex-shrink-0 ".concat(C.item," ").concat("play-page"===e.location?C.playPage:C.dashboard," ").concat(v.M.RESOURCE_ITEM_SELECTOR)},(d="d-block no-decoration","link"===e.data.type?a.createElement("a",{href:e.data.url,target:"_blank",className:d,onClick:s},a.createElement(k,Object.assign({},u))):t?"public"===e.actionBehaviour?a.createElement("div",{className:"".concat(d," cursor-pointer d-inline"),onClick:function(){s(),r.C$.trigger(e.getAppLink(e.data))}},a.createElement(k,Object.assign({},u))):a.createElement(o.F,{appLink:e.getAppLink(e.data),className:d,analyticsData:n,analyticsOptions:c},a.createElement(k,Object.assign({},u))):e.data.url?a.createElement("a",{href:e.data.url,className:d,onClick:s},a.createElement(k,Object.assign({},u))):a.createElement("div",{className:d},a.createElement(k,Object.assign({},u)))))}))},75838:(e,t,n)=>{n.d(t,{w:()=>s});var a=n(32735),r=n(92869),i=n(65858),l=n(36848),o=n(11607);const c={itemsWrapper:"m6mGm",anchorWrapper:"QptZj",default:"_AZa8",selectedItem:"Nuiel",disabled:"WIzWJ",floatIcon:"ARudn",arrowIcon:"tEF5Q",listIcon:"Ql2wi"};function s(e){var t={actionType:i.Vw.Click,entity:i.py.Widget,location:i.LZ.TableOfContents};return a.createElement("div",{className:"".concat(c.itemsWrapper)},e.items.map((function(n,i){return e.localState?a.createElement(o.L,{key:n.id,className:"".concat(c.anchorWrapper," ").concat(e.activeId===n.id?c.selectedItem:""),onClick:function(){var t;r.t.preventScrollTop(),e.setControlledId(n.id),null===(t=e.onItemClick)||void 0===t||t.call(e,n)}},a.createElement("div",{className:"".concat(e.activeId||0!==i?"":c.default," ")},n.name)):a.createElement(l.F,{key:n.id,appLink:e.getAppLink(n),appLinkOptions:{replace:!0},className:"".concat(c.anchorWrapper," ").concat(e.activeId===n.id?c.selectedItem:""),onClick:function(){var t;r.t.preventScrollTop(),e.setControlledId(n.id),null===(t=e.onItemClick)||void 0===t||t.call(e,n)},analyticsData:Object.assign(Object.assign({},e.analyticsData),{id:n.id,name:n.name}),analyticsOptions:t},a.createElement("div",{className:"".concat(e.activeId||0!==i?"":c.default," ")},n.name))})))}},65332:(e,t,n)=>{n.d(t,{D:()=>i});var a,r=n(32735),i=function(e){var t=e.setActiveId,n=e.headingElements,i=e.controlledId,l=e.setControlledId,o=r.useRef(0);r.useEffect((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){if(i)return t(i),void(a=window.setTimeout((function(){l("")}),800));if(e.isIntersecting)t(e.target.id),o.current=window.scrollY;else{var r=o.current-window.scrollY>0,c=n.findIndex((function(t){return t.id===e.target.id})),s=n[c-1];r&&(null==s?void 0:s.id)&&t(null==s?void 0:s.id)}}))}),{rootMargin:"-67px 0px -80% 0px"});return n.forEach((function(t){return e.observe(t)})),function(){a&&window.clearTimeout(a),e.disconnect()}}),[t,n.length,i])}},74237:(e,t,n)=>{n.d(t,{T:()=>o});var a=n(97395),r=n(49985),i=n(65858),l=null,o={getVideoDownloadUrl:function(e,t){return a._.safeUrlConcat(a._.makeHttps(e),"/download?token=".concat(t))},downloadResource:function(e,t,n){var a,o=l;l||(o=l=document.createElement("iframe"),document.body.appendChild(o),o.style.display="none"),o.src=e.url,r.k.logUserAction(Object.assign({id:null==e?void 0:e.id,name:null==e?void 0:e.name,resourceType:null===(a=null==e?void 0:e.metadata)||void 0===a?void 0:a.resourceType},t),Object.assign({actionType:i.Vw.Download,entity:i.py.Resource,workflowPhase:i.eu.Complete},n))}}},9465:(e,t,n)=>{n.d(t,{h:()=>h});var a=n(32735),r=n(50690),i=n(49985),l=n(65858),o=n(10874),c=n(75838),s=n(83345),d=n(75795),u=n(35223),m=n(57278);const p={container:"qA4yj",aside:"j28IY",collapse:"sFoPk",iconContainer:"PYyBV",arrowIcon:"MTodB",listIcon:"W76p8"};var v="shared.playPage";function f(e){function t(){var t;e.setIsExpanded(!e.isExpanded),t={actionType:e.isExpanded?l.Vw.Hide:l.Vw.Open,entity:l.py.TableOfContents,location:l.LZ.PlayPage},i.k.logUserAction(e.analyticsData,t)}return a.createElement("div",{className:"d-flex justify-content-end"},a.createElement("div",{className:p.container},a.createElement("div",{className:"".concat(p.iconContainer)},a.createElement(o.h,{className:"btn btn-outline-dark ".concat(p.listIcon),svgName:u.vn.TableOfContents,onClick:t}),a.createElement(o.h,{className:"btn btn-outline-dark ".concat(p.arrowIcon),svgName:e.isExpanded?u.vn.CollapseRight:u.vn.ExpandLeft,onClick:t}))))}function g(e){return a.createElement("div",{className:e.showInSide?"":"d-inline-flex gap-1"},a.createElement("aside",{className:"".concat(p.aside," position-relative ").concat(e.showInSide?"pe-1 pt-1 ":"px-3 pt-3 pb-2 border border-dark rounded-1 bg-white")},a.createElement("div",{className:p.container},e.showInSide&&a.createElement(o.h,{className:"btn position-absolute ".concat(p.collapse),svgName:u.vn.CollapseRight,onClick:function(){var t;e.setIsExpanded(!1),t={actionType:l.Vw.Hide,entity:l.py.TableOfContents,location:l.LZ.PlayPage},i.k.logUserAction(e.analyticsData,t)}}),a.createElement("h2",{className:"h5"},a.createElement(s.x,{namespace:v,phrase:"tocHeading"})),a.createElement(c.w,{items:e.items,activeId:e.activeId,getAppLink:function(e){var t=d.O.getCurrentRoute().appLink,n=t.params?Object.assign({},t.params):{};return n.tocId=e.id,Object.assign(Object.assign({},t),{params:n})},setControlledId:e.setControlledId,analyticsData:e.analyticsData,onItemClick:function(){e.showInSide||e.setIsExpanded(!1)}}))),!e.showInSide&&a.createElement(f,Object.assign({},e)))}function h(e){return a.createElement(a.Fragment,null,r.b.renderInPortalIfExists(e.isExpanded?a.createElement(g,Object.assign({},e)):a.createElement(f,Object.assign({},e)),document.getElementById(m.M)))}},53256:(e,t,n)=>{n.d(t,{d:()=>l});var a=n(23481),r=n(59598),i=a.T.encloseNamespace("shared.play"),l={getSectionHeading:function(e,t){switch(e){case r.K.Resources:return i("resourcesHeading",{count:t.resources.length});case r.K.Clips:return t.isPlayClipPage?i("otherClipsHeading",{count:t.clips.length-1}):i("clipsHeading",{count:t.clips.length});case r.K.Interactives:return i("interactivesHeading",{count:t.interactives.length});case r.K.Video:return i("videoHeading");case r.K.VideoDetails:return i("videoDetailsHeading");case r.K.RelatedVideos:return i("upNextHeading");case r.K.CurriculumLinks:return i("curriculumLinksHeading");case r.K.ClippedFrom:return i("clippedFromHeading");default:return""}}}},63010:(e,t,n)=>{n.d(t,{Q:()=>s});var a=n(32735),r=n(57900),i=n(81812);function l(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 a,r,i,l,o=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(o.push(a.value),o.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(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,a=Array(t);n<t;n++)a[n]=e[n];return a}var c="play-page-toc-expanded";function s(e){var t=(0,i.a)(),n=!1!==r.SG.get(c),o=!!t&&n,s=l(a.useState(e||""),2),d=s[0],u=s[1],m=l(a.useState(""),2),p=m[0],v=m[1],f=l(a.useState(o),2),g=f[0],h=f[1];return a.useEffect((function(){h(!!t&&n)}),[t]),{controlledId:d,setControlledId:u,tableOfContentsExpanded:g,tableOfContentsActiveId:p,setTableOfContentsActiveId:v,onToggleTableOfContents:function(){h(!g),r.SG.set(c,!g)}}}},14476:(e,t,n)=>{n.d(t,{i:()=>o});var a=n(32735),r=n(59598),i=[r.K.Video,r.K.CurriculumLinks,r.K.Resources,r.K.Interactives,r.K.Clips,r.K.VideoDetails,r.K.ClippedFrom,r.K.RelatedVideos],l=[r.K.Video,r.K.VideoDetails,r.K.CurriculumLinks,r.K.Resources,r.K.Interactives,r.K.Clips,r.K.ClippedFrom,r.K.RelatedVideos];function o(e){var t=a.useRef(new Map),n=(e?i:l).map((function(e){return t.current.get(e)})).filter(Boolean);return{headingRef:t,headingElements:n}}},81812:(e,t,n)=>{n.d(t,{a:()=>r});var a=n(79967);function r(){var e=(0,a.k)();return e.lg||e.xl||e.xxl}},63847:(e,t,n)=>{n.d(t,{Z:()=>a});const a={learningIntention:"MHM6O",highlightPoi:"U7Q6x",icon:"H1xbT"}}}]);
|
|
2
|
+
//# sourceMappingURL=6852-f49f6f19d3-lite.chunk.js.map
|