@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,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4502],{92869:(e,t,a)=>{a.d(t,{t:()=>c});var n=a(48088),r=a(95846),c={preventScrollTop:function(){n.Radio.channel(r.G.SHELL).trigger("prevent:scroll:top")}}},75097:(e,t,a)=>{a.d(t,{U:()=>c});var n=a(32735),r=a(95245);function c(e){var t=e.count,a=void 0===t?6:t;return n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"d-flex ps-1"},Array(a).fill(null).map((function(e,t){return n.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},49935:(e,t,a)=>{a.d(t,{Oo:()=>b,b2:()=>v});var n=a(32735),r=a(23481),c=a(36848),l=a(86764),o=a(3747),i=a(5859),s=a(35223),u=a(83914);function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,c,l,o=[],i=!0,s=!1;try{if(c=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;i=!1}else for(;!(i=(n=c.call(a)).done)&&(o.push(n.value),o.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{if(!i&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?d(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 d(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var p=r.T.encloseNamespace("shared.breadcrumbComponent"),f=n.forwardRef((function(e,t){var a=e.breadcrumb,r=a.name,l=a.appLink,o=a.active,i=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?n.createElement("strong",null,r):n.createElement(c.F,{appLink:l,ref:t},i&&n.createElement(u.x,{svgName:s.vn.ChevronLeft,size:u.S.Small}),n.createElement("span",{className:i?"ms-2":""},r)))})),b=function(e){var t=e.breadcrumbs,a=(0,o.a)(l.r.XS),r=(null==t?void 0:t.length)||0,c=m(n.useState(!1),2),i=c[0],s=c[1],u=m(n.useState(!1),2),d=u[0],b=u[1],v=n.useRef();if(n.useEffect((function(){var e,a=null!==(e=null==t?void 0:t.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;r>3&&a>56&&s(!0)}),[null==t?void 0:t.length]),n.useLayoutEffect((function(){var e;d&&(null===(e=v.current)||void 0===e||e.focus())}),[v.current,d]),!r||a&&r<2)return n.createElement(n.Fragment,null);if(a)return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(f,{breadcrumb:t[r-2],withBackIcon:!0})));var g=n.createElement(f,{breadcrumb:t[0]}),y=r>2?n.createElement(f,{breadcrumb:t[r-2]}):n.createElement(n.Fragment,null),E=n.createElement(f,{breadcrumb:t[r-1]}),h=t.slice(1,r-2);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},g,i?n.createElement("li",{className:"breadcrumb-item"},n.createElement("button",{className:"btn-link",onClick:function(){s(!1),b(!0)},"aria-label":p("expand")},"...")):h.map((function(e,t){return n.createElement(f,{key:t,breadcrumb:e,ref:0===t?v:null})})),y,E))},v=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,o.a)(l.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},i.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},37395:(e,t,a)=>{a.d(t,{t:()=>m});var n=a(32735),r=a(98269),c=a(92869),l=a(49985),o=a(65858),i=a(36848),s=a(83345);function u(e,t,a){var n;if(!t)return null;var r=null!==(n=e.params)&&void 0!==n?n:{};return a?(null==r?void 0:r.previous)?{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null==r?void 0:r.previous,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:t,previous:r.cursor})}}function m(e){var t=e.appLink,a=e.cursors,m=e.className,d=e.buttonVariant,p=e.prevHack,f=e.scrollTop,b=e.onClick;function v(e){t&&!f&&c.t.preventScrollTop(),l.k.logUserAction({page:e},{location:o.LZ.Pagination,entity:o.py.Pagination,actionType:o.Vw.Navigate}),b&&b(a[e])}return t?n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(i.F,{appLink:u(t,a.previous,p),className:"btn btn-".concat(d," me-1 ").concat(a.previous?"":"disabled"),onClick:function(){return v("previous")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"previous"})),n.createElement(i.F,{appLink:u(t,a.next),className:"btn btn-".concat(d," ").concat(a.next?"":"disabled"),onClick:function(){return v("next")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"next"})))):n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(r.Z,{variant:d,className:"me-1 ".concat(a.previous?"":"disabled"),onClick:function(){return v("previous")}},n.createElement(s.x,{phrase:"previous"})),n.createElement(r.Z,{variant:d,className:"btn ".concat(a.next?"":"disabled"),onClick:function(){return v("next")}},n.createElement(s.x,{phrase:"next"}))))}m.defaultProps={className:"py-2",buttonVariant:"secondary"}},81514:(e,t,a)=>{a.d(t,{V:()=>c});var n=a(86764),r=a(3747);function c(){var e=(0,r.a)(n.r.XS),t=(0,r.a)(n.r.SM),a=(0,r.a)(n.r.MD),c=(0,r.a)(n.r.LG),l=(0,r.a)(n.r.XL),o=(0,r.a)(n.r.XXL),i=n.r.LG;return e&&(i=n.r.XS),t&&(i=n.r.SM),a&&(i=n.r.MD),c&&(i=n.r.LG),l&&(i=n.r.XL),o&&(i=n.r.XXL),i}},91286:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(32735),r=a(94644);function c(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,a){var l=Array.isArray(e)?e:[e];(0,n.useEffect)((function(){l.forEach((function(e){(0,r.r)(e.statusCode,t,a)}))}),[c(l),t,a])}},299:(e,t,a)=>{a.d(t,{X:()=>l});var n=a(32735),r=a(69217),c=a(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.idField,l=void 0===a?"id":a,o=t.persistNamespace,i=t.initialState?t.initialState:new Map,s=n.useRef(i),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){s.current.clear(),u()}function f(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),s.current.get(e)}function b(){return!!(null==e?void 0:e.length)&&e.every(f)}function v(e){e.forEach((function(e){s.current.set(e,!0)})),u()}return n.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),n.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&v(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!b();e.forEach((function(e){t?s.current.set(e[l].toString(),!0):s.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!s.current.get(e.toString());t?s.current.set(e.toString(),t):s.current.delete(e.toString()),u()},getSelected:function(){return Array.from(s.current.keys())},isChecked:f,bulkChecked:b(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){s.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return f(e)}))},setSelected:v,getSelectedCount:function(){return s.current.size},reset:p,getMap:function(){return s.current}}}},94631:(e,t,a)=>{a.d(t,{D:()=>r});var n=a(32735);function r(e){var t=n.useRef();return n.useEffect((function(){t.current=e})),t.current}},58418:(e,t,a)=>{a.r(t),a.d(t,{UserAuditLogView:()=>te});var n=a(32735),r=a(23481),c=a(57900),l=a(20354),o=a(75097),i=a(49935);const s={partialHeading:"rfiJl",partialJobCount:"h8k_u",partialCheckbox:"HkuOS",partialExportButton:"Iul7S",row:"mwigG",checkboxColumn:"Z5jLG",actionColumn:"rLxYh",usersColumn:"QZzab",dateColumn:"Wf_Jp",performedByColumn:"Ubtmj",seeMoreColumn:"XdP6u",heading:"kRMMH",action:"DvDvW",users:"goKpg",date:"ejYGb",performedBy:"NhjyL"};function u(){return n.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(s.row)},n.createElement("div",{className:"".concat(s.checkboxColumn," d-flex justify-content-center")},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox," ms-0")})),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.action)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.users)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.date)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.performedBy)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function m(){return n.createElement("div",{className:"d-flex py-2 mb-1"},n.createElement("div",{className:"".concat(s.checkboxColumn)}," "),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function d(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3 mt-n1"},n.createElement(m,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null))))}function p(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background mb-2 ".concat(s.partialHeading)}),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.b2,null),n.createElement("div",{className:"partial-loading-background ".concat(s.partialJobCount)}))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox)}),n.createElement("div",{className:"ms-4 ps-3"},n.createElement(o.U,{count:3})),n.createElement("div",{className:"ms-auto partial-loading-background ".concat(s.partialExportButton)})),n.createElement(d,null))}var f=a(89422),b=a(89965),v=a(37395),g=a(2102),y=a(83345),E=a(76881),h=a(69883),k=a(299),N=a(75795),S=a(65858),C=a(93659),x=a(97514),w="userManager.userAuditLogFilters";function j(e){var t=[x.x$.SortBy([{id:"newest",name:r.T.getPhrase(w,"newest"),default:!0},{id:"oldest",name:r.T.getPhrase(w,"oldest")}]),x.x$.BulkActionType(),x.x$.UserType()];return n.createElement(C.J,{queryParams:e.queryParams,mainFilters:t,appLink:e.appLinks.auditLog,analyticsOptions:{entity:S.py.BatchJob,location:S.LZ.UserAuditLog},hideHeading:!0,hideDivider:!0,constantIndices:[]})}var L=a(69674),T=a(110),A=a(149),M=a(36848),I=a(89725),O=a(83914),B=a(86794);const P={seeMore:"uymuO"};function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var U="userManager.userAuditLogTable",F=r.T.encloseNamespace(U),J={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"px-2 py-1",row:"striped-row rounded audit-log-row",cell:"d-flex align-items-center py-3 px-2"};function D(e){var t,a,r,c,l=(t=e.jobs.data,a=e.isChecked,t.map((function(e){var t=T.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA");return{id:e.id,checked:a(e.id),actionType:A.b.mapJobTypeToName(e.type),userType:A.b.mapDataTypeToUserType(e.dataType),date:t,performedBy:{name:e.submitterName,submittedByClickView:e.submittedByClickView}}})));return n.createElement(L.i,{columns:(r=e.appLinks.bulkActionSummary,c=e.onToggleCheckbox,[{Header:"",id:"checkboxes",accessor:function(e){return{id:e.id,checked:e.checked}},Cell:function(e){return n.createElement("div",{className:"text-center mx-auto"},n.createElement(b.X,{id:e.value.id,checked:e.value.checked,onChange:function(){return c(e.value.id)}}))},width:10},{Header:F("action"),accessor:"actionType",id:"actionType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:F("users"),accessor:"userType",id:"userType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},function(){switch(t){case E.Y.Learner:return F("students");case E.Y.Staff:return F("staff");case E.Y.Unknown:default:return F("unknown")}}())},width:10},{Header:F("date"),accessor:"date",id:"date",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:F("performedBy"),accessor:"performedBy",id:"performedBy",Cell:function(e){return n.createElement("div",{className:"w-100 d-flex align-items-center"},e.value.submittedByClickView&&n.createElement(B.b,{className:"me-1",size:O.S.Small},n.createElement(I.F,null)),e.value.name)},width:20},{Header:"",accessor:"id",id:"seeMore",Cell:function(e){var t,a,c=e.value;return n.createElement("div",{className:"w-100 d-flex justify-content-end"},n.createElement(M.F,{className:"info-link text-end me-3 ms-auto ".concat(P.seeMore),appLink:Object.assign(Object.assign({},r),{args:(null===(t=r.args)||void 0===t?void 0:t.length)?[].concat((a=r.args,function(e){if(Array.isArray(e))return R(e)}(a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?R(e,t):void 0}}(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[c]):[c]})},n.createElement(y.x,{namespace:U,phrase:"seeMore"})))},width:30}]),data:l,theme:J})}var _=a(23232),H="userManager.auditLogEmptyState";function X(e){return n.createElement(_.u,null,n.createElement(_.u.Image,{src:e.imageUrl}),n.createElement(_.u.Heading,null,n.createElement(y.x,{namespace:H,phrase:"heading"})),n.createElement(_.u.Info,null,n.createElement(y.x,{namespace:H,phrase:"info"})))}const Y={bulkCheckbox:"NMw5T"};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var q="userManager.auditLog",V=r.T.encloseNamespace(q);function Z(e){var t,a,r,l,o=c.SG.get(f.K.AUDIT_LOG_REFERRER_KEY),s=(r=n.useState(!1),l=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,c,l,o=[],i=!0,s=!1;try{if(c=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;i=!1}else for(;!(i=(n=c.call(a)).done)&&(o.push(n.value),o.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{if(!i&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(r,l)||function(e,t){if(e){if("string"==typeof e)return G(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?G(e,t):void 0}}(r,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=s[0],m=s[1],d=(0,k.X)(e.jobs.data),p=(0,h.Z)();return n.createElement(n.Fragment,null,n.createElement("h1",{className:"h2"},n.createElement(y.x,{namespace:q,phrase:"heading"})),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.Oo,{breadcrumbs:[{name:V("settingsBreadcrumb"),appLink:e.appLinks.settings},{name:V(o===E.Y.Learner?"studentManager":"staffManager"),appLink:e.appLinks.userManager},{name:V("heading"),active:!0}]}),n.createElement("p",{className:"mb-0 fw-semibold"},n.createElement(y.x,{namespace:q,phrase:"totalJobs",options:{showing:e.jobs.data.length,smartCount:e.jobs.count}})))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement(b.X,{className:Y.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:d.bulkChecked,onChange:d.onToggleBulk,indeterminate:d.hasSomeSelections()}),n.createElement("div",{className:"ms-4 ps-1"},n.createElement(j,{queryParams:e.queryParams,appLinks:e.appLinks})),n.createElement(g.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!u){m(!0);var t=d.getSelected();e.onClickExport(t).then((function(){return p.success(V("exportSuccess"))})).catch((function(){return p.error(V("exportError"))})).finally((function(){return m(!1)}))}},disabled:!d.hasSomeSelections()||u,showSpinner:u},n.createElement(y.x,{namespace:q,phrase:"export"}))),(null===(t=e.jobs.data)||void 0===t?void 0:t.length)?n.createElement(D,{jobs:e.jobs,appLinks:e.appLinks,onToggleCheckbox:d.onToggleItem,isChecked:d.isChecked}):n.createElement(X,{imageUrl:e.emptyStateImageUrl}),!!(null===(a=e.jobs.pagination)||void 0===a?void 0:a.cursors)&&n.createElement(v.t,{className:"p-0 text-end pb-3",cursors:e.jobs.pagination.cursors,appLink:N.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var K=a(91286),$=a(79612),z=a(99742),W=a(29613),Q=a(18087),ee="userManager.userAuditLogView";function te(e){var t=c.SG.get(f.K.AUDIT_LOG_REFERRER_KEY),a=l.a.useBasicFetch(W.q.getJobs(e.queryParams));(0,K.v)(a),(0,$.M)({title:r.T.getPhrase(ee,"pageTitle")});var o=l.a.useGetFetchAsync(),i=(0,Q.Y)(t);return a.hasCompleted?n.createElement("div",{className:"px-3"},n.createElement(Z,{jobs:a.data,appLinks:i,queryParams:e.queryParams,onClickExport:function(e){return o(W.q.sendJobReports(e))},emptyStateImageUrl:z.W.EmptyStates.Search.RESULTS})):n.createElement("div",{className:"px-3"},n.createElement(p,null))}},29613:(e,t,a)=>{a.d(t,{q:()=>l});var n=a(99940),r=a(97395),c=a(149),l={createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:n.k.POST,data:e,success:t,error:a}},getJobs:function(e){var t={},a=[],n=[];return e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.bulkActionType?(a=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],t.type=a):t.type=c.O,e.userType&&(n=Array.isArray(e.userType)?e.userType:[e.userType],t.dataType=n),{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(a.sort().join(":"),":").concat(n.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,t,a){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:t,error:a}},getJobResults:function(e,t,a,n,c){var l={status:t};return a&&(l.cursor=a),{url:r._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),l),key:"job:".concat(e,":results:").concat(t,":").concat(a),success:n,error:c}},getYearGroupRolloverStatus:function(e){return{url:"{gateway}/v1/batch/validations/customers/".concat(e,"/year-group-roll-over"),key:"year:group:rollover:status"}},sendJobReports:function(e){return{url:"{gateway}/v1/batch/results/export",key:"send:job:reports:".concat(e.sort().join(":")),type:n.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}}}]);
|
|
2
|
+
//# sourceMappingURL=4502-af4903784e-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4502-af4903784e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/backbone/utils/ScrollHelper.ts","file:///app/packages/libs/shared/src/apps/search/components/search-filters/PartialSearchFilters.tsx","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pagination/Pagination.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/hooks/useBulkCheckboxManager.ts","file:///app/packages/libs/shared/src/hooks/usePrevious.ts","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/partial-user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/user-audit-log-table.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTableUtils.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/empty-state/UserAuditLogEmptyState.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/UserAuditLog.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/audit-log/UserAuditLogView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};","import * as React from 'react';\n\nimport styles from './search-filters.scss';\n\ninterface PartialSearchFiltersProps {\n count?: number;\n}\n\nexport function PartialSearchFilters({ count = 6 }: PartialSearchFiltersProps): JSX.Element {\n return (\n <div className='d-flex'>\n <div className='d-flex ps-1'>\n {Array(count).fill(null).map((item, index) => (\n <div key={index} className={`${styles.partialButton} partial-loading-background mx-1`} />\n ))}\n </div>\n </div>\n );\n}","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});","import * as React from 'react';\nimport { Button, ButtonProps } from 'react-bootstrap';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nfunction buildCursor(appLink: Core.AppLink, cursorParam: string, prevHack?: boolean): Core.AppLink {\n if (!cursorParam)\n return null;\n\n const currentParams = appLink.params as HashObject ?? {};\n /* \n Currently the pagination for My Videos shows the previous cursor in the first page cursor,\n so instead of using the previous cursor from the response, the current cursor is being passed\n as the previous cursor in the app link\n */\n\n if (prevHack) {\n if (!currentParams?.previous) {\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: null,\n previous: null\n }\n };\n }\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: currentParams?.previous,\n previous: null\n }\n };\n }\n\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: cursorParam,\n previous: currentParams.cursor\n }\n };\n}\n\ninterface CursorPaginationProps {\n cursors: Cursors;\n appLink?: Core.AppLink;\n className?: string;\n buttonVariant?: ButtonProps['variant'];\n prevHack?: boolean;\n scrollTop?: boolean;\n onClick?: (cursor: string) => void;\n}\n\nPagination.defaultProps = {\n className: 'py-2',\n buttonVariant: 'secondary'\n};\n\nexport function Pagination(\n { appLink, cursors, className, buttonVariant, prevHack, scrollTop, onClick }: CursorPaginationProps\n): JSX.Element {\n function onClickButton(page: 'next' | 'previous'): void {\n if (appLink && !scrollTop)\n ScrollHelper.preventScrollTop();\n\n AnalyticsHelper.logUserAction({ page }, {\n location: LocationContext.Pagination,\n entity: EntityType.Pagination,\n actionType: UserAction.Navigate\n });\n\n if (onClick)\n onClick(cursors[page]);\n }\n\n if (appLink) {\n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <AppLink\n appLink={buildCursor(appLink, cursors.previous, prevHack)}\n className={`btn btn-${buttonVariant} me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='previous' />\n </AppLink>\n \n <AppLink\n appLink={buildCursor(appLink, cursors.next)}\n className={`btn btn-${buttonVariant} ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='next' />\n </AppLink>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n }\n \n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <Button\n variant={buttonVariant}\n className={`me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n >\n <Text phrase='previous' />\n </Button>\n <Button\n variant={buttonVariant}\n className={`btn ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n >\n <Text phrase='next' />\n </Button>\n </div>\n </LanguageNamespaceContext.Provider>\n );\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 { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\n\ntype CheckboxItemsState = Map<string, boolean>;\n\nexport interface BulkCheckboxManager {\n onToggleBulk: () => void;\n onToggleItem: (id: string) => void;\n getSelected: () => string[];\n isChecked: (item: string | number | HashObject<string>) => boolean;\n bulkChecked: boolean;\n deselectAll: () => void;\n hasSomeSelections: () => boolean;\n setSelected: (ids: string[]) => void;\n getSelectedCount: () => number;\n reset: () => void;\n getMap: () => Map<string, boolean>;\n}\n\nexport interface BulkCheckboxManagerOptions {\n idField?: string; // For objects like `PresentationAudiences` that don't use `id` as their identifier field\n persistNamespace?: string;\n preselectedIds?: string[];\n initialState?: CheckboxItemsState;\n}\n\n/**\n * @param collection - The collection you are keeping track of with checkboxes\n * @param options - See interface above\n */\nexport const useBulkCheckboxManager = (collection: HashObject[], options: BulkCheckboxManagerOptions = {}) => {\n const { idField = 'id', persistNamespace } = options;\n\n const initial = options.initialState ? options.initialState : new Map<string, boolean>();\n\n const items = React.useRef<CheckboxItemsState>(initial);\n \n const forceUpdate = useForceUpdate();\n\n const prevCollection = usePrevious(collection);\n const prevNamespace = usePrevious(persistNamespace);\n\n /**\n * This hook will clear the state of this hook when a user navigates between pages\n * if a persistNamespace was not provided\n */\n React.useEffect(() => {\n /**\n * If we're being passed initial state, we don't want to clear the state\n */\n if (options.initialState)\n return;\n\n /**\n * If we've been given a persist namespace, we don't want to clear our\n * selections while the namespace stays the same\n */\n if (persistNamespace && prevNamespace === persistNamespace)\n return;\n\n /**\n * Don't reinitialize if the ids of the new and old collection\n * are identical\n */\n const prevIds = prevCollection?.map(i => i[idField]).join();\n const ids = collection?.map(i => i[idField]).join();\n\n if (prevIds === ids)\n return;\n\n reset();\n }, [ prevCollection, prevNamespace, collection, options.initialState ]);\n\n React.useEffect(() => {\n if (!options.preselectedIds?.length)\n return;\n\n setSelected(options.preselectedIds);\n }, []);\n\n function reset(): void {\n items.current.clear();\n forceUpdate();\n }\n\n // When toggled on, all checkbox items will be enabled. Vice versa if toggled off\n function onToggleBulk(): void {\n const setValue = !isBulkChecked();\n\n collection.forEach(item => {\n if (setValue)\n items.current.set(item[idField].toString(), true);\n else\n items.current.delete(item[idField].toString());\n });\n\n forceUpdate();\n }\n\n // Toggles a single item\n function onToggleItem(id: string): void {\n const nextItemState = !items.current.get(id.toString());\n\n if (nextItemState)\n items.current.set(id.toString(), nextItemState);\n else\n items.current.delete(id.toString());\n \n forceUpdate();\n }\n\n // Returns the state of the item passed in\n function isChecked(item: string | number | HashObject<string>): boolean {\n if (typeof item === 'number')\n item = item.toString();\n else if (typeof item !== 'string')\n item = item[idField].toString();\n\n return items.current.get(item);\n }\n\n function getSelected(): string[] {\n return Array.from(items.current.keys());\n }\n\n function deselectAll(): void {\n if (!collection?.length) return;\n\n collection.forEach(item => {\n items.current.delete(item[idField].toString());\n });\n forceUpdate();\n }\n\n // Returns true if at least 1 item is checked\n function hasSomeSelections(): boolean {\n if (!collection?.length)\n return false;\n\n return !!collection.find(item => isChecked(item));\n }\n\n function isBulkChecked(): boolean {\n if (!collection?.length)\n return false;\n\n return collection.every(isChecked);\n }\n\n function setSelected(ids: string[]): void {\n ids.forEach(id => {\n items.current.set(id, true);\n });\n forceUpdate();\n }\n\n function getSelectedCount(): number {\n return items.current.size;\n }\n\n function getMap(): Map<string, boolean> {\n return items.current;\n }\n\n return {\n onToggleBulk,\n onToggleItem,\n getSelected,\n isChecked,\n bulkChecked: isBulkChecked(),\n deselectAll,\n hasSomeSelections,\n setSelected,\n getSelectedCount,\n reset,\n getMap\n };\n};","import React from 'react';\n\n// https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state\nexport function usePrevious<T>(value: T): T {\n const ref = React.useRef<T>();\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"rfiJl\",\"partialJobCount\":\"h8k_u\",\"partialCheckbox\":\"HkuOS\",\"partialExportButton\":\"Iul7S\",\"row\":\"mwigG\",\"checkboxColumn\":\"Z5jLG\",\"actionColumn\":\"rLxYh\",\"usersColumn\":\"QZzab\",\"dateColumn\":\"Wf_Jp\",\"performedByColumn\":\"Ubtmj\",\"seeMoreColumn\":\"XdP6u\",\"heading\":\"kRMMH\",\"action\":\"DvDvW\",\"users\":\"goKpg\",\"date\":\"ejYGb\",\"performedBy\":\"NhjyL\"};","import React from 'react';\n\nimport styles from './partial-user-audit-log.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`d-flex striped-row rounded py-3 ${styles.row}`}>\n <div className={`${styles.checkboxColumn} d-flex justify-content-center`}>\n <div className={`partial-loading-background ${styles.partialCheckbox} ms-0`} />\n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.action}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.users}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.date}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.performedBy}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nfunction PartialHeader(): JSX.Element {\n return (\n <div className='d-flex py-2 mb-1'>\n <div className={`${styles.checkboxColumn}`}>\n \n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nexport function PartialAuditLogTable(): JSX.Element {\n return (\n <>\n <div className='mb-3 mt-n1'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import React from 'react';\n\nimport { PartialSearchFilters } from 'libs/shared/apps/search/components/search-filters/PartialSearchFilters';\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\n\nimport { PartialAuditLogTable } from './PartialAuditLogTable';\n\nimport styles from './partial-user-audit-log.scss';\n\nexport function PartialUserAuditLog(): JSX.Element {\n return (\n <>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <PartialBreadcrumbs />\n\n <div className={`partial-loading-background ${styles.partialJobCount}`} />\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <div className={`partial-loading-background ${styles.partialCheckbox}`} />\n\n <div className='ms-4 ps-3'>\n <PartialSearchFilters count={3} />\n </div>\n\n <div className={`ms-auto partial-loading-background ${styles.partialExportButton}`} />\n </div>\n\n <PartialAuditLogTable />\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nconst namespace = 'userManager.userAuditLogFilters';\n\nfunction getSortOptions(): FilterOption[] {\n return [{\n id: 'newest',\n name: LanguageService.getPhrase(namespace, 'newest'),\n default: true\n },\n {\n id: 'oldest',\n name: LanguageService.getPhrase(namespace, 'oldest')\n }];\n}\n\nexport interface UserAuditLogQueryParams {\n cursor: string;\n userType: UserGroup | UserGroup[];\n bulkActionType: BatchJobType | BatchJobType[];\n sort: 'newest' | 'oldest';\n}\n\ninterface UserAuditLogFiltersProps {\n queryParams: UserAuditLogQueryParams;\n appLinks: UserManagerAppLinks;\n}\n\nexport function UserAuditLogFilters(props: UserAuditLogFiltersProps): JSX.Element {\n const filters: SearchFilter<any>[] = [\n Filters.SortBy(getSortOptions()),\n Filters.BulkActionType(),\n Filters.UserType()\n ];\n\n return (\n <SearchFilters\n queryParams={props.queryParams}\n mainFilters={filters}\n appLink={props.appLinks.auditLog}\n analyticsOptions={{\n entity: EntityType.BatchJob,\n location: LocationContext.UserAuditLog\n }}\n hideHeading\n hideDivider\n constantIndices={[]}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"uymuO\"};","import React from 'react';\nimport { CellProps, Column } from 'react-table';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BatchJob } from 'libs/shared/interfaces';\n\nimport styles from './user-audit-log-table.scss';\n\nconst namespace = 'userManager.userAuditLogTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogTableData {\n id: string;\n checked: boolean;\n actionType: string;\n userType: string;\n date: string;\n performedBy: {\n name: string;\n submittedByClickView: boolean;\n };\n}\n\nexport function getColumns(\n summaryAppLink: Core.AppLink,\n onToggleCheckbox: (id: string) => void\n): Column<UserAuditLogTableData>[] {\n const columns: Column<UserAuditLogTableData>[] = [\n {\n Header: '',\n id: 'checkboxes',\n accessor: (data: UserAuditLogTableData) => ({ id: data.id, checked: data.checked }),\n Cell: (cell: CellProps<UserAuditLogTableData, { id: string; checked: boolean; }>) => (\n <div className='text-center mx-auto'>\n <Checkbox\n id={cell.value.id}\n checked={cell.value.checked}\n onChange={() => onToggleCheckbox(cell.value.id)}\n />\n </div>\n ),\n width: 10\n },\n {\n Header: getPhrase('action'),\n accessor: 'actionType',\n id: 'actionType',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('users'),\n accessor: 'userType',\n id: 'userType',\n Cell: ({ value }) => {\n const getValue = () => {\n switch (value) {\n case UserGroup.Learner:\n return getPhrase('students');\n case UserGroup.Staff:\n return getPhrase('staff');\n case UserGroup.Unknown:\n default:\n return getPhrase('unknown');\n }\n };\n\n return (\n <div className='w-100'>\n {getValue()}\n </div>\n );\n },\n width: 10\n },\n {\n Header: getPhrase('date'),\n accessor: 'date',\n id: 'date',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('performedBy'),\n accessor: 'performedBy',\n id: 'performedBy',\n Cell: (cell: CellProps<any, { name: string; submittedByClickView: boolean; }>) => (\n <div className='w-100 d-flex align-items-center'>\n {cell.value.submittedByClickView && (\n <SvgContainer2 className='me-1' size={SvgContainerSize.Small}>\n <ClickViewAvatar />\n </SvgContainer2>\n )}\n {cell.value.name}\n </div>\n ),\n width: 20\n },\n {\n Header: '',\n accessor: 'id',\n id: 'seeMore',\n Cell: ({ value }) => (\n <div className='w-100 d-flex justify-content-end'>\n <AppLink\n className={`info-link text-end me-3 ms-auto ${styles.seeMore}`}\n appLink={{\n ...summaryAppLink,\n args: summaryAppLink.args?.length ? [ ...summaryAppLink.args, value ] : [value]\n }}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </AppLink>\n </div>\n ),\n width: 30\n }\n ];\n\n return columns;\n}\n\nexport function useGetData(jobs: BatchJob[], isChecked: (id: string) => boolean): UserAuditLogTableData[] {\n return jobs.map(job => {\n const formattedDate = DateHelper.format(job.dateCreated, 'DD/MM/YYYY, hh:mmA');\n\n return {\n id: job.id,\n checked: isChecked(job.id),\n actionType: BulkUserActionsHelper.mapJobTypeToName(job.type),\n userType: BulkUserActionsHelper.mapDataTypeToUserType(job.dataType),\n date: formattedDate,\n performedBy: {\n name: job.submitterName,\n submittedByClickView: job.submittedByClickView\n }\n };\n });\n}","import React from 'react';\n\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { getColumns, useGetData } from './UserAuditLogTableUtils';\n\nconst TABLE_THEME: TableTheme = {\n table: 'striped-list no-full-width pb-3',\n header: 'fw-semibold pb-1',\n headerCell: 'px-2 py-1',\n row: 'striped-row rounded audit-log-row',\n cell: 'd-flex align-items-center py-3 px-2'\n};\n\ninterface UserAuditLogTableProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n onToggleCheckbox: (id: string) => void;\n isChecked: (id: string) => boolean;\n}\n\nexport function UserAuditLogTable(props: UserAuditLogTableProps): JSX.Element {\n const data = useGetData(props.jobs.data, props.isChecked);\n\n return (\n <Table\n columns={getColumns(props.appLinks.bulkActionSummary, props.onToggleCheckbox)}\n data={data}\n theme={TABLE_THEME}\n />\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'userManager.auditLogEmptyState';\n\ninterface UserAuditLogEmptyStateProps {\n imageUrl: string;\n}\n\nexport function UserAuditLogEmptyState(props: UserAuditLogEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bulkCheckbox\":\"NMw5T\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { UserAuditLogFilters, UserAuditLogQueryParams } from './components/audit-log-filters/UserAuditLogFilters';\nimport { UserAuditLogTable } from './components/audit-log-table/UserAuditLogTable';\nimport { UserAuditLogEmptyState } from './empty-state/UserAuditLogEmptyState';\n\nimport styles from './user-audit-log.scss';\n\nconst namespace = 'userManager.auditLog';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n queryParams: UserAuditLogQueryParams;\n onClickExport: (ids: string[]) => Promise<void>;\n emptyStateImageUrl: string;\n}\n\nexport function UserAuditLog(props: UserAuditLogProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const [ showExportSpinner, setShowExportSpinner ] = React.useState(false);\n\n const CheckboxHelper = useBulkCheckboxManager(props.jobs.data);\n const alerts = useAlerts();\n\n function onClickExport(): void {\n if (showExportSpinner)\n return;\n\n setShowExportSpinner(true);\n\n const selectedIds = CheckboxHelper.getSelected();\n\n props.onClickExport(selectedIds)\n .then(() => alerts.success(getPhrase('exportSuccess')))\n .catch(() => alerts.error(getPhrase('exportError')))\n .finally(() => setShowExportSpinner(false));\n }\n\n return (\n <>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settingsBreadcrumb'), appLink: props.appLinks.settings },\n { name: getPhrase(referrer === UserGroup.Learner ? 'studentManager' : 'staffManager'), appLink: props.appLinks.userManager },\n { name: getPhrase('heading'), active: true }\n ]}\n />\n\n <p className='mb-0 fw-semibold'>\n <Text\n namespace={namespace}\n phrase='totalJobs'\n options={{ showing: props.jobs.data.length, smartCount: props.jobs.count }}\n />\n </p>\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <Checkbox\n className={styles.bulkCheckbox}\n id='bulk-audit-log-checkbox'\n checked={CheckboxHelper.bulkChecked}\n onChange={CheckboxHelper.onToggleBulk}\n indeterminate={CheckboxHelper.hasSomeSelections()}\n />\n\n <div className='ms-4 ps-1'>\n <UserAuditLogFilters queryParams={props.queryParams} appLinks={props.appLinks} />\n </div>\n\n <SpinnerButton\n variant='dark'\n className='ms-auto'\n onClick={onClickExport}\n disabled={!CheckboxHelper.hasSomeSelections() || showExportSpinner}\n showSpinner={showExportSpinner}\n >\n <Text namespace={namespace} phrase='export' />\n </SpinnerButton>\n </div>\n\n {props.jobs.data?.length ? (\n <UserAuditLogTable\n jobs={props.jobs}\n appLinks={props.appLinks}\n onToggleCheckbox={CheckboxHelper.onToggleItem}\n isChecked={CheckboxHelper.isChecked}\n />\n ) : (\n <UserAuditLogEmptyState imageUrl={props.emptyStateImageUrl} />\n )}\n\n {!!props.jobs.pagination?.cursors && (\n <Pagination\n className='p-0 text-end pb-3'\n cursors={props.jobs.pagination.cursors}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { PartialUserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog';\nimport { UserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/UserAuditLog';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nconst namespace = 'userManager.userAuditLogView';\n\ninterface UserAuditLogViewProps {\n queryParams: UserAuditLogQueryParams;\n}\n\nexport function UserAuditLogView(props: UserAuditLogViewProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const jobs = Flight.useBasicFetch<BatchJobCollection>(JobRequests.getJobs(props.queryParams));\n \n useHandleObjectError(jobs);\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const appLinks = getUserManagerAppLinks(referrer);\n\n function onClickExport(jobIds: string[]): Promise<void> {\n return fetchAsync<void>(JobRequests.sendJobReports(jobIds));\n }\n\n if (!jobs.hasCompleted)\n return <div className='px-3'><PartialUserAuditLog /></div>;\n\n return (\n <div className='px-3'>\n <UserAuditLog\n jobs={jobs.data}\n appLinks={appLinks}\n queryParams={props.queryParams}\n onClickExport={onClickExport}\n emptyStateImageUrl={ImageUrls.EmptyStates.Search.RESULTS}\n />\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["ScrollHelper","preventScrollTop","Radio","trigger","PartialSearchFilters","count","className","Array","fill","map","item","index","key","getPhrase","BreadcrumbItem","props","ref","breadcrumb","name","appLink","active","withBackIcon","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","shouldFocus","setShouldFocus","expandRef","characterLength","reduce","prev","next","current","focus","first","secondLast","last","rest","slice","onClick","idx","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","buildCursor","cursorParam","prevHack","currentParams","params","previous","application","action","args","cursor","Pagination","cursors","buttonVariant","scrollTop","onClickButton","page","location","entity","actionType","value","display","phrase","variant","defaultProps","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","generateCacheKey","flightObjs","obj","statusCode","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","isArray","useEffect","forEach","useBulkCheckboxManager","collection","options","idField","persistNamespace","initial","initialState","Map","items","forceUpdate","prevCollection","prevNamespace","reset","clear","isChecked","toString","get","isBulkChecked","every","setSelected","ids","id","set","i","preselectedIds","onToggleBulk","setValue","onToggleItem","nextItemState","getSelected","from","keys","bulkChecked","deselectAll","hasSomeSelections","find","getSelectedCount","getMap","usePrevious","PartialRow","PartialHeader","PartialAuditLogTable","PartialUserAuditLog","namespace","UserAuditLogFilters","filters","LanguageService","default","SearchFilters","queryParams","mainFilters","appLinks","auditLog","analyticsOptions","hideHeading","hideDivider","constantIndices","TABLE_THEME","table","header","headerCell","row","cell","UserAuditLogTable","jobs","summaryAppLink","onToggleCheckbox","data","job","formattedDate","DateHelper","dateCreated","checked","BulkUserActionsHelper","type","userType","dataType","date","performedBy","submitterName","submittedByClickView","Table","columns","bulkActionSummary","Header","accessor","Cell","Checkbox","onChange","UserGroup","getValue","SvgContainer2","SvgContainer","ClickViewAvatar","AppLink","Text","theme","UserAuditLogEmptyState","EmptyState","src","imageUrl","UserAuditLog","referrer","LocalStorageHelper","UserManagerConstants","showExportSpinner","setShowExportSpinner","CheckboxHelper","alerts","settings","userManager","showing","smartCount","indeterminate","SpinnerButton","selectedIds","onClickExport","then","success","error","disabled","showSpinner","emptyStateImageUrl","pagination","ContextService","UserAuditLogView","JobRequests","useSetPageMetadata","title","fetchAsync","hasCompleted","jobIds","ImageUrls","createJob","url","getJobs","bulkActionTypes","userTypes","sort","order","bulkActionType","getJob","getJobProgress","invalidationKeys","getJobResults","status","getYearGroupRolloverStatus","customerId","sendJobReports","getJobSummary"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4850,4063],{96922:(e,t,n)=>{n.r(t),n.d(t,{SharedSeriesView:()=>c});var r=n(32735),i=n(81886),a=n(183),o=n(60696);function c(e){var t=i.Q.C$.getCurrentAppLink();return r.createElement(o.SeriesView,{key:e.objectId,id:e.objectId,shareId:e.shareId,getVideoAppLink:function(n){return Object.assign(Object.assign({},t),{params:{videoId:n.id,contextId:e.objectId,context:a.Q.Series}})}})}},60696:(e,t,n)=>{n.r(t),n.d(t,{SeriesView:()=>le});var r=n(32735),i=n(70680),a=n(23481),o=n(20354),c=n(65858),s=n(44522),u=n(49935),l=n(11607),d=n(83345),p=n(10038);const f={text:"wLJpg",seeMore:"x5t0p"};function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],s=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){u=!0,i=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var h="shared.expandableText";function b(e){var t,n,i=e.text,a=e.lines,o=void 0===a?2:a,c=v(r.useState(!1),2),s=c[0],u=c[1],m=r.useRef(null),b=r.useRef(0);r.useEffect((function(){m.current.clientHeight&&(b.current=m.current.clientHeight)}),[]);var g=v(r.useState((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current),2),y=g[0],E=g[1];return(0,p.H)((function(){var e;m.current.clientHeight&&(b.current=m.current.clientHeight,E((null===(e=m.current)||void 0===e?void 0:e.scrollHeight)>b.current))})),r.useEffect((function(){var e,t;(null===(e=m.current)||void 0===e?void 0:e.scrollHeight)&&E((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current)}),[null===(n=m.current)||void 0===n?void 0:n.scrollHeight,b.current]),r.createElement("div",{className:"d-flex overflow-hidden"},r.createElement("div",{className:"".concat(s?"":"clamp-".concat(o)," ").concat(f.text),ref:m},!s&&y&&r.createElement(l.L,{onClick:function(){return u(!0)},className:"ms-1 info-text hover-text-underline ".concat(f.seeMore)},r.createElement(d.x,{namespace:h,phrase:"seeMore"})),r.createElement("p",{className:"mb-0 d-inline"},i),s&&r.createElement(l.L,{onClick:function(){return u(!1)},className:"ms-1 info-text hover-text-underline d-inline"},r.createElement(d.x,{namespace:h,phrase:"seeLess"}))))}var g=n(71020),y=n(74696),E=n(13231),S=n(79718),k=n(7733),w=n(51365),I=n(16714),A=n(23788),L=n(21750),x=n(39151),j=n(1666),O=n(60011),C=n(31949),P=n(63719),T=n(56520),N=n(91286),F=n(60115),H=n(22902),_=n(79612),V=n(76753),G=n(35223),R=n(68140),B=n(14070),M=n(97291),U=n(64364);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function J(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function Q(e){var t=function(e,t){if("object"!=D(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}function W(e,t,n){return t=$(t),function(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Z()?Reflect.construct(t,n||[],$(e).constructor):t.apply(e,n))}function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Z=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},$(e)}function K(e,t){return K=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},K(e,t)}var q="shared.seriesNotFoundError",z=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),W(this,t,["Series doesn't exist"])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&K(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"SeriesNotFoundError"}},{key:"heading",get:function(){return a.T.getPhrase(q,"heading")}},{key:"description",get:function(){return a.T.getPhrase(q,"description")}}])&&J(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(U.H),X=n(51855),Y=n(10671),ee=n(7179),te=n(27638),ne=n(44110),re=n(97816),ie=n(10741),ae=n(33192),oe=n(22490),ce=n(82431),se=a.T.encloseNamespace("shared.series"),ue=function(e){return k.o[e.name.charCodeAt(0)%k.o.length]};function le(e){var t,n,a,l,d=(0,i.I0)(),p=(0,te.u)(c.LZ.VideoThumbnail),f=p.setFavourite,v=p.canFavourite,m=(0,H.T)(),h=m.hasPermissions,k=m.hasLocalPermissions,U=(0,X.G)().isPlugin,D=(0,T.R0)(),J=D.openInCurationStudioLabel,Q=D.isUserCurator,W=D.getOpenInCurationStudioLink;(0,ee.P)({id:e.id,app:"series",shareId:e.shareId});var Z=o.a.useBasicFetch(x.L.config()),$=o.a.useBasicFetch(C.N.currentUser()),K=o.a.useBasicFetch((null===(t=$.data)||void 0===t?void 0:t.isAuthenticated)&&j.h.yearGroups($.data.customerId)),q=o.a.useBasicFetch(e.shareId?O.J.sharedSeries(e.id,e.shareId):O.J.series(e.id)),le=(0,ne.i)();(0,_.M)(V.CG.getSeriesMetadata({content:q.data,phraseContext:{phraseHandler:se,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:ae.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:ae.f.allowIndexing()}));var de=(0,Y._)({location:Y.i.VideoItem,shareId:e.shareId}),pe=o.a.useBasicFetch(e.classificationId&&L.x.path(e.classificationId));function fe(e){return!ae.f.isBot()||!e}function ve(t){var n;return fe(t)?O.J.seriesVideos(e.id,null===(n=$.data)||void 0===n?void 0:n.id,he,t):null}function me(e){return o.a.getFetch(d)(ve(e))}var he=!!$.data&&R.d.getOrSetSortType($.data.id,e.sort,A.D.Series),be={classificationId:e.classificationId,mtv:e.moviesAndTv},ge=(0,F.K)(!!$.data&&ve,me),ye=ge.items,Ee=ge.isFetching,Se=ge.nextCursor;(0,re.V)(ye),(0,N.v)(q,{notFound:z});var ke=!h(I.C.StudentExperience)&&k(I.E.UseSeriesActions),we=(0,P.h)({name:null===(n=q.data)||void 0===n?void 0:n.name});return r.createElement(w.M.Provider,{value:de},r.createElement("div",{className:"px-3"},Z.data&&q.data?r.createElement(s.p,{heading:q.data.name,banner:q.data.banner,imageCdnUrl:Z.data.imageCdnUrl,actions:function(){var e,t,n;if(U||!ke)return[];var r=[{label:se("share"),appLink:q&&{application:M.O.DEFAULT,action:B.e.Default.SHARE,args:[null===(e=q.data)||void 0===e?void 0:e.id],params:{entityType:"series"}},svgName:G.vn.Share2,className:"btn btn-outline-dark me-2",button:!0}];return Q&&r.push({label:J,href:W(null===(t=q.data)||void 0===t?void 0:t.typeId,null===(n=q.data)||void 0===n?void 0:n.id),openInNewTab:!0}),r}(),actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:ue(q.data)}):r.createElement(s.v,null),r.createElement("div",null,r.createElement("div",{className:(null===(a=q.data)||void 0===a?void 0:a.description)||e.moviesAndTv&&pe.data?"border-bottom py-3 mb-3":"pt-3 mb-2"},!q.data||e.classificationId&&!pe.data?r.createElement(u.b2,null):r.createElement(u.Oo,{breadcrumbs:we}),r.createElement("div",{className:"d-flex align-items-center"},(null===(l=q.data)||void 0===l?void 0:l.description)&&r.createElement("div",{className:"mb-0 ".concat(e.classificationId?"pt-2":"")},r.createElement(b,{text:q.data.description})),q.data&&r.createElement("div",{className:"ms-auto"},r.createElement(S.p,{variant:"outline-dark",type:he,analyticsOptions:{location:c.LZ.VideoListHeader,entity:c.py.Video,actionType:c.Vw.Sort,workflowPhase:c.eu.Complete},getSortAppLink:function(e){return ce.j.getSeriesAppLink(q.data,Object.assign(Object.assign({},be),{sort:e}))}})))),ye?r.createElement(r.Fragment,null,r.createElement(E.E4,{videos:ye,yearGroups:K.data,getVideoAppLink:e.getVideoAppLink,hasPermissions:h,getSubTextAppLink:function(e){return ce.j.getSeriesAppLink(null==e?void 0:e.series,Object.assign(Object.assign({},be),{sort:he}))},setFavourite:f,canFavourite:v,presentationAudiences:e.moviesAndTv?null:le.data,getPreviewQuestionsAppLink:function(e){return ie.j.getPreviewQuestionsAppLink(e)},isPlugin:U,getClassroomGuideAppLink:oe.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:oe.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:oe.W.getResourceGuidanceAppLink}),(Ee||Se)&&fe(Se)&&r.createElement(g._,{isFetching:Ee,fetchNext:me,nextCursor:Se})):r.createElement(y.S,null))))}}}]);
|
|
2
|
+
//# sourceMappingURL=4850-bb9541d3ed-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4850-bb9541d3ed-lite.chunk.js","mappings":"6MAWM,SAAUA,EAAiBC,GAC/B,IAAMC,EAAiB,2BAWvB,OACE,gBAAC,EAAAC,WAAU,CACTC,IAAKH,EAAMI,SACXC,GAAIL,EAAMI,SACVE,QAASN,EAAMM,QACfC,gBAdoB,SAACC,GAAY,OAAK,+BACrCP,GAAc,CACjBQ,OAAQ,CACNC,QAASF,EAAMH,GACfM,UAAWX,EAAMI,SACjBQ,QAAS,aACV,GAWL,C,sKC9BA,SAAgB,KAAO,QAAQ,QAAU,S,ggCCYzC,IAAMC,EAAY,wBAEZ,SAAUC,EAAed,G,QACrBe,EAAoBf,EAApBe,KAAI,EAAgBf,EAAdgB,MAAAA,OAAK,IAAG,IAAC,EACgC,IAArB,YAAe,GAAM,GAA/CC,EAAQ,KAAEC,EAAW,KAEvBC,EAAe,SAA6B,MAE5CC,EAAmB,SAAqB,GAC9C,aAAgB,WACVD,EAAaE,QAAQC,eAEvBF,EAAiBC,QAAUF,EAAaE,QAAQC,aACpD,GAAG,IAEH,IAAmH,IAA7E,YAAmC,QAApB,EAAAH,EAAaE,eAAO,eAAEE,cAAeH,EAAiBC,SAAQ,GAA3GG,EAAU,KAAEC,EAAa,KAgBjC,OAdA,QAAkB,W,MACZN,EAAaE,QAAQC,eAEvBF,EAAiBC,QAAUF,EAAaE,QAAQC,aAChDG,GAAkC,QAApB,EAAAN,EAAaE,eAAO,eAAEE,cAAeH,EAAiBC,SAExE,IAEA,aAAgB,W,SACU,QAApB,EAAAF,EAAaE,eAAO,eAAEE,eACxBE,GAAkC,QAApB,EAAAN,EAAaE,eAAO,eAAEE,cAAeH,EAAiBC,QAExE,GAAG,CAAsB,QAApB,EAAAF,EAAaE,eAAO,eAAEE,aAAcH,EAAiBC,UAGxD,uBAAKK,UAAU,0BACb,uBAAKA,UAAS,UAAKT,EAAW,GAAK,SAAH,OAAYD,GAAO,YAAI,QAAeW,IAAKR,IACtEF,GAAYO,GACb,gBAACI,EAAA,EAAS,CACRC,QAAS,kBAAMX,GAAY,EAAK,EAChCQ,UAAS,8CAAyC,YAElD,gBAACI,EAAA,EAAI,CAACjB,UAAWA,EAAWkB,OAAO,aAGvC,qBAAGL,UAAU,iBAAiBX,GAC7BE,GACC,gBAACW,EAAA,EAAS,CACRC,QAAS,kBAAMX,GAAY,EAAM,EACjCQ,UAAS,gDAET,gBAACI,EAAA,EAAI,CAACjB,UAAWA,EAAWkB,OAAO,cAM/C,C,mtDC/DA,IAAM,EAAY,6BAELC,EAAoB,YAC/B,oB,4FAAA,mBACQ,wBACR,CAEA,O,qRAAA,M,EAAA,G,EAAA,iBACA,WACE,MAAO,qBACT,GAEA,mBACA,WACE,OAAOC,EAAA,YAA0B,EAAW,UAC9C,GAEA,uBACA,WACE,OAAOA,EAAA,YAA0B,EAAW,cAC9C,M,6EAAC,CAlB8B,CAAQC,EAAA,G,qHCgDnCC,GAAYF,EAAA,mBADA,iBAGZG,GAA+B,SAACC,GACpC,OAAO,IAAsBA,EAAOC,KAAKC,WAAW,GAAK,WAC3D,EAWM,SAAUrC,GAAWF,G,YACnBwC,GAAW,UACjB,GAAuC,EAAAC,GAAAC,GAAkB,qBAAjDC,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACtB,GAAgD,EAAAC,EAAA,KAAxCC,EAAc,EAAdA,eAAgBC,EAAmB,EAAnBA,oBAChBC,GAAa,EAAAC,EAAA,KAAbD,SACR,GAAkF,EAAAE,EAAA,MAA1EC,EAAyB,EAAzBA,0BAA2BC,EAAa,EAAbA,cAAeC,EAA2B,EAA3BA,6BAElD,EAAAC,GAAA,GAAa,CAAEjD,GAAIL,EAAMK,GAAIkD,IAAK,SAAUjD,QAASN,EAAMM,UAE3D,IAAMkD,EAAS,kBAA6BC,EAAA,YACtCC,EAAc,kBAAkCC,EAAA,iBAChDC,EAAa,mBACD,QAAhB,EAAAF,EAAYG,YAAI,eAAEC,kBAAmBC,EAAA,aAA4BL,EAAYG,KAAKG,aAG9E3B,EAAS,kBAA6BrC,EAAMM,QAC9C2D,EAAA,eAA4BjE,EAAMK,GAAIL,EAAMM,SAC5C2D,EAAA,SAAsBjE,EAAMK,KAE1B6D,IAAY,EAAAC,GAAA,MAElB,EAAAC,EAAA,GAAmBC,EAAA,qBAAqC,CACtDC,QAASjC,EAAOwB,KAChBU,cAAe,CACbC,cAAerC,GACfsC,YAAa,YACbC,kBAAmB,mBAErBC,cAAeC,GAAA,mBAA2B,CAAEC,uBAAuB,IACnEC,cAAeF,GAAA,qBAGjB,IAAMG,IAAe,EAAAC,EAAA,GAAgB,CAAEC,SAAU,cAAgC3E,QAASN,EAAMM,UAE1F4E,GAAY,kBAChBlF,EAAMmF,kBACNC,EAAA,OAA4BpF,EAAMmF,mBAYpC,SAASE,GAAYC,GACnB,OAAIV,GAAA,YAAqBU,CAI3B,CAEA,SAASC,GAAiBD,G,MACxB,OAAKD,GAAYC,GAGVrB,EAAA,eAA4BjE,EAAMK,GAAoB,QAAhB,EAAAqD,EAAYG,YAAI,eAAExD,GAAImF,GAAMF,GAFhE,IAGX,CAEA,SAASG,GAAUH,GACjB,OAAO,aAAgB9C,EAAhB,CAA0B+C,GAAiBD,GACpD,CA+BA,IAAME,KAAS9B,EAAYG,MAAQ6B,EAAA,mBACjChC,EAAYG,KAAKxD,GACjBL,EAAMwF,KACNG,EAAA,UAGIC,GAAe,CACnBT,iBAAkBnF,EAAMmF,iBACxBU,IAAK7F,EAAM8F,aAGb,IAII,SAAuBpC,EAAYG,MAAO0B,GAA0BE,IAH/DM,GAAM,GAAbC,MACAC,GAAU,GAAVA,WACAC,GAAU,GAAVA,YAGF,EAAAC,GAAA,GAAcJ,KAEd,OAAqB1D,EAAQ,CAC3B+D,SAAUpE,IAGZ,IAAMqE,IAAqBvD,EAAewD,EAAA,sBACxCvD,EAAoB,sBAEhBwD,IAAc,EAAAC,EAAA,GAAe,CAAElE,KAAiB,QAAX,EAAAD,EAAOwB,YAAI,eAAEvB,OAExD,OACE,gBAACmE,EAAA,WAA4B,CAACC,MAAO3B,IACnC,uBAAKrD,UAAU,QACZ8B,EAAOK,MAAQxB,EAAOwB,KAEnB,gBAAC8C,EAAA,EAAY,CACXC,QAASvE,EAAOwB,KAAKvB,KACrBuE,OAAQxE,EAAOwB,KAAKgD,OACpBC,YAAatD,EAAOK,KAAKiD,YACzBC,QAlEZ,W,UACE,GAAI/D,IAAaqD,GACf,MAAO,GAGT,IAAMU,EAA2B,CAAC,CAChCC,MAAO7E,GAAU,SACjB8E,QAAS5E,GAAU,CACjB6E,YAAa,YACbC,OAAQ,kBACRC,KAAM,CAAY,QAAX,EAAA/E,EAAOwB,YAAI,eAAExD,IACpBI,OAAQ,CAAE4G,WAAY,WAExBC,QAAS,YACT5F,UAAW,4BACX6F,QAAQ,IAUV,OAPInE,GACF2D,EAAQS,KAAK,CACXR,MAAO7D,EACPsE,KAAMpE,EAAuC,QAAX,EAAAhB,EAAOwB,YAAI,eAAE6D,OAAmB,QAAX,EAAArF,EAAOwB,YAAI,eAAExD,IACpEsH,cAAc,IAGXZ,CACT,CAwCqBa,GACTC,yBAAyB,uBACzBC,iBAAkB1F,GAA6BC,EAAOwB,QAEtD,gBAAC,IAAmB,MAG1B,2BACE,uBAAKnC,WAAsB,QAAX,EAAAW,EAAOwB,YAAI,eAAEkE,cAAgB/H,EAAM8F,aAAeZ,GAAUrB,KAAQ,0BAA4B,cAEvGxB,EAAOwB,MAAS7D,EAAMmF,mBAAqBD,GAAUrB,KACjD,gBAAC,KAAkB,MAG1B,gBAACmE,EAAA,GAAW,CAACzB,YAAaA,KAI9B,uBAAK7E,UAAU,8BACD,QAAX,EAAAW,EAAOwB,YAAI,eAAEkE,cACZ,uBAAKrG,UAAS,eAAU1B,EAAMmF,iBAAmB,OAAS,KACxD,gBAACrE,EAAc,CAACC,KAAMsB,EAAOwB,KAAKkE,eAIrC1F,EAAOwB,MACN,uBAAKnC,UAAU,WACb,gBAACuG,EAAA,EAAe,CACdC,QAAQ,eACRC,KAAM3C,GACN4C,iBAAkB,CAChBnD,SAAU,qBACVoD,OAAQ,WACRC,WAAY,UACZC,cAAe,eAEjBC,eAAgB,SAAAhD,GACd,OAAOiD,GAAA,mBAAqCpG,EAAOwB,KAAM,OAAF,wBAAO+B,IAAY,CAAEJ,KAAAA,IAC9E,OAQHO,GAIH,gCACE,gBAAC2C,EAAA,GAAS,CACR3C,OAAQA,GACRnC,WAAYA,EAAWC,KACvBtD,gBAAiBP,EAAMO,gBACvBuC,eAAgBA,EAChB6F,kBAAmB,SAAAnI,GAAK,OACtBiI,GAAA,mBAAqCjI,aAAK,EAALA,EAAO6B,OAAQ,OAAF,wBAAOuD,IAAY,CAAEJ,KAAAA,KAAO,EAChF7C,aAAcA,EACdC,aAAcA,EACdgG,sBAAuB5I,EAAM8F,YAAc,KAAO5B,GAAUL,KAC5DgF,2BAA4B,SAAAC,GAAW,OAAIC,GAAA,6BAA8CD,EAAY,EACrG9F,SAAUA,EACVgG,yBAA0BC,GAAA,2BAC1BC,8BAA+BD,GAAA,gCAC/BE,2BAA4BF,GAAA,gCAE5BhD,IAAcC,KAAeb,GAAYa,KACzC,gBAACkD,EAAA,EAAoB,CACnBnD,WAAYA,GACZR,UAAWA,GACXS,WAAYA,MAxBX,gBAACmD,EAAA,EAAgB,QAkCtC,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-series/SharedSeriesView.tsx","file:///app/packages/libs/shared/src/components/expandable-text/expandable-text.scss","file:///app/packages/libs/shared/src/components/expandable-text/ExpandableText.tsx","file:///app/packages/projects/lite/src/shared/errors/series/series-not-found/SeriesNotFoundError.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { Video } from 'libs/shared/interfaces';\n\nimport { SeriesView } from 'shared/views/series/SeriesView';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedSeriesView(props: ShareLinkViewProps): JSX.Element {\n const currentAppLink = Core.AppLinkHelper.getCurrentAppLink();\n\n const getVideoAppLink = (video: Video) => ({\n ...currentAppLink,\n params: {\n videoId: video.id,\n contextId: props.objectId,\n context: RelatedVideosContext.Series\n }\n });\n\n return (\n <SeriesView\n key={props.objectId}\n id={props.objectId}\n shareId={props.shareId}\n getVideoAppLink={getVideoAppLink}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"text\":\"wLJpg\",\"seeMore\":\"x5t0p\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\n\nimport styles from './expandable-text.scss';\n\ninterface ExpandableTextProps{\n text: string;\n lines?: number;\n}\n\nconst namespace = 'shared.expandableText';\n\nexport function ExpandableText(props: ExpandableTextProps): JSX.Element {\n const { text, lines = 2 } = props;\n const [ expanded, setExpanded ] = React.useState(false);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const memoClientHeight = React.useRef<number>(0);\n React.useEffect(() => {\n if (containerRef.current.clientHeight)\n // memo the initial clientHeight, cuz after expand and collapse the clientHeight will change\n memoClientHeight.current = containerRef.current.clientHeight;\n }, []);\n\n const [ showButton, setShowButton ] = React.useState(containerRef.current?.scrollHeight > memoClientHeight.current);\n\n useResizeListener(() => {\n if (containerRef.current.clientHeight) {\n // update memo value on resize\n memoClientHeight.current = containerRef.current.clientHeight;\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n });\n\n React.useEffect(() => {\n if (containerRef.current?.scrollHeight) {\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n }, [ containerRef.current?.scrollHeight, memoClientHeight.current ]);\n\n return (\n <div className='d-flex overflow-hidden'>\n <div className={`${expanded ? '' : `clamp-${lines}`} ${styles.text}`} ref={containerRef}>\n {(!expanded && showButton) && (\n <DivButton\n onClick={() => setExpanded(true)}\n className={`ms-1 info-text hover-text-underline ${styles.seeMore}`}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </DivButton>\n )}\n <p className='mb-0 d-inline'>{text}</p>\n {expanded && (\n <DivButton\n onClick={() => setExpanded(false)}\n className={`ms-1 info-text hover-text-underline d-inline`}\n >\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n )}\n </div>\n </div>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.seriesNotFoundError';\n\nexport class SeriesNotFoundError extends ErrorPageError {\n constructor() {\n super('Series doesn\\'t exist');\n }\n\n // @ts-ignore\n public get name(): string {\n return 'SeriesNotFoundError';\n }\n\n // @ts-ignore\n public get heading(): string {\n return LanguageService.getPhrase(namespace, 'heading');\n }\n\n // @ts-ignore\n public get description(): string {\n return LanguageService.getPhrase(namespace, 'description');\n }\n}","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableText } from 'libs/shared/components/expandable-text/ExpandableText';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, Config, CurrentUser, Series, Video, YearGroup } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { SeriesNotFoundError } from 'shared/errors/series/series-not-found/SeriesNotFoundError';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getFallbackBannerColourClass = (series: Series): string => {\n return BG_COLOUR_CLASS_NAMES[series.name.charCodeAt(0) % BG_COLOUR_CLASS_NAMES.length];\n};\n\ninterface SeriesViewProps {\n id: string;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n classificationId?: string;\n shareId?: string;\n moviesAndTv?: boolean;\n sort?: VideoSortType;\n}\n\nexport function SeriesView(props: SeriesViewProps): JSX.Element {\n const dispatch = useDispatch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n useDeepLinks({ id: props.id, app: 'series', shareId: props.shareId });\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const series = Flight.useBasicFetch<Series>(props.shareId\n ? SeriesRequests.sharedSeries(props.id, props.shareId)\n : SeriesRequests.series(props.id));\n\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata(PageMetadataHelper.getSeriesMetadata({\n content: series.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, shareId: props.shareId });\n\n const topicPath = Flight.useBasicFetch<Classification[]>(\n props.classificationId &&\n ClassificationRequests.path(props.classificationId)\n );\n\n /**\n * Infinite scrolling will be restricted for public browsing as a crawler/bot.\n * The rationale behind this is that we don't want to preload or allow crawlers\n * to enumerate the entirety of our series collections. Some series have > 10k videos\n * and they don't all need to be indexed (i.e. old news/current affair series).\n * \n * Public browsing by regular users will continue to paginate, along with authenticated\n * users. - Mike\n */\n function shouldFetch(cursor?: string) {\n if (SeoHelper.isBot() && cursor)\n return false;\n\n return true;\n }\n\n function getVideosRequest(cursor?: string) {\n if (!shouldFetch(cursor))\n return null;\n\n return SeriesRequests.seriesVideos(props.id, currentUser.data?.id, sort, cursor);\n }\n\n function fetchNext(cursor?: string) {\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n function getBannerActions(): ActionOptions[] {\n if (isPlugin || !showHeaderActions) {\n return [];\n }\n\n const actions: ActionOptions[] = [{\n label: getPhrase('share'),\n appLink: series && {\n application: AppChannels.DEFAULT,\n action: Actions.Default.SHARE,\n args: [series.data?.id],\n params: { entityType: 'series' }\n },\n svgName: cvSvgLibrary.Share2,\n className: 'btn btn-outline-dark me-2',\n button: true\n }];\n\n if (isUserCurator)\n actions.push({\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(series.data?.typeId, series.data?.id),\n openInNewTab: true\n });\n\n return actions;\n }\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data && VideoSortHelper.getOrSetSortType(\n currentUser.data.id,\n props.sort,\n VideoSortType.Series\n );\n\n const seriesParams = {\n classificationId: props.classificationId,\n mtv: props.moviesAndTv\n };\n\n const {\n items: videos,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(currentUser.data ? getVideosRequest : false, fetchNext);\n\n useVideoMixin(videos);\n\n useHandleObjectError(series, {\n notFound: SeriesNotFoundError\n });\n\n const showHeaderActions = !hasPermissions(PermissionName.StudentExperience) &&\n hasLocalPermissions(LocalPermissionName.UseSeriesActions);\n\n const breadcrumbs = useBreadcrumbs({ name: series.data?.name });\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n {config.data && series.data\n ? (\n <BannerHeader\n heading={series.data.name}\n banner={series.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n actions={getBannerActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n blockColourClass={getFallbackBannerColourClass(series.data)}\n />\n ) : <PartialBannerHeader />\n }\n \n <div>\n <div className={series.data?.description || (props.moviesAndTv && topicPath.data) ? 'border-bottom py-3 mb-3' : 'pt-3 mb-2'}>\n {(() => {\n if (!series.data || (props.classificationId && !topicPath.data))\n return <PartialBreadcrumbs />;\n\n return (\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n );\n })()}\n\n <div className='d-flex align-items-center'>\n {series.data?.description && (\n <div className={`mb-0 ${props.classificationId ? 'pt-2' : ''}`}>\n <ExpandableText text={series.data.description}/>\n </div>\n )}\n\n {series.data && (\n <div className='ms-auto'>\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n getSortAppLink={sort => {\n return SeriesAppLinkHelper.getSeriesAppLink(series.data, { ...seriesParams, sort });\n }}\n />\n </div>\n )}\n </div>\n </div>\n\n {(() => {\n if (!videos)\n return <PartialVideoList />;\n\n return (\n <>\n <VideoList\n videos={videos}\n yearGroups={yearGroups.data}\n getVideoAppLink={props.getVideoAppLink}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video =>\n SeriesAppLinkHelper.getSeriesAppLink(video?.series, { ...seriesParams, sort })}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={props.moviesAndTv ? null : audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {(isFetching || nextCursor) && shouldFetch(nextCursor) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n />\n )}\n </>\n );\n })()}\n </div>\n </div>\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["SharedSeriesView","props","currentAppLink","SeriesView","key","objectId","id","shareId","getVideoAppLink","video","params","videoId","contextId","context","namespace","ExpandableText","text","lines","expanded","setExpanded","containerRef","memoClientHeight","current","clientHeight","scrollHeight","showButton","setShowButton","className","ref","DivButton","onClick","Text","phrase","SeriesNotFoundError","LanguageService","ErrorPageError","getPhrase","getFallbackBannerColourClass","series","name","charCodeAt","dispatch","useLiteFavourites","u","setFavourite","canFavourite","usePermissions","hasPermissions","hasLocalPermissions","isPlugin","usePluginHelper","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useDeepLinks","app","config","ConfigRequests","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","SeriesRequests","audiences","usePresentationAudiences","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","allowIndexing","videoActions","useVideoActions","location","topicPath","classificationId","ClassificationRequests","shouldFetch","cursor","getVideosRequest","sort","fetchNext","VideoSortHelper","VideoSortType","seriesParams","mtv","moviesAndTv","videos","items","isFetching","nextCursor","useVideoMixin","notFound","showHeaderActions","PermissionName","breadcrumbs","useBreadcrumbs","VideoActionsContext","value","BannerHeader","heading","banner","imageCdnUrl","actions","label","appLink","application","action","args","entityType","svgName","button","push","href","typeId","openInNewTab","getBannerActions","actionsDropdownClassName","blockColourClass","description","Breadcrumbs","VideoSortSelect","variant","type","analyticsOptions","entity","actionType","workflowPhase","getSortAppLink","SeriesAppLinkHelper","VideoList","getSubTextAppLink","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","VideoAppLinkHelper","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","InfiniteScrollFooter","PartialVideoList"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5573],{49935:(e,t,n)=>{n.d(t,{Oo:()=>b,b2:()=>v});var r=n(32735),a=n(23481),i=n(36848),l=n(86764),o=n(3747),c=n(5859),u=n(35223),s=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,l,o=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(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 d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var f=a.T.encloseNamespace("shared.breadcrumbComponent"),p=r.forwardRef((function(e,t){var n=e.breadcrumb,a=n.name,l=n.appLink,o=n.active,c=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?r.createElement("strong",null,a):r.createElement(i.F,{appLink:l,ref:t},c&&r.createElement(s.x,{svgName:u.vn.ChevronLeft,size:s.S.Small}),r.createElement("span",{className:c?"ms-2":""},a)))})),b=function(e){var t=e.breadcrumbs,n=(0,o.a)(l.r.XS),a=(null==t?void 0:t.length)||0,i=m(r.useState(!1),2),c=i[0],u=i[1],s=m(r.useState(!1),2),d=s[0],b=s[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&&u(!0)}),[null==t?void 0:t.length]),r.useLayoutEffect((function(){var e;d&&(null===(e=v.current)||void 0===e||e.focus())}),[v.current,d]),!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 h=r.createElement(p,{breadcrumb:t[0]}),y=a>2?r.createElement(p,{breadcrumb:t[a-2]}):r.createElement(r.Fragment,null),g=r.createElement(p,{breadcrumb:t[a-1]}),w=t.slice(1,a-2);return r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},h,c?r.createElement("li",{className:"breadcrumb-item"},r.createElement("button",{className:"btn-link",onClick:function(){u(!1),b(!0)},"aria-label":f("expand")},"...")):w.map((function(e,t){return r.createElement(p,{key:t,breadcrumb:e,ref:0===t?v:null})})),y,g))},v=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,o.a)(l.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"},c.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:" "}}))}))))}))},74696:(e,t,n)=>{n.d(t,{S:()=>u});var r=n(32735),a=n(68050),i=n(69111),l=n(9977),o=n(79967);const c={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function u(e){return r.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(t,n){return r.createElement("div",{className:"d-flex",key:n},e.allowBulkActions&&r.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),r.createElement(s,Object.assign({},e)))})))}function s(e){var t=(0,o.k)(),n="sm"===l.O.getSize(t,"md"),u=e.withReordering&&!t.xs;return r.createElement(a.Z,{className:"".concat(n?"":"py-2"," flex-grow-1")},r.createElement(i.Z,Object.assign({},l.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(n?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),r.createElement(a.Z,null,!!u&&r.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},r.createElement("div",{className:"partial-loading-background ".concat(c.partialDragHandle)})),r.createElement(i.Z,{xs:l.O.getThumbnailColSize(u)},r.createElement("div",{className:"partial-loading-background ".concat(n?"rounded":"rounded-3"," ").concat(c.partialThumbnail)})))),r.createElement(i.Z,Object.assign({},l.O.getDetailsColumns(),{className:n?"pb-2":"px-2"}),r.createElement("div",{className:"partial-loading-background mb-1 ".concat(c.partialName)}),r.createElement("div",{className:"partial-loading-background ".concat(c.partialDescription)})))}u.defaultProps={numVideos:15}},63719:(e,t,n)=>{n.d(t,{h:()=>o});var r=n(32735),a=n(77316);function i(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}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e){var t,n,o=(t=r.useMemo((function(){return a.p.getBuilder()}),[]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw a}}return o}}(t,n)||i(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=o[0],u=(0,o[1])(c);return u&&e?[].concat(function(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(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.")}()}(u),[Object.assign(Object.assign({},e),{active:!0})]):u}},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")}}))}}},38972:(e,t,n)=>{n.d(t,{a:()=>b});var r=n(32735),a=n(36848),i=n(83345),l=n(80247),o=n(57900),c=n(2948),u=n(10874),s=n(38143),m=n(35223);const d={banner:"B7jhq"};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 p="contentUpdates.classificationBanner";function b(e){var t,n,b=e.classification,v=e.backgroundUrl,h=e.followed,y=e.follow,g=e.showFollowSpinner,w=(t=(0,c.D)(s.g.AUDIENCE_FILTER,void 0,{storage:o.Z1.SessionStorage}),n=1,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw a}}return o}}(t,n)||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}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];return r.createElement("div",{className:"banner mb-2 d-flex justify-content-between align-items-center rounded ".concat(d.banner),style:{backgroundImage:"url('".concat(v,"')")}},r.createElement(a.F,{className:"text-white text-shadow",appLink:e.getClassificationAppLink(b,w)},r.createElement("h2",{className:"h3 mb-0"},b.name)),e.canFollow&&r.createElement(u.h,{className:"btn follow-btn ".concat(h?"btn-outline-dark":"btn-dark"),svgName:h?m.vn.BellFilled:m.vn.Bell,onClick:function(){return y(b.id,b.name,!h)}},g?r.createElement(l.Z,{as:"span",animation:"border",role:"status",size:"sm"}):r.createElement(i.x,{namespace:p,phrase:h?"following":"follow"})))}},19595:(e,t,n)=>{n.r(t),n.d(t,{ClassificationUpdateView:()=>G});var r=n(32735),a=n(70680),i=n(23481),l=n(20354),o=n(110),c=n(65858),u=n(54644),s=n(49935),m=n(13231),d=n(51365),f=n(16714),p=n(1666),b=n(61699),v=n(31949),h=n(69883),y=n(63719),g=n(22902),w=n(79612),E=n(76753),A=n(51855),S=n(10671),k=n(27638),N=n(44110),I=n(97816),j=n(10741),O=n(33192),C=n(22490),x=n(38972),L=n(74696);const F={partialBanner:"DKukI"};function M(){return r.createElement("div",{className:"bg-white px-3"},r.createElement("div",{className:"partial-loading-background mb-2 ".concat(F.partialBanner," rounded")}),r.createElement("div",{className:"mb-1"},r.createElement(s.b2,null)),r.createElement(L.S,null))}var T=n(49985),U="contentUpdates.classificationUpdate",B=i.T.encloseNamespace(U);function P(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=i.T.encloseNamespace("contentUpdates.classificationUpdate");function G(e){var t,n,L,F,G,V,Z,R,$,Y,_,W=e.classificationId,z=(0,A.G)().isPlugin,q=(0,a.I0)(),H=(0,h.Z)(),Q=(0,k.u)(c.LZ.VideoThumbnail),X=Q.setFavourite,K=Q.canFavourite,J=l.a.useBasicFetch(v.N.currentUser()),ee=l.a.useBasicFetch((null===(t=J.data)||void 0===t?void 0:t.isAuthenticated)&&p.h.yearGroups(J.data.customerId)),te=(Y=r.useState(!1),_=2,function(e){if(Array.isArray(e))return e}(Y)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw a}}return o}}(Y,_)||function(e,t){if(e){if("string"==typeof e)return P(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)?P(e,t):void 0}}(Y,_)||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.")}()),ne=te[0],re=function(e){var t=e.dispatch,n=e.alerts,r=e.setShowFollowSpinner;return{onFollow:function(e,a,o){r(!0);var u=function(){r(!1),T.k.logUserAction({id:e,name:a},{location:c.LZ.ContentUpdatesClassificationBanner,workflowPhase:c.eu.Complete,descriptor:o?c.DL.On:c.DL.Off,actionType:c.Vw.Follow,entity:c.py.Classification}),n.success(B(o?"followed":"unfollowed",{name:a,escapeText:!0}))},s=function(){r(!1),n.error(i.T.getPhrase(U,"error"))},m=o?b.o.followSubjects([e],u,s):b.o.unfollowSubjects([e],u,s);l.a.fetch(t,m)}}}({dispatch:q,alerts:H,setShowFollowSpinner:te[1],currentUser:null==J?void 0:J.data}),ae=new Date,ie=o.O.format(o.O.endOf(o.O.subtract(ae,1,"year"),"day"),"YYYY-MM-DD"),le=o.O.format(o.O.endOf(ae,"day"),"YYYY-MM-DD"),oe=(0,g.T)().hasPermissions,ce=oe(f.C.FollowSubjects),ue=l.a.useBasicFetch(u.v.getClassification(W)),se=l.a.useBasicFetch(J.data&&u.v.getClassificationUpdates(W,ie,le)),me=l.a.useBasicFetch(ce&&b.o.mySubjectPreferences()),de=(0,N.i)(),fe=(0,y.h)({name:null===(n=ue.data)||void 0===n?void 0:n.name});(0,w.M)(E.CG.getDefaultMetadata({title:null===(L=ue.data)||void 0===L?void 0:L.name,phraseContext:{phraseHandler:D,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:O.f.getCanonicalLink(),allowIndexing:O.f.allowIndexing()}));var pe=(0,S._)({location:S.i.VideoItem});(0,I.V)(null!==(G=null===(F=se.data)||void 0===F?void 0:F.videos)&&void 0!==G?G:[]);var be=me.hasCompleted||!ce;if(!(se.data&&ue.data&&be&&J.data))return r.createElement(M,null);var ve=null!==(Z=null===(V=me.data)||void 0===V?void 0:V.map((function(e){return e.id})))&&void 0!==Z?Z:[];return r.createElement(d.M.Provider,{value:pe},r.createElement("div",{className:"bg-white px-3"},r.createElement(x.a,{classification:ue.data,backgroundUrl:null!==($=null===(R=ue.data.banner)||void 0===R?void 0:R.url)&&void 0!==$?$:"",getClassificationAppLink:e.appLinks.getClassificationAppLink,followed:!!ve.find((function(e){return e.toString()===ue.data.id.toString()})),follow:re.onFollow,showFollowSpinner:ne,canFollow:ce}),r.createElement(s.Oo,{breadcrumbs:fe}),r.createElement(m.E4,{videos:se.data.videos,yearGroups:ee.data,getVideoAppLink:e.appLinks.getVideoAppLink,getSubTextAppLink:function(t){return e.appLinks.getSeriesAppLink(t.series)},setFavourite:X,canFavourite:K,hasPermissions:oe,presentationAudiences:de.data,getPreviewQuestionsAppLink:function(e){return j.j.getPreviewQuestionsAppLink(e)},isPlugin:z,getClassroomGuideAppLink:C.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:C.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:C.W.getResourceGuidanceAppLink})))}},44110:(e,t,n)=>{n.d(t,{i:()=>l});var r=n(20354),a=n(89454),i=n(86698),l=function(){var e=(0,i.y)({redirectOnError:!0}),t=e.activePresentation,n=e.getFallbackPresentation,l=t||n();return r.a.useBasicFetch(!!l&&a.O.presentationAudiences(l.id))}},97816:(e,t,n)=>{n.d(t,{V:()=>m});var r=n(32735),a=n(20354),i=n(21750),l=n(31949),o=n(1575),c=n(31908);function u(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e){var t,n,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=a.a.useBasicFetch(l.N.currentUser()),f=r.useRef(new Set),p=function(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(c.M.isVideo(e)||c.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(c.M.isVideo(e)||c.M.isClip(e))})):[]:[]}(e),b=p.map((function(e){return e.id})),v=(t=r.useState([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,l,o=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw a}}return o}}(t,n)||u(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),h=v[0],y=v[1];r.useEffect((function(){if((null==b?void 0:b.length)&&d.hasCompleted){var e=[];b.forEach((function(t){f.current.has(t)||(e.push(t),f.current.add(t))})),e.length&&y((function(t){var n,r=[].concat(function(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(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.")}()}(t),[o.R.videoMixinAssocs(e,m.flightNamespace)]);return(null===(n=d.data)||void 0===n?void 0:n.isAuthenticated)&&r.push(i.x.hasCurriculumLinks(e,null,m.flightNamespace)),r}))}}),[null==b?void 0:b.length,d.hasCompleted]),a.a.useBasicFetchAll(h)}},68050:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(95685),a=n.n(r),i=n(32735),l=n(46304),o=n(74512);const c=i.forwardRef((({bsPrefix:e,className:t,as:n="div",...r},i)=>{const c=(0,l.vE)(e,"row"),u=(0,l.pi)(),s=(0,l.zG)(),m=`${c}-cols`,d=[];return u.forEach((e=>{const t=r[e];let n;delete r[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const a=e!==s?`-${e}`:"";null!=n&&d.push(`${m}${a}-${n}`)})),(0,o.jsx)(n,{ref:i,...r,className:a()(t,c,...d)})}));c.displayName="Row";const u=c}}]);
|
|
2
|
+
//# sourceMappingURL=5573-4352a3537e-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/5573-4352a3537e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/hooks/useBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/content-updates/components/classification-banner/classification-banner.scss","file:///app/packages/projects/lite/src/apps/content-updates/components/classification-banner/ClassificationBanner.tsx","file:///app/packages/projects/lite/src/apps/content-updates/views/classification-update/partial-loading/partial-classification-update.scss","file:///app/packages/projects/lite/src/apps/content-updates/views/classification-update/partial-loading/PartialClassificationUpdate.tsx","file:///app/packages/projects/lite/src/apps/content-updates/views/classification-update/ClassificationUpdateViewCallbacks.tsx","file:///app/packages/projects/lite/src/apps/content-updates/views/classification-update/ClassificationUpdateView.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts","file:///app/node_modules/react-bootstrap/esm/Row.js"],"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});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","import React from 'react';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BreadcrumbService } from 'libs/shared/services/BreadcrumbService';\n\nexport function useBreadcrumbs(current: Breadcrumb): Breadcrumb[] {\n const [ match, useBuilder ] = React.useMemo(() => BreadcrumbService.getBuilder(), []);\n\n const breadcrumbs = useBuilder(match);\n\n if (!breadcrumbs || !current)\n return breadcrumbs;\n\n return [ ...breadcrumbs, { ...current, active: true }];\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"B7jhq\"};","import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { Classification, PresentationAudience } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './classification-banner.scss';\n\nconst namespace = 'contentUpdates.classificationBanner';\n\ninterface ClassificationBannerProps {\n classification: Classification;\n backgroundUrl: string;\n getClassificationAppLink: (classification: Classification, activeAudiences: PresentationAudience[]) => Core.AppLink;\n followed: boolean;\n follow: (classificationId: string, classificationName: string, follow: boolean) => void;\n showFollowSpinner: boolean;\n canFollow: boolean;\n}\n\nexport function ClassificationBanner(props: ClassificationBannerProps): JSX.Element {\n const { classification, backgroundUrl, followed, follow, showFollowSpinner } = props;\n\n const [activeAudiences] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n return (\n <div\n className={`banner mb-2 d-flex justify-content-between align-items-center rounded ${styles.banner}`}\n style={{ backgroundImage: `url('${backgroundUrl}')` }}\n >\n <AppLink className='text-white text-shadow' appLink={props.getClassificationAppLink(classification, activeAudiences)}>\n <h2 className='h3 mb-0'>{classification.name}</h2>\n </AppLink>\n\n {props.canFollow && (\n <IconButton\n className={`btn follow-btn ${followed ? 'btn-outline-dark' : 'btn-dark'}`}\n svgName={followed ? cvSvgLibrary.BellFilled : cvSvgLibrary.Bell}\n onClick={() => follow(classification.id, classification.name, !followed)}\n >\n {showFollowSpinner\n ? <Spinner as='span' animation='border' role='status' size='sm' />\n : <Text namespace={namespace} phrase={followed ? 'following' : 'follow'} />\n }\n </IconButton>\n )}\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"partialBanner\":\"DKukI\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-classification-update.scss';\n\nexport function PartialClassificationUpdate(): JSX.Element {\n return (\n <div className='bg-white px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialBanner} rounded`} />\n\n <div className='mb-1'>\n <PartialBreadcrumbs />\n </div>\n\n <PartialVideoList />\n </div>\n );\n}","\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, ToggleDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\nimport { Alerts } from 'libs/shared/hooks/UseAlerts';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nconst namespace = 'contentUpdates.classificationUpdate';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassificationViewCallbackManager {\n dispatch: React.Dispatch<Flight.RequestAction>;\n alerts: Alerts;\n setShowFollowSpinner: React.Dispatch<React.SetStateAction<boolean>>;\n currentUser: CurrentUser;\n}\n\nexport function getClassificationCallbacks(\n options: ClassificationViewCallbackManager\n) {\n const { dispatch, alerts, setShowFollowSpinner } = options;\n\n function onFollow(classificationId: string, classificationName: string, follow: boolean): void {\n setShowFollowSpinner(true);\n\n const onSuccess = () => {\n setShowFollowSpinner(false);\n\n AnalyticsHelper.logUserAction({\n id: classificationId,\n name: classificationName\n }, {\n location: LocationContext.ContentUpdatesClassificationBanner,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: follow ? ToggleDescriptor.On : ToggleDescriptor.Off,\n actionType: UserAction.Follow,\n entity: EntityType.Classification\n });\n\n alerts.success(getPhrase(follow ? 'followed' : 'unfollowed', { name: classificationName, escapeText: true }));\n };\n\n const onError = () => {\n setShowFollowSpinner(false);\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n };\n\n const request = follow ?\n PreferenceRequests.followSubjects([classificationId], onSuccess, onError) :\n PreferenceRequests.unfollowSubjects([classificationId], onSuccess, onError);\n\n Flight.fetch(dispatch, request);\n }\n\n return {\n onFollow\n };\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { ContentUpdateRequests } from 'libs/shared/apps/content-updates/flight-requests/ContentUpdateRequests';\nimport { ClassificationVideosGrouping, ContentUpdateAppLinks } from 'libs/shared/apps/content-updates/interfaces';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { PreferenceRequests } from 'libs/shared/flight-requests/PreferenceRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useBreadcrumbs } from 'libs/shared/hooks/useBreadcrumbs';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, CurrentUser, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { ClassificationBanner } from 'apps/content-updates/components';\n\nimport { PartialClassificationUpdate } from './partial-loading/PartialClassificationUpdate';\nimport { getClassificationCallbacks } from './ClassificationUpdateViewCallbacks';\n\nconst namespace = 'contentUpdates.classificationUpdate';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassificationUpdateViewProps {\n classificationId: string;\n appLinks: ContentUpdateAppLinks;\n presentationSlug?: string;\n}\n\nexport function ClassificationUpdateView(props: ClassificationUpdateViewProps): JSX.Element {\n const { classificationId } = props;\n\n const { isPlugin } = usePluginHelper();\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const [ showFollowSpinner, setShowFollowSpinner ] = React.useState(false);\n\n const callbacks = getClassificationCallbacks({\n dispatch,\n alerts,\n setShowFollowSpinner,\n currentUser: currentUser?.data\n });\n\n const date = new Date();\n // Retrieve the past 1 year from today\n const from = DateHelper.format(DateHelper.endOf(DateHelper.subtract(date, 1, 'year'), 'day'), 'YYYY-MM-DD');\n const to = DateHelper.format(DateHelper.endOf(date, 'day'), 'YYYY-MM-DD');\n\n const { hasPermissions } = usePermissions();\n const canFollowSubjects = hasPermissions(PermissionName.FollowSubjects);\n\n const classification = Flight.useBasicFetch<Classification>(\n ContentUpdateRequests.getClassification(classificationId)\n );\n\n const contentUpdates = Flight.useBasicFetch<ClassificationVideosGrouping>(currentUser.data &&\n ContentUpdateRequests.getClassificationUpdates(classificationId, from, to));\n\n const subjectPreferences = Flight.useBasicFetch<Classification[]>(canFollowSubjects &&\n PreferenceRequests.mySubjectPreferences());\n\n const audiences = usePresentationAudiences();\n\n const breadcrumbs = useBreadcrumbs({ name: classification.data?.name });\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: classification.data?.name,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n useVideoMixin(contentUpdates.data?.videos ?? []);\n\n const hasLoadedPreferences = subjectPreferences.hasCompleted || !canFollowSubjects;\n\n const dataLoaded = (\n contentUpdates.data && classification.data &&\n hasLoadedPreferences && currentUser.data\n );\n\n if (!dataLoaded)\n return <PartialClassificationUpdate />;\n\n const preferredSubjectIds = subjectPreferences.data?.map(subject => subject.id) ?? [];\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='bg-white px-3'>\n <ClassificationBanner\n classification={classification.data}\n backgroundUrl={classification.data.banner?.url ?? ''}\n getClassificationAppLink={props.appLinks.getClassificationAppLink}\n followed={!!preferredSubjectIds.find(id => id.toString() === classification.data.id.toString())}\n follow={callbacks.onFollow}\n showFollowSpinner={showFollowSpinner}\n canFollow={canFollowSubjects}\n />\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n\n\n <VideoList\n videos={contentUpdates.data.videos}\n yearGroups={yearGroups.data}\n getVideoAppLink={props.appLinks.getVideoAppLink}\n getSubTextAppLink={video => props.appLinks.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n hasPermissions={hasPermissions}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, ClipCollection, CurrentUser, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ntype Types = Video[] | VideoCollection | Clip[] | ClipCollection;\n\nfunction getValidObjects(objects: Types): (Video | Clip)[] {\n if (!objects)\n return [];\n\n if (Array.isArray(objects))\n return objects.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n if ('data' in objects)\n return objects.data.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n return [];\n}\n\ninterface VideoMixinOptions {\n /**\n * If the videos that are having new data mixed into are sitting on an explicit Flight namespace,\n * providing that namespace here is required\n */\n flightNamespace?: string;\n}\n\nexport function useVideoMixin(objects: Types, options: VideoMixinOptions = {}): void {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const hydratedVideos = React.useRef<Set<string>>(new Set<string>());\n\n const videos = getValidObjects(objects);\n\n const videoIds = videos.map(v => v.id);\n\n const [ request, setRequest ] = React.useState<Flight.Request[]>([]);\n\n React.useEffect(() => {\n if (!videoIds?.length || !currentUser.hasCompleted)\n return;\n\n const unhydratedVideos: string[] = [];\n\n videoIds.forEach(id => {\n if (!hydratedVideos.current.has(id)) {\n unhydratedVideos.push(id);\n hydratedVideos.current.add(id);\n }\n });\n \n if (!unhydratedVideos.length)\n return;\n\n setRequest(r => {\n const newRequests = [\n ...r,\n VideoRequests.videoMixinAssocs(unhydratedVideos, options.flightNamespace)\n ];\n\n if (currentUser.data?.isAuthenticated)\n newRequests.push(ClassificationRequests.hasCurriculumLinks(unhydratedVideos, null, options.flightNamespace));\n\n return newRequests;\n });\n }, [ videoIds?.length, currentUser.hasCompleted ]);\n\n Flight.useBasicFetchAll(request);\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["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","PartialVideoList","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","useBreadcrumbs","match","useBuilder","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","ClassificationBanner","classification","backgroundUrl","followed","follow","showFollowSpinner","activeAudiences","SharedViewModelKeys","undefined","storage","backgroundImage","getClassificationAppLink","canFollow","IconButton","id","Spinner","as","animation","role","namespace","phrase","PartialClassificationUpdate","LanguageService","ClassificationUpdateView","classificationId","isPlugin","usePluginHelper","dispatch","alerts","useLiteFavourites","u","setFavourite","canFavourite","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","callbacks","setShowFollowSpinner","onFollow","classificationName","onSuccess","AnalyticsHelper","location","workflowPhase","descriptor","actionType","entity","success","escapeText","onError","error","request","PreferenceRequests","getClassificationCallbacks","date","Date","from","DateHelper","to","hasPermissions","usePermissions","canFollowSubjects","PermissionName","ContentUpdateRequests","contentUpdates","subjectPreferences","audiences","usePresentationAudiences","useSetPageMetadata","PageMetadataHelper","title","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","allowIndexing","videoActions","useVideoActions","useVideoMixin","videos","hasLoadedPreferences","hasCompleted","preferredSubjectIds","subject","VideoActionsContext","value","banner","url","appLinks","find","toString","VideoList","getVideoAppLink","getSubTextAppLink","video","getSeriesAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","VideoAppLinkHelper","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","redirectOnError","activePresentation","getFallbackPresentation","presentation","objects","hydratedVideos","Set","isArray","filter","o","getValidObjects","videoIds","v","setRequest","unhydratedVideos","forEach","has","push","add","r","newRequests","flightNamespace","bsPrefix","Component","decoratedBsPrefix","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","displayName"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5595],{50690:(e,a,t)=>{t.d(a,{b:()=>r});var n=t(12788),r={renderInPortalIfExists:function(e,a){return a?(0,n.createPortal)(e,a):e}}},84963:(e,a,t)=>{t.d(a,{r:()=>d});var n=t(32735),r=t(23481),o=t(83914),l=t(76177),i=t(35223);const c={tag:"XRj8d",tooltip:"X6mLk"};var s="specialEventCalendar.comingSoonTag";function d(e){return n.createElement(l.u,{title:r.T.getPhrase(s,"tooltip"),spanHackClassName:"d-block ".concat(c.tooltip),spanHack:!0},n.createElement("div",{className:"d-flex text-dark align-items-center ".concat(c.tag," ").concat(e.className)},n.createElement(o.x,{svgName:i.vn.Timer}),!e.onlyIcon&&r.T.getPhrase(s,"comingSoon")))}},73679:(e,a,t)=>{t.d(a,{s:()=>l});var n=t(32735),r=t(36848);const o={dateItem:"I3SBm",label:"PRORs",body:"RfiM_",bodyDay:"ZOVny",bodyRange:"vYhXN",bodyMonth:"mYslO",month:"EPkkQ"};function l(e){var a,t,l;return n.createElement(r.F,{appLink:null===(a=e.getAppLink)||void 0===a?void 0:a.call(e),className:"text-decoration-none text-center bg-white text-dark border border-3 ".concat(null===(t=e.theme)||void 0===t?void 0:t.border," rounded-3 d-block fw-semibold ").concat(e.className),analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},n.createElement("div",{className:"position-relative ".concat(o.dateItem)},n.createElement("div",{className:"".concat(null===(l=e.theme)||void 0===l?void 0:l.background," py-1 ").concat(o.label," d-flex align-items-center justify-content-center")},e.label?e.label:n.createElement(n.Fragment,null," ")),n.createElement("div",{className:"".concat(function(){switch(e.body.type){case"range":return o.bodyRange;case"day":return o.bodyDay;case"month":return o.bodyMonth}}()," ").concat(o.body," my-2")},e.body.text),n.createElement("div",{className:"mb-0 ".concat(o.month)},e.month)))}},83657:(e,a,t)=>{t.d(a,{e:()=>s});var n=t(32735),r=t(91967),o=t(10874),l=t(76177),i=t(42735),c=t(86509);function s(e){var a=n.useMemo((function(){return e.actions.sort((function(e,a){return e.order-a.order}))}),[e.actions]),t=[],s=[];a.forEach((function(e){e.button?t.push(e):s.push(e)}));var d="d-flex";return e.className&&(d+=" ".concat(e.className)),t.length||s.length?n.createElement("div",{className:d},t.length?t.map((function(a,t){return n.createElement(n.Fragment,{key:t},function(){if(a.label){var t=r.q.isFunction(a.label)?a.label:function(){return n.createElement(n.Fragment,null,a.label)};return n.createElement(i.K,{appLink:a.appLink,href:a.href,onClick:a.onClick,svgName:a.svgName,svgSize:e.dropdownToggleSvgSize,className:a.className,tooltip:a.tooltip,showSpinner:a.showSpinner,analyticsData:a.analyticsData,analyticsOptions:a.analyticsOptions,openInNewTab:a.openInNewTab,disabled:a.disabled},t())}var c=n.createElement(o.h,{appLink:a.appLink,href:a.href,onClick:a.onClick,svgName:a.svgName,className:a.className,analyticsData:a.analyticsData,analyticsOptions:a.analyticsOptions,openInNewTab:a.openInNewTab,disabled:a.disabled,showBorder:a.showBorder,customSize:e.customSize});return a.tooltip?n.createElement(l.u,{title:a.tooltip,spanHack:!0},c):c}())})):n.createElement(n.Fragment,null),e.sortComponent&&e.sortComponent,s.length?n.createElement(c.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):n.createElement(n.Fragment,null)):n.createElement(n.Fragment,null)}},86509:(e,a,t)=>{t.d(a,{m:()=>b});var n=t(32735),r=t(91967),o=t(81886),l=t(45157),i=t(49985),c=t(36848),s=t(83914),d=t(76177),m=t(35223);const u={dropdownToggle:"UCAnJ"};function g(){return n.createElement(n.Fragment,null,n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),n.createElement("div",{style:{padding:"0.53125rem 1rem"}},n.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function p(e){var a="dropdown-item";return e&&(a+=" ".concat(e)),a}function v(e){var a=r.q.isFunction(e.action.label)?e.action.label:function(){return n.createElement(n.Fragment,null,e.action.label)};if(e.action.appLink)return n.createElement(c.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:p(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&n.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),n.createElement("span",{className:"align-middle"},a()));function t(a){a.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&i.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),r.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&o.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?n.createElement("a",{className:p(e.action.className),onClick:t,href:e.action.href},e.action.svgName&&n.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),n.createElement("span",{className:"align-middle"},a())):n.createElement("span",{className:"cursor-pointer ".concat(p(e.action.className)),onClick:t,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&t(e)}},e.action.svgName&&n.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),a())}function b(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);var a=e.actions.some((function(e){return e.lazyPlaceholder})),t="dropdown";e.className&&(t+=" ".concat(e.className));var r,o="actions-dropdown-".concat(l.Y.getRandomInt()),i="dropdown-toggle px-0 ".concat(u.dropdownToggle);return e.dropdownToggleClassName&&(i+=" ".concat(e.dropdownToggleClassName)),n.createElement("div",{className:t},n.createElement("button",{className:i,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"More actions dropdown",onClick:a?e.fetchMore:null},n.createElement(s.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),n.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":o},a?n.createElement(g,null):e.actions.map((function(e,a){var t=void 0!==r&&r!==e.group;return r=e.group,e.tooltip?n.createElement("li",{key:a},t&&n.createElement("hr",{className:"dropdown-divider",role:"separator"}),n.createElement(d.u,{title:e.tooltip,spanHack:!0},n.createElement(v,{action:e}))):n.createElement("li",{key:a},t&&n.createElement("hr",{className:"dropdown-divider",role:"separator"}),n.createElement(v,{action:e}))}))))}b.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:s.S.Small}},44522:(e,a,t)=>{t.d(a,{p:()=>x,v:()=>S});var n=t(32735),r=t(110),o=t(50690),l=t(84963),i=t(73679),c=t(83657),s=t(23481),d=t(36848),m=t(83914),u=t(35223),g="shared.backButton";function p(e){var a=Object.assign({textShadow:!0},e),t=a.backToName,r=a.appLink,o=a.color,l=a.extraClasses,i=a.textShadow,c=t?s.T.getPhrase(g,"backTo",{backToName:t}):s.T.getPhrase(g,"back"),p="black"===o?"":"text-white",v=i?"text-shadow":"";return n.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(l," ").concat(p," ").concat(v)},n.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),n.createElement("span",{className:"ms-1"},c))}p.defaultProps={color:"black",extraClasses:""};var v=t(36518),b=t(83345),f=t(10587),h=t(94232),E=t(54610),y=t(79967),N=t(67453);const k={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var w="".concat(f.y[E.__.Banners].width,":").concat(f.y[E.__.Banners].height);function C(e){return e.length<160?"h1":k.headingLarge}var x=n.memo((function(e){var a,t,s,d,m=e.heading,u=e.banner,g=e.imageCdnUrl,f=e.actions,x=e.sortComponent,S=e.blockColourClass,L=e.specialEvent,D=n.useContext(h.n),F=(0,y.k)().xxl?1920:1200,T=n.useMemo((function(){if(!L||e.showComingSoon)return!1;var a=r.O.format(new Date,"YYYY-MM-DD");return L.endDate?L.startDate<=a&&L.endDate>=a:L.startDate===a}),[L]),O=e.imageOptions||{width:F,ratio:w,resizeType:E.Nq.Cover},A=!!u&&!!g&&N.j.createBannerUrl(u,{fallbackBaseUrl:g,fallbackCategoryName:m,type:E.__.Banners},O),I={className:"banner banner-header ".concat(e.bannerClassName),style:A?{backgroundImage:"url('".concat(A,"')")}:{}};!u&&S&&(delete I.style,I.className+=" ".concat(S));var j=e.detailsComponent;return o.b.renderInPortalIfExists(n.createElement("header",Object.assign({},I),n.createElement("div",{className:"container ".concat(k.container," position-relative inner-banner")},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(p,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),n.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(k.bannerContent," px-2 ").concat((null===(a=e.logo)||void 0===a?void 0:a.url)?k.bannerContentWithLogo:""))},!!L&&n.createElement("div",{className:"position-relative ".concat(k.specialEventContainer)},n.createElement(i.s,{body:{type:L.endDate?"range":"day",text:L.endDate?"".concat(r.O.format(L.startDate,"DD"),"-").concat(r.O.format(L.endDate,"DD")):r.O.format(L.startDate,"DD")},month:r.O.format(L.startDate,"MMMM"),theme:e.calendarTheme})),n.createElement("div",null,T&&n.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},n.createElement(b.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&n.createElement(l.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),n.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&n.createElement("div",{className:"".concat(k.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(t=e.logo)||void 0===t?void 0:t.url)&&n.createElement(v.w,{src:N.j.createUrl(null===(s=e.logo)||void 0===s?void 0:s.url,{size:E.h2.Medium})})),n.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(k.heading," ").concat(C(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,j&&n.createElement(j,null)))),!!f&&n.createElement("div",{className:k.actionsContainer},n.createElement(c.e,{actions:f,sortComponent:x,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&n.createElement("div",{className:k.logoContainer},n.createElement("img",{src:N.j.createUrl(e.logo.url,{size:E.h2.Small}),className:"rounded-circle"})))),null==D?void 0:D.container)}),(function(e,a){var t,n;return e.actions===a.actions&&e.heading===a.heading&&(null===(t=e.logo)||void 0===t?void 0:t.url)===(null===(n=a.logo)||void 0===n?void 0:n.url)}));function S(){var e=n.useContext(h.n);return o.b.renderInPortalIfExists(n.createElement("div",{className:"partial-banner partial-loading-background ".concat(k.banner)}),null==e?void 0:e.container)}},11921:(e,a,t)=>{t.d(a,{F:()=>i});var n=t(32735),r=t(35223),o=t(83914);var l=function(e){switch(e){case"up":return"JAT0R";case"down":return"ld41u";case"right":return"HHkPe";case"left":return"jZTRR"}};function i(e){return n.createElement(o.x,{svgName:r.vn.Caret,className:"".concat(l(e.direction)," svg-container d-inline-block ").concat(e.className)})}i.defaultProps={direction:"right"}},88711:(e,a,t)=>{t.d(a,{j:()=>o});var n=t(32735),r=t(20455);function o(e){var a,t,o=(0,r.O1)(Object.assign(Object.assign({},e.draggable),{disabled:!e.draggable,attributes:{role:"drag",tabIndex:-1}})),l=o.active,i=o.isDragging,c=o.attributes,s=o.listeners,d=o.setNodeRef,m=(0,r.Zj)(Object.assign(Object.assign({},e.droppable),{disabled:!e.droppable})),u=m.isOver,g=m.over,p=m.active,v=m.setNodeRef;return n.useEffect((function(){var a,t,n,r=null===(a=e.draggable)||void 0===a?void 0:a.data;Array.isArray(r)&&(null==r?void 0:r.includes(null==l?void 0:l.id.toString()))?null===(t=e.setIsDragging)||void 0===t||t.call(e,i):null===(n=e.setIsDragging)||void 0===n||n.call(e,!1)}),[i]),n.createElement("div",Object.assign({ref:d},s,c,{className:"".concat(e.draggable?"cursor-grab":"cursor-default"," ").concat(i&&l||e.isDragging&&(t=null===(a=e.draggable)||void 0===a?void 0:a.data,Array.isArray(t)&&t.includes(e.draggable.id.toString()))?e.dragStyle:null)}),n.createElement("div",{ref:v,className:p&&u&&(null==l?void 0:l.id)!==(null==g?void 0:g.id)?e.dropStye:null},e.children))}},83834:(e,a,t)=>{t.d(a,{$:()=>N});var n=t(32735),r=t(57900),o=t(11921),l=t(11607),i=t(97395),c=t(83657),s=t(36848),d=t(88711),m=t(75163),u=t(5465),g=t(54610);const p={actions:"cN3nB",actionsContainer:"xM37V",dropStyle:"kvCLS",dragStyle:"md9Na"};function v(e){var a,t=e.folder.thumbnail?i._.urlBuilder(e.folder.thumbnail.url,{size:g.h2.Small}):null,r=null===(a=e.getFolderActions)||void 0===a?void 0:a.call(e,e.folder);return n.createElement(d.j,{draggable:e.drag&&{id:e.folder.id,data:e.folder},droppable:e.drop&&{id:e.folder.id,data:e.folder},dropStye:p.dropStyle,dragStyle:p.dragStyle},n.createElement("div",{className:"position-relative"},n.createElement(s.F,{className:"rounded-3 d-block text-decoration-none",appLink:e.getAppLink(e.folder),title:e.folder.name},n.createElement(m.Z,{data:t,imageType:g.__.Thumbnails,imageClassName:"rounded-top-lg"},n.createElement(u.oy,{name:e.folder.name,type:u.mS.Folder,extraClasses:"rounded-top-lg"})),n.createElement("h3",{className:"bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2"},n.createElement("span",{className:"text-truncate d-block"},e.folder.name))),(null==r?void 0:r.length)&&n.createElement(c.e,{actions:r,className:p.actionsContainer,actionsDropdownClassName:p.actions,dropdownToggleSvgSize:null})))}var b=t(83345),f=t(79967);function h(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=Array(a);t<a;t++)n[t]=e[t];return n}var E="libraries.folderList",y="has:expanded:library:folders";function N(e){var a,t,i,c=(t=n.useState(r.SG.get(y)||!1),i=2,function(e){if(Array.isArray(e))return e}(t)||function(e,a){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,l,i=[],c=!0,s=!1;try{if(o=(t=t.call(e)).next,0===a){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=o.call(t)).done)&&(i.push(n.value),i.length!==a);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(s)throw r}}return i}}(t,i)||function(e,a){if(e){if("string"==typeof e)return h(e,a);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,a):void 0}}(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],d=c[1],m=e.expandFolders||s,u=(a=(0,f.k)()).xxl||a.xl||a.lg?6:a.md?4:3;function g(){d(!m),r.SG.set(y,!m)}var p=m?e.folders:e.folders.slice(0,u),N=e.folders.length>u&&!e.expandFolders;return n.createElement(n.Fragment,null,n.createElement("div",{className:"d-flex justify-content-between align-items-center"},e.showHeading&&n.createElement(l.L,{className:"d-inline-flex align-items-center mb-2 px-2 ".concat(N?"":"cursor-default"),onClick:g},N&&n.createElement(o.F,{direction:m?"down":"right"}),n.createElement("h2",{className:"h4 mb-0"},n.createElement(b.x,{namespace:E,phrase:"folders",options:{count:e.folders.length}}))),!(m||!N)&&n.createElement("div",{className:"d-flex justify-content-end justify-self-end px-2"},n.createElement(l.L,{onClick:g,className:"text-dark hover-text-underline d-inline-block"},n.createElement(b.x,{namespace:E,phrase:"seeAll",options:{count:e.folders.length}}))),!(!m||!N)&&n.createElement("div",{className:"d-flex justify-content-end justify-self-end px-2"},n.createElement(l.L,{onClick:g,className:"text-dark hover-text-underline d-inline-block"},n.createElement(b.x,{namespace:E,phrase:"seeLess"}))),e.extraButtons?e.extraButtons:n.createElement(n.Fragment,null)),n.createElement("div",{className:"row mx-1"},p.map((function(a){return n.createElement("div",{key:a.id,className:"col-4 col-md-3 col-lg-2 px-1 pb-3"},n.createElement(v,{folder:a,getAppLink:e.getAppLink,getFolderActions:e.getFolderActions,drag:e.drag,drop:e.drop}))}))))}N.defaultProps={showHeading:!0}},65403:(e,a,t)=>{t.d(a,{i:()=>l});var n=t(32735);const r={partialFolderHeading:"dhbsL",partialFolderThumbnail:"CI9vk",partialFolderName:"l0Nll"};var o=function(){return n.createElement("div",{className:"col-4 col-md-3 col-lg-2 px-1 pb-3"},n.createElement("div",{className:"".concat(r.partialFolderThumbnail," partial-loading-background rounded-top-lg")}),n.createElement("div",{className:"".concat(r.partialFolderName," partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2")}," "))};function l(e){var a=e.count,t=void 0===a?3:a;return n.createElement(n.Fragment,null,n.createElement("div",{className:"".concat(r.partialFolderHeading," h4 mb-2 partial-loading-background")}," "),n.createElement("div",{className:"row mx-n1"},Array(t).fill(null).map((function(e,a){return n.createElement(o,{key:a})}))))}},94644:(e,a,t)=>{t.d(a,{r:()=>d});var n=t(50242),r=t(81886),o=t(67058),l=t(14553),i=t(49267),c=t(49075),s={notFound:o.d,forbidden:{rating:l.q,yearLevel:l.q,region:i.a,privacy:l.q},badRequest:c._};function d(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var l=Object.assign(Object.assign({},s),a);o&&r.Q.Ry.isStatusCodeError(o)&&(o!==n.o.NotFound?o!==n.o.Forbidden?t.badRequest||r.Q.Ry.throw(new l.badRequest):t.forbidden||r.Q.Ry.throw(new l.forbidden.privacy):t.notFound||r.Q.Ry.throw(new l.notFound))}}},91286:(e,a,t)=>{t.d(a,{v:()=>l});var n=t(32735),r=t(94644);function o(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,a,t){var l=Array.isArray(e)?e:[e];(0,n.useEffect)((function(){l.forEach((function(e){(0,r.r)(e.statusCode,a,t)}))}),[o(l),a,t])}},98860:(e,a,t)=>{t.d(a,{P:()=>i});var n=t(20354),r=t(98064),o=t(3010),l=t(45719);function i(e){var a=n.a.useGetFetch();function t(a){return r.D.childFolders(e,a)}return(0,o.i)(!!e&&t,!!e&&function(e){a(t(e))}),(0,l.P)(!!e&&function(e){return t(e).key})}},21325:(e,a,t)=>{t.d(a,{o:()=>i});var n=t(32735),r=t(81886),o=t(96560),l=t(67058);function i(e){n.useEffect((function(){e.hasCompleted&&!e.hasError&&e.data.type!==o.r.CustomLibrary&&r.Q.Ry.throw(new l.d)}),[e.hasCompleted])}},8406:(e,a,t)=>{t.d(a,{W:()=>c,a:()=>i});var n=t(28400),r=t(7733),o=t(14070),l=t(97291);function i(e,a,t){return e&&a?{application:l.O.LIBRARIES,action:o.e.Libraries.FOLDER,args:[e,a.id,n.m.slugify(a.name)],params:{sort:t}}:null}function c(e){for(var a,t,n=0,o=0;null!==(t=o<(null===(a=e.name)||void 0===a?void 0:a.length))&&void 0!==t&&t;o++)n+=e.name.charCodeAt(o);return r.o[n%r.o.length]}},55595:(e,a,t)=>{t.r(a),t.d(a,{LibraryView:()=>x});var n=t(32735),r=t(20354),o=t(65858),l=t(43500),i=t(44522),c=t(83834),s=t(65403),d=t(10874),m=t(4201),u=t(83345),g=t(98064),p=t(31949),v=t(91286),b=t(79612),f=t(35223),h=t(68140),E=t(14070),y=t(97291),N=t(98860),k=t(21325),w=t(8406),C="libraries.library";function x(e){var a,t,x,S,L=(0,m.of)().focusSearchBar,D=r.a.useBasicFetch(g.D.domainLibraries(["customLibrary","sharedLibrary"])),F=r.a.useBasicFetch(g.D.library(e.id)),T=(0,N.P)(null===(t=null===(a=F.data)||void 0===a?void 0:a.categoryTree)||void 0===t?void 0:t.id),O=r.a.useBasicFetch(p.N.currentUser()),A=!!O.data&&h.d.getOrSetSortType(O.data.id,e.sort);return(0,b.M)({title:null===(x=F.data)||void 0===x?void 0:x.name}),(0,v.v)(F),(0,k.o)(F),n.createElement(n.Fragment,null,F.data?n.createElement(i.p,{heading:F.data.name,blockColourClass:(0,w.W)(F.data),logo:null===(S=F.data.owner)||void 0===S?void 0:S.logo}):n.createElement(i.v,null),function(){var a,t;return(null==T?void 0:T.items)?T.items.length?n.createElement("div",{className:"mt-3 px-2"},n.createElement(c.$,{folders:T.items,getAppLink:function(a){return(0,w.a)(e.id,a,A)},expandFolders:!0,extraButtons:n.createElement(d.h,{svgName:f.vn.Search,appLink:{application:y.O.SEARCH,action:E.e.Search.HOME,params:{source:l.fi.School}},className:"btn btn-outline-dark mb-3 me-2 d-none d-sm-inline-block",onClick:L,analyticsData:{},analyticsOptions:{entity:o.py.SearchResults,location:o.LZ.Libraries,actionType:o.Vw.Click,descriptor:o.Bk.School}},n.createElement(u.x,{namespace:C,phrase:"searchLibrary",options:{smartCount:null!==(t=null===(a=D.data)||void 0===a?void 0:a.length)&&void 0!==t?t:1}}))})):n.createElement(n.Fragment,null):n.createElement("div",{className:"mt-3 px-3"},n.createElement(s.i,{count:10}))}())}}}]);
|
|
2
|
+
//# sourceMappingURL=5595-3acc9593bf-lite.chunk.js.map
|