@clickview/lite 0.50.1-rc.0 → 0.50.1-rc.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 +2 -2
- package/dist/css/{1313-lite-b05099b818.chunk.css → 1313-lite-6b1a20b3fe.chunk.css} +1 -1
- package/dist/css/{1402-lite-9489903efd.chunk.css → 1402-lite-8a07733b96.chunk.css} +1 -1
- package/dist/css/{3588-lite-f083d46330.chunk.css → 1407-lite-be6668ef3a.chunk.css} +1 -1
- package/dist/css/{5725-lite-789978250c.chunk.css → 1539-lite-a5772fefdb.chunk.css} +1 -1
- package/dist/css/{5769-lite-16efb24b77.chunk.css → 1567-lite-2ab4d6f863.chunk.css} +1 -1
- package/dist/css/{1602-lite-90df7cca5c.chunk.css → 1602-lite-8fb6cea449.chunk.css} +1 -1
- package/dist/css/{1820-lite-ebb89eab7a.chunk.css → 1820-lite-8008c78ef7.chunk.css} +1 -1
- package/dist/css/{9818-lite-dca6b9e86d.chunk.css → 1850-lite-e9e8c03964.chunk.css} +1 -1
- package/dist/css/{2120-lite-dd1595051d.chunk.css → 2120-lite-b1876117b4.chunk.css} +1 -1
- package/dist/css/{2137-lite-7045732fc8.chunk.css → 2137-lite-6e9d11bd5b.chunk.css} +1 -1
- package/dist/css/{2446-lite-6b11bdfdc1.chunk.css → 2446-lite-dfc41ecbea.chunk.css} +1 -1
- package/dist/css/{9211-lite-f00eb0266e.chunk.css → 2507-lite-9516182bdb.chunk.css} +1 -1
- package/dist/css/{2724-lite-24da60896e.chunk.css → 2724-lite-669b5b8120.chunk.css} +1 -1
- package/dist/css/{2795-lite-1641e6fbf9.chunk.css → 2795-lite-34f8ca5018.chunk.css} +1 -1
- package/dist/css/{3070-lite-c0909f46f3.chunk.css → 3070-lite-6af4bd0c76.chunk.css} +1 -1
- package/dist/css/{3397-lite-dfab7385b6.chunk.css → 3397-lite-5b25e3a686.chunk.css} +1 -1
- package/dist/css/{3403-lite-4b92798a0c.chunk.css → 3403-lite-89bcc16133.chunk.css} +1 -1
- package/dist/css/{458-lite-c8a3139b8b.chunk.css → 3515-lite-10695a1950.chunk.css} +2 -2
- package/dist/css/{1407-lite-f083d46330.chunk.css → 3588-lite-be6668ef3a.chunk.css} +1 -1
- package/dist/css/{3895-lite-b05099b818.chunk.css → 3895-lite-6b1a20b3fe.chunk.css} +1 -1
- package/dist/css/{4151-lite-fcc0fc8753.chunk.css → 4151-lite-9cbe9bba57.chunk.css} +1 -1
- package/dist/css/{3515-lite-c8a3139b8b.chunk.css → 458-lite-10695a1950.chunk.css} +2 -2
- package/dist/css/{5114-lite-38330c6187.chunk.css → 5114-lite-06a1ac179b.chunk.css} +1 -1
- package/dist/css/{5242-lite-58cdcd1ec4.chunk.css → 5242-lite-30642a9642.chunk.css} +2 -2
- package/dist/css/{5364-lite-93bfe767eb.chunk.css → 5364-lite-e8c416fe79.chunk.css} +1 -1
- package/dist/css/{5446-lite-ae2395342f.chunk.css → 5446-lite-2e956685f4.chunk.css} +1 -1
- package/dist/css/{1539-lite-789978250c.chunk.css → 5725-lite-a5772fefdb.chunk.css} +1 -1
- package/dist/css/{6759-lite-16efb24b77.chunk.css → 5769-lite-2ab4d6f863.chunk.css} +1 -1
- package/dist/css/{5803-lite-d1315afce2.chunk.css → 5803-lite-625e484692.chunk.css} +1 -1
- package/dist/css/{5810-lite-ba174cfe3d.chunk.css → 5810-lite-1224500e4d.chunk.css} +1 -1
- package/dist/css/{6181-lite-7558375a74.chunk.css → 6181-lite-ca9f6aeba1.chunk.css} +1 -1
- package/dist/css/{6189-lite-4c33c1b5c4.chunk.css → 6189-lite-20e4d47423.chunk.css} +1 -1
- package/dist/css/{6309-lite-a23dc59ecd.chunk.css → 6309-lite-bd0968a2c8.chunk.css} +1 -1
- package/dist/css/{6531-lite-9431296610.chunk.css → 6531-lite-1f6f3c392c.chunk.css} +1 -1
- package/dist/css/{1567-lite-16efb24b77.chunk.css → 6759-lite-2ab4d6f863.chunk.css} +1 -1
- package/dist/css/{6803-lite-16efb24b77.chunk.css → 6803-lite-2ab4d6f863.chunk.css} +1 -1
- package/dist/css/{6850-lite-769c93cb9e.chunk.css → 6850-lite-0bf8514497.chunk.css} +3 -3
- package/dist/css/{7533-lite-d0ae59ec54.chunk.css → 7533-lite-206fce5dbd.chunk.css} +1 -1
- package/dist/css/{7777-lite-8067dea624.chunk.css → 7777-lite-48d916f95c.chunk.css} +1 -1
- package/dist/css/{7987-lite-94679244a2.chunk.css → 7987-lite-fd431fbaf2.chunk.css} +1 -1
- package/dist/css/{8218-lite-fe8c54917b.chunk.css → 8218-lite-f54139cf27.chunk.css} +1 -1
- package/dist/css/{8316-lite-9083a6565c.chunk.css → 8316-lite-6036f465f0.chunk.css} +1 -1
- package/dist/css/{8354-lite-bc431d9d01.chunk.css → 8354-lite-8228cb401d.chunk.css} +1 -1
- package/dist/css/{8987-lite-95b3d79328.chunk.css → 8987-lite-6cd15b48d2.chunk.css} +1 -1
- package/dist/css/{9068-lite-c0341005e4.chunk.css → 9068-lite-c3a9ace963.chunk.css} +1 -1
- package/dist/css/{2507-lite-f00eb0266e.chunk.css → 9211-lite-9516182bdb.chunk.css} +1 -1
- package/dist/css/{9329-lite-a259b19412.chunk.css → 9329-lite-5f15379e31.chunk.css} +1 -1
- package/dist/css/{9417-lite-9083a6565c.chunk.css → 9417-lite-6036f465f0.chunk.css} +1 -1
- package/dist/css/{9620-lite-d77e9ad59b.chunk.css → 9620-lite-111c825071.chunk.css} +1 -1
- package/dist/css/{1850-lite-dca6b9e86d.chunk.css → 9818-lite-e9e8c03964.chunk.css} +1 -1
- package/dist/css/{lite-app-28b7b96628.css → lite-app-212404ee3a.css} +1 -1
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js +2 -0
- package/dist/scripts/1169-5a0d974a94-lite.chunk.js.map +1 -0
- package/dist/scripts/{1313-455608bc46-lite.chunk.js → 1313-5a7170fb69-lite.chunk.js} +1 -1
- package/dist/scripts/{1313-455608bc46-lite.chunk.js.map → 1313-5a7170fb69-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1402-d40dc88741-lite.chunk.js → 1402-39cb29d725-lite.chunk.js} +1 -1
- package/dist/scripts/{1402-d40dc88741-lite.chunk.js.map → 1402-39cb29d725-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1407-3592ec24f2-lite.chunk.js → 1407-3bab3f00f6-lite.chunk.js} +1 -1
- package/dist/scripts/{1407-3592ec24f2-lite.chunk.js.map → 1407-3bab3f00f6-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1567-edcff759b1-lite.chunk.js → 1567-b3141bc14f-lite.chunk.js} +1 -1
- package/dist/scripts/{1567-edcff759b1-lite.chunk.js.map → 1567-b3141bc14f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1602-173a4f272a-lite.chunk.js → 1602-dfe6928d65-lite.chunk.js} +1 -1
- package/dist/scripts/{1602-173a4f272a-lite.chunk.js.map → 1602-dfe6928d65-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1820-68114ca994-lite.chunk.js → 1820-9a1f618969-lite.chunk.js} +2 -2
- package/dist/scripts/1820-9a1f618969-lite.chunk.js.map +1 -0
- package/dist/scripts/{2120-88f6dd6652-lite.chunk.js → 2120-82a7b90997-lite.chunk.js} +1 -1
- package/dist/scripts/{2120-88f6dd6652-lite.chunk.js.map → 2120-82a7b90997-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2137-093f479ff9-lite.chunk.js → 2137-2e78e535ad-lite.chunk.js} +1 -1
- package/dist/scripts/{2137-093f479ff9-lite.chunk.js.map → 2137-2e78e535ad-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2446-acc94130ed-lite.chunk.js → 2446-eaa1d2ee7d-lite.chunk.js} +2 -2
- package/dist/scripts/{2446-acc94130ed-lite.chunk.js.map → 2446-eaa1d2ee7d-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js → 2507-fc744cab62-lite.chunk.js} +1 -1
- package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js.map → 2507-fc744cab62-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js → 2724-060fdde41c-lite.chunk.js} +1 -1
- package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js.map → 2724-060fdde41c-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2795-0616748349-lite.chunk.js → 2795-eb3a51adc2-lite.chunk.js} +1 -1
- package/dist/scripts/{2795-0616748349-lite.chunk.js.map → 2795-eb3a51adc2-lite.chunk.js.map} +1 -1
- package/dist/scripts/3070-63e0a6b63e-lite.chunk.js +2 -0
- package/dist/scripts/3070-63e0a6b63e-lite.chunk.js.map +1 -0
- package/dist/scripts/{3397-bb32e2287f-lite.chunk.js → 3397-cd6acb96c4-lite.chunk.js} +1 -1
- package/dist/scripts/{3397-bb32e2287f-lite.chunk.js.map → 3397-cd6acb96c4-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3403-12c460d3f6-lite.chunk.js → 3403-d42b7125ae-lite.chunk.js} +1 -1
- package/dist/scripts/{3403-12c460d3f6-lite.chunk.js.map → 3403-d42b7125ae-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3515-4de2fd7070-lite.chunk.js → 3515-72a31e0bbd-lite.chunk.js} +1 -1
- package/dist/scripts/{3515-4de2fd7070-lite.chunk.js.map → 3515-72a31e0bbd-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3588-62e61bc526-lite.chunk.js → 3588-1c1c264291-lite.chunk.js} +2 -2
- package/dist/scripts/{3588-62e61bc526-lite.chunk.js.map → 3588-1c1c264291-lite.chunk.js.map} +1 -1
- package/dist/scripts/{3895-a54621a8c4-lite.chunk.js → 3895-cbeb003a0a-lite.chunk.js} +1 -1
- package/dist/scripts/{3895-a54621a8c4-lite.chunk.js.map → 3895-cbeb003a0a-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js → 4151-bb1e8aafcb-lite.chunk.js} +1 -1
- package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js.map → 4151-bb1e8aafcb-lite.chunk.js.map} +1 -1
- package/dist/scripts/{458-35c635a2ce-lite.chunk.js → 458-1ca8abf829-lite.chunk.js} +1 -1
- package/dist/scripts/{458-35c635a2ce-lite.chunk.js.map → 458-1ca8abf829-lite.chunk.js.map} +1 -1
- package/dist/scripts/4718-b3cfb276a7-lite.chunk.js +2 -0
- package/dist/scripts/4718-b3cfb276a7-lite.chunk.js.map +1 -0
- package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js → 5114-15c4180b16-lite.chunk.js} +1 -1
- package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js.map → 5114-15c4180b16-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5242-2d752ff85e-lite.chunk.js → 5242-e5cc8311eb-lite.chunk.js} +1 -1
- package/dist/scripts/{5242-2d752ff85e-lite.chunk.js.map → 5242-e5cc8311eb-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js → 5364-fe4a00711f-lite.chunk.js} +1 -1
- package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js.map → 5364-fe4a00711f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js → 5446-5a2f719a6f-lite.chunk.js} +1 -1
- package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js.map → 5446-5a2f719a6f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5725-6792ca3e92-lite.chunk.js → 5725-1592727a8f-lite.chunk.js} +1 -1
- package/dist/scripts/{5725-6792ca3e92-lite.chunk.js.map → 5725-1592727a8f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5769-34ad224f5f-lite.chunk.js → 5769-e9f596e2b2-lite.chunk.js} +1 -1
- package/dist/scripts/{5769-34ad224f5f-lite.chunk.js.map → 5769-e9f596e2b2-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5803-0005a9eb66-lite.chunk.js → 5803-7db6af5411-lite.chunk.js} +1 -1
- package/dist/scripts/{5803-0005a9eb66-lite.chunk.js.map → 5803-7db6af5411-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5810-a652483b8e-lite.chunk.js → 5810-c81d69aea8-lite.chunk.js} +2 -2
- package/dist/scripts/{5810-a652483b8e-lite.chunk.js.map → 5810-c81d69aea8-lite.chunk.js.map} +1 -1
- package/dist/scripts/{5940-511beff2ee-lite.chunk.js → 5940-5731abccf3-lite.chunk.js} +2 -2
- package/dist/scripts/5940-5731abccf3-lite.chunk.js.map +1 -0
- package/dist/scripts/{6102-f1851eca08-lite.chunk.js → 6102-38e3abf2fa-lite.chunk.js} +3 -3
- package/dist/scripts/{6102-f1851eca08-lite.chunk.js.map → 6102-38e3abf2fa-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js → 6181-55d2689d74-lite.chunk.js} +1 -1
- package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js.map → 6181-55d2689d74-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js → 6189-b45080fab7-lite.chunk.js} +1 -1
- package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js.map → 6189-b45080fab7-lite.chunk.js.map} +1 -1
- package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js +3 -0
- package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js.map +1 -0
- package/dist/scripts/{6415-9d8b88c713-lite.chunk.js → 6415-5ac1a71471-lite.chunk.js} +1 -1
- package/dist/scripts/{6415-9d8b88c713-lite.chunk.js.map → 6415-5ac1a71471-lite.chunk.js.map} +1 -1
- package/dist/scripts/6450-2745feb746-lite.chunk.js +2 -0
- package/dist/scripts/6450-2745feb746-lite.chunk.js.map +1 -0
- package/dist/scripts/{6531-597262a181-lite.chunk.js → 6531-1325be9fb1-lite.chunk.js} +1 -1
- package/dist/scripts/{6531-597262a181-lite.chunk.js.map → 6531-1325be9fb1-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6759-3f36472a49-lite.chunk.js → 6759-a7e1119553-lite.chunk.js} +1 -1
- package/dist/scripts/{6759-3f36472a49-lite.chunk.js.map → 6759-a7e1119553-lite.chunk.js.map} +1 -1
- package/dist/scripts/{6803-2275c83d96-lite.chunk.js → 6803-222bfeea55-lite.chunk.js} +1 -1
- package/dist/scripts/{6803-2275c83d96-lite.chunk.js.map → 6803-222bfeea55-lite.chunk.js.map} +1 -1
- package/dist/scripts/6850-393de993b8-lite.chunk.js +3 -0
- package/dist/scripts/6850-393de993b8-lite.chunk.js.map +1 -0
- package/dist/scripts/{6948-84a5f8d76f-lite.chunk.js → 6948-23ec6a6370-lite.chunk.js} +2 -2
- package/dist/scripts/6948-23ec6a6370-lite.chunk.js.map +1 -0
- package/dist/scripts/{7533-e079b2af18-lite.chunk.js → 7533-9edee544c6-lite.chunk.js} +1 -1
- package/dist/scripts/{7533-e079b2af18-lite.chunk.js.map → 7533-9edee544c6-lite.chunk.js.map} +1 -1
- package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js → 7777-1c3490134e-lite.chunk.js} +1 -1
- package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js.map → 7777-1c3490134e-lite.chunk.js.map} +1 -1
- package/dist/scripts/{7987-db0037709c-lite.chunk.js → 7987-ff7de6531f-lite.chunk.js} +1 -1
- package/dist/scripts/{7987-db0037709c-lite.chunk.js.map → 7987-ff7de6531f-lite.chunk.js.map} +1 -1
- package/dist/scripts/{8218-f3b81c7287-lite.chunk.js → 8218-088530bdf7-lite.chunk.js} +1 -1
- package/dist/scripts/{8218-f3b81c7287-lite.chunk.js.map → 8218-088530bdf7-lite.chunk.js.map} +1 -1
- package/dist/scripts/8316-ba6bae1f29-lite.chunk.js +2 -0
- package/dist/scripts/8316-ba6bae1f29-lite.chunk.js.map +1 -0
- package/dist/scripts/{8354-e30261b594-lite.chunk.js → 8354-d07c3bef5a-lite.chunk.js} +1 -1
- package/dist/scripts/{8354-e30261b594-lite.chunk.js.map → 8354-d07c3bef5a-lite.chunk.js.map} +1 -1
- package/dist/scripts/{8987-32190552fa-lite.chunk.js → 8987-c0c2790aab-lite.chunk.js} +1 -1
- package/dist/scripts/{8987-32190552fa-lite.chunk.js.map → 8987-c0c2790aab-lite.chunk.js.map} +1 -1
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js +3 -0
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +1 -0
- package/dist/scripts/{9068-562c30f718-lite.chunk.js → 9068-554aa0d22b-lite.chunk.js} +1 -1
- package/dist/scripts/{9068-562c30f718-lite.chunk.js.map → 9068-554aa0d22b-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9211-d4c7016679-lite.chunk.js → 9211-0381d3e715-lite.chunk.js} +1 -1
- package/dist/scripts/{9211-d4c7016679-lite.chunk.js.map → 9211-0381d3e715-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js → 9329-798d826fc4-lite.chunk.js} +1 -1
- package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js.map → 9329-798d826fc4-lite.chunk.js.map} +1 -1
- package/dist/scripts/9417-aa8d198d40-lite.chunk.js +2 -0
- package/dist/scripts/9417-aa8d198d40-lite.chunk.js.map +1 -0
- package/dist/scripts/9620-d0f04eeccd-lite.chunk.js +3 -0
- package/dist/scripts/9620-d0f04eeccd-lite.chunk.js.map +1 -0
- package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js → 9818-a2fa140139-lite.chunk.js} +1 -1
- package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js.map → 9818-a2fa140139-lite.chunk.js.map} +1 -1
- package/dist/scripts/bundle-815f926b0f.min.js +3 -0
- package/dist/scripts/bundle-815f926b0f.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1169-3df974a8eb-lite.chunk.js +0 -2
- package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-68114ca994-lite.chunk.js.map +0 -1
- package/dist/scripts/3070-fb8eb47716-lite.chunk.js +0 -2
- package/dist/scripts/3070-fb8eb47716-lite.chunk.js.map +0 -1
- package/dist/scripts/4718-2b58aa560d-lite.chunk.js +0 -2
- package/dist/scripts/4718-2b58aa560d-lite.chunk.js.map +0 -1
- package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +0 -1
- package/dist/scripts/6309-dd3a8e7f21-lite.chunk.js +0 -3
- package/dist/scripts/6309-dd3a8e7f21-lite.chunk.js.map +0 -1
- package/dist/scripts/6450-6819d42c15-lite.chunk.js +0 -2
- package/dist/scripts/6450-6819d42c15-lite.chunk.js.map +0 -1
- package/dist/scripts/6850-8770bfeefb-lite.chunk.js +0 -3
- package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +0 -1
- package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +0 -1
- package/dist/scripts/8316-dad1824a5f-lite.chunk.js +0 -2
- package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +0 -1
- package/dist/scripts/9016-c359251f82-lite.chunk.js +0 -3
- package/dist/scripts/9016-c359251f82-lite.chunk.js.map +0 -1
- package/dist/scripts/9417-70c6489c67-lite.chunk.js +0 -2
- package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +0 -1
- package/dist/scripts/9620-630f9e6344-lite.chunk.js +0 -3
- package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-d20cb66d1a.min.js +0 -3
- package/dist/scripts/bundle-d20cb66d1a.min.js.map +0 -1
- /package/dist/scripts/{2446-acc94130ed-lite.chunk.js.LICENSE.txt → 2446-eaa1d2ee7d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{3588-62e61bc526-lite.chunk.js.LICENSE.txt → 3588-1c1c264291-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5810-a652483b8e-lite.chunk.js.LICENSE.txt → 5810-c81d69aea8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6102-f1851eca08-lite.chunk.js.LICENSE.txt → 6102-38e3abf2fa-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6309-dd3a8e7f21-lite.chunk.js.LICENSE.txt → 6309-f5bb1c14dc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6850-8770bfeefb-lite.chunk.js.LICENSE.txt → 6850-393de993b8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9016-c359251f82-lite.chunk.js.LICENSE.txt → 9016-0c078a39cb-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9620-630f9e6344-lite.chunk.js.LICENSE.txt → 9620-d0f04eeccd-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-d20cb66d1a.min.js.LICENSE.txt → bundle-815f926b0f.min.js.LICENSE.txt} +0 -0
package/dist/scripts/{2446-acc94130ed-lite.chunk.js.map → 2446-eaa1d2ee7d-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/2446-acc94130ed-lite.chunk.js","mappings":";4JAIMA,EAAY,uBAELC,EAA2B,OAAaC,MAAM,CACzDC,KAAM,OACHC,IAAI,KAAK,kBAAM,cAA0BJ,EAAW,cAAc,IAClEK,UAAS,kBAAM,cAA0BL,EAAW,eAAe,IACtEM,YAAa,OACVF,IAAI,MAAO,kBAAM,cAA0BJ,EAAW,qBAAqB,IAC3EO,8DCXL,SAAgB,WAAa,QAAQ,MAAQ,QAAQ,MAAQ,QAAQ,KAAO,QAAQ,MAAQ,QAAQ,QAAU,QAAQ,eAAiB,SCcjI,SAAUC,EAAcC,GA4C5B,OACE,uBAAKC,WAZDA,EAAY,iEAAH,OAAoE,kBAEnD,WAA1BD,EAAME,kBACRD,GAAa,gCAEe,UAA1BD,EAAME,kBACRD,GAAa,8BAERA,MAKFD,EAAMG,eACP,uBAAKF,UA9CX,WACE,IAAIA,EAAY,aAEhB,OAAQD,EAAMI,oBACZ,IAAK,WACHH,GAAa,IAAJ,OAAQ,QAAY,YAAI,QACjC,MAGF,IAAK,YACHA,GAAa,IAAJ,OAAQ,QAAY,YAAI,SACjC,MAGF,IAAK,cACHA,GAAa,IAAJ,OAAQ,QAAY,YAAI,QACjC,MAGF,IAAK,eACHA,GAAa,IAAJ,OAAQ,QAAY,YAAI,SAQrC,OAHID,EAAMK,sBACRJ,GAAa,IAAJ,OAAQD,EAAMK,sBAElBJ,CACT,CAiBsBK,IACd,uBAAKL,UAAS,YAAeM,IAAKP,EAAMG,iBAI3CH,EAAMQ,SACoB,UAA1BR,EAAME,iBACL,uBAAKD,UAAW,aAtBtB,IACMA,CAyBR,CA9DAF,EAAcU,aAAe,CAC3BP,gBAAiB,iJCXnB,SAAgB,IAAM,QAAQ,KAAO,QAAQ,SAAW,QAAQ,OAAS,QAAQ,QAAU,QAAQ,YAAc,QAAQ,YAAc,QAAQ,YAAc,QAAQ,4BAA8B,QAAQ,iBAAmB,QAAQ,4BAA8B,QAAQ,eAAiB,QAAQ,oBAAsB,SAAS,oBAAsB,QAAQ,gBAAkB,QAAQ,OAAS,QAAQ,iBAAmB,SCaha,IAAMX,EAAY,wBAElB,SAASmB,IACP,OACE,uBAAKT,UAAU,8DACb,uBAAKA,UAAS,UAAK,cAAkB,qBACrC,uBAAKA,UAAS,UAAK,cAAkB,mBAG3C,CAQM,SAAUU,EAAWX,WACnBY,GAAc,EAAAC,EAAA,KAmBpB,OACE,uBAAKZ,UAAS,mHACTD,EAAMc,mBACP,uBAAKb,UAAS,wCAAmC,WAC/C,uBAAKA,UAAS,+CAA0C,wBACtD,uBAAKA,UAAU,uCACb,sBAAIA,UAAU,iBAAgB,gBAACc,EAAA,EAAI,CAACxB,UAAWA,EAAWyB,OAAO,gBAEhEhB,EAAMiB,WACL,uBAAKhB,UAAU,6BACb,uBAAKA,UAAS,UAAK,iBAAqB,gCACtC,gBAACiB,EAAA,EAAU,CAACC,SAAgC,QAAtB,EAAAnB,EAAMiB,WAAWG,aAAK,eAAEC,OAEhD,uBAAKpB,UAAU,cAAcD,EAAMiB,WAAWvB,OAGhD,uBAAKO,UAAU,4CACb,uBAAKA,UAAS,kCAA6B,oBACzC,gBAACiB,EAAA,EAAU,CAACI,QAASC,EAAAC,EAAA,MAAwBC,YAAY,YAAYC,QAAS,sBAEhF,gBAACX,EAAA,EAAI,CAACxB,UAAWA,EAAWyB,OAAO,yBAS/C,uBAAKf,UAAS,mCAA8B,aAC1C,uBAAKA,UAAS,8BAAyB,SACvC,uBAAKA,UAAS,8BAAyB,SACvC,uBAAKA,UAAS,yBAAoB,UAIpC,uBAAKA,UAAS,4DAAuD,WACnE,uBAAKA,UAAS,UAAK,OAAW,UAC3BW,EAAYe,GACX,gBAAC,KAAoB,MAErB,gBAACC,EAAA,GAAa,OAGlB,uBAAK3B,UAAU,kDACb,gBAACsB,EAAA,EAAY,CAACG,QAAS,iBAEtB1B,EAAMiB,YACP,uBAAKhB,UAAS,UAAK,sBAA0B,sCAC3C,gBAACiB,EAAA,EAAU,CAACC,SAAgC,QAAtB,EAAAnB,EAAMiB,WAAWG,aAAK,eAAEC,QAKpD,uBAAKpB,UAAS,iBAAY,gBAExB,uBAAKA,UAAS,UAAK,UAAc,gBAC/B,uBAAKA,UAAU,iCACb,gBAACS,EAAW,MACZ,gBAACA,EAAW,MACZ,gBAACA,EAAW,MACZ,gBAACA,EAAW,MACZ,gBAACA,EAAW,MAGZ,uBAAKT,UAAU,sCACb,uBAAKA,UAAU,wBACb,uBAAKA,UAAU,6BACb,uBAAKA,UAAS,UArF9B,WACE,IAAKD,EAAM6B,aACT,OAAO,8BAET,OAAQC,EAAA,6BAAwC9B,EAAM6B,aAAaE,gBACjE,KAAKC,EAAA,UACH,MAAO,aAAP,OAAoB,oBAEtB,KAAKA,EAAA,UACH,MAAO,WAAP,OAAkB,oBAEpB,QACA,KAAKA,EAAA,UACH,MAAO,YAAP,OAAmB,oBAEzB,CAsEmCC,GAAsB,wBACvC,gBAACV,EAAA,EAAY,CAACG,QAAS,YAAqBQ,KAAMX,EAAAC,EAAA,SAGlDxB,EAAM6B,aAKN,wBAAM5B,UAAS,oCAA+B,qBAA4BD,EAAM6B,aAAanC,MAJ7F,uBAAKO,UAAS,UAAK,8BAAkC,iBACnD,gBAACc,EAAA,EAAI,CAACxB,UAAWA,EAAWyB,OAAO,sBAYjD,uBAAKf,UAAS,+BACXD,EAAMQ,WAKjB,6FC9IA,SAAgB,OAAS,QAAQ,MAAQ,QAAQ,aAAe,QAAQ,aAAe,QAAQ,YAAc,QAAQ,aAAe,QAAQ,aAAe,QAAQ,aAAe,SCclL,SAAS2B,EAAiBnC,GACxB,OACE,sBAAIC,UAAU,YACZ,uBAAKA,UAAS,yBAAoB,iBAC/BD,EAAMoC,MACL,gBAACC,EAAA,EAAc,CAACD,MAAOpC,EAAMoC,MAAOE,KAAK,WAAWC,cAAY,EAACC,aAAc,CAAEN,KAAM,eAEvF,gBAACO,EAAA,GAAa,CAACH,KAAMG,EAAA,SAAyBC,aAAY,sCAAiC,kBAI/F,uBAAKzC,UAAS,yBAAoB,iBAChC,uBAAKA,UAAS,UAAK,QAAY,gCAC/B,uBAAKA,UAAS,UAAK,eAAmB,gCACtC,uBAAKA,UAAS,UAAK,eAAmB,iCAI9C,CAUM,SAAU0C,EAAa3C,aACrB4C,EAAoB5C,EAAM6C,iBAAmB,EAAIC,KAAKnD,IAAI,GAAyB,QAApB,EAAY,QAAZ,EAAAK,EAAM+C,cAAM,eAAEC,cAAM,QAAI,GAAI,GAEjG,OACE,gBAACrC,EAAA,EAAU,CAACkB,aAAc7B,EAAM6B,aAAcZ,WAAYjB,EAAMiB,YAE9D,uBAAKhB,UAAS,kBAAa,SAAa,uBACrCD,EAAMN,MACL,uBAAKO,UAAS,6BAAwB,iBAAwBD,EAAMN,OAKxE,sBAAIO,UAAU,gCACC,QAAZ,EAAAD,EAAM+C,cAAM,eAAEE,KAAI,SAAAb,GACjB,OACE,gBAACD,EAAgB,CAACe,IAAKd,EAAMe,GAAIf,MAAOA,GAE5C,IACC,IAAIgB,MAAMR,GAAmBS,KAAK,GAAGJ,KAAI,SAACK,EAAGC,GAC5C,OACE,gBAACpB,EAAgB,CAACe,IAAKK,GAE3B,KAIR,oUCrEA,SAAgB,WAAa,u3PCmCvBhE,EAAY,4BAEZ,SAAUiE,EAA6BxD,GAC3C,IAAO+C,EAIN,GAJgB,OACf,yBACA,GACA,CAAEU,QAAS,oBACZ,GAJY,GAMHC,EAAmG,GAA5E,OAAwC,sBAAiC,CAAC,GAAE,GAAjF,GAEtBC,EAAc,kBAAkCC,EAAA,iBACtD,GAKI,EAAAC,EAAA,GAAuB7D,EAAM8D,aAJ/BC,EAAW,EAAXA,YACAC,EAAc,EAAdA,eACAC,EAAW,EAAXA,YACAC,EAAiB,EAAjBA,kBAEMC,GAAa,EAAAC,EAAA,KAAbD,SACAE,GAA0B,EAAAC,EAAA,KAA1BD,sBACAE,GAAwB,EAAAC,EAAA,KAAxBD,oBACFE,EAAa,uBAanB,EAA0B,WAX1B,WACE,IAAMC,EAAgBC,EAAA,YAA0BpF,EAAW,iBAErDG,EAAOiE,EAAYiB,KAAKC,UAE9B,OAAInF,EAAKoF,SAAS,KACT,GAAP,OAAUpF,EAAI,aAAKgF,GAEd,GAAP,OAAUhF,EAAI,cAAMgF,EACtB,CAEyCK,IAAiB,SAAlDrF,EAAI,KAAEsF,EAAO,KAEfC,EAAsB,CAC1BvF,KAAAA,EACAqD,OAAQA,EAAOE,KAAI,SAAAiC,SAAK,MAAC,CACvB/B,GAAI+B,EAAEN,KAAKzB,GACXzD,KAAMwF,EAAEN,KAAKlF,KACbyF,aAA8B,QAAhB,EAAAD,EAAEN,KAAKQ,iBAAS,eAAE/D,IAChCgE,eAAgBH,EAAEI,iBAClBC,iBAAkBL,EAAEM,uBAEtBC,eAAgBpB,EAAsBlB,GACtCuC,iBAAkBrB,EAAsB3E,KACxCiG,wBAAyBtB,EAAsBxE,aAgCjD,OACE,gBAAC+F,EAAA,EAAgB,CAACrG,UAAWA,GAC3B,gBAACqG,EAAA,OAAqB,CAAC3F,UAAU,0EAC/B,gBAACF,EAAA,EAAa,CACZI,cAAe0F,EAAA,yCACfzF,mBAAmB,WACnBC,oBAAmB,eAAU,cAC7BH,gBAAgB,SAEhB,gBAACyC,EAAA,EAAY,CACXd,aAAcwC,EACdpD,WAAYsD,EACZxB,OAAQA,EAAOE,KAAI,SAAAiC,GAAC,OAAIA,EAAEN,IAAI,IAC9BlF,KAAMA,MAKZ,gBAACkG,EAAA,QAAsB,CACrBE,kBAAkB,EAClB/B,YAAaA,EACbgC,qBAAsB/B,EACtBgC,YAnDN,+HAC6E,GAA3E7B,EAAS,WAAkB,UAA2Bc,GAEjDzF,EAAA,cAAqC,CAAEE,KAAAA,IAAO,iDAIjD,OAJiD,kBAI3C+E,EAAWwB,EAAA,iBAAgCtC,EAAYiB,KAAKzB,GAAI,CACpEzD,KAAAA,EACA0B,MAAO,CACL8E,OAAQC,EAAA,oCACRC,WAAY,iBAEdC,OAAQ,CACNH,OAAQC,EAAA,qCACRC,WAAY,iBAEdrD,OAAQA,EAAOE,KAAI,SAAAb,GAAK,MAAK,CAAEe,GAAIf,EAAMwC,KAAKzB,GAAI,OACjD,OAIH,OAFAO,EAAmB,eAAgBhE,GAAM,SAEnCwE,IAAmB,+BAEX,OAFW,0BAEzBD,IAAc,kBACPqC,QAAQC,UAAQ,yDAE1B,EAyBKC,aAAchH,EAAA,cAAqC,CAAEE,KAAAA,KAErD,gBAAC+G,EAAA,EAAuB,KACtB,gBAAC1F,EAAA,EAAI,CAACC,OAAO,aAGf,gBAAC0F,EAAA,EAAoB,KACnB,gBAAC3F,EAAA,EAAI,CAACC,OAAO,UAGf,wBAAM2F,SAAU,SAAAC,GAAC,OAAIA,EAAEC,gBAAgB,EAAE5G,UAAU,QACjD,yBAAO6G,QAAQ,OAAO7G,UAAU,cAC9B,gBAACc,EAAA,EAAI,CAACC,OAAO,WAEf,yBACEmC,GAAG,OACHlD,UAAU,+BACV8G,YAAapC,EAAA,YAA0BpF,EAAW,eAClDG,KAAK,OACLsH,MAAOtH,EACPuH,SAAU,SAAAL,GAAC,OAAI5B,EAAQ4B,EAAEM,OAAOF,MAAM,EACtCG,QAAS,WACPhD,EAAS,WAAkB,kBAAmCc,EAChE,EACAmC,OAAQ,WACNjD,EAAS,UAAiB,kBAAmCc,EAC/D,KAIJ,gBAACyB,EAAA,EAAoB,KACnB,gBAAC3F,EAAA,EAAI,CAACC,OAAO,gBAKvB","sources":["file:///app/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/left-panel-item.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/LeftPanelItem.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/mock-layout.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/MockLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/mock-playlist.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/MockPlaylist.tsx","file:///app/packages/projects/lite/src/apps/onboarding/views/create-playlist/create-playlist.scss","file:///app/packages/projects/lite/src/apps/onboarding/views/create-playlist/OnboardingCreatePlaylistView.tsx"],"sourcesContent":["import * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'playlists.validation';\n\nexport const PlaylistValidationSchema = Yup.object().shape({\n name: Yup.string()\n .max(250, () => LanguageService.getPhrase(namespace, 'nameExceeds'))\n .required(() => LanguageService.getPhrase(namespace, 'nameRequired')),\n description: Yup.string()\n .max(16000, () => LanguageService.getPhrase(namespace, 'descriptionExceeds'))\n .nullable()\n});","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"LkdHB\",\"above\":\"ROdbm\",\"below\":\"OzyHx\",\"left\":\"W9EBF\",\"right\":\"zhio2\",\"divider\":\"cdR_p\",\"imageContainer\":\"QZZMF\"};","import React from 'react';\n\nimport styles from './left-panel-item.scss';\n\ninterface LeftPanelItemProps {\n contentPosition?: 'center' | 'right';\n annotationUrl?: string;\n annotationPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n annotationClassName?: string;\n}\n\nLeftPanelItem.defaultProps = {\n contentPosition: 'center'\n};\n\nexport function LeftPanelItem(props: React.PropsWithChildren<LeftPanelItemProps>): JSX.Element {\n function getAnnotationClassName(): string {\n let className = styles.annotation;\n\n switch (props.annotationPosition) {\n case 'top-left': {\n className += ` ${styles.above} ${styles.left}`;\n break;\n }\n\n case 'top-right': {\n className += ` ${styles.above} ${styles.right}`;\n break;\n }\n\n case 'bottom-left': {\n className += ` ${styles.below} ${styles.left}`;\n break;\n }\n\n case 'bottom-right': {\n className += ` ${styles.below} ${styles.right}`;\n break;\n }\n }\n\n if (props.annotationClassName)\n className += ` ${props.annotationClassName}`;\n\n return className;\n }\n\n function getContainerClassName(): string {\n let className = `d-flex align-items-center text-center position-relative w-100 ${styles.imageContainer}`;\n\n if (props.contentPosition === 'center')\n className += ' px-5 justify-content-center';\n\n if (props.contentPosition === 'right')\n className += ' me-n5 justify-content-end';\n\n return className;\n }\n\n return (\n <div className={getContainerClassName()}>\n {!!props.annotationUrl && (\n <div className={getAnnotationClassName()}>\n <img className={`img-fluid`} src={props.annotationUrl} />\n </div>\n )}\n\n {props.children}\n {props.contentPosition === 'right' && (\n <div className={styles.divider} />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"AlRQD\",\"logo\":\"L42gR\",\"blackBar\":\"ESCxm\",\"topNav\":\"a3G_4\",\"leftNav\":\"YxGVV\",\"belowHeader\":\"jc_cg\",\"leftNavIcon\":\"U6i6r\",\"leftNavText\":\"LnYlW\",\"presentationPlaceholderIcon\":\"Ljaju\",\"presentationIcon\":\"QdwPq\",\"presentationPlaceholderText\":\"af06V\",\"curriculumIcon\":\"N7T4T\",\"curriculumIconSmall\":\"_6xrUg\",\"curriculumContainer\":\"Z65qX\",\"iconPlaceholder\":\"CKOXL\",\"shadow\":\"zygeJ\",\"presentationName\":\"Oj7Dt\"};","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClickViewLogo, ClickViewPrimaryLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport styles from './mock-layout.scss';\n\nconst namespace = 'onboarding.mockLayout';\n\nfunction LeftNavItem(): JSX.Element {\n return (\n <div className='d-flex align-items-center justify-content-center mb-2 px-3'>\n <div className={`${styles.leftNavIcon} rounded-circle`} />\n <div className={`${styles.leftNavText} rounded-pill`} />\n </div>\n );\n}\n\ninterface MockLayoutProps {\n editingCurriculum?: boolean;\n curriculum?: Presentation;\n presentation?: Presentation;\n}\n\nexport function MockLayout(props: React.PropsWithChildren<MockLayoutProps>): JSX.Element {\n const breakpoints = useBreakpoints();\n \n function getPresentationClass(): string {\n if (!props.presentation)\n return styles.presentationPlaceholderIcon;\n\n switch (TopicsHelper.getMappedPresentationLevel(props.presentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return `bg-indigo ${styles.presentationIcon}`;\n\n case PresentationLearningLevel.Level_3:\n return `bg-blue ${styles.presentationIcon}`;\n\n default:\n case PresentationLearningLevel.Level_2:\n return `bg-green ${styles.presentationIcon}`;\n }\n }\n\n return (\n <div className={`border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100`}>\n {!!props.editingCurriculum && (\n <div className={`w-100 h-100 position-absolute ${styles.shadow}`}>\n <div className={`d-flex align-items-center h-100 w-50 ${styles.curriculumContainer}`}>\n <div className='bg-white rounded-3 border p-3 w-100'>\n <h2 className='h6 text-start'><Text namespace={namespace} phrase='curriculum' /></h2>\n\n {props.curriculum ? (\n <div className='d-flex align-items-center'>\n <div className={`${styles.curriculumIcon} rounded-circle me-2 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n <div className='text-start'>{props.curriculum.name}</div>\n </div>\n ) : (\n <div className='d-flex align-items-center text-secondary'>\n <div className={`me-2 rounded-circle p-1 ${styles.iconPlaceholder}`}>\n <IconCircle svgSize={SvgContainerSize.Large} textVariant='secondary' svgName={cvSvgLibrary.GraduationCap} />\n </div>\n <Text namespace={namespace} phrase='selectCurriculum' />\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Black bar */}\n <div className={`bg-dark d-flex px-3 py-2 ${styles.blackBar}`}>\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle ${styles.dot}`} />\n </div>\n\n {/* Header */}\n <div className={`border-bottom px-3 py-2 d-flex align-items-center ${styles.topNav}`}>\n <div className={`${styles.logo} me-4`}>\n {breakpoints.xs ? (\n <ClickViewPrimaryLogo />\n ) : (\n <ClickViewLogo />\n )}\n </div>\n <div className='form-control w-75 d-flex justify-content-start'>\n <SvgContainer svgName={cvSvgLibrary.Search} />\n </div>\n {!!props.curriculum && (\n <div className={`${styles.curriculumIconSmall} rounded-circle ms-2 me-n1 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n )}\n </div>\n\n <div className={`d-flex ${styles.belowHeader}`}>\n {/* Left nav */}\n <div className={`${styles.leftNav} border-end`}>\n <div className='d-flex flex-column pt-3 h-100'>\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n\n {/* Presentation */}\n <div className='d-flex align-items-end h-100 w-100'>\n <div className='border-top p-3 w-100'>\n <div className='d-flex align-items-center'>\n <div className={`${getPresentationClass()} text-white rounded`}>\n <SvgContainer svgName={cvSvgLibrary.School} size={SvgContainerSize.Large} />\n </div>\n\n {!props.presentation ? (\n <div className={`${styles.presentationPlaceholderText} fw-semibold`}>\n <Text namespace={namespace} phrase='schoolLevel' />\n </div>\n ) : (\n <span className={`fw-semibold text-truncate ${styles.presentationName}`}>{props.presentation.name}</span>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Main content */}\n <div className={`w-100 h-100 overflow-hidden`}>\n {props.children}\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"CQxNy\",\"title\":\"NzV5V\",\"description1\":\"kjCZi\",\"description2\":\"cBeyJ\",\"placeholder\":\"Ks_Tl\",\"playlistName\":\"eFPqz\",\"thumbnailCol\":\"dgCQ7\",\"videoInfoCol\":\"pzfE2\"};","import React from 'react';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation, Video } from 'libs/shared/interfaces';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-playlist.scss';\n\ninterface VideoPlaceholderProps {\n video?: Video;\n}\n\nfunction VideoPlaceholder(props: VideoPlaceholderProps): JSX.Element {\n return (\n <li className='row mb-2'>\n <div className={`col-lg-4 col-5 ${styles.thumbnailCol}`}>\n {props.video ? (\n <VideoThumbnail video={props.video} type='cosmetic' hideDuration imageOptions={{ size: ImageSize.Medium }} />\n ) : (\n <ImageFallback type={ImageFallbackType.Video} extraClasses={`position-relative rounded-3 ${styles.placeholder}`} />\n )}\n </div>\n\n <div className={`col-lg-8 col-7 ${styles.videoInfoCol}`}>\n <div className={`${styles.title} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description1} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description2} rounded-pill bg-grey mb-1`} />\n </div>\n </li>\n );\n}\n\ninterface MockPlaylistProps {\n name?: string;\n presentation?: Presentation;\n curriculum?: Presentation;\n videos: Video[];\n hidePlaceholders?: boolean;\n}\n\nexport function MockPlaylist(props: MockPlaylistProps): JSX.Element {\n const placeholderVideos = props.hidePlaceholders ? 0 : Math.max(6 - (props.videos?.length ?? 0), 0);\n\n return (\n <MockLayout presentation={props.presentation} curriculum={props.curriculum}>\n {/* Banner */}\n <div className={`bg-teal ${styles.banner} position-relative`}>\n {props.name && (\n <div className={`h5 text-white mb-0 ${styles.playlistName}`}>{props.name}</div>\n )}\n </div>\n\n {/* Videos */}\n <ul className='list-unstyled mb-0 w-100 p-2'>\n {props.videos?.map(video => {\n return (\n <VideoPlaceholder key={video.id} video={video} />\n );\n })}\n {new Array(placeholderVideos).fill(0).map((_, index) => {\n return (\n <VideoPlaceholder key={index} />\n );\n })}\n </ul>\n </MockLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"EYKMF\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { PlaylistValidationSchema } from 'libs/shared/apps/playlists/validation/PlaylistValidationSchema';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { FileIdType } from 'libs/shared/enums/Images';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport { OnboardingScreenHeading } from 'apps/onboarding/components/heading/OnboardingScreenHeading';\nimport { OnboardingScreenInfo } from 'apps/onboarding/components/info/OnboardingScreenInfo';\nimport { OnboardingLayout } from 'apps/onboarding/components/layout/OnboardingLayout';\nimport { LeftPanelItem } from 'apps/onboarding/components/left-panel-item/LeftPanelItem';\nimport { MockPlaylist } from 'apps/onboarding/components/mock-views/playlist/MockPlaylist';\nimport { useOnboardingCallbacks } from 'apps/onboarding/hooks/useOnboardingCallbacks';\nimport { useOnboardingEventLogger } from 'apps/onboarding/hooks/useOnboardingEventLogger';\nimport { OnboardingViewProps } from 'apps/onboarding/interfaces/OnboardingViewProps';\nimport { OnboardingLoaderViewModel } from 'apps/onboarding/views/completed-loader/OnboardingCompletedLoaderView';\n\nimport { SavedOnboardingVideo } from '../select-videos/OnboardingSelectVideosView';\n\nimport styles from './create-playlist.scss';\n\nconst namespace = 'onboarding.createPlaylist';\n\nexport function OnboardingCreatePlaylistView(props: OnboardingViewProps): JSX.Element {\n const [videos] = useViewModel<SavedOnboardingVideo[]>(\n ViewModelKeys.ONBOARDING_VIDEOS_V2,\n [],\n { storage: StorageType.LocalStorage }\n );\n\n const [ , setLoaderViewModel ] = useViewModel<OnboardingLoaderViewModel>(ViewModelKeys.ONBOARDING_LOADER, {});\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const {\n onClickBack,\n exitOnboarding,\n onSaveError,\n completeStepAsync\n } = useOnboardingCallbacks(props.redirectUrl);\n const { logEvent } = useOnboardingEventLogger();\n const { preferredPresentation } = usePresentation();\n const { preferredCurriculum } = useCurriculums();\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getInitialName(): string {\n const firstPlaylist = LanguageService.getPhrase(namespace, 'firstPlaylist');\n\n const name = currentUser.data.givenName;\n\n if (name.endsWith('s'))\n return `${name}' ${firstPlaylist}`;\n \n return `${name}'s ${firstPlaylist}`;\n }\n\n const [ name, setName ] = React.useState(getInitialName());\n\n const additionalEventData = {\n name,\n videos: videos.map(v => ({\n id: v.data.id,\n name: v.data.name,\n thumbnailUrl: v.data.thumbnail?.url,\n videoSubjectId: v.classificationId,\n videoSubjectName: v.classificationName\n })),\n presentationId: preferredPresentation.id,\n presentationName: preferredPresentation.name,\n presentationDescription: preferredPresentation.description\n };\n\n async function onClickNext(): Promise<void> {\n logEvent(UserAction.Click, OnboardingDescriptor.Next, additionalEventData);\n\n if (!PlaylistValidationSchema.isValidSync({ name }))\n return;\n\n try {\n await fetchAsync(PlaylistRequests.createPlaylist(currentUser.data.id, {\n name,\n cover: {\n fileId: HardCoded.Onboarding.Playlist.COVER_FILE_ID,\n fileIdType: FileIdType.ImageAPIv2\n },\n banner: {\n fileId: HardCoded.Onboarding.Playlist.BANNER_FILE_ID,\n fileIdType: FileIdType.ImageAPIv2\n },\n videos: videos.map(video => ({ id: video.data.id }))\n }));\n\n setLoaderViewModel('playlistName', name);\n\n await completeStepAsync();\n } catch {\n onSaveError();\n return Promise.reject();\n }\n }\n\n return (\n <OnboardingLayout namespace={namespace}>\n <OnboardingLayout.Left className='bg-dark-blue d-flex flex-column align-items-end justify-content-center'>\n <LeftPanelItem\n annotationUrl={ImageUrls.OnboardingV2.CreatePlaylist.ANNOTATION}\n annotationPosition='top-left'\n annotationClassName={`ms-5 ${styles.annotation}`}\n contentPosition='right'\n >\n <MockPlaylist\n presentation={preferredPresentation}\n curriculum={preferredCurriculum}\n videos={videos.map(v => v.data)}\n name={name}\n />\n </LeftPanelItem>\n </OnboardingLayout.Left>\n\n <OnboardingLayout.Right\n hasCustomButtons={false}\n onClickBack={onClickBack}\n onClickComeBackLater={exitOnboarding}\n onClickNext={onClickNext}\n disableNext={!PlaylistValidationSchema.isValidSync({ name })}\n >\n <OnboardingScreenHeading>\n <Text phrase='heading' />\n </OnboardingScreenHeading>\n\n <OnboardingScreenInfo>\n <Text phrase='info' />\n </OnboardingScreenInfo>\n\n <form onSubmit={e => e.preventDefault()} className='pb-3'>\n <label htmlFor='name' className='form-label'>\n <Text phrase='label' />\n </label>\n <input\n id='name'\n className='form-control form-control-lg'\n placeholder={LanguageService.getPhrase(namespace, 'placeholder')}\n name='name'\n value={name}\n onChange={e => setName(e.target.value)}\n onFocus={() => {\n logEvent(UserAction.Focus, OnboardingDescriptor.PlaylistName, additionalEventData);\n }}\n onBlur={() => {\n logEvent(UserAction.Blur, OnboardingDescriptor.PlaylistName, additionalEventData);\n }}\n />\n </form>\n\n <OnboardingScreenInfo>\n <Text phrase='noWorries' />\n </OnboardingScreenInfo>\n </OnboardingLayout.Right>\n </OnboardingLayout>\n );\n}"],"names":["namespace","PlaylistValidationSchema","shape","name","max","required","description","nullable","LeftPanelItem","props","className","contentPosition","annotationUrl","annotationPosition","annotationClassName","getAnnotationClassName","src","children","defaultProps","LeftNavItem","MockLayout","breakpoints","useBreakpoints","editingCurriculum","Text","phrase","curriculum","IconCircle","imageUrl","cover","url","svgSize","SvgContainer","S","textVariant","svgName","xs","ClickViewLogo","presentation","TopicsHelper","learningLevel","PresentationLearningLevel","getPresentationClass","size","VideoPlaceholder","video","VideoThumbnail","type","hideDuration","imageOptions","ImageFallback","extraClasses","MockPlaylist","placeholderVideos","hidePlaceholders","Math","videos","length","map","key","id","Array","fill","_","index","OnboardingCreatePlaylistView","storage","setLoaderViewModel","currentUser","UserRequests","useOnboardingCallbacks","redirectUrl","onClickBack","exitOnboarding","onSaveError","completeStepAsync","logEvent","useOnboardingEventLogger","preferredPresentation","usePresentation","preferredCurriculum","useCurriculums","fetchAsync","firstPlaylist","LanguageService","data","givenName","endsWith","getInitialName","setName","additionalEventData","v","thumbnailUrl","thumbnail","videoSubjectId","classificationId","videoSubjectName","classificationName","presentationId","presentationName","presentationDescription","OnboardingLayout","ImageUrls","hasCustomButtons","onClickComeBackLater","onClickNext","PlaylistRequests","fileId","HardCoded","fileIdType","banner","Promise","reject","disableNext","OnboardingScreenHeading","OnboardingScreenInfo","onSubmit","e","preventDefault","htmlFor","placeholder","value","onChange","target","onFocus","onBlur"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/2446-eaa1d2ee7d-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/left-panel-item.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/left-panel-item/LeftPanelItem.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/mock-layout.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/layout/MockLayout.tsx","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/mock-playlist.scss","file:///app/packages/projects/lite/src/apps/onboarding/components/mock-views/playlist/MockPlaylist.tsx","file:///app/packages/projects/lite/src/apps/onboarding/views/create-playlist/create-playlist.scss","file:///app/packages/projects/lite/src/apps/onboarding/views/create-playlist/OnboardingCreatePlaylistView.tsx"],"sourcesContent":["import * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'playlists.validation';\n\nexport const PlaylistValidationSchema = Yup.object().shape({\n name: Yup.string()\n .max(250, () => LanguageService.getPhrase(namespace, 'nameExceeds'))\n .required(() => LanguageService.getPhrase(namespace, 'nameRequired')),\n description: Yup.string()\n .max(16000, () => LanguageService.getPhrase(namespace, 'descriptionExceeds'))\n .nullable()\n});","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"LkdHB\",\"above\":\"ROdbm\",\"below\":\"OzyHx\",\"left\":\"W9EBF\",\"right\":\"zhio2\",\"divider\":\"cdR_p\",\"imageContainer\":\"QZZMF\"};","import React from 'react';\n\nimport styles from './left-panel-item.scss';\n\ninterface LeftPanelItemProps {\n contentPosition?: 'center' | 'right';\n annotationUrl?: string;\n annotationPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n annotationClassName?: string;\n}\n\nLeftPanelItem.defaultProps = {\n contentPosition: 'center'\n};\n\nexport function LeftPanelItem(props: React.PropsWithChildren<LeftPanelItemProps>): JSX.Element {\n function getAnnotationClassName(): string {\n let className = styles.annotation;\n\n switch (props.annotationPosition) {\n case 'top-left': {\n className += ` ${styles.above} ${styles.left}`;\n break;\n }\n\n case 'top-right': {\n className += ` ${styles.above} ${styles.right}`;\n break;\n }\n\n case 'bottom-left': {\n className += ` ${styles.below} ${styles.left}`;\n break;\n }\n\n case 'bottom-right': {\n className += ` ${styles.below} ${styles.right}`;\n break;\n }\n }\n\n if (props.annotationClassName)\n className += ` ${props.annotationClassName}`;\n\n return className;\n }\n\n function getContainerClassName(): string {\n let className = `d-flex align-items-center text-center position-relative w-100 ${styles.imageContainer}`;\n\n if (props.contentPosition === 'center')\n className += ' px-5 justify-content-center';\n\n if (props.contentPosition === 'right')\n className += ' me-n5 justify-content-end';\n\n return className;\n }\n\n return (\n <div className={getContainerClassName()}>\n {!!props.annotationUrl && (\n <div className={getAnnotationClassName()}>\n <img className={`img-fluid`} src={props.annotationUrl} />\n </div>\n )}\n\n {props.children}\n {props.contentPosition === 'right' && (\n <div className={styles.divider} />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dot\":\"AlRQD\",\"logo\":\"L42gR\",\"blackBar\":\"ESCxm\",\"topNav\":\"a3G_4\",\"leftNav\":\"YxGVV\",\"belowHeader\":\"jc_cg\",\"leftNavIcon\":\"U6i6r\",\"leftNavText\":\"LnYlW\",\"presentationPlaceholderIcon\":\"Ljaju\",\"presentationIcon\":\"QdwPq\",\"presentationPlaceholderText\":\"af06V\",\"curriculumIcon\":\"N7T4T\",\"curriculumIconSmall\":\"_6xrUg\",\"curriculumContainer\":\"Z65qX\",\"iconPlaceholder\":\"CKOXL\",\"shadow\":\"zygeJ\",\"presentationName\":\"Oj7Dt\"};","import React from 'react';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClickViewLogo, ClickViewPrimaryLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport styles from './mock-layout.scss';\n\nconst namespace = 'onboarding.mockLayout';\n\nfunction LeftNavItem(): JSX.Element {\n return (\n <div className='d-flex align-items-center justify-content-center mb-2 px-3'>\n <div className={`${styles.leftNavIcon} rounded-circle`} />\n <div className={`${styles.leftNavText} rounded-pill`} />\n </div>\n );\n}\n\ninterface MockLayoutProps {\n editingCurriculum?: boolean;\n curriculum?: Presentation;\n presentation?: Presentation;\n}\n\nexport function MockLayout(props: React.PropsWithChildren<MockLayoutProps>): JSX.Element {\n const breakpoints = useBreakpoints();\n \n function getPresentationClass(): string {\n if (!props.presentation)\n return styles.presentationPlaceholderIcon;\n\n switch (TopicsHelper.getMappedPresentationLevel(props.presentation.learningLevel)) {\n case PresentationLearningLevel.Level_1:\n return `bg-indigo ${styles.presentationIcon}`;\n\n case PresentationLearningLevel.Level_3:\n return `bg-blue ${styles.presentationIcon}`;\n\n default:\n case PresentationLearningLevel.Level_2:\n return `bg-green ${styles.presentationIcon}`;\n }\n }\n\n return (\n <div className={`border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100`}>\n {!!props.editingCurriculum && (\n <div className={`w-100 h-100 position-absolute ${styles.shadow}`}>\n <div className={`d-flex align-items-center h-100 w-50 ${styles.curriculumContainer}`}>\n <div className='bg-white rounded-3 border p-3 w-100'>\n <h2 className='h6 text-start'><Text namespace={namespace} phrase='curriculum' /></h2>\n\n {props.curriculum ? (\n <div className='d-flex align-items-center'>\n <div className={`${styles.curriculumIcon} rounded-circle me-2 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n <div className='text-start'>{props.curriculum.name}</div>\n </div>\n ) : (\n <div className='d-flex align-items-center text-secondary'>\n <div className={`me-2 rounded-circle p-1 ${styles.iconPlaceholder}`}>\n <IconCircle svgSize={SvgContainerSize.Large} textVariant='secondary' svgName={cvSvgLibrary.GraduationCap} />\n </div>\n <Text namespace={namespace} phrase='selectCurriculum' />\n </div>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Black bar */}\n <div className={`bg-dark d-flex px-3 py-2 ${styles.blackBar}`}>\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle me-2 ${styles.dot}`} />\n <div className={`rounded-circle ${styles.dot}`} />\n </div>\n\n {/* Header */}\n <div className={`border-bottom px-3 py-2 d-flex align-items-center ${styles.topNav}`}>\n <div className={`${styles.logo} me-4`}>\n {breakpoints.xs ? (\n <ClickViewPrimaryLogo />\n ) : (\n <ClickViewLogo />\n )}\n </div>\n <div className='form-control w-75 d-flex justify-content-start'>\n <SvgContainer svgName={cvSvgLibrary.Search} />\n </div>\n {!!props.curriculum && (\n <div className={`${styles.curriculumIconSmall} rounded-circle ms-2 me-n1 border`}>\n <IconCircle imageUrl={props.curriculum.cover?.url} />\n </div>\n )}\n </div>\n\n <div className={`d-flex ${styles.belowHeader}`}>\n {/* Left nav */}\n <div className={`${styles.leftNav} border-end`}>\n <div className='d-flex flex-column pt-3 h-100'>\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n <LeftNavItem />\n\n {/* Presentation */}\n <div className='d-flex align-items-end h-100 w-100'>\n <div className='border-top p-3 w-100'>\n <div className='d-flex align-items-center'>\n <div className={`${getPresentationClass()} text-white rounded`}>\n <SvgContainer svgName={cvSvgLibrary.School} size={SvgContainerSize.Large} />\n </div>\n\n {!props.presentation ? (\n <div className={`${styles.presentationPlaceholderText} fw-semibold`}>\n <Text namespace={namespace} phrase='schoolLevel' />\n </div>\n ) : (\n <span className={`fw-semibold text-truncate ${styles.presentationName}`}>{props.presentation.name}</span>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Main content */}\n <div className={`w-100 h-100 overflow-hidden`}>\n {props.children}\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"banner\":\"CQxNy\",\"title\":\"NzV5V\",\"description1\":\"kjCZi\",\"description2\":\"cBeyJ\",\"placeholder\":\"Ks_Tl\",\"playlistName\":\"eFPqz\",\"thumbnailCol\":\"dgCQ7\",\"videoInfoCol\":\"pzfE2\"};","import React from 'react';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation, Video } from 'libs/shared/interfaces';\n\nimport { MockLayout } from 'apps/onboarding/components/mock-views/layout/MockLayout';\n\nimport styles from './mock-playlist.scss';\n\ninterface VideoPlaceholderProps {\n video?: Video;\n}\n\nfunction VideoPlaceholder(props: VideoPlaceholderProps): JSX.Element {\n return (\n <li className='row mb-2'>\n <div className={`col-lg-4 col-5 ${styles.thumbnailCol}`}>\n {props.video ? (\n <VideoThumbnail video={props.video} type='cosmetic' hideDuration imageOptions={{ size: ImageSize.Medium }} />\n ) : (\n <ImageFallback type={ImageFallbackType.Video} extraClasses={`position-relative rounded-3 ${styles.placeholder}`} />\n )}\n </div>\n\n <div className={`col-lg-8 col-7 ${styles.videoInfoCol}`}>\n <div className={`${styles.title} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description1} rounded-pill bg-grey mb-1`} />\n <div className={`${styles.description2} rounded-pill bg-grey mb-1`} />\n </div>\n </li>\n );\n}\n\ninterface MockPlaylistProps {\n name?: string;\n presentation?: Presentation;\n curriculum?: Presentation;\n videos: Video[];\n hidePlaceholders?: boolean;\n}\n\nexport function MockPlaylist(props: MockPlaylistProps): JSX.Element {\n const placeholderVideos = props.hidePlaceholders ? 0 : Math.max(6 - (props.videos?.length ?? 0), 0);\n\n return (\n <MockLayout presentation={props.presentation} curriculum={props.curriculum}>\n {/* Banner */}\n <div className={`bg-teal ${styles.banner} position-relative`}>\n {props.name && (\n <div className={`h5 text-white mb-0 ${styles.playlistName}`}>{props.name}</div>\n )}\n </div>\n\n {/* Videos */}\n <ul className='list-unstyled mb-0 w-100 p-2'>\n {props.videos?.map(video => {\n return (\n <VideoPlaceholder key={video.id} video={video} />\n );\n })}\n {new Array(placeholderVideos).fill(0).map((_, index) => {\n return (\n <VideoPlaceholder key={index} />\n );\n })}\n </ul>\n </MockLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"annotation\":\"EYKMF\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { OnboardingDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { PlaylistValidationSchema } from 'libs/shared/apps/playlists/validation/PlaylistValidationSchema';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { FileIdType } from 'libs/shared/enums/Images';\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\nimport { useCurriculums } from 'shared/hooks/useCurriculums';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport { OnboardingScreenHeading } from 'apps/onboarding/components/heading/OnboardingScreenHeading';\nimport { OnboardingScreenInfo } from 'apps/onboarding/components/info/OnboardingScreenInfo';\nimport { OnboardingLayout } from 'apps/onboarding/components/layout/OnboardingLayout';\nimport { LeftPanelItem } from 'apps/onboarding/components/left-panel-item/LeftPanelItem';\nimport { MockPlaylist } from 'apps/onboarding/components/mock-views/playlist/MockPlaylist';\nimport { useOnboardingCallbacks } from 'apps/onboarding/hooks/useOnboardingCallbacks';\nimport { useOnboardingEventLogger } from 'apps/onboarding/hooks/useOnboardingEventLogger';\nimport { OnboardingViewProps } from 'apps/onboarding/interfaces/OnboardingViewProps';\nimport { OnboardingLoaderViewModel } from 'apps/onboarding/views/completed-loader/OnboardingCompletedLoaderView';\n\nimport { SavedOnboardingVideo } from '../select-videos/OnboardingSelectVideosView';\n\nimport styles from './create-playlist.scss';\n\nconst namespace = 'onboarding.createPlaylist';\n\nexport function OnboardingCreatePlaylistView(props: OnboardingViewProps): JSX.Element {\n const [videos] = useViewModel<SavedOnboardingVideo[]>(\n ViewModelKeys.ONBOARDING_VIDEOS_V2,\n [],\n { storage: StorageType.LocalStorage }\n );\n\n const [ , setLoaderViewModel ] = useViewModel<OnboardingLoaderViewModel>(ViewModelKeys.ONBOARDING_LOADER, {});\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const {\n onClickBack,\n exitOnboarding,\n onSaveError,\n completeStepAsync\n } = useOnboardingCallbacks(props.redirectUrl);\n const { logEvent } = useOnboardingEventLogger();\n const { preferredPresentation } = usePresentation();\n const { preferredCurriculum } = useCurriculums();\n const fetchAsync = Flight.useGetFetchAsync();\n\n function getInitialName(): string {\n const firstPlaylist = LanguageService.getPhrase(namespace, 'firstPlaylist');\n\n const name = currentUser.data.givenName;\n\n if (name.endsWith('s'))\n return `${name}' ${firstPlaylist}`;\n \n return `${name}'s ${firstPlaylist}`;\n }\n\n const [ name, setName ] = React.useState(getInitialName());\n\n const additionalEventData = {\n name,\n videos: videos.map(v => ({\n id: v.data.id,\n name: v.data.name,\n thumbnailUrl: v.data.thumbnail?.url,\n videoSubjectId: v.classificationId,\n videoSubjectName: v.classificationName\n })),\n presentationId: preferredPresentation.id,\n presentationName: preferredPresentation.name,\n presentationDescription: preferredPresentation.description\n };\n\n async function onClickNext(): Promise<void> {\n logEvent(UserAction.Click, OnboardingDescriptor.Next, additionalEventData);\n\n if (!PlaylistValidationSchema.isValidSync({ name }))\n return;\n\n try {\n await fetchAsync(PlaylistRequests.createPlaylist(currentUser.data.id, {\n name,\n cover: {\n fileId: HardCoded.Onboarding.Playlist.COVER_FILE_ID,\n fileIdType: FileIdType.ImageAPIv2\n },\n banner: {\n fileId: HardCoded.Onboarding.Playlist.BANNER_FILE_ID,\n fileIdType: FileIdType.ImageAPIv2\n },\n videos: videos.map(video => ({ id: video.data.id }))\n }));\n\n setLoaderViewModel('playlistName', name);\n\n await completeStepAsync();\n } catch {\n onSaveError();\n return Promise.reject();\n }\n }\n\n return (\n <OnboardingLayout namespace={namespace}>\n <OnboardingLayout.Left className='bg-dark-blue d-flex flex-column align-items-end justify-content-center'>\n <LeftPanelItem\n annotationUrl={ImageUrls.OnboardingV2.CreatePlaylist.ANNOTATION}\n annotationPosition='top-left'\n annotationClassName={`ms-5 ${styles.annotation}`}\n contentPosition='right'\n >\n <MockPlaylist\n presentation={preferredPresentation}\n curriculum={preferredCurriculum}\n videos={videos.map(v => v.data)}\n name={name}\n />\n </LeftPanelItem>\n </OnboardingLayout.Left>\n\n <OnboardingLayout.Right\n hasCustomButtons={false}\n onClickBack={onClickBack}\n onClickComeBackLater={exitOnboarding}\n onClickNext={onClickNext}\n disableNext={!PlaylistValidationSchema.isValidSync({ name })}\n >\n <OnboardingScreenHeading>\n <Text phrase='heading' />\n </OnboardingScreenHeading>\n\n <OnboardingScreenInfo>\n <Text phrase='info' />\n </OnboardingScreenInfo>\n\n <form onSubmit={e => e.preventDefault()} className='pb-3'>\n <label htmlFor='name' className='form-label'>\n <Text phrase='label' />\n </label>\n <input\n id='name'\n className='form-control form-control-lg'\n placeholder={LanguageService.getPhrase(namespace, 'placeholder')}\n name='name'\n value={name}\n onChange={e => setName(e.target.value)}\n onFocus={() => {\n logEvent(UserAction.Focus, OnboardingDescriptor.PlaylistName, additionalEventData);\n }}\n onBlur={() => {\n logEvent(UserAction.Blur, OnboardingDescriptor.PlaylistName, additionalEventData);\n }}\n />\n </form>\n\n <OnboardingScreenInfo>\n <Text phrase='noWorries' />\n </OnboardingScreenInfo>\n </OnboardingLayout.Right>\n </OnboardingLayout>\n );\n}"],"names":["namespace","PlaylistValidationSchema","shape","name","max","required","description","nullable","LeftPanelItem","props","className","contentPosition","annotationUrl","annotationPosition","annotationClassName","getAnnotationClassName","src","children","defaultProps","LeftNavItem","MockLayout","breakpoints","useBreakpoints","editingCurriculum","Text","phrase","curriculum","IconCircle","imageUrl","cover","url","svgSize","SvgContainer","S","textVariant","svgName","xs","ClickViewLogo","presentation","TopicsHelper","learningLevel","PresentationLearningLevel","getPresentationClass","size","VideoPlaceholder","video","VideoThumbnail","type","hideDuration","imageOptions","ImageFallback","extraClasses","MockPlaylist","placeholderVideos","hidePlaceholders","Math","videos","length","map","key","id","Array","fill","_","index","OnboardingCreatePlaylistView","storage","setLoaderViewModel","currentUser","UserRequests","useOnboardingCallbacks","redirectUrl","onClickBack","exitOnboarding","onSaveError","completeStepAsync","logEvent","useOnboardingEventLogger","preferredPresentation","usePresentation","preferredCurriculum","useCurriculums","fetchAsync","firstPlaylist","LanguageService","data","givenName","endsWith","getInitialName","setName","additionalEventData","v","thumbnailUrl","thumbnail","videoSubjectId","classificationId","videoSubjectName","classificationName","presentationId","presentationName","presentationDescription","OnboardingLayout","ImageUrls","hasCustomButtons","onClickComeBackLater","onClickNext","PlaylistRequests","fileId","HardCoded","fileIdType","banner","Promise","reject","disableNext","OnboardingScreenHeading","OnboardingScreenInfo","onSubmit","e","preventDefault","htmlFor","placeholder","value","onChange","target","onFocus","onBlur"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2507],{41021:(e,t,a)=>{a.r(t),a.d(t,{PlaySharedClipView:()=>w});var i=a(32735),n=a(20354),r=a(65858),c=a(16714),o=a(43012),l=a(39151),s=a(1666),d=a(20768),u=a(28907),p=a(31949),v=a(1575),m=a(26304),g=a(22902),h=a(15311),y=a(79612),f=a(76753),I=a(56871),C=a(51855),P=a(7179),E=a(49948),A=a(36873),V=a(27638),b=a(44110),k=a(35014),T=a(97816);function w(e){var t,a,w,L,x,O,S,N,F,R=(0,h.r)().hasProduct,U=(0,V.u)(r.LZ.VideoThumbnail),q=U.setFavourite,G=U.canFavourite,_=(0,C.G)().isPlugin,j=(0,g.T)().hasPermissions,M=(0,k.I)(),B=n.a.useBasicFetch(p.N.currentUser()),W=n.a.useBasicFetch(l.L.config()),D=n.a.useBasicFetch(o.e.sharedClip(e.objectId,e.shareId)),H=n.a.useBasicFetch(!!(null===(t=D.data)||void 0===t?void 0:t._parentVideo)&&v.R.video(D.data._parentVideo.id)),z=(0,A.k)({video:H.data,context:e.queryParams.context,contextId:e.queryParams.contextId,moviesAndTv:e.queryParams.mtv,currentUser:B.data}),K=n.a.useBasicFetch(M.canViewInteractives&&d.b.videoInteractives(e.objectId)),Q=n.a.useBasicFetch(!!(null===(a=D.data)||void 0===a?void 0:a._parentVideo)&&M.canViewClips&&o.e.videoClips(D.data._parentVideo.id)),Y=(0,b.i)(),Z=n.a.useBasicFetch((null===(w=B.data)||void 0===w?void 0:w.isAuthenticated)&&s.h.yearGroups(B.data.customerId)),X=(0,E.l)(e.objectId),$=n.a.useBasicFetch((null===(x=null===(L=D.data)||void 0===L?void 0:L.glance)||void 0===x?void 0:x.theme)?u.r.themeImages(D.data.glance.theme,D.data.glance.type):null),J=j(c.C.ViewVideoGlance)&&(null===(S=null===(O=D.data)||void 0===O?void 0:O.glance)||void 0===S?void 0:S.theme);return(0,y.M)(f.CG.getClipMetadata({content:D.data})),(0,T.V)(null!==(N=z.videos)&&void 0!==N?N:[]),(0,m.b)(D),(0,P.P)({id:e.objectId,app:"clips",shareId:e.shareId}),D.data&&B.hasCompleted&&W.hasCompleted&&X.hasCompleted?i.createElement(I.N,{shareId:e.shareId,clip:D.data,interactives:K.data,clips:Q.data,originalVideo:H.data,currentUser:B.data,yearGroups:Z.data,relatedVideos:z,canFavourite:G,setFavourite:q,hasProduct:R,queryParams:e.queryParams,audiences:Y.data,imageCdnUrl:W.data.imageCdnUrl,canManageVideoAccess:j(c.C.ManageVideoAccess),glanceTheme:$.data,glanceLoaded:!J||$.hasCompleted,pointsOfInterest:null==X?void 0:X.items,featureAccess:M,tableOfContentsId:null===(F=e.queryParams)||void 0===F?void 0:F.tocId,isPlugin:_}):i.createElement(i.Fragment,null)}},56871:(e,t,a)=>{a.d(t,{N:()=>D});var i=a(32735),n=a(23481),r=a(28400),c=a(65858),o=a(83345),l=a(19670),s=a(80385),d=a(73804),u=a(92805),p=a(13231),v=a(11518),m=a(15446),g=a(47862),h=a(26733),y=a(10439),f=a(35429),I=a(51365),C=a(4594),P=a(16714),E=a(12754),A=a(58704),V=a(22902),b=a(76196),k=a(59598),T=a(31908),w=a(26492),L=a(91479),x=a(99092),O=a(47938),S=a(81024),N=a(78166),F=a(99742),R=a(14070),U=a(97291),q=a(10671),G=a(10741),_=a(22490);function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var M=function(e,t,a){return function(i){return a?{application:U.O.VIDEOS,action:R.e.Videos.PREVIEW_PDF,args:[i.id],params:{videoId:e,shareId:t}}:{application:U.O.SIGN_UP,action:R.e.SignUp.SIGN_UP}}},B="shared.playClip",W=n.T.encloseNamespace(B);function D(e){var t,a,n,D,H,z,K,Q,Y,Z,X,$,J=(0,f.g)(),ee=(0,V.T)().hasPermissions,te=T.M.getCanBeConsumed(e.clip).canConsume,ae=(0,q._)({location:q.i.VideoItem}),ie=i.useRef(null),ne=i.useRef(null);(0,b.P)([ie.current,ne.current],e.tableOfContentsId);var re,ce,oe=T.M.isVideoTypeArchived(e.clip),le=ee(P.C.StudentExperience),se=i.useRef(!1),de=(0,s.Wp)(e.clip,e.glanceTheme)&&e.featureAccess.canViewGlance,ue=(re=i.useState({view:"loading",referrer:null}),ce=2,function(e){if(Array.isArray(e))return e}(re)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,n,r,c,o=[],l=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(i=r.call(a)).done)&&(o.push(i.value),o.length!==t);l=!0);}catch(e){s=!0,n=e}finally{try{if(!l&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(s)throw n}}return o}}(re,ce)||function(e,t){if(e){if("string"==typeof e)return j(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)?j(e,t):void 0}}(re,ce)||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.")}()),pe=ue[0],ve=ue[1];function me(){var t;return!(null===(t=e.currentUser)||void 0===t?void 0:t.isAuthenticated)||!e.hasProduct(E.x.Primary)||!!le}i.useEffect((function(){e.glanceLoaded&&ve({view:e.glanceTheme?"v@g":"details",referrer:null})}),[e.glanceLoaded,e.glanceTheme]);var ge=e.originalVideo&&!me()&&!!(null===(t=e.clip._canBeConsumed)||void 0===t?void 0:t.value),he="picture-in-picture"===J.mode||e.featureAccess.canViewPublicLayout,ye=(0,x.jh)(e.clip,le),fe=null!==(n=null===(a=e.clips)||void 0===a?void 0:a.filter((function(t){return t.id.toString()!==e.clip.id.toString()})))&&void 0!==n?n:[];return i.createElement("div",{className:"px-4"},i.createElement(O.W,{restrictions:e.clip._restrictions,yearGroups:e.yearGroups,objectId:e.clip.id,objectTypeId:C.E.Clip,canManageVideoAccess:e.canManageVideoAccess}),oe&&i.createElement(w.T,{typeId:e.clip.typeId,hasStudentExperience:le}),i.createElement("section",{className:"mb-2"},te&&i.createElement(y.r,{key:e.clip.id,objectId:e.clip.id,objectTypeId:e.clip.typeId,shareId:e.shareId,context:null===(D=e.queryParams)||void 0===D?void 0:D.context,contextId:null===(H=e.queryParams)||void 0===H?void 0:H.contextId,moviesAndTv:null===(z=e.queryParams)||void 0===z?void 0:z.mtv,playNext:null===(K=e.queryParams)||void 0===K?void 0:K.playNext,startTime:null!==(Y=null===(Q=e.queryParams)||void 0===Q?void 0:Q.t)&&void 0!==Y?Y:null===(Z=e.queryParams)||void 0===Z?void 0:Z.startTime,mode:"default",location:"play-page"}),i.createElement("div",{className:he?"":"d-none"},i.createElement(S.S,{video:e.clip,type:"pip"}))),i.createElement(L.v,{media:e.clip,yearGroups:e.yearGroups,audiences:e.audiences,originalVideoAppLink:ge?{application:U.O.VIDEOS,action:R.e.Videos.PLAY_VIDEO,args:[e.originalVideo.id,r.m.slugify(e.originalVideo.name)]}:null,featureAccess:e.featureAccess,shareId:e.shareId}),i.createElement("section",{className:"".concat("v@g"===pe.view?"d-block":"d-none")},i.createElement(l.o,{theme:e.glanceTheme,video:e.clip,pointsOfInterest:e.pointsOfInterest,onClickShowDescription:function(){return ve({view:"details",referrer:"v@g"})},setStartTime:function(e){var t;return null===(t=J.playerRef.current)||void 0===t?void 0:t.currentTime(e)},getTagAppLink:function(e){return{application:U.O.SEARCH,action:R.e.Search.HOME,params:{tagOrClassification:e.name}}},suppressInteractivity:e.featureAccess.canViewPublicLayout})),i.createElement("section",{className:"".concat("details"===pe.view?"d-block":"d-none")},i.createElement(d.X,{video:e.clip,onLaunchImmersiveReader:function(){var e,t,a,i;se.current=!(null===(t=null===(e=null==J?void 0:J.playerRef)||void 0===e?void 0:e.current)||void 0===t?void 0:t.isPaused()),null===(i=null===(a=null==J?void 0:J.playerRef)||void 0===a?void 0:a.current)||void 0===i||i.pause()},onExitImmersiveReader:function(){var e,t;se.current&&(null===(t=null===(e=null==J?void 0:J.playerRef)||void 0===e?void 0:e.current)||void 0===t||t.play())},onClickClose:de&&function(){return ve({view:"v@g",referrer:"details"})},getTagAppLink:function(e){return{application:U.O.SEARCH,action:R.e.Search.HOME,params:{tagOrClassification:e.name}}},hideTags:de,suppressInteractivity:e.featureAccess.canViewPublicLayout})),i.createElement("section",{className:"".concat("loading"===pe.view?"d-block":"d-none")},i.createElement(u.H,null)),!!(null==ye?void 0:ye.length)&&i.createElement("section",{className:"pb-3",id:k.K.Resources,ref:ie},i.createElement(v.kM,{name:W("resources",{count:ye.length}),contents:A.z.PlayPageResources,collection:ye,prefetched:!0,childComponent:h.R,extraChildComponentProps:{imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:F.W.Fallbacks.RESOURCE_THUMBNAIL,actionBehaviour:e.featureAccess.canViewResourceItems?"normal":"public",location:"play-page",titlePosition:"above",hideTypeBadge:!0},getChildAppLink:M(null===(X=e.clip)||void 0===X?void 0:X.id,e.shareId,e.featureAccess.canViewResourceItems),analyticsOptions:e.featureAccess.canViewResourceItems?{}:{workflowPhase:c.eu.Start,descriptor:c.Yu.SignUp},analyticsData:{widgetId:"resources"}})),!(!(null==fe?void 0:fe.length)||me())&&i.createElement("div",{className:"pb-3"},i.createElement(v.kM,{name:W("otherClips",{count:fe.length}),contents:A.z.Clips,collection:fe,prefetched:!0,getChildAppLink:function(e){return{application:U.O.CLIPS,action:R.e.Clips.PLAY_CLIP,args:[e.id,r.m.slugify(e.name)]}},childComponent:m.C,extraChildComponentProps:{video:e.originalVideo,imageCdnUrl:e.imageCdnUrl},analyticsData:{widgetId:"clips"}})),!(!(null===($=e.interactives)||void 0===$?void 0:$.length)||me())&&i.createElement("div",{className:"pb-3",id:k.K.Interactives,ref:ne},i.createElement(v.kM,{name:W("interactives",{count:e.interactives.length}),contents:A.z.Interactives,collection:e.interactives,prefetched:!0,getChildAppLink:function(e){return{application:U.O.INTERACTIVES,action:R.e.Interactives.VIEW_INTERACTIVE,args:[e.id,r.m.slugify(e.name)]}},childComponent:g.K,extraChildComponentProps:{video:e.clip,questionsAppLink:{application:U.O.INTERACTIVES,action:R.e.Interactives.PREVIEW_QUESTIONS},imageCdnUrl:e.imageCdnUrl},analyticsData:{widgetId:"interactives"}})),!!ge&&i.createElement("section",{className:"pb-2 pt-1"},i.createElement("h2",{className:"h4 mb-0"},i.createElement(o.x,{namespace:B,phrase:"clippedFrom"})),i.createElement(I.M.Provider,{value:ae},i.createElement(p.E4,{videos:[e.originalVideo],yearGroups:e.yearGroups,setFavourite:e.setFavourite,canFavourite:e.canFavourite,getVideoAppLink:function(t,a){return _.W.getAppLink(t,Object.assign(Object.assign({},a),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv}))},hasPermissions:ee,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:function(e){return G.j.getPreviewQuestionsAppLink(e)},isPlugin:e.isPlugin,getClassroomGuideAppLink:_.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:_.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:_.W.getResourceGuidanceAppLink}))),i.createElement("section",null,i.createElement(N.Z,{currentVideo:e.clip,yearGroups:e.yearGroups,relatedVideos:e.relatedVideos,setFavourite:e.setFavourite,canFavourite:e.canFavourite,currentUser:e.currentUser,audiences:e.audiences,getVideoAppLink:function(t,a){return _.W.getAppLink(t,Object.assign(Object.assign({},a),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv}))},moviesAndTv:e.queryParams.mtv,isPlugin:e.isPlugin})))}},44110:(e,t,a)=>{a.d(t,{i:()=>c});var i=a(20354),n=a(89454),r=a(86698),c=function(){var e=(0,r.y)({redirectOnError:!0}),t=e.activePresentation,a=e.getFallbackPresentation,c=t||a();return i.a.useBasicFetch(!!c&&n.O.presentationAudiences(c.id))}}}]);
|
|
2
|
-
//# sourceMappingURL=2507-
|
|
2
|
+
//# sourceMappingURL=2507-fc744cab62-lite.chunk.js.map
|
package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js.map → 2507-fc744cab62-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/2507-bb4e17b1b3-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx","file:///app/packages/projects/lite/src/shared/components/play-clip/PlayClip.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { PlayClip } from 'shared/components/play-clip/PlayClip';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n const { hasPermissions } = usePermissions();\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n const childClips = Flight.useBasicFetch<Clip[]>(\n !!clip.data?._parentVideo && featureAccess.canViewClips && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n const glanceTheme = Flight.useBasicFetch<Theme>(clip.data?.glance?.theme\n ? ThemeRequests.themeImages(clip.data.glance.theme, clip.data.glance.type) : null);\n\n const shouldFetchTheme = hasPermissions(PermissionName.ViewVideoGlance) &&\n clip.data?.glance?.theme;\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n interactives={interactives.data}\n clips={childClips.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n relatedVideos={relatedVideos}\n canFavourite={canFavourite}\n setFavourite={setFavourite}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n imageCdnUrl={config.data.imageCdnUrl}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n glanceTheme={glanceTheme.data}\n glanceLoaded={!shouldFetchTheme || glanceTheme.hasCompleted}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n isPlugin={isPlugin}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SignUpDescriptors, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoAtAGlance } from 'libs/shared/components/video-at-a-glance/VideoAtAGlance';\nimport { hasGlanceData } from 'libs/shared/components/video-at-a-glance/VideoAtAGlanceUtils';\nimport { VideoDetailsWithScrollbar } from 'libs/shared/components/video-details/VideoDetails';\nimport { VideoDetailsPartial } from 'libs/shared/components/video-details/VideoDetailsPartial';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { ClipWidgetItem, ClipWidgetItemProps } from 'libs/shared/components/widgets/items/clip-widget-item/ClipWidgetItem';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { ResourceWidgetItem, ResourceWidgetItemProps } from 'libs/shared/components/widgets/items/resource-widget-item/ResourceWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, Interactive, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\nimport { getResources } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\nconst namespace = 'shared.playClip';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype DetailsViewType = {\n view: 'v@g' | 'details' | 'loading';\n referrer: 'v@g' | 'details';\n};\n\ninterface PlayClipProps {\n clip: Clip;\n interactives: InteractiveMetadata[];\n clips: Clip[];\n originalVideo: Video;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n imageCdnUrl: string;\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n glanceTheme?: Theme;\n glanceLoaded: boolean;\n tableOfContentsId: string;\n isPlugin: boolean;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n const resourcesRef = React.useRef<HTMLDivElement>(null);\n const interactivesRef = React.useRef<HTMLDivElement>(null);\n\n useTableOfContentsScroll([\n resourcesRef.current,\n interactivesRef.current\n ], props.tableOfContentsId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const hasGlance = hasGlanceData(props.clip, props.glanceTheme) && props.featureAccess.canViewGlance;\n\n const [ detailsView, setDetailsView ] = React.useState<DetailsViewType>({\n view: 'loading',\n referrer: null\n });\n\n React.useEffect(() => {\n if (!props.glanceLoaded)\n return;\n\n setDetailsView({\n view: props.glanceTheme ? 'v@g' : 'details',\n referrer: null\n });\n }, [ props.glanceLoaded, props.glanceTheme ]);\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function limitAccess(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return true;\n\n if (!props.hasProduct(ProductId.Primary))\n return true;\n\n if (hasStudentExperience)\n return true;\n\n return false;\n }\n\n const canAccessOriginal = props.originalVideo && !limitAccess() && !!props.clip._canBeConsumed?.value;\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal)\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ props.originalVideo.id, TextHelper.slugify(props.originalVideo.name) ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const resourcesWidget = getResources(props.clip, hasStudentExperience);\n\n const otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n return (\n <div className='px-4'>\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section className={`mb-2`}>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n }\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <PlayPageTitleAndActions\n media={props.clip}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n />\n\n {/* \n * Toggling between display 'block' and 'none' is *deliberate* done here to facilitate exposure of our content to bots for SEO.\n * The markup of all 3 components should be available in the DOM from the first render. If you're going to refactor,\n * please don't neglect this usecase - Mike\n */}\n <section className={`${detailsView.view === 'v@g' ? 'd-block' : 'd-none'}`}>\n <VideoAtAGlance\n theme={props.glanceTheme}\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n onClickShowDescription={() => setDetailsView({ view: 'details', referrer: 'v@g' })}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'details' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsWithScrollbar\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n onClickClose={hasGlance && (() => setDetailsView({ view: 'v@g', referrer: 'details' }))}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n hideTags={hasGlance}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'loading' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsPartial />\n </section>\n\n {!!resourcesWidget?.length && (\n <section className='pb-3' id={PlayPageAnchor.Resources} ref={resourcesRef}>\n <FixedWidget<ResourceWidgetItemProps>\n name={getPhrase('resources', { count: resourcesWidget.length })}\n contents={WidgetContents.PlayPageResources}\n collection={resourcesWidget}\n prefetched\n childComponent={ResourceWidgetItem}\n extraChildComponentProps={{\n imageCdnUrl: props.imageCdnUrl,\n imageErrorFallbackUrl: ImageUrls.Fallbacks.RESOURCE_THUMBNAIL,\n actionBehaviour: props.featureAccess.canViewResourceItems ? 'normal' : 'public',\n location: 'play-page',\n titlePosition: 'above',\n hideTypeBadge: true\n }}\n getChildAppLink={getResourceAppLink(\n props.clip?.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n )}\n analyticsOptions={(() => {\n if (props.featureAccess.canViewResourceItems)\n return {};\n\n return {\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n };\n })()}\n analyticsData={{ widgetId: 'resources' }}\n />\n </section>\n )}\n\n {!!(otherClips?.length && !limitAccess()) && (\n <div className='pb-3'>\n <FixedWidget<ClipWidgetItemProps>\n name={getPhrase('otherClips', { count: otherClips.length })}\n contents={WidgetContents.Clips}\n collection={otherClips}\n prefetched\n getChildAppLink={(clip: Clip) => {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ clip.id, TextHelper.slugify(clip.name) ]\n };\n }}\n childComponent={ClipWidgetItem}\n extraChildComponentProps={{ video: props.originalVideo, imageCdnUrl: props.imageCdnUrl }}\n analyticsData={{ widgetId: 'clips' }}\n />\n </div>\n )}\n\n {!!(props.interactives?.length && !limitAccess()) && (\n <div className='pb-3' id={PlayPageAnchor.Interactives} ref={interactivesRef}>\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('interactives', { count: props.interactives.length })}\n contents={WidgetContents.Interactives}\n collection={props.interactives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: props.clip,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!!canAccessOriginal && (\n <section className='pb-2 pt-1'>\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </VideoActionsContext.Provider>\n </section>\n )}\n\n <section>\n <RelatedVideos\n currentVideo={props.clip}\n yearGroups={props.yearGroups}\n relatedVideos={props.relatedVideos}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n isPlugin={props.isPlugin}\n />\n </section>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};"],"names":["PlaySharedClipView","props","hasProduct","u","setFavourite","canFavourite","isPlugin","hasPermissions","featureAccess","currentUser","config","clip","objectId","shareId","video","data","_parentVideo","id","relatedVideos","context","queryParams","contextId","moviesAndTv","mtv","interactives","canViewInteractives","childClips","canViewClips","audiences","yearGroups","isAuthenticated","customerId","pointsOfInterest","glanceTheme","glance","theme","type","shouldFetchTheme","content","videos","app","hasCompleted","clips","originalVideo","imageCdnUrl","canManageVideoAccess","glanceLoaded","items","tableOfContentsId","tocId","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","namespace","getPhrase","PlayClip","playerContext","canConsume","videoActions","location","resourcesRef","interactivesRef","current","isArchived","hasStudentExperience","shouldPlayOnExitImmersiveReader","hasGlance","canViewGlance","view","referrer","detailsView","setDetailsView","limitAccess","canAccessOriginal","_canBeConsumed","value","showPlayerPlaceholder","mode","canViewPublicLayout","resourcesWidget","otherClips","filter","c","toString","className","restrictions","_restrictions","objectTypeId","typeId","key","playNext","startTime","t","media","originalVideoAppLink","name","onClickShowDescription","setStartTime","time","playerRef","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","onLaunchImmersiveReader","isPaused","pause","onExitImmersiveReader","play","onClickClose","hideTags","length","ref","count","contents","collection","prefetched","childComponent","R","extraChildComponentProps","imageErrorFallbackUrl","actionBehaviour","canViewResourceItems","titlePosition","hideTypeBadge","getChildAppLink","analyticsOptions","workflowPhase","descriptor","SignUp","analyticsData","widgetId","C","interactive","questionsAppLink","phrase","getVideoAppLink","v","opts","presentationAudiences","getPreviewQuestionsAppLink","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","currentVideo","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/2507-fc744cab62-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/play-shared-clip/PlaySharedClipView.tsx","file:///app/packages/projects/lite/src/shared/components/play-clip/PlayClip.tsx","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { ThemeRequests } from 'libs/shared/flight-requests/ThemeRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { PlayClip } from 'shared/components/play-clip/PlayClip';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useFetchPointsOfInterest } from 'shared/hooks/useFetchPointsOfInterest';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function PlaySharedClipView(props: ShareLinkViewProps): React.ReactElement {\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n const { hasPermissions } = usePermissions();\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.sharedClip(props.objectId, props.shareId));\n const video = Flight.useBasicFetch<Video>(!!clip.data?._parentVideo &&\n VideoRequests.video(clip.data._parentVideo.id));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(props.objectId)\n );\n const childClips = Flight.useBasicFetch<Clip[]>(\n !!clip.data?._parentVideo && featureAccess.canViewClips && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const pointsOfInterest = useFetchPointsOfInterest(props.objectId);\n const glanceTheme = Flight.useBasicFetch<Theme>(clip.data?.glance?.theme\n ? ThemeRequests.themeImages(clip.data.glance.theme, clip.data.glance.type) : null);\n\n const shouldFetchTheme = hasPermissions(PermissionName.ViewVideoGlance) &&\n clip.data?.glance?.theme;\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({ content: clip.data }));\n\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(clip);\n useDeepLinks({ id: props.objectId, app: 'clips', shareId: props.shareId });\n\n const hasLoaded = (\n clip.data &&\n currentUser.hasCompleted &&\n config.hasCompleted &&\n pointsOfInterest.hasCompleted\n );\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayClip\n shareId={props.shareId}\n clip={clip.data}\n interactives={interactives.data}\n clips={childClips.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n relatedVideos={relatedVideos}\n canFavourite={canFavourite}\n setFavourite={setFavourite}\n hasProduct={hasProduct}\n queryParams={props.queryParams}\n audiences={audiences.data}\n imageCdnUrl={config.data.imageCdnUrl}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n glanceTheme={glanceTheme.data}\n glanceLoaded={!shouldFetchTheme || glanceTheme.hasCompleted}\n pointsOfInterest={pointsOfInterest?.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n isPlugin={isPlugin}\n />\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SignUpDescriptors, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoAtAGlance } from 'libs/shared/components/video-at-a-glance/VideoAtAGlance';\nimport { hasGlanceData } from 'libs/shared/components/video-at-a-glance/VideoAtAGlanceUtils';\nimport { VideoDetailsWithScrollbar } from 'libs/shared/components/video-details/VideoDetails';\nimport { VideoDetailsPartial } from 'libs/shared/components/video-details/VideoDetailsPartial';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\nimport { ClipWidgetItem, ClipWidgetItemProps } from 'libs/shared/components/widgets/items/clip-widget-item/ClipWidgetItem';\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\nimport { ResourceWidgetItem, ResourceWidgetItemProps } from 'libs/shared/components/widgets/items/resource-widget-item/ResourceWidgetItem';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, Interactive, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource, Theme, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { ArchivedBanner } from 'shared/components/play-page/ArchivedBanner';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\nimport { getResources } from 'shared/components/play-page/PlayPageUtils';\nimport { RestrictionBanner } from 'shared/components/play-page/RestrictionBanner';\nimport { PlayerPlaceholder } from 'shared/components/player-placeholder/PlayerPlaceholder';\nimport { RelatedVideos } from 'shared/components/related-videos/RelatedVideos';\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst getResourceAppLink = (videoId: string, shareId: string, canViewResource: boolean) =>\n (resource: Resource | Link) => {\n if (!canViewResource) {\n return {\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n };\n }\n\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PREVIEW_PDF,\n args: [resource.id],\n params: {\n videoId: videoId,\n shareId: shareId\n }\n };\n };\n\nconst namespace = 'shared.playClip';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype DetailsViewType = {\n view: 'v@g' | 'details' | 'loading';\n referrer: 'v@g' | 'details';\n};\n\ninterface PlayClipProps {\n clip: Clip;\n interactives: InteractiveMetadata[];\n clips: Clip[];\n originalVideo: Video;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n relatedVideos: RelatedVideosHash;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n hasProduct: HasProductFunc;\n audiences: PresentationAudience[];\n imageCdnUrl: string;\n shareId?: string;\n canManageVideoAccess: boolean;\n pointsOfInterest?: PointOfInterest[];\n featureAccess: VideoFeaturesHash;\n glanceTheme?: Theme;\n glanceLoaded: boolean;\n tableOfContentsId: string;\n isPlugin: boolean;\n}\n\nexport function PlayClip(props: PlayClipProps): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n const resourcesRef = React.useRef<HTMLDivElement>(null);\n const interactivesRef = React.useRef<HTMLDivElement>(null);\n\n useTableOfContentsScroll([\n resourcesRef.current,\n interactivesRef.current\n ], props.tableOfContentsId);\n\n const isArchived = VideoHelper.isVideoTypeArchived(props.clip);\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n /**\n * Need to use a ref because if we use state, onExitImmersiveReader will have a stale\n * reference of the state. This is because the state is changed in onLaunchImmersiveReader\n * which is passed in at the same time as onExitImmersiveReader\n */\n const shouldPlayOnExitImmersiveReader = React.useRef(false);\n\n const hasGlance = hasGlanceData(props.clip, props.glanceTheme) && props.featureAccess.canViewGlance;\n\n const [ detailsView, setDetailsView ] = React.useState<DetailsViewType>({\n view: 'loading',\n referrer: null\n });\n\n React.useEffect(() => {\n if (!props.glanceLoaded)\n return;\n\n setDetailsView({\n view: props.glanceTheme ? 'v@g' : 'details',\n referrer: null\n });\n }, [ props.glanceLoaded, props.glanceTheme ]);\n\n function onLaunchImmersiveReader(): void {\n shouldPlayOnExitImmersiveReader.current = !playerContext?.playerRef?.current?.isPaused();\n playerContext?.playerRef?.current?.pause();\n }\n\n function onExitImmersiveReader(): void {\n if (!shouldPlayOnExitImmersiveReader.current)\n return;\n\n playerContext?.playerRef?.current?.play();\n }\n\n function limitAccess(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return true;\n\n if (!props.hasProduct(ProductId.Primary))\n return true;\n\n if (hasStudentExperience)\n return true;\n\n return false;\n }\n\n const canAccessOriginal = props.originalVideo && !limitAccess() && !!props.clip._canBeConsumed?.value;\n\n function getOriginalVideoAppLink(): Core.AppLink {\n if (!canAccessOriginal)\n return null;\n \n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ props.originalVideo.id, TextHelper.slugify(props.originalVideo.name) ]\n };\n }\n\n const showPlayerPlaceholder = playerContext.mode === 'picture-in-picture' || props.featureAccess.canViewPublicLayout;\n\n const resourcesWidget = getResources(props.clip, hasStudentExperience);\n\n const otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n return (\n <div className='px-4'>\n <RestrictionBanner\n restrictions={props.clip._restrictions}\n yearGroups={props.yearGroups}\n objectId={props.clip.id}\n objectTypeId={MasterType.Clip}\n canManageVideoAccess={props.canManageVideoAccess}\n />\n\n {isArchived && (\n <ArchivedBanner\n typeId={props.clip.typeId}\n hasStudentExperience={hasStudentExperience}\n />\n )}\n\n <section className={`mb-2`}>\n {canConsume &&\n <GlobalPlayerConsumer\n key={props.clip.id}\n objectId={props.clip.id}\n objectTypeId={props.clip.typeId}\n shareId={props.shareId}\n context={props.queryParams?.context}\n contextId={props.queryParams?.contextId}\n moviesAndTv={props.queryParams?.mtv}\n playNext={props.queryParams?.playNext}\n startTime={props.queryParams?.t ?? props.queryParams?.startTime}\n mode='default'\n location='play-page'\n />\n }\n <div className={showPlayerPlaceholder ? '' : 'd-none'}>\n <PlayerPlaceholder\n video={props.clip}\n type='pip'\n />\n </div>\n </section>\n\n <PlayPageTitleAndActions\n media={props.clip}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n originalVideoAppLink={getOriginalVideoAppLink()}\n featureAccess={props.featureAccess}\n shareId={props.shareId}\n />\n\n {/* \n * Toggling between display 'block' and 'none' is *deliberate* done here to facilitate exposure of our content to bots for SEO.\n * The markup of all 3 components should be available in the DOM from the first render. If you're going to refactor,\n * please don't neglect this usecase - Mike\n */}\n <section className={`${detailsView.view === 'v@g' ? 'd-block' : 'd-none'}`}>\n <VideoAtAGlance\n theme={props.glanceTheme}\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\n onClickShowDescription={() => setDetailsView({ view: 'details', referrer: 'v@g' })}\n setStartTime={(time: number) => playerContext.playerRef.current?.currentTime(time)}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'details' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsWithScrollbar\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n onClickClose={hasGlance && (() => setDetailsView({ view: 'v@g', referrer: 'details' }))}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n hideTags={hasGlance}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n </section>\n\n <section className={`${detailsView.view === 'loading' ? 'd-block' : 'd-none'}`}>\n <VideoDetailsPartial />\n </section>\n\n {!!resourcesWidget?.length && (\n <section className='pb-3' id={PlayPageAnchor.Resources} ref={resourcesRef}>\n <FixedWidget<ResourceWidgetItemProps>\n name={getPhrase('resources', { count: resourcesWidget.length })}\n contents={WidgetContents.PlayPageResources}\n collection={resourcesWidget}\n prefetched\n childComponent={ResourceWidgetItem}\n extraChildComponentProps={{\n imageCdnUrl: props.imageCdnUrl,\n imageErrorFallbackUrl: ImageUrls.Fallbacks.RESOURCE_THUMBNAIL,\n actionBehaviour: props.featureAccess.canViewResourceItems ? 'normal' : 'public',\n location: 'play-page',\n titlePosition: 'above',\n hideTypeBadge: true\n }}\n getChildAppLink={getResourceAppLink(\n props.clip?.id,\n props.shareId,\n props.featureAccess.canViewResourceItems\n )}\n analyticsOptions={(() => {\n if (props.featureAccess.canViewResourceItems)\n return {};\n\n return {\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n };\n })()}\n analyticsData={{ widgetId: 'resources' }}\n />\n </section>\n )}\n\n {!!(otherClips?.length && !limitAccess()) && (\n <div className='pb-3'>\n <FixedWidget<ClipWidgetItemProps>\n name={getPhrase('otherClips', { count: otherClips.length })}\n contents={WidgetContents.Clips}\n collection={otherClips}\n prefetched\n getChildAppLink={(clip: Clip) => {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ clip.id, TextHelper.slugify(clip.name) ]\n };\n }}\n childComponent={ClipWidgetItem}\n extraChildComponentProps={{ video: props.originalVideo, imageCdnUrl: props.imageCdnUrl }}\n analyticsData={{ widgetId: 'clips' }}\n />\n </div>\n )}\n\n {!!(props.interactives?.length && !limitAccess()) && (\n <div className='pb-3' id={PlayPageAnchor.Interactives} ref={interactivesRef}>\n <FixedWidget<InteractiveWidgetItemProps>\n name={getPhrase('interactives', { count: props.interactives.length })}\n contents={WidgetContents.Interactives}\n collection={props.interactives}\n prefetched\n getChildAppLink={(interactive: Interactive) => {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ interactive.id, TextHelper.slugify(interactive.name) ]\n };\n }}\n childComponent={InteractiveWidgetItem}\n extraChildComponentProps={{\n video: props.clip,\n questionsAppLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PREVIEW_QUESTIONS\n },\n imageCdnUrl: props.imageCdnUrl\n }}\n analyticsData={{ widgetId: 'interactives' }}\n />\n </div>\n )}\n\n {!!canAccessOriginal && (\n <section className='pb-2 pt-1'>\n <h2 className='h4 mb-0'><Text namespace={namespace} phrase='clippedFrom' /></h2>\n <VideoActionsContext.Provider value={videoActions}>\n <VideoList\n videos={[props.originalVideo]}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n hasPermissions={hasPermissions}\n presentationAudiences={props.audiences}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </VideoActionsContext.Provider>\n </section>\n )}\n\n <section>\n <RelatedVideos\n currentVideo={props.clip}\n yearGroups={props.yearGroups}\n relatedVideos={props.relatedVideos}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n currentUser={props.currentUser}\n audiences={props.audiences}\n getVideoAppLink={(v, opts) => VideoAppLinkHelper.getAppLink(v, {\n ...opts,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n playNext: props.queryParams.playNext,\n shareId: props.shareId,\n moviesAndTv: props.queryParams.mtv\n })}\n moviesAndTv={props.queryParams.mtv}\n isPlugin={props.isPlugin}\n />\n </section>\n </div>\n );\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};"],"names":["PlaySharedClipView","props","hasProduct","u","setFavourite","canFavourite","isPlugin","hasPermissions","featureAccess","currentUser","config","clip","objectId","shareId","video","data","_parentVideo","id","relatedVideos","context","queryParams","contextId","moviesAndTv","mtv","interactives","canViewInteractives","childClips","canViewClips","audiences","yearGroups","isAuthenticated","customerId","pointsOfInterest","glanceTheme","glance","theme","type","shouldFetchTheme","content","videos","app","hasCompleted","clips","originalVideo","imageCdnUrl","canManageVideoAccess","glanceLoaded","items","tableOfContentsId","tocId","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","namespace","getPhrase","PlayClip","playerContext","canConsume","videoActions","location","resourcesRef","interactivesRef","current","isArchived","hasStudentExperience","shouldPlayOnExitImmersiveReader","hasGlance","canViewGlance","view","referrer","detailsView","setDetailsView","limitAccess","canAccessOriginal","_canBeConsumed","value","showPlayerPlaceholder","mode","canViewPublicLayout","resourcesWidget","otherClips","filter","c","toString","className","restrictions","_restrictions","objectTypeId","typeId","key","playNext","startTime","t","media","originalVideoAppLink","name","onClickShowDescription","setStartTime","time","playerRef","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","onLaunchImmersiveReader","isPaused","pause","onExitImmersiveReader","play","onClickClose","hideTags","length","ref","count","contents","collection","prefetched","childComponent","R","extraChildComponentProps","imageErrorFallbackUrl","actionBehaviour","canViewResourceItems","titlePosition","hideTypeBadge","getChildAppLink","analyticsOptions","workflowPhase","descriptor","SignUp","analyticsData","widgetId","C","interactive","questionsAppLink","phrase","getVideoAppLink","v","opts","presentationAudiences","getPreviewQuestionsAppLink","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","currentVideo","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2724],{2158:(e,t,r)=>{r.d(t,{T:()=>b});var n=r(32735),a=r(2948),l=r(20354),c=r(38304),i=r(25925),o=r(21750),s=r(5112),u=r(61699),m=r(31949),d=r(22902),f=r(37802),v=r(75795),p=r(33857);function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e){var t,r,b,y=(r=(0,a.D)("has:playlist",null),b=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw a}}return i}}(r,b)||function(e,t){if(e){if("string"==typeof e)return h(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}(r,b)||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.")}()),E=y[0],g=y[1],N=l.a.useBasicFetch(m.N.currentUser()),w=l.a.useBasicFetch((null===(t=N.data)||void 0===t?void 0:t.isAuthenticated)&&m.N.user(N.data.id)),x=l.a.useBasicFetch(o.x.availablePresentations(i.R.Subject)),S=l.a.useBasicFetch(o.x.presentation(i.R.Subject)),j=l.a.useBasicFetch(o.x.availablePresentations(i.R.Curriculum)),C=l.a.useBasicFetch(s.C.getUserPlaylists(new p.l)),T=l.a.useBasicFetch(u.o.mySubjectPreferences()),D=(0,d.T)().hasPermissions;n.useEffect((function(){var e,t,r,n;C.hasCompleted&&E!==!!(null===(t=null===(e=C.data)||void 0===e?void 0:e.data)||void 0===t?void 0:t.length)&&g(!!(null===(n=null===(r=C.data)||void 0===r?void 0:r.data)||void 0===n?void 0:n.length))}),[C.hasCompleted]);var A=N.hasCompleted&&w.hasCompleted&&x.hasCompleted&&j.hasCompleted&&S.hasCompleted&&C.hasCompleted&&T.hasCompleted&&null!==E,k=(0,f.r)(null).userSettings;return{getPathway:function(){var t,r,n,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=a.jobTitleOverride||(null===(n=null===(r=null===(t=w.data)||void 0===t?void 0:t.userProfile)||void 0===r?void 0:r.metadata)||void 0===n?void 0:n.jobTitle),i=a.preferredPresentationOverride||S.data;return A?c.m.getOnboardingPathway({jobTitle:l,userSettings:k.data,presentations:x.data,curriculums:j.data,preferredSubjects:T.data,preferredPresentation:i,appLink:v.O.getCurrentRoute().appLink,appLinks:e,masterUser:w.data,hasPlaylist:E,hasPermissions:D,currentUser:N.data}):{screens:{},currentScreen:null,totalScreens:0,totalScreensInProgressBar:0,hasCompletedAllSteps:!1}},hasLoadedPathway:A}}},63478:(e,t,r)=>{r.d(t,{B:()=>a});var n=r(32735);function a(e){return n.createElement("div",{className:"w-100 h-100 position-fixed bg-".concat(e.variant)},e.children)}},52588:(e,t,r)=>{r.d(t,{R:()=>u});var n=r(32735),a=r(75896),l=r(55171),c=r(54610),i=r(79967),o=r(67453);function s(e,t){return"mobile"===t?function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="12.5%",r.animationDelay="0.5s",r;case 1:return r.right="7.5%",r.animationDelay="1s",r;case 2:return r.left="10%",r;case 3:return r.right="2.5%",r.animationDelay="0.5s",r;case 4:return r.left="2.5%",r.animationDelay="1.5s",r;case 5:return r.right="10%",r;case 6:return r.left="12.5%",r.animationDelay="1.5s",r;case 7:return r.right="7.5%",r.animationDelay="0.5s",r;case 8:return r.left="5%",r.animationDelay="1s",r;case 9:return r.right="2.5%",r.animationDelay="1s",r;default:return r.left="10%",r.animationDelay="1.5s",r}}(e):"50%"===t?function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="25%",r.animationDelay="0.5s",r;case 1:return r.right="15%",r.animationDelay="1s",r;case 2:return r.left="20%",r;case 3:return r.right="5%",r.animationDelay="0.5s",r;case 4:return r.left="5%",r.animationDelay="1.5s",r;case 5:return r.right="20%",r;case 6:return r.left="25%",r.animationDelay="1.5s",r;case 7:return r.right="15%",r.animationDelay="0.5s",r;case 8:return r.left="10%",r.animationDelay="1s",r;case 9:return r.right="5%",r.animationDelay="1s",r;default:return r.left="20%",r.animationDelay="1.5s",r}}(e):function(e){var t=e%10,r={top:"".concat(4*e,"%")};switch(t){case 0:return r.left="25%",r.animationDelay="0.5s",r;case 1:return r.right="30%",r.animationDelay="1s",r;case 2:return r.left="40%",r;case 3:return r.right="10%",r.animationDelay="0.5s",r;case 4:return r.left="10%",r.animationDelay="1.5s",r;case 5:return r.right="40%",r;case 6:return r.left="30%",r.animationDelay="1.5s",r;case 7:return r.right="30%",r.animationDelay="0.5s",r;case 8:return r.left="10%",r.animationDelay="1s",r;case 9:return r.right="10%",r.animationDelay="1s",r;default:return r.left="40%",r.animationDelay="1.5s",r}}(e)}var u=n.memo((function(e){var t=a.m.shuffle(l.e.Onboarding.LOADING_THUMBNAILS),r=(0,i.k)();return n.createElement("div",{className:"".concat("n2Qe4"," ").concat("50%"===e.screenSize?"w-50":"w-100")},t.map((function(t,a){return n.createElement("div",{key:a,className:"".concat("ZlA2t"," position-absolute rounded-3 overflow-hidden"),style:s(a,r.xs?"mobile":e.screenSize)},!e.hideThumbnailMask&&n.createElement("div",{className:"".concat("jNop3"," ").concat("blue"===e.variant?"jVOWE":"YNfFq")}),n.createElement("img",{className:"img-fluid",src:o.j.createUrl(t,{size:c.h2.Small})}))})))}))},39375:(e,t,r)=>{r.d(t,{Y:()=>u});var n=r(32735),a=r(54610),l=r(67453),c=r(2248);const i={magicTab:"H5jzm",subjectPlaceholder:"r1L6T",placeholderCover:"z9CFT",promotedTopicPlaceholder:"PbYs6",promotedTopicPlaceholderText:"hZ8Nf"};function o(e){return n.createElement("li",{className:"col-4"},n.createElement("div",{className:"d-flex border rounded-3 overflow-hidden ".concat(i.subjectPlaceholder)},e.coverUrl?n.createElement("div",{className:i.placeholderCover},n.createElement("img",{className:"img-fluid",src:l.j.createUrl(e.coverUrl,{size:a.h2.Small})})):n.createElement("div",{className:"".concat(i.placeholderCover," bg-light-blue")})))}function s(){return n.createElement("li",{className:"col-4"},n.createElement("div",{className:"bg-light-blue rounded-3 w-100 p-1 ".concat(i.promotedTopicPlaceholder)}))}function u(e){var t,r,a,l=Math.max(12-(null!==(r=null===(t=e.subjects)||void 0===t?void 0:t.length)&&void 0!==r?r:0),0);return n.createElement(c.L,{presentation:e.presentation,curriculum:e.curriculum,editingCurriculum:e.editingCurriculum},n.createElement("div",{className:"px-3 pt-3 w-100 d-flex flex-column align-items-center"},n.createElement("div",{className:"rounded-3 border overflow-hidden d-flex mb-2"},n.createElement("div",{className:"bg-light ".concat(i.magicTab)}),n.createElement("div",{className:"".concat(i.magicTab)})),n.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2"},null===(a=e.subjects)||void 0===a?void 0:a.map((function(e){var t;return n.createElement(o,{key:e.id,coverUrl:null===(t=e.cover)||void 0===t?void 0:t.url})})),new Array(l).fill(0).map((function(e,t){return n.createElement(o,{key:t})}))),n.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1"},n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null),n.createElement(s,null))))}},2248:(e,t,r)=>{r.d(t,{L:()=>p});var n=r(32735),a=r(60376),l=r(83914),c=r(2786),i=r(83345),o=r(72639),s=r(79967),u=r(35223),m=r(87114);const d={dot:"AlRQD",logo:"L42gR",blackBar:"ESCxm",topNav:"a3G_4",leftNav:"YxGVV",belowHeader:"jc_cg",leftNavIcon:"U6i6r",leftNavText:"LnYlW",presentationPlaceholderIcon:"Ljaju",presentationIcon:"QdwPq",presentationPlaceholderText:"af06V",curriculumIcon:"N7T4T",curriculumIconSmall:"_6xrUg",curriculumContainer:"Z65qX",iconPlaceholder:"CKOXL",shadow:"zygeJ",presentationName:"Oj7Dt"};var f="onboarding.mockLayout";function v(){return n.createElement("div",{className:"d-flex align-items-center justify-content-center mb-2 px-3"},n.createElement("div",{className:"".concat(d.leftNavIcon," rounded-circle")}),n.createElement("div",{className:"".concat(d.leftNavText," rounded-pill")}))}function p(e){var t,r,p=(0,s.k)();return n.createElement("div",{className:"border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100"},!!e.editingCurriculum&&n.createElement("div",{className:"w-100 h-100 position-absolute ".concat(d.shadow)},n.createElement("div",{className:"d-flex align-items-center h-100 w-50 ".concat(d.curriculumContainer)},n.createElement("div",{className:"bg-white rounded-3 border p-3 w-100"},n.createElement("h2",{className:"h6 text-start"},n.createElement(i.x,{namespace:f,phrase:"curriculum"})),e.curriculum?n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"".concat(d.curriculumIcon," rounded-circle me-2 border")},n.createElement(a.f,{imageUrl:null===(t=e.curriculum.cover)||void 0===t?void 0:t.url})),n.createElement("div",{className:"text-start"},e.curriculum.name)):n.createElement("div",{className:"d-flex align-items-center text-secondary"},n.createElement("div",{className:"me-2 rounded-circle p-1 ".concat(d.iconPlaceholder)},n.createElement(a.f,{svgSize:l.S.Large,textVariant:"secondary",svgName:u.vn.GraduationCap})),n.createElement(i.x,{namespace:f,phrase:"selectCurriculum"}))))),n.createElement("div",{className:"bg-dark d-flex px-3 py-2 ".concat(d.blackBar)},n.createElement("div",{className:"rounded-circle me-2 ".concat(d.dot)}),n.createElement("div",{className:"rounded-circle me-2 ".concat(d.dot)}),n.createElement("div",{className:"rounded-circle ".concat(d.dot)})),n.createElement("div",{className:"border-bottom px-3 py-2 d-flex align-items-center ".concat(d.topNav)},n.createElement("div",{className:"".concat(d.logo," me-4")},p.xs?n.createElement(c.bc,null):n.createElement(c.$S,null)),n.createElement("div",{className:"form-control w-75 d-flex justify-content-start"},n.createElement(l.x,{svgName:u.vn.Search})),!!e.curriculum&&n.createElement("div",{className:"".concat(d.curriculumIconSmall," rounded-circle ms-2 me-n1 border")},n.createElement(a.f,{imageUrl:null===(r=e.curriculum.cover)||void 0===r?void 0:r.url}))),n.createElement("div",{className:"d-flex ".concat(d.belowHeader)},n.createElement("div",{className:"".concat(d.leftNav," border-end")},n.createElement("div",{className:"d-flex flex-column pt-3 h-100"},n.createElement(v,null),n.createElement(v,null),n.createElement(v,null),n.createElement(v,null),n.createElement(v,null),n.createElement("div",{className:"d-flex align-items-end h-100 w-100"},n.createElement("div",{className:"border-top p-3 w-100"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"".concat(function(){if(!e.presentation)return d.presentationPlaceholderIcon;switch(m.i.getMappedPresentationLevel(e.presentation.learningLevel)){case o.p.Level_1:return"bg-indigo ".concat(d.presentationIcon);case o.p.Level_3:return"bg-blue ".concat(d.presentationIcon);default:case o.p.Level_2:return"bg-green ".concat(d.presentationIcon)}}()," text-white rounded")},n.createElement(l.x,{svgName:u.vn.School,size:l.S.Large})),e.presentation?n.createElement("span",{className:"fw-semibold text-truncate ".concat(d.presentationName)},e.presentation.name):n.createElement("div",{className:"".concat(d.presentationPlaceholderText," fw-semibold")},n.createElement(i.x,{namespace:f,phrase:"schoolLevel"}))))))),n.createElement("div",{className:"w-100 h-100 overflow-hidden"},e.children)))}},62007:(e,t,r)=>{r.d(t,{u:()=>u});var n=r(32735),a=r(5465),l=r(89118),c=r(54610),i=r(2248);const o={banner:"CQxNy",title:"NzV5V",description1:"kjCZi",description2:"cBeyJ",placeholder:"Ks_Tl",playlistName:"eFPqz",thumbnailCol:"dgCQ7",videoInfoCol:"pzfE2"};function s(e){return n.createElement("li",{className:"row mb-2"},n.createElement("div",{className:"col-lg-4 col-5 ".concat(o.thumbnailCol)},e.video?n.createElement(l.u,{video:e.video,type:"cosmetic",hideDuration:!0,imageOptions:{size:c.h2.Medium}}):n.createElement(a.oy,{type:a.mS.Video,extraClasses:"position-relative rounded-3 ".concat(o.placeholder)})),n.createElement("div",{className:"col-lg-8 col-7 ".concat(o.videoInfoCol)},n.createElement("div",{className:"".concat(o.title," rounded-pill bg-grey mb-1")}),n.createElement("div",{className:"".concat(o.description1," rounded-pill bg-grey mb-1")}),n.createElement("div",{className:"".concat(o.description2," rounded-pill bg-grey mb-1")})))}function u(e){var t,r,a,l=e.hidePlaceholders?0:Math.max(6-(null!==(r=null===(t=e.videos)||void 0===t?void 0:t.length)&&void 0!==r?r:0),0);return n.createElement(i.L,{presentation:e.presentation,curriculum:e.curriculum},n.createElement("div",{className:"bg-teal ".concat(o.banner," position-relative")},e.name&&n.createElement("div",{className:"h5 text-white mb-0 ".concat(o.playlistName)},e.name)),n.createElement("ul",{className:"list-unstyled mb-0 w-100 p-2"},null===(a=e.videos)||void 0===a?void 0:a.map((function(e){return n.createElement(s,{key:e.id,video:e})})),new Array(l).fill(0).map((function(e,t){return n.createElement(s,{key:t})}))))}},40574:(e,t,r)=>{r.r(t),r.d(t,{OnboardingCompletedLoaderView:()=>_});var n=r(32735),a=r(57900),l=r(2948),c=r(20354),i=r(2158),o=r(21750),s=r(86702),u=r(82817),m=r(86698),d=r(83345),f=r(63478),v=r(52588),p=r(62007),h=r(96347);function b(){n.useEffect((function(){(0,h.p)("tsparticles",{count:500,drift:25,origin:{x:50,y:100},position:{x:50,y:100},startVelocity:100,ticks:100,gravity:3})}),[])}var y=r(67963);const E={playlistContainer:"J5iom",confetti:"Ja1bk",discover:"njFgx"};function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var N="onboarding.creatingPlaylistLoader",w=5e3;function x(e){var t,r,a=(t=n.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw a}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1];return b(),n.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),w);return function(){window.clearTimeout(e)}}),[]),n.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,y.i)(e.redirectUrl)}),w);return function(){window.clearTimeout(t)}}}),[l]),l?n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(E.playlistContainer," ").concat(E.discover)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:N,phrase:"takingYouToDiscover"})),n.createElement(p.u,{presentation:e.presentation,curriculum:e.curriculum,videos:e.videos,name:e.name,hidePlaceholders:!0})),n.createElement(v.R,{screenSize:"100%",variant:"dark-blue"})):n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(E.playlistContainer," ").concat(E.confetti)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:N,phrase:"greatJob"}),n.createElement("br",null),n.createElement(d.x,{namespace:N,phrase:"creatingPlaylist"})),n.createElement(p.u,{presentation:e.presentation,curriculum:e.curriculum,videos:e.videos,name:e.name,hidePlaceholders:!0})))}var S=r(39375);const j={container:"GVDR9"};function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var T="onboarding.defaultLoader",D=5e3;function A(e){var t,r,a=(t=n.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw a}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?C(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1];return b(),n.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),D);return function(){window.clearTimeout(e)}}),[]),n.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,y.i)(e.redirectUrl)}),D);return function(){window.clearTimeout(t)}}}),[l]),l?n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(j.container)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:T,phrase:"takingYouToDiscover"})),n.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})),n.createElement(v.R,{screenSize:"100%",variant:"dark-blue"})):n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(j.container)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:T,phrase:"allDone"})),n.createElement(S.Y,{presentation:e.presentation,subjects:e.subjects,curriculum:e.curriculum})))}const k={discoverContainer:"u6Ak8",confetti:"BVY_E",discover:"yYZ_G"};function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var I="onboarding.preferencesLoader",O=5e3;function L(e){var t,r,a=(t=n.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw a}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return P(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],c=a[1];return b(),n.useEffect((function(){var e=window.setTimeout((function(){c(!0)}),O);return function(){window.clearTimeout(e)}}),[]),n.useEffect((function(){if(l){var t=window.setTimeout((function(){(0,y.i)(e.redirectUrl)}),O);return function(){window.clearTimeout(t)}}}),[l]),l?n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(k.discoverContainer," ").concat(k.discover)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:I,phrase:"takingYouToDiscover"})),n.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})),n.createElement(v.R,{screenSize:"100%",variant:"dark-blue"})):n.createElement(f.B,{variant:"dark-blue"},n.createElement("div",{className:"".concat(k.discoverContainer," ").concat(k.confetti)},n.createElement("h1",{className:"text-white h3 text-center mb-3"},n.createElement(d.x,{namespace:I,phrase:"greatJob"}),n.createElement("br",null),n.createElement(d.x,{namespace:I,phrase:"loadingPreferences"})),n.createElement(S.Y,{presentation:e.presentation,curriculum:e.curriculum,subjects:e.subjects})))}function U(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,c,i=[],o=!0,s=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?B(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 B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function _(e){var t=(0,y.u)(),r=(0,i.T)(t).getPathway,d=U((0,l.D)(s.y.ONBOARDING_LOADER,{}),1)[0],f=U((0,l.D)(s.y.ONBOARDING_VIDEOS_V2,[],{storage:a.Z1.LocalStorage}),1)[0],v=(0,m.y)().preferredPresentation,p=(0,u.M)().preferredCurriculum,h=c.a.useBasicFetch(o.x.classifications()),b=n.useMemo((function(){switch(r().currentScreen){case"create-playlist":return"create-playlist";case"subjects-summary":case"subjects":case"school-level":case"select-curriculum":return"preferences";default:return"default"}}),[]);return"default"===b?n.createElement(A,{subjects:h.data,presentation:v,curriculum:p,redirectUrl:e.redirectUrl}):"create-playlist"===b?n.createElement(x,{name:d.playlistName,videos:f.map((function(e){return e.data})),presentation:v,curriculum:p,redirectUrl:e.redirectUrl}):"preferences"===b?n.createElement(L,{subjects:h.data,presentation:v,curriculum:p,redirectUrl:e.redirectUrl}):n.createElement(n.Fragment,null)}}}]);
|
|
2
|
-
//# sourceMappingURL=2724-
|
|
2
|
+
//# sourceMappingURL=2724-060fdde41c-lite.chunk.js.map
|