@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/{9329-5cf6baab9d-lite.chunk.js.map → 9329-798d826fc4-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/9329-5cf6baab9d-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/projects/lite/src/apps/interactives/utils/getInteractiveAnalyticsData.ts","file:///app/packages/libs/shared/src/components/select-content-region/select-content-region.scss","file:///app/packages/libs/shared/src/components/select-content-region/SelectContentRegion.tsx","file:///app/packages/libs/shared/src/apps/interactives/components/edit-interactive-details/EditInteractiveDetails.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/edit-interactive-details/EditInteractiveDetailsView.tsx","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span> </span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'> <Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsDataPayload } from 'libs/analytics/models/AnalyticsEvent';\n\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\n\nexport function getInteractiveAnalyticsData(\n interactiveMetadata: InteractiveMetadata,\n extraAnalyticsData: HashObject = {}\n): AnalyticsDataPayload {\n if (!interactiveMetadata)\n return null;\n\n const data: AnalyticsDataPayload = {\n ...extraAnalyticsData,\n id: interactiveMetadata.id,\n interactiveId: interactiveMetadata.interactiveId,\n name: interactiveMetadata.name,\n status: interactiveMetadata.status,\n originType: interactiveMetadata.originType\n };\n\n if (interactiveMetadata?._parentClip?.id)\n data.clip = { id: interactiveMetadata?._parentClip?.id };\n \n if (interactiveMetadata?._parentVideo?.id)\n data.video = { id: interactiveMetadata?._parentVideo?.id };\n \n return data;\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownMenu\":\"eDHti\"};","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { ContentRegionObject } from 'libs/shared/interfaces';\n\nimport styles from './select-content-region.scss';\n\ninterface SelectContentRegionProps {\n id: string;\n options: ContentRegionObject[];\n selectedContentRegions: ContentRegionObject[];\n onUpdateContentRegions: (contentRegions: ContentRegionObject[]) => void;\n}\n\nexport function SelectContentRegion(props: SelectContentRegionProps): JSX.Element {\n function onToggleContentRegion(option: ContentRegionObject, isCurrentlyChecked: boolean): void {\n if (isCurrentlyChecked) {\n props.onUpdateContentRegions(props.selectedContentRegions.filter(c => c.id.toString() !== option.id.toString()));\n return;\n }\n\n props.onUpdateContentRegions(props.selectedContentRegions.concat(option));\n }\n\n function onToggleGlobalContentRegion(globalContentRegion: ContentRegionObject, isCurrentlyChecked: boolean) {\n if (isCurrentlyChecked) {\n props.onUpdateContentRegions([]);\n return;\n }\n\n props.onUpdateContentRegions([globalContentRegion]);\n }\n\n function getLabel(): string {\n if (props.selectedContentRegions?.length) {\n if (props.selectedContentRegions.length > 1)\n return `${props.selectedContentRegions.length} content regions`;\n \n return props.selectedContentRegions[0].name;\n }\n \n return 'None';\n }\n\n function isChecked(contentRegion: ContentRegionObject): boolean {\n return props.selectedContentRegions.some(cr => {\n return cr.id.toString() === contentRegion.id.toString();\n });\n }\n\n const globalContentRegion = props.options.find(c => c.systemName === ContentRegion.GLOBAL);\n const isGlobalChecked = isChecked(globalContentRegion);\n\n const nonGlobalContentRegions = props.options.filter(c => c.systemName !== ContentRegion.GLOBAL);\n\n return (\n <Dropdown>\n <Dropdown.Toggle\n id={props.id}\n variant='outline-dark'\n >\n {getLabel()}\n </Dropdown.Toggle>\n\n <Dropdown.Menu className={`${styles.dropdownMenu} px-2`}>\n <Checkbox\n key={globalContentRegion.id}\n label={globalContentRegion.name}\n name={globalContentRegion.id}\n id={globalContentRegion.id}\n onChange={() => onToggleGlobalContentRegion(globalContentRegion, isGlobalChecked)}\n checked={isGlobalChecked}\n className='my-1'\n />\n\n <Dropdown.Divider />\n\n {nonGlobalContentRegions.map((contentRegion: ContentRegionObject) => {\n return (\n <Checkbox\n key={contentRegion.id}\n label={contentRegion.name}\n name={contentRegion.id}\n id={contentRegion.id}\n onChange={() => onToggleContentRegion(contentRegion, isChecked(contentRegion))}\n checked={isChecked(contentRegion)}\n className={`my-1 ${isGlobalChecked ? 'disabled' : ''}`}\n disabled={isGlobalChecked}\n />\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n}","import React from 'react';\nimport { Col, Form, Row } from 'react-bootstrap';\nimport { Form as FormikForm } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FieldWrapper, FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SelectContentRegion } from 'libs/shared/components/select-content-region/SelectContentRegion';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { ContentRegionObject, EditDetailsRequest, Interactive, InteractiveMetadata } from 'libs/shared/interfaces';\n\nconst namespace = 'interactives.editInteractiveDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getValidationSchema(requireContentRegion: boolean) {\n const schema: Yup.ObjectSchemaDefinition<EditDetailsRequest> = {\n name: Yup.string()\n .trim()\n .max(255, () => getPhrase('titleTooLong'))\n .required(() => getPhrase('titleRequired'))\n .default(''),\n\n description: Yup.string()\n .max(16000, () => getPhrase('descriptionTooLong'))\n .default('')\n };\n\n if (requireContentRegion) {\n schema.contentRegions = Yup.array<ContentRegionObject>()\n .min(1, 'Resources must have a content region')\n .default([]);\n }\n\n return Yup.object().shape<EditDetailsRequest>(schema);\n}\n\ninterface EditInteractiveDetailsFormProps {\n interactiveMetadata: InteractiveMetadata;\n onClickCancel: () => void;\n publish: boolean;\n imageCdnUrl: string;\n\n // This should only be used by Curator\n contentRegions?: ContentRegionObject[];\n}\n\nfunction EditInteractiveDetailsForm(props: EditInteractiveDetailsFormProps): React.ReactElement {\n const { interactiveMetadata, onClickCancel, imageCdnUrl } = props;\n\n const formikProps = useFormikContextWrapper<EditDetailsRequest>();\n\n return (\n <FormikForm>\n <div className='row form-group'>\n <div className='col-5'>\n <VideoThumbnail\n video={interactiveMetadata}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n imageCdnUrl={imageCdnUrl}\n preload\n />\n </div>\n <div className='col-7'>\n <h2 className='h6'>{formikProps.values.name}</h2>\n </div>\n </div>\n <FormField\n label={getPhrase('nameLabel')}\n type='text'\n name='name'\n id='name'\n placeholder={getPhrase('namePlaceholder')}\n autoFocus\n value={formikProps.values.name}\n />\n <FormField\n label={getPhrase('descriptionLabel')}\n component='textarea'\n name='description'\n id='description'\n placeholder={getPhrase('descriptionPlaceholder')}\n value={formikProps.values.description}\n />\n\n {/* content regions */}\n {!!props.contentRegions?.length && (\n <div className='pb-2'>\n <FormField\n label={getPhrase('contentRegions')}\n name='contentRegions'\n id='contentRegions'\n value={formikProps.values.contentRegions}\n >\n {() => (\n <div className='w-50'>\n <SelectContentRegion\n id={props.interactiveMetadata.id}\n options={props.contentRegions}\n selectedContentRegions={formikProps.values.contentRegions}\n onUpdateContentRegions={contentRegions => formikProps.setFieldValue('contentRegions', contentRegions)}\n />\n </div>\n )}\n </FormField>\n <Form.Control.Feedback className='d-block mt-n2' type='invalid'>\n {formikProps.errors.contentRegions as string}\n </Form.Control.Feedback>\n </div>\n )}\n\n {/* interactive features */}\n <Form.Label>\n <Text namespace={namespace} phrase={'interactiveFeatures'} />\n </Form.Label>\n <Row>\n <Col>\n <Form.Group className='form-group'>\n <div className='form-check'>\n <FieldWrapper\n className='form-check-input'\n label={getPhrase('preventScrubbingLabel')}\n name='preventScrubbing'\n id='preventScrubbing'\n type='checkbox'\n checked={formikProps.values.preventScrubbing}\n />\n <Form.Label className='form-check-label' htmlFor='preventScrubbing'>\n <Text namespace={namespace} phrase={'preventScrubbingLabel'} />\n \n </Form.Label>\n <div className='text-secondary'>\n <Text namespace={namespace} phrase={'preventScrubbingExplain'} />\n </div>\n </div>\n </Form.Group>\n </Col>\n <Col>\n <Form.Group className='form-group'>\n <div className='form-check'>\n <FieldWrapper\n className='form-check-input'\n label={getPhrase('immediateFeedbackLabel')}\n name='immediateFeedback'\n id='immediateFeedback'\n type='checkbox'\n checked={formikProps.values.immediateFeedback}\n />\n <Form.Label className='form-check-label' htmlFor='immediateFeedback'>\n <Text namespace={namespace} phrase={'immediateFeedbackLabel'} />\n \n </Form.Label>\n <div className='text-secondary'>\n <Text namespace={namespace} phrase={'immediateFeedbackExplain'} />\n </div>\n </div>\n </Form.Group>\n </Col>\n </Row>\n <PopupButtons>\n <PopupButtons.Cancel onClick={onClickCancel} />\n <PopupButtons.Submit variant='dark' text={props.publish ? getPhrase('publish') : getPhrase('save')} />\n </PopupButtons>\n </FormikForm>\n );\n}\n\ninterface EditInteractiveDetailsProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n onSubmit: (data: EditDetailsRequest) => void;\n onClickCancel: () => void;\n publish: boolean;\n imageCdnUrl: string;\n\n // This should only be used by Curator\n contentRegions?: ContentRegionObject[];\n}\n\nexport function EditInteractiveDetails(props: EditInteractiveDetailsProps): React.ReactElement {\n const {\n interactive,\n interactiveMetadata,\n onSubmit,\n onClickCancel,\n publish,\n imageCdnUrl\n } = props;\n\n const initialValues: EditDetailsRequest = {\n name: interactiveMetadata.name || '',\n description: interactiveMetadata.description,\n immediateFeedback: interactive.immediateFeedback,\n preventScrubbing: interactive.preventScrubbing\n };\n\n if (props.contentRegions?.length) {\n initialValues.contentRegions = Array.isArray(interactiveMetadata.contentRegions)\n ? interactiveMetadata.contentRegions\n : interactiveMetadata.contentRegions.data;\n }\n\n return (\n <FormWrapper<EditDetailsRequest>\n initialValues={initialValues}\n validationSchema={getValidationSchema(!!props.contentRegions?.length)}\n allowInitialSubmit\n onSubmit={onSubmit}\n >\n <EditInteractiveDetailsForm\n interactiveMetadata={interactiveMetadata}\n onClickCancel={onClickCancel}\n publish={publish}\n imageCdnUrl={imageCdnUrl}\n contentRegions={props.contentRegions}\n />\n </FormWrapper>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, PublishDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EditInteractiveDetails } from 'libs/shared/apps/interactives/components/edit-interactive-details/EditInteractiveDetails';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, EditDetailsRequest, EditInteractiveMetadataRequest, EditInteractiveRequest, Interactive, InteractiveMetadata, PopupViewProps } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { getInteractiveAnalyticsData } from 'apps/interactives/utils/getInteractiveAnalyticsData';\n\nconst namespace = 'interactives.editInteractiveDetailsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface EditInteractiveDetailsProps extends PopupViewProps {\n interactiveMetadataId: string;\n publish: boolean;\n}\n\nexport function EditInteractiveDetailsView(props: EditInteractiveDetailsProps): React.ReactElement {\n const { interactiveMetadataId, publish, closePopup } = props;\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const { hasPermissions } = usePermissions();\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(interactiveMetadataId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data ?\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId) : null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function onError(): void {\n alerts.error(getPhrase('error'));\n closePopup();\n }\n\n function onSuccess(name: string): void {\n closePopup();\n alerts.success(getPhrase('success', { name, escapeText: true }));\n\n const analyticsData = getInteractiveAnalyticsData(interactiveMetadata.data);\n\n AnalyticsHelper.logUserAction(analyticsData, {\n actionType: publish ? UserAction.Publish : UserAction.Edit,\n entity: EntityType.Interactive,\n location: LocationContext.EditInteractiveDetails,\n workflowPhase: publish ? WorkflowPhase.Complete : WorkflowPhase.Save,\n descriptor: publish ? PublishDescriptor.Publish : undefined\n });\n\n if (!publish) return;\n\n if (hasPermissions(PermissionName.StudentExperience)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ props.interactiveMetadataId, TextHelper.slugify(interactiveMetadata.data.name) ]\n });\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.CONTRIBUTE_INTERACTIVE,\n args: [interactiveMetadataId]\n });\n }\n\n function onCancel(): void {\n const analyticsData = getInteractiveAnalyticsData(interactiveMetadata.data);\n AnalyticsHelper.logUserAction(analyticsData, {\n actionType: publish ? UserAction.Publish : UserAction.Edit,\n entity: EntityType.Interactive,\n location: LocationContext.EditInteractiveDetails,\n workflowPhase: WorkflowPhase.Discard,\n descriptor: publish ? PublishDescriptor.Publish : undefined\n });\n closePopup();\n }\n\n function onSubmit(data: EditDetailsRequest): void {\n const interactiveData: EditInteractiveRequest = {\n id: interactive.data.id,\n name: data.name,\n duration: VideoHelper.getDuration(interactiveMetadata.data),\n immediateFeedback: !!data.immediateFeedback,\n preventScrubbing: !!data.preventScrubbing\n };\n\n const interactiveMetadataData: EditInteractiveMetadataRequest = {\n name: data.name,\n description: data.description,\n status: publish ? CurationStatus.Published : interactiveMetadata.data.status\n };\n\n let count = 0;\n const success = () => {\n if (count < 1) {\n count++;\n return;\n }\n\n onSuccess(data.name);\n };\n\n Flight.fetch(\n dispatch,\n InteractiveRequests.updateInteractive(\n interactive.data.id,\n interactiveData,\n success,\n onError\n )\n );\n\n Flight.fetch(\n dispatch,\n InteractiveRequests.updateInteractiveMetadata(\n interactiveMetadata.data.id,\n interactiveMetadataData,\n success,\n onError\n )\n );\n }\n\n const dataLoaded = !!interactiveMetadata.data && !!interactive.data && !!config.data;\n\n return (\n <Popup\n title={publish ? getPhrase('publishHeader') : getPhrase('editHeader')}\n closePopup={onCancel}\n showLoadingSpinner={!dataLoaded}\n >\n <EditInteractiveDetails\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n onClickCancel={onCancel}\n onSubmit={onSubmit}\n publish={publish}\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n </Popup>\n );\n}\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["FormCheckbox","props","label","checkboxLabelClassName","checkboxLabelFontWeight","className","fieldProps","Form","FieldWrapper","htmlFor","id","checkboxAppLink","checkboxAppLinkText","AppLink","appLink","CharacterCounter","field","values","fieldName","length","limit","namespace","children","showLoadingSpinner","type","setType","resolvedChildren","FunctionHelper","f","ObjectHelper","Spinner","animation","size","containerClassName","disabled","SvgContainer","svgName","onClick","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","name","as","title","tooltipPlacement","tooltipSpanHack","Text","phrase","maxLength","errorMessage","defaultProps","autoComplete","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formikProps","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","forEach","key","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","value","useFormikContextWrapper","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","getInteractiveAnalyticsData","interactiveMetadata","extraAnalyticsData","data","interactiveId","status","originType","_parentClip","clip","_parentVideo","video","SelectContentRegion","isChecked","contentRegion","selectedContentRegions","some","cr","toString","globalContentRegion","find","c","systemName","ContentRegion","isGlobalChecked","nonGlobalContentRegions","filter","Dropdown","variant","Checkbox","isCurrentlyChecked","onUpdateContentRegions","onToggleGlobalContentRegion","checked","map","option","concat","getPhrase","LanguageService","EditInteractiveDetailsForm","onClickCancel","imageCdnUrl","VideoThumbnail","imageOptions","textPosition","ThumbnailTextPosition","preload","placeholder","autoFocus","component","description","contentRegions","setFieldValue","Row","Col","preventScrubbing","immediateFeedback","PopupButtons","text","publish","EditInteractiveDetails","requireContentRegion","schema","interactive","Array","isArray","trim","max","required","min","shape","EditInteractiveDetailsView","interactiveMetadataId","closePopup","dispatch","alerts","hasPermissions","usePermissions","InteractiveRequests","config","ConfigRequests","onError","error","onCancel","analyticsData","AnalyticsHelper","actionType","entity","location","workflowPhase","descriptor","Publish","undefined","dataLoaded","Popup","interactiveData","duration","VideoHelper","interactiveMetadataData","CurationStatus","count","success","escapeText","PermissionName","application","action","args","TextHelper","onSuccess","bsPrefix","Component","ref","decoratedBsPrefix","breakpoints","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","push","displayName"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/9329-798d826fc4-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/projects/lite/src/apps/interactives/utils/getInteractiveAnalyticsData.ts","file:///app/packages/libs/shared/src/components/select-content-region/select-content-region.scss","file:///app/packages/libs/shared/src/components/select-content-region/SelectContentRegion.tsx","file:///app/packages/libs/shared/src/apps/interactives/components/edit-interactive-details/EditInteractiveDetails.tsx","file:///app/packages/projects/lite/src/apps/interactives/views/edit-interactive-details/EditInteractiveDetailsView.tsx","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span> </span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'> <Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsDataPayload } from 'libs/analytics/models/AnalyticsEvent';\n\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\n\nexport function getInteractiveAnalyticsData(\n interactiveMetadata: InteractiveMetadata,\n extraAnalyticsData: HashObject = {}\n): AnalyticsDataPayload {\n if (!interactiveMetadata)\n return null;\n\n const data: AnalyticsDataPayload = {\n ...extraAnalyticsData,\n id: interactiveMetadata.id,\n interactiveId: interactiveMetadata.interactiveId,\n name: interactiveMetadata.name,\n status: interactiveMetadata.status,\n originType: interactiveMetadata.originType\n };\n\n if (interactiveMetadata?._parentClip?.id)\n data.clip = { id: interactiveMetadata?._parentClip?.id };\n \n if (interactiveMetadata?._parentVideo?.id)\n data.video = { id: interactiveMetadata?._parentVideo?.id };\n \n return data;\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownMenu\":\"eDHti\"};","import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { ContentRegionObject } from 'libs/shared/interfaces';\n\nimport styles from './select-content-region.scss';\n\ninterface SelectContentRegionProps {\n id: string;\n options: ContentRegionObject[];\n selectedContentRegions: ContentRegionObject[];\n onUpdateContentRegions: (contentRegions: ContentRegionObject[]) => void;\n}\n\nexport function SelectContentRegion(props: SelectContentRegionProps): JSX.Element {\n function onToggleContentRegion(option: ContentRegionObject, isCurrentlyChecked: boolean): void {\n if (isCurrentlyChecked) {\n props.onUpdateContentRegions(props.selectedContentRegions.filter(c => c.id.toString() !== option.id.toString()));\n return;\n }\n\n props.onUpdateContentRegions(props.selectedContentRegions.concat(option));\n }\n\n function onToggleGlobalContentRegion(globalContentRegion: ContentRegionObject, isCurrentlyChecked: boolean) {\n if (isCurrentlyChecked) {\n props.onUpdateContentRegions([]);\n return;\n }\n\n props.onUpdateContentRegions([globalContentRegion]);\n }\n\n function getLabel(): string {\n if (props.selectedContentRegions?.length) {\n if (props.selectedContentRegions.length > 1)\n return `${props.selectedContentRegions.length} content regions`;\n \n return props.selectedContentRegions[0].name;\n }\n \n return 'None';\n }\n\n function isChecked(contentRegion: ContentRegionObject): boolean {\n return props.selectedContentRegions.some(cr => {\n return cr.id.toString() === contentRegion.id.toString();\n });\n }\n\n const globalContentRegion = props.options.find(c => c.systemName === ContentRegion.GLOBAL);\n const isGlobalChecked = isChecked(globalContentRegion);\n\n const nonGlobalContentRegions = props.options.filter(c => c.systemName !== ContentRegion.GLOBAL);\n\n return (\n <Dropdown>\n <Dropdown.Toggle\n id={props.id}\n variant='outline-dark'\n >\n {getLabel()}\n </Dropdown.Toggle>\n\n <Dropdown.Menu className={`${styles.dropdownMenu} px-2`}>\n <Checkbox\n key={globalContentRegion.id}\n label={globalContentRegion.name}\n name={globalContentRegion.id}\n id={globalContentRegion.id}\n onChange={() => onToggleGlobalContentRegion(globalContentRegion, isGlobalChecked)}\n checked={isGlobalChecked}\n className='my-1'\n />\n\n <Dropdown.Divider />\n\n {nonGlobalContentRegions.map((contentRegion: ContentRegionObject) => {\n return (\n <Checkbox\n key={contentRegion.id}\n label={contentRegion.name}\n name={contentRegion.id}\n id={contentRegion.id}\n onChange={() => onToggleContentRegion(contentRegion, isChecked(contentRegion))}\n checked={isChecked(contentRegion)}\n className={`my-1 ${isGlobalChecked ? 'disabled' : ''}`}\n disabled={isGlobalChecked}\n />\n );\n })}\n </Dropdown.Menu>\n </Dropdown>\n );\n}","import React from 'react';\nimport { Col, Form, Row } from 'react-bootstrap';\nimport { Form as FormikForm } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FieldWrapper, FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SelectContentRegion } from 'libs/shared/components/select-content-region/SelectContentRegion';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { ContentRegionObject, EditDetailsRequest, Interactive, InteractiveMetadata } from 'libs/shared/interfaces';\n\nconst namespace = 'interactives.editInteractiveDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getValidationSchema(requireContentRegion: boolean) {\n const schema: Yup.ObjectSchemaDefinition<EditDetailsRequest> = {\n name: Yup.string()\n .trim()\n .max(255, () => getPhrase('titleTooLong'))\n .required(() => getPhrase('titleRequired'))\n .default(''),\n\n description: Yup.string()\n .max(16000, () => getPhrase('descriptionTooLong'))\n .default('')\n };\n\n if (requireContentRegion) {\n schema.contentRegions = Yup.array<ContentRegionObject>()\n .min(1, 'Resources must have a content region')\n .default([]);\n }\n\n return Yup.object().shape<EditDetailsRequest>(schema);\n}\n\ninterface EditInteractiveDetailsFormProps {\n interactiveMetadata: InteractiveMetadata;\n onClickCancel: () => void;\n publish: boolean;\n imageCdnUrl: string;\n\n // This should only be used by Curator\n contentRegions?: ContentRegionObject[];\n}\n\nfunction EditInteractiveDetailsForm(props: EditInteractiveDetailsFormProps): React.ReactElement {\n const { interactiveMetadata, onClickCancel, imageCdnUrl } = props;\n\n const formikProps = useFormikContextWrapper<EditDetailsRequest>();\n\n return (\n <FormikForm>\n <div className='row form-group'>\n <div className='col-5'>\n <VideoThumbnail\n video={interactiveMetadata}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n imageCdnUrl={imageCdnUrl}\n preload\n />\n </div>\n <div className='col-7'>\n <h2 className='h6'>{formikProps.values.name}</h2>\n </div>\n </div>\n <FormField\n label={getPhrase('nameLabel')}\n type='text'\n name='name'\n id='name'\n placeholder={getPhrase('namePlaceholder')}\n autoFocus\n value={formikProps.values.name}\n />\n <FormField\n label={getPhrase('descriptionLabel')}\n component='textarea'\n name='description'\n id='description'\n placeholder={getPhrase('descriptionPlaceholder')}\n value={formikProps.values.description}\n />\n\n {/* content regions */}\n {!!props.contentRegions?.length && (\n <div className='pb-2'>\n <FormField\n label={getPhrase('contentRegions')}\n name='contentRegions'\n id='contentRegions'\n value={formikProps.values.contentRegions}\n >\n {() => (\n <div className='w-50'>\n <SelectContentRegion\n id={props.interactiveMetadata.id}\n options={props.contentRegions}\n selectedContentRegions={formikProps.values.contentRegions}\n onUpdateContentRegions={contentRegions => formikProps.setFieldValue('contentRegions', contentRegions)}\n />\n </div>\n )}\n </FormField>\n <Form.Control.Feedback className='d-block mt-n2' type='invalid'>\n {formikProps.errors.contentRegions as string}\n </Form.Control.Feedback>\n </div>\n )}\n\n {/* interactive features */}\n <Form.Label>\n <Text namespace={namespace} phrase={'interactiveFeatures'} />\n </Form.Label>\n <Row>\n <Col>\n <Form.Group className='form-group'>\n <div className='form-check'>\n <FieldWrapper\n className='form-check-input'\n label={getPhrase('preventScrubbingLabel')}\n name='preventScrubbing'\n id='preventScrubbing'\n type='checkbox'\n checked={formikProps.values.preventScrubbing}\n />\n <Form.Label className='form-check-label' htmlFor='preventScrubbing'>\n <Text namespace={namespace} phrase={'preventScrubbingLabel'} />\n \n </Form.Label>\n <div className='text-secondary'>\n <Text namespace={namespace} phrase={'preventScrubbingExplain'} />\n </div>\n </div>\n </Form.Group>\n </Col>\n <Col>\n <Form.Group className='form-group'>\n <div className='form-check'>\n <FieldWrapper\n className='form-check-input'\n label={getPhrase('immediateFeedbackLabel')}\n name='immediateFeedback'\n id='immediateFeedback'\n type='checkbox'\n checked={formikProps.values.immediateFeedback}\n />\n <Form.Label className='form-check-label' htmlFor='immediateFeedback'>\n <Text namespace={namespace} phrase={'immediateFeedbackLabel'} />\n \n </Form.Label>\n <div className='text-secondary'>\n <Text namespace={namespace} phrase={'immediateFeedbackExplain'} />\n </div>\n </div>\n </Form.Group>\n </Col>\n </Row>\n <PopupButtons>\n <PopupButtons.Cancel onClick={onClickCancel} />\n <PopupButtons.Submit variant='dark' text={props.publish ? getPhrase('publish') : getPhrase('save')} />\n </PopupButtons>\n </FormikForm>\n );\n}\n\ninterface EditInteractiveDetailsProps {\n interactive: Interactive;\n interactiveMetadata: InteractiveMetadata;\n onSubmit: (data: EditDetailsRequest) => void;\n onClickCancel: () => void;\n publish: boolean;\n imageCdnUrl: string;\n\n // This should only be used by Curator\n contentRegions?: ContentRegionObject[];\n}\n\nexport function EditInteractiveDetails(props: EditInteractiveDetailsProps): React.ReactElement {\n const {\n interactive,\n interactiveMetadata,\n onSubmit,\n onClickCancel,\n publish,\n imageCdnUrl\n } = props;\n\n const initialValues: EditDetailsRequest = {\n name: interactiveMetadata.name || '',\n description: interactiveMetadata.description,\n immediateFeedback: interactive.immediateFeedback,\n preventScrubbing: interactive.preventScrubbing\n };\n\n if (props.contentRegions?.length) {\n initialValues.contentRegions = Array.isArray(interactiveMetadata.contentRegions)\n ? interactiveMetadata.contentRegions\n : interactiveMetadata.contentRegions.data;\n }\n\n return (\n <FormWrapper<EditDetailsRequest>\n initialValues={initialValues}\n validationSchema={getValidationSchema(!!props.contentRegions?.length)}\n allowInitialSubmit\n onSubmit={onSubmit}\n >\n <EditInteractiveDetailsForm\n interactiveMetadata={interactiveMetadata}\n onClickCancel={onClickCancel}\n publish={publish}\n imageCdnUrl={imageCdnUrl}\n contentRegions={props.contentRegions}\n />\n </FormWrapper>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, PublishDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EditInteractiveDetails } from 'libs/shared/apps/interactives/components/edit-interactive-details/EditInteractiveDetails';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Config, EditDetailsRequest, EditInteractiveMetadataRequest, EditInteractiveRequest, Interactive, InteractiveMetadata, PopupViewProps } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { getInteractiveAnalyticsData } from 'apps/interactives/utils/getInteractiveAnalyticsData';\n\nconst namespace = 'interactives.editInteractiveDetailsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface EditInteractiveDetailsProps extends PopupViewProps {\n interactiveMetadataId: string;\n publish: boolean;\n}\n\nexport function EditInteractiveDetailsView(props: EditInteractiveDetailsProps): React.ReactElement {\n const { interactiveMetadataId, publish, closePopup } = props;\n\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const { hasPermissions } = usePermissions();\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(interactiveMetadataId)\n );\n\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data ?\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId) : null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n function onError(): void {\n alerts.error(getPhrase('error'));\n closePopup();\n }\n\n function onSuccess(name: string): void {\n closePopup();\n alerts.success(getPhrase('success', { name, escapeText: true }));\n\n const analyticsData = getInteractiveAnalyticsData(interactiveMetadata.data);\n\n AnalyticsHelper.logUserAction(analyticsData, {\n actionType: publish ? UserAction.Publish : UserAction.Edit,\n entity: EntityType.Interactive,\n location: LocationContext.EditInteractiveDetails,\n workflowPhase: publish ? WorkflowPhase.Complete : WorkflowPhase.Save,\n descriptor: publish ? PublishDescriptor.Publish : undefined\n });\n\n if (!publish) return;\n\n if (hasPermissions(PermissionName.StudentExperience)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ props.interactiveMetadataId, TextHelper.slugify(interactiveMetadata.data.name) ]\n });\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.CONTRIBUTE_INTERACTIVE,\n args: [interactiveMetadataId]\n });\n }\n\n function onCancel(): void {\n const analyticsData = getInteractiveAnalyticsData(interactiveMetadata.data);\n AnalyticsHelper.logUserAction(analyticsData, {\n actionType: publish ? UserAction.Publish : UserAction.Edit,\n entity: EntityType.Interactive,\n location: LocationContext.EditInteractiveDetails,\n workflowPhase: WorkflowPhase.Discard,\n descriptor: publish ? PublishDescriptor.Publish : undefined\n });\n closePopup();\n }\n\n function onSubmit(data: EditDetailsRequest): void {\n const interactiveData: EditInteractiveRequest = {\n id: interactive.data.id,\n name: data.name,\n duration: VideoHelper.getDuration(interactiveMetadata.data),\n immediateFeedback: !!data.immediateFeedback,\n preventScrubbing: !!data.preventScrubbing\n };\n\n const interactiveMetadataData: EditInteractiveMetadataRequest = {\n name: data.name,\n description: data.description,\n status: publish ? CurationStatus.Published : interactiveMetadata.data.status\n };\n\n let count = 0;\n const success = () => {\n if (count < 1) {\n count++;\n return;\n }\n\n onSuccess(data.name);\n };\n\n Flight.fetch(\n dispatch,\n InteractiveRequests.updateInteractive(\n interactive.data.id,\n interactiveData,\n success,\n onError\n )\n );\n\n Flight.fetch(\n dispatch,\n InteractiveRequests.updateInteractiveMetadata(\n interactiveMetadata.data.id,\n interactiveMetadataData,\n success,\n onError\n )\n );\n }\n\n const dataLoaded = !!interactiveMetadata.data && !!interactive.data && !!config.data;\n\n return (\n <Popup\n title={publish ? getPhrase('publishHeader') : getPhrase('editHeader')}\n closePopup={onCancel}\n showLoadingSpinner={!dataLoaded}\n >\n <EditInteractiveDetails\n interactive={interactive.data}\n interactiveMetadata={interactiveMetadata.data}\n onClickCancel={onCancel}\n onSubmit={onSubmit}\n publish={publish}\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n </Popup>\n );\n}\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["FormCheckbox","props","label","checkboxLabelClassName","checkboxLabelFontWeight","className","fieldProps","Form","FieldWrapper","htmlFor","id","checkboxAppLink","checkboxAppLinkText","AppLink","appLink","CharacterCounter","field","values","fieldName","length","limit","namespace","children","showLoadingSpinner","type","setType","resolvedChildren","FunctionHelper","f","ObjectHelper","Spinner","animation","size","containerClassName","disabled","SvgContainer","svgName","onClick","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","name","as","title","tooltipPlacement","tooltipSpanHack","Text","phrase","maxLength","errorMessage","defaultProps","autoComplete","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formikProps","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","forEach","key","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","value","useFormikContextWrapper","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","getInteractiveAnalyticsData","interactiveMetadata","extraAnalyticsData","data","interactiveId","status","originType","_parentClip","clip","_parentVideo","video","SelectContentRegion","isChecked","contentRegion","selectedContentRegions","some","cr","toString","globalContentRegion","find","c","systemName","ContentRegion","isGlobalChecked","nonGlobalContentRegions","filter","Dropdown","variant","Checkbox","isCurrentlyChecked","onUpdateContentRegions","onToggleGlobalContentRegion","checked","map","option","concat","getPhrase","LanguageService","EditInteractiveDetailsForm","onClickCancel","imageCdnUrl","VideoThumbnail","imageOptions","textPosition","ThumbnailTextPosition","preload","placeholder","autoFocus","component","description","contentRegions","setFieldValue","Row","Col","preventScrubbing","immediateFeedback","PopupButtons","text","publish","EditInteractiveDetails","requireContentRegion","schema","interactive","Array","isArray","trim","max","required","min","shape","EditInteractiveDetailsView","interactiveMetadataId","closePopup","dispatch","alerts","hasPermissions","usePermissions","InteractiveRequests","config","ConfigRequests","onError","error","onCancel","analyticsData","AnalyticsHelper","actionType","entity","location","workflowPhase","descriptor","Publish","undefined","dataLoaded","Popup","interactiveData","duration","VideoHelper","interactiveMetadataData","CurationStatus","count","success","escapeText","PermissionName","application","action","args","TextHelper","onSuccess","bsPrefix","Component","ref","decoratedBsPrefix","breakpoints","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","push","displayName"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9417],{94644:(e,a,i)=>{i.d(a,{r:()=>l});var t=i(50242),n=i(81886),r=i(67058),s=i(14553),c=i(49267),o=i(49075),d={notFound:r.d,forbidden:{rating:s.q,yearLevel:s.q,region:c.a,privacy:s.q},badRequest:o._};function l(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var r;r="number"==typeof e?e:e.status;var s=Object.assign(Object.assign({},d),a);r&&n.Q.Ry.isStatusCodeError(r)&&(r!==t.o.NotFound?r!==t.o.Forbidden?i.badRequest||n.Q.Ry.throw(new s.badRequest):i.forbidden||n.Q.Ry.throw(new s.forbidden.privacy):i.notFound||n.Q.Ry.throw(new s.notFound))}}},91286:(e,a,i)=>{i.d(a,{v:()=>s});var t=i(32735),n=i(94644);function r(e){return e.map((function(e){return e.statusCode})).join(":")}function s(e,a,i){var s=Array.isArray(e)?e:[e];(0,t.useEffect)((function(){s.forEach((function(e){(0,n.r)(e.statusCode,a,i)}))}),[r(s),a,i])}},44110:(e,a,i)=>{i.d(a,{i:()=>s});var t=i(20354),n=i(89454),r=i(86698),s=function(){var e=(0,r.y)({redirectOnError:!0}),a=e.activePresentation,i=e.getFallbackPresentation,s=a||i();return t.a.useBasicFetch(!!s&&n.O.presentationAudiences(s.id))}},36073:(e,a,i)=>{i.r(a),i.d(a,{PlayClipViewV2:()=>q});var t=i(32735),n=i(50242),r=i(23481),s=i(20354),c=i(65858),o=i(78417),d=i(16714),l=i(67058),u=i(33803),p=i(43012),v=i(39151),m=i(1666),g=i(20768),y=i(31949),f=i(1575),h=i(26304),I=i(91286),P=i(22902),C=i(15311),A=i(79612),E=i(76753),V=i(51855),b=i(7179),F=i(49948),O=i(36873),R=i(27638),L=i(44110),G=i(35014),x=i(97816),k=i(81812),S=i(14085),T=r.T.encloseNamespace("shared.playClipV2"),w={notFound:l.d,forbidden:{privacy:u.G}};function q(e){var a,i,r,l,u,q=e.queryParams,N=q.context,U=q.contextId,_=q.mtv,M=(0,C.r)().hasProduct,j=(0,R.u)(c.LZ.PlayClip),B=j.setFavourite,D=j.canFavourite,H=(0,P.T)().hasPermissions,W=(0,V.G)().isPlugin,Q=s.a.useBasicFetch(y.N.currentUser()),K=s.a.useBasicFetch(v.L.config()),Y=s.a.useBasicFetch(p.e.clip(e.id)),Z=s.a.useBasicFetch(g.b.videoInteractives(e.id)),J=s.a.useBasicFetch(!!(null===(a=Y.data)||void 0===a?void 0:a._parentVideo)&&f.R.video(Y.data._parentVideo.id));(0,x.V)([J.data]);var z=s.a.useBasicFetch(!!(null===(i=Y.data)||void 0===i?void 0:i._parentVideo)&&p.e.videoClips(Y.data._parentVideo.id)),X=s.a.useBasicFetch(Y.statusCode===n.o.Forbidden&&p.e.clip(e.id,o.r.StripMetadata)),$=(0,O.k)({video:J.data,context:N,contextId:U,moviesAndTv:_,currentUser:Q.data}),ee=(0,L.i)(),ae=s.a.useBasicFetch((null===(r=Q.data)||void 0===r?void 0:r.isAuthenticated)&&m.h.yearGroups(Q.data.customerId)),ie=(0,k.a)(),te=(0,F.l)(e.id,!0),ne=(0,G.I)();return(0,A.M)(E.CG.getClipMetadata({content:Y.data,phraseContext:{phraseHandler:T,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"}})),(0,I.v)(Y,w,{forbidden:!0}),(0,x.V)(null!==(l=$.videos)&&void 0!==l?l:[]),(0,h.b)(X),(0,b.P)({id:e.id,app:"clips"}),Y.data&&Q.hasCompleted&&K.hasCompleted&&te.hasCompleted?t.createElement(S.S,{clip:Y.data,clips:z.data,interactives:Z.data,originalVideo:J.data,currentUser:Q.data,yearGroups:ae.data,relatedVideos:"playlist"===N?$:Object.assign(Object.assign({},$),{videos:[]}),canFavourite:D,setFavourite:B,hasProduct:M,queryParams:e.queryParams,audiences:ee.data,imageCdnUrl:K.data.imageCdnUrl,canManageVideoAccess:H(d.C.ManageVideoAccess),pointsOfInterest:te.items,featureAccess:ne,tableOfContentsId:null===(u=e.queryParams)||void 0===u?void 0:u.tocId,shouldShowSideTableOfContents:ie,isPlugin:W}):t.createElement(t.Fragment,null)}q.defaultProps={queryParams:{}}},14085:(e,a,i)=>{i.d(a,{S:()=>H});var t=i(32735),n=i(28400),r=i(5640),s=i(12059),c=i(51184),o=i(64921),d=i(95812),l=i(53709),u=i(71063),p=i(10439),v=i(35429),m=i(4594),g=i(16714),y=i(12754),f=i(22902),h=i(65332),I=i(76196),P=i(59598),C=i(31908),A=i(26492),E=i(9465),V=i(91479),b=i(47938),F=i(81024),O=i(78166),R=i(99742),L=i(14070),G=i(97291),x=i(22490),k=i(63010),S=i(14476),T=i(53256),w=i(83345),q=i(13231),N=i(51365),U=i(10671),_=i(10741),M="shared.playClipV2";function j(e){var a=(0,f.T)().hasPermissions,i=(0,U._)({location:U.i.VideoItem});return t.createElement("section",{className:"play-page-section",id:P.K.ClippedFrom,ref:function(a){var i;a&&(null===(i=e.headingRef)||void 0===i?void 0:i.current)&&e.headingRef.current.set(P.K.ClippedFrom,a)}},t.createElement("h2",{className:"h4 mb-0"},t.createElement(w.x,{namespace:M,phrase:"clippedFrom"})),t.createElement(N.M.Provider,{value:i},t.createElement(q.E4,{videos:[e.originalVideo],yearGroups:e.yearGroups,setFavourite:e.setFavourite,canFavourite:e.canFavourite,getVideoAppLink:function(a,i){return x.W.getAppLink(a,Object.assign(Object.assign({},i),{context:e.queryParams.context,contextId:e.queryParams.contextId,playNext:e.queryParams.playNext,shareId:e.shareId,moviesAndTv:e.queryParams.mtv}))},hasPermissions:a,presentationAudiences:e.audiences,getPreviewQuestionsAppLink:function(e){return _.j.getPreviewQuestionsAppLink(e)},isPlugin:e.isPlugin,getClassroomGuideAppLink:e.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:e.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:e.getResourceGuidanceAppLink})))}const B={main:"iQ0Ie",expandedToc:"sIoV8"};var D=function(e,a,i){return function(t){return i?{application:G.O.VIDEOS,action:L.e.Videos.PREVIEW_PDF,args:[t.id],params:{videoId:e,shareId:a}}:{application:G.O.SIGN_UP,action:L.e.SignUp.SIGN_UP}}};function H(e){var a,i,w,q,N,U,_,M,H,W=(0,v.g)(),Q=(0,f.T)().hasPermissions,K=C.M.getCanBeConsumed(e.clip).canConsume,Y=(0,k.Q)(e.tableOfContentsId),Z=Y.tableOfContentsActiveId,J=Y.setTableOfContentsActiveId,z=Y.controlledId,X=Y.setControlledId,$=Y.tableOfContentsExpanded,ee=Y.onToggleTableOfContents,ae=(0,c.Wp)(e.clip)&&e.featureAccess.canViewGlance,ie=(0,S.i)(ae),te=ie.headingRef,ne=ie.headingElements,re=ne.map((function(a){var i;return{id:a.id,name:T.d.getSectionHeading(a.id,{clips:e.clips,interactives:e.interactives,resources:null===(i=e.clip.resources)||void 0===i?void 0:i.data,isPlayClipPage:!0})}}));(0,h.D)({setActiveId:J,headingElements:ne,controlledId:z,setControlledId:X}),(0,I.P)(ne,e.tableOfContentsId);var se=C.M.isVideoTypeArchived(e.clip),ce=Q(g.C.StudentExperience),oe=t.useRef(!1);function de(){var e,a,i,t;oe.current=!(null===(a=null===(e=null==W?void 0:W.playerRef)||void 0===e?void 0:e.current)||void 0===a?void 0:a.isPaused()),null===(t=null===(i=null==W?void 0:W.playerRef)||void 0===i?void 0:i.current)||void 0===t||t.pause()}function le(){var e,a;oe.current&&(null===(a=null===(e=null==W?void 0:W.playerRef)||void 0===e?void 0:e.current)||void 0===a||a.play())}function ue(){var a,i;return!(!e.originalVideo||!(null===(a=e.clip._canBeConsumed)||void 0===a?void 0:a.value)||!(null===(i=e.currentUser)||void 0===i?void 0:i.isAuthenticated)||!e.hasProduct(y.x.Primary)||ce)}var pe="picture-in-picture"===W.mode||e.featureAccess.canViewPublicLayout,ve=null!==(i=null===(a=e.clips)||void 0===a?void 0:a.filter((function(a){return a.id.toString()!==e.clip.id.toString()})))&&void 0!==i?i:[];return t.createElement("div",{className:"px-4 play-page-sections-container"},t.createElement("main",{className:"".concat(B.main," ").concat(e.shouldShowSideTableOfContents&&$?B.expandedToc:e.shouldShowSideTableOfContents&&!$?"pe-4":void 0)},t.createElement(b.W,{restrictions:e.clip._restrictions,yearGroups:e.yearGroups,objectId:e.clip.id,objectTypeId:m.E.Clip,canManageVideoAccess:e.canManageVideoAccess}),se&&t.createElement(A.T,{typeId:e.clip.typeId,hasStudentExperience:ce}),t.createElement("section",{id:P.K.Video,className:"mb-2 ".concat(u.M.GLOBAL_PLAYER_SELECTOR),ref:function(e){e&&(null==te?void 0:te.current)&&te.current.set(P.K.Video,e)}},K&&t.createElement(p.r,{key:e.clip.id,objectId:e.clip.id,objectTypeId:e.clip.typeId,shareId:e.shareId,context:null===(w=e.queryParams)||void 0===w?void 0:w.context,contextId:null===(q=e.queryParams)||void 0===q?void 0:q.contextId,moviesAndTv:null===(N=e.queryParams)||void 0===N?void 0:N.mtv,playNext:null===(U=e.queryParams)||void 0===U?void 0:U.playNext,startTime:null!==(M=null===(_=e.queryParams)||void 0===_?void 0:_.t)&&void 0!==M?M:null===(H=e.queryParams)||void 0===H?void 0:H.startTime,mode:"default",location:"play-page"}),t.createElement("div",{className:pe?"":"d-none"},t.createElement(F.S,{video:e.clip,type:"pip"}))),t.createElement(V.v,{media:e.clip,yearGroups:e.yearGroups,audiences:e.audiences,originalVideoAppLink:ue()?{application:G.O.VIDEOS,action:L.e.Videos.PLAY_VIDEO,args:[e.originalVideo.id,n.m.slugify(e.originalVideo.name)]}:null,featureAccess:e.featureAccess,shareId:e.shareId}),ae?t.createElement(o.j,{video:e.clip,pointsOfInterest:e.pointsOfInterest,setStartTime:function(e){var a;return null===(a=W.playerRef.current)||void 0===a?void 0:a.currentTime(e)},getTagAppLink:function(e){return{application:G.O.SEARCH,action:L.e.Search.HOME,params:{tagOrClassification:e.name}}},suppressInteractivity:e.featureAccess.canViewPublicLayout,canViewGlance:ae}):t.createElement(s.a,{video:e.clip,onLaunchImmersiveReader:de,onExitImmersiveReader:le,getTagAppLink:function(e){return{application:G.O.SEARCH,action:L.e.Search.HOME,params:{tagOrClassification:e.name}}},headingRef:te,suppressInteractivity:e.featureAccess.canViewPublicLayout}),t.createElement(l.M,{video:e.clip,canViewResources:e.featureAccess.canViewResourceItems,imageCdnUrl:e.imageCdnUrl,getAppLink:D(e.clip.id,e.shareId,e.featureAccess.canViewResourceItems),analyticsData:{clipId:e.clip.id,clipName:e.clip.name},resourceThumbnailFallbackUrl:R.W.Fallbacks.RESOURCE_THUMBNAIL,headingRef:te}),t.createElement(d.J,{video:e.clip,interactives:e.interactives,imageCdnUrl:e.imageCdnUrl,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},canViewInteractives:e.featureAccess.canViewInteractives,headingRef:te,yearGroups:e.yearGroups,setFavourite:e.setFavourite,canFavourite:e.canFavourite,isPlugin:e.isPlugin}),t.createElement(r.O,{clips:ve||[],video:e.clip,canViewClips:e.featureAccess.canViewClips,yearGroups:e.yearGroups,audiences:e.audiences,imageCdnUrl:e.imageCdnUrl,setFavourite:e.setFavourite,canFavourite:e.canFavourite,headingRef:te,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},isPlugin:e.isPlugin}),ae&&t.createElement(s.a,{video:e.clip,onLaunchImmersiveReader:de,onExitImmersiveReader:le,getTagAppLink:function(e){return{application:G.O.SEARCH,action:L.e.Search.HOME,params:{tagOrClassification:e.name}}},headingRef:te,suppressInteractivity:e.featureAccess.canViewPublicLayout}),!!ue()&&t.createElement(j,{originalVideo:e.originalVideo,setFavourite:e.setFavourite,canFavourite:e.canFavourite,yearGroups:e.yearGroups,shareId:e.shareId,queryParams:e.queryParams,audiences:e.audiences,headingRef:te,isPlugin:e.isPlugin,getClassroomGuideAppLink:x.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:x.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:x.W.getResourceGuidanceAppLink}),t.createElement(O.Z,{currentVideo:e.clip,yearGroups:e.yearGroups,relatedVideos:e.relatedVideos,setFavourite:e.setFavourite,canFavourite:e.canFavourite,currentUser:e.currentUser,audiences:e.audiences,getVideoAppLink:function(a,i){return x.W.getAppLink(a,Object.assign(Object.assign({},i),{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})),t.createElement(E.h,{isExpanded:$,setIsExpanded:ee,items:re,activeId:Z,setControlledId:X,analyticsData:{clipId:e.clip.id,clipName:e.clip.name},showInSide:e.shouldShowSideTableOfContents}))}}}]);
|
|
2
|
+
//# sourceMappingURL=9417-aa8d198d40-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/9417-aa8d198d40-lite.chunk.js","mappings":"0MA0BMA,EAA8B,CAClCC,SAAU,IACVC,UAAW,CACTC,OAAQ,IACRC,UAAW,IACXC,OAAQ,IACRC,QAAS,KAEXC,WAAY,KAGR,SAAUC,EACdC,GAMkC,IALlCC,EAAA,uDAA+B,CAAC,EAKhCC,EAAA,uDAAgC,CAAC,EAEjC,GAAKF,EAAL,CAGA,IAAIG,EAGFA,EADmB,iBAAVH,EACIA,EAEAA,EAAKI,OAGpB,IAAMC,EAAW,OAAH,wBACTd,GACAU,GAGAE,GAGA,yBAAmCA,KAGpCA,IAAe,aAMfA,IAAe,cAUdD,EAAUJ,YACb,aAAuB,IAAIO,EAASP,YAN/BI,EAAUT,WACb,aAAuB,IAAIY,EAASZ,UAAUI,SAX3CK,EAAUV,UACb,aAAuB,IAAIa,EAASb,UAvBhC,CAuCV,C,6DChFA,SAASc,EAAiBC,GACxB,OAAOA,EAAWC,KAAI,SAAAC,GAAG,OAAIA,EAAIN,UAAU,IAAEO,KAAK,IACpD,CAGM,SAAUC,EACdC,EACAC,EACAC,GAEA,IAAMP,EAAaQ,MAAMC,QAAQJ,GAAeA,EAAc,CAACA,IAE/D,IAAAK,YAAU,WACRV,EAAWW,SAAQ,SAAAT,IACjB,OAAgBA,EAAIN,WAAYU,EAAcC,EAChD,GACF,GAAG,CAAER,EAAiBC,GAAaM,EAAcC,GACnD,C,wEChBaK,EAA2B,WACtC,OAAwD,OAAgB,CAAEC,iBAAiB,IAAnFC,EAAkB,EAAlBA,mBAAoBC,EAAuB,EAAvBA,wBAEtBC,EAAeF,GAAsBC,IAO3C,OALkB,oBACdC,GACF,0BAAuCA,EAAaC,IAIxD,C,6YCuBMC,EAAY,qBADA,qBAGZC,EAAa,CACjBlC,SAAU,IACVC,UAAW,CACTI,QAAS,MAQP,SAAU8B,EAAeC,G,cAC7B,EAAoCA,EAAMC,YAAlCC,EAAO,EAAPA,QAASC,EAAS,EAATA,UAAWC,EAAG,EAAHA,IAEpBC,GAAe,SAAfA,WACR,GAAuC,IAAAC,GAAkB,eAAjDC,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACdC,GAAmB,SAAnBA,eAEAC,GAAa,SAAbA,SAEFC,EAAc,kBAAkC,mBAChDC,EAAS,kBAA6B,cACtCC,EAAO,kBAA2B,SAAkBb,EAAMJ,KAE1DkB,EAAe,kBAA4C,sBAAsCd,EAAMJ,KACvGmB,EAAQ,qBACD,QAAT,EAAAF,EAAKG,YAAI,eAAEC,eAAgB,UAAoBJ,EAAKG,KAAKC,aAAarB,MAE1E,OAAc,CAACmB,EAAMC,OAErB,IAAME,EAAa,qBACN,QAAT,EAAAL,EAAKG,YAAI,eAAEC,eAAgB,eAAwBJ,EAAKG,KAAKC,aAAarB,KAGxEuB,EAAe,kBAA2BN,EAAKtC,aAAe,eAClE,SAAkByB,EAAMJ,GAAI,oBACxBwB,GAAgB,OAAoB,CACxCL,MAAOA,EAAMC,KACbd,QAAAA,EACAC,UAAAA,EACAkB,YAAajB,EACbO,YAAaA,EAAYK,OAErBM,IAAY,SACZC,GAAa,mBACD,QAAhB,EAAAZ,EAAYK,YAAI,eAAEQ,kBAAmB,eAA4Bb,EAAYK,KAAKS,aAG9EC,IAAgC,SAEhCC,IAAmB,OAAyB3B,EAAMJ,IAAI,GAEtDgC,IAAgB,SAuBtB,OArBA,OAAmB,qBAAmC,CACpDC,QAAShB,EAAKG,KACdc,cAAe,CACbC,cAAelC,EACfmC,YAAa,YACbC,kBAAmB,uBAIvB,OAAqBpB,EAAMf,EAAY,CAAEjC,WAAW,KACpD,OAAkC,QAApB,EAAAuD,EAAcc,cAAM,QAAI,KACtC,OAAsBf,IACtB,OAAa,CAAEvB,GAAII,EAAMJ,GAAIuC,IAAK,UAGhCtB,EAAKG,MACLL,EAAYyB,cACZxB,EAAOwB,cACPT,GAAiBS,aAOjB,gBAAC,IAAU,CACTvB,KAAMA,EAAKG,KACXqB,MAAOnB,EAAWF,KAClBF,aAAcA,EAAaE,KAC3BsB,cAAevB,EAAMC,KACrBL,YAAaA,EAAYK,KACzBO,WAAYA,GAAWP,KAEvBI,cAA2B,aAAZlB,EAAyBkB,EAAe,+BAAMA,GAAa,CAAEc,OAAQ,KACpF1B,aAAcA,EACdD,aAAcA,EACdF,WAAYA,EACZJ,YAAaD,EAAMC,YACnBqB,UAAWA,GAAUN,KACrBuB,YAAa3B,EAAOI,KAAKuB,YACzBC,qBAAsB/B,EAAe,uBACrCkB,iBAAkBA,GAAiBc,MACnCb,cAAeA,GACfc,kBAAoC,QAAjB,EAAA1C,EAAMC,mBAAW,eAAE0C,MACtCjB,8BAA+BA,GAC/BhB,SAAUA,IAvBL,gCA0BX,CA/FAX,EAAe6C,aAAe,CAC5B3C,YAAa,CAAC,E,2bClCV4C,EAAY,oBAiBZ,SAAUC,EAAY9C,GAC1B,IAAQS,GAAmB,EAAAsC,EAAA,KAAnBtC,eACFuC,GAAe,EAAAC,EAAA,GAAgB,CAAEC,SAAU,gBAEjD,OACE,2BACEC,UAAU,oBACVvD,GAAIwD,EAAA,cACJC,IAAK,SAAAC,G,MACFA,IAAsB,QAAhB,EAAAtD,EAAMuD,kBAAU,eAAEC,UAAYxD,EAAMuD,WAAWC,QAAQC,IAAIL,EAAA,cAA4BE,EAChG,GAEA,sBAAIH,UAAU,WAAU,gBAACO,EAAA,EAAI,CAACb,UAAWA,EAAWc,OAAO,iBAC3D,gBAACC,EAAA,WAA4B,CAACC,MAAOb,GACnC,gBAACc,EAAA,GAAS,CACR5B,OAAQ,CAAClC,EAAMsC,eACff,WAAYvB,EAAMuB,WAClBhB,aAAcP,EAAMO,aACpBC,aAAcR,EAAMQ,aACpBuD,gBAAiB,SAACC,EAAGC,GAAI,OAAKC,EAAA,aAA8BF,EAAG,OAAF,wBACxDC,GAAI,CACP/D,QAASF,EAAMC,YAAYC,QAC3BC,UAAWH,EAAMC,YAAYE,UAC7BgE,SAAUnE,EAAMC,YAAYkE,SAC5BC,QAASpE,EAAMoE,QACf/C,YAAarB,EAAMC,YAAYG,MAC/B,EACFK,eAAgBA,EAChB4D,sBAAuBrE,EAAMsB,UAC7BgD,2BAA4B,SAAAC,GAAW,OAAIC,EAAA,6BAA8CD,EAAY,EACrG7D,SAAUV,EAAMU,SAChB+D,yBAA0BzE,EAAMyE,yBAChCC,8BAA+B1E,EAAM0E,8BACrCC,2BAA4B3E,EAAM2E,8BAK5C,CCvEA,SAAgB,KAAO,QAAQ,YAAc,SC4C7C,IAAMC,EAAqB,SAACC,EAAiBT,EAAiBU,GAAwB,OACpF,SAACC,GACC,OAAKD,EAOE,CACLE,YAAa,WACbC,OAAQ,uBACRC,KAAM,CAACH,EAASnF,IAChBuF,OAAQ,CACNN,QAASA,EACTT,QAASA,IAZJ,CACLY,YAAa,YACbC,OAAQ,mBAad,CAAC,EA0BG,SAAUG,EAAWpF,G,sBACnBqF,GAAgB,SAEd5E,GAAmB,EAAAsC,EAAA,KAAnBtC,eACA6E,EAAeC,EAAA,mBAA6BvF,EAAMa,MAAlDyE,WAER,GAOI,EAAAE,EAAA,GAA0BxF,EAAM0C,mBANlC+C,EAAuB,EAAvBA,wBACAC,EAA0B,EAA1BA,2BACAC,EAAY,EAAZA,aACAC,EAAe,EAAfA,gBACAC,EAAuB,EAAvBA,wBACAC,GAAuB,EAAvBA,wBAGIC,IAAY,QAAc/F,EAAMa,OAASb,EAAM4B,cAAcoE,cAEnE,IAAwC,EAAAC,EAAA,GAAmBF,IAAnDxC,GAAU,GAAVA,WAAY2C,GAAe,GAAfA,gBACdzD,GAAQyD,GAAgBtH,KAAI,SAAAuH,G,MAChC,MAAO,CACLvG,GAAIuG,EAAIvG,GACRwG,KAAM,sBACJD,EAAIvG,GACJ,CACEyC,MAAOrC,EAAMqC,MACbvB,aAAcd,EAAMc,aACpBuF,UAA+B,QAApB,EAAArG,EAAMa,KAAKwF,iBAAS,eAAErF,KACjCsF,gBAAgB,IAIxB,KAEA,EAAAC,EAAA,GAAgC,CAC9BC,YAAad,EACbQ,gBAAAA,GACAP,aAAAA,EACAC,gBAAAA,KAGF,EAAAa,EAAA,GAAyBP,GAAiBlG,EAAM0C,mBAEhD,IAAMgE,GAAanB,EAAA,sBAAgCvF,EAAMa,MACnD8F,GAAuBlG,EAAemG,EAAA,qBAMtCC,GAAkC,UAAa,GAErD,SAASC,K,YACPD,GAAgCrD,UAA4C,QAAjC,EAAwB,QAAxB,EAAA6B,aAAa,EAAbA,EAAe0B,iBAAS,eAAEvD,eAAO,eAAEwD,YAC7C,QAAjC,EAAwB,QAAxB,EAAA3B,aAAa,EAAbA,EAAe0B,iBAAS,eAAEvD,eAAO,SAAEyD,OACrC,CAEA,SAASC,K,QACFL,GAAgCrD,UAGJ,QAAjC,EAAwB,QAAxB,EAAA6B,aAAa,EAAbA,EAAe0B,iBAAS,eAAEvD,eAAO,SAAE2D,OACrC,CAEA,SAASC,K,QACP,SAAKpH,EAAMsC,iBAA2C,QAAzB,EAAAtC,EAAMa,KAAKwG,sBAAc,eAAExD,UAGlC,QAAjB,EAAA7D,EAAMW,mBAAW,eAAEa,mBAGnBxB,EAAMK,WAAWiH,EAAA,YAGlBX,GAIN,CAaA,IAAMY,GAA+C,uBAAvBlC,EAAcmC,MAAiCxH,EAAM4B,cAAc6F,oBAE3FC,GAAmF,QAAtE,EAAW,QAAX,EAAA1H,EAAMqC,aAAK,eAAEsF,QAAO,SAAAC,GAAC,OAAIA,EAAEhI,GAAGiI,aAAe7H,EAAMa,KAAKjB,GAAGiI,UAAU,WAAC,QAAI,GAU7F,OACE,uBAAK1E,UAAU,qCACb,wBAAMA,UAAS,UAAK,OAAW,YAT7BnD,EAAM0B,+BAAiCmE,EAClC,cAEL7F,EAAM0B,gCAAkCmE,EACnC,YADT,IAQI,gBAACiC,EAAA,EAAiB,CAChBC,aAAc/H,EAAMa,KAAKmH,cACzBzG,WAAYvB,EAAMuB,WAClB0G,SAAUjI,EAAMa,KAAKjB,GACrBsI,aAAcC,EAAA,OACd3F,qBAAsBxC,EAAMwC,uBAG7BkE,IACC,gBAAC0B,EAAA,EAAc,CACbC,OAAQrI,EAAMa,KAAKwH,OACnB1B,qBAAsBA,KAI1B,2BACE/G,GAAIwD,EAAA,QACJD,UAAS,eAAUmF,EAAA,0BACnBjF,IAAK,SAAAC,GAASA,IAAMC,cAAU,EAAVA,GAAYC,UAAYD,GAAWC,QAAQC,IAAIL,EAAA,QAAsBE,EAAK,GAE7FgC,GACC,gBAACiD,EAAA,EAAoB,CACnBC,IAAKxI,EAAMa,KAAKjB,GAChBqI,SAAUjI,EAAMa,KAAKjB,GACrBsI,aAAclI,EAAMa,KAAKwH,OACzBjE,QAASpE,EAAMoE,QACflE,QAA0B,QAAjB,EAAAF,EAAMC,mBAAW,eAAEC,QAC5BC,UAA4B,QAAjB,EAAAH,EAAMC,mBAAW,eAAEE,UAC9BkB,YAA8B,QAAjB,EAAArB,EAAMC,mBAAW,eAAEG,IAChC+D,SAA2B,QAAjB,EAAAnE,EAAMC,mBAAW,eAAEkE,SAC7BsE,UAA+B,QAApB,EAAiB,QAAjB,EAAAzI,EAAMC,mBAAW,eAAEyI,SAAC,QAAqB,QAAjB,EAAA1I,EAAMC,mBAAW,eAAEwI,UACtDjB,KAAK,UACLtE,SAAS,cAGb,uBAAKC,UAAWoE,GAAwB,GAAK,UAC3C,gBAACoB,EAAA,EAAiB,CAChB5H,MAAOf,EAAMa,KACb+H,KAAK,UAKX,gBAACC,EAAA,EAAuB,CACtBC,MAAO9I,EAAMa,KACbU,WAAYvB,EAAMuB,WAClBD,UAAWtB,EAAMsB,UACjByH,qBAzED3B,KAGE,CACLpC,YAAa,WACbC,OAAQ,sBACRC,KAAM,CAAElF,EAAMsC,cAAc1C,GAAIoJ,EAAA,UAAmBhJ,EAAMsC,cAAc8D,QALhE,KAyEHxE,cAAe5B,EAAM4B,cACrBwC,QAASpE,EAAMoE,UAIhB2B,GACC,gBAACkD,EAAA,EAAgB,CACflI,MAAOf,EAAMa,KACbc,iBAAkB3B,EAAM2B,iBACxBuH,aAAc,SAACC,GAAgB,MAAC,OAA+B,QAA/B,EAAA9D,EAAc0B,UAAUvD,eAAO,eAAE4F,YAAYD,EAAK,EAClFE,cAAe,SAAAC,GAAG,MAAK,CACrBtE,YAAa,WACbC,OAAQ,gBACRE,OAAQ,CAAEoE,oBAAqBD,EAAIlD,MACpC,EACDoD,sBAAuBxJ,EAAM4B,cAAc6F,oBAC3CzB,cAAeD,KAGjB,gBAAC,IAA2B,CAC1BhF,MAAOf,EAAMa,KACbiG,wBAAyBA,GACzBI,sBAAuBA,GACvBmC,cAAe,SAAAC,GAAG,MAAK,CACrBtE,YAAa,WACbC,OAAQ,gBACRE,OAAQ,CAAEoE,oBAAqBD,EAAIlD,MACpC,EACD7C,WAAYA,GACZiG,sBAAuBxJ,EAAM4B,cAAc6F,sBAI/C,gBAACgC,EAAA,EAAiB,CAChB1I,MAAOf,EAAMa,KACb6I,iBAAkB1J,EAAM4B,cAAc+H,qBACtCpH,YAAavC,EAAMuC,YACnBqH,WACEhF,EAAmB5E,EAAMa,KAAKjB,GAAII,EAAMoE,QAASpE,EAAM4B,cAAc+H,sBAEvEE,cAAe,CAAEC,OAAQ9J,EAAMa,KAAKjB,GAAImK,SAAU/J,EAAMa,KAAKuF,MAC7D4D,6BAA8BC,EAAA,+BAC9B1G,WAAYA,KAGd,gBAAC2G,EAAA,EAAoB,CACnBnJ,MAAOf,EAAMa,KACbC,aAAcd,EAAMc,aACpByB,YAAavC,EAAMuC,YACnBsH,cAAe,CAAEC,OAAQ9J,EAAMa,KAAKjB,GAAImK,SAAU/J,EAAMa,KAAKuF,MAC7D+D,oBAAqBnK,EAAM4B,cAAcuI,oBACzC5G,WAAYA,GACZhC,WAAYvB,EAAMuB,WAClBhB,aAAcP,EAAMO,aACpBC,aAAcR,EAAMQ,aACpBE,SAAUV,EAAMU,WAGlB,gBAAC0J,EAAA,EAAa,CACZ/H,MAAOqF,IAAc,GACrB3G,MAAOf,EAAMa,KACbwJ,aAAcrK,EAAM4B,cAAcyI,aAClC9I,WAAYvB,EAAMuB,WAClBD,UAAWtB,EAAMsB,UACjBiB,YAAavC,EAAMuC,YACnBhC,aAAcP,EAAMO,aACpBC,aAAcR,EAAMQ,aACpB+C,WAAYA,GACZsG,cAAe,CAAEC,OAAQ9J,EAAMa,KAAKjB,GAAImK,SAAU/J,EAAMa,KAAKuF,MAC7D1F,SAAUV,EAAMU,WAIjBqF,IACC,gBAAC,IAA2B,CAC1BhF,MAAOf,EAAMa,KACbiG,wBAAyBA,GACzBI,sBAAuBA,GACvBmC,cAAe,SAAAC,GAAG,MAAK,CACrBtE,YAAa,WACbC,OAAQ,gBACRE,OAAQ,CAAEoE,oBAAqBD,EAAIlD,MACpC,EACD7C,WAAYA,GACZiG,sBAAuBxJ,EAAM4B,cAAc6F,wBAI5CL,MACD,gBAACtE,EAAW,CACVR,cAAetC,EAAMsC,cACrB/B,aAAcP,EAAMO,aACpBC,aAAcR,EAAMQ,aACpBe,WAAYvB,EAAMuB,WAClB6C,QAASpE,EAAMoE,QACfnE,YAAaD,EAAMC,YACnBqB,UAAWtB,EAAMsB,UACjBiC,WAAYA,GACZ7C,SAAUV,EAAMU,SAChB+D,yBAA0BP,EAAA,2BAC1BQ,8BAA+BR,EAAA,gCAC/BS,2BAA4BT,EAAA,+BAIhC,gBAACoG,EAAA,EAAa,CACZC,aAAcvK,EAAMa,KACpBU,WAAYvB,EAAMuB,WAClBH,cAAepB,EAAMoB,cACrBb,aAAcP,EAAMO,aACpBC,aAAcR,EAAMQ,aACpBG,YAAaX,EAAMW,YACnBW,UAAWtB,EAAMsB,UACjByC,gBAAiB,SAACC,EAAGC,GAAI,OAAKC,EAAA,aAA8BF,EAAG,OAAF,wBACxDC,GAAI,CACP/D,QAASF,EAAMC,YAAYC,QAC3BC,UAAWH,EAAMC,YAAYE,UAC7BgE,SAAUnE,EAAMC,YAAYkE,SAC5BC,QAASpE,EAAMoE,QACf/C,YAAarB,EAAMC,YAAYG,MAC/B,EACFiB,YAAarB,EAAMC,YAAYG,IAC/BM,SAAUV,EAAMU,YAKpB,gBAAC8J,EAAA,EAAwB,CACvBC,WAAY5E,EACZ6E,cAAe5E,GACfrD,MAAOA,GACPkI,SAAUlF,EACVG,gBAAiBA,EACjBiE,cAAe,CAAEC,OAAQ9J,EAAMa,KAAKjB,GAAImK,SAAU/J,EAAMa,KAAKuF,MAC7DwE,WAAY5K,EAAM0B,gCAK1B,C","sources":["file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/views/play-clip/v2/PlayClipViewV2.tsx","file:///app/packages/projects/lite/src/shared/views/play-clip/v2/components/clipped-from/ClippedFrom.tsx","file:///app/packages/projects/lite/src/shared/views/play-clip/v2/components/play-clip/play-clip-v2.scss","file:///app/packages/projects/lite/src/shared/views/play-clip/v2/components/play-clip/PlayClipV2.tsx"],"sourcesContent":["import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import * as React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { VideoPrivateError } from 'libs/shared/errors/videos/video-private/VideoPrivateError';\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 { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\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, Video, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\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';\nimport { useShouldShowSideTableOfContents } from 'shared/views/play/v2/hooks/useShouldShowTableOfContents';\n\nimport { PlayViewProps } from '../PlayClipViewContainer';\n\nimport { PlayClipV2 } from './components/play-clip/PlayClipV2';\n\nconst namespace = 'shared.playClipV2';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst clipErrors = {\n notFound: NotFoundError,\n forbidden: {\n privacy: VideoPrivateError\n }\n};\n\nPlayClipViewV2.defaultProps = {\n queryParams: {}\n};\n\nexport function PlayClipViewV2(props: PlayViewProps): JSX.Element {\n const { context, contextId, mtv } = props.queryParams;\n\n const { hasProduct } = useProducts();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.PlayClip);\n const { hasPermissions } = usePermissions();\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const clip = Flight.useBasicFetch<Clip>(ClipRequests.clip(props.id));\n\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const video = Flight.useBasicFetch<Video>(\n !!clip.data?._parentVideo && VideoRequests.video(clip.data._parentVideo.id)\n );\n useVideoMixin([video.data]);\n\n const childClips = Flight.useBasicFetch<Clip[]>(\n !!clip.data?._parentVideo && ClipRequests.videoClips(clip.data._parentVideo.id)\n );\n\n const strippedClip = Flight.useBasicFetch<Clip>(clip.statusCode === HttpStatus.Forbidden &&\n ClipRequests.clip(props.id, PermissionFilterOption.StripMetadata));\n const relatedVideos = useGetRelatedVideos({\n video: video.data,\n context,\n contextId,\n moviesAndTv: mtv,\n currentUser: currentUser.data\n });\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const shouldShowSideTableOfContents = useShouldShowSideTableOfContents();\n\n const pointsOfInterest = useFetchPointsOfInterest(props.id, true);\n \n const featureAccess = useVideoFeatureAccess();\n\n useSetPageMetadata(PageMetadataHelper.getClipMetadata({\n content: clip.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n }\n }));\n\n useHandleObjectError(clip, clipErrors, { forbidden: true });\n useVideoMixin(relatedVideos.videos ?? []);\n useCannotConsumeError(strippedClip);\n useDeepLinks({ id: props.id, app: 'clips' });\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 <PlayClipV2\n clip={clip.data}\n clips={childClips.data}\n interactives={interactives.data}\n originalVideo={video.data}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n // we only show up next videos for clips in a playlist\n relatedVideos={context === 'playlist' ? relatedVideos : { ...relatedVideos, videos: []}}\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 pointsOfInterest={pointsOfInterest.items}\n featureAccess={featureAccess}\n tableOfContentsId={props.queryParams?.tocId}\n shouldShowSideTableOfContents={shouldShowSideTableOfContents}\n isPlugin={isPlugin}\n />\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CanFavouriteFunc, FavouriteFunc, PresentationAudience, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { PlayPageAnchor } from 'libs/shared/interfaces/PlayPageAnchor';\nimport { PlayViewQueryParams } from 'libs/shared/interfaces/query-params/PlayViewQueryParams';\n\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nconst namespace = 'shared.playClipV2';\n\ninterface ClippedFromProps {\n originalVideo: VideoTypes;\n yearGroups: YearGroup[];\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n queryParams: PlayViewQueryParams;\n audiences: PresentationAudience[];\n shareId?: string;\n headingRef: React.MutableRefObject<Map<PlayPageAnchor, HTMLElement>>;\n isPlugin: boolean;\n getInteractiveGuidanceAppLink: (id: string, type: MasterType) => Core.AppLink;\n getResourceGuidanceAppLink: (id: string, type: MasterType) => Core.AppLink;\n getClassroomGuideAppLink: (id: string, type: MasterType) => Core.AppLink;\n}\n\nexport function ClippedFrom(props: ClippedFromProps) {\n const { hasPermissions } = usePermissions();\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n\n return (\n <section\n className='play-page-section'\n id={PlayPageAnchor.ClippedFrom}\n ref={el => {\n (el && props.headingRef?.current) && props.headingRef.current.set(PlayPageAnchor.ClippedFrom, el);\n }}\n >\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={props.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={props.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={props.getResourceGuidanceAppLink}\n />\n </VideoActionsContext.Provider>\n </section>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"main\":\"iQ0Ie\",\"expandedToc\":\"sIoV8\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { PlayPageClips } from 'libs/shared/components/play-page-v2/clips-widget/PlayPageClips';\nimport { VideoDetailsWithScrollbarV2 } from 'libs/shared/components/play-page-v2/details/VideoDetailsV2';\nimport { hasGlanceData } from 'libs/shared/components/play-page-v2/glance/VideoAtAGlanceUtilsV2';\nimport { VideoAtAGlanceV2 } from 'libs/shared/components/play-page-v2/glance/VideoAtAGlanceV2';\nimport { PlayPageInteractives } from 'libs/shared/components/play-page-v2/interactives-widget/PlayPageInteractives';\nimport { PlayPageResources } from 'libs/shared/components/play-page-v2/resources-widget/PlayPageResources';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { GlobalPlayerConsumer } from 'libs/shared/context/player-context/components/GlobalPlayerConsumer';\nimport { usePlayerContext } from 'libs/shared/context/player-context/PlayerContext';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { HasProductFunc } from 'libs/shared/hooks/UseProducts';\nimport { useTableOfContentsActiveHeading } from 'libs/shared/hooks/useTableOfContentsActiveHeading';\nimport { useTableOfContentsScroll } from 'libs/shared/hooks/useTableOfContentsScroll';\nimport { CanFavouriteFunc, Clip, CurrentUser, FavouriteFunc, InteractiveMetadata, Link, PointOfInterest, PresentationAudience, Resource, 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 { TableOfContentsContainer } from 'shared/components/play-page/components/table-of-contents/TableOfContents';\nimport { PlayPageTitleAndActions } from 'shared/components/play-page/components/title-and-actions/PlayPageTitleAndActions';\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 { RelatedVideosHash } from 'shared/hooks/useGetRelatedVideos';\nimport { VideoFeaturesHash } from 'shared/hooks/useVideoFeatureAccess';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { usePlayPageTableOfContent } from 'shared/views/play/v2/hooks/usePlayPageTableOfContent';\nimport { useSectionHeadings } from 'shared/views/play/v2/hooks/useSectionHeadings';\nimport { PlayPageUtils } from 'shared/views/play/v2/PlayPageUtilV2';\nimport { ClippedFrom } from 'shared/views/play-clip/v2/components/clipped-from/ClippedFrom';\n\nimport styles from './play-clip-v2.scss';\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\n\ninterface PlayClipV2Props {\n clip: Clip;\n clips: Clip[];\n interactives: InteractiveMetadata[];\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 tableOfContentsId: string;\n shouldShowSideTableOfContents: boolean;\n isPlugin: boolean;\n}\n\nexport function PlayClipV2(props: PlayClipV2Props): JSX.Element {\n const playerContext = usePlayerContext();\n\n const { hasPermissions } = usePermissions();\n const { canConsume } = VideoHelper.getCanBeConsumed(props.clip);\n \n const {\n tableOfContentsActiveId,\n setTableOfContentsActiveId,\n controlledId,\n setControlledId,\n tableOfContentsExpanded,\n onToggleTableOfContents\n } = usePlayPageTableOfContent(props.tableOfContentsId);\n\n const hasGlance = hasGlanceData(props.clip) && props.featureAccess.canViewGlance;\n\n const { headingRef, headingElements } = useSectionHeadings(hasGlance);\n const items = headingElements.map(ele => {\n return {\n id: ele.id as PlayPageAnchor,\n name: PlayPageUtils.getSectionHeading(\n ele.id as PlayPageAnchor,\n {\n clips: props.clips,\n interactives: props.interactives,\n resources: props.clip.resources?.data,\n isPlayClipPage: true\n }\n )\n };\n });\n\n useTableOfContentsActiveHeading({\n setActiveId: setTableOfContentsActiveId,\n headingElements,\n controlledId,\n setControlledId\n });\n\n useTableOfContentsScroll(headingElements, 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 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 canAccessOriginal(): boolean {\n if (!props.originalVideo || !props.clip._canBeConsumed?.value)\n return false;\n\n if (!props.currentUser?.isAuthenticated)\n return false;\n\n if (!props.hasProduct(ProductId.Primary))\n return false;\n\n if (hasStudentExperience)\n return false;\n\n return true;\n }\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 otherClips = props.clips?.filter(c => c.id.toString() !== props.clip.id.toString()) ?? [];\n\n function getMainClassName() {\n if (props.shouldShowSideTableOfContents && tableOfContentsExpanded) {\n return styles.expandedToc;\n }\n if (props.shouldShowSideTableOfContents && !tableOfContentsExpanded)\n return 'pe-4';\n }\n\n return (\n <div className='px-4 play-page-sections-container'>\n <main className={`${styles.main} ${getMainClassName()}`}>\n\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\n id={PlayPageAnchor.Video}\n className={`mb-2 ${SeoConstants.GLOBAL_PLAYER_SELECTOR}`}\n ref={el => { (el && headingRef?.current) && headingRef.current.set(PlayPageAnchor.Video, el); }}\n >\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 {/* if no glance render video details here */}\n {hasGlance ? (\n <VideoAtAGlanceV2\n video={props.clip}\n pointsOfInterest={props.pointsOfInterest}\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 canViewGlance={hasGlance}\n />\n ) : (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n )}\n\n <PlayPageResources\n video={props.clip}\n canViewResources={props.featureAccess.canViewResourceItems}\n imageCdnUrl={props.imageCdnUrl}\n getAppLink={\n getResourceAppLink(props.clip.id, props.shareId, props.featureAccess.canViewResourceItems)\n }\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n resourceThumbnailFallbackUrl={ImageUrls.Fallbacks.RESOURCE_THUMBNAIL}\n headingRef={headingRef}\n />\n\n <PlayPageInteractives\n video={props.clip}\n interactives={props.interactives}\n imageCdnUrl={props.imageCdnUrl}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n canViewInteractives={props.featureAccess.canViewInteractives}\n headingRef={headingRef}\n yearGroups={props.yearGroups}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n isPlugin={props.isPlugin}\n />\n\n <PlayPageClips\n clips={otherClips || []}\n video={props.clip}\n canViewClips={props.featureAccess.canViewClips}\n yearGroups={props.yearGroups}\n audiences={props.audiences}\n imageCdnUrl={props.imageCdnUrl}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n headingRef={headingRef}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n isPlugin={props.isPlugin}\n />\n\n {/* if has glance, render video details here */}\n {hasGlance && (\n <VideoDetailsWithScrollbarV2\n video={props.clip}\n onLaunchImmersiveReader={onLaunchImmersiveReader}\n onExitImmersiveReader={onExitImmersiveReader}\n getTagAppLink={tag => ({\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: { tagOrClassification: tag.name }\n })}\n headingRef={headingRef}\n suppressInteractivity={props.featureAccess.canViewPublicLayout}\n />\n )}\n \n {!!canAccessOriginal() && (\n <ClippedFrom\n originalVideo={props.originalVideo}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n yearGroups={props.yearGroups}\n shareId={props.shareId}\n queryParams={props.queryParams}\n audiences={props.audiences}\n headingRef={headingRef}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n )}\n\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\n </main>\n\n <TableOfContentsContainer\n isExpanded={tableOfContentsExpanded}\n setIsExpanded={onToggleTableOfContents}\n items={items}\n activeId={tableOfContentsActiveId}\n setControlledId={setControlledId}\n analyticsData={{ clipId: props.clip.id, clipName: props.clip.name }}\n showInSide={props.shouldShowSideTableOfContents}\n />\n \n </div>\n );\n}"],"names":["defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","map","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","forEach","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","getPhrase","clipErrors","PlayClipViewV2","props","queryParams","context","contextId","mtv","hasProduct","u","setFavourite","canFavourite","hasPermissions","isPlugin","currentUser","config","clip","interactives","video","data","_parentVideo","childClips","strippedClip","relatedVideos","moviesAndTv","audiences","yearGroups","isAuthenticated","customerId","shouldShowSideTableOfContents","pointsOfInterest","featureAccess","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","videos","app","hasCompleted","clips","originalVideo","imageCdnUrl","canManageVideoAccess","items","tableOfContentsId","tocId","defaultProps","namespace","ClippedFrom","usePermissions","videoActions","useVideoActions","location","className","PlayPageAnchor","ref","el","headingRef","current","set","Text","phrase","VideoActionsContext","value","VideoList","getVideoAppLink","v","opts","VideoAppLinkHelper","playNext","shareId","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","getResourceAppLink","videoId","canViewResource","resource","application","action","args","params","PlayClipV2","playerContext","canConsume","VideoHelper","usePlayPageTableOfContent","tableOfContentsActiveId","setTableOfContentsActiveId","controlledId","setControlledId","tableOfContentsExpanded","onToggleTableOfContents","hasGlance","canViewGlance","useSectionHeadings","headingElements","ele","name","resources","isPlayClipPage","useTableOfContentsActiveHeading","setActiveId","useTableOfContentsScroll","isArchived","hasStudentExperience","PermissionName","shouldPlayOnExitImmersiveReader","onLaunchImmersiveReader","playerRef","isPaused","pause","onExitImmersiveReader","play","canAccessOriginal","_canBeConsumed","ProductId","showPlayerPlaceholder","mode","canViewPublicLayout","otherClips","filter","c","toString","RestrictionBanner","restrictions","_restrictions","objectId","objectTypeId","MasterType","ArchivedBanner","typeId","SeoConstants","GlobalPlayerConsumer","key","startTime","t","PlayerPlaceholder","type","PlayPageTitleAndActions","media","originalVideoAppLink","TextHelper","VideoAtAGlanceV2","setStartTime","time","currentTime","getTagAppLink","tag","tagOrClassification","suppressInteractivity","PlayPageResources","canViewResources","canViewResourceItems","getAppLink","analyticsData","clipId","clipName","resourceThumbnailFallbackUrl","ImageUrls","PlayPageInteractives","canViewInteractives","PlayPageClips","canViewClips","RelatedVideos","currentVideo","TableOfContents","isExpanded","setIsExpanded","activeId","showInSide"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 9620-d0f04eeccd-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9620],{34468:(e,t,n)=>{n.d(t,{R:()=>i});var r=n(32735),a=n(73758);function i(e,t,n,i){var o=function(){a.n.unsubscribe(e,t)};return(0,r.useEffect)((function(){if(i)return n?a.n.subscribeOnce(e,t):a.n.subscribe(e,t),function(){o()}}),[]),o}},73758:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}n.d(t,{n:()=>o});var o=new(function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.listeners={}},t=[{key:"subscribe",value:function(e,t){this.registerListener(e,t)}},{key:"subscribeOnce",value:function(e,t){this.registerListener(e,t,1)}},{key:"unsubscribe",value:function(e,t){this.deregisterListener(e,t)}},{key:"trigger",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.triggerCallbacks(e,n)}},{key:"registerListener",value:function(e,t,n){var r;if("string"!=typeof e)throw new Error("Event name must be a string");if("function"!=typeof t)throw new Error("Event callback must be a function");if(n&&"number"!=typeof n)throw new Error("Execution limit must be a number or undefined");this.listeners[e]=null!==(r=this.listeners[e])&&void 0!==r?r:[],this.listeners[e].push({callback:t,executionLimit:n})}},{key:"deregisterListener",value:function(e,t){var n;if("string"!=typeof e)throw new Error("Event name must be a string");if(t&&"function"!=typeof t)throw new Error("Event callback must be a function");if(t){var r=null===(n=this.listeners[e])||void 0===n?void 0:n.findIndex((function(e){return e.callback===t}));"number"==typeof r&&-1!==r&&(this.listeners[e].splice(r,1),0===this.listeners[e].length&&delete this.listeners[e])}else this.listeners[e]=[]}},{key:"triggerCallbacks",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];if(this.listeners[e]){var i=[];this.listeners[e].forEach((function(e){var t,n;"number"==typeof e.executionLimit&&(e.executionCount=null!==(n=e.executionCount)&&void 0!==n?n:0,e.executionCount++,e.executionCount===e.executionLimit&&i.push(e.callback)),(t=e.callback).apply.apply(t,[null].concat(r))})),i.length&&i.forEach((function(n){return t.deregisterListener(e,n)}))}}}],t&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}())},1353:(e,t,n)=>{n.d(t,{$:()=>l});var r=n(32735),a=n(11607),i=n(54610),o=n(67453),c=n(22161);function l(e){var t=e.data;return r.createElement(a.L,{key:t.id,className:"p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer ".concat(c.Z.tag," ").concat(e.selected?c.Z.selected:""),onClick:function(){return e.onChangeCurriculum(t.id.toString())}},r.createElement("div",{className:"bg-white ".concat(c.Z.cover," rounded-circle border")},r.createElement("img",{src:o.j.createUrl(t.cover.url,{size:i.h2.Small}),alt:t.name,className:"rounded-circle"})),r.createElement("div",{className:"ms-2"},t.name))}},38496:(e,t,n)=>{n.d(t,{p:()=>u});var r=n(32735),a=n(23481),i=n(23232),o=n(83345),c="shared.curriculumLinks",l=a.T.encloseNamespace(c);function u(e){return r.createElement(i.u,{className:"pt-3"},r.createElement(i.u.Image,{src:e.emptyStateUrl,altText:l("emptyInfo"),size:"small"}),r.createElement(i.u.Heading,null,r.createElement(o.x,{namespace:c,phrase:"emptyHeading"})),r.createElement(i.u.Info,null,r.createElement(o.x,{namespace:c,phrase:"emptyInfo"})))}},44599:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(32735);var a=function(){return r.createElement(r.Fragment,null,r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ".concat("vDcrq")}),r.createElement("div",null,r.createElement("div",{className:"partial-loading-background mb-1 ".concat("GXhoW")}),r.createElement("div",{className:"mb-2 d-flex"},r.createElement("div",{className:"me-1 align-self-start ".concat("goKaS")},r.createElement("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100"})),r.createElement("div",{className:"partial-loading-background ".concat("vFew6")}))))};function i(){return r.createElement("div",null,r.createElement("div",{className:"mb-3"},r.createElement(a,null)),r.createElement("div",{className:"mb-3"},r.createElement(a,null)),r.createElement("div",null,r.createElement(a,null)))}},34223:(e,t,n)=>{n.d(t,{Y:()=>g});var r=n(32735),a=n(38496),i=n(44599),o=n(83345),c=n(85597);const l={curriculumSubject:"i4D3h",curriculumSet:"WCdf9",areaLeafSet:"o8H8s",closeButton:"McsPs",leafDescriptionOnly:"xmEEo"};function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==u(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var m=/(.*)\s\((.*)?\)/i,f="shared.curriculumLinks",p="text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold";function v(e){function t(){var t=p+" bg-white border";return!e.leaf.name&&e.uiContainsCodes?t+" border-secondary text-secondary":t+" border-dark"}var n=r.useRef();return r.useEffect((function(){if(n.current){var t=n.current.getBoundingClientRect().width;e.trySetMaxCodeWidth(t)}}),[n.current]),r.createElement("div",{className:"d-flex"},e.leaf.description?!e.leaf.name&&e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},r.createElement(o.x,{namespace:f,phrase:"noCode"}))),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):e.leaf.name||e.uiContainsCodes?r.createElement(r.Fragment,null,r.createElement("div",{className:"me-1 align-self-start",style:{minWidth:e.codeWidth?"".concat(e.codeWidth,"px"):"auto"}},r.createElement("h5",{ref:n,className:t()},e.leaf.name)),r.createElement("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.leaf.description}})):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.description}}):r.createElement("p",{className:"m-0",dangerouslySetInnerHTML:{__html:e.leaf.name}}))}function h(e){var t,n,a,i={},o=!1;function u(e){var t="mb-2";return e.name||o?t:t+" ms-4 "+l.leafDescriptionOnly}return e.linkSet.areasAndLeaves.forEach((function(e){var t=e[c.k.Area].map((function(e){return e.name})).join(" - ");i[t]?e[c.k.Leaf].forEach((function(e){i[t].push(e),e.name&&(o=!0)})):i[t]=e[c.k.Leaf]})),r.createElement(r.Fragment,null,r.createElement("h3",{className:"".concat(p," text-white bg-dark-blue fw-normal me-1 mb-2")},(t=e.linkSet[c.k.Audience].name,n=e.linkSet[c.k.Subject].name,(a=t.match(m))?"".concat(a[1]," • ").concat(a[2]," • ").concat(n):"".concat(t," • ").concat(n))),r.createElement("div",{className:"me-2 ".concat(l.curriculumSubject)},Object.keys(i).map((function(t,n){return r.createElement("div",{key:n,className:l.areaLeafSet},t&&r.createElement("h4",{className:"mb-1 font-size-normal"},t),r.createElement("ul",{className:"list-unstyled"},i[t].map((function(t){return r.createElement("li",{key:t.id,className:u(t)},r.createElement(v,{leaf:t,codeWidth:e.codeWidth,trySetMaxCodeWidth:e.trySetMaxCodeWidth,uiContainsCodes:o}))}))))}))))}function g(e){var t,n,o,u=(n=r.useState(0),o=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}(n,o)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=u[0],f=u[1];function p(e){f((function(t){return t>=e?t:e}))}var v=r.useMemo((function(){var t={};return e.curriculumLinks.forEach((function(e){var n=null,r=null,a=[],i=[];e.forEach((function(e){switch(e.type){case c.k.Subject:n=e;break;case c.k.Audience:r=e;break;case c.k.Area:a.push(e);break;case c.k.Leaf:i.push(e)}}));var o="".concat(n.id,":").concat(r.id);t[o]?t[o].areasAndLeaves.push(s(s({},c.k.Area,a),c.k.Leaf,i)):t[o]=s(s(s({},c.k.Subject,n),c.k.Audience,r),"areasAndLeaves",[s(s({},c.k.Area,a),c.k.Leaf,i)])})),t}),[e.curriculumLinks]);return e.curriculumLinks?(null===(t=e.curriculumLinks)||void 0===t?void 0:t.length)?r.createElement("ul",{className:"list-unstyled m-0"},Object.keys(v).map((function(e,t){return r.createElement("li",{key:"linkset-".concat(t),className:l.curriculumSet},r.createElement(h,{linkSet:v[e],trySetMaxCodeWidth:p,codeWidth:m}))}))):r.createElement(a.p,{emptyStateUrl:e.emptyStateUrl}):r.createElement(i.Z,null)}},22283:(e,t,n)=>{n.d(t,{P:()=>c});var r=n(32735),a=n(1353),i=n(63112),o=n(65163);function c(e){var t,n,c;return r.createElement(o.eb,{collection:(null===(t=e.selectedCurriculum)||void 0===t?void 0:t.id)?e.curriculums.nonEmptyCurriculums:null,childClassName:"flex-shrink-0",childComponent:function(t){var n,i;return r.createElement(a.$,Object.assign({},t,{selected:(null===(i=null===(n=e.selectedCurriculum)||void 0===n?void 0:n.id)||void 0===i?void 0:i.toString())===t.data.id.toString(),onChangeCurriculum:e.onChangeCurriculum}))},partialLoadingComponent:function(){return r.createElement(i.o,null)},widgetDataDeps:[null===(c=null===(n=e.selectedCurriculum)||void 0===n?void 0:n.id)||void 0===c?void 0:c.toString(),e.onChangeCurriculum],noNegativePadding:e.noNegativePadding})}},51184:(e,t,n)=>{n.d(t,{NE:()=>s,RH:()=>m,Wp:()=>d});var r=n(32735),a=n(16367),i=n(34468),o=n(73758),c=n(63847);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u=/\[\]\(cv:\/\/poi\?id=\d+\)\n*/g;function s(e,t){var n,i,o,c=(i=(0,r.useState)(""),o=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}(i,o)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(i,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],d=c[1];return(0,r.useEffect)((function(){if(t){var n=(r=e.glance,i=r.content.replace(u,""),a(i));d(n)}var r,i}),[null===(n=e.glance)||void 0===n?void 0:n.content,t]),s}function d(e){var t,n;return(null===(t=e.glance)||void 0===t?void 0:t.content)&&"text/markdown"===(null===(n=e.glance)||void 0===n?void 0:n.format)}function m(e,t){var n=(0,r.useRef)();function a(){e&&o.n.trigger("glance:poi:mouseover",e)}function l(){o.n.trigger("glance:poi:mouseleave")}return(0,i.R)("player:poi:mouseover",(function(t){var r,a,i;(null==t?void 0:t.id)&&(null===(r=null==e?void 0:e.id)||void 0===r?void 0:r.toString())===(null===(a=null==t?void 0:t.id)||void 0===a?void 0:a.toString())&&(null===(i=n.current)||void 0===i||i.classList.add(c.Z.highlightPoi))}),null,t),(0,i.R)("player:poi:mouseleave",(function(){var e;null===(e=n.current)||void 0===e||e.classList.remove(c.Z.highlightPoi)}),null,t),(0,r.useEffect)((function(){var e,r;if(n.current&&t)return null===(e=n.current)||void 0===e||e.addEventListener("mouseover",a),null===(r=n.current)||void 0===r||r.addEventListener("mouseleave",l),function(){var e,t;null===(e=n.current)||void 0===e||e.removeEventListener("mouseover",a),null===(t=n.current)||void 0===t||t.removeEventListener("mouseleave",l)}}),[n.current]),n}},64921:(e,t,n)=>{n.d(t,{j:()=>k});var r=n(32735),a=n(42648),i=n(11607),o=n(83345),c=n(93264),l=n(51184);const u={poiEntry:"vr6R9",poiText:"znHZF",public:"v0BZ9",poiTimeStamp:"AdKwe"};function s(e){var t=c.T.ToDisplayDuration(1e3*e.poi.startTime),n=(0,l.RH)(e.poi,!e.suppressInteractivity);return e.suppressInteractivity?r.createElement("div",{className:"d-flex ".concat(u.poiEntry," mb-2")},r.createElement("span",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold info-link ".concat(u.poiTimeStamp)},t),r.createElement("div",{className:"".concat(u.public," ms-2")},e.poi.description)):r.createElement(i.L,{key:e.poi.startTime,className:"d-flex ".concat(u.poiEntry," mb-2 cursor-pointer"),onClick:function(){return e.onClickPoiItem(e.poi.startTime)},ref:n},r.createElement("div",{className:"d-flex rounded-pill justify-content-center align-items-center fw-semibold info-link ".concat(u.poiTimeStamp)},t),r.createElement("div",{className:"ms-2 ".concat(u.poiText)},e.poi.description))}var d="shared.pointsOfInterestList";function m(e){return r.createElement("div",null,r.createElement("h2",{className:"h6 my-2"},r.createElement(o.x,{namespace:d,phrase:"heading"})),r.createElement("div",null,e.pointsOfInterest.map((function(t){return r.createElement(s,{key:t.startTime,poi:t,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:e.onClickPoiItem})}))))}var f=n(87311),p=n(91743),v=n(44829),h=n(31908),g=n(63847),y="shared.videoAtAGlanceV2",b=350;function E(e){return e.hideScrollbar?r.createElement(r.Fragment,null,e.children):r.createElement("div",{className:"rounded border mb-4 bg-white"},r.createElement(a.ZP,{autoHeight:!0,autoHeightMax:b},r.createElement("div",{className:"px-3 px-3 pt-3 pb-2"},e.children)))}function k(e){var t,n,a,i,c=(0,l.NE)(e.video,e.canViewGlance),u=h.M.isInteractive(e.video)||!(null===(n=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length)?null:null===(i=null===(a=e.video.tags)||void 0===a?void 0:a.data)||void 0===i?void 0:i.filter((function(e){return e.tagType===v.Q.Pedagogy||e.tagType===v.Q.Skill}));return e.canViewGlance?r.createElement("section",{className:"play-page-section"},r.createElement(E,{hideScrollbar:e.hideScrollbar},r.createElement("h2",{className:"h6 mb-2"},r.createElement(o.x,{namespace:y,phrase:"learningIntention"})),r.createElement("div",{className:"".concat(g.Z.learningIntention," mb-3")},r.createElement("div",{dangerouslySetInnerHTML:{__html:c}})),!!(null==u?void 0:u.length)&&r.createElement("div",{className:"mb-1"},r.createElement(p.P,Object.assign({tags:u},f.G.getTagActionProps(e.getTagAppLink,e.onClickTag,e.suppressInteractivity),{className:"mt-2"}))),!!e.pointsOfInterest.length&&r.createElement(m,{pointsOfInterest:e.pointsOfInterest,suppressInteractivity:e.suppressInteractivity,onClickPoiItem:function(t){e.setStartTime(t)}}))):r.createElement(r.Fragment,null)}},63112:(e,t,n)=>{n.d(t,{o:()=>i});var r=n(32735),a=n(91807),i=r.memo((function(e){var t=e.tagClass,n="partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ".concat(void 0===t?"":t," ").concat(a.Z.partialTag);return r.createElement("div",{className:"mt-1"},r.createElement("span",{className:n}," "))}))},87311:(e,t,n)=>{n.d(t,{G:()=>a});var r=n(81886),a={getTagActionProps:function(e,t,n){return n?{onClick:function(n){t&&t();var a=e?e(n):null;if(a)return r.Q.C$.trigger(a)}}:{getAppLink:function(t){return e?e(t):null},onClick:t}}}},16035:(e,t,n)=>{n.d(t,{z:()=>c});var r=n(32735),a=n(36848),i=n(44829),o=n(91807);function c(e){var t,n,c=e.tag,l=e.appLink,u=e.onClick,s=e.disabled,d=e.tagClass,m=void 0===d?"tag":d,f=c.name.toLowerCase(),p=null===(t=c.tagType)||void 0===t?void 0:t.toLowerCase(),v=p===i.Q.Normal&&e.themeColours&&!!(null===(n=e.themeColours)||void 0===n?void 0:n.secondary),h="rounded-pill py-1 px-2 my-1 me-1 ".concat(m," ").concat(function(e,t){switch(e){case i.Q.Pedagogy:case i.Q.Skill:return"pedagogy-tag text-white";case i.Q.Hidden:return"hidden-tag fw-normal";case i.Q.Normal:return t?"":"bg-gray-100 fw-normal";default:return""}}(p,v));v&&(h+=" text-white"),!l&&!u||s||(h+=" cursor-pointer"),s&&(h+=" "+o.Z.disabled),e.onRemove&&(h+=" "+o.Z.badge),l||(h+=" d-inline-block");var g=v?{backgroundColor:e.themeColours.secondary}:{};return l?r.createElement(a.F,{onClick:u,appLink:l,className:h,title:f,style:g},r.createElement("span",{className:"text-truncate text-nowrap"},f)):r.createElement("span",{onClick:u,className:h,title:f,style:g},r.createElement("span",{className:"text-truncate text-nowrap"},f,e.onRemove&&r.createElement("button",{onClick:e.onRemove,className:"".concat(o.Z.close," btn-close font-size-normal"),role:"button","aria-label":"Close"})))}},91743:(e,t,n)=>{n.d(t,{P:()=>u});var r=n(32735),a=n(16035),i=n(44829),o=n(91807);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function l(e){var t;switch(null===(t=e.tagType)||void 0===t?void 0:t.toLowerCase()){case i.Q.Pedagogy:return 0;case i.Q.Skill:return 1;default:return 2}}function u(e){if(!e.tags)return r.createElement(r.Fragment,null);var t,n=(t=e.tags,function(e){if(Array.isArray(e))return c(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort((function(e,t){return l(e)-l(t)}));return r.createElement("div",{className:"".concat(o.Z.tagList," ").concat(e.className)},n.map((function(t){var n="function"==typeof e.getAppLink?e.getAppLink(t):null,i="function"==typeof e.onRemove?function(){return e.onRemove(t)}:null,o="function"==typeof e.onClick?function(){return e.onClick(t)}:null;return r.createElement(a.z,{key:t.id||t.name,tag:t,appLink:n,themeColours:e.themeColours,onRemove:i,onClick:o})})))}},88513:(e,t,n)=>{n.d(t,{B:()=>s});var r=n(32735),a=n(23481),i=n(65858),o=n(36848);const c={seeMore:"yv0FS"};var l=a.T.encloseNamespace("shared.widgetHeader");function u(e){return r.createElement("div",{className:"ms-3 ".concat(c.seeMore)},r.createElement(o.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:i._S.SeeMore}),className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":"")},r.createElement("p",{className:"hover-text-underline text-dark curated-widget-heading"},l("seeMore"))))}function s(e){var t=!!e.description;return e.name||e.description?r.createElement("div",{className:"curated-widget-header"},r.createElement("div",{className:"d-flex justify-content-between"},!!e.name&&r.createElement("div",{className:c.title},r.createElement(o.F,{appLink:e.appLink,analyticsOptions:e.analyticsOptions,analyticsData:e.analyticsData,className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":""),onClick:e.onClick},r.createElement("h2",{className:"h4 curated-widget-heading"},e.name))),!!e.appLink&&!t&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e))),t&&r.createElement("div",{className:"d-flex justify-content-between align-items-end"},r.createElement("p",{className:"description curated-widget-description ".concat(c.description)},r.createElement("span",null,e.description)),!!e.appLink&&!!e.showSeeMoreLink&&r.createElement(u,Object.assign({},e)))):r.createElement(r.Fragment,null)}},65163:(e,t,n)=>{n.d(t,{QL:()=>r.Q,eb:()=>r.e});var r=n(16450);n(14244)},43872:(e,t,n)=>{n.d(t,{V:()=>s});var r=n(32735),a=n(82182),i=n(31069),o=n(91967),c=new Image;c.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=";var l=function(e){e.dataTransfer.setDragImage&&o.q.isFunction(e.dataTransfer.setDragImage)&&e.dataTransfer.setDragImage(c,0,0)},u=a.V.isTouchScreen(),s=r.forwardRef((function(e,t){var n,a,o,c,s=e.children,d=e.positionType,m=e.onDrag,f=e.onDragEnd,p=e.onTouchMove,v=e.onTouchEnd,h=e.percentageDragged,g=e.position,y=void 0===g?0:g;return r.createElement("div",Object.assign({className:"d-flex flex-nowrap position-relative w-100",style:(a=y,o=d,c=h,o===i.C.Percentage&&c&&(a-=c),{transform:"translate3d(".concat(a).concat(o,", 0px, 0px)"),transition:"transform .4s ease-in-out"}),ref:t},(n={},m&&f&&(n.draggable=!0,n.onDragEnd=f,n.onDragStart=l,n.onDragOver=m),p&&v&&u&&(n.onTouchMoveCapture=p,n.onTouchEndCapture=v),n)),s)}))},16930:(e,t,n)=>{n.d(t,{W:()=>u,f:()=>l});var r=n(32735),a=n(83914),i=n(35223);const o="VSAPU",c="kgeXh";var l;!function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(l||(l={}));var u=r.memo((function(e){var t,n,u,s=e.direction===l.Left,d=s?i.vn.ChevronLeft:i.vn.ChevronRight;return e.hide?r.createElement(r.Fragment,null):r.createElement("div",{className:"_ejId",style:"videos"===(null===(n=e.state)||void 0===n?void 0:n.contents)?{paddingBottom:56.25/(null===(u=e.state)||void 0===u?void 0:u.viewableItems)+"%"}:{height:"100%"}},e.useGradientBackdrop&&r.createElement("div",{className:s?"".concat("Pt3nx"," ").concat(e.leftGradientClassName):"".concat("ZuAif"," ").concat(e.rightGradientClassName)}),!e.hideExtendedClickableArea&&r.createElement("div",{role:"button",onClick:e.onClick,className:"".concat("AtsWP"," ").concat(s?o:c)}),r.createElement("div",{role:"button",className:"".concat((t="BVcIS",t+=s?" ".concat(o," ").concat(e.leftButtonClassName):" ".concat(c," ").concat(e.rightButtonClassName))," ").concat("gAsE9"," ").concat(e.className||""),onClick:e.onClick},e.hoverText&&r.createElement("span",{className:"ps-3 pe-2 ".concat("APA36")},e.hoverText),r.createElement(a.x,{svgName:d,size:a.S.Medium,className:"svg-container d-inline-block ".concat("Ev4hr")})))}))},31069:(e,t,n)=>{var r;n.d(t,{C:()=>r}),function(e){e.Percentage="%",e.Pixels="px"}(r||(r={}))},85597:(e,t,n)=>{var r;n.d(t,{k:()=>r}),function(e){e.Subject="CurriculumSubject",e.Audience="CurriculumAudience",e.Area="CurriculumArea",e.Leaf="CurriculumLeaf"}(r||(r={}))},44829:(e,t,n)=>{var r,a;n.d(t,{Q:()=>r}),function(e){e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.Pedagogy=1]="Pedagogy",e[e.Hidden=2]="Hidden",e[e.Skill=3]="Skill",e[e.Curation=4]="Curation"}(a||(a={}))},10841:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e.Init="init",e.Next="next",e.Previous="previous",e.Resize="resize",e.Drag="drag",e.Update="update",e.JumpToIndex="jump-to-index"}(r||(r={}))},81514:(e,t,n)=>{n.d(t,{V:()=>i});var r=n(86764),a=n(3747);function i(){var e=(0,a.a)(r.r.XS),t=(0,a.a)(r.r.SM),n=(0,a.a)(r.r.MD),i=(0,a.a)(r.r.LG),o=(0,a.a)(r.r.XL),c=(0,a.a)(r.r.XXL),l=r.r.LG;return e&&(l=r.r.XS),t&&(l=r.r.SM),n&&(l=r.r.MD),i&&(l=r.r.LG),o&&(l=r.r.XL),c&&(l=r.r.XXL),l}},35014:(e,t,n)=>{n.d(t,{I:()=>l});var r=n(16714),a=n(12754),i=n(22902),o=n(15311),c=n(11387);function l(){var e=(0,i.T)(),t=e.hasPermissions,n=e.hasLocalPermissions,l=(0,(0,o.r)().hasProduct)(a.x.Primary);return{canViewGlance:t(r.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:l&&t(r.C.ViewVideoInteractives),canViewClips:l&&t(r.C.ViewVideoClips),canViewCurriculumLinks:t(r.C.ViewCurriculums),canUseActions:n(r.E.UseVideoActions),canViewPublicLayout:!n(r.E.WatchVideos)&&c.C.hasRegionPrefix(),canViewResourceItems:n(r.E.ViewVideoResourceItems),canNavigate:l}}},44005:(e,t,n)=>{n.r(t),n.d(t,{VideoGuidanceClassroomGuideView:()=>D});var r=n(32735),a=n(81886),i=n(20354),o=n(28400),c=n(49985),l=n(65858),u=n(42648),s=n(23481),d=n(75896),m=n(44599),f=n(34223),p=n(22283),v=n(64921),h=n(9111),g=n(13876),y=n(83345),b=n(69883);function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function k(){k=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var i=t&&t.prototype instanceof g?t:g,o=Object.create(i.prototype),c=new j(r||[]);return a(o,"_invoke",{value:A(e,n,c)}),o}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var m="suspendedStart",f="suspendedYield",p="executing",v="completed",h={};function g(){}function y(){}function b(){}var w={};u(w,o,(function(){return this}));var C=Object.getPrototypeOf,L=C&&C(C(T([])));L&&L!==n&&r.call(L,o)&&(w=L);var S=b.prototype=g.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function N(e,t){function n(a,i,o,c){var l=d(e[a],e,i);if("throw"!==l.type){var u=l.arg,s=u.value;return s&&"object"==E(s)&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(s).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,c)}))}c(l.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function A(t,n,r){var a=m;return function(i,o){if(a===p)throw Error("Generator is already running");if(a===v){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var c=r.delegate;if(c){var l=P(c,r);if(l){if(l===h)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===m)throw a=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=p;var u=d(t,n,r);if("normal"===u.type){if(a=r.done?v:f,u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(a=v,r.method="throw",r.arg=u.arg)}}}function P(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,P(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,h;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function T(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(E(t)+" is not iterable")}return y.prototype=b,a(S,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=u(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,l,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(N.prototype),u(N.prototype,c,(function(){return this})),t.AsyncIterator=N,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new N(s(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),u(S,l,"Generator"),u(S,o,(function(){return this})),u(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=T,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],c=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var l=r.call(o,"catchLoc"),u=r.call(o,"finallyLoc");if(l&&u){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;I(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var C=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}l((r=r.apply(e,t||[])).next())}))},L=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n},S="shared.videoGuidanceClassroomGuidePopup",x=350;function N(e){var t,n,i,o,E,N,A,P=(N=r.useState(),A=2,function(e){if(Array.isArray(e))return e}(N)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return c}}(N,A)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(N,A)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),O=P[0],I=P[1],j=(0,b.Z)();r.useEffect((function(){if(!e.isLoading&&e.curriculums&&!O){var t=e.curriculums.activeCurriculum?e.curriculums.activeCurriculum:d.m.first(e.curriculums.availableCurriculums);I(t)}}),[e.isLoading,null===(n=null===(t=e.curriculums)||void 0===t?void 0:t.activeCurriculum)||void 0===n?void 0:n.id]);var T=e.canViewCurriculumLinks&&(null===(i=e.curriculums)||void 0===i?void 0:i.customerHasCurriculumLinks);return r.createElement(h.G,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:s.T.getPhrase(S,"classroomGuide"),size:"lg"},!e.isLoading&&r.createElement(r.Fragment,null,r.createElement(u.ZP,{autoHeightMax:x,autoHeightMin:x,autoHeight:!0,className:"pb-3",renderThumbVertical:function(e){var t=e.style,n=L(e,["style"]);return r.createElement("div",Object.assign({},n,{style:Object.assign(Object.assign({},t),{borderRadius:"inherit",backgroundColor:"rgba(0, 0, 0, 0.2)",zIndex:5}),className:"thumb-vertical"}))}},r.createElement("div",{className:T?"mb-4":""},r.createElement(v.j,{video:e.video,pointsOfInterest:e.pointsOfInterest,setStartTime:function(t){a.Q.C$.trigger(e.getVideoAppLink(e.video,{t})),e.closePopup()},getTagAppLink:e.getTagAppLink,suppressInteractivity:e.canViewPublicLayout,onClickTag:e.closePopup,canViewGlance:e.canViewGlance,hideScrollbar:!0})),T&&r.createElement(r.Fragment,null,r.createElement("h2",{className:"h6"},r.createElement(y.x,{namespace:S,phrase:"curriculumLinks"})),r.createElement("div",{className:"mb-2"},r.createElement(p.P,{curriculums:e.curriculums,selectedCurriculum:O,onChangeCurriculum:function(t){var n,r,a;return C(this,void 0,void 0,k().mark((function i(){var o;return k().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(null==(o=e.curriculums.availableCurriculums.find((function(e){return e.id.toString()===t})))?void 0:o.id){i.next=3;break}return i.abrupt("return",!1);case 3:if((null===(r=null===(n=e.curriculums.activeCurriculum)||void 0===n?void 0:n.id)||void 0===r?void 0:r.toString())!==(null===(a=null==o?void 0:o.id)||void 0===a?void 0:a.toString())){i.next=5;break}return i.abrupt("return",!1);case 5:return I(o),i.prev=6,i.next=9,e.curriculums.updateCurriculum(o);case 9:c.k.logUserAction({id:o.id,name:o.id,description:o.description,videoId:e.video.id,videoName:e.video.name},{entity:l.py.Presentation,actionType:l.Vw.Select,descriptor:l.kD.Curriculum,location:l.LZ.ClassroomGuidancePopup}),i.next=16;break;case 12:i.prev=12,i.t0=i.catch(6),I(O),j.error(s.T.getPhrase(S,"updateCurriculumFailed"));case 16:case"end":return i.stop()}}),i,null,[[6,12]])})))},noNegativePadding:!0})),(null===(o=e.curriculums)||void 0===o?void 0:o.hasLoaded)?r.createElement(f.Y,{curriculumLinks:null===(E=e.curriculums)||void 0===E?void 0:E.curriculumLinks,emptyStateUrl:e.curriculumLinksEmptyStateUrl}):r.createElement(m.Z,null))),r.createElement(g.u,null,r.createElement(g.u.Cancel,{onClick:e.onClickClose,text:s.T.getPhrase(S,"close")}),r.createElement(g.u.Submit,{text:s.T.getPhrase(S,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo}))))}var A=n(4594),P=n(43012),O=n(1575),I=n(31908),j=n(99742),T=n(14070),V=n(97291),M=n(82817),G=n(49948),_=n(35014),R=n(22490);function D(e){var t=i.a.useBasicFetch(e.type===A.E.Video?O.R.video(e.id):P.e.clip(e.id)),n=(0,G.l)(e.id,!0),u=(0,M.M)(e.id,!0),s=(0,_.I)();return r.createElement(N,{isLoading:!t.hasCompleted||!n.hasCompleted,video:t.data,pointsOfInterest:n.items,curriculums:u,onClickClose:function(){c.k.logUserAction({id:t.data.id,name:t.data.name},{entity:I.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.ClassroomGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.Close}),e.closePopup()},onClickViewVideo:function(){if(c.k.logUserAction({id:t.data.id,name:t.data.name},{entity:I.M.isVideo(t.data)?l.py.Video:l.py.Clip,location:l.LZ.ClassroomGuidancePopup,actionType:l.Vw.Click,descriptor:l.od.ViewVideo}),I.M.isVideo(t.data))return a.Q.C$.trigger({application:V.O.VIDEOS,action:T.e.Videos.PLAY_VIDEO,args:[t.data.id,o.m.slugify(t.data.name)]}),void e.closePopup();a.Q.C$.trigger({application:V.O.CLIPS,action:T.e.Clips.PLAY_CLIP,args:[t.data.id,o.m.slugify(t.data.name)]}),e.closePopup()},curriculumLinksEmptyStateUrl:j.W.EmptyStates.CURRICULUM_LINKS,getVideoAppLink:R.W.getAppLink,getTagAppLink:function(e){return{application:V.O.SEARCH,action:T.e.Search.HOME,params:{tagOrClassification:e.name}}},canViewCurriculumLinks:s.canViewCurriculumLinks,canViewPublicLayout:s.canViewPublicLayout,canViewGlance:s.canViewGlance,closePopup:e.closePopup})}},22161:(e,t,n)=>{n.d(t,{Z:()=>r});const r={curriculumSubject:"GvGYH",curriculumSet:"d7RK0",areaLeafSet:"XRTAe",closeButton:"N3l5Q",heading:"hAxR4",leafDescriptionOnly:"h66ke",dropdown:"CsG6G",tag:"rdLqY",cover:"etwaD",active:"aDLMe",selected:"BMrSd"}},63847:(e,t,n)=>{n.d(t,{Z:()=>r});const r={learningIntention:"MHM6O",highlightPoi:"U7Q6x"}},91807:(e,t,n)=>{n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}}}]);
|
|
3
|
+
//# sourceMappingURL=9620-d0f04eeccd-lite.chunk.js.map
|