@clickview/lite 0.52.3-dev.0 → 0.52.3-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{1760-lite-d230b51c8b.chunk.css → 1019-lite-402889ede4.chunk.css} +2 -1
- package/dist/css/{6094-lite-d230b51c8b.chunk.css → 2548-lite-402889ede4.chunk.css} +2 -1
- package/dist/css/{6546-lite-991b6e8255.chunk.css → 6596-lite-e22262b911.chunk.css} +2 -1
- package/dist/css/{1867-lite-991b6e8255.chunk.css → 9010-lite-e22262b911.chunk.css} +2 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1760-33f1791560-lite.chunk.js → 1019-8fc84c7c2e-lite.chunk.js} +2 -2
- package/dist/scripts/{1760-33f1791560-lite.chunk.js.map → 1019-8fc84c7c2e-lite.chunk.js.map} +1 -1
- package/dist/scripts/1063-5a732288dc-lite.chunk.js +2 -0
- package/dist/scripts/1063-5a732288dc-lite.chunk.js.map +1 -0
- 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-c5138ef662-lite.chunk.js} +2 -2
- package/dist/scripts/1125-c5138ef662-lite.chunk.js.map +1 -0
- package/dist/scripts/1169-9b7d850bab-lite.chunk.js +2 -0
- package/dist/scripts/1169-9b7d850bab-lite.chunk.js.map +1 -0
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
- package/dist/scripts/1672-0d1fc90529-lite.chunk.js +3 -0
- package/dist/scripts/1672-0d1fc90529-lite.chunk.js.map +1 -0
- package/dist/scripts/1725-99450ed637-lite.chunk.js +2 -0
- package/dist/scripts/1725-99450ed637-lite.chunk.js.map +1 -0
- package/dist/scripts/1891-5914c54eca-lite.chunk.js +2 -0
- package/dist/scripts/1891-5914c54eca-lite.chunk.js.map +1 -0
- package/dist/scripts/1896-399a91d18c-lite.chunk.js +2 -0
- package/dist/scripts/1896-399a91d18c-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/209-fe96739cb5-lite.chunk.js +2 -0
- package/dist/scripts/209-fe96739cb5-lite.chunk.js.map +1 -0
- package/dist/scripts/2134-b8d5c46887-lite.chunk.js +2 -0
- package/dist/scripts/2134-b8d5c46887-lite.chunk.js.map +1 -0
- package/dist/scripts/2142-f71cf5c71f-lite.chunk.js +2 -0
- package/dist/scripts/2142-f71cf5c71f-lite.chunk.js.map +1 -0
- package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js +2 -0
- package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js.map +1 -0
- package/dist/scripts/2548-c5dd2899df-lite.chunk.js +2 -0
- package/dist/scripts/2548-c5dd2899df-lite.chunk.js.map +1 -0
- package/dist/scripts/2952-c3a826b714-lite.chunk.js +2 -0
- package/dist/scripts/2952-c3a826b714-lite.chunk.js.map +1 -0
- package/dist/scripts/3404-23125f10ea-lite.chunk.js +2 -0
- package/dist/scripts/3404-23125f10ea-lite.chunk.js.map +1 -0
- package/dist/scripts/3633-f3609526a5-lite.chunk.js +2 -0
- package/dist/scripts/3633-f3609526a5-lite.chunk.js.map +1 -0
- package/dist/scripts/3728-eed9e78985-lite.chunk.js +2 -0
- package/dist/scripts/3728-eed9e78985-lite.chunk.js.map +1 -0
- 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-ba03f3ce3c-lite.chunk.js +2 -0
- package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js.map +1 -0
- package/dist/scripts/4273-e42f763f00-lite.chunk.js +3 -0
- package/dist/scripts/4273-e42f763f00-lite.chunk.js.map +1 -0
- package/dist/scripts/4395-d0815835c8-lite.chunk.js +2 -0
- package/dist/scripts/4395-d0815835c8-lite.chunk.js.map +1 -0
- package/dist/scripts/4502-af4903784e-lite.chunk.js +2 -0
- package/dist/scripts/4502-af4903784e-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/5573-4352a3537e-lite.chunk.js +2 -0
- package/dist/scripts/5573-4352a3537e-lite.chunk.js.map +1 -0
- package/dist/scripts/5595-3acc9593bf-lite.chunk.js +2 -0
- package/dist/scripts/5595-3acc9593bf-lite.chunk.js.map +1 -0
- package/dist/scripts/5606-69c0ca2b97-lite.chunk.js +2 -0
- package/dist/scripts/5606-69c0ca2b97-lite.chunk.js.map +1 -0
- package/dist/scripts/5877-628732da21-lite.chunk.js +2 -0
- package/dist/scripts/5877-628732da21-lite.chunk.js.map +1 -0
- package/dist/scripts/5936-cd98109a7b-lite.chunk.js +2 -0
- package/dist/scripts/5936-cd98109a7b-lite.chunk.js.map +1 -0
- package/dist/scripts/{5940-f335f8c290-lite.chunk.js → 5940-2767b40c40-lite.chunk.js} +2 -2
- package/dist/scripts/5940-2767b40c40-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/6138-2ef7ee071a-lite.chunk.js +2 -0
- package/dist/scripts/6138-2ef7ee071a-lite.chunk.js.map +1 -0
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
- package/dist/scripts/6263-8a7931bf51-lite.chunk.js +2 -0
- package/dist/scripts/6263-8a7931bf51-lite.chunk.js.map +1 -0
- package/dist/scripts/6290-28ae0e8a60-lite.chunk.js +2 -0
- package/dist/scripts/6290-28ae0e8a60-lite.chunk.js.map +1 -0
- package/dist/scripts/6470-9a700cabce-lite.chunk.js +2 -0
- package/dist/scripts/6470-9a700cabce-lite.chunk.js.map +1 -0
- package/dist/scripts/6481-035d218a77-lite.chunk.js +2 -0
- package/dist/scripts/6481-035d218a77-lite.chunk.js.map +1 -0
- package/dist/scripts/6532-59e9abf69d-lite.chunk.js +2 -0
- package/dist/scripts/6532-59e9abf69d-lite.chunk.js.map +1 -0
- package/dist/scripts/6596-f75129c039-lite.chunk.js +2 -0
- package/dist/scripts/6596-f75129c039-lite.chunk.js.map +1 -0
- package/dist/scripts/6604-9adec889c7-lite.chunk.js +2 -0
- package/dist/scripts/6604-9adec889c7-lite.chunk.js.map +1 -0
- package/dist/scripts/6746-3f501b95cf-lite.chunk.js +2 -0
- package/dist/scripts/6746-3f501b95cf-lite.chunk.js.map +1 -0
- package/dist/scripts/714-c00ad56229-lite.chunk.js +2 -0
- package/dist/scripts/714-c00ad56229-lite.chunk.js.map +1 -0
- package/dist/scripts/7163-84c2b15394-lite.chunk.js +2 -0
- package/dist/scripts/7163-84c2b15394-lite.chunk.js.map +1 -0
- package/dist/scripts/7178-ed74c33056-lite.chunk.js +2 -0
- package/dist/scripts/7178-ed74c33056-lite.chunk.js.map +1 -0
- package/dist/scripts/7223-0bfab7e57a-lite.chunk.js +2 -0
- package/dist/scripts/7223-0bfab7e57a-lite.chunk.js.map +1 -0
- package/dist/scripts/7234-84c087600e-lite.chunk.js +2 -0
- package/dist/scripts/7234-84c087600e-lite.chunk.js.map +1 -0
- package/dist/scripts/7267-fd5085f5c9-lite.chunk.js +2 -0
- package/dist/scripts/7267-fd5085f5c9-lite.chunk.js.map +1 -0
- package/dist/scripts/7633-6c1ffdd082-lite.chunk.js +2 -0
- package/dist/scripts/7633-6c1ffdd082-lite.chunk.js.map +1 -0
- package/dist/scripts/7679-8f2d6a3487-lite.chunk.js +2 -0
- package/dist/scripts/7679-8f2d6a3487-lite.chunk.js.map +1 -0
- package/dist/scripts/7757-7e293be936-lite.chunk.js +2 -0
- package/dist/scripts/7757-7e293be936-lite.chunk.js.map +1 -0
- package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js +2 -0
- package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js.map +1 -0
- package/dist/scripts/7818-230982fc27-lite.chunk.js +2 -0
- package/dist/scripts/7818-230982fc27-lite.chunk.js.map +1 -0
- package/dist/scripts/8323-360541a2a8-lite.chunk.js +3 -0
- package/dist/scripts/8323-360541a2a8-lite.chunk.js.map +1 -0
- package/dist/scripts/8709-c4f1068232-lite.chunk.js +2 -0
- package/dist/scripts/8709-c4f1068232-lite.chunk.js.map +1 -0
- package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js +2 -0
- package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js.map +1 -0
- package/dist/scripts/9010-024dcc8f9a-lite.chunk.js +2 -0
- package/dist/scripts/9010-024dcc8f9a-lite.chunk.js.map +1 -0
- package/dist/scripts/9016-82d7e0afb9-lite.chunk.js +3 -0
- package/dist/scripts/9016-82d7e0afb9-lite.chunk.js.map +1 -0
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js +2 -0
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +1 -0
- package/dist/scripts/9230-ae200d2bd3-lite.chunk.js +3 -0
- package/dist/scripts/9230-ae200d2bd3-lite.chunk.js.map +1 -0
- package/dist/scripts/9359-1fb4413e0d-lite.chunk.js +2 -0
- package/dist/scripts/9359-1fb4413e0d-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
- package/dist/scripts/9399-d7a92ce84a-lite.chunk.js +2 -0
- package/dist/scripts/9399-d7a92ce84a-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-225db845ab-lite.chunk.js} +3 -3
- package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
- package/dist/scripts/9620-95e6cc7b2b-lite.chunk.js +3 -0
- package/dist/scripts/9620-95e6cc7b2b-lite.chunk.js.map +1 -0
- package/dist/scripts/9719-9736913451-lite.chunk.js +3 -0
- package/dist/scripts/9719-9736913451-lite.chunk.js.map +1 -0
- package/dist/scripts/999-bdc7956050-lite.chunk.js +2 -0
- package/dist/scripts/999-bdc7956050-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-9f8729bedb.min.js +3 -0
- package/dist/scripts/bundle-9f8729bedb.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-534a29a204-lite.chunk.js +0 -2
- package/dist/scripts/1169-534a29a204-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-64a145c5fe-lite.chunk.js +0 -2
- package/dist/scripts/1818-64a145c5fe-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-993521951d-lite.chunk.js +0 -2
- package/dist/scripts/1820-993521951d-lite.chunk.js.map +0 -1
- package/dist/scripts/1867-260ef9f8c2-lite.chunk.js +0 -2
- package/dist/scripts/1867-260ef9f8c2-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/1896-32a6eeda5c-lite.chunk.js +0 -2
- package/dist/scripts/1896-32a6eeda5c-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/209-de1729d1b1-lite.chunk.js +0 -2
- package/dist/scripts/209-de1729d1b1-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/3404-171fdee802-lite.chunk.js +0 -2
- package/dist/scripts/3404-171fdee802-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/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/5143-b6896dad98-lite.chunk.js +0 -2
- package/dist/scripts/5143-b6896dad98-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-c4397e12a8-lite.chunk.js +0 -2
- package/dist/scripts/5595-c4397e12a8-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-6fe810d3cb-lite.chunk.js +0 -2
- package/dist/scripts/5936-6fe810d3cb-lite.chunk.js.map +0 -1
- package/dist/scripts/5940-f335f8c290-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-24c430efb3-lite.chunk.js +0 -2
- package/dist/scripts/6094-24c430efb3-lite.chunk.js.map +0 -1
- package/dist/scripts/6138-21ae042a7b-lite.chunk.js +0 -2
- package/dist/scripts/6138-21ae042a7b-lite.chunk.js.map +0 -1
- package/dist/scripts/6263-3455286798-lite.chunk.js +0 -2
- package/dist/scripts/6263-3455286798-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-b29029aa1b-lite.chunk.js +0 -2
- package/dist/scripts/6415-b29029aa1b-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-899eba8b3d-lite.chunk.js +0 -2
- package/dist/scripts/6481-899eba8b3d-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-faa6f93a0e-lite.chunk.js +0 -2
- package/dist/scripts/6546-faa6f93a0e-lite.chunk.js.map +0 -1
- package/dist/scripts/6587-ba8e36be0b-lite.chunk.js +0 -2
- package/dist/scripts/6587-ba8e36be0b-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/6746-b5b2739944-lite.chunk.js +0 -2
- package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
- package/dist/scripts/679-e18e7956d0-lite.chunk.js +0 -2
- package/dist/scripts/679-e18e7956d0-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/7679-b01da2c09d-lite.chunk.js +0 -2
- package/dist/scripts/7679-b01da2c09d-lite.chunk.js.map +0 -1
- package/dist/scripts/7757-320e868e90-lite.chunk.js +0 -2
- package/dist/scripts/7757-320e868e90-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/8323-99cb03891e-lite.chunk.js +0 -3
- package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
- package/dist/scripts/8766-bcc7f11eac-lite.chunk.js +0 -2
- package/dist/scripts/8766-bcc7f11eac-lite.chunk.js.map +0 -1
- package/dist/scripts/8800-335154fe11-lite.chunk.js +0 -2
- package/dist/scripts/8800-335154fe11-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/9308-362f86711f-lite.chunk.js +0 -3
- package/dist/scripts/9308-362f86711f-lite.chunk.js.map +0 -1
- package/dist/scripts/9359-cc085d48a4-lite.chunk.js +0 -2
- package/dist/scripts/9359-cc085d48a4-lite.chunk.js.map +0 -1
- package/dist/scripts/9399-2a314327ac-lite.chunk.js +0 -2
- package/dist/scripts/9399-2a314327ac-lite.chunk.js.map +0 -1
- package/dist/scripts/9620-f1d717b02b-lite.chunk.js +0 -3
- package/dist/scripts/9620-f1d717b02b-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/bundle-724fc2e388.min.js +0 -3
- package/dist/scripts/bundle-724fc2e388.min.js.map +0 -1
- /package/dist/css/{5143-lite-676baa8218.chunk.css → 1063-lite-676baa8218.chunk.css} +0 -0
- /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/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
- /package/dist/css/{9308-lite-a3c7435ba4.chunk.css → 4273-lite-a3c7435ba4.chunk.css} +0 -0
- /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.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/css/{1820-lite-c88eb54bee.chunk.css → 999-lite-c88eb54bee.chunk.css} +0 -0
- /package/dist/scripts/{1379-082bbab71a-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.LICENSE.txt → 1672-0d1fc90529-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 4273-e42f763f00-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 8323-360541a2a8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-82d7e0afb9-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9308-362f86711f-lite.chunk.js.LICENSE.txt → 9230-ae200d2bd3-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-90b87097fa-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-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-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9620-f1d717b02b-lite.chunk.js.LICENSE.txt → 9620-95e6cc7b2b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-9736913451-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-724fc2e388.min.js.LICENSE.txt → bundle-9f8729bedb.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/9620-95e6cc7b2b-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/react/hooks/UseEventsServiceSubscribe.ts","file:///app/packages/libs/common/src/react/services/EventsService.ts","file:///app/packages/libs/shared/src/components/curriculum-links/CurriculumLinkItem.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/CurriculumLinksEmptyState.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/partial-loading/PartialCurriculumLinks.tsx","file:///app/packages/libs/shared/src/components/curriculum-links/partial-loading/partial-curriculum-links.scss","file:///app/packages/libs/shared/src/components/play-page-v2/curriculum-links/curriculum-links.scss","file:///app/packages/libs/shared/src/components/play-page-v2/curriculum-links/CurriculumLinksV2.tsx","file:///app/packages/libs/shared/src/components/play-page-v2/curriculum-links/CurriculumsWidget.tsx","file:///app/packages/libs/shared/src/components/play-page-v2/glance/VideoAtAGlanceUtilsV2.ts","file:///app/packages/libs/shared/src/components/play-page-v2/glance/points-of-interest-list/points-of-interest-list.scss","file:///app/packages/libs/shared/src/components/play-page-v2/glance/points-of-interest-list/PointsOfInterestList.tsx","file:///app/packages/libs/shared/src/components/play-page-v2/glance/VideoAtAGlanceV2.tsx","file:///app/packages/libs/shared/src/components/tags/PartialTagItem.tsx","file:///app/packages/libs/shared/src/components/tags/TagHelper.ts","file:///app/packages/libs/shared/src/components/tags/TagItem.tsx","file:///app/packages/libs/shared/src/components/tags/TagList.tsx","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/widget-header.scss","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/WidgetHeader.tsx","file:///app/packages/libs/shared/src/utils/DragHelper.ts","file:///app/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file:///app/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss","file:///app/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","file:///app/packages/libs/shared/src/enums/CssMeasurement.ts","file:///app/packages/libs/shared/src/enums/CurriculumType.ts","file:///app/packages/libs/shared/src/enums/TagType.ts","file:///app/packages/libs/shared/src/enums/WidgetInteraction.ts","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/video-guidance/classroom-guide/popup/VideoGuidanceClassroomGuidePopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-classroom-guide/VideoGuidanceClassroomGuideView.tsx","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/packages/libs/shared/src/components/curriculum-links/curriculum-links.scss","file:///app/packages/libs/shared/src/components/play-page-v2/glance/video-at-a-glance.scss","file:///app/packages/libs/shared/src/components/tags/tags.scss","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { EventsService } from 'libs/common/react/services/EventsService';\n\n/**\n * \n * @param event the event to subscribe to\n * @param callback the callback function\n * @param once whether to subscribe once\n * @param shouldSubscribe conditionally determine whether to subscribe to events\n * @returns unsubscribe function\n */\nexport function useEventsServiceSubscribe(\n event: string,\n callback: (...args: any[]) => void,\n once?: boolean,\n shouldSubscribe?: boolean\n): () => void {\n const unsubscribe = () => {\n EventsService.unsubscribe(event, callback);\n };\n\n useEffect(() => {\n if (!shouldSubscribe)\n return;\n\n once ? EventsService.subscribeOnce(event, callback) : EventsService.subscribe(event, callback);\n\n return () => {\n unsubscribe();\n };\n }, []);\n\n return unsubscribe;\n}","type EventCallback = (...args: any[]) => void;\n\ninterface EventListener {\n callback: EventCallback,\n executionLimit?: number;\n executionCount?: number;\n}\n\ninterface EventsListenerHash {\n [event: string]: EventListener[];\n}\n\nexport class StaticEventsService {\n public subscribe(event: string, callback: EventCallback): void {\n this.registerListener(event, callback);\n }\n\n public subscribeOnce(event: string, callback: EventCallback): void {\n this.registerListener(event, callback, 1);\n }\n\n public unsubscribe(event: string, callback?: EventCallback): void {\n this.deregisterListener(event, callback);\n }\n\n public trigger(event: string, ...args: any[]): void {\n this.triggerCallbacks(event, args);\n }\n\n /**\n * Private functions/members below\n */\n\n private listeners: EventsListenerHash = {};\n\n private registerListener(event: string, callback: EventCallback, executionLimit?: number) {\n if (typeof event !== 'string')\n throw new Error('Event name must be a string');\n\n if (typeof callback !== 'function')\n throw new Error('Event callback must be a function');\n\n if (!!executionLimit && typeof executionLimit !== 'number')\n throw new Error('Execution limit must be a number or undefined');\n\n this.listeners[event] = this.listeners[event] ?? [];\n this.listeners[event].push({ callback, executionLimit });\n }\n\n private deregisterListener(event: string, callback?: EventCallback): void {\n if (typeof event !== 'string')\n throw new Error('Event name must be a string');\n\n if (!!callback && typeof callback !== 'function')\n throw new Error('Event callback must be a function');\n \n if (!callback) {\n this.listeners[event] = [];\n return;\n }\n\n const idxToRemove = this.listeners[event]?.findIndex(e => e.callback === callback);\n\n if (typeof idxToRemove !== 'number' || idxToRemove === -1)\n return;\n\n this.listeners[event].splice(idxToRemove, 1);\n\n if (this.listeners[event].length === 0)\n delete this.listeners[event];\n }\n\n private triggerCallbacks(event: string, ...args: any[]): void {\n if (!this.listeners[event])\n return;\n\n const callbacksToRemove: EventCallback[] = [];\n\n this.listeners[event].forEach(listener => {\n if (typeof listener.executionLimit === 'number') {\n listener.executionCount = listener.executionCount ?? 0;\n listener.executionCount++;\n\n if (listener.executionCount === listener.executionLimit)\n callbacksToRemove.push(listener.callback);\n }\n\n listener.callback.apply(null, ...args);\n });\n\n if (!callbacksToRemove.length)\n return;\n\n callbacksToRemove.forEach(callback => this.deregisterListener(event, callback));\n }\n}\n\nexport const EventsService = new StaticEventsService();","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './curriculum-links.scss';\n\ninterface CurriculumLinkItemProps {\n data: Presentation;\n onChangeCurriculum: (id: string) => any;\n selected: boolean;\n}\n\nexport function CurriculumLinkItem(props: CurriculumLinkItemProps): JSX.Element {\n const { data: curriculumTag } = props;\n\n return (\n <DivButton\n key={curriculumTag.id}\n className={`p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ${styles.tag} ${props.selected ? styles.selected : ''}`}\n onClick={() => props.onChangeCurriculum(curriculumTag.id.toString())}\n >\n <div className={`bg-white ${styles.cover} rounded-circle border`}>\n <img\n src={ImageHelper.createUrl(curriculumTag.cover.url, { size: ImageSize.Small })}\n alt={curriculumTag.name}\n className='rounded-circle'\n />\n </div>\n <div className='ms-2'>\n {curriculumTag.name}\n </div>\n </DivButton>\n );\n}","import React from 'react';\n\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';\n\nconst namespace = 'shared.curriculumLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CurriculumLinksEmptyStateProps {\n emptyStateUrl: string;\n}\n\nexport function CurriculumLinksEmptyState(props: CurriculumLinksEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='pt-3'>\n <EmptyState.Image src={props.emptyStateUrl} altText={getPhrase('emptyInfo')} size='small'/>\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='emptyHeading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='emptyInfo' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","import React from 'react';\n\nimport styles from './partial-curriculum-links.scss';\n\nconst PartialCurriculumLinkSection = () => (\n <>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ${styles.audience}`} />\n <div>\n <div className={`partial-loading-background mb-1 ${styles.area}`} />\n\n <div className='mb-2 d-flex'>\n <div className={`me-1 align-self-start ${styles.code}`}>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100`} />\n </div>\n \n <div className={`partial-loading-background ${styles.description}`} />\n </div>\n </div>\n </>\n);\n\nexport function PartialCurriculumLinks(): JSX.Element {\n return (\n <div>\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div>\n <PartialCurriculumLinkSection />\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"audience\":\"vDcrq\",\"area\":\"GXhoW\",\"code\":\"goKaS\",\"description\":\"vFew6\"};","// extracted by mini-css-extract-plugin\nexport default {\"curriculumSubject\":\"i4D3h\",\"curriculumSet\":\"WCdf9\",\"areaLeafSet\":\"o8H8s\",\"closeButton\":\"McsPs\",\"leafDescriptionOnly\":\"xmEEo\"};","import React from 'react';\n\nimport { CurriculumLinksEmptyState } from 'libs/shared/components/curriculum-links/CurriculumLinksEmptyState';\nimport { PartialCurriculumLinks } from 'libs/shared/components/curriculum-links/partial-loading/PartialCurriculumLinks';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CurriculumType } from 'libs/shared/enums/CurriculumType';\nimport { Curriculum } from 'libs/shared/interfaces';\n\nimport styles from './curriculum-links.scss';\n\nconst BRACKET_SEGMENT_REGEX = /(.*)\\s\\((.*)?\\)/i;\n\nconst namespace = 'shared.curriculumLinks';\n\nconst BASE_PILL_CLASS = 'text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold';\n\ninterface CurriculumStructure {\n [CurriculumType.Subject]: Curriculum<CurriculumType.Subject>;\n [CurriculumType.Audience]: Curriculum<CurriculumType.Audience>;\n areasAndLeaves: Array<{\n [CurriculumType.Area]: Curriculum<CurriculumType.Area>[];\n [CurriculumType.Leaf]: Curriculum<CurriculumType.Leaf>[];\n }>;\n}\n\ninterface CurriculumLeafProps {\n leaf: Curriculum<CurriculumType.Leaf>;\n codeWidth: number;\n trySetMaxCodeWidth: React.Dispatch<React.SetStateAction<number>>;\n uiContainsCodes: boolean;\n}\n\nfunction CurriculumLeaf(props: CurriculumLeafProps): JSX.Element {\n function getCurriculumCodeClass(): string {\n const baseClass = BASE_PILL_CLASS + ' bg-white border';\n\n // If a leaf has no code but the rest of the UI has leaf nodes w/ codes, we show a special \"No code\" pill\n if (!props.leaf.name && props.uiContainsCodes)\n return baseClass + ' border-secondary text-secondary';\n\n return baseClass + ' border-dark';\n }\n\n const codeRef = React.useRef<HTMLDivElement>();\n\n React.useEffect(() => {\n if (!codeRef.current)\n return;\n\n const { width } = codeRef.current.getBoundingClientRect();\n\n props.trySetMaxCodeWidth(width);\n }, [codeRef.current]);\n\n return (\n <div className='d-flex'>\n {(() => {\n if (!props.leaf.description)\n return <p className='m-0' dangerouslySetInnerHTML={{ __html: props.leaf.name }} />;\n\n /**\n * If a leaf has no code but the rest of the UI has leaf nodes\n * with codes, we show a special \"No code\" pill. Example: https://imgur.com/3L1Ela3\n */\n if (!props.leaf.name && props.uiContainsCodes) {\n return (\n <>\n <div\n className='me-1 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <h5 ref={codeRef} className={getCurriculumCodeClass()}>\n <Text namespace={namespace} phrase='noCode' />\n </h5>\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />\n </>\n );\n }\n\n /**\n * If a leaf has no code and the rest of the UI leaf nodes have no code, we just\n * display the description with a bullet point. Example: https://imgur.com/jzJvmWs\n */\n if (!props.leaf.name && !props.uiContainsCodes)\n return <p className='m-0' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />;\n\n return (\n <>\n <div\n className='me-1 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <h5 ref={codeRef} className={getCurriculumCodeClass()}>{props.leaf.name}</h5>\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.leaf.description }} />\n </>\n );\n })()}\n </div>\n );\n}\n\ninterface CurriculumSubjectProps {\n linkSet: CurriculumStructure;\n codeWidth: number;\n trySetMaxCodeWidth: React.Dispatch<React.SetStateAction<number>>;\n}\n\nfunction CurriculumSubject(props: CurriculumSubjectProps): JSX.Element {\n const areaAndLeafSets: { [areaText: string]: Curriculum<CurriculumType.Leaf>[]; } = {};\n\n let uiContainsCodes = false;\n\n props.linkSet.areasAndLeaves.forEach(areaAndLeafSet => {\n const areaText = areaAndLeafSet[CurriculumType.Area].map(ca => ca.name).join(' - ');\n\n if (areaAndLeafSets[areaText]) {\n areaAndLeafSet[CurriculumType.Leaf].forEach(leaf => {\n if (!areaAndLeafSets[areaText].find(l => l.name === leaf.name)) {\n areaAndLeafSets[areaText].push(leaf);\n\n // We need the info on if _any_ leaf node has a code in it. See why in the comments in `<CurriculumLeaf />`\n if (leaf.name)\n uiContainsCodes = true;\n }\n });\n\n return;\n }\n\n areaAndLeafSets[areaText] = areaAndLeafSet[CurriculumType.Leaf];\n });\n\n function getAudienceText(): string {\n const audienceSegment = props.linkSet[CurriculumType.Audience].name;\n const subjectSegment = props.linkSet[CurriculumType.Subject].name;\n\n /**\n * In some curriculums, such as the UK curriculum, the audience string may contain a year group\n * in brackets. For example, it may be \"Lower Key Stage 2 (Year 4)\".\n * This regex will pull that segment out if it exists.\n */\n const audienceBracketSegments = audienceSegment.match(BRACKET_SEGMENT_REGEX);\n\n if (audienceBracketSegments)\n return `${audienceBracketSegments[1]} • ${audienceBracketSegments[2]} • ${subjectSegment}`;\n\n return `${audienceSegment} • ${subjectSegment}`;\n }\n\n function getLeafStyleClass(leaf: Curriculum<CurriculumType.Leaf>): string {\n const className = 'mb-2';\n\n if (!leaf.name && !uiContainsCodes)\n return className + ' ms-4 ' + styles.leafDescriptionOnly;\n\n return className;\n }\n\n return (\n <>\n <h3 className={`${BASE_PILL_CLASS} text-white bg-dark-blue fw-normal me-1 mb-2`}>\n {getAudienceText()}\n </h3>\n\n <div className={`me-2 ${styles.curriculumSubject}`}>\n {Object.keys(areaAndLeafSets).map((areaText, i) => {\n return (\n <div key={i} className={styles.areaLeafSet} >\n {areaText && <h4 className='mb-1 font-size-normal'>{areaText}</h4>}\n <ul className='list-unstyled'>\n {areaAndLeafSets[areaText].map(leaf => (\n <li key={leaf.id} className={getLeafStyleClass(leaf)}>\n <CurriculumLeaf\n leaf={leaf}\n codeWidth={props.codeWidth}\n trySetMaxCodeWidth={props.trySetMaxCodeWidth}\n uiContainsCodes={uiContainsCodes}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n </>\n );\n}\n\ninterface CurriculumLinksSet {\n [subjectAndAudienceIdKey: string]: CurriculumStructure\n}\n\ninterface CurriculumLinksV2Props {\n curriculumLinks?: Curriculum[][];\n emptyStateUrl: string;\n}\n\nexport function CurriculumLinksV2(props: CurriculumLinksV2Props): JSX.Element {\n const [ codeWidth, setCodeWidth ] = React.useState(0);\n\n function trySetMaxCodeWidth(width: number): void {\n /**\n * The width of the curriculum code column should be identical for each leaf node, meaning\n * the leaf description text will be perfectly vertically aligned all the way down.\n * See here for example: https://imgur.com/MbganZf\n * \n * This is achieved by us setting the state for the maximum code width, and forcing all\n * smaller codes to abide by that max width.\n * \n * This value is used in the `<CurriculumLeaf />` component.\n */\n setCodeWidth(currentVal => {\n if (currentVal >= width)\n return currentVal;\n\n return width;\n });\n }\n\n /**\n * Here, we're taking the structure of links from the backend, and restructuring it in a way\n * that resembles the structure of our UI more closely. The general idea is:\n * \n * CurriculumAudience - CurriculumSubject\n * CurriculumAreas\n * CurriculumLeaves\n */\n const curriculumLinkSets = React.useMemo(() => {\n const newSet: CurriculumLinksSet = {};\n\n props.curriculumLinks.forEach(linkSet => {\n let subject: Curriculum<CurriculumType.Subject> = null;\n let audience: Curriculum<CurriculumType.Audience> = null;\n const areas: Curriculum<CurriculumType.Area>[] = [];\n const leaves: Curriculum<CurriculumType.Leaf>[] = [];\n \n linkSet.forEach(curriculumObj => {\n switch (curriculumObj.type) {\n case CurriculumType.Subject:\n subject = curriculumObj as Curriculum<CurriculumType.Subject>;\n break;\n case CurriculumType.Audience:\n audience = curriculumObj as Curriculum<CurriculumType.Audience>;\n break;\n case CurriculumType.Area:\n areas.push(curriculumObj as Curriculum<CurriculumType.Area>);\n break;\n case CurriculumType.Leaf:\n leaves.push(curriculumObj as Curriculum<CurriculumType.Leaf>);\n break;\n default:\n break;\n }\n });\n \n const key = `${subject.id}:${audience.id}`;\n\n if (newSet[key]) {\n newSet[key].areasAndLeaves.push({\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n });\n \n return;\n }\n \n newSet[key] = {\n [CurriculumType.Subject]: subject,\n [CurriculumType.Audience]: audience,\n areasAndLeaves: [{\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n }]\n };\n });\n\n return newSet;\n }, [props.curriculumLinks]);\n\n if (!props.curriculumLinks)\n return <PartialCurriculumLinks />;\n\n if (!props.curriculumLinks?.length) {\n return <CurriculumLinksEmptyState emptyStateUrl={props.emptyStateUrl} />;\n }\n\n return (\n <ul className='list-unstyled m-0'>\n {Object.keys(curriculumLinkSets).map((linkSetKey, i) => (\n <li key={`linkset-${i}`} className={styles.curriculumSet}>\n <CurriculumSubject\n linkSet={curriculumLinkSets[linkSetKey]}\n trySetMaxCodeWidth={trySetMaxCodeWidth}\n codeWidth={codeWidth}\n />\n </li>\n ))}\n </ul>\n );\n}","import React from 'react';\n\nimport { CurriculumLinkItem } from 'libs/shared/components/curriculum-links/CurriculumLinkItem';\nimport { PartialTagItem } from 'libs/shared/components/tags/PartialTagItem';\nimport { DynamicWidget } from 'libs/shared/components/widgets/dynamic-widget';\nimport { CurriculumData, Presentation } from 'libs/shared/interfaces';\n\ninterface CurriculumsWidgetProps {\n curriculums: CurriculumData;\n selectedCurriculum: Presentation;\n onChangeCurriculum: (curriculumId: string) => void;\n noNegativePadding?: boolean;\n}\n\nexport function CurriculumsWidget(props: CurriculumsWidgetProps): JSX.Element {\n return (\n <DynamicWidget\n collection={props.selectedCurriculum?.id ? props.curriculums.nonEmptyCurriculums : null}\n childClassName='flex-shrink-0'\n childComponent={_props => {\n return (\n <CurriculumLinkItem\n {..._props}\n selected={props.selectedCurriculum?.id?.toString() === _props.data.id.toString()}\n onChangeCurriculum={props.onChangeCurriculum}\n />\n );\n }}\n partialLoadingComponent={() => <PartialTagItem />}\n widgetDataDeps={[ props.selectedCurriculum?.id?.toString(), props.onChangeCurriculum ]}\n noNegativePadding={props.noNegativePadding}\n />\n );\n}","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport * as marked from 'marked';\n\nimport { useEventsServiceSubscribe } from 'libs/common/react/hooks/UseEventsServiceSubscribe';\nimport { EventsService } from 'libs/common/react/services/EventsService';\n\nimport { Clip, Glance, PointOfInterest, Video } from 'libs/shared/interfaces';\n\nimport styles from './video-at-a-glance.scss';\n\nconst POI_LINK_LINE = /\\[\\]\\(cv:\\/\\/poi\\?id=\\d+\\)\\n*/g;\n\nfunction stripPoisFromGlanceContent(glanceContent: string): string {\n return glanceContent.replace(POI_LINK_LINE, '');\n}\n\nfunction getLearningIntentionHTML(glance: Glance): string {\n const learningIntention = stripPoisFromGlanceContent(glance.content);\n\n return marked(learningIntention);\n}\n\nexport function useLearningIntentionMarkdown(\n video: Video,\n hasGlanceData?: boolean\n): string {\n const [ markdownHTML, setMarkdownHTML ] = useState('');\n\n useEffect(() => {\n if (!hasGlanceData)\n return;\n\n const content = getLearningIntentionHTML(video.glance);\n\n setMarkdownHTML(content);\n }, [ video.glance?.content, hasGlanceData ]);\n\n return markdownHTML;\n}\n\nexport function hasGlanceData(video: Video | Clip): boolean {\n return video.glance?.content && video.glance?.format === 'text/markdown';\n}\n\nexport function useHighlightPointOfInterest(\n pointOfInterest: PointOfInterest,\n shouldHighlight: boolean\n): MutableRefObject<HTMLDivElement> {\n const ref = useRef<HTMLDivElement>();\n\n useEventsServiceSubscribe('player:poi:mouseover', onPlayerPoiMouseOver, null, shouldHighlight);\n useEventsServiceSubscribe('player:poi:mouseleave', onPlayerPoiMouseLeave, null, shouldHighlight);\n\n useEffect(() => {\n if (!ref.current || !shouldHighlight)\n return;\n\n ref.current?.addEventListener('mouseover', onGlancePoiMouseOver);\n ref.current?.addEventListener('mouseleave', onGlancePoiMouseLeave);\n\n return () => {\n ref.current?.removeEventListener('mouseover', onGlancePoiMouseOver);\n ref.current?.removeEventListener('mouseleave', onGlancePoiMouseLeave);\n };\n }, [ref.current]);\n\n function onPlayerPoiMouseOver(hoveredPoi: PointOfInterest): void {\n if (!hoveredPoi?.id || pointOfInterest?.id?.toString() !== hoveredPoi?.id?.toString())\n return;\n\n ref.current?.classList.add(styles.highlightPoi);\n }\n\n function onPlayerPoiMouseLeave(): void {\n ref.current?.classList.remove(styles.highlightPoi);\n }\n\n /**\n * `this` will be the element to which the eventListener is bound.\n */\n function onGlancePoiMouseOver(): void {\n if (pointOfInterest)\n EventsService.trigger('glance:poi:mouseover', pointOfInterest);\n }\n\n function onGlancePoiMouseLeave(): void {\n EventsService.trigger('glance:poi:mouseleave');\n }\n\n return ref;\n}","// extracted by mini-css-extract-plugin\nexport default {\"poiEntry\":\"vr6R9\",\"poiText\":\"znHZF\",\"public\":\"v0BZ9\",\"poiTimeStamp\":\"AdKwe\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PointOfInterest } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\n\nimport { useHighlightPointOfInterest } from '../VideoAtAGlanceUtilsV2';\n\nimport styles from './points-of-interest-list.scss';\n\ninterface PointOfInterestProps {\n poi: PointOfInterest;\n suppressInteractivity?: boolean;\n onClickPoiItem: (time: number) => void;\n}\n\nfunction PointOfInterest(props: PointOfInterestProps): JSX.Element {\n const timeStamp = DurationHelper.ToDisplayDuration(props.poi.startTime * 1000);\n\n const ref = useHighlightPointOfInterest(props.poi, !props.suppressInteractivity);\n\n if (props.suppressInteractivity) {\n return (\n <div className={`d-flex ${styles.poiEntry} mb-2`}>\n <span className={`d-flex rounded-pill justify-content-center align-items-center fw-semibold text-info bg-light-blue ${styles.poiTimeStamp}`}>{timeStamp}</span>\n <div className={`${styles.public} ms-2`}>{props.poi.description}</div>\n </div>\n );\n }\n\n return (\n <DivButton\n key={props.poi.startTime}\n className={`d-flex ${styles.poiEntry} mb-2 cursor-pointer`}\n onClick={() => props.onClickPoiItem(props.poi.startTime)}\n ref={ref}\n >\n <div className={`d-flex rounded-pill justify-content-center align-items-center fw-semibold text-info bg-light-blue ${styles.poiTimeStamp}`}>{timeStamp}</div>\n <div className={`ms-2 ${styles.poiText}`}>{props.poi.description}</div>\n </DivButton>\n );\n}\n\ninterface PointOfInterestListProps{\n pointsOfInterest: PointOfInterest[];\n suppressInteractivity?: boolean;\n onClickPoiItem: (time: number) => void\n}\n\nconst namespace = 'shared.pointsOfInterestList';\n\nexport function PointOfInterestList(props: PointOfInterestListProps) {\n return (\n <div>\n <h2 className='h6 my-2'><Text namespace={namespace} phrase='heading' /></h2>\n\n <div>\n {props.pointsOfInterest.map(poi => {\n return (\n <PointOfInterest\n key={poi.startTime}\n poi={poi}\n suppressInteractivity={props.suppressInteractivity}\n onClickPoiItem={props.onClickPoiItem}\n />\n );\n })}\n\n </div>\n </div>\n );\n}","import * as React from 'react';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PointOfInterestList } from 'libs/shared/components/play-page-v2/glance/points-of-interest-list/PointsOfInterestList';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { TagHelper } from 'libs/shared/components/tags/TagHelper';\nimport { TagList } from 'libs/shared/components/tags/TagList';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { PointOfInterest, Tag, Video } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { useLearningIntentionMarkdown } from './VideoAtAGlanceUtilsV2';\n\nimport styles from './video-at-a-glance.scss';\n\nconst namespace = 'shared.videoAtAGlanceV2';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst SCROLL_HEIGHT_MAX = 350; // in px\n\ninterface ScrollbarWrapperProps {\n hideScrollbar?: boolean;\n}\n\nfunction ScrollbarWrapper(props: React.PropsWithChildren<ScrollbarWrapperProps>): JSX.Element {\n if (props.hideScrollbar)\n return <>{props.children}</>;\n\n return (\n <div className='rounded border mb-4 bg-white'>\n <Scrollbars\n autoHeight\n autoHeightMax={SCROLL_HEIGHT_MAX}\n >\n <div className='px-3 px-3 pt-3 pb-2'>\n {props.children}\n </div>\n </Scrollbars>\n </div>\n );\n}\n\ninterface VideoAtAGlanceV2Props {\n video: Video;\n pointsOfInterest?: PointOfInterest[];\n suppressInteractivity?: boolean;\n setStartTime?: (time: number) => void;\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n onClickTag?: () => void;\n hideScrollbar?: boolean;\n canViewGlance: boolean;\n}\n\nexport function VideoAtAGlanceV2(props: VideoAtAGlanceV2Props): JSX.Element {\n const learningIntentionMarkdownHTML = useLearningIntentionMarkdown(props.video, props.canViewGlance);\n const [ textToCopy, setTextToCopy ] = React.useState('');\n\n function logUserAction(): void {\n const analyticsData = {\n id: props.video.glance.id,\n videoId: props.video.id,\n videoName: props.video.name,\n learningIntention: textToCopy\n };\n\n const analyticsOptions = {\n actionType: UserAction.Copy,\n entity: EntityType.Glance,\n location: LocationContext.PlayPage\n };\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n }\n\n function getTags(): Tag[] {\n if (VideoHelper.isInteractive(props.video) || !props.video.tags?.data?.length)\n return null;\n\n return props.video.tags?.data?.filter(tag => tag.tagType === TagType.Pedagogy || tag.tagType === TagType.Skill);\n }\n const tags = getTags();\n\n const ref = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (ref.current?.innerText)\n setTextToCopy(ref.current.innerText);\n }, [ref.current?.innerText]);\n\n if (!props.canViewGlance)\n return <></>;\n\n function onClickPoiItem(time: number) {\n props.setStartTime(time);\n }\n\n return (\n <section className='play-page-section'>\n <ScrollbarWrapper hideScrollbar={props.hideScrollbar}>\n <h2 className='h6 mb-2'><Text namespace={namespace} phrase='learningIntention' /></h2>\n \n <div className={`mb-3 ${styles.learningIntention}`}>\n <Tooltip title={getPhrase('copy')} spanHack spanHackClassName={styles.icon}>\n <CopyToClipboard text={textToCopy}>\n <SvgContainer\n className='svg-container me-1 cursor-pointer'\n svgName={cvSvgLibrary.Copy}\n size={SvgContainerSize.Small}\n onClick={logUserAction}\n />\n </CopyToClipboard>\n </Tooltip>\n \n <div\n dangerouslySetInnerHTML={{ __html: learningIntentionMarkdownHTML }}\n className='d-inline'\n ref={ref}\n >\n </div>\n </div>\n\n {!!tags?.length && (\n <div className='mb-1'>\n <TagList\n tags={tags}\n {...TagHelper.getTagActionProps(props.getTagAppLink, props.onClickTag, props.suppressInteractivity)}\n className='mt-2'\n />\n </div>\n )}\n\n {!!props.pointsOfInterest.length && (\n <PointOfInterestList\n pointsOfInterest={props.pointsOfInterest}\n suppressInteractivity={props.suppressInteractivity}\n onClickPoiItem={onClickPoiItem}\n />\n )}\n </ScrollbarWrapper>\n </section>\n );\n}","import React from 'react';\n\nimport styles from './tags.scss';\n\ninterface PartialTagItemProps {\n tagClass?: string;\n}\n\nexport const PartialTagItem = React.memo(function({ tagClass = '' }: PartialTagItemProps): JSX.Element {\n const classNames = `partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ${tagClass} ${styles.partialTag}`;\n\n return (\n <div className='mt-1'>\n <span className={classNames}> </span>\n </div>\n );\n});","import { Core } from 'libs/common/core';\n\nimport { Tag } from 'libs/shared/interfaces';\n\nexport const TagHelper = {\n /**\n * This helper allows tag appLinks to be triggered manually for use in a public context.\n * \n * For public pages, all anchors will be crawled by bots. Given then number of tags we have\n * this will chew through crawl budget unnecessarily. \n * \n * The consuming project can opt-in for this behaviour. By default, tags will always be rendered\n * as anchors.\n */\n getTagActionProps: (\n getTagAppLink: (tag: Tag) => Core.AppLink,\n onClick: () => void,\n renderAsSpan?: boolean\n ) => {\n if (renderAsSpan) {\n return {\n onClick: (tag: Tag) => {\n if (onClick)\n onClick();\n\n const appLink = getTagAppLink ? getTagAppLink(tag) : null;\n\n if (!appLink)\n return;\n\n return Core.AppLinkHelper.trigger(appLink);\n }\n };\n }\n\n return {\n getAppLink: (tag: Tag) => {\n return getTagAppLink\n ? getTagAppLink(tag)\n : null;\n },\n onClick\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType, hasThemeColour: boolean): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag fw-normal';\n\n case TagType.Normal:\n if (!hasThemeColour)\n return 'bg-gray-100 fw-normal';\n return '';\n\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n const hasThemeColour = (tagType === TagType.Normal && props.themeColours) && !!props.themeColours?.secondary;\n let classNames = `rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType, hasThemeColour)}`;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove)\n classNames += ' ' + styles.badge;\n\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <span\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </span>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { TagItem } from 'libs/shared/components/tags/TagItem';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\n/**\n * TODO: this will eventually handle ClickView and Customer tag types.\n */\nfunction getTagSortValue(tag: Tag): number {\n switch (tag.tagType?.toLowerCase()) {\n case TagType.Pedagogy:\n return 0;\n\n case TagType.Skill:\n return 1;\n\n default:\n return 2;\n }\n}\n\ninterface TagListProps {\n tags: Tag[];\n themeColours?: ThemeColours;\n onClick?: (tag: Tag) => void;\n onRemove?: (tag: Tag) => void;\n getAppLink?: (tag: Tag) => Core.AppLink;\n className?: string;\n}\n\nexport function TagList(props: TagListProps): JSX.Element {\n if (!props.tags)\n return <></>;\n\n const sortedTags = [...props.tags].sort((a, b) => getTagSortValue(a) - getTagSortValue(b));\n\n return (\n <div className={`${styles.tagList} ${props.className}`}>\n {sortedTags.map((tag: Tag) => {\n const appLink = typeof props.getAppLink === 'function'\n ? props.getAppLink(tag)\n : null;\n\n const onRemove = typeof props.onRemove === 'function'\n ? () => props.onRemove(tag)\n : null;\n\n const onClick = typeof props.onClick === 'function'\n ? () => props.onClick(tag)\n : null;\n\n return (\n <TagItem\n key={tag.id || tag.name}\n tag={tag}\n appLink={appLink}\n themeColours={props.themeColours}\n onRemove={onRemove}\n onClick={onClick}\n />\n );\n })}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"yv0FS\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions, ClickDescriptor } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './widget-header.scss';\n\nconst namespace = 'shared.widgetHeader';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface WidgetHeaderProps {\n name: string;\n description: string;\n\n appLink?: Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showSeeMoreLink?: boolean;\n onClick?: () => void;\n}\n\nfunction SeeMore(props: WidgetHeaderProps) {\n return (\n <div className={`ms-3 ${styles.seeMore}`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData }\n analyticsOptions={{ ...props.analyticsOptions, descriptor: ClickDescriptor.SeeMore }}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n >\n <p className='hover-text-underline text-dark curated-widget-heading'>{getPhrase('seeMore')}</p>\n </AppLink>\n </div>\n );\n}\n\nexport function WidgetHeader(props: WidgetHeaderProps): JSX.Element {\n const hasDescription = !!props.description;\n\n if (!props.name && !props.description)\n return <></>;\n\n return (\n <div className='curated-widget-header'>\n <div className='d-flex justify-content-between'>\n {!!props.name && (\n <div className={styles.title}>\n <AppLink\n appLink={props.appLink}\n analyticsOptions={props.analyticsOptions}\n analyticsData={props.analyticsData}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n onClick={props.onClick}\n >\n <h2 className='h4 curated-widget-heading'>\n {props.name}\n </h2>\n </AppLink>\n </div>\n )}\n {!!props.appLink && !hasDescription && !!props.showSeeMoreLink && <SeeMore {...props}/>}\n </div>\n \n {hasDescription && (\n <div className='d-flex justify-content-between align-items-end'>\n <p className={`description curated-widget-description ${styles.description}`}>\n <span>{props.description}</span>\n </p>\n {!!props.appLink && !!props.showSeeMoreLink && <SeeMore {...props}/> }\n </div>\n )}\n </div>\n );\n}","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst blankImage = new Image();\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\n\nexport const DragHelper = {\n // This removes the image that appears when you drag a draggable HTML element\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\n if (!event.dataTransfer.setDragImage || !FunctionHelper.isFunction(event.dataTransfer.setDragImage))\n return;\n\n event.dataTransfer.setDragImage(blankImage, 0, 0);\n }\n};","import * as React from 'react';\n\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\n\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\n\nconst getPositionStyling = (xPosition: number, measurement: CssMeasurement, dragPercentage?: number) => {\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\n if (measurement === CssMeasurement.Percentage && dragPercentage)\n xPosition = xPosition - dragPercentage;\n\n return {\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\n transition: 'transform .4s ease-in-out'\n };\n};\n\ninterface SlidingListContainerProps extends React.PropsWithChildren<unknown> {\n position: number;\n positionType: CssMeasurement;\n\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\n onDragEnd?: () => void;\n\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\n onTouchEnd?: () => void;\n\n percentageDragged?: number;\n}\n\nexport const SlidingListContainer = React.forwardRef((\n props: SlidingListContainerProps,\n ref: React.MutableRefObject<HTMLDivElement>\n): JSX.Element => {\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\n\n function getEventListeners(): HashObject {\n const listenerProps: HashObject = {};\n\n if (onDrag && onDragEnd) {\n listenerProps.draggable = true;\n listenerProps.onDragEnd = onDragEnd;\n listenerProps.onDragStart = DragHelper.hideDragImage;\n listenerProps.onDragOver = onDrag;\n }\n\n if (onTouchMove && onTouchEnd && isTouchScreen) {\n listenerProps.onTouchMoveCapture = onTouchMove;\n listenerProps.onTouchEndCapture = onTouchEnd;\n }\n\n return listenerProps;\n }\n\n return (\n <div\n className='d-flex flex-nowrap position-relative w-100'\n style={getPositionStyling(position, positionType, percentageDragged)}\n ref={ref}\n {...getEventListeners()}\n >\n {children}\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"buttonContainer\":\"_ejId\",\"left\":\"VSAPU\",\"right\":\"kgeXh\",\"button\":\"gAsE9\",\"hoverText\":\"APA36\",\"buttonHover\":\"cqD75\",\"chevron\":\"Ev4hr\",\"extendedClickableArea\":\"AtsWP\",\"gradientRight\":\"ZuAif\",\"gradientLeft\":\"Pt3nx\",\"topPos\":\"BVcIS\"};","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { FixedWidgetState } from 'libs/shared/components/widgets/fixed-widget';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './widget-button.scss';\n\nexport enum WidgetButtonDirection {\n Left,\n Right\n}\n\ninterface WidgetButtonProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n direction: WidgetButtonDirection;\n hide: boolean;\n contents?: WidgetContents;\n useGradientBackdrop?: boolean;\n className?: string;\n hoverText?: string;\n hideExtendedClickableArea?: boolean;\n state?: FixedWidgetState;\n\n leftButtonClassName?: string;\n rightButtonClassName?: string;\n leftGradientClassName?: string;\n rightGradientClassName?: string;\n}\n\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\n const isLeft = props.direction === WidgetButtonDirection.Left;\n\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\n\n function getPositionClass(): string {\n let className = styles.topPos;\n \n // Left / Right\n if (isLeft)\n className += ` ${styles.left} ${props.leftButtonClassName}`;\n else\n className += ` ${styles.right} ${props.rightButtonClassName}`;\n \n return className;\n }\n\n function getStyle(): React.CSSProperties {\n if (props.state?.contents === 'videos')\n return { paddingBottom: (56.25 / props.state?.viewableItems) + '%' };\n\n return { height: '100%' };\n }\n\n if (props.hide)\n return <></>;\n\n return (\n <div className={styles.buttonContainer} style={getStyle()}>\n {props.useGradientBackdrop &&\n <div className={isLeft ? `${styles.gradientLeft} ${props.leftGradientClassName}` : `${styles.gradientRight} ${props.rightGradientClassName}`} />\n }\n\n {!props.hideExtendedClickableArea && (\n <div\n role='button'\n onClick={props.onClick}\n className={`${styles.extendedClickableArea} ${isLeft ? styles.left : styles.right}`}\n />\n )}\n\n <div\n role='button'\n className={`${getPositionClass()} ${styles.button} ${props.className || ''}`}\n onClick={props.onClick}\n >\n {props.hoverText && (\n <span className={`ps-3 pe-2 ${styles.hoverText}`}>{props.hoverText}</span>\n )}\n <SvgContainer\n svgName={arrowSvg}\n size={SvgContainerSize.Medium}\n className={`svg-container d-inline-block ${styles.chevron}`}\n />\n </div>\n </div>\n );\n});","export enum CssMeasurement {\n Percentage = '%',\n Pixels = 'px'\n}","export enum CurriculumType {\n Subject = 'CurriculumSubject',\n Audience = 'CurriculumAudience',\n Area = 'CurriculumArea',\n Leaf = 'CurriculumLeaf'\n}","export enum TagType {\n Normal = 'normal',\n Pedagogy = 'pedagogy',\n Hidden = 'hidden',\n Skill = 'skill',\n Curation = 'curation'\n}\n\n/**\n * This should **only** be used to create new tags in master (as it only accepts enum values).\n * Use the string enum above for all other cases.\n */\nexport enum TagTypeNumber {\n Normal = 0,\n Pedagogy = 1,\n Hidden = 2,\n Skill = 3,\n Curation = 4\n}","export enum WidgetInteraction {\n Init = 'init',\n Next = 'next',\n Previous = 'previous',\n Resize = 'resize',\n Drag = 'drag',\n Update = 'update',\n JumpToIndex = 'jump-to-index'\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, PresentationDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { PartialCurriculumLinks } from 'libs/shared/components/curriculum-links/partial-loading/PartialCurriculumLinks';\nimport { CurriculumLinksV2 } from 'libs/shared/components/play-page-v2/curriculum-links/CurriculumLinksV2';\nimport { CurriculumsWidget } from 'libs/shared/components/play-page-v2/curriculum-links/CurriculumsWidget';\nimport { VideoAtAGlanceV2 } from 'libs/shared/components/play-page-v2/glance/VideoAtAGlanceV2';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Clip, CurriculumData, PointOfInterest, PopupViewProps, Presentation, Tag, Video } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\n\nconst namespace = 'shared.videoGuidanceClassroomGuidePopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceClassroomGuidePopupProps extends PopupViewProps {\n isLoading: boolean;\n video: Video | Clip;\n onClickClose: () => void;\n onClickViewVideo: () => void;\n pointsOfInterest: PointOfInterest[];\n curriculums: CurriculumData;\n curriculumLinksEmptyStateUrl: string;\n\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n getVideoAppLink: (video: Video | Clip, opts: GetVideoAppLinkOptions) => Core.AppLink;\n\n canViewPublicLayout: boolean;\n canViewCurriculumLinks: boolean;\n canViewGlance: boolean;\n}\n\nexport function VideoGuidanceClassroomGuidePopup(props: VideoGuidanceClassroomGuidePopupProps): JSX.Element {\n const [ selectedCurriculum, setSelectedCurriculum ] = React.useState<Presentation>();\n\n const alerts = useAlerts();\n\n React.useEffect(() => {\n if (props.isLoading || !props.curriculums)\n return;\n\n if (!selectedCurriculum) {\n const currentCurriculum = props.curriculums.activeCurriculum\n ? props.curriculums.activeCurriculum\n : ArrayHelper.first(props.curriculums.availableCurriculums);\n setSelectedCurriculum(currentCurriculum);\n }\n }, [ props.isLoading, props.curriculums?.activeCurriculum?.id ]);\n\n async function onChangeCurriculum(curriculumId: string): Promise<boolean> {\n const newCurriculum = props.curriculums.availableCurriculums.find(c => c.id.toString() === curriculumId);\n\n if (!newCurriculum?.id)\n return false;\n\n if (props.curriculums.activeCurriculum?.id?.toString() === newCurriculum?.id?.toString())\n return false;\n\n setSelectedCurriculum(newCurriculum);\n\n try {\n await props.curriculums.updateCurriculum(newCurriculum);\n\n AnalyticsHelper.logUserAction({\n id: newCurriculum.id,\n name: newCurriculum.id,\n description: newCurriculum.description,\n videoId: props.video.id,\n videoName: props.video.name\n }, {\n entity: EntityType.Presentation,\n actionType: UserAction.Select,\n descriptor: PresentationDescriptor.Curriculum,\n location: LocationContext.ClassroomGuidancePopup\n });\n } catch {\n setSelectedCurriculum(selectedCurriculum);\n alerts.error(LanguageService.getPhrase(namespace, 'updateCurriculumFailed'));\n }\n }\n\n const hasCurriculumLinks = props.canViewCurriculumLinks && props.curriculums?.customerHasCurriculumLinks;\n\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={LanguageService.getPhrase(namespace, 'classroomGuide')}\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars\n autoHeightMax={MIN_MAX_HEIGHT}\n autoHeightMin={MIN_MAX_HEIGHT}\n autoHeight\n className='pb-3'\n // move vertical scrollbar to the top\n renderThumbVertical={({ style, ...props }) => <div {...props} style={{ ...style, borderRadius: 'inherit', backgroundColor: 'rgba(0, 0, 0, 0.2)', zIndex: 5 }} className='thumb-vertical'/>}\n >\n <div className={hasCurriculumLinks ? 'mb-4' : ''}>\n <VideoAtAGlanceV2\n video={props.video}\n pointsOfInterest={props.pointsOfInterest}\n setStartTime={startTime => {\n Core.AppLinkHelper.trigger(props.getVideoAppLink(props.video, { t: startTime }));\n props.closePopup();\n }}\n getTagAppLink={props.getTagAppLink}\n suppressInteractivity={props.canViewPublicLayout}\n onClickTag={props.closePopup}\n canViewGlance={props.canViewGlance}\n hideScrollbar\n />\n </div>\n\n {hasCurriculumLinks && (\n <>\n <h2 className='h6'>\n <Text namespace={namespace} phrase='curriculumLinks' />\n </h2>\n \n <div className='mb-2'>\n <CurriculumsWidget\n curriculums={props.curriculums}\n selectedCurriculum={selectedCurriculum}\n onChangeCurriculum={onChangeCurriculum}\n noNegativePadding\n />\n </div>\n \n {!props.curriculums?.hasLoaded\n ? <PartialCurriculumLinks />\n : (\n <CurriculumLinksV2\n curriculumLinks={props.curriculums?.curriculumLinks}\n emptyStateUrl={props.curriculumLinksEmptyStateUrl}\n />\n )}\n </>\n )}\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces';\n\nimport { VideoGuidanceClassroomGuidePopup } from 'libs/shared/components/video-guidance/classroom-guide/popup/VideoGuidanceClassroomGuidePopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, PopupViewProps, Video } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\ninterface VideoGuidanceClassroomGuideViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\nexport function VideoGuidanceClassroomGuideView(props: VideoGuidanceClassroomGuideViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const pointsOfInterest = useFetchPointsOfInterest(props.id, true);\n const curriculums = useCurriculums(props.id, true);\n const featureAccess = useVideoFeatureAccess();\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n return (\n <VideoGuidanceClassroomGuidePopup\n isLoading={!video.hasCompleted || !pointsOfInterest.hasCompleted}\n video={video.data}\n pointsOfInterest={pointsOfInterest.items}\n curriculums={curriculums}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n curriculumLinksEmptyStateUrl={ImageUrls.EmptyStates.CURRICULUM_LINKS}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n canViewCurriculumLinks={featureAccess.canViewCurriculumLinks}\n canViewPublicLayout={featureAccess.canViewPublicLayout}\n canViewGlance={featureAccess.canViewGlance}\n closePopup={props.closePopup}\n />\n );\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","// extracted by mini-css-extract-plugin\nexport default {\"curriculumSubject\":\"GvGYH\",\"curriculumSet\":\"d7RK0\",\"areaLeafSet\":\"XRTAe\",\"closeButton\":\"N3l5Q\",\"heading\":\"hAxR4\",\"leafDescriptionOnly\":\"h66ke\",\"dropdown\":\"CsG6G\",\"tag\":\"rdLqY\",\"cover\":\"etwaD\",\"active\":\"aDLMe\",\"selected\":\"BMrSd\"};","// extracted by mini-css-extract-plugin\nexport default {\"learningIntention\":\"MHM6O\",\"highlightPoi\":\"U7Q6x\",\"icon\":\"H1xbT\"};","// extracted by mini-css-extract-plugin\nexport default {\"tagList\":\"Zw6d9\",\"disabled\":\"jlL1c\",\"partialTag\":\"too_N\",\"badge\":\"OjtN8\",\"close\":\"X9joI\"};","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["useEventsServiceSubscribe","event","callback","once","shouldSubscribe","unsubscribe","useEffect","EventsService","listeners","this","registerListener","deregisterListener","args","triggerCallbacks","executionLimit","Error","push","idxToRemove","findIndex","e","splice","length","callbacksToRemove","forEach","listener","executionCount","apply","CurriculumLinkItem","props","curriculumTag","data","key","id","className","selected","onClick","onChangeCurriculum","toString","src","cover","url","size","alt","name","namespace","getPhrase","CurriculumLinksEmptyState","emptyStateUrl","altText","phrase","PartialCurriculumLinkSection","PartialCurriculumLinks","BRACKET_SEGMENT_REGEX","BASE_PILL_CLASS","CurriculumLeaf","getCurriculumCodeClass","baseClass","leaf","uiContainsCodes","codeRef","current","width","getBoundingClientRect","trySetMaxCodeWidth","description","style","minWidth","codeWidth","ref","Text","dangerouslySetInnerHTML","__html","CurriculumSubject","audienceSegment","subjectSegment","audienceBracketSegments","areaAndLeafSets","getLeafStyleClass","linkSet","areasAndLeaves","areaAndLeafSet","areaText","CurriculumType","map","ca","join","find","l","match","Object","keys","i","CurriculumLinksV2","setCodeWidth","currentVal","curriculumLinkSets","newSet","curriculumLinks","subject","audience","areas","leaves","curriculumObj","type","linkSetKey","CurriculumsWidget","collection","selectedCurriculum","curriculums","nonEmptyCurriculums","childClassName","childComponent","_props","partialLoadingComponent","widgetDataDeps","noNegativePadding","POI_LINK_LINE","useLearningIntentionMarkdown","video","hasGlanceData","useState","markdownHTML","setMarkdownHTML","content","glance","learningIntention","replace","format","useHighlightPointOfInterest","pointOfInterest","shouldHighlight","useRef","onGlancePoiMouseOver","onGlancePoiMouseLeave","hoveredPoi","classList","add","remove","addEventListener","removeEventListener","PointOfInterest","timeStamp","DurationHelper","poi","startTime","suppressInteractivity","DivButton","onClickPoiItem","PointOfInterestList","pointsOfInterest","LanguageService","SCROLL_HEIGHT_MAX","ScrollbarWrapper","hideScrollbar","children","autoHeight","autoHeightMax","VideoAtAGlanceV2","learningIntentionMarkdownHTML","canViewGlance","textToCopy","setTextToCopy","tags","VideoHelper","filter","tag","tagType","TagType","getTags","innerText","Tooltip","title","spanHack","spanHackClassName","text","SvgContainer","svgName","S","analyticsData","videoId","videoName","analyticsOptions","actionType","entity","location","AnalyticsHelper","TagList","TagHelper","getTagAppLink","onClickTag","time","setStartTime","PartialTagItem","tagClass","classNames","getTagActionProps","renderAsSpan","appLink","getAppLink","TagItem","disabled","toLowerCase","hasThemeColour","themeColours","secondary","getTagTypeClass","onRemove","backgroundColor","role","getTagSortValue","sortedTags","sort","a","b","SeeMore","AppLink","descriptor","WidgetHeader","hasDescription","showSeeMoreLink","blankImage","Image","DragHelper","dataTransfer","setDragImage","FunctionHelper","isTouchScreen","UserAgentHelper","SlidingListContainer","listenerProps","xPosition","measurement","dragPercentage","positionType","onDrag","onDragEnd","onTouchMove","onTouchEnd","percentageDragged","position","CssMeasurement","C","transform","transition","draggable","onDragStart","onDragOver","onTouchMoveCapture","onTouchEndCapture","WidgetButtonDirection","WidgetButton","isLeft","direction","Left","arrowSvg","hide","state","contents","paddingBottom","viewableItems","height","useGradientBackdrop","leftGradientClassName","rightGradientClassName","hideExtendedClickableArea","leftButtonClassName","rightButtonClassName","hoverText","TagTypeNumber","WidgetInteraction","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","MIN_MAX_HEIGHT","VideoGuidanceClassroomGuidePopup","setSelectedCurriculum","alerts","isLoading","currentCurriculum","activeCurriculum","ArrayHelper","availableCurriculums","hasCurriculumLinks","customerHasCurriculumLinks","Popup","closePopup","onClickClose","showLoadingSpinner","autoHeightMin","renderThumbVertical","borderRadius","zIndex","getVideoAppLink","t","curriculumId","newCurriculum","c","updateCurriculum","error","hasLoaded","curriculumLinksEmptyStateUrl","PopupButtons","variant","onClickViewVideo","VideoGuidanceClassroomGuideView","MasterType","VideoRequests","ClipRequests","useFetchPointsOfInterest","useCurriculums","featureAccess","hasCompleted","items","application","action","TextHelper","ImageUrls","VideoAppLinkHelper","params","tagOrClassification","deselectCurrent","clipboardToIE11Formatting","module","exports","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","all","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","stopPropagation","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","err","copyKey","test","navigator","userAgent","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","defineProperty","value","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","Array","_key","concat","_this$props","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 9719-9736913451-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9719],{49935:(e,t,n)=>{n.d(t,{Oo:()=>h,b2:()=>v});var r=n(32735),a=n(23481),i=n(36848),o=n(86764),c=n(3747),l=n(5859),s=n(35223),u=n(83914);function m(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=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(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)?f(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 f(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 d=a.T.encloseNamespace("shared.breadcrumbComponent"),p=r.forwardRef((function(e,t){var n=e.breadcrumb,a=n.name,o=n.appLink,c=n.active,l=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?r.createElement("strong",null,a):r.createElement(i.F,{appLink:o,ref:t},l&&r.createElement(u.x,{svgName:s.vn.ChevronLeft,size:u.S.Small}),r.createElement("span",{className:l?"ms-2":""},a)))})),h=function(e){var t=e.breadcrumbs,n=(0,c.a)(o.r.XS),a=(null==t?void 0:t.length)||0,i=m(r.useState(!1),2),l=i[0],s=i[1],u=m(r.useState(!1),2),f=u[0],h=u[1],v=r.useRef();if(r.useEffect((function(){var e,n=null!==(e=null==t?void 0:t.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;a>3&&n>56&&s(!0)}),[null==t?void 0:t.length]),r.useLayoutEffect((function(){var e;f&&(null===(e=v.current)||void 0===e||e.focus())}),[v.current,f]),!a||n&&a<2)return r.createElement(r.Fragment,null);if(n)return r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},r.createElement(p,{breadcrumb:t[a-2],withBackIcon:!0})));var g=r.createElement(p,{breadcrumb:t[0]}),b=a>2?r.createElement(p,{breadcrumb:t[a-2]}):r.createElement(r.Fragment,null),y=r.createElement(p,{breadcrumb:t[a-1]}),E=t.slice(1,a-2);return r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},g,l?r.createElement("li",{className:"breadcrumb-item"},r.createElement("button",{className:"btn-link",onClick:function(){s(!1),h(!0)},"aria-label":d("expand")},"...")):E.map((function(e,t){return r.createElement(p,{key:t,breadcrumb:e,ref:0===t?v:null})})),b,y))},v=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,c.a)(o.r.XS)?r.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return r.createElement("li",{key:t,className:"breadcrumb-item"},r.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},41661:(e,t,n)=>{var r;n.d(t,{D:()=>r}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(r||(r={}))},99705:(e,t,n)=>{var r,a;n.d(t,{b:()=>a}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(r||(r={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(a||(a={}))},5859:(e,t,n)=>{function r(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}n.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]:{},n=Object.assign(Object.assign({},a),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return r(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 r(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)?r(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()*n.maxWidth),n.minWidth),"px")}}))}}},81803:(e,t,n)=>{n.d(t,{d:()=>p});var r=n(32735),a=n(81886),i=n(23481),o=n(49935),c=n(22902),l=n(14070),s=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var f="settings.settingsLayout",d=function(e){var t=(0,c.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var r=a.Q.C$.getCurrentAppLink();return r.application!==s.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===r.action}))}))};function p(e){var t,n=d(e.requiredPermissions);if(r.useEffect((function(){n||a.Q.C$.trigger({application:s.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[n]),!n)return r.createElement(r.Fragment,null);var c,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),r.createElement("div",{className:"pb-3"},r.createElement(o.Oo,{breadcrumbs:[{name:i.T.getPhrase(f,"settingsBreadcrumb"),appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME}}].concat((c=u,function(e){if(Array.isArray(e))return m(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 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}}(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&&r.createElement(r.Fragment,null,r.createElement("p",null,e.description),r.createElement("hr",null)),e.children)}},28611:(e,t,n)=>{n.d(t,{i:()=>i});var r=n(32735);const a={numberContainer:"JBRDi"};function i(e){var t=e.number,n=e.children,i=e.className,o=void 0===i?"":i;return r.createElement("div",{className:"d-flex align-items-center mb-3 ".concat(o)},r.createElement("div",{className:"d-flex align-items-center justify-content-center bg-dark rounded-circle ".concat(a.numberContainer)},r.createElement("span",{className:"text-light"},t)),r.createElement("div",{className:"ms-2"},n))}},99719:(e,t,n)=>{n.r(t),n.d(t,{ViviSettingsView:()=>J});var r=n(32735),a=n(70680),i=n(39202),o=n(23481),c=n(97395),l=n(20354),s=n(49985),u=n(65858),m=n(41661),f=n(33514),d=n(16714),p=n(77963),h=n(65728),v=n(99705),g=n(39151),b=n(2744),y=n(31949),E=n(69883),S=n(37802),w=n(12778),x=n(81803),N=n(10874),k=n(83914),L=n(83345),A=n(35223),I=n(99742),C=n(28611);const T={image:"pt8vC"};var O="settings.viviSettings.connectedState";function P(e){var t=e.onDisconnect;return r.createElement(r.Fragment,null,r.createElement("div",{className:"text-center d-flex flex-column align-items-center pt-5"},r.createElement("img",{className:"".concat(T.image," img-fluid"),role:"presentation",src:I.W.Devices.VIVI_CONNECTED}),r.createElement("h2",{className:"h3 mt-3"},r.createElement(L.x,{namespace:O,phrase:"connectedStateHeading"})),r.createElement("p",{className:"mb-3 w-50"},r.createElement(L.x,{namespace:O,phrase:"connectedStateInfo"})),r.createElement(N.h,{svgName:A.vn.Delete,className:"btn btn-outline-dark",onClick:t},r.createElement(L.x,{namespace:O,phrase:"disconnectViviButton"})),r.createElement("div",{className:"rounded-3 px-4 py-3 mt-3 bg-light-blue text-info text-dark text-start"},r.createElement("p",{className:"fw-bold"},r.createElement(L.x,{namespace:O,phrase:"instructionsHeading"})),r.createElement(C.i,{number:1},r.createElement(L.x,{namespace:O,phrase:"instructionsStep1"})),r.createElement(C.i,{number:2,className:"mt-2"},r.createElement(L.x,{namespace:O,phrase:"instructionsStep2Fragment1"}),r.createElement(k.x,{svgName:A.vn.Vivi,size:k.S.Small}),r.createElement(L.x,{namespace:O,phrase:"instructionsStep2Fragment2"})),r.createElement(C.i,{number:3,className:"mt-2"},r.createElement(L.x,{namespace:O,phrase:"instructionsStep3"})),r.createElement(C.i,{number:4,className:"my-2"},r.createElement(L.x,{namespace:O,phrase:"instructionsStep4Fragment1"}),r.createElement(k.x,{svgName:A.vn.Cast,size:k.S.Small}),r.createElement(L.x,{namespace:O,phrase:"instructionsStep4Fragment2"})),r.createElement("a",{href:w.o.getLiteArticle(v.b.ViviIntegration),target:"_blank",className:"text-info"},r.createElement(L.x,{namespace:O,phrase:"learnMore"})))))}var j=n(9111),F=n(13876),_="settings.viviSettings.disconnectPopup",V=o.T.encloseNamespace(_);function M(e){var t=e.showSpinner,n=e.onClickConfirm;return r.createElement(j.G,{title:V("disconnectPopupTitle"),closePopup:e.closePopup},r.createElement("p",null,r.createElement(L.x,{namespace:_,phrase:"disconnectPopupWarning"})),r.createElement("p",null,r.createElement(L.x,{namespace:_,phrase:"disconnectPopupSubWarning"})),r.createElement(F.u,null,r.createElement(F.u.Cancel,{onClick:e.closePopup}),r.createElement(F.u.Submit,{variant:"danger",text:V("disconnectPopupConfirmButton"),onClick:n,showSpinner:t})))}const G={image:"XPUBh"};var B="settings.viviSettings.disconnectedState",U=o.T.encloseNamespace(B);function D(e){var t=e.onConnect,n=e.onTroubleshoot;return r.createElement("div",{className:"text-center d-flex flex-column align-items-center pt-5"},r.createElement("img",{className:"".concat(G.image," img-fluid"),role:"presentation",src:I.W.Devices.VIVI_DISCONNECTED}),r.createElement("h2",{className:"h3 mt-3"},U("disconnectedStateHeading")),r.createElement("p",{className:"mb-3 w-50"},U("disconnectedStateInfo")),r.createElement(N.h,{svgName:A.vn.NewWindow,className:"btn btn-dark mb-3",onClick:t},U("connectViviButton")),r.createElement("a",{onClick:n,className:"text-info",role:"button"},r.createElement(L.x,{namespace:B,phrase:"troubleshootLink"})))}const W={container:"vgMQp",image:"cZeWA",heading:"ESuYg",button:"zFxDC"};function H(){return r.createElement("div",{className:"".concat(W.container," pt-5")},r.createElement("div",{className:"".concat(W.image," partial-loading-background mb-2 rounded")}),r.createElement("div",{className:"".concat(W.heading," partial-loading-background mb-2 rounded")}),r.createElement("div",{className:"".concat(W.button," partial-loading-background mb-2 rounded")}))}function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function z(){z=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",l=i.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=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 T(r||[]);return a(o,"_invoke",{value:L(e,n,c)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",p="executing",h="completed",v={};function g(){}function b(){}function y(){}var E={};s(E,o,(function(){return this}));var S=Object.getPrototypeOf,w=S&&S(S(O([])));w&&w!==n&&r.call(w,o)&&(E=w);var x=y.prototype=g.prototype=Object.create(E);function N(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,i,o,c){var l=m(e[a],e,i);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==R(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){s.value=e,o(s)}),(function(e){return n("throw",e,o,c)}))}c(l.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 L(t,n,r){var a=f;return function(i,o){if(a===p)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 l=A(c,r);if(l){if(l===v)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===f)throw a=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=p;var s=m(t,n,r);if("normal"===s.type){if(a=r.done?h:d,s.arg===v)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a=h,r.method="throw",r.arg=s.arg)}}}function A(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,A(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=m(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 I(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 C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function O(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(R(t)+" is not iterable")}return b.prototype=y,a(x,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:b,configurable:!0}),b.displayName=s(y,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,s(e,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},N(k.prototype),s(k.prototype,c,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new k(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},N(x),s(x,l,"Generator"),s(x,o,(function(){return this})),s(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(C),!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 l=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(l&&s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!s)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),C(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;C(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function $(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=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return q(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)?q(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 q(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 Y=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}l((r=r.apply(e,t||[])).next())}))},Z="vivi/connect",Q="settings/integrations/vivi",X=o.T.encloseNamespace("settings.viviSettings");function J(e){var t,n=e.queryParams,o=$(r.useState(!1),2),N=o[0],k=o[1],L=$(r.useState(!1),2),A=L[0],I=L[1],C=l.a.useBasicFetch(y.N.currentUser()),T=l.a.useBasicFetch(g.L.config()),O=l.a.useBasicFetch((null===(t=C.data)||void 0===t?void 0:t.isAuthenticated)&&b.z.getViviIntegrationStatus()),j=(0,S.r)(u.LZ.Settings),F=j.hasEnabledViviPlayback,_=j.updateSetting,V=j.isLoadingSettings,G=(0,E.Z)(),B=(0,a.I0)(),U=C.isFetching,W=O.isFetching,R=!W&&O.data===f.I.Connected,q=!W&&!R;return r.useEffect((function(){var e;if(!(U||W||V||"true"!==(null==n?void 0:n.success)||O.data!==f.I.Connected||F)){var t={name:h.E.HasEnabledViviPlayback,value:!0,kind:p.g.Temporary};_(null===(e=C.data)||void 0===e?void 0:e.customerId,t,(function(){return G.success(X("enableViviSuccess"))}),(function(){return G.error(X("enableViviError"))}))}}),[U,W,V]),r.createElement(x.d,{heading:X("heading"),breadcrumbs:[X("heading")],requiredPermissions:d.C.ManageIntegrations},N&&r.createElement(M,{showSpinner:A,onClickConfirm:function(){return Y(this,void 0,void 0,z().mark((function e(){return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(C.data.isAuthenticated){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,I(!0),e.next=6,l.a.fetchAsync(B,b.z.disconnectViviAccount());case 6:k(!1),G.success(X("disconnectPopupSuccessMessage")),e.next=14;break;case 10:e.prev=10,e.t0=e.catch(2),console.error(e.t0),G.error(X("disconnectPopupErrorMessage"));case 14:return e.prev=14,I(!1),e.finish(14);case 17:case"end":return e.stop()}}),e,null,[[2,10,14,17]])})))},closePopup:function(){return k(!1)}}),W&&r.createElement(H,null),R&&r.createElement(P,{onDisconnect:function(){return k(!0)}}),q&&r.createElement(D,{onConnect:function(){var e;if(!T.isFetching){var t=c._.safeUrlConcat(null!==(e=T.data.integrationsApiUrl)&&void 0!==e?e:"",Z),n=c._.safeUrlConcat(location.origin,Q),r=c._.urlBuilder(t,{returnUrl:n});location.href=r}},onTroubleshoot:function(){s.k.logUserAction({id:m.D.Vivi,status:O.data},{entity:u.py.Integration,actionType:u.Vw.Click,workflowPhase:u.eu.Complete,location:u.LZ.Settings,descriptor:u.N3.Troubleshoot,eventVersion:u.eq.V1}),i.Ab.PageLoad("".concat(w.o.getLiteArticle(v.b.ViviIntegration),"#troubleshooting"),!0)}}))}}}]);
|
|
3
|
+
//# sourceMappingURL=9719-9736913451-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/9719-9736913451-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/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","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/components/settings-ordered-list-item/settings-ordered-list-item.scss","file:///app/packages/projects/lite/src/apps/settings/components/settings-ordered-list-item/SettingsOrderedListItem.tsx","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/connected-state/vivi-settings-connected-state.scss","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/connected-state/ViviSettingsConnectedState.tsx","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/disconnect-popup/ViviSettingsDisconnectPopup.tsx","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/disconnected-state/vivi-settings-connected-state.scss","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/disconnected-state/ViviSettingsDisconnectedState.tsx","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/partial-loading-state/vivi-settings-partial-loaded-state.scss","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/partial-loading-state/VIviSettingsPartialLoadingState.tsx","file:///app/packages/projects/lite/src/apps/settings/views/integration-settings/vivi-settings/ViviSettingsView.tsx"],"sourcesContent":["import * as 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 { 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 namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\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 = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon } = props;\n return (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink} ref={ref}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n );\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 const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>();\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 /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\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\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n />\n ))\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});","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '22110291468057',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097'\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 {\"numberContainer\":\"JBRDi\"};","import React from 'react';\n\nimport styles from './settings-ordered-list-item.scss';\n\ninterface SettingsOrderedListItemProps {\n number: number;\n children: React.ReactNode;\n className?: string;\n}\n\nexport function SettingsOrderedListItem({ number, children, className = '' }: SettingsOrderedListItemProps): JSX.Element {\n return (\n <div className={`d-flex align-items-center mb-3 ${className}`}>\n <div className={`d-flex align-items-center justify-content-center bg-dark rounded-circle ${styles.numberContainer}`}>\n <span className='text-light'>{number}</span>\n </div>\n <div className='ms-2'>\n {children}\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"image\":\"pt8vC\"};","import React from 'react';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { SettingsOrderedListItem } from 'apps/settings/components/settings-ordered-list-item/SettingsOrderedListItem';\n\nimport styles from './vivi-settings-connected-state.scss';\n\nconst namespace = 'settings.viviSettings.connectedState';\n\ninterface ViviSettingsConnectedStateProps {\n onDisconnect: () => void;\n}\n\nexport function ViviSettingsConnectedState({ onDisconnect }: ViviSettingsConnectedStateProps): JSX.Element {\n return (\n <>\n <div className='text-center d-flex flex-column align-items-center pt-5'>\n <img className={`${styles.image} img-fluid`} role='presentation' src={ImageUrls.Devices.VIVI_CONNECTED} />\n\n <h2 className='h3 mt-3'>\n <Text namespace={namespace} phrase='connectedStateHeading' />\n </h2>\n\n <p className='mb-3 w-50'>\n <Text namespace={namespace} phrase='connectedStateInfo' />\n </p>\n\n <IconButton\n svgName={cvSvgLibrary.Delete}\n className='btn btn-outline-dark'\n onClick={onDisconnect}\n >\n <Text namespace={namespace} phrase='disconnectViviButton' />\n </IconButton>\n \n <div className='rounded-3 px-4 py-3 mt-3 bg-light-blue text-info text-dark text-start'>\n <p className='fw-bold'>\n <Text namespace={namespace} phrase='instructionsHeading' />\n </p>\n\n <SettingsOrderedListItem number={1}>\n <Text namespace={namespace} phrase='instructionsStep1' />\n </SettingsOrderedListItem>\n\n <SettingsOrderedListItem number={2} className='mt-2'>\n <Text namespace={namespace} phrase='instructionsStep2Fragment1' />\n <SvgContainer svgName={cvSvgLibrary.Vivi} size={SvgContainerSize.Small} />\n <Text namespace={namespace} phrase='instructionsStep2Fragment2' />\n </SettingsOrderedListItem>\n\n <SettingsOrderedListItem number={3} className='mt-2'>\n <Text namespace={namespace} phrase='instructionsStep3' />\n </SettingsOrderedListItem>\n\n <SettingsOrderedListItem number={4} className='my-2'>\n <Text namespace={namespace} phrase='instructionsStep4Fragment1' />\n <SvgContainer svgName={cvSvgLibrary.Cast} size={SvgContainerSize.Small} />\n <Text namespace={namespace} phrase='instructionsStep4Fragment2' />\n </SettingsOrderedListItem>\n\n <a\n href={ArticleHelper.getLiteArticle(LiteSupportArticle.ViviIntegration)}\n target='_blank'\n className='text-info'\n >\n <Text namespace={namespace} phrase='learnMore' />\n </a>\n </div>\n </div>\n </>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nconst namespace = 'settings.viviSettings.disconnectPopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ViviSettingsDisconnectPopupProps extends PopupViewProps {\n showSpinner: boolean;\n onClickConfirm: () => void;\n}\n\nexport function ViviSettingsDisconnectPopup(props: ViviSettingsDisconnectPopupProps): JSX.Element {\n const { showSpinner, onClickConfirm } = props;\n\n return (\n <Popup title={getPhrase('disconnectPopupTitle')} closePopup={props.closePopup}>\n <p>\n <Text namespace={namespace} phrase='disconnectPopupWarning' />\n </p>\n\n <p>\n <Text namespace={namespace} phrase='disconnectPopupSubWarning' />\n </p>\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='danger'\n text={getPhrase('disconnectPopupConfirmButton')}\n onClick={onClickConfirm}\n showSpinner={showSpinner}\n />\n </PopupButtons>\n </Popup>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"image\":\"XPUBh\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './vivi-settings-connected-state.scss';\n\nconst namespace = 'settings.viviSettings.disconnectedState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ViviSettingsDisconnectedStateProps {\n onConnect: () => void;\n onTroubleshoot: () => void;\n}\n\nexport function ViviSettingsDisconnectedState({\n onConnect,\n onTroubleshoot\n}: ViviSettingsDisconnectedStateProps): JSX.Element {\n return (\n <div className='text-center d-flex flex-column align-items-center pt-5'>\n <img className={`${styles.image} img-fluid`} role='presentation' src={ImageUrls.Devices.VIVI_DISCONNECTED} />\n\n <h2 className='h3 mt-3'>\n {getPhrase('disconnectedStateHeading')}\n </h2>\n\n <p className='mb-3 w-50'>\n {getPhrase('disconnectedStateInfo')}\n </p>\n\n <IconButton\n svgName={cvSvgLibrary.NewWindow}\n className='btn btn-dark mb-3'\n onClick={onConnect}\n >\n {getPhrase('connectViviButton')}\n </IconButton>\n\n <a\n onClick={onTroubleshoot}\n className='text-info'\n role='button'\n >\n <Text namespace={namespace} phrase='troubleshootLink' />\n </a>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"vgMQp\",\"image\":\"cZeWA\",\"heading\":\"ESuYg\",\"button\":\"zFxDC\"};","import React from 'react';\n\nimport styles from './vivi-settings-partial-loaded-state.scss';\n\nexport function ViviSettingsPartialLoadingState(): JSX.Element {\n return (\n <div className={`${styles.container} pt-5`}>\n <div className={`${styles.image} partial-loading-background mb-2 rounded`} />\n <div className={`${styles.heading} partial-loading-background mb-2 rounded`} />\n <div className={`${styles.button} partial-loading-background mb-2 rounded`} />\n </div>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LocationUtils } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, EventVersion, IntegrationsDescriptor, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { IntegrationStatus } from 'libs/shared/enums/IntegrationStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { PlayerIntegrationsRequests } from 'libs/shared/flight-requests/PlayerIntegrationsRequests';\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 } from 'libs/shared/interfaces';\nimport { ViviSettingsViewQueryParams } from 'libs/shared/interfaces/query-params/ViviSettingsViewQueryParams';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\n\nimport { ViviSettingsConnectedState } from './connected-state/ViviSettingsConnectedState';\nimport { ViviSettingsDisconnectPopup } from './disconnect-popup/ViviSettingsDisconnectPopup';\nimport { ViviSettingsDisconnectedState } from './disconnected-state/ViviSettingsDisconnectedState';\nimport { ViviSettingsPartialLoadingState } from './partial-loading-state/VIviSettingsPartialLoadingState';\n\n// Don't alter the Vivi constants below without consulting with Cam or Boris\nconst VIVI_CONNECT_ENDPOINT = 'vivi/connect';\nconst VIVI_OAUTH_RETURN_URL_PATH = 'settings/integrations/vivi';\n\nconst namespace = 'settings.viviSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ViviSettingsViewProps {\n queryParams?: ViviSettingsViewQueryParams;\n}\n\nexport function ViviSettingsView({ queryParams }: ViviSettingsViewProps): JSX.Element {\n const [ showDisconnectPopup, setShowDisconnectPopup ] = React.useState(false);\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const viviStatus = Flight.useBasicFetch<IntegrationStatus>(\n currentUser.data?.isAuthenticated && PlayerIntegrationsRequests.getViviIntegrationStatus()\n );\n const { hasEnabledViviPlayback, updateSetting, isLoadingSettings } = useSettings(LocationContext.Settings);\n const alerts = useAlerts();\n const dispatch = useDispatch();\n\n const isLoadingUser = currentUser.isFetching;\n const isLoadingStatus = viviStatus.isFetching;\n const isConnected = !isLoadingStatus && viviStatus.data === IntegrationStatus.Connected;\n const requiresConnection = !isLoadingStatus && !isConnected;\n\n /*\n * This effect will try to enable the Vivi playback setting domain option \n * when (and if) the OAuth flow successfully completes. It does not enable the domain \n * setting if the user just navigates to the Vivi settings page via normal browsing.\n */\n React.useEffect(() => {\n // Ensure all data has been loaded\n if (isLoadingUser || isLoadingStatus || isLoadingSettings) return;\n\n // Ensure we have just returned from a successful OAuth flow\n if (queryParams?.success !== 'true') return;\n\n // Ensure the integration's status is connected\n if (viviStatus.data !== IntegrationStatus.Connected) return;\n\n // Ensure the domain option is not already enabled (avoid unnecessary API calls)\n if (hasEnabledViviPlayback) return;\n\n const viviPlaybackSetting = {\n name: SettingName.HasEnabledViviPlayback,\n value: true,\n kind: SettingKind.Temporary\n };\n\n const onSuccess = () => alerts.success(getPhrase('enableViviSuccess'));\n const onError = () => alerts.error(getPhrase('enableViviError'));\n\n updateSetting(currentUser.data?.customerId, viviPlaybackSetting, onSuccess, onError);\n }, [ isLoadingUser, isLoadingStatus, isLoadingSettings ]);\n\n /**\n * This function will kick-off the Vivi OAuth flow. It will redirect the user to the Vivi login page.\n * After the user has logged in, they will be redirected back to the Lite app.\n */\n function connectToVivi(): void {\n if (config.isFetching) return;\n \n const connectEndpoint = UrlHelper.safeUrlConcat(config.data.integrationsApiUrl ?? '', VIVI_CONNECT_ENDPOINT);\n const returnUrl = UrlHelper.safeUrlConcat(location.origin, VIVI_OAUTH_RETURN_URL_PATH);\n const connectUrl = UrlHelper.urlBuilder(connectEndpoint, { returnUrl });\n \n location.href = connectUrl;\n }\n\n async function disconnectVivi(): Promise<void> {\n if (!currentUser.data.isAuthenticated)\n return;\n\n try {\n setShowSpinner(true);\n await Flight.fetchAsync(dispatch, PlayerIntegrationsRequests.disconnectViviAccount());\n setShowDisconnectPopup(false);\n \n alerts.success(getPhrase('disconnectPopupSuccessMessage'));\n } catch (e) {\n console.error(e);\n alerts.error(getPhrase('disconnectPopupErrorMessage'));\n } finally {\n setShowSpinner(false);\n }\n }\n\n function openTroubleshootingArticle(): void {\n AnalyticsHelper.logUserAction({\n id: IntegrationId.Vivi,\n status: viviStatus.data\n }, {\n entity: EntityType.Integration,\n actionType: UserAction.Click,\n workflowPhase: WorkflowPhase.Complete,\n location: LocationContext.Settings,\n descriptor: IntegrationsDescriptor.Troubleshoot,\n eventVersion: EventVersion.V1\n });\n\n LocationUtils.PageLoad(`${ArticleHelper.getLiteArticle(LiteSupportArticle.ViviIntegration)}#troubleshooting`, true);\n }\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('heading')]}\n requiredPermissions={PermissionName.ManageIntegrations}\n >\n { showDisconnectPopup &&\n <ViviSettingsDisconnectPopup\n showSpinner={showSpinner}\n onClickConfirm={disconnectVivi}\n closePopup={() => setShowDisconnectPopup(false)}\n /> }\n { isLoadingStatus && <ViviSettingsPartialLoadingState /> }\n { isConnected && <ViviSettingsConnectedState onDisconnect={() => setShowDisconnectPopup(true)} /> }\n { requiresConnection &&\n <ViviSettingsDisconnectedState\n onConnect={connectToVivi}\n onTroubleshoot={openTroubleshootingArticle}\n /> }\n </SettingsLayout>\n );\n}"],"names":["getPhrase","BreadcrumbItem","props","ref","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","shouldFocus","setShouldFocus","expandRef","characterLength","reduce","prev","next","current","focus","first","secondLast","last","rest","slice","onClick","map","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","IntegrationId","OnlineSupportArticle","LiteSupportArticle","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","canAccess","replace","i","heading","headingButton","description","children","SettingsOrderedListItem","number","ViviSettingsConnectedState","onDisconnect","role","src","ImageUrls","Text","phrase","IconButton","SvgContainer","href","ArticleHelper","target","LanguageService","ViviSettingsDisconnectPopup","showSpinner","onClickConfirm","Popup","title","closePopup","PopupButtons","variant","text","ViviSettingsDisconnectedState","onConnect","onTroubleshoot","ViviSettingsPartialLoadingState","VIVI_CONNECT_ENDPOINT","VIVI_OAUTH_RETURN_URL_PATH","ViviSettingsView","queryParams","showDisconnectPopup","setShowDisconnectPopup","setShowSpinner","currentUser","UserRequests","config","ConfigRequests","viviStatus","data","isAuthenticated","PlayerIntegrationsRequests","useSettings","hasEnabledViviPlayback","updateSetting","isLoadingSettings","alerts","dispatch","isLoadingUser","isFetching","isLoadingStatus","isConnected","IntegrationStatus","I","requiresConnection","success","viviPlaybackSetting","SettingName","value","kind","SettingKind","customerId","error","PermissionName","console","connectEndpoint","UrlHelper","integrationsApiUrl","returnUrl","location","origin","connectUrl","AnalyticsHelper","id","status","entity","actionType","workflowPhase","descriptor","eventVersion"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[999],{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}}},84963:(e,t,n)=>{n.d(t,{r:()=>d});var a=n(32735),r=n(23481),i=n(83914),o=n(76177),l=n(35223);const c={tag:"XRj8d",tooltip:"X6mLk"};var s="specialEventCalendar.comingSoonTag";function d(e){return a.createElement(o.u,{title:r.T.getPhrase(s,"tooltip"),spanHackClassName:"d-block ".concat(c.tooltip),spanHack:!0},a.createElement("div",{className:"d-flex text-dark align-items-center ".concat(c.tag," ").concat(e.className)},a.createElement(i.x,{svgName:l.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(s,"comingSoon")))}},73679:(e,t,n)=>{n.d(t,{s:()=>o});var a=n(32735),r=n(36848);const i={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function o(e){var t,n,o;return a.createElement(r.F,{appLink:null===(t=e.getAppLink)||void 0===t?void 0:t.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(n=e.theme)||void 0===n?void 0:n.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},a.createElement("div",{className:"position-relative ".concat(i.dateItem)},a.createElement("div",{className:"".concat(null===(o=e.theme)||void 0===o?void 0:o.background," py-1 ").concat(i.label," d-flex align-items-center justify-content-center")},e.label?e.label:a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return i.bodyRange;case"day":return i.bodyDay;case"month":return i.bodyMonth}}()," ").concat(i.body," my-2")},e.body.text),a.createElement("div",{className:"mb-0 ".concat(i.month)},e.month)))}},83657:(e,t,n)=>{n.d(t,{e:()=>s});var a=n(32735),r=n(91967),i=n(10874),o=n(76177),l=n(42735),c=n(86509);function s(e){var t=a.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),n=[],s=[];t.forEach((function(e){e.button?n.push(e):s.push(e)}));var d="d-flex";return e.className&&(d+=" ".concat(e.className)),n.length||s.length?a.createElement("div",{className:d},n.length?n.map((function(t,n){return a.createElement(a.Fragment,{key:n},function(){if(t.label){var n=r.q.isFunction(t.label)?t.label:function(){return a.createElement(a.Fragment,null,t.label)};return a.createElement(l.K,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,svgSize:e.dropdownToggleSvgSize,className:t.className,tooltip:t.tooltip,showSpinner:t.showSpinner,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled},n())}var c=a.createElement(i.h,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,className:t.className,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled,showBorder:t.showBorder,customSize:e.customSize});return t.tooltip?a.createElement(o.u,{title:t.tooltip,spanHack:!0},c):c}())})):a.createElement(a.Fragment,null),e.sortComponent&&e.sortComponent,s.length?a.createElement(c.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):a.createElement(a.Fragment,null)):a.createElement(a.Fragment,null)}},86509:(e,t,n)=>{n.d(t,{m:()=>g});var a=n(32735),r=n(91967),i=n(81886),o=n(45157),l=n(49985),c=n(36848),s=n(83914),d=n(76177),m=n(35223);const u={dropdownToggle:"UCAnJ"};function p(){return a.createElement(a.Fragment,null,a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function v(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function f(e){var t=r.q.isFunction(e.action.label)?e.action.label:function(){return a.createElement(a.Fragment,null,e.action.label)};if(e.action.appLink)return a.createElement(c.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:v(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&a.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),a.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&l.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),r.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&i.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?a.createElement("a",{className:v(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&a.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),a.createElement("span",{className:"align-middle"},t())):a.createElement("span",{className:"cursor-pointer ".concat(v(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&a.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function g(e){if(!e.actions||!e.actions.length)return a.createElement(a.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var r,i="actions-dropdown-".concat(o.Y.getRandomInt()),l="dropdown-toggle px-0 ".concat(u.dropdownToggle);return e.dropdownToggleClassName&&(l+=" ".concat(e.dropdownToggleClassName)),a.createElement("div",{className:n},a.createElement("button",{className:l,type:"button",id:i,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"More actions dropdown",onClick:t?e.fetchMore:null},a.createElement(s.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),a.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":i},t?a.createElement(p,null):e.actions.map((function(e,t){var n=void 0!==r&&r!==e.group;return r=e.group,e.tooltip?a.createElement("li",{key:t},n&&a.createElement("hr",{className:"dropdown-divider",role:"separator"}),a.createElement(d.u,{title:e.tooltip,spanHack:!0},a.createElement(f,{action:e}))):a.createElement("li",{key:t},n&&a.createElement("hr",{className:"dropdown-divider",role:"separator"}),a.createElement(f,{action:e}))}))))}g.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:s.S.Small}},44522:(e,t,n)=>{n.d(t,{p:()=>L,v:()=>C});var a=n(32735),r=n(110),i=n(50690),o=n(84963),l=n(73679),c=n(83657),s=n(23481),d=n(36848),m=n(83914),u=n(35223),p="shared.backButton";function v(e){var t=Object.assign({textShadow:!0},e),n=t.backToName,r=t.appLink,i=t.color,o=t.extraClasses,l=t.textShadow,c=n?s.T.getPhrase(p,"backTo",{backToName:n}):s.T.getPhrase(p,"back"),v="black"===i?"":"text-white",f=l?"text-shadow":"";return a.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(o," ").concat(v," ").concat(f)},a.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),a.createElement("span",{className:"ms-1"},c))}v.defaultProps={color:"black",extraClasses:""};var f=n(36518),g=n(83345),b=n(10587),h=n(94232),y=n(54610),E=n(79967),N=n(67453);const w={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var k="".concat(b.y[y.__.Banners].width,":").concat(b.y[y.__.Banners].height);function S(e){return e.length<160?"h1":w.headingLarge}var L=a.memo((function(e){var t,n,s,d,m=e.heading,u=e.banner,p=e.imageCdnUrl,b=e.actions,L=e.sortComponent,C=e.blockColourClass,A=e.specialEvent,I=a.useContext(h.n),x=(0,E.k)().xxl?1920:1200,T=a.useMemo((function(){if(!A||e.showComingSoon)return!1;var t=r.O.format(new Date,"YYYY-MM-DD");return A.endDate?A.startDate<=t&&A.endDate>=t:A.startDate===t}),[A]),D=e.imageOptions||{width:x,ratio:k,resizeType:y.Nq.Cover},O=!!u&&!!p&&N.j.createBannerUrl(u,{fallbackBaseUrl:p,fallbackCategoryName:m,type:y.__.Banners},D),P={className:"banner banner-header ".concat(e.bannerClassName),style:O?{backgroundImage:"url('".concat(O,"')")}:{}};!u&&C&&(delete P.style,P.className+=" ".concat(C));var j=e.detailsComponent;return i.b.renderInPortalIfExists(a.createElement("header",Object.assign({},P),a.createElement("div",{className:"container ".concat(w.container," position-relative inner-banner")},e.backButtonAppLink&&a.createElement("div",{className:"pt-3"},a.createElement(v,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),a.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(w.bannerContent," px-2 ").concat((null===(t=e.logo)||void 0===t?void 0:t.url)?w.bannerContentWithLogo:""))},!!A&&a.createElement("div",{className:"position-relative ".concat(w.specialEventContainer)},a.createElement(l.s,{body:{type:A.endDate?"range":"day",text:A.endDate?"".concat(r.O.format(A.startDate,"DD"),"-").concat(r.O.format(A.endDate,"DD")):r.O.format(A.startDate,"DD")},month:r.O.format(A.startDate,"MMMM"),theme:e.calendarTheme})),a.createElement("div",null,T&&a.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},a.createElement(g.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&a.createElement(o.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),a.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&a.createElement("div",{className:"".concat(w.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(n=e.logo)||void 0===n?void 0:n.url)&&a.createElement(f.w,{src:N.j.createUrl(null===(s=e.logo)||void 0===s?void 0:s.url,{size:y.h2.Medium})})),a.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(w.heading," ").concat(S(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,j&&a.createElement(j,null)))),!!b&&a.createElement("div",{className:w.actionsContainer},a.createElement(c.e,{actions:b,sortComponent:L,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&a.createElement("div",{className:w.logoContainer},a.createElement("img",{src:N.j.createUrl(e.logo.url,{size:y.h2.Small}),className:"rounded-circle"})))),null==I?void 0:I.container)}),(function(e,t){var n,a;return e.actions===t.actions&&e.heading===t.heading&&(null===(n=e.logo)||void 0===n?void 0:n.url)===(null===(a=t.logo)||void 0===a?void 0:a.url)}));function C(){var e=a.useContext(h.n);return i.b.renderInPortalIfExists(a.createElement("div",{className:"partial-banner partial-loading-background ".concat(w.banner)}),null==e?void 0:e.container)}},49935:(e,t,n)=>{n.d(t,{Oo:()=>f,b2:()=>g});var a=n(32735),r=n(23481),i=n(36848),o=n(86764),l=n(3747),c=n(5859),s=n(35223),d=n(83914);function m(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,o,l=[],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)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return u(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)?u(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 u(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 p=r.T.encloseNamespace("shared.breadcrumbComponent"),v=a.forwardRef((function(e,t){var n=e.breadcrumb,r=n.name,o=n.appLink,l=n.active,c=e.withBackIcon;return a.createElement("li",{className:"breadcrumb-item".concat(l?" active":"")},l?a.createElement("strong",null,r):a.createElement(i.F,{appLink:o,ref:t},c&&a.createElement(d.x,{svgName:s.vn.ChevronLeft,size:d.S.Small}),a.createElement("span",{className:c?"ms-2":""},r)))})),f=function(e){var t=e.breadcrumbs,n=(0,l.a)(o.r.XS),r=(null==t?void 0:t.length)||0,i=m(a.useState(!1),2),c=i[0],s=i[1],d=m(a.useState(!1),2),u=d[0],f=d[1],g=a.useRef();if(a.useEffect((function(){var e,n=null!==(e=null==t?void 0:t.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;r>3&&n>56&&s(!0)}),[null==t?void 0:t.length]),a.useLayoutEffect((function(){var e;u&&(null===(e=g.current)||void 0===e||e.focus())}),[g.current,u]),!r||n&&r<2)return a.createElement(a.Fragment,null);if(n)return a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},a.createElement(v,{breadcrumb:t[r-2],withBackIcon:!0})));var b=a.createElement(v,{breadcrumb:t[0]}),h=r>2?a.createElement(v,{breadcrumb:t[r-2]}):a.createElement(a.Fragment,null),y=a.createElement(v,{breadcrumb:t[r-1]}),E=t.slice(1,r-2);return a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},b,c?a.createElement("li",{className:"breadcrumb-item"},a.createElement("button",{className:"btn-link",onClick:function(){s(!1),f(!0)},"aria-label":p("expand")},"...")):E.map((function(e,t){return a.createElement(v,{key:t,breadcrumb:e,ref:0===t?g:null})})),h,y))},g=a.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,l.a)(o.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"},c.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:" "}}))}))))}))},88513:(e,t,n)=>{n.d(t,{B:()=>d});var a=n(32735),r=n(23481),i=n(65858),o=n(36848);const l={seeMore:"yv0FS"};var c=r.T.encloseNamespace("shared.widgetHeader");function s(e){return a.createElement("div",{className:"ms-3 ".concat(l.seeMore)},a.createElement(o.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:i._S.SeeMore}),className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":"")},a.createElement("p",{className:"hover-text-underline text-dark curated-widget-heading"},c("seeMore"))))}function d(e){var t=!!e.description;return e.name||e.description?a.createElement("div",{className:"curated-widget-header"},a.createElement("div",{className:"d-flex justify-content-between"},!!e.name&&a.createElement("div",{className:l.title},a.createElement(o.F,{appLink:e.appLink,analyticsOptions:e.analyticsOptions,analyticsData:e.analyticsData,className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":""),onClick:e.onClick},a.createElement("h2",{className:"h4 curated-widget-heading"},e.name))),!!e.appLink&&!t&&!!e.showSeeMoreLink&&a.createElement(s,Object.assign({},e))),t&&a.createElement("div",{className:"d-flex justify-content-between align-items-end"},a.createElement("p",{className:"description curated-widget-description ".concat(l.description)},a.createElement("span",null,e.description)),!!e.appLink&&!!e.showSeeMoreLink&&a.createElement(s,Object.assign({},e)))):a.createElement(a.Fragment,null)}},47770:(e,t,n)=>{n.d(t,{K:()=>c});var a=n(32735),r=n(68050),i=n(69111),o=n(88513),l=n(91028);function c(e){return a.createElement(a.Fragment,null,a.createElement(o.B,{name:e.name,description:e.description}),a.createElement(r.Z,{className:"mb-n2"},e.content.map((function(t){return a.createElement(i.Z,{className:"position-relative pb-2",key:t.id,xs:12,sm:6,lg:e.hasTableOfContents?6:4,xl:4},a.createElement(l.V,{data:t,getChildAppLink:function(t){var n,a;return null===(a=null===(n=e.appLinks)||void 0===n?void 0:n.classification)||void 0===a?void 0:a.call(n,t)},analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,isLarge:!0}))}))))}},65163:(e,t,n)=>{n.d(t,{QL:()=>a.Q,eb:()=>a.e});var a=n(16450);n(14244)},2192:(e,t,n)=>{n.d(t,{M:()=>h,Q:()=>y});var a=n(32735),r=n(45157),i=n(36848),o=n(60376),l=n(5465),c=n(83914),s=n(83345),d=n(54610),m=n(67453),u=n(45778),p=n(35223),v=n(92038),f="shared.subjectWidgetItem",g=function(e){var t=e.name,n=e.multiline,r=e.noUnderLine,i="".concat(v.Z.comingSoonPanel," \n d-flex flex-column align-items-center justify-content-center px-3 text-center"),o="";return n?o+=" ".concat(v.Z.clamped," clamp-2"):(i+=" text-nowrap",o+=" text-truncate"),a.createElement("div",{className:i},a.createElement("small",{className:"text-secondary"},a.createElement(s.x,{namespace:f,phrase:"comingSoon"})),a.createElement("p",{className:"".concat(r?"":v.Z.name," h6")},a.createElement("span",{className:o},t)))},b=function(e){var t=e.name,n=e.multiline,r=e.subtitle,i=e.noUnderLine,o=e.newVideosCount,l="px-3 d-flex flex-column justify-content-center",c="".concat(i?"":v.Z.name," h6");return n?c+=" ".concat(o?"clamp-2":"clamp-3"," text-start"):(l+=" text-nowrap text-truncate",c+=" text-truncate mb-0 pb-1"),a.createElement("div",{className:l},r&&a.createElement("div",{className:"text-secondary clamp-1 ".concat(v.Z.text)},r),a.createElement("div",{className:c,title:t},t),!!o&&a.createElement("div",{className:"fw-semibold d-inline-block rounded-pill px-2 mt-1 bg-light-green w-fit h-fit text-green ".concat(v.Z.newVideos)},a.createElement(s.x,{namespace:f,phrase:"newVideos",options:{smartCount:o}})))};function h(e){var t,n=m.j.createUrl(e.coverUrl,{size:e.isLarge?d.h2.Medium:d.h2.Small}),i=void 0;u.G.isClassification(e.data)&&(i=e.data);var s={name:e.data.name,multiline:e.isLarge||e.multiline,subtitle:e.subtitle,noUnderLine:e.highlightOnHover,newVideosCount:e.showNewVideosCount?null===(t=null==i?void 0:i.externalMetadata)||void 0===t?void 0:t.childDashboardNewVideoCount:0};return a.createElement("div",{className:"border d-flex position-relative ".concat(e.className," ").concat(v.Z.widgetItem," ").concat(e.isSelected?"border-success border-2":""," ").concat(e.highlightOnHover?"bg-light-blue-hover":""),id:"".concat(e.data.id,"-").concat(r.Y.getRandomInt())},e.isSelected&&a.createElement("div",{className:"".concat(v.Z.selectedMask," border-2")}),a.createElement("div",{className:"".concat(v.Z.imagePanel," ").concat(e.isLarge?v.Z.large:"")},e.isSelected&&!e.hideCheckmark&&a.createElement("div",{className:v.Z.selected},a.createElement(o.f,{svgName:p.vn.Check,svgSize:c.S.Large,textVariant:"white",variant:"green"})),a.createElement("div",{className:"".concat(v.Z.image," ").concat(e.imageClassName),style:e.coverUrl?{backgroundImage:"url('".concat(n,"')")}:{}}),!e.hideFallback&&a.createElement(l.oy,{type:l.mS.Subject,extraClasses:e.isLarge?v.Z.large:""})),e.isComingSoon?a.createElement(g,Object.assign({},s)):a.createElement(b,Object.assign({},s)))}function y(e){var t,n=e.getChildAppLink?e.getChildAppLink(e.data):null;return a.createElement(a.Fragment,null,n?a.createElement(i.F,{className:v.Z.appLink,appLink:n,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,appLinkOptions:null===(t=e.getChildAppLinkOptions)||void 0===t?void 0:t.call(e)},a.createElement(h,Object.assign({},e))):a.createElement(h,Object.assign({},e)))}},43741:(e,t,n)=>{n.d(t,{M:()=>s,Q:()=>c});var a=n(32735),r=n(45157),i=n(5465),o=n(92038);function l(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=function(){var e,t,n=(e=a.useState(r.Y.getRandomInt(5)+3+"rem"),t=1,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,o,l=[],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)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];return a.createElement("div",{className:"border d-flex position-relative me-2 ".concat(o.Z.widgetItem)},a.createElement("div",{className:o.Z.imagePanel}),a.createElement("div",{className:"px-2",style:{width:n}}),a.createElement("div",{className:o.Z.partialIcon},a.createElement(i.oy,{type:i.mS.Subject})))},s=function(){return a.createElement("div",{className:"border d-flex position-relative me-2 ".concat(o.Z.widgetItem)},a.createElement("div",{className:"".concat(o.Z.partialLargeImage)}),a.createElement("div",{className:"px-2"}),a.createElement("div",{className:o.Z.partialIcon},a.createElement(i.oy,{type:i.mS.Subject,extraClasses:o.Z.partialLargeFallback})))}},91028:(e,t,n)=>{n.d(t,{V:()=>c});var a=n(32735),r=n(65858),i=n(2192),o=n(52641),l=n(2284),c=a.memo((function(e){var t,n,c,s,d,m=(null===(t=e.data)||void 0===t?void 0:t.status)===l.W.ComingSoon,u=function(e,t){var n;if((null==t?void 0:t.length)>=o._.MULTI_PRESENTATION_THRESHOLD)return null===(n=null==t?void 0:t.find((function(t){return t.id===e})))||void 0===n?void 0:n.name}(e.data.presentationId,null==e?void 0:e.availablePresentations),p=Object.assign(Object.assign({},e.analyticsData),{id:e.analyticsData.id||(null===(n=e.data)||void 0===n?void 0:n.id),name:null===(c=e.data)||void 0===c?void 0:c.name,presentationId:e.analyticsData.presentationId||e.data.presentationId,comingSoon:!!m}),v=Object.assign(Object.assign({location:r.LZ.ClassificationListItem,entity:r.py.Classification},e.analyticsOptions),{actionType:r.Vw.Click,descriptor:r._S.Cover});return a.createElement(i.Q,Object.assign({},e,{analyticsData:p,analyticsOptions:v,coverUrl:null===(s=e.data.cover)||void 0===s?void 0:s.url,subtitle:(null===(d=e.getSubtitle)||void 0===d?void 0:d.call(e,e.data))||u,isComingSoon:m}))}))},9513:(e,t,n)=>{n.d(t,{Ml:()=>r.M,Qh:()=>r.Q,Vz:()=>a.V});var a=n(91028),r=n(43741),i=(n(32735),n(65858));n(36848),n(83914),n(83345),n(35223),n(92038),i.Vw.Click,i.py.UserSetting,i._S.Tile,n(2786),i.Vw.Click,i.py.Url,i._S.Tile},43872:(e,t,n)=>{n.d(t,{V:()=>d});var a=n(32735),r=n(82182),i=n(31069),o=n(91967),l=new Image;l.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=";var c=function(e){e.dataTransfer.setDragImage&&o.q.isFunction(e.dataTransfer.setDragImage)&&e.dataTransfer.setDragImage(l,0,0)},s=r.V.isTouchScreen(),d=a.forwardRef((function(e,t){var n,r,o,l,d=e.children,m=e.positionType,u=e.onDrag,p=e.onDragEnd,v=e.onTouchMove,f=e.onTouchEnd,g=e.percentageDragged,b=e.position,h=void 0===b?0:b;return a.createElement("div",Object.assign({className:"d-flex flex-nowrap position-relative w-100",style:(r=h,o=m,l=g,o===i.C.Percentage&&l&&(r-=l),{transform:"translate3d(".concat(r).concat(o,", 0px, 0px)"),transition:"transform .4s ease-in-out"}),ref:t},(n={},u&&p&&(n.draggable=!0,n.onDragEnd=p,n.onDragStart=c,n.onDragOver=u),v&&f&&s&&(n.onTouchMoveCapture=v,n.onTouchEndCapture=f),n)),d)}))},16930:(e,t,n)=>{n.d(t,{W:()=>s,f:()=>c});var a=n(32735),r=n(83914),i=n(35223);const o="VSAPU",l="kgeXh";var c;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(c||(c={}));var s=a.memo((function(e){var t,n,s,d=e.direction===c.Left,m=d?i.vn.ChevronLeft:i.vn.ChevronRight;return e.hide?a.createElement(a.Fragment,null):a.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(s=e.state)||void 0===s?void 0:s.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&a.createElement("div",{className:d?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&a.createElement("div",{role:"button",onClick:e.onClick,className:"".concat("AtsWP"," ").concat(d?o:l)}),a.createElement("div",{role:"button",className:"".concat((t="BVcIS",t+=d?" ".concat(o," ").concat(e.leftButtonClassName):" ".concat(l," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick},e.hoverText&&a.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),a.createElement(r.x,{svgName:m,size:r.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},2284:(e,t,n)=>{var a;n.d(t,{W:()=>a}),function(e){e.Draft="Draft",e.ComingSoon="ComingSoon",e.Published="Published"}(a||(a={}))},31069:(e,t,n)=>{var a;n.d(t,{C:()=>a}),function(e){e.Percentage="%",e.Pixels="px"}(a||(a={}))},10841:(e,t,n)=>{var a;n.d(t,{n:()=>a}),function(e){e.Init="init",e.Next="next",e.Previous="previous",e.Resize="resize",e.Drag="drag",e.Update="update",e.JumpToIndex="jump-to-index"}(a||(a={}))},25665:(e,t,n)=>{n.d(t,{k:()=>c});var a=n(99940),r=n(97395);function i(e){return function(e){if(Array.isArray(e))return o(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 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)||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 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 l=function(e){return r._.urlBuilder("/api/domain/v1/subjects/classifications/following",{id:e})},c={follow:function(e,t,n,r){return{url:"/api/domain/v1/subjects/classifications/following",key:"follow:".concat(e.join(",")),type:a.k.POST,data:e,formatData:function(){return e.map((function(e){return{id:e,followers:{data:[t]}}}))},success:n,error:r,invalidationKeys:[].concat(i(e.map((function(e){return"classification:".concat(e)}))),["my:subject:preferences","classifications"])}},unfollow:function(e,t,n,r){return{url:l(e),key:"unfollow:".concat(e.join(",")),type:a.k.DELETE,formatData:function(){return e.map((function(e){return{id:e,followers:{data:[]}}}))},success:n,error:r,invalidationKeys:[].concat(i(e.map((function(e){return"classification:".concat(e)}))),["my:subject:preferences","classifications"])}}}},81514:(e,t,n)=>{n.d(t,{V:()=>i});var a=n(86764),r=n(3747);function i(){var e=(0,r.a)(a.r.XS),t=(0,r.a)(a.r.SM),n=(0,r.a)(a.r.MD),i=(0,r.a)(a.r.LG),o=(0,r.a)(a.r.XL),l=(0,r.a)(a.r.XXL),c=a.r.LG;return e&&(c=a.r.XS),t&&(c=a.r.SM),n&&(c=a.r.MD),i&&(c=a.r.LG),o&&(c=a.r.XL),l&&(c=a.r.XXL),c}},69454:(e,t,n)=>{n.d(t,{T:()=>u});var a=n(75896),r=n(1048),i=n(55171);function o(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,o,l=[],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)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(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=/\d/,s={yearsAndGradesBuilder:function(e){var t=e.map((function(e){return e.name})).join(" "),n=t.split(" ").filter((function(e){return!isNaN(+e)})).map((function(e){return+e}))||[],a=t.split(" ").filter((function(e){return isNaN(+e)}))||[],r=e.find((function(e){return!c.test(e.name)})),i=a.find((function(e){return e!==(null==r?void 0:r.name)}));if(e.length>1&&(i+="s"),r&&n.length)return"".concat(i," ").concat(r.name.charAt(0)," - ").concat(n.pop());var o=function(e){var t,n,a,r,i=!1,o=[];for(e=e.sort((function(e,t){return e-t})),a=0;a<e.length;a++)r=a+1,i||(t=e[a]),n=e[r],e[a]+1===n?i=!0:i?(o.push("".concat(t," - ").concat(e[a])),i=!1):(o.push("".concat(e[a])),i=!1);return o}(n);return"".concat(i," ").concat(o.join(", "))},internationalSecondaryBuilder:function(e){return s.englandSecondaryBuilder(e)},scotlandPrimaryBuilder:function(e){var t=a.m.first(e),n=a.m.last(e),r=o(t.name.split(" "),1)[0],i=o(n.name.split(" "),1)[0];return"First"===r&&(r="1st"),"First"===i&&(i="1st"),"Second"===r&&(r="2nd"),"Second"===i&&(i="2nd"),r===i?"".concat(r," Level"):"".concat(r," - ").concat(i," Level")},internationalPrimaryBuilder:function(e){var t=a.m.first(e),n=a.m.last(e);if(t.name===n.name)return t.name;var r=o(t.name.split(" "),1)[0],i=o(n.name.split(" "),1)[0];return"Lower"===r&&(r="Low"),"Lower"===i&&(i="Low"),"Middle"===r&&(r="Mid"),"Middle"===i&&(i="Mid"),"".concat(r," - ").concat(i," Pri")},englandSecondaryBuilder:function(e){var t=a.m.first(e),n=a.m.last(e);return t.name===n.name?t.name:"Advanced"===n.name?"lower"===o(t.name.split(" "),1)[0].toLowerCase()?"Lower Sec - Adv":"Upper Sec - Adv":"Lower - Upper Sec"},scotlandSecondaryBuilder:function(e){var t=a.m.first(e),n=a.m.last(e);return t.name===n.name?t.name:"Senior Phase"===n.name?"".concat(t.name," - Senior"):"Third - Fourth Level"},englandPrimaryBuilder:function(e){var t=a.m.first(e),n=a.m.last(e),r=a.m.first(t.name.split(" ")),i=a.m.first(n.name.split(" ")),o=t.name.split(" ").find((function(e){return!isNaN(+e)})),l=n.name.split(" ").find((function(e){return!isNaN(+e)}));if(t===n)return"Key"===r||"Reception"===r?t.name:"".concat(r," KS").concat(o);var c="",s="";return c="Reception"===r?"R":"KS".concat(o),s="KS".concat(l),"Lower"===r&&"Upper"===i?"L ".concat(c," - U ").concat(s):("Lower"===r&&(c="Lower ".concat(c)),"Upper"===i&&(s="Upper ".concat(s)),"Key"===i&&(s=n.name),"".concat(c," - ").concat(s))}},d=/([0-9]+)/gi,m=/\s|\+/gi,u={getSortedPresentationAudiences:function(e,t){var n=e.filter((function(e){return!!e})).map((function(e){return e.id.toString()}));return t.filter((function(e){return n.includes(e.masterId.toString())}))},getMergedPresentationAudienceString:function(e){var t="";switch(+a.m.first(e).presentationId){case i.e.PresentationIds.DEFAULT:case i.e.PresentationIds.AU_SECONDARY:case i.e.PresentationIds.US_ELEMENTARY:case i.e.PresentationIds.AU_PRIMARY:case i.e.PresentationIds.STREAMABLE_LEARNING:if(1===e.length)return e[0];t=s.yearsAndGradesBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_SECONDARY:if(1===e.length)return e[0];t=s.internationalSecondaryBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_PRIMARY:t=s.internationalPrimaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_PRIMARY:t=s.scotlandPrimaryBuilder(e);break;case i.e.PresentationIds.ENGLISH_SECONDARY:t=s.englandSecondaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_SECONDARY:t=s.scotlandSecondaryBuilder(e);break;case i.e.PresentationIds.ENGLAND_PRIMARY:t=s.englandPrimaryBuilder(e);case i.e.PresentationIds.US_MIDDLE:case i.e.PresentationIds.US_HIGH:}return t?{name:t}:null},sortMembersWithDuplicateNamesByAudience:function(e){var t=function(e){return e.length?(e.forEach((function(e){var r=+a.m.first(e.name.match(d));if(!t)return t=e,void(n=r);r<n&&(t=e)})),t):null;var t,n},n={},r=[];return e.forEach((function(e){if(!n[e.name])return n[e.name]=1,void r.push(e);r.push(e),n[e.name]++;var a=r.splice(r.length-n[e.name]).sort((function(e,n){var a=t(e.subjectPresentationAudiences.data),r=t(n.subjectPresentationAudiences.data);if(!a&&r)return 1;if(!r)return-1;var i=a.name.localeCompare(r.name);return 0===i?i:i>0?-1:1}));r=r.concat(a)})),r},getActiveAudiencesFromParams:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.t.isObject(t)&&!r.t.isEmpty(t)&&e&&e.length&&u.shouldShowAudiences(e)){var n=t.a;if(n){"string"==typeof n&&(n=[n]);var a=function(e){return e.replace(m,"").toLowerCase()},i=n.reduce((function(e,t){return e[a(t)]=t,e}),{});return e.filter((function(e){return i[a(e.name)]}))}}},getAudienceParams:function(e){return(null==e?void 0:e.length)?{a:e.map((function(e){return e.name}))}:null},shouldShowAudiences:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.length>1}}},79018:(e,t,n)=>{n.r(t),n.d(t,{ClassificationsView:()=>Y,getBannerActions:()=>H});var a=n(32735),r=n(70680),i=n(23481),o=n(57900),l=n(20354),c=n(2948),s=n(65858),d=n(44522),m=n(49935),u=n(47770),p=n(65163),v=n(9513),f=n(38143),g=n(2284),b=n(54610),h=n(86764),y=n(78479),E=n(42308),N=n(21750),w=n(39151),k=n(25665),S=n(31949),L=n(3747),C=n(22902),A=n(79612),I=n(69454),x=n(35223),T=n(87114),D=n(99742),O=n(14070),P=n(97291),j=n(51855),M=n(7179),B=n(86698),F=n(33192),U=(n(28400),n(34181)),R=function(e){return function(t){return(null==t?void 0:t.id)?U.L.getAppLink(t,e||{}):null}};const _={classificationPane:"kx1WX"};function Z(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,o,l=[],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)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return z(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)?z(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 z(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 V=i.T.encloseNamespace("subjects.classifications");function H(e,t,n,a){var r,i;if(!(null==e?void 0:e.id))return[];var o=!!(null===(i=null===(r=e.followers)||void 0===r?void 0:r.data)||void 0===i?void 0:i.length);return[{label:V(o?"following":"follow"),onClick:t,svgName:o?x.vn.BellFilled:x.vn.Bell,className:"btn follow-btn ".concat(o?"btn-outline-dark":"btn-dark"," me-2"),button:!0,tooltip:o||a?void 0:V("followBtnTooltip"),showSpinner:n}]}function Y(e){var t,n,i,x,U,z,Y,G,Q,X=e.id,W=e.presentationId,K=Z(a.useState(),2),J=K[0],$=K[1],q=(0,j.G)().isPlugin,ee=(0,r.I0)(),te=l.a.useBasicFetch(S.N.currentUser()),ne=l.a.useBasicFetch(w.L.config()),ae=(0,B.y)(),re=ae.availablePresentations,ie=ae.activePresentation,oe=ae.hasPresentationsLoaded,le=ae.canAccessPresentation,ce=(0,C.T)(),se=ce.hasPermissions,de=ce.hasLocalPermissions,me=W||(null==ie?void 0:ie.id),ue=l.a.useBasicFetch(me&&N.x.presentationById(me)),pe=ue.hasCompleted&&oe,ve=function(e,t,n,a){var r=l.a.useBasicFetch(n&&N.x.classification(n,a));return n?null==r?void 0:r.data:{name:T.i.getExploreAllTopicsTitle(null==e?void 0:e.name,t),banner:{url:T.i.getPresentationLevelImage(null==e?void 0:e.learningLevel,"topic-banner")}}}(null==ue?void 0:ue.data,null==re?void 0:re.length,X,null===(t=te.data)||void 0===t?void 0:t.id),fe=X?N.x.children(X):N.x.topLevelTopics(me||(null===(n=ue.data)||void 0===n?void 0:n.id)),ge=l.a.useBasicFetch(pe&&fe),be=function(e){var t=l.a.useBasicFetch(e&&N.x.path(e));return e?null==t?void 0:t.data:[]}(X),he=Z((0,c.D)(f.g.AUDIENCE_FILTER,void 0,{storage:o.Z1.SessionStorage}),1)[0],ye=X?V("pageTitleTopic",{title:null==ve?void 0:ve.name}):V("pageTitleSubject",{title:null===(i=ue.data)||void 0===i?void 0:i.name});(0,A.M)({title:ye,description:V("pageDescription",{title:X?null==ve?void 0:ve.name:null===(x=ue.data)||void 0===x?void 0:x.name}),canonicalLink:F.f.getCanonicalLink(),allowIndexing:F.f.allowIndexing()}),(0,M.P)({id:X,app:"topics"});var Ee=R(I.T.getAudienceParams(he));a.useEffect((function(){$(!1)}),[null===(z=null===(U=null==ve?void 0:ve.followers)||void 0===U?void 0:U.data)||void 0===z?void 0:z.length]);var Ne=(0,L.a)(h.r.MDDown);var we=(!X||!!ve)&&!!ne.data&&!!re&&ge.data,ke=!!re&&!!be,Se=le(null===(Y=ue.data)||void 0===Y?void 0:Y.id),Le={presentationId:null===(G=ue.data)||void 0===G?void 0:G.id,presentationName:null===(Q=ue.data)||void 0===Q?void 0:Q.name,currentClassificationName:null==ve?void 0:ve.name,widgetId:E.z.Classifications,templateId:y.f.CoverFixedPillListLarge},Ce=(null==ve?void 0:ve.status)===g.W.ComingSoon;return a.createElement("main",{className:"bg-white px-3"},we?a.createElement(d.p,{heading:null==ve?void 0:ve.name,banner:null==ve?void 0:ve.banner,imageCdnUrl:ne.data.imageCdnUrl,actions:Ce?[]:H(ve,(function(){var e,t,n;$(!0);var a=(null===(t=null===(e=null==ve?void 0:ve.followers)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)?k.k.unfollow:k.k.follow;l.a.fetch(ee,a([null==ve?void 0:ve.id],null===(n=te.data)||void 0===n?void 0:n.id))}),J,Ne),imageOptions:!X&&{size:b.h2.Large}}):a.createElement(d.v,null),a.createElement("div",{className:"py-3 mb-3 ".concat(Se?"border-bottom":"")},Se?ke?a.createElement(m.Oo,{breadcrumbs:function(){var e,t=[{name:V("discover"),appLink:{application:P.O.DASHBOARD,action:O.e.Dashboard.HOME}},{name:T.i.getExploreAllTopicsTitle(null===(e=ue.data)||void 0===e?void 0:e.name,null==re?void 0:re.length),appLink:{application:P.O.SUBJECT,action:O.e.Subjects.CLASSIFICATION_ALL},active:!X}];return be.forEach((function(e){t.push({name:e.name,appLink:Ee(e)})})),X&&t.push({name:V("subview"),active:!0}),t}()}):a.createElement(m.b2,null):a.createElement(a.Fragment,null)),a.createElement("div",{className:_.classificationPane},we?a.createElement(u.K,{id:X,name:"",description:"",metadata:{},preferences:[],hasPermissions:se,hasLocalPermissions:de,widgetTypeId:E.z.Classifications,templateId:y.f.CoverFixedPillListLarge,analyticsData:Le,content:null==ge?void 0:ge.data,analyticsOptions:{location:s.LZ.SlidingListItem},appLinks:{classification:Ee},imageCdnUrl:ne.data.imageCdnUrl,resourceThumbnailFallbackImageUrl:D.W.Fallbacks.RESOURCE_THUMBNAIL,isPlugin:q}):a.createElement(p.QL,{partialLoadingComponent:v.Qh})))}},92038:(e,t,n)=>{n.d(t,{Z:()=>a});const a={appLink:"fFjKN",name:"A_by9",selectedMask:"xSQtR",widgetItem:"Ys9W_",text:"JfAoy",imagePanel:"aUNDc",partialLargeImage:"RuLxv",selected:"BViJb",image:"LkTep",dragHandle:"CJqvP",large:"R5clw",comingSoonPanel:"Wa2PG",newVideos:"s61h8",editSubjectsItem:"gGNFD",allSubjectsItem:"IHdlJ",logoContainer:"Nzaes",draggingItem:"zUOye",partialLargeFallback:"FmJP9",partialIcon:"sdZuo"}},68050:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(95685),r=n.n(a),i=n(32735),o=n(46304),l=n(74512);const c=i.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},i)=>{const c=(0,o.vE)(e,"row"),s=(0,o.pi)(),d=(0,o.zG)(),m=`${c}-cols`,u=[];return s.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==d?`-${e}`:"";null!=n&&u.push(`${m}${r}-${n}`)})),(0,l.jsx)(n,{ref:i,...a,className:r()(t,c,...u)})}));c.displayName="Row";const s=c}}]);
|
|
2
|
+
//# sourceMappingURL=999-bdc7956050-lite.chunk.js.map
|