@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.
Files changed (201) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{1313-lite-b05099b818.chunk.css → 1313-lite-6b1a20b3fe.chunk.css} +1 -1
  3. package/dist/css/{1402-lite-9489903efd.chunk.css → 1402-lite-8a07733b96.chunk.css} +1 -1
  4. package/dist/css/{3588-lite-f083d46330.chunk.css → 1407-lite-be6668ef3a.chunk.css} +1 -1
  5. package/dist/css/{5725-lite-789978250c.chunk.css → 1539-lite-a5772fefdb.chunk.css} +1 -1
  6. package/dist/css/{5769-lite-16efb24b77.chunk.css → 1567-lite-2ab4d6f863.chunk.css} +1 -1
  7. package/dist/css/{1602-lite-90df7cca5c.chunk.css → 1602-lite-8fb6cea449.chunk.css} +1 -1
  8. package/dist/css/{1820-lite-ebb89eab7a.chunk.css → 1820-lite-8008c78ef7.chunk.css} +1 -1
  9. package/dist/css/{9818-lite-dca6b9e86d.chunk.css → 1850-lite-e9e8c03964.chunk.css} +1 -1
  10. package/dist/css/{2120-lite-dd1595051d.chunk.css → 2120-lite-b1876117b4.chunk.css} +1 -1
  11. package/dist/css/{2137-lite-7045732fc8.chunk.css → 2137-lite-6e9d11bd5b.chunk.css} +1 -1
  12. package/dist/css/{2446-lite-6b11bdfdc1.chunk.css → 2446-lite-dfc41ecbea.chunk.css} +1 -1
  13. package/dist/css/{9211-lite-f00eb0266e.chunk.css → 2507-lite-9516182bdb.chunk.css} +1 -1
  14. package/dist/css/{2724-lite-24da60896e.chunk.css → 2724-lite-669b5b8120.chunk.css} +1 -1
  15. package/dist/css/{2795-lite-1641e6fbf9.chunk.css → 2795-lite-34f8ca5018.chunk.css} +1 -1
  16. package/dist/css/{3070-lite-c0909f46f3.chunk.css → 3070-lite-6af4bd0c76.chunk.css} +1 -1
  17. package/dist/css/{3397-lite-dfab7385b6.chunk.css → 3397-lite-5b25e3a686.chunk.css} +1 -1
  18. package/dist/css/{3403-lite-4b92798a0c.chunk.css → 3403-lite-89bcc16133.chunk.css} +1 -1
  19. package/dist/css/{458-lite-c8a3139b8b.chunk.css → 3515-lite-10695a1950.chunk.css} +2 -2
  20. package/dist/css/{1407-lite-f083d46330.chunk.css → 3588-lite-be6668ef3a.chunk.css} +1 -1
  21. package/dist/css/{3895-lite-b05099b818.chunk.css → 3895-lite-6b1a20b3fe.chunk.css} +1 -1
  22. package/dist/css/{4151-lite-fcc0fc8753.chunk.css → 4151-lite-9cbe9bba57.chunk.css} +1 -1
  23. package/dist/css/{3515-lite-c8a3139b8b.chunk.css → 458-lite-10695a1950.chunk.css} +2 -2
  24. package/dist/css/{5114-lite-38330c6187.chunk.css → 5114-lite-06a1ac179b.chunk.css} +1 -1
  25. package/dist/css/{5242-lite-58cdcd1ec4.chunk.css → 5242-lite-30642a9642.chunk.css} +2 -2
  26. package/dist/css/{5364-lite-93bfe767eb.chunk.css → 5364-lite-e8c416fe79.chunk.css} +1 -1
  27. package/dist/css/{5446-lite-ae2395342f.chunk.css → 5446-lite-2e956685f4.chunk.css} +1 -1
  28. package/dist/css/{1539-lite-789978250c.chunk.css → 5725-lite-a5772fefdb.chunk.css} +1 -1
  29. package/dist/css/{6759-lite-16efb24b77.chunk.css → 5769-lite-2ab4d6f863.chunk.css} +1 -1
  30. package/dist/css/{5803-lite-d1315afce2.chunk.css → 5803-lite-625e484692.chunk.css} +1 -1
  31. package/dist/css/{5810-lite-ba174cfe3d.chunk.css → 5810-lite-1224500e4d.chunk.css} +1 -1
  32. package/dist/css/{6181-lite-7558375a74.chunk.css → 6181-lite-ca9f6aeba1.chunk.css} +1 -1
  33. package/dist/css/{6189-lite-4c33c1b5c4.chunk.css → 6189-lite-20e4d47423.chunk.css} +1 -1
  34. package/dist/css/{6309-lite-a23dc59ecd.chunk.css → 6309-lite-bd0968a2c8.chunk.css} +1 -1
  35. package/dist/css/{6531-lite-9431296610.chunk.css → 6531-lite-1f6f3c392c.chunk.css} +1 -1
  36. package/dist/css/{1567-lite-16efb24b77.chunk.css → 6759-lite-2ab4d6f863.chunk.css} +1 -1
  37. package/dist/css/{6803-lite-16efb24b77.chunk.css → 6803-lite-2ab4d6f863.chunk.css} +1 -1
  38. package/dist/css/{6850-lite-769c93cb9e.chunk.css → 6850-lite-0bf8514497.chunk.css} +3 -3
  39. package/dist/css/{7533-lite-d0ae59ec54.chunk.css → 7533-lite-206fce5dbd.chunk.css} +1 -1
  40. package/dist/css/{7777-lite-8067dea624.chunk.css → 7777-lite-48d916f95c.chunk.css} +1 -1
  41. package/dist/css/{7987-lite-94679244a2.chunk.css → 7987-lite-fd431fbaf2.chunk.css} +1 -1
  42. package/dist/css/{8218-lite-fe8c54917b.chunk.css → 8218-lite-f54139cf27.chunk.css} +1 -1
  43. package/dist/css/{8316-lite-9083a6565c.chunk.css → 8316-lite-6036f465f0.chunk.css} +1 -1
  44. package/dist/css/{8354-lite-bc431d9d01.chunk.css → 8354-lite-8228cb401d.chunk.css} +1 -1
  45. package/dist/css/{8987-lite-95b3d79328.chunk.css → 8987-lite-6cd15b48d2.chunk.css} +1 -1
  46. package/dist/css/{9068-lite-c0341005e4.chunk.css → 9068-lite-c3a9ace963.chunk.css} +1 -1
  47. package/dist/css/{2507-lite-f00eb0266e.chunk.css → 9211-lite-9516182bdb.chunk.css} +1 -1
  48. package/dist/css/{9329-lite-a259b19412.chunk.css → 9329-lite-5f15379e31.chunk.css} +1 -1
  49. package/dist/css/{9417-lite-9083a6565c.chunk.css → 9417-lite-6036f465f0.chunk.css} +1 -1
  50. package/dist/css/{9620-lite-d77e9ad59b.chunk.css → 9620-lite-111c825071.chunk.css} +1 -1
  51. package/dist/css/{1850-lite-dca6b9e86d.chunk.css → 9818-lite-e9e8c03964.chunk.css} +1 -1
  52. package/dist/css/{lite-app-28b7b96628.css → lite-app-212404ee3a.css} +1 -1
  53. package/dist/scripts/1169-5a0d974a94-lite.chunk.js +2 -0
  54. package/dist/scripts/1169-5a0d974a94-lite.chunk.js.map +1 -0
  55. package/dist/scripts/{1313-455608bc46-lite.chunk.js → 1313-5a7170fb69-lite.chunk.js} +1 -1
  56. package/dist/scripts/{1313-455608bc46-lite.chunk.js.map → 1313-5a7170fb69-lite.chunk.js.map} +1 -1
  57. package/dist/scripts/{1402-d40dc88741-lite.chunk.js → 1402-39cb29d725-lite.chunk.js} +1 -1
  58. package/dist/scripts/{1402-d40dc88741-lite.chunk.js.map → 1402-39cb29d725-lite.chunk.js.map} +1 -1
  59. package/dist/scripts/{1407-3592ec24f2-lite.chunk.js → 1407-3bab3f00f6-lite.chunk.js} +1 -1
  60. package/dist/scripts/{1407-3592ec24f2-lite.chunk.js.map → 1407-3bab3f00f6-lite.chunk.js.map} +1 -1
  61. package/dist/scripts/{1567-edcff759b1-lite.chunk.js → 1567-b3141bc14f-lite.chunk.js} +1 -1
  62. package/dist/scripts/{1567-edcff759b1-lite.chunk.js.map → 1567-b3141bc14f-lite.chunk.js.map} +1 -1
  63. package/dist/scripts/{1602-173a4f272a-lite.chunk.js → 1602-dfe6928d65-lite.chunk.js} +1 -1
  64. package/dist/scripts/{1602-173a4f272a-lite.chunk.js.map → 1602-dfe6928d65-lite.chunk.js.map} +1 -1
  65. package/dist/scripts/{1820-68114ca994-lite.chunk.js → 1820-9a1f618969-lite.chunk.js} +2 -2
  66. package/dist/scripts/1820-9a1f618969-lite.chunk.js.map +1 -0
  67. package/dist/scripts/{2120-88f6dd6652-lite.chunk.js → 2120-82a7b90997-lite.chunk.js} +1 -1
  68. package/dist/scripts/{2120-88f6dd6652-lite.chunk.js.map → 2120-82a7b90997-lite.chunk.js.map} +1 -1
  69. package/dist/scripts/{2137-093f479ff9-lite.chunk.js → 2137-2e78e535ad-lite.chunk.js} +1 -1
  70. package/dist/scripts/{2137-093f479ff9-lite.chunk.js.map → 2137-2e78e535ad-lite.chunk.js.map} +1 -1
  71. package/dist/scripts/{2446-acc94130ed-lite.chunk.js → 2446-eaa1d2ee7d-lite.chunk.js} +2 -2
  72. package/dist/scripts/{2446-acc94130ed-lite.chunk.js.map → 2446-eaa1d2ee7d-lite.chunk.js.map} +1 -1
  73. package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js → 2507-fc744cab62-lite.chunk.js} +1 -1
  74. package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js.map → 2507-fc744cab62-lite.chunk.js.map} +1 -1
  75. package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js → 2724-060fdde41c-lite.chunk.js} +1 -1
  76. package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js.map → 2724-060fdde41c-lite.chunk.js.map} +1 -1
  77. package/dist/scripts/{2795-0616748349-lite.chunk.js → 2795-eb3a51adc2-lite.chunk.js} +1 -1
  78. package/dist/scripts/{2795-0616748349-lite.chunk.js.map → 2795-eb3a51adc2-lite.chunk.js.map} +1 -1
  79. package/dist/scripts/3070-63e0a6b63e-lite.chunk.js +2 -0
  80. package/dist/scripts/3070-63e0a6b63e-lite.chunk.js.map +1 -0
  81. package/dist/scripts/{3397-bb32e2287f-lite.chunk.js → 3397-cd6acb96c4-lite.chunk.js} +1 -1
  82. package/dist/scripts/{3397-bb32e2287f-lite.chunk.js.map → 3397-cd6acb96c4-lite.chunk.js.map} +1 -1
  83. package/dist/scripts/{3403-12c460d3f6-lite.chunk.js → 3403-d42b7125ae-lite.chunk.js} +1 -1
  84. package/dist/scripts/{3403-12c460d3f6-lite.chunk.js.map → 3403-d42b7125ae-lite.chunk.js.map} +1 -1
  85. package/dist/scripts/{3515-4de2fd7070-lite.chunk.js → 3515-72a31e0bbd-lite.chunk.js} +1 -1
  86. package/dist/scripts/{3515-4de2fd7070-lite.chunk.js.map → 3515-72a31e0bbd-lite.chunk.js.map} +1 -1
  87. package/dist/scripts/{3588-62e61bc526-lite.chunk.js → 3588-1c1c264291-lite.chunk.js} +2 -2
  88. package/dist/scripts/{3588-62e61bc526-lite.chunk.js.map → 3588-1c1c264291-lite.chunk.js.map} +1 -1
  89. package/dist/scripts/{3895-a54621a8c4-lite.chunk.js → 3895-cbeb003a0a-lite.chunk.js} +1 -1
  90. package/dist/scripts/{3895-a54621a8c4-lite.chunk.js.map → 3895-cbeb003a0a-lite.chunk.js.map} +1 -1
  91. package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js → 4151-bb1e8aafcb-lite.chunk.js} +1 -1
  92. package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js.map → 4151-bb1e8aafcb-lite.chunk.js.map} +1 -1
  93. package/dist/scripts/{458-35c635a2ce-lite.chunk.js → 458-1ca8abf829-lite.chunk.js} +1 -1
  94. package/dist/scripts/{458-35c635a2ce-lite.chunk.js.map → 458-1ca8abf829-lite.chunk.js.map} +1 -1
  95. package/dist/scripts/4718-b3cfb276a7-lite.chunk.js +2 -0
  96. package/dist/scripts/4718-b3cfb276a7-lite.chunk.js.map +1 -0
  97. package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js → 5114-15c4180b16-lite.chunk.js} +1 -1
  98. package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js.map → 5114-15c4180b16-lite.chunk.js.map} +1 -1
  99. package/dist/scripts/{5242-2d752ff85e-lite.chunk.js → 5242-e5cc8311eb-lite.chunk.js} +1 -1
  100. package/dist/scripts/{5242-2d752ff85e-lite.chunk.js.map → 5242-e5cc8311eb-lite.chunk.js.map} +1 -1
  101. package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js → 5364-fe4a00711f-lite.chunk.js} +1 -1
  102. package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js.map → 5364-fe4a00711f-lite.chunk.js.map} +1 -1
  103. package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js → 5446-5a2f719a6f-lite.chunk.js} +1 -1
  104. package/dist/scripts/{5446-1ef1639ef6-lite.chunk.js.map → 5446-5a2f719a6f-lite.chunk.js.map} +1 -1
  105. package/dist/scripts/{5725-6792ca3e92-lite.chunk.js → 5725-1592727a8f-lite.chunk.js} +1 -1
  106. package/dist/scripts/{5725-6792ca3e92-lite.chunk.js.map → 5725-1592727a8f-lite.chunk.js.map} +1 -1
  107. package/dist/scripts/{5769-34ad224f5f-lite.chunk.js → 5769-e9f596e2b2-lite.chunk.js} +1 -1
  108. package/dist/scripts/{5769-34ad224f5f-lite.chunk.js.map → 5769-e9f596e2b2-lite.chunk.js.map} +1 -1
  109. package/dist/scripts/{5803-0005a9eb66-lite.chunk.js → 5803-7db6af5411-lite.chunk.js} +1 -1
  110. package/dist/scripts/{5803-0005a9eb66-lite.chunk.js.map → 5803-7db6af5411-lite.chunk.js.map} +1 -1
  111. package/dist/scripts/{5810-a652483b8e-lite.chunk.js → 5810-c81d69aea8-lite.chunk.js} +2 -2
  112. package/dist/scripts/{5810-a652483b8e-lite.chunk.js.map → 5810-c81d69aea8-lite.chunk.js.map} +1 -1
  113. package/dist/scripts/{5940-511beff2ee-lite.chunk.js → 5940-5731abccf3-lite.chunk.js} +2 -2
  114. package/dist/scripts/5940-5731abccf3-lite.chunk.js.map +1 -0
  115. package/dist/scripts/{6102-f1851eca08-lite.chunk.js → 6102-38e3abf2fa-lite.chunk.js} +3 -3
  116. package/dist/scripts/{6102-f1851eca08-lite.chunk.js.map → 6102-38e3abf2fa-lite.chunk.js.map} +1 -1
  117. package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js → 6181-55d2689d74-lite.chunk.js} +1 -1
  118. package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js.map → 6181-55d2689d74-lite.chunk.js.map} +1 -1
  119. package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js → 6189-b45080fab7-lite.chunk.js} +1 -1
  120. package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js.map → 6189-b45080fab7-lite.chunk.js.map} +1 -1
  121. package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js +3 -0
  122. package/dist/scripts/6309-f5bb1c14dc-lite.chunk.js.map +1 -0
  123. package/dist/scripts/{6415-9d8b88c713-lite.chunk.js → 6415-5ac1a71471-lite.chunk.js} +1 -1
  124. package/dist/scripts/{6415-9d8b88c713-lite.chunk.js.map → 6415-5ac1a71471-lite.chunk.js.map} +1 -1
  125. package/dist/scripts/6450-2745feb746-lite.chunk.js +2 -0
  126. package/dist/scripts/6450-2745feb746-lite.chunk.js.map +1 -0
  127. package/dist/scripts/{6531-597262a181-lite.chunk.js → 6531-1325be9fb1-lite.chunk.js} +1 -1
  128. package/dist/scripts/{6531-597262a181-lite.chunk.js.map → 6531-1325be9fb1-lite.chunk.js.map} +1 -1
  129. package/dist/scripts/{6759-3f36472a49-lite.chunk.js → 6759-a7e1119553-lite.chunk.js} +1 -1
  130. package/dist/scripts/{6759-3f36472a49-lite.chunk.js.map → 6759-a7e1119553-lite.chunk.js.map} +1 -1
  131. package/dist/scripts/{6803-2275c83d96-lite.chunk.js → 6803-222bfeea55-lite.chunk.js} +1 -1
  132. package/dist/scripts/{6803-2275c83d96-lite.chunk.js.map → 6803-222bfeea55-lite.chunk.js.map} +1 -1
  133. package/dist/scripts/6850-393de993b8-lite.chunk.js +3 -0
  134. package/dist/scripts/6850-393de993b8-lite.chunk.js.map +1 -0
  135. package/dist/scripts/{6948-84a5f8d76f-lite.chunk.js → 6948-23ec6a6370-lite.chunk.js} +2 -2
  136. package/dist/scripts/6948-23ec6a6370-lite.chunk.js.map +1 -0
  137. package/dist/scripts/{7533-e079b2af18-lite.chunk.js → 7533-9edee544c6-lite.chunk.js} +1 -1
  138. package/dist/scripts/{7533-e079b2af18-lite.chunk.js.map → 7533-9edee544c6-lite.chunk.js.map} +1 -1
  139. package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js → 7777-1c3490134e-lite.chunk.js} +1 -1
  140. package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js.map → 7777-1c3490134e-lite.chunk.js.map} +1 -1
  141. package/dist/scripts/{7987-db0037709c-lite.chunk.js → 7987-ff7de6531f-lite.chunk.js} +1 -1
  142. package/dist/scripts/{7987-db0037709c-lite.chunk.js.map → 7987-ff7de6531f-lite.chunk.js.map} +1 -1
  143. package/dist/scripts/{8218-f3b81c7287-lite.chunk.js → 8218-088530bdf7-lite.chunk.js} +1 -1
  144. package/dist/scripts/{8218-f3b81c7287-lite.chunk.js.map → 8218-088530bdf7-lite.chunk.js.map} +1 -1
  145. package/dist/scripts/8316-ba6bae1f29-lite.chunk.js +2 -0
  146. package/dist/scripts/8316-ba6bae1f29-lite.chunk.js.map +1 -0
  147. package/dist/scripts/{8354-e30261b594-lite.chunk.js → 8354-d07c3bef5a-lite.chunk.js} +1 -1
  148. package/dist/scripts/{8354-e30261b594-lite.chunk.js.map → 8354-d07c3bef5a-lite.chunk.js.map} +1 -1
  149. package/dist/scripts/{8987-32190552fa-lite.chunk.js → 8987-c0c2790aab-lite.chunk.js} +1 -1
  150. package/dist/scripts/{8987-32190552fa-lite.chunk.js.map → 8987-c0c2790aab-lite.chunk.js.map} +1 -1
  151. package/dist/scripts/9016-0c078a39cb-lite.chunk.js +3 -0
  152. package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +1 -0
  153. package/dist/scripts/{9068-562c30f718-lite.chunk.js → 9068-554aa0d22b-lite.chunk.js} +1 -1
  154. package/dist/scripts/{9068-562c30f718-lite.chunk.js.map → 9068-554aa0d22b-lite.chunk.js.map} +1 -1
  155. package/dist/scripts/{9211-d4c7016679-lite.chunk.js → 9211-0381d3e715-lite.chunk.js} +1 -1
  156. package/dist/scripts/{9211-d4c7016679-lite.chunk.js.map → 9211-0381d3e715-lite.chunk.js.map} +1 -1
  157. package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js → 9329-798d826fc4-lite.chunk.js} +1 -1
  158. package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js.map → 9329-798d826fc4-lite.chunk.js.map} +1 -1
  159. package/dist/scripts/9417-aa8d198d40-lite.chunk.js +2 -0
  160. package/dist/scripts/9417-aa8d198d40-lite.chunk.js.map +1 -0
  161. package/dist/scripts/9620-d0f04eeccd-lite.chunk.js +3 -0
  162. package/dist/scripts/9620-d0f04eeccd-lite.chunk.js.map +1 -0
  163. package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js → 9818-a2fa140139-lite.chunk.js} +1 -1
  164. package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js.map → 9818-a2fa140139-lite.chunk.js.map} +1 -1
  165. package/dist/scripts/bundle-815f926b0f.min.js +3 -0
  166. package/dist/scripts/bundle-815f926b0f.min.js.map +1 -0
  167. package/package.json +1 -1
  168. package/dist/scripts/1169-3df974a8eb-lite.chunk.js +0 -2
  169. package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +0 -1
  170. package/dist/scripts/1820-68114ca994-lite.chunk.js.map +0 -1
  171. package/dist/scripts/3070-fb8eb47716-lite.chunk.js +0 -2
  172. package/dist/scripts/3070-fb8eb47716-lite.chunk.js.map +0 -1
  173. package/dist/scripts/4718-2b58aa560d-lite.chunk.js +0 -2
  174. package/dist/scripts/4718-2b58aa560d-lite.chunk.js.map +0 -1
  175. package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +0 -1
  176. package/dist/scripts/6309-dd3a8e7f21-lite.chunk.js +0 -3
  177. package/dist/scripts/6309-dd3a8e7f21-lite.chunk.js.map +0 -1
  178. package/dist/scripts/6450-6819d42c15-lite.chunk.js +0 -2
  179. package/dist/scripts/6450-6819d42c15-lite.chunk.js.map +0 -1
  180. package/dist/scripts/6850-8770bfeefb-lite.chunk.js +0 -3
  181. package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +0 -1
  182. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +0 -1
  183. package/dist/scripts/8316-dad1824a5f-lite.chunk.js +0 -2
  184. package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +0 -1
  185. package/dist/scripts/9016-c359251f82-lite.chunk.js +0 -3
  186. package/dist/scripts/9016-c359251f82-lite.chunk.js.map +0 -1
  187. package/dist/scripts/9417-70c6489c67-lite.chunk.js +0 -2
  188. package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +0 -1
  189. package/dist/scripts/9620-630f9e6344-lite.chunk.js +0 -3
  190. package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +0 -1
  191. package/dist/scripts/bundle-d20cb66d1a.min.js +0 -3
  192. package/dist/scripts/bundle-d20cb66d1a.min.js.map +0 -1
  193. /package/dist/scripts/{2446-acc94130ed-lite.chunk.js.LICENSE.txt → 2446-eaa1d2ee7d-lite.chunk.js.LICENSE.txt} +0 -0
  194. /package/dist/scripts/{3588-62e61bc526-lite.chunk.js.LICENSE.txt → 3588-1c1c264291-lite.chunk.js.LICENSE.txt} +0 -0
  195. /package/dist/scripts/{5810-a652483b8e-lite.chunk.js.LICENSE.txt → 5810-c81d69aea8-lite.chunk.js.LICENSE.txt} +0 -0
  196. /package/dist/scripts/{6102-f1851eca08-lite.chunk.js.LICENSE.txt → 6102-38e3abf2fa-lite.chunk.js.LICENSE.txt} +0 -0
  197. /package/dist/scripts/{6309-dd3a8e7f21-lite.chunk.js.LICENSE.txt → 6309-f5bb1c14dc-lite.chunk.js.LICENSE.txt} +0 -0
  198. /package/dist/scripts/{6850-8770bfeefb-lite.chunk.js.LICENSE.txt → 6850-393de993b8-lite.chunk.js.LICENSE.txt} +0 -0
  199. /package/dist/scripts/{9016-c359251f82-lite.chunk.js.LICENSE.txt → 9016-0c078a39cb-lite.chunk.js.LICENSE.txt} +0 -0
  200. /package/dist/scripts/{9620-630f9e6344-lite.chunk.js.LICENSE.txt → 9620-d0f04eeccd-lite.chunk.js.LICENSE.txt} +0 -0
  201. /package/dist/scripts/{bundle-d20cb66d1a.min.js.LICENSE.txt → bundle-815f926b0f.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5364],{49935:(e,t,a)=>{a.d(t,{Oo:()=>u,b2:()=>m});var n=a(32735),r=a(36848),i=a(86764),o=a(3747),l=a(5859),c=a(35223),s=a(83914),d=function(e){var t=e.breadcrumb,a=t.name,i=t.appLink,o=t.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?n.createElement("strong",null,a):n.createElement(r.F,{appLink:i},l&&n.createElement(s.x,{svgName:c.vn.ChevronLeft,size:s.S.Small}),n.createElement("span",{className:l?"ms-2":""},a)))},u=function(e){var t=e.breadcrumbs,a=(0,o.a)(i.r.XS),r=null==t?void 0:t.length;return!r||a&&r<2?n.createElement(n.Fragment,null):a?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(d,{breadcrumb:t[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(d,{key:t,breadcrumb:e})}))))},m=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,o.a)(i.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},17087:(e,t,a)=>{a.d(t,{T:()=>l});var n=a(20354),r=a(98064);function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function l(e){var t,a,o=e.folderId,l=e.firstItem,c=e.lastItem,s=e.getAppLink,d=n.a.useBasicFetch(r.D.folderParentTree(o));if(!(null===(a=null===(t=d.data)||void 0===t?void 0:t.children)||void 0===a?void 0:a.length))return[];for(var u=d.data.children.map((function(e){return{node:e,path:[e]}})),m=[],p=function(){var e=u.pop(),t=e.node,a=e.path;t.data.id.toString()===o.toString()&&(m=a.map((function(e){return{name:e.data.name,appLink:s(e)}}))),t.children&&u.push.apply(u,i(t.children.map((function(e){return{node:e,path:[].concat(i(a),[e])}}))))};u.length;)p();return l&&m.unshift(l),c&&m.push(c),m[m.length-1].active=!0,m}},5859:(e,t,a)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,{u:()=>i});var r={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign(Object.assign({},r),t);return(e=Array(a.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*a.maxWidth),a.minWidth),"px")}}))}}},29181:(e,t,a)=>{a.r(t),a.d(t,{MyVideosFolderView:()=>J});var n=a(32735),r=a(81886),i=a(20354),o=a(28400),l=a(65858),c=a(43500),s=a(83657),d=a(49935),u=a(73518),m=a(83834),p=a(65403),v=a(10874),f=a(37395),g=a(4201),h=a(83345),y=a(74696),E=a(30254),b=a(13231),k=a(51365),A=a(1666),S=a(98064),V=a(31949),I=a(299),L=a(91286),F=a(22902),M=a(37802),O=a(35223),w=a(35949),D=a(14070),N=a(97291),_=a(51855),C=a(27638),x=a(44110),B=a(10741),P=a(22490),T=a(98860),Y=a(12617),R=a(45967),G=a(23481),j=a(17087),W=G.T.encloseNamespace("myVideos.hooks"),H=a(65202),X=a(74796),U=a(82431),$=a(18097),Q=a(14305),Z=a(61970);const q={uploadingList:"BrRqF"};var z="default.myVideosFolders";function J(e){var t,a,G,J,K,ee,te=i.a.useGetFetch(),ae=(0,C.u)(l.LZ.VideoThumbnail),ne=ae.setFavourite,re=ae.canFavourite,ie=(0,x.i)(),oe=(0,R.q)().handleDragEnd,le=(0,g.of)().focusSearchBar,ce=(0,_.G)().isPlugin,se=i.a.useBasicFetch(S.D.folder(e.id)),de=(0,T.P)(e.id),ue=i.a.useBasicFetch(V.N.currentUser()),me=i.a.useBasicFetch((null===(t=ue.data)||void 0===t?void 0:t.isAuthenticated)&&A.h.yearGroups(ue.data.customerId)),pe=i.a.useBasicFetch((null===(a=ue.data)||void 0===a?void 0:a.isAuthenticated)&&V.N.workspace());(0,L.v)(se);var ve,fe=(ve=e.id,(0,j.T)({folderId:ve,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.data.id,o.m.slugify(e.data.name)]}},firstItem:{name:W("myVideos"),appLink:{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS}}})),ge=(0,X.f)(),he=(0,M.r)(null),ye=he.myVideosFolders,Ee=he.isLoadingSettings;n.useEffect((function(){Ee||ye||r.Q.C$.trigger({application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS},{replace:!0})}),[ye,Ee]);var be=(0,Z.y)(),ke=(0,Z.W)(null===(G=pe.data)||void 0===G?void 0:G.id,e.id),Ae=(0,F.T)().hasPermissions,Se=function(t,a){return Y.E.videos(e.id,t,a)},Ve=i.a.useBasicFetch(Se(e.cursor,e.typeFilter));(0,L.v)(Ve);var Ie=(0,H.J)({onRemove:function(e,t){return te(Se(e,t))},categoryId:+e.id}),Le=Ie.uploadingVideos,Fe=Ie.onClickAlternate,Me=Ie.onClickDelete,Oe=Ie.processingIds,we=null===(K=null===(J=Ve.data)||void 0===J?void 0:J.data)||void 0===K?void 0:K.filter((function(e){return!Oe[e.id]})),De=(0,I.X)(we);return se.data?n.createElement(k.M.Provider,{value:be},n.createElement("div",{className:"px-3"},n.createElement("div",{className:"d-flex justify-content-between align-items-start"},n.createElement("h1",{className:"h2 mb-0"},se.data.name),n.createElement("div",{className:"d-sm-flex d-none ms-2"},n.createElement(v.h,{svgName:O.vn.Search,appLink:{application:N.O.SEARCH,action:D.e.Search.HOME,params:{source:c.fi.MyVideos}},className:"btn btn-outline-dark me-2",onClick:le,analyticsData:{},analyticsOptions:{entity:l.py.SearchResults,location:l.LZ.MyVideos,actionType:l.Vw.Click,descriptor:l.Bk.MyVideos}},n.createElement(h.x,{namespace:z,phrase:"searchMyVideos"})),n.createElement(s.e,{actions:ge("page",se.data),actionsDropdownClassName:"btn btn-outline-dark"}))),n.createElement("div",{className:"mt-3"},n.createElement(d.Oo,{breadcrumbs:fe})),n.createElement("hr",null),!(null==de?void 0:de.hasCompleted)&&n.createElement(p.i,null),n.createElement(u.p,{handleDragEnd:oe,dragOverlayComponent:w.U,source:se.data},!!(null===(ee=null==de?void 0:de.items)||void 0===ee?void 0:ee.length)&&n.createElement("div",{className:"mx-n2"},n.createElement(m.$,{folders:de.items,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(e.name)]}},expandFolders:!1,getFolderActions:function(e){return ge("folder",e)},drag:!0,drop:!0})),n.createElement(E.X,{allowBulkAction:!0,allowFilter:!0,isVideosLoading:!Ve.data,checkboxHelper:De,getVideosBulkAction:ke,locationContext:l.LZ.MyVideos,typeFilter:e.typeFilter,getAppLink:function(){var t;return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(null===(t=se.data)||void 0===t?void 0:t.name)]}}}),!!(null==Le?void 0:Le.length)&&n.createElement("div",{className:"position-relative ".concat(q.uploadingList)},Le.map((function(e){return n.createElement($.X,{item:e,onClickAlternate:Fe,onClickDelete:Me,key:e.id,allowBulkAction:!0})}))),function(){var t,a,r,i;return Ve.data?(null===(a=null===(t=Ve.data)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)?n.createElement(n.Fragment,null,n.createElement(b.E4,{videos:we,yearGroups:me.data,getVideoAppLink:P.W.getAppLink,getSubTextAppLink:function(e){return U.j.getSeriesAppLink(e.series)},setFavourite:ne,canFavourite:re,presentationAudiences:ie.data,canRemovePrivateVideos:!0,allowBulkAction:!0,hasPermissions:Ae,getVideosBulkAction:ke,typeFilter:e.typeFilter,checkboxHelper:De,drag:!0,getPreviewQuestionsAppLink:function(e){return B.j.getPreviewQuestionsAppLink(e)},isPlugin:ce,getClassroomGuideAppLink:P.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:P.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:P.W.getResourceGuidanceAppLink}),!!(null===(i=null===(r=Ve.data)||void 0===r?void 0:r.pagination)||void 0===i?void 0:i.cursors)&&n.createElement(f.t,{appLink:{action:D.e.MyVideos.MY_VIDEOS_FOLDER,application:N.O.MY_VIDEOS,args:[e.id,o.m.slugify(se.data.name)],params:{cursor:e.cursor,previous:e.previous,type:e.typeFilter}},cursors:{next:Ve.data.pagination.cursors.next,previous:e.cursor},buttonVariant:"outline-dark",className:"py-2 float-end",scrollTop:!0,prevHack:!0})):n.createElement(Q.K,null):n.createElement(y.S,{allowBulkActions:!0})}()))):n.createElement(n.Fragment,null)}}}]);
2
- //# sourceMappingURL=5364-b081f5e1ca-lite.chunk.js.map
2
+ //# sourceMappingURL=5364-fe4a00711f-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5364-b081f5e1ca-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useGetFolderBreadCrumbs.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/my-videos-folders.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/MyVideosFolderView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(LibraryRequests.folderParentTree(folderId));\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetFolderBreadcrumbs(folderId: string): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ object.data.id, TextHelper.slugify(object.data.name) ]\n }),\n firstItem: {\n name: getPhrase('myVideos'),\n appLink: {\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }\n }\n });\n}","// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"BrRqF\"};","import React from 'react';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, Folder, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, CurrentUser, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useGetFolderBreadcrumbs } from 'apps/my-videos/hooks/useGetFolderBreadCrumbs';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport { MyVideosEmptyState } from '../my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from '../my-videos/MyVideosViewUtils';\n\nimport styles from './my-videos-folders.scss';\n\nconst namespace = 'default.myVideosFolders';\n\ninterface MyVideosFolderViewProps {\n id: string;\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosFolderView(props: MyVideosFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const audiences = usePresentationAudiences();\n const { handleDragEnd } = useDragDropMove();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.id));\n const subfolders = useFetchAllChildFolders(props.id);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n\n\n useHandleObjectError(folder);\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.id);\n const getFolderActions = useGetFolderActions();\n\n // TODO: Remove this redirect when we release my videos with folders.\n const { myVideosFolders, isLoadingSettings } = useSettings(null);\n React.useEffect(() => {\n if (isLoadingSettings || myVideosFolders)\n return;\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }, { replace: true });\n }, [ myVideosFolders, isLoadingSettings ]);\n\n const getVideoItemActions = useMyVideosViewActions();\n const getVideosBulkActions = useMyVideosViewBulkActions(workspace.data?.id, props.id);\n const { hasPermissions } = usePermissions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(props.id, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return fetch(getMyVideosRequest(cursor, typeFilter));\n };\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext, categoryId: +props.id });\n\n const omittedVideos = videos.data?.data?.filter(v => !processingIds[v.id]);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n application: AppChannels.MY_VIDEOS,\n args: [ props.id, TextHelper.slugify(folder.data.name) ],\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n\n if (!folder.data)\n return <></>;\n\n return (\n <VideoActionsContext.Provider value={getVideoItemActions}>\n <div className='px-3'>\n <div className='d-flex justify-content-between align-items-start'>\n <h1 className='h2 mb-0'>{folder.data.name}</h1>\n <div className='d-sm-flex d-none ms-2'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <ActionsComponent\n actions={getFolderActions('page', folder.data)}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n </div>\n <div className='mt-3'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n <hr />\n {!subfolders?.hasCompleted && <PartialFolderList />}\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={folder.data}\n >\n {!!subfolders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n isVideosLoading={!videos.data}\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosBulkActions}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ props.id, TextHelper.slugify(folder.data?.name) ]\n })}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!videos.data)\n return <PartialVideoList allowBulkActions />;\n\n if (!videos.data?.data?.length)\n return <MyVideosEmptyState />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n hasPermissions={hasPermissions}\n getVideosBulkAction={getVideosBulkActions}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n drag\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","data","children","searchStack","c","node","path","pop","id","toString","object","push","unshift","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","getPhrase","LanguageService","MyVideosFolderView","props","fetch","useLiteFavourites","u","setFavourite","canFavourite","audiences","usePresentationAudiences","handleDragEnd","useDragDropMove","focusSearchBar","isPlugin","usePluginHelper","folder","LibraryRequests","subfolders","currentUser","UserRequests","yearGroups","isAuthenticated","CustomerRequests","customerId","workspace","application","action","args","TextHelper","useSettings","myVideosFolders","isLoadingSettings","replace","getVideoItemActions","getVideosBulkActions","hasPermissions","usePermissions","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","videos","useUploadItems","onRemove","categoryId","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","filter","v","CheckboxHelper","useBulkCheckboxManager","VideoActionsContext","value","IconButton","params","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","Text","namespace","phrase","Actions","actions","actionsDropdownClassName","hasCompleted","PartialFolderList","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","items","FolderList","folders","f","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","isVideosLoading","checkboxHelper","getVideosBulkAction","locationContext","uploadingVideo","UploadingItem","item","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","previous","type","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5364-fe4a00711f-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useGetFolderBreadCrumbs.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/my-videos-folders.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/MyVideosFolderView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(LibraryRequests.folderParentTree(folderId));\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetFolderBreadcrumbs(folderId: string): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ object.data.id, TextHelper.slugify(object.data.name) ]\n }),\n firstItem: {\n name: getPhrase('myVideos'),\n appLink: {\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }\n }\n });\n}","// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"BrRqF\"};","import React from 'react';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, Folder, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, CurrentUser, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useGetFolderBreadcrumbs } from 'apps/my-videos/hooks/useGetFolderBreadCrumbs';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport { MyVideosEmptyState } from '../my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from '../my-videos/MyVideosViewUtils';\n\nimport styles from './my-videos-folders.scss';\n\nconst namespace = 'default.myVideosFolders';\n\ninterface MyVideosFolderViewProps {\n id: string;\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosFolderView(props: MyVideosFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const audiences = usePresentationAudiences();\n const { handleDragEnd } = useDragDropMove();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.id));\n const subfolders = useFetchAllChildFolders(props.id);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n\n\n useHandleObjectError(folder);\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.id);\n const getFolderActions = useGetFolderActions();\n\n // TODO: Remove this redirect when we release my videos with folders.\n const { myVideosFolders, isLoadingSettings } = useSettings(null);\n React.useEffect(() => {\n if (isLoadingSettings || myVideosFolders)\n return;\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }, { replace: true });\n }, [ myVideosFolders, isLoadingSettings ]);\n\n const getVideoItemActions = useMyVideosViewActions();\n const getVideosBulkActions = useMyVideosViewBulkActions(workspace.data?.id, props.id);\n const { hasPermissions } = usePermissions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(props.id, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return fetch(getMyVideosRequest(cursor, typeFilter));\n };\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext, categoryId: +props.id });\n\n const omittedVideos = videos.data?.data?.filter(v => !processingIds[v.id]);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n application: AppChannels.MY_VIDEOS,\n args: [ props.id, TextHelper.slugify(folder.data.name) ],\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n\n if (!folder.data)\n return <></>;\n\n return (\n <VideoActionsContext.Provider value={getVideoItemActions}>\n <div className='px-3'>\n <div className='d-flex justify-content-between align-items-start'>\n <h1 className='h2 mb-0'>{folder.data.name}</h1>\n <div className='d-sm-flex d-none ms-2'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <ActionsComponent\n actions={getFolderActions('page', folder.data)}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n </div>\n <div className='mt-3'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n <hr />\n {!subfolders?.hasCompleted && <PartialFolderList />}\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={folder.data}\n >\n {!!subfolders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n isVideosLoading={!videos.data}\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosBulkActions}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ props.id, TextHelper.slugify(folder.data?.name) ]\n })}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!videos.data)\n return <PartialVideoList allowBulkActions />;\n\n if (!videos.data?.data?.length)\n return <MyVideosEmptyState />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n hasPermissions={hasPermissions}\n getVideosBulkAction={getVideosBulkActions}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n drag\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","data","children","searchStack","c","node","path","pop","id","toString","object","push","unshift","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","getPhrase","LanguageService","MyVideosFolderView","props","fetch","useLiteFavourites","u","setFavourite","canFavourite","audiences","usePresentationAudiences","handleDragEnd","useDragDropMove","focusSearchBar","isPlugin","usePluginHelper","folder","LibraryRequests","subfolders","currentUser","UserRequests","yearGroups","isAuthenticated","CustomerRequests","customerId","workspace","application","action","args","TextHelper","useSettings","myVideosFolders","isLoadingSettings","replace","getVideoItemActions","getVideosBulkActions","hasPermissions","usePermissions","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","videos","useUploadItems","onRemove","categoryId","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","filter","v","CheckboxHelper","useBulkCheckboxManager","VideoActionsContext","value","IconButton","params","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","Text","namespace","phrase","Actions","actions","actionsDropdownClassName","hasCompleted","PartialFolderList","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","items","FolderList","folders","f","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","isVideosLoading","checkboxHelper","getVideosBulkAction","locationContext","uploadingVideo","UploadingItem","item","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","previous","type","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5446],{28694:(e,a,t)=>{t.r(a),t.d(a,{StudentManagerView:()=>G});var r=t(32735),s=t(70680),n=t(23481),c=t(20354),o=t(88822),u=t(46456),i=t(26055),l=t(43820),d=t(56138),p=t(39739),m=t(37395),y=t(99705),v=t(76881),g=t(39151),E=t(70145),h=t(44538),b=t(31949),f=t(69883),T=t(91286),k=t(79612),S=t(12778),A=t(99742),P=t(29613),N=t(48327),j=t(47288),R=t(51180),U=t(18087),w=t(23232),x=t(83345),C=t(35223),I=t(14070),M=t(97291),q="userManager.studentManagerEmptyState",B=v.Y.Learner;function L(){return r.createElement(x.D.Provider,{value:q},r.createElement(w.u,null,r.createElement(w.u.Image,{src:A.W.EmptyStates.UserManager.STUDENTS,size:"small"}),r.createElement(w.u.Heading,null,r.createElement(x.x,{phrase:"heading"})),r.createElement(w.u.Info,null,r.createElement(x.x,{phrase:"info"})),r.createElement("div",{className:"d-flex justify-content-center align-items-center"},r.createElement("div",{className:"px-1"},r.createElement(w.u.Cta,{text:n.T.getPhrase(q,"addNew"),icon:C.vn.Plus,appLink:{application:M.O.USER_MANAGER,action:I.e.UserManager.CREATE_USER,params:{userType:B}}})),r.createElement("div",{className:"px-1"},r.createElement(w.u.Cta,{text:n.T.getPhrase(q,"uploadAList"),icon:C.vn.Upload,appLink:{application:M.O.USER_MANAGER,action:I.e.UserManager.USER_UPLOAD_POPUP,params:{userType:B}}})))))}var _=n.T.encloseNamespace("userManager.studentManager"),F=v.Y.Learner;function G(e){var a,t,n,v,w,x,C,I;(0,k.M)({title:_("pageTitle")});var M=(0,U.Y)(F,e.queryParams),q=(0,s.I0)(),B=(0,f.Z)(),G=c.a.useBasicFetch(h.K.getRostering()),J=c.a.useBasicFetch(b.N.currentUser()),O=c.a.useBasicFetch(g.L.config()),V=c.a.useBasicFetch(J.data&&j.N.yearGroups(J.data.customerId)),Y=c.a.useBasicFetch(!!J.data&&P.q.getYearGroupRolloverStatus(J.data.customerId)),D=c.a.useBasicFetch(!!J.data&&j.N.getIdentityProviders(J.data.customerId)),H=c.a.useBasicFetch(E.h.userProducts()),W=(null===(a=G.data)||void 0===a?void 0:a.status)&&"None"!==G.data.status,K=(0,R.T)(J.data,e.queryParams,F),z=K.data?"results"in K.data?K.data.results:K.data.data:null;c.a.useBasicFetch(j.N.authenticationMethods(null!==(n=null===(t=null==z?void 0:z.map((function(e){return e.id})))||void 0===t?void 0:t.sort())&&void 0!==n?n:[]));var Q=(0,d.x)({userType:F,queryParams:e.queryParams,getUserCountRequest:j.N.userCount});(0,T.v)(K);var Z=p.P.showEmptyState(K,e.queryParams);return r.createElement(i.A.Provider,{value:l.a.Primary},r.createElement("div",{className:"px-3"},r.createElement(u.g,{userType:F,appLinks:M,users:z,userCount:Q.data,hasRostering:W}),Z?r.createElement(L,null):r.createElement("main",{className:"py-3 clearfix"},r.createElement(o.G,{users:z,userType:F,config:O.data,currentUser:J.data,appLinks:M,searchEmptyState:A.W.EmptyStates.UserManager.SEARCH,totalUsers:null===(v=Q.data)||void 0===v?void 0:v.count,queryParams:e.queryParams,yearGroups:V.data,yearGroupRolloverStatus:Y.data,fetchUserIds:function(a){c.a.fetch(q,j.N.getSearchUserIds(J.data.customerId,J.data.id,F,e.queryParams,a))},ssoHelpArticle:S.o.getLiteArticle(y.b.EditSsoAccounts),onClickSendVerificationEmail:function(e){c.a.fetch(q,j.N.resendVerificationEmail(e.id,J.data.customerId,(function(){B.success(_("resendVerificationEmailSuccess",{email:e.email,escapeText:!0}))}),(function(){B.error(_("resendVerificationEmailError",{email:e.email,escapeText:!0}))})))},onClickResendActivationEmail:function(e){c.a.fetch(q,j.N.resendActivationEmail(e.id,(function(){B.success(_("resendActivationEmailSuccess",{email:e.email,escapeText:!0}))}),(function(){B.error(_("resendActivationEmailError",{email:e.email,escapeText:!0}))})))},hasSso:!!(null===(w=D.data)||void 0===w?void 0:w.length),userRequest:b.N.getUserIdByQuery,selectWithSpreadsheetTemplate:N.d,hasRostering:W,products:null!==(x=H.data.map((function(e){return e.id})))&&void 0!==x?x:[]}),!!(null===(I=null===(C=K.data)||void 0===C?void 0:C.pagination)||void 0===I?void 0:I.cursors)&&r.createElement(m.t,{appLink:M.search,cursors:K.data.pagination.cursors,buttonVariant:"outline-dark",className:"py-2 float-end"}))))}},29613:(e,a,t)=>{t.d(a,{q:()=>c});var r=t(99940),s=t(97395),n=t(149),c={createJob:function(e,a,t){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:r.k.POST,data:e,success:a,error:t}},getJobs:function(e){var a={},t=[],r=[];return e.cursor&&(a.cursor=e.cursor),e.sort&&("oldest"===e.sort?a.order="ASC":a.order="DESC"),e.bulkActionType?(t=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],a.type=t):a.type=n.O,e.userType&&(r=Array.isArray(e.userType)?e.userType:[e.userType],a.dataType=r),{url:s._.urlBuilder("{gateway}/v1/batch/jobs",a),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(t.sort().join(":"),":").concat(r.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,a,t){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:a,error:t}},getJobResults:function(e,a,t,r,n){var c={status:a};return t&&(c.cursor=t),{url:s._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),c),key:"job:".concat(e,":results:").concat(a,":").concat(t),success:r,error:n}},getYearGroupRolloverStatus:function(e){return{url:"{gateway}/v1/batch/validations/customers/".concat(e,"/year-group-roll-over"),key:"year:group:rollover:status"}},sendJobReports:function(e){return{url:"{gateway}/v1/batch/results/export",key:"send:job:reports:".concat(e.sort().join(":")),type:r.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}}}]);
2
- //# sourceMappingURL=5446-1ef1639ef6-lite.chunk.js.map
2
+ //# sourceMappingURL=5446-5a2f719a6f-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5446-1ef1639ef6-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/user-manager/views/student-manager/empty-state/LiteStudentManagerEmptyState.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/student-manager/LiteStudentManagerView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'userManager.studentManagerEmptyState';\nconst userType = UserGroup.Learner;\n\nexport function StudentManagerEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.UserManager.STUDENTS} size='small' />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n\n <div className='d-flex justify-content-center align-items-center'>\n <div className='px-1'>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'addNew')}\n icon={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.CREATE_USER,\n params: { userType }\n }}\n />\n </div>\n\n <div className='px-1'>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'uploadAList')}\n icon={cvSvgLibrary.Upload}\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.USER_UPLOAD_POPUP,\n params: { userType }\n }}\n />\n </div>\n </div>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { ManageUsers } from 'libs/shared/apps/user-manager/components/manage-users/ManageUsers';\nimport { UserManagerHeader } from 'libs/shared/apps/user-manager/components/user-manager-header/UserManagerHeader';\nimport { UserManagerClientContext } from 'libs/shared/apps/user-manager/context/UserManagerClientContext';\nimport { UserManagerClient } from 'libs/shared/apps/user-manager/enums/UserManagerClient';\nimport { useFetchUserCount } from 'libs/shared/apps/user-manager/hooks/useFetchUserCount';\nimport { GetIdentityProvidersResponse } from 'libs/shared/apps/user-manager/interfaces/GetIdentityProvidersResponse';\nimport { UserManagerQueryParams } from 'libs/shared/apps/user-manager/interfaces/query-params/UserManagerQueryParams';\nimport { YearGroupRolloverStatus } from 'libs/shared/apps/user-manager/interfaces/YearGroupRolloverStatus';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { RosteringRequests } from 'libs/shared/flight-requests/RosteringRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Product, RosteringResponse, User, YearGroup } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { SelectWithSpreadsheetTemplates } from 'apps/user-manager/constants/SelectWithSpreadsheetTemplate';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\nimport { useFetchUsers } from 'apps/user-manager/hooks/useFetchUsers';\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nimport { StudentManagerEmptyState } from './empty-state/LiteStudentManagerEmptyState';\n\nconst getPhrase = LanguageService.encloseNamespace('userManager.studentManager');\n\nconst userType = UserGroup.Learner;\n\ninterface StudentManagerViewProps {\n queryParams: UserManagerQueryParams;\n}\n\nexport function StudentManagerView(props: StudentManagerViewProps): JSX.Element {\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n const appLinks = getUserManagerAppLinks(userType, props.queryParams);\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const rostering = Flight.useBasicFetch<RosteringResponse>(RosteringRequests.getRostering());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && UserManagerRequests.yearGroups(currentUser.data.customerId)\n );\n const yearGroupRolloverStatus = Flight.useBasicFetch<YearGroupRolloverStatus>(!!currentUser.data &&\n JobRequests.getYearGroupRolloverStatus(currentUser.data.customerId));\n const identityProviders = Flight.useBasicFetch<GetIdentityProvidersResponse>(!!currentUser.data &&\n UserManagerRequests.getIdentityProviders(currentUser.data.customerId));\n const products = Flight.useBasicFetch<Product[]>(ProductRequests.userProducts());\n\n const hasRostering = rostering.data?.status && rostering.data.status !== 'None';\n\n const studentResponse = useFetchUsers(\n currentUser.data,\n props.queryParams,\n userType\n );\n\n const students = studentResponse.data ? (('results' in studentResponse.data) ? studentResponse.data.results : studentResponse.data.data) : null;\n\n Flight.useBasicFetch(UserManagerRequests.authenticationMethods(students?.map(s => s.id)?.sort() ?? []));\n\n const userCount = useFetchUserCount({\n userType,\n queryParams: props.queryParams,\n getUserCountRequest: UserManagerRequests.userCount\n });\n\n useHandleObjectError(studentResponse);\n\n function fetchUserIds(success: (userIds: string[]) => void): void {\n Flight.fetch(dispatch, UserManagerRequests.getSearchUserIds(\n currentUser.data.customerId,\n currentUser.data.id,\n userType,\n props.queryParams,\n success\n ));\n }\n\n function onClickResendActivationEmail(user: User): void {\n Flight.fetch(dispatch, UserManagerRequests.resendActivationEmail(user.id, () => {\n alerts.success(getPhrase('resendActivationEmailSuccess', { email: user.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('resendActivationEmailError', { email: user.email, escapeText: true }));\n }));\n }\n\n function onClickResendVerificationEmail(user: User): void {\n Flight.fetch(dispatch, UserManagerRequests.resendVerificationEmail(user.id, currentUser.data.customerId, () => {\n alerts.success(getPhrase('resendVerificationEmailSuccess', { email: user.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('resendVerificationEmailError', { email: user.email, escapeText: true }));\n }));\n }\n\n const showEmptyState = UserManagerHelper.showEmptyState(studentResponse, props.queryParams);\n \n return (\n <UserManagerClientContext.Provider value={UserManagerClient.Primary}>\n <div className='px-3'>\n <UserManagerHeader\n userType={userType}\n appLinks={appLinks}\n users={students}\n userCount={userCount.data}\n hasRostering={hasRostering}\n />\n\n {!showEmptyState ? (\n <main className='py-3 clearfix'>\n <ManageUsers\n users={students}\n userType={userType}\n config={config.data}\n currentUser={currentUser.data}\n appLinks={appLinks}\n searchEmptyState={ImageUrls.EmptyStates.UserManager.SEARCH}\n totalUsers={userCount.data?.count}\n queryParams={props.queryParams}\n yearGroups={yearGroups.data}\n yearGroupRolloverStatus={yearGroupRolloverStatus.data}\n fetchUserIds={fetchUserIds}\n ssoHelpArticle={ArticleHelper.getLiteArticle(LiteSupportArticle.EditSsoAccounts)}\n onClickSendVerificationEmail={onClickResendVerificationEmail}\n onClickResendActivationEmail={onClickResendActivationEmail}\n hasSso={!!identityProviders.data?.length}\n userRequest={UserRequests.getUserIdByQuery}\n selectWithSpreadsheetTemplate={SelectWithSpreadsheetTemplates}\n hasRostering={hasRostering}\n products={products.data.map(p => p.id) ?? []}\n />\n {!!studentResponse.data?.pagination?.cursors && (\n <Pagination\n appLink={appLinks.search}\n cursors={studentResponse.data.pagination.cursors}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n />\n )}\n </main>) :\n <StudentManagerEmptyState />\n }\n </div>\n </UserManagerClientContext.Provider>\n );\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["namespace","userType","UserGroup","StudentManagerEmptyState","value","EmptyState","src","ImageUrls","size","Text","phrase","className","text","LanguageService","icon","appLink","application","action","params","getPhrase","StudentManagerView","props","useSetPageMetadata","title","appLinks","queryParams","dispatch","alerts","rostering","RosteringRequests","currentUser","UserRequests","config","ConfigRequests","yearGroups","data","UserManagerRequests","customerId","yearGroupRolloverStatus","JobRequests","identityProviders","products","ProductRequests","hasRostering","status","studentResponse","useFetchUsers","students","results","map","s","id","sort","userCount","useFetchUserCount","getUserCountRequest","showEmptyState","UserManagerHelper","UserManagerClientContext","UserManagerClient","UserManagerHeader","users","ManageUsers","searchEmptyState","totalUsers","count","fetchUserIds","success","ssoHelpArticle","ArticleHelper","onClickSendVerificationEmail","user","email","escapeText","error","onClickResendActivationEmail","hasSso","length","userRequest","selectWithSpreadsheetTemplate","SelectWithSpreadsheetTemplate","p","pagination","cursors","Pagination","search","buttonVariant","createJob","url","key","type","getJobs","bulkActionTypes","userTypes","cursor","order","bulkActionType","Array","isArray","dataType","join","getJob","getJobProgress","invalidationKeys","getJobResults","getYearGroupRolloverStatus","sendJobReports","ids","jobIds","getJobSummary"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5446-5a2f719a6f-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/user-manager/views/student-manager/empty-state/LiteStudentManagerEmptyState.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/student-manager/LiteStudentManagerView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'userManager.studentManagerEmptyState';\nconst userType = UserGroup.Learner;\n\nexport function StudentManagerEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.UserManager.STUDENTS} size='small' />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n\n <div className='d-flex justify-content-center align-items-center'>\n <div className='px-1'>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'addNew')}\n icon={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.CREATE_USER,\n params: { userType }\n }}\n />\n </div>\n\n <div className='px-1'>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'uploadAList')}\n icon={cvSvgLibrary.Upload}\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.USER_UPLOAD_POPUP,\n params: { userType }\n }}\n />\n </div>\n </div>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { ManageUsers } from 'libs/shared/apps/user-manager/components/manage-users/ManageUsers';\nimport { UserManagerHeader } from 'libs/shared/apps/user-manager/components/user-manager-header/UserManagerHeader';\nimport { UserManagerClientContext } from 'libs/shared/apps/user-manager/context/UserManagerClientContext';\nimport { UserManagerClient } from 'libs/shared/apps/user-manager/enums/UserManagerClient';\nimport { useFetchUserCount } from 'libs/shared/apps/user-manager/hooks/useFetchUserCount';\nimport { GetIdentityProvidersResponse } from 'libs/shared/apps/user-manager/interfaces/GetIdentityProvidersResponse';\nimport { UserManagerQueryParams } from 'libs/shared/apps/user-manager/interfaces/query-params/UserManagerQueryParams';\nimport { YearGroupRolloverStatus } from 'libs/shared/apps/user-manager/interfaces/YearGroupRolloverStatus';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { ProductRequests } from 'libs/shared/flight-requests/ProductRequests';\nimport { RosteringRequests } from 'libs/shared/flight-requests/RosteringRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Product, RosteringResponse, User, YearGroup } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { SelectWithSpreadsheetTemplates } from 'apps/user-manager/constants/SelectWithSpreadsheetTemplate';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\nimport { useFetchUsers } from 'apps/user-manager/hooks/useFetchUsers';\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nimport { StudentManagerEmptyState } from './empty-state/LiteStudentManagerEmptyState';\n\nconst getPhrase = LanguageService.encloseNamespace('userManager.studentManager');\n\nconst userType = UserGroup.Learner;\n\ninterface StudentManagerViewProps {\n queryParams: UserManagerQueryParams;\n}\n\nexport function StudentManagerView(props: StudentManagerViewProps): JSX.Element {\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n const appLinks = getUserManagerAppLinks(userType, props.queryParams);\n const dispatch = useDispatch();\n const alerts = useAlerts();\n\n const rostering = Flight.useBasicFetch<RosteringResponse>(RosteringRequests.getRostering());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && UserManagerRequests.yearGroups(currentUser.data.customerId)\n );\n const yearGroupRolloverStatus = Flight.useBasicFetch<YearGroupRolloverStatus>(!!currentUser.data &&\n JobRequests.getYearGroupRolloverStatus(currentUser.data.customerId));\n const identityProviders = Flight.useBasicFetch<GetIdentityProvidersResponse>(!!currentUser.data &&\n UserManagerRequests.getIdentityProviders(currentUser.data.customerId));\n const products = Flight.useBasicFetch<Product[]>(ProductRequests.userProducts());\n\n const hasRostering = rostering.data?.status && rostering.data.status !== 'None';\n\n const studentResponse = useFetchUsers(\n currentUser.data,\n props.queryParams,\n userType\n );\n\n const students = studentResponse.data ? (('results' in studentResponse.data) ? studentResponse.data.results : studentResponse.data.data) : null;\n\n Flight.useBasicFetch(UserManagerRequests.authenticationMethods(students?.map(s => s.id)?.sort() ?? []));\n\n const userCount = useFetchUserCount({\n userType,\n queryParams: props.queryParams,\n getUserCountRequest: UserManagerRequests.userCount\n });\n\n useHandleObjectError(studentResponse);\n\n function fetchUserIds(success: (userIds: string[]) => void): void {\n Flight.fetch(dispatch, UserManagerRequests.getSearchUserIds(\n currentUser.data.customerId,\n currentUser.data.id,\n userType,\n props.queryParams,\n success\n ));\n }\n\n function onClickResendActivationEmail(user: User): void {\n Flight.fetch(dispatch, UserManagerRequests.resendActivationEmail(user.id, () => {\n alerts.success(getPhrase('resendActivationEmailSuccess', { email: user.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('resendActivationEmailError', { email: user.email, escapeText: true }));\n }));\n }\n\n function onClickResendVerificationEmail(user: User): void {\n Flight.fetch(dispatch, UserManagerRequests.resendVerificationEmail(user.id, currentUser.data.customerId, () => {\n alerts.success(getPhrase('resendVerificationEmailSuccess', { email: user.email, escapeText: true }));\n }, () => {\n alerts.error(getPhrase('resendVerificationEmailError', { email: user.email, escapeText: true }));\n }));\n }\n\n const showEmptyState = UserManagerHelper.showEmptyState(studentResponse, props.queryParams);\n \n return (\n <UserManagerClientContext.Provider value={UserManagerClient.Primary}>\n <div className='px-3'>\n <UserManagerHeader\n userType={userType}\n appLinks={appLinks}\n users={students}\n userCount={userCount.data}\n hasRostering={hasRostering}\n />\n\n {!showEmptyState ? (\n <main className='py-3 clearfix'>\n <ManageUsers\n users={students}\n userType={userType}\n config={config.data}\n currentUser={currentUser.data}\n appLinks={appLinks}\n searchEmptyState={ImageUrls.EmptyStates.UserManager.SEARCH}\n totalUsers={userCount.data?.count}\n queryParams={props.queryParams}\n yearGroups={yearGroups.data}\n yearGroupRolloverStatus={yearGroupRolloverStatus.data}\n fetchUserIds={fetchUserIds}\n ssoHelpArticle={ArticleHelper.getLiteArticle(LiteSupportArticle.EditSsoAccounts)}\n onClickSendVerificationEmail={onClickResendVerificationEmail}\n onClickResendActivationEmail={onClickResendActivationEmail}\n hasSso={!!identityProviders.data?.length}\n userRequest={UserRequests.getUserIdByQuery}\n selectWithSpreadsheetTemplate={SelectWithSpreadsheetTemplates}\n hasRostering={hasRostering}\n products={products.data.map(p => p.id) ?? []}\n />\n {!!studentResponse.data?.pagination?.cursors && (\n <Pagination\n appLink={appLinks.search}\n cursors={studentResponse.data.pagination.cursors}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n />\n )}\n </main>) :\n <StudentManagerEmptyState />\n }\n </div>\n </UserManagerClientContext.Provider>\n );\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["namespace","userType","UserGroup","StudentManagerEmptyState","value","EmptyState","src","ImageUrls","size","Text","phrase","className","text","LanguageService","icon","appLink","application","action","params","getPhrase","StudentManagerView","props","useSetPageMetadata","title","appLinks","queryParams","dispatch","alerts","rostering","RosteringRequests","currentUser","UserRequests","config","ConfigRequests","yearGroups","data","UserManagerRequests","customerId","yearGroupRolloverStatus","JobRequests","identityProviders","products","ProductRequests","hasRostering","status","studentResponse","useFetchUsers","students","results","map","s","id","sort","userCount","useFetchUserCount","getUserCountRequest","showEmptyState","UserManagerHelper","UserManagerClientContext","UserManagerClient","UserManagerHeader","users","ManageUsers","searchEmptyState","totalUsers","count","fetchUserIds","success","ssoHelpArticle","ArticleHelper","onClickSendVerificationEmail","user","email","escapeText","error","onClickResendActivationEmail","hasSso","length","userRequest","selectWithSpreadsheetTemplate","SelectWithSpreadsheetTemplate","p","pagination","cursors","Pagination","search","buttonVariant","createJob","url","key","type","getJobs","bulkActionTypes","userTypes","cursor","order","bulkActionType","Array","isArray","dataType","join","getJob","getJobProgress","invalidationKeys","getJobResults","getYearGroupRolloverStatus","sendJobReports","ids","jobIds","getJobSummary"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5725,1539],{67537:(e,i,t)=>{t.r(i),t.d(i,{SharedPlaylistView:()=>n});var r=t(32735),a=t(20354),c=t(31949),s=t(6263),l=t(82431);function n(e){var i=a.a.useBasicFetch(c.N.currentUser());return r.createElement(s.PlaylistView,{key:e.objectId,shareId:e.shareId,playlistId:e.objectId,getSeriesAppLink:function(e){var t;if(null===(t=i.data)||void 0===t?void 0:t.isAuthenticated)return l.j.getSeriesAppLink(e)}})}}}]);
2
- //# sourceMappingURL=5725-6792ca3e92-lite.chunk.js.map
2
+ //# sourceMappingURL=5725-1592727a8f-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5725-6792ca3e92-lite.chunk.js","mappings":"2NAWM,SAAUA,EAAmBC,GACjC,IAAMC,EAAc,kBAAkC,mBAStD,OACE,gBAAC,EAAAC,aAAY,CACXC,IAAKH,EAAMI,SACXC,QAASL,EAAMK,QACfC,WAAYN,EAAMI,SAClBG,iBAZqB,SAACC,G,MACxB,GAAqB,QAAhB,EAAAP,EAAYQ,YAAI,eAAEC,gBAGvB,OAAO,qBAAqCF,EAC9C,GAUF,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-playlist/SharedPlaylistView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Series } from 'libs/shared/interfaces';\n\nimport { PlaylistView } from 'apps/playlists/views/playlist/PlaylistView';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedPlaylistView(props: ShareLinkViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const getSeriesAppLink = (series: Series) => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n return SeriesAppLinkHelper.getSeriesAppLink(series);\n };\n\n return (\n <PlaylistView\n key={props.objectId}\n shareId={props.shareId}\n playlistId={props.objectId}\n getSeriesAppLink={getSeriesAppLink}\n />\n );\n}"],"names":["SharedPlaylistView","props","currentUser","PlaylistView","key","objectId","shareId","playlistId","getSeriesAppLink","series","data","isAuthenticated"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5725-1592727a8f-lite.chunk.js","mappings":"2NAWM,SAAUA,EAAmBC,GACjC,IAAMC,EAAc,kBAAkC,mBAStD,OACE,gBAAC,EAAAC,aAAY,CACXC,IAAKH,EAAMI,SACXC,QAASL,EAAMK,QACfC,WAAYN,EAAMI,SAClBG,iBAZqB,SAACC,G,MACxB,GAAqB,QAAhB,EAAAP,EAAYQ,YAAI,eAAEC,gBAGvB,OAAO,qBAAqCF,EAC9C,GAUF,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-playlist/SharedPlaylistView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Series } from 'libs/shared/interfaces';\n\nimport { PlaylistView } from 'apps/playlists/views/playlist/PlaylistView';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedPlaylistView(props: ShareLinkViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const getSeriesAppLink = (series: Series) => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n return SeriesAppLinkHelper.getSeriesAppLink(series);\n };\n\n return (\n <PlaylistView\n key={props.objectId}\n shareId={props.shareId}\n playlistId={props.objectId}\n getSeriesAppLink={getSeriesAppLink}\n />\n );\n}"],"names":["SharedPlaylistView","props","currentUser","PlaylistView","key","objectId","shareId","playlistId","getSeriesAppLink","series","data","isAuthenticated"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5769],{49935:(e,a,t)=>{t.d(a,{Oo:()=>u,b2:()=>d});var n=t(32735),i=t(36848),r=t(86764),c=t(3747),l=t(5859),s=t(35223),o=t(83914),m=function(e){var a=e.breadcrumb,t=a.name,r=a.appLink,c=a.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?n.createElement("strong",null,t):n.createElement(i.F,{appLink:r},l&&n.createElement(o.x,{svgName:s.vn.ChevronLeft,size:o.S.Small}),n.createElement("span",{className:l?"ms-2":""},t)))},u=function(e){var a=e.breadcrumbs,t=(0,c.a)(r.r.XS),i=null==a?void 0:a.length;return!i||t&&i<2?n.createElement(n.Fragment,null):t?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(m,{breadcrumb:a[i-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},a.map((function(e,a){return n.createElement(m,{key:a,breadcrumb:e})}))))},d=n.memo((function(e){var a=e.numItems,t=void 0===a?3:a;return(0,c.a)(r.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:t}).map((function(e,a){var t=e.width;return n.createElement("li",{key:a,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:t},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},74696:(e,a,t)=>{t.d(a,{S:()=>o});var n=t(32735),i=t(68050),r=t(69111),c=t(9977),l=t(79967);const s={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function o(e){return n.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(a,t){return n.createElement("div",{className:"d-flex",key:t},e.allowBulkActions&&n.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),n.createElement(m,Object.assign({},e)))})))}function m(e){var a=(0,l.k)(),t="sm"===c.O.getSize(a,"md"),o=e.withReordering&&!a.xs;return n.createElement(i.Z,{className:"".concat(t?"":"py-2"," flex-grow-1")},n.createElement(r.Z,Object.assign({},c.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(t?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),n.createElement(i.Z,null,!!o&&n.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialDragHandle)})),n.createElement(r.Z,{xs:c.O.getThumbnailColSize(o)},n.createElement("div",{className:"partial-loading-background ".concat(t?"rounded":"rounded-3"," ").concat(s.partialThumbnail)})))),n.createElement(r.Z,Object.assign({},c.O.getDetailsColumns(),{className:t?"pb-2":"px-2"}),n.createElement("div",{className:"partial-loading-background mb-1 ".concat(s.partialName)}),n.createElement("div",{className:"partial-loading-background ".concat(s.partialDescription)})))}o.defaultProps={numVideos:15}},5859:(e,a,t)=>{function n(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=Array(a);t<a;t++)n[t]=e[t];return n}t.d(a,{u:()=>r});var i={numItems:5,minWidth:50,maxWidth:100},r={getPartialLoadingItems:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign(Object.assign({},i),a);return(e=Array(t.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,a){if(e){if("string"==typeof e)return n(e,a);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?n(e,a):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*t.maxWidth),t.minWidth),"px")}}))}}},44110:(e,a,t)=>{t.d(a,{i:()=>c});var n=t(20354),i=t(89454),r=t(86698),c=function(){var e=(0,r.y)({redirectOnError:!0}),a=e.activePresentation,t=e.getFallbackPresentation,c=a||t();return n.a.useBasicFetch(!!c&&i.O.presentationAudiences(c.id))}},35014:(e,a,t)=>{t.d(a,{I:()=>s});var n=t(16714),i=t(12754),r=t(22902),c=t(15311),l=t(11387);function s(){var e=(0,r.T)(),a=e.hasPermissions,t=e.hasLocalPermissions,s=(0,(0,c.r)().hasProduct)(i.x.Primary);return{canViewGlance:a(n.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:s&&a(n.C.ViewVideoInteractives),canViewClips:s&&a(n.C.ViewVideoClips),canViewCurriculumLinks:a(n.C.ViewCurriculums),canUseActions:t(n.E.UseVideoActions),canViewPublicLayout:!t(n.E.WatchVideos)&&l.C.hasRegionPrefix(),canViewResourceItems:t(n.E.ViewVideoResourceItems),canNavigate:s}}},28891:(e,a,t)=>{t.r(a),t.d(a,{ClipInteractivesView:()=>S});var n=t(32735),i=t(81886),r=t(23481),c=t(20354),l=t(28400),s=t(65858),o=t(49935),m=t(13231),u=t(51365),d=t(183),p=t(43012),v=t(39151),g=t(1666),b=t(20768),f=t(31949),h=t(22902),E=t(14070),k=t(97291),I=t(51855),y=t(10671),w=t(27638),C=t(44110),V=t(35014),N=t(10741),L=t(22490),A=t(98620),O=t(82431),x=t(16747),P=r.T.encloseNamespace("shared.videoMedia");function S(e){var a,t,r,S,j=e.clipId,F=(0,w.u)(s.LZ.VideoThumbnail),G=F.setFavourite,T=F.canFavourite,W=(0,I.G)().isPlugin,_=(0,y._)({location:y.i.VideoItem}),B=(0,V.I)(),R=c.a.useBasicFetch(f.N.currentUser()),M=c.a.useBasicFetch(R.data.isAuthenticated&&g.h.yearGroups(R.data.customerId)),D=c.a.useBasicFetch(B.canViewClips&&p.e.clip(j)),Z=c.a.useBasicFetch(B.canViewInteractives&&b.b.videoInteractives(j)),H=null==Z?void 0:Z.data,Q=(null==H?void 0:H.length)||0,U=c.a.useBasicFetch(v.L.config()),Y="".concat(P("interactivesHeading")," (").concat(Q||"",")"),q=(0,C.i)(),z=(0,h.T)().hasPermissions,X=[{name:null===(a=D.data)||void 0===a?void 0:a.name,appLink:Object.assign(Object.assign({},A.Y.playClip),{args:[j,l.m.slugify(null===(t=D.data)||void 0===t?void 0:t.name)]})},{name:Y,appLink:{application:k.O.CLIPS,action:E.e.Clips.CLIP_INTERACTIVES,args:[j,l.m.slugify(null===(r=D.data)||void 0===r?void 0:r.name)]},active:!0}];return n.useEffect((function(){B.canViewInteractives||function(){var e;i.Q.C$.trigger(Object.assign(Object.assign({},A.Y.playClip),{args:[j,l.m.slugify(null===(e=D.data)||void 0===e?void 0:e.name)]}),{replace:!0})}()}),[B.canViewInteractives]),D.data&&(null==H?void 0:H.length)&&U.hasCompleted?n.createElement(u.M.Provider,{value:_},n.createElement("div",{className:"px-3"},n.createElement("h1",{className:"h2 mb-2"},Y),n.createElement("div",{className:"mb-2"},n.createElement(o.Oo,{breadcrumbs:X})),n.createElement(m.E4,{videos:H,yearGroups:M.data,getVideoAppLink:function(a,t){return L.W.getAppLink(a,Object.assign(Object.assign({},t),{context:d.Q.Widget,contextId:e.clipId}))},hasPermissions:z,getSubTextAppLink:function(e){return O.j.getSeriesAppLink(e.series)},setFavourite:G,canFavourite:T,presentationAudiences:q.data,getPreviewQuestionsAppLink:function(e){return N.j.getPreviewQuestionsAppLink(e)},imageCdnUrl:null===(S=U.data)||void 0===S?void 0:S.imageCdnUrl,isPlugin:W,getClassroomGuideAppLink:L.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:L.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:L.W.getResourceGuidanceAppLink}))):n.createElement(x.l,null)}},98620:(e,a,t)=>{t.d(a,{Y:()=>r});var n=t(14070),i=t(97291),r={playVideo:{application:i.O.VIDEOS,action:n.e.Videos.PLAY_VIDEO},playClip:{application:i.O.CLIPS,action:n.e.Clips.PLAY_CLIP}}},16747:(e,a,t)=>{t.d(a,{l:()=>l});var n=t(32735),i=t(49935),r=t(74696);const c={partialHeading:"okxfx"};function l(){return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"partial-loading-background mb-2 ".concat(c.partialHeading)}),n.createElement("div",{className:"mb-2"},n.createElement(i.b2,null)),n.createElement(r.S,null))}}}]);
2
- //# sourceMappingURL=5769-34ad224f5f-lite.chunk.js.map
2
+ //# sourceMappingURL=5769-e9f596e2b2-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5769-34ad224f5f-lite.chunk.js","mappings":"6NAuBaA,EAAiB,SAAH,WAAMC,WAAcC,EAAI,EAAJA,KAAMC,EAAO,EAAPA,QAASC,EAAM,EAANA,OAAUC,EAAY,EAAZA,aAAY,OAClF,sBAAIC,UAAS,yBAAoBF,EAAS,UAAY,KACnDA,EACG,8BAASF,GACT,gBAAC,IAAO,CAACC,QAASA,GACjBE,GAAgB,gBAAC,IAAY,CAACE,QAAS,iBAA0BC,KAAM,EAAAC,EAAA,QACxE,wBAAMH,UAAWD,EAAe,OAAS,IAAKH,IAG/C,EAOMQ,EAAc,SAAH,GAAyC,IAAnCC,EAAW,EAAXA,YACtBC,GAAW,OAAc,QAEzBC,EAASF,aAAW,EAAXA,EAAaE,OAE5B,OAAKA,GAAWD,GAAYC,EAAS,EAC5B,iCAELD,EAEA,oCAAgB,cACd,sBAAIN,UAAU,sBACZ,gBAACN,EAAc,CAACC,WAAYU,EAAYE,EAAS,GAAIR,cAAY,MAMvE,oCAAgB,cACd,sBAAIC,UAAU,sBACXK,EAAYG,KAAI,SAACC,EAAGC,GAAG,OAAK,gBAAChB,EAAc,CAACiB,IAAKD,EAAKf,WAAYc,GAAK,KAIhF,EAEaG,EAAqB,QAAW,YAAiD,QAAtCC,SAAAA,OAAQ,IAAG,IAAC,EAGlE,OAFiB,OAAc,QAI3B,uBAAKb,UAAU,6BAA6Bc,MAAO,CAAEC,OAAQ,YAAaC,MAAO,UAKnF,oCAAgB,cACd,sBAAIhB,UAAU,sBACX,2BAA4C,CAAEa,SAAAA,IAAYL,KAAI,WAAYE,GAAG,IAAZM,EAAK,EAALA,MAAK,OACrE,sBAAIL,IAAKD,EAAKV,UAAU,mBACtB,wBAAMA,UAAU,4CAA4Cc,MAAO,CAAEE,MAAAA,GAASC,wBAAyB,CAAEC,OAAQ,WAC9G,KAKf,G,6FCpFA,SAAgB,eAAiB,QAAQ,YAAc,QAAQ,mBAAqB,QAAQ,iBAAmB,QAAQ,kBAAoB,SCiBrI,SAAUC,EAAiBC,GAC/B,OACE,uBAAKpB,UAAU,QACZqB,MAAMD,EAAME,WAAWC,KAAK,MAAMf,KAAI,SAACgB,EAAGC,GAAC,OAC1C,uBAAKzB,UAAU,SAASW,IAAKc,GAC1BL,EAAMM,kBAAoB,uBAAK1B,UAAU,yCAC1C,gBAAC2B,EAAgB,iBAAKP,IAClB,IAId,CAEM,SAAUO,EAAiBP,GAC/B,IAAMQ,GAAc,EAAAC,EAAA,KAGdC,EAAmB,OADZC,EAAA,UAAwBH,EAAa,MAG5CI,EAAiBZ,EAAMa,iBAAmBL,EAAYM,GAE5D,OACE,gBAACC,EAAA,EAAG,CAACnC,UAAS,UAAK8B,EAAU,GAAK,OAAM,iBACtC,gBAACM,EAAA,EAAG,iBAAKL,EAAA,wBAAqC,CAAE/B,UAAS,6CAAwC8B,EAAU,YAAc,uBACvH,gBAACK,EAAA,EAAG,OACCH,GACD,uBAAKhC,UAAU,0DACb,uBAAKA,UAAS,qCAAgC,wBAGlD,gBAACoC,EAAA,EAAG,CAACF,GAAIH,EAAA,sBAAoCC,IAC3C,uBAAKhC,UAAS,qCAAgC8B,EAAU,UAAY,YAAW,YAAI,yBAIzF,gBAACM,EAAA,EAAG,iBAAKL,EAAA,sBAAmC,CAAE/B,UAAW8B,EAAU,OAAS,SAC1E,uBAAK9B,UAAS,0CAAqC,iBACnD,uBAAKA,UAAS,qCAAgC,yBAItD,CA7CAmB,EAAiBkB,aAAe,CAC9Bf,UAAW,G,wICfb,IAAMgB,EAAyD,CAC7DzB,SAAU,EACV0B,SAAU,GACVC,SAAU,KAaCC,EAAuB,CAClCC,uBAAsB,WAAoC,I,EAAnCC,EAAA,uDAAiC,CAAC,EACjDC,EAAO,OAAH,wBACLN,GACAK,GAKL,O,EAAWtB,MAAMuB,EAAK/B,U,omBAAWL,KAAI,iBAAO,CAAEQ,MAAO,GAAF,OAFhB6B,KAAKC,IAAID,KAAKE,MAAMF,KAAKG,SAAWJ,EAAKJ,UAAWI,EAAKL,UAEd,MAAM,GACtF,E,wECnBWU,EAA2B,WACtC,OAAwD,OAAgB,CAAEC,iBAAiB,IAAnFC,EAAkB,EAAlBA,mBAAoBC,EAAuB,EAAvBA,wBAEtBC,EAAeF,GAAsBC,IAO3C,OALkB,oBACdC,GACF,0BAAuCA,EAAaC,IAIxD,C,8FCCM,SAAUC,IACd,OAAgD,SAAxCC,EAAc,EAAdA,eAAgBC,EAAmB,EAAnBA,oBAGlBC,GAAQC,GAFS,SAAfA,YAEiB,aAiBzB,MAAO,CACLC,cAAeJ,EAAe,qBAC9BK,kBAAkB,EAClBC,oBAAqBJ,GAASF,EAAe,2BAC7CO,aAAcL,GAASF,EAAe,oBACtCQ,uBAAwBR,EAAe,qBACvCS,cAAeR,EAAoB,qBACnCS,qBAlBIT,EAAoB,kBAQjB,sBAWPU,qBAAsBV,EAAoB,4BAC1CW,YAAaV,EAEjB,C,kXCdMW,EAAY,qBADA,qBAOZ,SAAUC,EAAqBlD,G,YAC3BmD,EAAWnD,EAAXmD,OACR,GAAuC,IAAAC,GAAkB,qBAAjDC,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACdC,GAAa,SAAbA,SAEFC,GAAe,OAAgB,CAAEC,SAAU,gBAC3CC,GAAgB,SAEhBC,EAAc,kBAAkC,mBAChDC,EAAa,kBACjBD,EAAYE,KAAKC,iBAAmB,eAA4BH,EAAYE,KAAKE,aAG7EC,EAAO,kBAA2BN,EAAcf,cAAgB,SAAkBQ,IAClFc,EAAe,kBACnBP,EAAchB,qBAAuB,sBAAsCS,IAEvEe,EAAUD,aAAY,EAAZA,EAAcJ,KACxBM,GAAQD,aAAO,EAAPA,EAAS/E,SAAU,EAE3BiF,EAAS,kBAA6B,cAEtCC,EAAQ,GAAH,OAAMpB,EAAU,uBAAsB,aAAKkB,GAAS,GAAE,KAE3DG,GAAY,SACVlC,GAAmB,SAAnBA,eAEFnD,EAA4B,CAAC,CACjCT,KAAe,QAAT,EAAAwF,EAAKH,YAAI,eAAErF,KACjBC,QAAS,OAAF,wBACF,cAA2B,CAC9B8F,KAAM,CAAEpB,EAAQ,YAA4B,QAAT,EAAAa,EAAKH,YAAI,eAAErF,UAE/C,CACDA,KAAM6F,EACN5F,QAAS,CACP+F,YAAa,UACbC,OAAQ,4BACRF,KAAM,CAAEpB,EAAQ,YAA4B,QAAT,EAAAa,EAAKH,YAAI,eAAErF,QAEhDE,QAAQ,IAgBV,OANA,aAAgB,WACTgF,EAAchB,qBARrB,W,MACE,eAA2B,OAAD,wBACrB,cAA2B,CAC9B6B,KAAM,CAAEpB,EAAQ,YAA4B,QAAT,EAAAa,EAAKH,YAAI,eAAErF,SAC7C,CAAEkG,SAAS,GAChB,CAIIC,EAEJ,GAAG,CAACjB,EAAchB,sBAEbsB,EAAKH,OAASK,aAAO,EAAPA,EAAS/E,SAAWiF,EAAOQ,aAI5C,gBAAC,aAA4B,CAACC,MAAOrB,GACnC,uBAAK5E,UAAU,QACb,sBAAIA,UAAU,WAAWyF,GAEzB,uBAAKzF,UAAU,QACb,gBAAC,KAAW,CAACK,YAAaA,KAG5B,gBAAC,KAAS,CACR6F,OAAQZ,EACRN,WAAYA,EAAWC,KACvBkB,gBAAiB,SAACC,EAAOxD,GAAI,OAAK,eAA8BwD,EAAO,OAAF,wBAChExD,GAAI,CACPyD,QAAS,WACTC,UAAWlF,EAAMmD,SACjB,EACFf,eAAgBA,EAChB+C,kBAAmB,SAAAH,GAAK,OAAI,qBAAqCA,EAAMI,OAAO,EAC9E/B,aAAcA,EACdC,aAAcA,EACd+B,sBAAuBf,EAAUT,KACjCyB,2BAA4B,SAAAC,GAAW,OAAI,+BAA8CA,EAAY,EACrGC,YAAwB,QAAX,EAAApB,EAAOP,YAAI,eAAE2B,YAC1BjC,SAAUA,EACVkC,yBAA0B,6BAC1BC,8BAA+B,kCAC/BC,2BAA4B,mCA7B3B,gBAAC,IAAqB,KAkCjC,C,6DClIaC,EAAqB,CAChCC,UAAW,CACTrB,YAAa,WACbC,OAAQ,uBAEVqB,SAAU,CACRtB,YAAa,UACbC,OAAQ,qB,wECVZ,SAAgB,eAAiB,SCM3B,SAAUsB,IACd,OACE,uBAAKnH,UAAU,QACb,uBAAKA,UAAS,0CAAqC,oBACnD,uBAAKA,UAAU,QACb,gBAAC,KAAkB,OAErB,gBAACmB,EAAA,EAAgB,MAGvB,C","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/projects/lite/src/shared/views/video-media/ClipInteractivesView.tsx","file:///app/packages/projects/lite/src/shared/views/video-media/VideoMediaAppLinks.ts","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/partial-video-media-view.scss","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/PartialVideoMediaView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { 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 { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\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 { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { PartialVideoMediaView } from './partial-loading/PartialVideoMediaView';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipInteractivesViewProps {\n clipId: string;\n}\n\nexport function ClipInteractivesView(props: ClipInteractivesViewProps): JSX.Element {\n const { clipId } = props;\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const clip = Flight.useBasicFetch<Clip>(featureAccess.canViewClips && ClipRequests.clip(clipId));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(clipId)\n );\n const content = interactives?.data;\n const count = content?.length || 0;\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = `${getPhrase('interactivesHeading')} (${count || ''})`;\n\n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const breadcrumbs: Breadcrumb[] = [{\n name: clip.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.CLIP_INTERACTIVES,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewInteractives) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewInteractives]);\n\n if (!clip.data || !content?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={content}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.clipId\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const VideoMediaAppLinks = {\n playVideo: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO\n },\n playClip: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"okxfx\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-video-media-view.scss';\n\nexport function PartialVideoMediaView(): JSX.Element {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='mb-2'>\n <PartialBreadcrumbs/>\n </div>\n <PartialVideoList />\n </div>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","PartialVideoList","props","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","getPhrase","ClipInteractivesView","clipId","u","setFavourite","canFavourite","isPlugin","videoActions","location","featureAccess","currentUser","yearGroups","data","isAuthenticated","customerId","clip","interactives","content","count","config","title","audiences","args","application","action","replace","redirectToPlaypage","hasCompleted","value","videos","getVideoAppLink","video","context","contextId","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","VideoMediaAppLinks","playVideo","playClip","PartialVideoMediaView"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5769-e9f596e2b2-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/projects/lite/src/shared/views/video-media/ClipInteractivesView.tsx","file:///app/packages/projects/lite/src/shared/views/video-media/VideoMediaAppLinks.ts","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/partial-video-media-view.scss","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/PartialVideoMediaView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { 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 { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\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 { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { PartialVideoMediaView } from './partial-loading/PartialVideoMediaView';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipInteractivesViewProps {\n clipId: string;\n}\n\nexport function ClipInteractivesView(props: ClipInteractivesViewProps): JSX.Element {\n const { clipId } = props;\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const clip = Flight.useBasicFetch<Clip>(featureAccess.canViewClips && ClipRequests.clip(clipId));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(clipId)\n );\n const content = interactives?.data;\n const count = content?.length || 0;\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = `${getPhrase('interactivesHeading')} (${count || ''})`;\n\n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const breadcrumbs: Breadcrumb[] = [{\n name: clip.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.CLIP_INTERACTIVES,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewInteractives) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewInteractives]);\n\n if (!clip.data || !content?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={content}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.clipId\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const VideoMediaAppLinks = {\n playVideo: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO\n },\n playClip: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"okxfx\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-video-media-view.scss';\n\nexport function PartialVideoMediaView(): JSX.Element {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='mb-2'>\n <PartialBreadcrumbs/>\n </div>\n <PartialVideoList />\n </div>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","PartialVideoList","props","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","getPhrase","ClipInteractivesView","clipId","u","setFavourite","canFavourite","isPlugin","videoActions","location","featureAccess","currentUser","yearGroups","data","isAuthenticated","customerId","clip","interactives","content","count","config","title","audiences","args","application","action","replace","redirectToPlaypage","hasCompleted","value","videos","getVideoAppLink","video","context","contextId","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","VideoMediaAppLinks","playVideo","playClip","PartialVideoMediaView"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5803],{44110:(e,i,t)=>{t.d(i,{i:()=>o});var n=t(20354),a=t(89454),c=t(86698),o=function(){var e=(0,c.y)({redirectOnError:!0}),i=e.activePresentation,t=e.getFallbackPresentation,o=i||t();return n.a.useBasicFetch(!!o&&a.O.presentationAudiences(o.id))}},35014:(e,i,t)=>{t.d(i,{I:()=>r});var n=t(16714),a=t(12754),c=t(22902),o=t(15311),s=t(11387);function r(){var e=(0,c.T)(),i=e.hasPermissions,t=e.hasLocalPermissions,r=(0,(0,o.r)().hasProduct)(a.x.Primary);return{canViewGlance:i(n.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:r&&i(n.C.ViewVideoInteractives),canViewClips:r&&i(n.C.ViewVideoClips),canViewCurriculumLinks:i(n.C.ViewCurriculums),canUseActions:t(n.E.UseVideoActions),canViewPublicLayout:!t(n.E.WatchVideos)&&s.C.hasRegionPrefix(),canViewResourceItems:t(n.E.ViewVideoResourceItems),canNavigate:r}}},19894:(e,i,t)=>{t.r(i),t.d(i,{VideoGuidanceInteractivesView:()=>R});var n=t(32735),a=t(81886),c=t(20354),o=t(28400),s=t(49985),r=t(74254),l=t(42648),d=t(23481),p=t(9111),u=t(13876),v=t(65858),m=t(89118),g=t(51685),C=t(94696),k=t(70872),V=t(15469),P=t(54610),L=t(68626),w=t(80143);function y(e){var i,t,a,c=(0,w.n)(null===(i=e.interactive.subjectPresentationAudiences)||void 0===i?void 0:i.data,e.presentationAudiences);return n.createElement("div",{className:"row gx-0 py-2"},n.createElement("div",{className:"col-4"},n.createElement(m.u,{video:e.interactive,appLink:e.getInteractiveAppLink(e.interactive),onClick:e.onClickAppLink,audience:c,imageOptions:{size:P.h2.Medium},textPosition:L.z.Independent,type:"static",subTextType:"none",imageCdnUrl:e.imageCdnUrl,analyticsOptions:{entity:v.py.Interactive,actionType:v.Vw.Click,location:v.LZ.InteractivesGuidancePopup,descriptor:v._S.Thumbnail},isPlugin:e.isPlugin})),n.createElement("div",{className:"col-8 ps-2"},n.createElement(k.u,{video:e.interactive,appLink:e.getInteractiveAppLink(e.interactive),onClickAppLink:e.onClickAppLink,yearGroups:e.yearGroups,analyticsOptions:{entity:v.py.Interactive,actionType:v.Vw.Click,location:v.LZ.InteractivesGuidancePopup,descriptor:v._S.Title}}),e.canViewInteractives?n.createElement("div",{className:"pt-sm-1 pt-md-0"},n.createElement(V.r,{timepoints:null===(t=e.interactive._timepoints)||void 0===t?void 0:t.value,appLink:e.getInteractiveAppLink(e.interactive),previewAppLink:null===(a=e.getPreviewQuestionsAppLink)||void 0===a?void 0:a.call(e,e.interactive),onClickAppLink:e.onClickAppLink,totalToDisplay:3})):n.createElement(g.g,{video:e.interactive}),n.createElement(C.B,{video:e.interactive,yearGroups:e.yearGroups})))}var h="shared.videoGuidanceInteractivesPopup",A=350;function I(e){var i,t;return n.createElement(p.G,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:e.isLoading?"":d.T.getPhrase(h,"interactives",{count:null===(t=null===(i=e.video.interactives)||void 0===i?void 0:i.data)||void 0===t?void 0:t.length}),size:"lg"},!e.isLoading&&n.createElement(n.Fragment,null,n.createElement(l.ZP,{autoHeight:!0,autoHeightMax:A,autoHeightMin:A},n.createElement("ul",{className:"list-unstyled"},e.interactives.map((function(i){return n.createElement("li",{key:i.id},n.createElement(y,{interactive:i,getInteractiveAppLink:e.getInteractiveAppLink,getPreviewQuestionsAppLink:e.getPreviewQuestionsAppLink,presentationAudiences:e.presentationAudiences,imageCdnUrl:e.imageCdnUrl,yearGroups:e.yearGroups,canViewInteractives:e.canViewInteractives,onClickAppLink:e.closePopup,isPlugin:e.isPlugin}))})))),n.createElement(u.u,null,n.createElement(u.u.Cancel,{onClick:e.onClickClose,text:d.T.getPhrase(h,"close")}),n.createElement(u.u.Submit,{text:d.T.getPhrase(h,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo}))))}var E=t(4594),G=t(43012),f=t(39151),T=t(1666),U=t(20768),b=t(31949),O=t(1575),_=t(31908),x=t(14070),F=t(97291),B=t(51855),N=t(44110),Q=t(35014),M=t(10741),S=t(22490);function R(e){var i,t,l=(0,B.G)().isPlugin,d=c.a.useBasicFetch(b.N.currentUser()),p=c.a.useBasicFetch(f.L.config()),u=c.a.useBasicFetch(e.type===E.E.Video?O.R.video(e.id):G.e.clip(e.id)),v=c.a.useBasicFetch(U.b.videoInteractives(e.id)),m=(0,N.i)(),g=c.a.useBasicFetch((null===(i=d.data)||void 0===i?void 0:i.isAuthenticated)&&T.h.yearGroups(d.data.customerId)),C=(0,Q.I)();return n.createElement(I,{isLoading:function(){var e;return!(u.hasCompleted&&v.hasCompleted&&m.hasCompleted&&p.hasCompleted&&(g.hasCompleted||!(null===(e=d.data)||void 0===e?void 0:e.isAuthenticated)))}(),video:u.data,interactives:v.data,onClickClose:function(){s.k.logUserAction({id:u.data.id,name:u.data.name},{entity:_.M.isVideo(u.data)?r.py.Video:r.py.Clip,location:r.LZ.ClassroomGuidancePopup,actionType:r.Vw.Click,descriptor:r.od.Close}),e.closePopup()},onClickViewVideo:function(){if(s.k.logUserAction({id:u.data.id,name:u.data.name},{entity:_.M.isVideo(u.data)?r.py.Video:r.py.Clip,location:r.LZ.ClassroomGuidancePopup,actionType:r.Vw.Click,descriptor:r.od.ViewVideo}),_.M.isVideo(u.data))return a.Q.C$.trigger({application:F.O.VIDEOS,action:x.e.Videos.PLAY_VIDEO,args:[u.data.id,o.m.slugify(u.data.name)]}),void e.closePopup();a.Q.C$.trigger({application:F.O.CLIPS,action:x.e.Clips.PLAY_CLIP,args:[u.data.id,o.m.slugify(u.data.name)]}),e.closePopup()},getInteractiveAppLink:S.W.getAppLink,getPreviewQuestionsAppLink:M.j.getPreviewQuestionsAppLink,presentationAudiences:m.data,yearGroups:g.data,imageCdnUrl:null===(t=p.data)||void 0===t?void 0:t.imageCdnUrl,canViewInteractives:C.canViewInteractives,closePopup:e.closePopup,isPlugin:l})}}}]);
2
- //# sourceMappingURL=5803-0005a9eb66-lite.chunk.js.map
2
+ //# sourceMappingURL=5803-7db6af5411-lite.chunk.js.map