@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 +1 @@
1
- {"version":3,"file":"scripts/5803-0005a9eb66-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/video-guidance/interactives/item/VideoGuidanceInteractiveItem.tsx","file:///app/packages/libs/shared/src/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-interactives/VideoGuidanceInteractivesView.tsx"],"sourcesContent":["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';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemDescription } from 'libs/shared/components/video-list/components/video-item-description/VideoItemDescription';\nimport { VideoItemRestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { InteractiveItemQuestions } from 'libs/shared/components/video-list/interactive-item/InteractiveItemQuestions';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { InteractiveMetadata, PresentationAudience, YearGroup } from 'libs/shared/interfaces';\n\ninterface VideoGuidanceInteractiveItemProps {\n interactive: InteractiveMetadata;\n presentationAudiences: PresentationAudience[];\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n onClickAppLink: () => void;\n}\n\nexport function VideoGuidanceInteractiveItem(props: VideoGuidanceInteractiveItemProps): JSX.Element {\n const mergedAudience = useMergeAudiences(\n props.interactive.subjectPresentationAudiences?.data,\n props.presentationAudiences\n );\n\n return (\n <div className='row gx-0 py-2'>\n <div className='col-4'>\n <VideoThumbnail\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClick={props.onClickAppLink}\n audience={mergedAudience}\n imageOptions={{ size: ImageSize.Medium }}\n textPosition={ThumbnailTextPosition.Independent}\n type='static'\n subTextType='none'\n imageCdnUrl={props.imageCdnUrl}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Thumbnail\n }}\n isPlugin={props.isPlugin}\n />\n </div>\n\n <div className='col-8 ps-2'>\n <VideoItemTitle\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n yearGroups={props.yearGroups}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Title\n }}\n />\n\n {props.canViewInteractives ? (\n <div className='pt-sm-1 pt-md-0'>\n <InteractiveItemQuestions\n timepoints={props.interactive._timepoints?.value}\n appLink={props.getInteractiveAppLink(props.interactive)}\n previewAppLink={props.getPreviewQuestionsAppLink?.(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n totalToDisplay={3}\n />\n </div>\n ) : (\n <VideoItemDescription video={props.interactive} />\n )}\n\n <VideoItemRestrictionBadge video={props.interactive} yearGroups={props.yearGroups}/>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { InteractiveMetadata, PopupViewProps, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { VideoGuidanceInteractiveItem } from '../item/VideoGuidanceInteractiveItem';\n\nconst namespace = 'shared.videoGuidanceInteractivesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceInteractivesPopupProps extends PopupViewProps {\n isLoading: boolean;\n video: Video;\n interactives: InteractiveMetadata[];\n onClickClose: () => void;\n onClickViewVideo: () => void;\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n presentationAudiences: PresentationAudience[];\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n}\n\nexport function VideoGuidanceInteractivesPopup(props: VideoGuidanceInteractivesPopupProps): JSX.Element {\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'interactives', { count: props.video.interactives?.data?.length })\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeight autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT}>\n <ul className='list-unstyled'>\n {props.interactives.map(interactive => {\n return (\n <li key={interactive.id}>\n <VideoGuidanceInteractiveItem\n interactive={interactive}\n getInteractiveAppLink={props.getInteractiveAppLink}\n getPreviewQuestionsAppLink={props.getPreviewQuestionsAppLink}\n presentationAudiences={props.presentationAudiences}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n canViewInteractives={props.canViewInteractives}\n onClickAppLink={props.closePopup}\n isPlugin={props.isPlugin}\n />\n </li>\n );\n })}\n </ul>\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { VideoGuidanceInteractivesPopup } from 'libs/shared/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, PopupViewProps, Video, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\ninterface VideoGuidanceInteractivesViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\nexport function VideoGuidanceInteractivesView(props: VideoGuidanceInteractivesViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const presentationAudiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const featureAccess = useVideoFeatureAccess();\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n function isLoading(): boolean {\n return (\n !video.hasCompleted ||\n !interactives.hasCompleted ||\n !presentationAudiences.hasCompleted ||\n !config.hasCompleted ||\n (!yearGroups.hasCompleted && !!currentUser.data?.isAuthenticated)\n );\n }\n\n return (\n <VideoGuidanceInteractivesPopup\n isLoading={isLoading()}\n video={video.data}\n interactives={interactives.data}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n getInteractiveAppLink={VideoAppLinkHelper.getAppLink}\n getPreviewQuestionsAppLink={InteractiveHelpers.getPreviewQuestionsAppLink}\n presentationAudiences={presentationAudiences.data}\n yearGroups={yearGroups.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n canViewInteractives={featureAccess.canViewInteractives}\n closePopup={props.closePopup}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","VideoGuidanceInteractiveItem","props","mergedAudience","interactive","subjectPresentationAudiences","data","presentationAudiences","className","VideoThumbnail","video","appLink","getInteractiveAppLink","onClick","onClickAppLink","audience","imageOptions","size","textPosition","ThumbnailTextPosition","type","subTextType","imageCdnUrl","analyticsOptions","entity","actionType","location","descriptor","isPlugin","VideoItemTitle","yearGroups","InteractiveItemQuestions","timepoints","_timepoints","value","previewAppLink","getPreviewQuestionsAppLink","totalToDisplay","VideoItemDescription","VideoItemRestrictionBadge","namespace","MIN_MAX_HEIGHT","VideoGuidanceInteractivesPopup","Popup","closePopup","onClickClose","showLoadingSpinner","isLoading","title","LanguageService","count","interactives","length","autoHeight","autoHeightMax","autoHeightMin","map","key","PopupButtons","text","variant","onClickViewVideo","VideoGuidanceInteractivesView","usePluginHelper","currentUser","UserRequests","config","ConfigRequests","MasterType","VideoRequests","ClipRequests","InteractiveRequests","isAuthenticated","CustomerRequests","customerId","featureAccess","hasCompleted","AnalyticsHelper","name","VideoHelper","application","action","args","TextHelper","VideoAppLinkHelper","InteractiveHelper"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5803-7db6af5411-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/video-guidance/interactives/item/VideoGuidanceInteractiveItem.tsx","file:///app/packages/libs/shared/src/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-interactives/VideoGuidanceInteractivesView.tsx"],"sourcesContent":["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';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemDescription } from 'libs/shared/components/video-list/components/video-item-description/VideoItemDescription';\nimport { VideoItemRestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { InteractiveItemQuestions } from 'libs/shared/components/video-list/interactive-item/InteractiveItemQuestions';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { InteractiveMetadata, PresentationAudience, YearGroup } from 'libs/shared/interfaces';\n\ninterface VideoGuidanceInteractiveItemProps {\n interactive: InteractiveMetadata;\n presentationAudiences: PresentationAudience[];\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n onClickAppLink: () => void;\n}\n\nexport function VideoGuidanceInteractiveItem(props: VideoGuidanceInteractiveItemProps): JSX.Element {\n const mergedAudience = useMergeAudiences(\n props.interactive.subjectPresentationAudiences?.data,\n props.presentationAudiences\n );\n\n return (\n <div className='row gx-0 py-2'>\n <div className='col-4'>\n <VideoThumbnail\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClick={props.onClickAppLink}\n audience={mergedAudience}\n imageOptions={{ size: ImageSize.Medium }}\n textPosition={ThumbnailTextPosition.Independent}\n type='static'\n subTextType='none'\n imageCdnUrl={props.imageCdnUrl}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Thumbnail\n }}\n isPlugin={props.isPlugin}\n />\n </div>\n\n <div className='col-8 ps-2'>\n <VideoItemTitle\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n yearGroups={props.yearGroups}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Title\n }}\n />\n\n {props.canViewInteractives ? (\n <div className='pt-sm-1 pt-md-0'>\n <InteractiveItemQuestions\n timepoints={props.interactive._timepoints?.value}\n appLink={props.getInteractiveAppLink(props.interactive)}\n previewAppLink={props.getPreviewQuestionsAppLink?.(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n totalToDisplay={3}\n />\n </div>\n ) : (\n <VideoItemDescription video={props.interactive} />\n )}\n\n <VideoItemRestrictionBadge video={props.interactive} yearGroups={props.yearGroups}/>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { InteractiveMetadata, PopupViewProps, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { VideoGuidanceInteractiveItem } from '../item/VideoGuidanceInteractiveItem';\n\nconst namespace = 'shared.videoGuidanceInteractivesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceInteractivesPopupProps extends PopupViewProps {\n isLoading: boolean;\n video: Video;\n interactives: InteractiveMetadata[];\n onClickClose: () => void;\n onClickViewVideo: () => void;\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n presentationAudiences: PresentationAudience[];\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n}\n\nexport function VideoGuidanceInteractivesPopup(props: VideoGuidanceInteractivesPopupProps): JSX.Element {\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'interactives', { count: props.video.interactives?.data?.length })\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeight autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT}>\n <ul className='list-unstyled'>\n {props.interactives.map(interactive => {\n return (\n <li key={interactive.id}>\n <VideoGuidanceInteractiveItem\n interactive={interactive}\n getInteractiveAppLink={props.getInteractiveAppLink}\n getPreviewQuestionsAppLink={props.getPreviewQuestionsAppLink}\n presentationAudiences={props.presentationAudiences}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n canViewInteractives={props.canViewInteractives}\n onClickAppLink={props.closePopup}\n isPlugin={props.isPlugin}\n />\n </li>\n );\n })}\n </ul>\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { VideoGuidanceInteractivesPopup } from 'libs/shared/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, PopupViewProps, Video, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\ninterface VideoGuidanceInteractivesViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\nexport function VideoGuidanceInteractivesView(props: VideoGuidanceInteractivesViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const presentationAudiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const featureAccess = useVideoFeatureAccess();\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n function isLoading(): boolean {\n return (\n !video.hasCompleted ||\n !interactives.hasCompleted ||\n !presentationAudiences.hasCompleted ||\n !config.hasCompleted ||\n (!yearGroups.hasCompleted && !!currentUser.data?.isAuthenticated)\n );\n }\n\n return (\n <VideoGuidanceInteractivesPopup\n isLoading={isLoading()}\n video={video.data}\n interactives={interactives.data}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n getInteractiveAppLink={VideoAppLinkHelper.getAppLink}\n getPreviewQuestionsAppLink={InteractiveHelpers.getPreviewQuestionsAppLink}\n presentationAudiences={presentationAudiences.data}\n yearGroups={yearGroups.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n canViewInteractives={featureAccess.canViewInteractives}\n closePopup={props.closePopup}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","VideoGuidanceInteractiveItem","props","mergedAudience","interactive","subjectPresentationAudiences","data","presentationAudiences","className","VideoThumbnail","video","appLink","getInteractiveAppLink","onClick","onClickAppLink","audience","imageOptions","size","textPosition","ThumbnailTextPosition","type","subTextType","imageCdnUrl","analyticsOptions","entity","actionType","location","descriptor","isPlugin","VideoItemTitle","yearGroups","InteractiveItemQuestions","timepoints","_timepoints","value","previewAppLink","getPreviewQuestionsAppLink","totalToDisplay","VideoItemDescription","VideoItemRestrictionBadge","namespace","MIN_MAX_HEIGHT","VideoGuidanceInteractivesPopup","Popup","closePopup","onClickClose","showLoadingSpinner","isLoading","title","LanguageService","count","interactives","length","autoHeight","autoHeightMax","autoHeightMin","map","key","PopupButtons","text","variant","onClickViewVideo","VideoGuidanceInteractivesView","usePluginHelper","currentUser","UserRequests","config","ConfigRequests","MasterType","VideoRequests","ClipRequests","InteractiveRequests","isAuthenticated","CustomerRequests","customerId","featureAccess","hasCompleted","AnalyticsHelper","name","VideoHelper","application","action","args","TextHelper","VideoAppLinkHelper","InteractiveHelper"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
- /*! For license information please see 5810-a652483b8e-lite.chunk.js.LICENSE.txt */
1
+ /*! For license information please see 5810-c81d69aea8-lite.chunk.js.LICENSE.txt */
2
2
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5810],{69624:(e,t,n)=>{n.d(t,{F:()=>d});var r=n(97395),o=n(86664),a=n(93824);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={Marketing:{au:"https://www.clickvieweducation.com/en-au",us:"https://www.clickvieweducation.com",nz:"https://www.clickview.co.nz",uk:"https://www.clickview.co.uk"},Support:{au:"https://www.clickviewsupport.com/hc/en-au",uk:"https://www.clickviewsupport.com/hc/en-au#gb",nz:"https://www.clickviewsupport.com/hc/en-au#nz",us:"https://www.clickviewsupport.com/hc/en-au#us"}},s=c(c(c(c({},a.C.AU,"/contact-us/sales"),a.C.US,"/contact-us/sales"),a.C.NZ,"/contact-us/"),a.C.UK,"/contact-us/trial"),u=c(c(c(c({},a.C.AU,"/resources/free-student-resources"),a.C.US,"/resources/free-student-resources"),a.C.NZ,"/free-student-resources/"),a.C.UK,"/free-student-resources/"),d={getMarketingUrlForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode);return l.Marketing[t]||l.Marketing.us},getMarketingSalesContactForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode),n=d.getMarketingUrlForGeoLocation(e),r=s[t];return"".concat(n).concat(r)},getFreeResourcesForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode),n=this.getMarketingUrlForGeoLocation({countryCode:t}),r=u[t];return"".concat(n).concat(r)},getTermsAndConditionsLink:function(){return this.getMarketingUrlForGeoLocation(a.C.US)+"/terms-and-conditions/"},getPrivacyPolicyLink:function(){return this.getMarketingUrlForGeoLocation(a.C.US)+"/privacy-policy/"},getSupportUrlForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode);return l.Support[t]||l.Support.us},getLoginLink:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.email,n=e.customerId,o={redirectUrl:window.location.pathname+window.location.search};return t&&(o.email=t),n&&(o.customerId=n),r._.urlBuilder("/login",o)}}},97481:(e,t,n)=>{n.d(t,{d:()=>l});var r=n(32735),o=n(11607),a=n(83345);const i={emptyState:"k5mEG"};var c="shared.typeaheadErrorState";function l(e){return r.createElement("div",{className:"d-flex flex-column align-items-center text-center",onClick:function(e){e.stopPropagation()}},r.createElement("img",{alt:"",role:"presentation",src:e.imageUrl,className:"pb-2 ".concat(i.emptyState)}),r.createElement("h2",{className:"h6"},r.createElement(a.x,{namespace:c,phrase:"error"})),r.createElement(o.L,{onClick:function(t){t.stopPropagation(),e.onClickTryAgain()},className:"btn btn-link info-link p-0"},r.createElement(a.x,{namespace:c,phrase:"tryAgain"})))}},99705:(e,t,n)=>{var r,o;n.d(t,{b:()=>o}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(r||(r={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(o||(o={}))},12617:(e,t,n)=>{n.d(t,{E:()=>s});var r=n(99940),o=n(97395),a=n(62803),i=n(5960),c=n(4594),l=n(78417),s={videos:function(e,t,n){var r=a.v.VIDEO_COLLECTION,s=a.v.CLIP_COLLECTION,u=a.v.INTERACTIVE,d="videos[".concat(r,"]{libraries.typeid:").concat(c.E.WorkspaceCollection,"}"),m="clips[".concat(s,"]{status:").concat(i.X.Published,"}"),p="interactives[".concat(u,"]{status:[").concat(i.X.Published,",").concat(i.X.Draft,"]}"),v=[];(null==n?void 0:n.length)?(n.includes("video")&&v.push(d),n.includes("clip")&&v.push(m),n.includes("interactive")&&v.push(p)):v.push(d,m,p);var h={query:"(".concat(v.join("|"),"){orderbydesc:timestamp}"),permissionFilterOption:l.r.StripMetadata};return t&&(h.cursor=t),{url:o._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),h),key:"my:videos:".concat(e,":").concat(t).concat(n?":".concat(Array.isArray(n)?n.join(":"):n):"")}},workspaceWithCategories:function(){return{url:o._.urlBuilder("/api/domain/v2/me/libraries",{type:["workspace"],maxCategoryDepth:6}),key:"workspace:folders",normalize:!1}},exchangeWithCategories:function(){return{url:o._.urlBuilder("/api/domain/v2/me/libraries",{type:["exchange"],maxCategoryDepth:5}),key:"exchange:folders",normalize:!1}},addFolder:function(e){var t="/api/domain/v2/collections/".concat(e.collectionId,"/categories");return e.parentCategoryId&&(t=o._.urlBuilder(t,{parentCategoryId:e.parentCategoryId})),{url:t,key:"add:folder",type:r.k.POST,data:{name:e.name},invalidationKeys:["workspace","folder"]}},deleteFolder:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:folder",type:r.k.DELETE,invalidationKeys:["workspace","folder"]}},moveFolder:function(e){return{url:"/api/domain/v2/objects/move",key:"move:folder",type:r.k.POST,data:{assocType:"has",newCollectionId:e.newFolderId,oldCollectionId:e.oldFolderId,objectIds:[e.moveFolderId]},invalidationKeys:["workspace","folder"]}},updateFolder:function(e,t){return{url:"{gateway}/v1/objects/".concat(e),key:"rename:folder",type:r.k.PUT,data:{name:t},invalidationKeys:["workspace","folder"]}},videoFolders:function(e,t){return{url:"/api/domain/v2/objects/".concat(e,"/categories?query=libraries{id:").concat(t,"}"),key:"video:folders:".concat(e)}},moveVideo:function(e){var t={newCollectionId:e.newFolderId,oldCollectionId:e.oldFolderId,objectIds:e.videoId};return{url:"/api/domain/v3/objects/move",key:"move:folder:".concat(t.objectIds.join(",")),type:r.k.POST,data:t,invalidationKeys:["video"]}},addToExchange:function(e){return{url:"{gateway}/v1/users/me/videos/exchange",key:"add:to:exchange",type:r.k.POST,data:e}}}},54485:(e,t,n)=>{n.d(t,{b:()=>c});var r=n(32735),o=n(23481),a=n(11462),i=o.T.encloseNamespace("myVideos.hooks");function c(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return r.useMemo((function(){return(null==e?void 0:e.length)?{children:e.map((function(e){return Object.assign(Object.assign({},e),{data:Object.assign(Object.assign({},e.data),{name:t?i("myVideos"):e.data.name})})})).map(a.d.convertNestedObjectToTree)}:null}),[e])}},81720:(e,t,n)=>{n.r(t),n.d(t,{AddToExchangeView:()=>ie});var r=n(32735),o=n(81886),a=n(23481),i=n(20354),c=n(49985),l=n(65858),s=n(82644),u=n(9111),d=n(1575),m=n(69883),p=n(31908),v=n(14070),h=n(97291),f=n(24965),g=n(12617),y=n(54485),b=n(92802),w=n(5173),E=n(110),C=n(69624),k=n(38365),S=n(13876),N=n(83345),x=n(42648),L=n(55367);const T={selectButton:"HWv2E",suggestionsContainer:"m1Nm0"};var I="myVideos.addToExchange",F=a.T.encloseNamespace(I);function O(e){var t=(0,b.u6)();return r.createElement(k.W,{label:F("category"),name:"category",showRequiredStar:!0},(function(){var n,o,a;return r.createElement("div",{className:"dropdown mb-2"},r.createElement("button",{className:"dropdown-toggle form-control text-start position-relative ".concat(T.selectButton),type:"button",id:"select-folder","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},r.createElement("div",{className:"text-truncate"},null!==(o=null===(n=t.values.category)||void 0===n?void 0:n.name)&&void 0!==o?o:r.createElement(N.x,{namespace:I,phrase:"categoryPlaceholder"}))),r.createElement("div",{className:"dropdown-menu w-100","aria-labelledby":"select-folder"},r.createElement(x.$B,{autoHeight:!0,autoHeightMax:300,hideTracksWhenNotNeeded:!0},r.createElement(L.m,{tree:e.categories,onSelect:function(e){return t.setFieldValue("category",e,!0)},selectedIds:(null===(a=t.values.category)||void 0===a?void 0:a.id)?[t.values.category.id]:void 0,selectedLinkClassName:"bg-light fw-semibold",isDropdown:!0}))))}))}var A=n(97395),P=n(2136),R=n(97481),j=n(99742),_=a.T.encloseNamespace("myVideos.addToExchange");function V(){var e=(0,b.u6)();return r.createElement(k.W,{label:_("channel"),name:"channel",id:"channel",showRequiredStar:!0},(function(){var t,n;return r.createElement(r.Fragment,null,r.createElement(P.E,{theme:function(){return{suggestionsContainer:T.suggestionsContainer,suggestionsContainerOpen:"pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100"}},activationLength:2,placeholder:_("channelPlaceholder"),clearQueryOnSelect:!1,searchIconPlacement:!1,debounceTime:300,allowableSuggestionFetchRequestedReasons:["input-changed","input-focused"],getRemoteUrl:function(e){return A._.urlBuilder("/api/domain/v1/search/channel/instant/raw",{q:e})},onSuggestionSelected:function(t){return e.setFieldValue("channel",t,!0)},showClearInputIcon:!0,renderAsForm:!1,onClickClearInput:function(){return e.setFieldValue("channel",null,!0)},initialQuery:null!==(n=null===(t=e.values.channel)||void 0===t?void 0:t.name)&&void 0!==n?n:"",getErrorStateComponent:function(e){return r.createElement(R.d,{imageUrl:j.W.TYPEAHEAD_ERROR,onClickTryAgain:e})},getEmptyStateComponent:function(e){return r.createElement("div",null,_("emptySearch",{query:e}))}}))}))}var B=n(36848),U=n(89118),G=n(54610),M=n(99705),q=n(68626),D=n(12778),Y="myVideos.addToExchange";function W(e){return r.createElement(r.Fragment,null,r.createElement("p",null,r.createElement(N.x,{namespace:Y,phrase:"message",options:{contentGuidelines:D.o.getLiteArticle(M.b.ContentGuidelines)}})),r.createElement("div",{className:"row form-group"},r.createElement("div",{className:"col-5"},r.createElement(U.u,{video:e.video,type:"cosmetic",imageOptions:{size:G.h2.Small},textPosition:q.z.Independent,preload:!0})),r.createElement("div",{className:"col-7"},r.createElement("h2",{className:"h6"},e.video.name),r.createElement(B.F,{appLink:{application:h.O.VIDEOS,action:v.e.Videos.EDIT_VIDEO,args:[e.video.id]},className:"info-link",onClick:e.onClickCancel},r.createElement(N.x,{namespace:Y,phrase:"edit"})))),r.createElement("p",null,r.createElement(N.x,{namespace:Y,phrase:"prompt"})))}var z=a.T.encloseNamespace("myVideos.addToExchange"),K=128;function Z(e){var t,n=(0,b.u6)();return r.createElement(k.W,{as:"select",label:z("rating"),name:"rating",showRequiredStar:!0,value:null===(t=n.values.rating)||void 0===t?void 0:t.id,onChange:function(t){var r=t.target.value;if(r){var o=e.ratings.find((function(e){return e.id.toString()===r.toString()}));n.setFieldValue("rating",o)}else n.setFieldValue("rating",null)}},r.createElement("option",{value:""},z("ratingPlaceholder")),e.ratings.map((function(e,t){return e.value>=K?r.createElement(r.Fragment,{key:t}):r.createElement("option",{key:t,value:e.id},e.code||e.name)})))}var H=a.T.encloseNamespace("myVideos.addToExchange");function Q(){var e=(0,b.u6)();return r.createElement(k.W,{label:H("series"),name:"series",id:"series"},(function(){var t,n;return r.createElement(r.Fragment,null,r.createElement(P.E,{theme:function(){return{suggestionsContainer:T.suggestionsContainer,suggestionsContainerOpen:"pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100"}},activationLength:2,placeholder:H("seriesPlaceholder"),clearQueryOnSelect:!1,searchIconPlacement:!1,debounceTime:300,allowableSuggestionFetchRequestedReasons:["input-changed","input-focused"],getRemoteUrl:function(e){return A._.urlBuilder("/api/domain/v1/search/series/instant/raw",{q:e,filterEmptySeries:!1})},onSuggestionSelected:function(t){return e.setFieldValue("series",t,!0)},showClearInputIcon:!0,renderAsForm:!1,onClickClearInput:function(){return e.setFieldValue("series",null,!0)},initialQuery:null!==(n=null===(t=e.values.series)||void 0===t?void 0:t.name)&&void 0!==n?n:"",getErrorStateComponent:function(e){return r.createElement(R.d,{imageUrl:j.W.TYPEAHEAD_ERROR,onClickTryAgain:e})},getEmptyStateComponent:function(e){return r.createElement("div",null,H("emptySearch",{query:e}))}}))}))}var X="myVideos.addToExchange",$=a.T.encloseNamespace(X),J=w.Ry().shape({category:w.Ry().required($("categoryRequired")),rating:w.Ry().nullable().required($("ratingRequired")),channel:w.Ry().required($("channelRequired")),dateBroadcast:w.Z_().required($("dateBroadcastRequired")),series:w.Ry(),seasonNumber:w.Rx().integer().min(1,(function(){return $("seasonNumberRange")})).max(3e3,(function(){return $("seasonNumberRange")})),episodeNumber:w.Rx().integer().min(1,(function(){return $("episodeNumberRange")})).max(2147483647,(function(){return $("episodeNumberRange")}))});function ee(e){var t=(0,b.u6)();return r.createElement(b.l0,null,r.createElement(W,{video:e.video,onClickCancel:e.onClickCancel}),r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(O,{categories:e.categories})),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(Z,{ratings:e.ratings}))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(V,null)),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(k.W,{type:"date",name:"dateBroadcast",label:$("dateBroadcast"),value:t.values.dateBroadcast?E.O.format(t.values.dateBroadcast,"YYYY-MM-DD"):"",min:"1927-09-07",max:E.O.format(new Date,"YYYY-MM-DD"),showRequiredStar:!0}))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(Q,null)),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6"},r.createElement(k.W,{label:$("seasonNumber"),type:"number",name:"seasonNumber",id:"seasonNumber",placeholder:$("seasonNumber"),autoFocus:!0,value:t.values.seasonNumber,disabled:!t.values.series})),r.createElement("div",{className:"col-6"},r.createElement(k.W,{label:$("episodeNumber"),type:"number",name:"episodeNumber",id:"episodeNumber",placeholder:$("episodeNumber"),autoFocus:!0,value:t.values.episodeNumber,disabled:!t.values.series})))))),r.createElement("p",null,r.createElement(N.x,{namespace:X,phrase:"disclaimer",options:{termsAndCondiditons:C.F.getTermsAndConditionsLink()}})),r.createElement(S.u,null,r.createElement(S.u.Cancel,{onClick:e.onClickCancel}),r.createElement(S.u.Submit,{variant:"dark",showSpinner:e.showSpinner,text:$("contribute")})))}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function ne(){ne=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var a=t&&t.prototype instanceof g?t:g,i=Object.create(a.prototype),c=new F(r||[]);return o(i,"_invoke",{value:x(e,n,c)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var m="suspendedStart",p="suspendedYield",v="executing",h="completed",f={};function g(){}function y(){}function b(){}var w={};s(w,i,(function(){return this}));var E=Object.getPrototypeOf,C=E&&E(E(O([])));C&&C!==n&&r.call(C,i)&&(w=C);var k=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function N(e,t){function n(o,a,i,c){var l=d(e[o],e,a);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==te(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,c)}),(function(e){n("throw",e,i,c)})):t.resolve(u).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function x(t,n,r){var o=m;return function(a,i){if(o===v)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var c=r.delegate;if(c){var l=L(c,r);if(l){if(l===f)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===m)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=v;var s=d(t,n,r);if("normal"===s.type){if(o=r.done?h:p,s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(o=h,r.method="throw",r.arg=s.arg)}}}function L(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,L(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var a=d(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,f;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,f):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function O(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(te(t)+" is not iterable")}return y.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:y,configurable:!0}),y.displayName=s(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s(e,l,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},S(N.prototype),s(N.prototype,c,(function(){return this})),t.AsyncIterator=N,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new N(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(k),s(k,l,"Generator"),s(k,i,(function(){return this})),s(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return c.type="throw",c.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;I(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),f}},t}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var oe=function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function c(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}l((r=r.apply(e,t||[])).next())}))},ae=a.T.encloseNamespace("myVideos.addToExchange");function ie(e){var t,n,a,b,w,E=(b=r.useState(!1),w=2,function(e){if(Array.isArray(e))return e}(b)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,c=[],l=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return c}}(b,w)||function(e,t){if(e){if("string"==typeof e)return re(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}(b,w)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),C=E[0],k=E[1],S=i.a.useGetFetchAsync(),N=(0,m.Z)(),x=i.a.useBasicFetch(d.R.video(e.id)),L=i.a.useBasicFetch(g.E.exchangeWithCategories()),T=(0,y.b)(null===(n=null===(t=L.data)||void 0===t?void 0:t[0])||void 0===n?void 0:n.children,!1),I=i.a.useBasicFetch(f.Z.ratings()),F=x.hasCompleted&&L.hasCompleted&&I.hasCompleted;return r.createElement(u.G,{title:ae("title"),closePopup:e.closePopup,showLoadingSpinner:!F,size:"lg"},F&&r.createElement(s.n,{initialValues:{rating:x.data.rating,channel:x.data.channel,dateBroadcast:x.data.dateBroadcast,series:x.data.series,seasonNumber:null===(a=x.data.season)||void 0===a?void 0:a.number,episodeNumber:x.data.episodeNumber},validationSchema:J,onSubmit:function(t){var n;return oe(this,void 0,void 0,ne().mark((function r(){var a;return ne().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return k(!0),a={videoId:x.data.id,categoryId:t.category.id,videoAttribute:{name:x.data.name,description:x.data.description,rating:t.rating.id,dateBroadcast:t.dateBroadcast,productionYear:x.data.productionYear,channel:t.channel.id,series:null===(n=t.series)||void 0===n?void 0:n.id,seasonNumber:t.seasonNumber,episodeNumber:t.episodeNumber}},r.prev=2,r.next=5,S(g.E.addToExchange(a));case 5:c.k.logUserAction({id:x.data.id,name:x.data.name,isBroadcast:p.M.isBroadcast(x.data)},{actionType:l.Vw.Create,entity:l.py.Video,location:l.LZ.Popup,workflowPhase:l.eu.Complete,descriptor:l.ne.AddToExchange}),N.success(ae("success")),o.Q.C$.trigger({application:h.O.MY_VIDEOS,action:v.e.MyVideos.ADD_TO_EXCHANGE_SUCCESS}),r.next=14;break;case 10:r.prev=10,r.t0=r.catch(2),N.error(ae("error")),e.closePopup();case 14:case"end":return r.stop()}}),r,null,[[2,10]])})))},validateOnMount:!0},r.createElement(ee,{categories:T,ratings:I.data,onClickCancel:e.closePopup,showSpinner:C,video:x.data})))}},24965:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(97395),o={ratings:function(e){return{url:"/api/domain/v2/me/ratings",publicUrl:r._.urlBuilder("/api/domain/v2/me/ratings",{countryCode:e}),key:"ratings",formatData:function(e){return e.sort((function(e,t){return e.value-t.value}))}}}}}}]);
3
- //# sourceMappingURL=5810-a652483b8e-lite.chunk.js.map
3
+ //# sourceMappingURL=5810-c81d69aea8-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5810-a652483b8e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/sign-up/helpers/ExternalLinkHelper.ts","file:///app/packages/libs/shared/src/components/typeahead-error-state/typeahead-error-state.scss","file:///app/packages/libs/shared/src/components/typeahead-error-state/TypeaheadErrorState.tsx","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/projects/lite/src/apps/my-videos/flight-requests/MyVideosRequests.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useShapeTree.ts","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/add-to-exchange.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-category/AddToExchangeCategory.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-channel/AddToExchangeChannel.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-details/AddToExchangeDetails.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-rating/AddtoExchangeRating.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-series/AddToExchangeSeries.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/AddToExchangeForm.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/AddToExchangeView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/RatingRequests.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { LocalityHelper } from 'libs/shared/apps/sign-up/helpers/LocalityHelper';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\nimport { GeoLocation } from 'libs/shared/interfaces/responses/GeoLocation';\n\ntype ExternalLinkType = {\n [key: string]: {\n [key in CountryCode]: string\n }\n}\n\ninterface LoginLinkOptions {\n email?: string;\n customerId?: string;\n}\n\nexport const ExternalLink: ExternalLinkType = {\n Marketing: {\n au: 'https://www.clickvieweducation.com/en-au',\n us: 'https://www.clickvieweducation.com',\n nz: 'https://www.clickview.co.nz',\n // @todo update after new UK website is released\n uk: 'https://www.clickview.co.uk'\n },\n Support: {\n au: 'https://www.clickviewsupport.com/hc/en-au',\n uk: 'https://www.clickviewsupport.com/hc/en-au#gb',\n nz: 'https://www.clickviewsupport.com/hc/en-au#nz',\n us: 'https://www.clickviewsupport.com/hc/en-au#us'\n }\n};\n\nconst marketingSalesPathname: {[key in CountryCode]: string} = {\n [CountryCode.AU]: '/contact-us/sales',\n [CountryCode.US]: '/contact-us/sales',\n [CountryCode.NZ]: '/contact-us/',\n // @todo update after new UK website is released\n [CountryCode.UK]: '/contact-us/trial'\n};\n\nconst marketingFreeResourcesPathname: {[key in CountryCode]: string} = {\n [CountryCode.AU]: '/resources/free-student-resources',\n [CountryCode.US]: '/resources/free-student-resources',\n [CountryCode.NZ]: '/free-student-resources/',\n // @todo update after new UK website is released\n [CountryCode.UK]: '/free-student-resources/'\n};\n\nexport const ExternalLinkHelper = {\n \n getMarketingUrlForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const url = ExternalLink.Marketing[countryCode];\n\n if (!url)\n return ExternalLink.Marketing.us;\n\n return url;\n },\n\n getMarketingSalesContactForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const baseUrl = ExternalLinkHelper.getMarketingUrlForGeoLocation(geoLocation);\n const pathname = marketingSalesPathname[countryCode];\n\n return `${baseUrl}${pathname}`;\n },\n\n getFreeResourcesForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n\n const baseUrl = this.getMarketingUrlForGeoLocation({ countryCode });\n const pathname = marketingFreeResourcesPathname[countryCode];\n\n return `${baseUrl}${pathname}`;\n },\n\n getTermsAndConditionsLink(): string {\n const baseUrl = this.getMarketingUrlForGeoLocation(CountryCode.US);\n return baseUrl + '/terms-and-conditions/';\n },\n\n getPrivacyPolicyLink(): string {\n const baseUrl = this.getMarketingUrlForGeoLocation(CountryCode.US);\n return baseUrl + '/privacy-policy/';\n },\n\n getSupportUrlForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const url = ExternalLink.Support[countryCode];\n\n if (!url)\n return ExternalLink.Support.us;\n\n return url;\n },\n\n getLoginLink(options: LoginLinkOptions = {}): string {\n const { email, customerId } = options;\n\n const params: HashObject = {\n redirectUrl: window.location.pathname + window.location.search\n };\n\n if (email)\n params.email = email;\n\n if (customerId)\n params.customerId = customerId;\n\n return UrlHelper.urlBuilder('/login', params);\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"emptyState\":\"k5mEG\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport styles from './typeahead-error-state.scss';\n\nconst namespace = 'shared.typeaheadErrorState';\n\ninterface TypeaheadErrorStateProps {\n imageUrl: string;\n onClickTryAgain: () => void;\n}\n\nexport function TypeaheadErrorState(props: TypeaheadErrorStateProps): JSX.Element {\n function onClickComponent(e: React.MouseEvent<HTMLDivElement>): void {\n e.stopPropagation();\n }\n\n function onClickTryAgain(e: React.MouseEvent<HTMLDivElement>): void {\n e.stopPropagation();\n \n props.onClickTryAgain();\n }\n\n return (\n <div className='d-flex flex-column align-items-center text-center' onClick={onClickComponent}>\n <img\n alt=''\n role='presentation'\n src={props.imageUrl}\n className={`pb-2 ${styles.emptyState}`}\n />\n <h2 className='h6'>\n <Text namespace={namespace} phrase='error' />\n </h2>\n <DivButton onClick={onClickTryAgain} className='btn btn-link info-link p-0'>\n <Text namespace={namespace} phrase='tryAgain' />\n </DivButton>\n </div>\n );\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '22110291468057',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097'\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { SearchIndices } from 'libs/shared/apps/search/interfaces';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\n\nimport { AddFolderRequest } from 'apps/my-videos/interfaces/requests/AddFolderRequest';\nimport { AddToExchangeRequest } from 'apps/my-videos/interfaces/requests/AddToExchangeRequest';\nimport { MoveFolderRequest } from 'apps/my-videos/interfaces/requests/MoveFolderRequest';\nimport { MoveVideoRequest } from 'apps/my-videos/interfaces/requests/MoveVideoRequest';\n\nexport const MyVideosRequests = {\n videos(id: string, cursor?: string, typeFilter?: SearchIndices | SearchIndices[]): Flight.Request {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const videoQuery = `videos[${VIDEO_COLLECTION}]{libraries.typeid:${MasterType.WorkspaceCollection}}`;\n const clipQuery = `clips[${CLIP_COLLECTION}]{status:${CurationStatus.Published}}`;\n const interactiveQuery = `interactives[${INTERACTIVE}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`;\n\n const query = [];\n if (typeFilter?.length) {\n if (typeFilter.includes('video'))\n query.push(videoQuery);\n if (typeFilter.includes('clip'))\n query.push(clipQuery);\n if (typeFilter.includes('interactive'))\n query.push(interactiveQuery);\n } else {\n query.push(videoQuery, clipQuery, interactiveQuery);\n }\n\n const params: HashObject = {\n query: `(${query.join('|')}){orderbydesc:timestamp}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}/members`, params),\n key: `my:videos:${id}:${cursor}${typeFilter ? `:${Array.isArray(typeFilter) ? typeFilter.join(':') : typeFilter}` : ''}`\n };\n },\n\n workspaceWithCategories(): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['workspace'],\n maxCategoryDepth: 6\n }),\n key: 'workspace:folders',\n normalize: false\n };\n },\n\n exchangeWithCategories(): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 5\n }),\n key: 'exchange:folders',\n normalize: false\n };\n },\n\n addFolder(data: AddFolderRequest): Flight.Request {\n // TODO: Need to stop using domain\n let url = `/api/domain/v2/collections/${data.collectionId}/categories`;\n\n if (data.parentCategoryId)\n url = UrlHelper.urlBuilder(url, { parentCategoryId: data.parentCategoryId });\n\n return {\n url,\n key: 'add:folder',\n type: HttpVerbs.POST,\n data: { name: data.name },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n deleteFolder(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'delete:folder',\n type: HttpVerbs.DELETE,\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n moveFolder(data: MoveFolderRequest): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: '/api/domain/v2/objects/move',\n key: 'move:folder',\n type: HttpVerbs.POST,\n data: {\n assocType: 'has',\n newCollectionId: data.newFolderId,\n oldCollectionId: data.oldFolderId,\n objectIds: [data.moveFolderId]\n },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n updateFolder(id: string, name: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'rename:folder',\n type: HttpVerbs.PUT,\n data: { name },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n videoFolders(videoId: string, libraryId: string): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: `/api/domain/v2/objects/${videoId}/categories?query=libraries{id:${libraryId}}`,\n key: `video:folders:${videoId}`\n };\n },\n\n moveVideo(request: MoveVideoRequest): Flight.Request {\n const data: HashObject = {\n newCollectionId: request.newFolderId,\n oldCollectionId: request.oldFolderId,\n objectIds: request.videoId\n };\n\n return {\n url: '/api/domain/v3/objects/move',\n key: `move:folder:${data.objectIds.join(',')}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: ['video']\n };\n },\n\n addToExchange(data: AddToExchangeRequest): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/videos/exchange',\n key: 'add:to:exchange',\n type: HttpVerbs.POST,\n data\n };\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { BaseObject, BaseTree, MasterNestedObject } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useShapeTree<T extends BaseObject>(\n trees: MasterNestedObject<T>[],\n rename: boolean = true\n): BaseTree<T> {\n return React.useMemo(() => {\n if (!trees?.length)\n return null;\n\n /**\n * Renaming \"<fullName>'s Workspace\"\n * to \"My Videos\"\n */\n const renamed = trees.map(t => ({\n ...t,\n data: {\n ...t.data,\n name: rename ? getPhrase('myVideos') : t.data.name\n }\n }));\n\n const rootBranches = renamed.map(TreeHelper.convertNestedObjectToTree);\n\n return {\n children: rootBranches\n } as BaseTree<T>;\n }, [trees]);\n}","// extracted by mini-css-extract-plugin\nexport default {\"selectButton\":\"HWv2E\",\"suggestionsContainer\":\"m1Nm0\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tree } from 'libs/shared/components/tree/Tree';\nimport { BaseTree, Folder } from 'libs/shared/interfaces';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToExchangeCategoryProps {\n categories: BaseTree<Folder>;\n}\n\nexport function AddToExchangeCategory(props: AddToExchangeCategoryProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('category')}\n name='category'\n showRequiredStar\n >\n {() => (\n <div className='dropdown mb-2'>\n <button\n className={`dropdown-toggle form-control text-start position-relative ${styles.selectButton}`}\n type='button'\n id='select-folder'\n data-bs-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n >\n <div className='text-truncate'>\n {formikProps.values.category?.name ?? <Text namespace={namespace} phrase='categoryPlaceholder' />}\n </div>\n </button>\n <div className='dropdown-menu w-100' aria-labelledby='select-folder'>\n <Scrollbars autoHeight autoHeightMax={300} hideTracksWhenNotNeeded>\n <Tree\n tree={props.categories}\n onSelect={(folder: BaseTree<Folder>) => formikProps.setFieldValue('category', folder, true)}\n selectedIds={formikProps.values.category?.id ? [formikProps.values.category.id] : undefined}\n selectedLinkClassName='bg-light fw-semibold'\n isDropdown\n />\n </Scrollbars>\n </div>\n </div>\n )}\n </FormField>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { TypeaheadErrorState } from 'libs/shared/components/typeahead-error-state/TypeaheadErrorState';\nimport { Channel } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AddToExchangeChannel(): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('channel')}\n name='channel'\n id='channel'\n showRequiredStar\n >\n {() => (\n <>\n <SearchBar<Channel>\n theme={() => ({\n suggestionsContainer: styles.suggestionsContainer,\n suggestionsContainerOpen: 'pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100'\n })}\n activationLength={2}\n placeholder={getPhrase('channelPlaceholder')}\n clearQueryOnSelect={false}\n searchIconPlacement={false}\n debounceTime={300}\n allowableSuggestionFetchRequestedReasons={[ 'input-changed', 'input-focused' ]}\n getRemoteUrl={query => UrlHelper.urlBuilder('/api/domain/v1/search/channel/instant/raw', {\n q: query\n })}\n onSuggestionSelected={channel => formikProps.setFieldValue('channel', channel, true)}\n showClearInputIcon\n renderAsForm={false}\n onClickClearInput={() => formikProps.setFieldValue('channel', null, true)}\n initialQuery={formikProps.values.channel?.name ?? ''}\n getErrorStateComponent={onClickTryAgain =>\n <TypeaheadErrorState imageUrl={ImageUrls.TYPEAHEAD_ERROR} onClickTryAgain={onClickTryAgain} />\n }\n getEmptyStateComponent={query => (<div>{getPhrase('emptySearch', { query })}</div>)}\n />\n </>\n )}\n </FormField>\n );\n}","import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Video } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.addToExchange';\n\ninterface AddToExchangeDetailsProps {\n video: Video;\n onClickCancel: () => void;\n}\n\nexport function AddToExchangeDetails(props: AddToExchangeDetailsProps): JSX.Element {\n return (\n <>\n <p>\n <Text\n namespace={namespace}\n phrase='message'\n options={{ contentGuidelines: ArticleHelper.getLiteArticle(LiteSupportArticle.ContentGuidelines) }}\n />\n </p>\n <div className='row form-group'>\n <div className='col-5'>\n <VideoThumbnail\n video={props.video}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n preload\n />\n </div>\n <div className='col-7'>\n <h2 className='h6'>{props.video.name}</h2>\n <AppLink\n appLink={{\n application: AppChannels.VIDEOS,\n action: Actions.Videos.EDIT_VIDEO,\n args: [props.video.id]\n }}\n className='info-link'\n onClick={props.onClickCancel}\n >\n <Text namespace={namespace} phrase='edit' />\n </AppLink>\n </div>\n </div>\n <p><Text namespace={namespace} phrase='prompt' /></p>\n </>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { Rating } from 'libs/shared/interfaces';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n/**\n * We want to hide inappropriate rating values that won't be used.\n */\nconst MAX_DISPLAYED_RATING_VALUE = 128;\n\ninterface AddToExchangeRatingProps {\n ratings: Rating[];\n}\n\nexport function AddToExchangeRating(props: AddToExchangeRatingProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n as='select'\n label={getPhrase('rating')}\n name='rating'\n showRequiredStar\n value={formikProps.values.rating?.id}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n const ratingId = e.target.value;\n\n if (!ratingId) {\n formikProps.setFieldValue('rating', null);\n return;\n }\n\n const rating = props.ratings.find(r => r.id.toString() === ratingId.toString());\n formikProps.setFieldValue('rating', rating);\n }}\n >\n <option value=''>{getPhrase('ratingPlaceholder')}</option>\n {props.ratings.map((rating, key) => {\n if (rating.value >= MAX_DISPLAYED_RATING_VALUE)\n return <React.Fragment key={key} />;\n \n return (\n <option key={key} value={rating.id}>\n {rating.code || rating.name}\n </option>\n );\n })}\n </FormField>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { TypeaheadErrorState } from 'libs/shared/components/typeahead-error-state/TypeaheadErrorState';\nimport { Series } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AddToExchangeSeries(): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('series')}\n name='series'\n id='series'\n >\n {() => (\n <>\n <SearchBar<Series>\n theme={() => ({\n suggestionsContainer: styles.suggestionsContainer,\n suggestionsContainerOpen: 'pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100'\n })}\n activationLength={2}\n placeholder={getPhrase('seriesPlaceholder')}\n clearQueryOnSelect={false}\n searchIconPlacement={false}\n debounceTime={300}\n allowableSuggestionFetchRequestedReasons={[ 'input-changed', 'input-focused' ]}\n getRemoteUrl={query => UrlHelper.urlBuilder('/api/domain/v1/search/series/instant/raw', {\n q: query,\n filterEmptySeries: false\n })}\n onSuggestionSelected={series => formikProps.setFieldValue('series', series, true)}\n showClearInputIcon\n renderAsForm={false}\n onClickClearInput={() => formikProps.setFieldValue('series', null, true)}\n initialQuery={formikProps.values.series?.name ?? ''}\n getErrorStateComponent={onClickTryAgain =>\n <TypeaheadErrorState imageUrl={ImageUrls.TYPEAHEAD_ERROR} onClickTryAgain={onClickTryAgain} />\n }\n getEmptyStateComponent={query => (<div>{getPhrase('emptySearch', { query })}</div>)}\n />\n </>\n )}\n </FormField>\n );\n}","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ExternalLinkHelper } from 'libs/shared/apps/sign-up/helpers/ExternalLinkHelper';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseTree, Channel, Folder, Rating, Series, Video } from 'libs/shared/interfaces';\n\nimport { AddToExchangeCategory } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-category/AddToExchangeCategory';\nimport { AddToExchangeChannel } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-channel/AddToExchangeChannel';\nimport { AddToExchangeDetails } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-details/AddToExchangeDetails';\nimport { AddToExchangeRating } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-rating/AddtoExchangeRating';\nimport { AddToExchangeSeries } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-series/AddToExchangeSeries';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const AddToExchangeValidationSchema = Yup.object().shape({\n category: Yup.object().required(getPhrase('categoryRequired')),\n rating: Yup.object().nullable().required(getPhrase('ratingRequired')),\n channel: Yup.object().required(getPhrase('channelRequired')),\n dateBroadcast: Yup.string().required(getPhrase('dateBroadcastRequired')),\n series: Yup.object(),\n seasonNumber: Yup\n .number()\n .integer()\n .min(1, () => getPhrase('seasonNumberRange'))\n .max(3000, () => getPhrase('seasonNumberRange')),\n episodeNumber: Yup\n .number()\n .integer()\n .min(1, () => getPhrase('episodeNumberRange'))\n .max(2147483647, () => getPhrase('episodeNumberRange'))\n});\n\nexport interface AddToExchangeFormData {\n category: Folder;\n rating: Rating;\n channel: Channel;\n dateBroadcast: string;\n series: Series;\n seasonNumber: number;\n episodeNumber: number;\n}\n\ninterface AddToExchangeFormProps {\n onClickCancel: () => void;\n showSpinner: boolean;\n categories: BaseTree<Folder>;\n ratings: Rating[];\n video: Video;\n}\n\nexport function AddToExchangeForm(props: AddToExchangeFormProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <Form>\n <AddToExchangeDetails video={props.video} onClickCancel={props.onClickCancel} />\n <div className='container'>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeCategory categories={props.categories} />\n </div>\n <div className='col-lg-6 col-12'>\n <AddToExchangeRating ratings={props.ratings} />\n </div>\n </div>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeChannel />\n </div>\n <div className='col-lg-6 col-12'>\n <FormField\n type='date'\n name='dateBroadcast'\n label={getPhrase('dateBroadcast')}\n value={formikProps.values.dateBroadcast ?\n DateHelper.format(formikProps.values.dateBroadcast, 'YYYY-MM-DD') :\n ''}\n min='1927-09-07' // First ever TV broadcast\n max={DateHelper.format(new Date(), 'YYYY-MM-DD')}\n showRequiredStar\n />\n </div>\n </div>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeSeries />\n </div>\n <div className='col-lg-6 col-12'>\n <div className='row'>\n <div className='col-6'>\n <FormField\n label={getPhrase('seasonNumber')}\n type='number'\n name='seasonNumber'\n id='seasonNumber'\n placeholder={getPhrase('seasonNumber')}\n autoFocus\n value={formikProps.values.seasonNumber}\n disabled={!formikProps.values.series}\n />\n </div>\n <div className='col-6'>\n <FormField\n label={getPhrase('episodeNumber')}\n type='number'\n name='episodeNumber'\n id='episodeNumber'\n placeholder={getPhrase('episodeNumber')}\n autoFocus\n value={formikProps.values.episodeNumber}\n disabled={!formikProps.values.series}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n <p><Text namespace={namespace} phrase='disclaimer' options={{ termsAndCondiditons: ExternalLinkHelper.getTermsAndConditionsLink() }} /></p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.onClickCancel} />\n <PopupButtons.Submit variant='dark' showSpinner={props.showSpinner} text={getPhrase('contribute')} />\n </PopupButtons>\n </Form>\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';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AddToExchangeDescriptor, EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { LibraryTree, PopupViewProps, Video } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { RatingRequests } from 'shared/flight-requests/RatingRequests';\n\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useShapeTree } from 'apps/my-videos/hooks/useShapeTree';\nimport { AddToExchangeRequest } from 'apps/my-videos/interfaces/requests/AddToExchangeRequest';\nimport { AddToExchangeForm, AddToExchangeFormData, AddToExchangeValidationSchema } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToExchangeViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function AddToExchangeView(props: AddToExchangeViewProps): JSX.Element {\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const exchangeCategories = Flight.useBasicFetch<LibraryTree[]>(MyVideosRequests.exchangeWithCategories());\n const categories = useShapeTree(exchangeCategories.data?.[0]?.children, false);\n const ratings = Flight.useBasicFetch<any>(RatingRequests.ratings());\n \n async function onSubmit(data: AddToExchangeFormData): Promise<void> {\n setShowSpinner(true);\n\n const requestData: AddToExchangeRequest = {\n videoId: video.data.id,\n categoryId: data.category.id,\n videoAttribute: {\n name: video.data.name,\n description: video.data.description,\n rating: data.rating.id,\n dateBroadcast: data.dateBroadcast,\n productionYear: video.data.productionYear,\n channel: data.channel.id,\n series: data.series?.id,\n seasonNumber: data.seasonNumber,\n episodeNumber: data.episodeNumber\n }\n };\n\n try {\n await fetchAsync(MyVideosRequests.addToExchange(requestData));\n\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name,\n isBroadcast: VideoHelper.isBroadcast(video.data)\n }, {\n actionType: UserAction.Create,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: AddToExchangeDescriptor.AddToExchange\n });\n\n alerts.success(getPhrase('success'));\n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.ADD_TO_EXCHANGE_SUCCESS\n });\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n const hasLoaded = (\n video.hasCompleted &&\n exchangeCategories.hasCompleted &&\n ratings.hasCompleted\n );\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n >\n {hasLoaded &&\n <FormWrapper<AddToExchangeFormData>\n initialValues={{\n rating: video.data.rating,\n channel: video.data.channel,\n dateBroadcast: video.data.dateBroadcast,\n series: video.data.series,\n seasonNumber: video.data.season?.number,\n episodeNumber: video.data.episodeNumber\n }}\n validationSchema={AddToExchangeValidationSchema}\n onSubmit={onSubmit}\n validateOnMount\n >\n <AddToExchangeForm\n categories={categories}\n ratings={ratings.data}\n onClickCancel={props.closePopup}\n showSpinner={showSpinner}\n video={video.data}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Rating } from 'libs/shared/interfaces';\n\nexport const RatingRequests = {\n ratings(countryCode?: string): Flight.PublicRequest {\n return {\n url: '/api/domain/v2/me/ratings',\n publicUrl: UrlHelper.urlBuilder('/api/domain/v2/me/ratings', { countryCode }),\n key: 'ratings',\n // v2/me/ratings doesn't support `query={orderby:value}`. Adding this due to time constraints\n formatData: (ratings: Rating[]) => {\n return ratings.sort((a, b) => a.value - b.value);\n }\n };\n }\n};"],"names":["ExternalLink","Marketing","au","us","nz","uk","Support","marketingSalesPathname","C","marketingFreeResourcesPathname","ExternalLinkHelper","getMarketingUrlForGeoLocation","geoLocation","countryCode","getMarketingSalesContactForGeoLocation","baseUrl","pathname","getFreeResourcesForGeoLocation","this","getTermsAndConditionsLink","getPrivacyPolicyLink","getSupportUrlForGeoLocation","getLoginLink","options","email","customerId","params","redirectUrl","window","location","search","namespace","TypeaheadErrorState","props","className","onClick","e","stopPropagation","alt","role","src","imageUrl","Text","phrase","DivButton","onClickTryAgain","OnlineSupportArticle","LiteSupportArticle","MyVideosRequests","videos","id","cursor","typeFilter","VIDEO_COLLECTION","CLIP_COLLECTION","INTERACTIVE","videoQuery","clipQuery","interactiveQuery","query","length","includes","push","join","permissionFilterOption","url","key","Array","isArray","workspaceWithCategories","type","maxCategoryDepth","normalize","exchangeWithCategories","addFolder","data","collectionId","parentCategoryId","name","invalidationKeys","deleteFolder","moveFolder","assocType","newCollectionId","newFolderId","oldCollectionId","oldFolderId","objectIds","moveFolderId","updateFolder","videoFolders","videoId","libraryId","moveVideo","request","addToExchange","getPhrase","useShapeTree","trees","rename","children","map","t","LanguageService","AddToExchangeCategory","formikProps","FormField","label","showRequiredStar","values","category","autoHeight","autoHeightMax","hideTracksWhenNotNeeded","Tree","tree","categories","onSelect","folder","setFieldValue","selectedIds","undefined","selectedLinkClassName","isDropdown","AddToExchangeChannel","SearchBar","theme","suggestionsContainer","suggestionsContainerOpen","activationLength","placeholder","clearQueryOnSelect","searchIconPlacement","debounceTime","allowableSuggestionFetchRequestedReasons","getRemoteUrl","UrlHelper","q","onSuggestionSelected","channel","showClearInputIcon","renderAsForm","onClickClearInput","initialQuery","getErrorStateComponent","ImageUrls","getEmptyStateComponent","AddToExchangeDetails","contentGuidelines","ArticleHelper","VideoThumbnail","video","imageOptions","size","textPosition","ThumbnailTextPosition","preload","AppLink","appLink","application","action","args","onClickCancel","MAX_DISPLAYED_RATING_VALUE","AddToExchangeRating","as","value","rating","onChange","ratingId","target","ratings","find","r","toString","code","AddToExchangeSeries","filterEmptySeries","series","AddToExchangeValidationSchema","shape","required","nullable","dateBroadcast","seasonNumber","integer","min","max","episodeNumber","AddToExchangeForm","DateHelper","Date","autoFocus","disabled","termsAndCondiditons","PopupButtons","variant","showSpinner","text","AddToExchangeView","setShowSpinner","fetchAsync","alerts","VideoRequests","exchangeCategories","RatingRequests","hasLoaded","hasCompleted","Popup","title","closePopup","showLoadingSpinner","FormWrapper","initialValues","season","number","validationSchema","onSubmit","requestData","categoryId","videoAttribute","description","productionYear","AnalyticsHelper","isBroadcast","VideoHelper","actionType","entity","workflowPhase","descriptor","AddToExchange","success","error","validateOnMount","publicUrl","formatData","sort","a","b"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5810-c81d69aea8-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/sign-up/helpers/ExternalLinkHelper.ts","file:///app/packages/libs/shared/src/components/typeahead-error-state/typeahead-error-state.scss","file:///app/packages/libs/shared/src/components/typeahead-error-state/TypeaheadErrorState.tsx","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/projects/lite/src/apps/my-videos/flight-requests/MyVideosRequests.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useShapeTree.ts","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/add-to-exchange.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-category/AddToExchangeCategory.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-channel/AddToExchangeChannel.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-details/AddToExchangeDetails.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-rating/AddtoExchangeRating.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/components/add-to-exchange-series/AddToExchangeSeries.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/AddToExchangeForm.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/add-to-exchange/AddToExchangeView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/RatingRequests.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { LocalityHelper } from 'libs/shared/apps/sign-up/helpers/LocalityHelper';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\nimport { GeoLocation } from 'libs/shared/interfaces/responses/GeoLocation';\n\ntype ExternalLinkType = {\n [key: string]: {\n [key in CountryCode]: string\n }\n}\n\ninterface LoginLinkOptions {\n email?: string;\n customerId?: string;\n}\n\nexport const ExternalLink: ExternalLinkType = {\n Marketing: {\n au: 'https://www.clickvieweducation.com/en-au',\n us: 'https://www.clickvieweducation.com',\n nz: 'https://www.clickview.co.nz',\n // @todo update after new UK website is released\n uk: 'https://www.clickview.co.uk'\n },\n Support: {\n au: 'https://www.clickviewsupport.com/hc/en-au',\n uk: 'https://www.clickviewsupport.com/hc/en-au#gb',\n nz: 'https://www.clickviewsupport.com/hc/en-au#nz',\n us: 'https://www.clickviewsupport.com/hc/en-au#us'\n }\n};\n\nconst marketingSalesPathname: {[key in CountryCode]: string} = {\n [CountryCode.AU]: '/contact-us/sales',\n [CountryCode.US]: '/contact-us/sales',\n [CountryCode.NZ]: '/contact-us/',\n // @todo update after new UK website is released\n [CountryCode.UK]: '/contact-us/trial'\n};\n\nconst marketingFreeResourcesPathname: {[key in CountryCode]: string} = {\n [CountryCode.AU]: '/resources/free-student-resources',\n [CountryCode.US]: '/resources/free-student-resources',\n [CountryCode.NZ]: '/free-student-resources/',\n // @todo update after new UK website is released\n [CountryCode.UK]: '/free-student-resources/'\n};\n\nexport const ExternalLinkHelper = {\n \n getMarketingUrlForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const url = ExternalLink.Marketing[countryCode];\n\n if (!url)\n return ExternalLink.Marketing.us;\n\n return url;\n },\n\n getMarketingSalesContactForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const baseUrl = ExternalLinkHelper.getMarketingUrlForGeoLocation(geoLocation);\n const pathname = marketingSalesPathname[countryCode];\n\n return `${baseUrl}${pathname}`;\n },\n\n getFreeResourcesForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n\n const baseUrl = this.getMarketingUrlForGeoLocation({ countryCode });\n const pathname = marketingFreeResourcesPathname[countryCode];\n\n return `${baseUrl}${pathname}`;\n },\n\n getTermsAndConditionsLink(): string {\n const baseUrl = this.getMarketingUrlForGeoLocation(CountryCode.US);\n return baseUrl + '/terms-and-conditions/';\n },\n\n getPrivacyPolicyLink(): string {\n const baseUrl = this.getMarketingUrlForGeoLocation(CountryCode.US);\n return baseUrl + '/privacy-policy/';\n },\n\n getSupportUrlForGeoLocation(geoLocation: GeoLocation): string {\n const countryCode = LocalityHelper.getCountryCode(geoLocation?.countryCode);\n const url = ExternalLink.Support[countryCode];\n\n if (!url)\n return ExternalLink.Support.us;\n\n return url;\n },\n\n getLoginLink(options: LoginLinkOptions = {}): string {\n const { email, customerId } = options;\n\n const params: HashObject = {\n redirectUrl: window.location.pathname + window.location.search\n };\n\n if (email)\n params.email = email;\n\n if (customerId)\n params.customerId = customerId;\n\n return UrlHelper.urlBuilder('/login', params);\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"emptyState\":\"k5mEG\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport styles from './typeahead-error-state.scss';\n\nconst namespace = 'shared.typeaheadErrorState';\n\ninterface TypeaheadErrorStateProps {\n imageUrl: string;\n onClickTryAgain: () => void;\n}\n\nexport function TypeaheadErrorState(props: TypeaheadErrorStateProps): JSX.Element {\n function onClickComponent(e: React.MouseEvent<HTMLDivElement>): void {\n e.stopPropagation();\n }\n\n function onClickTryAgain(e: React.MouseEvent<HTMLDivElement>): void {\n e.stopPropagation();\n \n props.onClickTryAgain();\n }\n\n return (\n <div className='d-flex flex-column align-items-center text-center' onClick={onClickComponent}>\n <img\n alt=''\n role='presentation'\n src={props.imageUrl}\n className={`pb-2 ${styles.emptyState}`}\n />\n <h2 className='h6'>\n <Text namespace={namespace} phrase='error' />\n </h2>\n <DivButton onClick={onClickTryAgain} className='btn btn-link info-link p-0'>\n <Text namespace={namespace} phrase='tryAgain' />\n </DivButton>\n </div>\n );\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '22110291468057',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097'\n}\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { SearchIndices } from 'libs/shared/apps/search/interfaces';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\n\nimport { AddFolderRequest } from 'apps/my-videos/interfaces/requests/AddFolderRequest';\nimport { AddToExchangeRequest } from 'apps/my-videos/interfaces/requests/AddToExchangeRequest';\nimport { MoveFolderRequest } from 'apps/my-videos/interfaces/requests/MoveFolderRequest';\nimport { MoveVideoRequest } from 'apps/my-videos/interfaces/requests/MoveVideoRequest';\n\nexport const MyVideosRequests = {\n videos(id: string, cursor?: string, typeFilter?: SearchIndices | SearchIndices[]): Flight.Request {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const videoQuery = `videos[${VIDEO_COLLECTION}]{libraries.typeid:${MasterType.WorkspaceCollection}}`;\n const clipQuery = `clips[${CLIP_COLLECTION}]{status:${CurationStatus.Published}}`;\n const interactiveQuery = `interactives[${INTERACTIVE}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`;\n\n const query = [];\n if (typeFilter?.length) {\n if (typeFilter.includes('video'))\n query.push(videoQuery);\n if (typeFilter.includes('clip'))\n query.push(clipQuery);\n if (typeFilter.includes('interactive'))\n query.push(interactiveQuery);\n } else {\n query.push(videoQuery, clipQuery, interactiveQuery);\n }\n\n const params: HashObject = {\n query: `(${query.join('|')}){orderbydesc:timestamp}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}/members`, params),\n key: `my:videos:${id}:${cursor}${typeFilter ? `:${Array.isArray(typeFilter) ? typeFilter.join(':') : typeFilter}` : ''}`\n };\n },\n\n workspaceWithCategories(): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['workspace'],\n maxCategoryDepth: 6\n }),\n key: 'workspace:folders',\n normalize: false\n };\n },\n\n exchangeWithCategories(): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 5\n }),\n key: 'exchange:folders',\n normalize: false\n };\n },\n\n addFolder(data: AddFolderRequest): Flight.Request {\n // TODO: Need to stop using domain\n let url = `/api/domain/v2/collections/${data.collectionId}/categories`;\n\n if (data.parentCategoryId)\n url = UrlHelper.urlBuilder(url, { parentCategoryId: data.parentCategoryId });\n\n return {\n url,\n key: 'add:folder',\n type: HttpVerbs.POST,\n data: { name: data.name },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n deleteFolder(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'delete:folder',\n type: HttpVerbs.DELETE,\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n moveFolder(data: MoveFolderRequest): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: '/api/domain/v2/objects/move',\n key: 'move:folder',\n type: HttpVerbs.POST,\n data: {\n assocType: 'has',\n newCollectionId: data.newFolderId,\n oldCollectionId: data.oldFolderId,\n objectIds: [data.moveFolderId]\n },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n updateFolder(id: string, name: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}`,\n key: 'rename:folder',\n type: HttpVerbs.PUT,\n data: { name },\n invalidationKeys: [ 'workspace', 'folder' ]\n };\n },\n\n videoFolders(videoId: string, libraryId: string): Flight.Request {\n return {\n // TODO: Need to stop using domain\n url: `/api/domain/v2/objects/${videoId}/categories?query=libraries{id:${libraryId}}`,\n key: `video:folders:${videoId}`\n };\n },\n\n moveVideo(request: MoveVideoRequest): Flight.Request {\n const data: HashObject = {\n newCollectionId: request.newFolderId,\n oldCollectionId: request.oldFolderId,\n objectIds: request.videoId\n };\n\n return {\n url: '/api/domain/v3/objects/move',\n key: `move:folder:${data.objectIds.join(',')}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: ['video']\n };\n },\n\n addToExchange(data: AddToExchangeRequest): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/videos/exchange',\n key: 'add:to:exchange',\n type: HttpVerbs.POST,\n data\n };\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { BaseObject, BaseTree, MasterNestedObject } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useShapeTree<T extends BaseObject>(\n trees: MasterNestedObject<T>[],\n rename: boolean = true\n): BaseTree<T> {\n return React.useMemo(() => {\n if (!trees?.length)\n return null;\n\n /**\n * Renaming \"<fullName>'s Workspace\"\n * to \"My Videos\"\n */\n const renamed = trees.map(t => ({\n ...t,\n data: {\n ...t.data,\n name: rename ? getPhrase('myVideos') : t.data.name\n }\n }));\n\n const rootBranches = renamed.map(TreeHelper.convertNestedObjectToTree);\n\n return {\n children: rootBranches\n } as BaseTree<T>;\n }, [trees]);\n}","// extracted by mini-css-extract-plugin\nexport default {\"selectButton\":\"HWv2E\",\"suggestionsContainer\":\"m1Nm0\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tree } from 'libs/shared/components/tree/Tree';\nimport { BaseTree, Folder } from 'libs/shared/interfaces';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToExchangeCategoryProps {\n categories: BaseTree<Folder>;\n}\n\nexport function AddToExchangeCategory(props: AddToExchangeCategoryProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('category')}\n name='category'\n showRequiredStar\n >\n {() => (\n <div className='dropdown mb-2'>\n <button\n className={`dropdown-toggle form-control text-start position-relative ${styles.selectButton}`}\n type='button'\n id='select-folder'\n data-bs-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n >\n <div className='text-truncate'>\n {formikProps.values.category?.name ?? <Text namespace={namespace} phrase='categoryPlaceholder' />}\n </div>\n </button>\n <div className='dropdown-menu w-100' aria-labelledby='select-folder'>\n <Scrollbars autoHeight autoHeightMax={300} hideTracksWhenNotNeeded>\n <Tree\n tree={props.categories}\n onSelect={(folder: BaseTree<Folder>) => formikProps.setFieldValue('category', folder, true)}\n selectedIds={formikProps.values.category?.id ? [formikProps.values.category.id] : undefined}\n selectedLinkClassName='bg-light fw-semibold'\n isDropdown\n />\n </Scrollbars>\n </div>\n </div>\n )}\n </FormField>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { TypeaheadErrorState } from 'libs/shared/components/typeahead-error-state/TypeaheadErrorState';\nimport { Channel } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AddToExchangeChannel(): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('channel')}\n name='channel'\n id='channel'\n showRequiredStar\n >\n {() => (\n <>\n <SearchBar<Channel>\n theme={() => ({\n suggestionsContainer: styles.suggestionsContainer,\n suggestionsContainerOpen: 'pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100'\n })}\n activationLength={2}\n placeholder={getPhrase('channelPlaceholder')}\n clearQueryOnSelect={false}\n searchIconPlacement={false}\n debounceTime={300}\n allowableSuggestionFetchRequestedReasons={[ 'input-changed', 'input-focused' ]}\n getRemoteUrl={query => UrlHelper.urlBuilder('/api/domain/v1/search/channel/instant/raw', {\n q: query\n })}\n onSuggestionSelected={channel => formikProps.setFieldValue('channel', channel, true)}\n showClearInputIcon\n renderAsForm={false}\n onClickClearInput={() => formikProps.setFieldValue('channel', null, true)}\n initialQuery={formikProps.values.channel?.name ?? ''}\n getErrorStateComponent={onClickTryAgain =>\n <TypeaheadErrorState imageUrl={ImageUrls.TYPEAHEAD_ERROR} onClickTryAgain={onClickTryAgain} />\n }\n getEmptyStateComponent={query => (<div>{getPhrase('emptySearch', { query })}</div>)}\n />\n </>\n )}\n </FormField>\n );\n}","import React from 'react';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Video } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.addToExchange';\n\ninterface AddToExchangeDetailsProps {\n video: Video;\n onClickCancel: () => void;\n}\n\nexport function AddToExchangeDetails(props: AddToExchangeDetailsProps): JSX.Element {\n return (\n <>\n <p>\n <Text\n namespace={namespace}\n phrase='message'\n options={{ contentGuidelines: ArticleHelper.getLiteArticle(LiteSupportArticle.ContentGuidelines) }}\n />\n </p>\n <div className='row form-group'>\n <div className='col-5'>\n <VideoThumbnail\n video={props.video}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n preload\n />\n </div>\n <div className='col-7'>\n <h2 className='h6'>{props.video.name}</h2>\n <AppLink\n appLink={{\n application: AppChannels.VIDEOS,\n action: Actions.Videos.EDIT_VIDEO,\n args: [props.video.id]\n }}\n className='info-link'\n onClick={props.onClickCancel}\n >\n <Text namespace={namespace} phrase='edit' />\n </AppLink>\n </div>\n </div>\n <p><Text namespace={namespace} phrase='prompt' /></p>\n </>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { Rating } from 'libs/shared/interfaces';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\n/**\n * We want to hide inappropriate rating values that won't be used.\n */\nconst MAX_DISPLAYED_RATING_VALUE = 128;\n\ninterface AddToExchangeRatingProps {\n ratings: Rating[];\n}\n\nexport function AddToExchangeRating(props: AddToExchangeRatingProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n as='select'\n label={getPhrase('rating')}\n name='rating'\n showRequiredStar\n value={formikProps.values.rating?.id}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n const ratingId = e.target.value;\n\n if (!ratingId) {\n formikProps.setFieldValue('rating', null);\n return;\n }\n\n const rating = props.ratings.find(r => r.id.toString() === ratingId.toString());\n formikProps.setFieldValue('rating', rating);\n }}\n >\n <option value=''>{getPhrase('ratingPlaceholder')}</option>\n {props.ratings.map((rating, key) => {\n if (rating.value >= MAX_DISPLAYED_RATING_VALUE)\n return <React.Fragment key={key} />;\n \n return (\n <option key={key} value={rating.id}>\n {rating.code || rating.name}\n </option>\n );\n })}\n </FormField>\n );\n}","import React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\nimport { TypeaheadErrorState } from 'libs/shared/components/typeahead-error-state/TypeaheadErrorState';\nimport { Series } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { AddToExchangeFormData } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nimport styles from '../../add-to-exchange.scss';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function AddToExchangeSeries(): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <FormField\n label={getPhrase('series')}\n name='series'\n id='series'\n >\n {() => (\n <>\n <SearchBar<Series>\n theme={() => ({\n suggestionsContainer: styles.suggestionsContainer,\n suggestionsContainerOpen: 'pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100'\n })}\n activationLength={2}\n placeholder={getPhrase('seriesPlaceholder')}\n clearQueryOnSelect={false}\n searchIconPlacement={false}\n debounceTime={300}\n allowableSuggestionFetchRequestedReasons={[ 'input-changed', 'input-focused' ]}\n getRemoteUrl={query => UrlHelper.urlBuilder('/api/domain/v1/search/series/instant/raw', {\n q: query,\n filterEmptySeries: false\n })}\n onSuggestionSelected={series => formikProps.setFieldValue('series', series, true)}\n showClearInputIcon\n renderAsForm={false}\n onClickClearInput={() => formikProps.setFieldValue('series', null, true)}\n initialQuery={formikProps.values.series?.name ?? ''}\n getErrorStateComponent={onClickTryAgain =>\n <TypeaheadErrorState imageUrl={ImageUrls.TYPEAHEAD_ERROR} onClickTryAgain={onClickTryAgain} />\n }\n getEmptyStateComponent={query => (<div>{getPhrase('emptySearch', { query })}</div>)}\n />\n </>\n )}\n </FormField>\n );\n}","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport * as Yup from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { ExternalLinkHelper } from 'libs/shared/apps/sign-up/helpers/ExternalLinkHelper';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseTree, Channel, Folder, Rating, Series, Video } from 'libs/shared/interfaces';\n\nimport { AddToExchangeCategory } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-category/AddToExchangeCategory';\nimport { AddToExchangeChannel } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-channel/AddToExchangeChannel';\nimport { AddToExchangeDetails } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-details/AddToExchangeDetails';\nimport { AddToExchangeRating } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-rating/AddtoExchangeRating';\nimport { AddToExchangeSeries } from 'apps/my-videos/views/add-to-exchange/components/add-to-exchange-series/AddToExchangeSeries';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const AddToExchangeValidationSchema = Yup.object().shape({\n category: Yup.object().required(getPhrase('categoryRequired')),\n rating: Yup.object().nullable().required(getPhrase('ratingRequired')),\n channel: Yup.object().required(getPhrase('channelRequired')),\n dateBroadcast: Yup.string().required(getPhrase('dateBroadcastRequired')),\n series: Yup.object(),\n seasonNumber: Yup\n .number()\n .integer()\n .min(1, () => getPhrase('seasonNumberRange'))\n .max(3000, () => getPhrase('seasonNumberRange')),\n episodeNumber: Yup\n .number()\n .integer()\n .min(1, () => getPhrase('episodeNumberRange'))\n .max(2147483647, () => getPhrase('episodeNumberRange'))\n});\n\nexport interface AddToExchangeFormData {\n category: Folder;\n rating: Rating;\n channel: Channel;\n dateBroadcast: string;\n series: Series;\n seasonNumber: number;\n episodeNumber: number;\n}\n\ninterface AddToExchangeFormProps {\n onClickCancel: () => void;\n showSpinner: boolean;\n categories: BaseTree<Folder>;\n ratings: Rating[];\n video: Video;\n}\n\nexport function AddToExchangeForm(props: AddToExchangeFormProps): JSX.Element {\n const formikProps = useFormikContext<AddToExchangeFormData>();\n\n return (\n <Form>\n <AddToExchangeDetails video={props.video} onClickCancel={props.onClickCancel} />\n <div className='container'>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeCategory categories={props.categories} />\n </div>\n <div className='col-lg-6 col-12'>\n <AddToExchangeRating ratings={props.ratings} />\n </div>\n </div>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeChannel />\n </div>\n <div className='col-lg-6 col-12'>\n <FormField\n type='date'\n name='dateBroadcast'\n label={getPhrase('dateBroadcast')}\n value={formikProps.values.dateBroadcast ?\n DateHelper.format(formikProps.values.dateBroadcast, 'YYYY-MM-DD') :\n ''}\n min='1927-09-07' // First ever TV broadcast\n max={DateHelper.format(new Date(), 'YYYY-MM-DD')}\n showRequiredStar\n />\n </div>\n </div>\n <div className='row'>\n <div className='col-lg-6 col-12'>\n <AddToExchangeSeries />\n </div>\n <div className='col-lg-6 col-12'>\n <div className='row'>\n <div className='col-6'>\n <FormField\n label={getPhrase('seasonNumber')}\n type='number'\n name='seasonNumber'\n id='seasonNumber'\n placeholder={getPhrase('seasonNumber')}\n autoFocus\n value={formikProps.values.seasonNumber}\n disabled={!formikProps.values.series}\n />\n </div>\n <div className='col-6'>\n <FormField\n label={getPhrase('episodeNumber')}\n type='number'\n name='episodeNumber'\n id='episodeNumber'\n placeholder={getPhrase('episodeNumber')}\n autoFocus\n value={formikProps.values.episodeNumber}\n disabled={!formikProps.values.series}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n <p><Text namespace={namespace} phrase='disclaimer' options={{ termsAndCondiditons: ExternalLinkHelper.getTermsAndConditionsLink() }} /></p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.onClickCancel} />\n <PopupButtons.Submit variant='dark' showSpinner={props.showSpinner} text={getPhrase('contribute')} />\n </PopupButtons>\n </Form>\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';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AddToExchangeDescriptor, EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { LibraryTree, PopupViewProps, Video } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { RatingRequests } from 'shared/flight-requests/RatingRequests';\n\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useShapeTree } from 'apps/my-videos/hooks/useShapeTree';\nimport { AddToExchangeRequest } from 'apps/my-videos/interfaces/requests/AddToExchangeRequest';\nimport { AddToExchangeForm, AddToExchangeFormData, AddToExchangeValidationSchema } from 'apps/my-videos/views/add-to-exchange/AddToExchangeForm';\n\nconst namespace = 'myVideos.addToExchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToExchangeViewProps extends PopupViewProps {\n id: string;\n}\n\nexport function AddToExchangeView(props: AddToExchangeViewProps): JSX.Element {\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.id));\n const exchangeCategories = Flight.useBasicFetch<LibraryTree[]>(MyVideosRequests.exchangeWithCategories());\n const categories = useShapeTree(exchangeCategories.data?.[0]?.children, false);\n const ratings = Flight.useBasicFetch<any>(RatingRequests.ratings());\n \n async function onSubmit(data: AddToExchangeFormData): Promise<void> {\n setShowSpinner(true);\n\n const requestData: AddToExchangeRequest = {\n videoId: video.data.id,\n categoryId: data.category.id,\n videoAttribute: {\n name: video.data.name,\n description: video.data.description,\n rating: data.rating.id,\n dateBroadcast: data.dateBroadcast,\n productionYear: video.data.productionYear,\n channel: data.channel.id,\n series: data.series?.id,\n seasonNumber: data.seasonNumber,\n episodeNumber: data.episodeNumber\n }\n };\n\n try {\n await fetchAsync(MyVideosRequests.addToExchange(requestData));\n\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name,\n isBroadcast: VideoHelper.isBroadcast(video.data)\n }, {\n actionType: UserAction.Create,\n entity: EntityType.Video,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n descriptor: AddToExchangeDescriptor.AddToExchange\n });\n\n alerts.success(getPhrase('success'));\n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.ADD_TO_EXCHANGE_SUCCESS\n });\n } catch {\n alerts.error(getPhrase('error'));\n props.closePopup();\n }\n }\n\n const hasLoaded = (\n video.hasCompleted &&\n exchangeCategories.hasCompleted &&\n ratings.hasCompleted\n );\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!hasLoaded}\n size='lg'\n >\n {hasLoaded &&\n <FormWrapper<AddToExchangeFormData>\n initialValues={{\n rating: video.data.rating,\n channel: video.data.channel,\n dateBroadcast: video.data.dateBroadcast,\n series: video.data.series,\n seasonNumber: video.data.season?.number,\n episodeNumber: video.data.episodeNumber\n }}\n validationSchema={AddToExchangeValidationSchema}\n onSubmit={onSubmit}\n validateOnMount\n >\n <AddToExchangeForm\n categories={categories}\n ratings={ratings.data}\n onClickCancel={props.closePopup}\n showSpinner={showSpinner}\n video={video.data}\n />\n </FormWrapper>\n }\n </Popup>\n );\n}","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { Rating } from 'libs/shared/interfaces';\n\nexport const RatingRequests = {\n ratings(countryCode?: string): Flight.PublicRequest {\n return {\n url: '/api/domain/v2/me/ratings',\n publicUrl: UrlHelper.urlBuilder('/api/domain/v2/me/ratings', { countryCode }),\n key: 'ratings',\n // v2/me/ratings doesn't support `query={orderby:value}`. Adding this due to time constraints\n formatData: (ratings: Rating[]) => {\n return ratings.sort((a, b) => a.value - b.value);\n }\n };\n }\n};"],"names":["ExternalLink","Marketing","au","us","nz","uk","Support","marketingSalesPathname","C","marketingFreeResourcesPathname","ExternalLinkHelper","getMarketingUrlForGeoLocation","geoLocation","countryCode","getMarketingSalesContactForGeoLocation","baseUrl","pathname","getFreeResourcesForGeoLocation","this","getTermsAndConditionsLink","getPrivacyPolicyLink","getSupportUrlForGeoLocation","getLoginLink","options","email","customerId","params","redirectUrl","window","location","search","namespace","TypeaheadErrorState","props","className","onClick","e","stopPropagation","alt","role","src","imageUrl","Text","phrase","DivButton","onClickTryAgain","OnlineSupportArticle","LiteSupportArticle","MyVideosRequests","videos","id","cursor","typeFilter","VIDEO_COLLECTION","CLIP_COLLECTION","INTERACTIVE","videoQuery","clipQuery","interactiveQuery","query","length","includes","push","join","permissionFilterOption","url","key","Array","isArray","workspaceWithCategories","type","maxCategoryDepth","normalize","exchangeWithCategories","addFolder","data","collectionId","parentCategoryId","name","invalidationKeys","deleteFolder","moveFolder","assocType","newCollectionId","newFolderId","oldCollectionId","oldFolderId","objectIds","moveFolderId","updateFolder","videoFolders","videoId","libraryId","moveVideo","request","addToExchange","getPhrase","useShapeTree","trees","rename","children","map","t","LanguageService","AddToExchangeCategory","formikProps","FormField","label","showRequiredStar","values","category","autoHeight","autoHeightMax","hideTracksWhenNotNeeded","Tree","tree","categories","onSelect","folder","setFieldValue","selectedIds","undefined","selectedLinkClassName","isDropdown","AddToExchangeChannel","SearchBar","theme","suggestionsContainer","suggestionsContainerOpen","activationLength","placeholder","clearQueryOnSelect","searchIconPlacement","debounceTime","allowableSuggestionFetchRequestedReasons","getRemoteUrl","UrlHelper","q","onSuggestionSelected","channel","showClearInputIcon","renderAsForm","onClickClearInput","initialQuery","getErrorStateComponent","ImageUrls","getEmptyStateComponent","AddToExchangeDetails","contentGuidelines","ArticleHelper","VideoThumbnail","video","imageOptions","size","textPosition","ThumbnailTextPosition","preload","AppLink","appLink","application","action","args","onClickCancel","MAX_DISPLAYED_RATING_VALUE","AddToExchangeRating","as","value","rating","onChange","ratingId","target","ratings","find","r","toString","code","AddToExchangeSeries","filterEmptySeries","series","AddToExchangeValidationSchema","shape","required","nullable","dateBroadcast","seasonNumber","integer","min","max","episodeNumber","AddToExchangeForm","DateHelper","Date","autoFocus","disabled","termsAndCondiditons","PopupButtons","variant","showSpinner","text","AddToExchangeView","setShowSpinner","fetchAsync","alerts","VideoRequests","exchangeCategories","RatingRequests","hasLoaded","hasCompleted","Popup","title","closePopup","showLoadingSpinner","FormWrapper","initialValues","season","number","validationSchema","onSubmit","requestData","categoryId","videoAttribute","description","productionYear","AnalyticsHelper","isBroadcast","VideoHelper","actionType","entity","workflowPhase","descriptor","AddToExchange","success","error","validateOnMount","publicUrl","formatData","sort","a","b"],"sourceRoot":""}