@clickview/lite 0.50.0 → 0.50.1-rc.0

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 (338) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{6846-lite-db93efd058.chunk.css → 1850-lite-dca6b9e86d.chunk.css} +1 -0
  3. package/dist/css/{2137-lite-6d16d5d7c2.chunk.css → 2137-lite-7045732fc8.chunk.css} +2 -2
  4. package/dist/css/{2795-lite-1e800fdd04.chunk.css → 2795-lite-1641e6fbf9.chunk.css} +2 -2
  5. package/dist/css/{458-lite-ecaf4729d3.chunk.css → 3515-lite-c8a3139b8b.chunk.css} +2 -2
  6. package/dist/css/{8960-lite-a80ad92ea7.chunk.css → 4489-lite-7d5d204d0c.chunk.css} +8 -7
  7. package/dist/css/{3515-lite-ecaf4729d3.chunk.css → 458-lite-c8a3139b8b.chunk.css} +2 -2
  8. package/dist/css/{5242-lite-512783e2fb.chunk.css → 5242-lite-58cdcd1ec4.chunk.css} +2 -2
  9. package/dist/css/{5446-lite-b68e159c6c.chunk.css → 5446-lite-ae2395342f.chunk.css} +2 -2
  10. package/dist/css/6102-lite-6e94a699ed.chunk.css +39 -0
  11. package/dist/css/{1437-lite-b847c9e2b6.chunk.css → 6415-lite-707657102b.chunk.css} +1 -1
  12. package/dist/css/{9839-lite-53b02845a4.chunk.css → 6850-lite-769c93cb9e.chunk.css} +16 -16
  13. package/dist/css/{7987-lite-7006eb4ded.chunk.css → 7987-lite-94679244a2.chunk.css} +2 -2
  14. package/dist/css/{355-lite-e474c8ddce.chunk.css → 8192-lite-8721e2ed68.chunk.css} +8 -7
  15. package/dist/css/{8316-lite-f60e236048.chunk.css → 8316-lite-9083a6565c.chunk.css} +2 -2
  16. package/dist/css/{9417-lite-f60e236048.chunk.css → 9417-lite-9083a6565c.chunk.css} +2 -2
  17. package/dist/css/{9620-lite-b202aa1d5c.chunk.css → 9620-lite-d77e9ad59b.chunk.css} +1 -1
  18. package/dist/css/{7187-lite-db93efd058.chunk.css → 9818-lite-dca6b9e86d.chunk.css} +1 -0
  19. package/dist/css/{8139-lite-5511af77bf.chunk.css → 986-lite-3bf6e93049.chunk.css} +1 -0
  20. package/dist/css/{lite-app-cf9b57ee91.css → lite-app-28b7b96628.css} +8 -6
  21. package/dist/languages/en.json +1 -1
  22. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js → 1080-362271a654-lite.chunk.js} +2 -2
  23. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js.map → 1080-362271a654-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/1169-3df974a8eb-lite.chunk.js +2 -0
  25. package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js → 1285-818f4ed377-lite.chunk.js} +1 -1
  27. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js.map → 1285-818f4ed377-lite.chunk.js.map} +1 -1
  28. package/dist/scripts/1313-455608bc46-lite.chunk.js +2 -0
  29. package/dist/scripts/1313-455608bc46-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js → 1379-3a1ba4b4d9-lite.chunk.js} +3 -3
  31. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.map → 1379-3a1ba4b4d9-lite.chunk.js.map} +1 -1
  32. package/dist/scripts/{1518-be314d1248-lite.chunk.js → 1518-b808d8043f-lite.chunk.js} +2 -2
  33. package/dist/scripts/1518-b808d8043f-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js → 1617-e1735deb2a-lite.chunk.js} +1 -1
  35. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js.map → 1617-e1735deb2a-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/1672-672f298d82-lite.chunk.js +3 -0
  37. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +1 -0
  38. package/dist/scripts/1750-a525866169-lite.chunk.js +2 -0
  39. package/dist/scripts/1750-a525866169-lite.chunk.js.map +1 -0
  40. package/dist/scripts/1818-74a3d26afd-lite.chunk.js +2 -0
  41. package/dist/scripts/1818-74a3d26afd-lite.chunk.js.map +1 -0
  42. package/dist/scripts/1820-68114ca994-lite.chunk.js +2 -0
  43. package/dist/scripts/1820-68114ca994-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js → 1863-618c9bd7af-lite.chunk.js} +1 -1
  45. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js.map → 1863-618c9bd7af-lite.chunk.js.map} +1 -1
  46. package/dist/scripts/1905-af9a8f8824-lite.chunk.js +2 -0
  47. package/dist/scripts/1905-af9a8f8824-lite.chunk.js.map +1 -0
  48. package/dist/scripts/2004-4e2d98041c-lite.chunk.js +3 -0
  49. package/dist/scripts/2004-4e2d98041c-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{209-148abe2aa1-lite.chunk.js → 209-4a54845452-lite.chunk.js} +2 -2
  51. package/dist/scripts/209-4a54845452-lite.chunk.js.map +1 -0
  52. package/dist/scripts/2137-093f479ff9-lite.chunk.js +2 -0
  53. package/dist/scripts/2137-093f479ff9-lite.chunk.js.map +1 -0
  54. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js +2 -0
  55. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js.map +1 -0
  56. package/dist/scripts/2703-64f709f0d0-lite.chunk.js +2 -0
  57. package/dist/scripts/2703-64f709f0d0-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js → 2795-0616748349-lite.chunk.js} +1 -1
  59. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js.map → 2795-0616748349-lite.chunk.js.map} +1 -1
  60. package/dist/scripts/2877-40bb796d59-lite.chunk.js +2 -0
  61. package/dist/scripts/2877-40bb796d59-lite.chunk.js.map +1 -0
  62. package/dist/scripts/3020-2b9042238c-lite.chunk.js +2 -0
  63. package/dist/scripts/3020-2b9042238c-lite.chunk.js.map +1 -0
  64. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js → 3070-fb8eb47716-lite.chunk.js} +1 -1
  65. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js.map → 3070-fb8eb47716-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/3231-65bbddef35-lite.chunk.js +2 -0
  67. package/dist/scripts/3231-65bbddef35-lite.chunk.js.map +1 -0
  68. package/dist/scripts/3403-12c460d3f6-lite.chunk.js +2 -0
  69. package/dist/scripts/3403-12c460d3f6-lite.chunk.js.map +1 -0
  70. package/dist/scripts/3515-4de2fd7070-lite.chunk.js +2 -0
  71. package/dist/scripts/3515-4de2fd7070-lite.chunk.js.map +1 -0
  72. package/dist/scripts/3645-72ca9f63df-lite.chunk.js +3 -0
  73. package/dist/scripts/3645-72ca9f63df-lite.chunk.js.map +1 -0
  74. package/dist/scripts/3895-a54621a8c4-lite.chunk.js +2 -0
  75. package/dist/scripts/3895-a54621a8c4-lite.chunk.js.map +1 -0
  76. package/dist/scripts/458-35c635a2ce-lite.chunk.js +2 -0
  77. package/dist/scripts/458-35c635a2ce-lite.chunk.js.map +1 -0
  78. package/dist/scripts/4690-d77e912b9b-lite.chunk.js +2 -0
  79. package/dist/scripts/4690-d77e912b9b-lite.chunk.js.map +1 -0
  80. package/dist/scripts/{4718-6df54d3039-lite.chunk.js → 4718-2b58aa560d-lite.chunk.js} +1 -1
  81. package/dist/scripts/{4718-6df54d3039-lite.chunk.js.map → 4718-2b58aa560d-lite.chunk.js.map} +1 -1
  82. package/dist/scripts/5143-b6896dad98-lite.chunk.js +2 -0
  83. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +1 -0
  84. package/dist/scripts/5229-036b4d7a22-lite.chunk.js +2 -0
  85. package/dist/scripts/5229-036b4d7a22-lite.chunk.js.map +1 -0
  86. package/dist/scripts/{5242-e8f004818c-lite.chunk.js → 5242-2d752ff85e-lite.chunk.js} +1 -1
  87. package/dist/scripts/{5242-e8f004818c-lite.chunk.js.map → 5242-2d752ff85e-lite.chunk.js.map} +1 -1
  88. package/dist/scripts/5385-57d7021be7-lite.chunk.js +2 -0
  89. package/dist/scripts/5385-57d7021be7-lite.chunk.js.map +1 -0
  90. package/dist/scripts/{5446-de55c3df38-lite.chunk.js → 5446-1ef1639ef6-lite.chunk.js} +1 -1
  91. package/dist/scripts/{5446-de55c3df38-lite.chunk.js.map → 5446-1ef1639ef6-lite.chunk.js.map} +1 -1
  92. package/dist/scripts/5595-f33ed220ce-lite.chunk.js +2 -0
  93. package/dist/scripts/5595-f33ed220ce-lite.chunk.js.map +1 -0
  94. package/dist/scripts/{5936-4cac311002-lite.chunk.js → 5936-1d99b03e7b-lite.chunk.js} +2 -2
  95. package/dist/scripts/5936-1d99b03e7b-lite.chunk.js.map +1 -0
  96. package/dist/scripts/5940-511beff2ee-lite.chunk.js +2 -0
  97. package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +1 -0
  98. package/dist/scripts/{610-27e5444f01-lite.chunk.js → 610-6dbeb5cd21-lite.chunk.js} +2 -2
  99. package/dist/scripts/610-6dbeb5cd21-lite.chunk.js.map +1 -0
  100. package/dist/scripts/6102-f1851eca08-lite.chunk.js +3 -0
  101. package/dist/scripts/6102-f1851eca08-lite.chunk.js.map +1 -0
  102. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js +2 -0
  103. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js.map +1 -0
  104. package/dist/scripts/{624-010454cb12-lite.chunk.js → 624-7df7efd486-lite.chunk.js} +3 -3
  105. package/dist/scripts/{624-010454cb12-lite.chunk.js.map → 624-7df7efd486-lite.chunk.js.map} +1 -1
  106. package/dist/scripts/6263-d74b5b3529-lite.chunk.js +2 -0
  107. package/dist/scripts/6263-d74b5b3529-lite.chunk.js.map +1 -0
  108. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js → 6274-15e61b83dc-lite.chunk.js} +1 -1
  109. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js.map → 6274-15e61b83dc-lite.chunk.js.map} +1 -1
  110. package/dist/scripts/6415-9d8b88c713-lite.chunk.js +2 -0
  111. package/dist/scripts/6415-9d8b88c713-lite.chunk.js.map +1 -0
  112. package/dist/scripts/{6433-fe9efef305-lite.chunk.js → 6433-8dd152d999-lite.chunk.js} +2 -2
  113. package/dist/scripts/{6433-fe9efef305-lite.chunk.js.map → 6433-8dd152d999-lite.chunk.js.map} +1 -1
  114. package/dist/scripts/6470-6216086d63-lite.chunk.js +2 -0
  115. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +1 -0
  116. package/dist/scripts/6531-597262a181-lite.chunk.js +2 -0
  117. package/dist/scripts/6531-597262a181-lite.chunk.js.map +1 -0
  118. package/dist/scripts/6572-4dda098022-lite.chunk.js +2 -0
  119. package/dist/scripts/6572-4dda098022-lite.chunk.js.map +1 -0
  120. package/dist/scripts/6587-08d5d85b71-lite.chunk.js +2 -0
  121. package/dist/scripts/6587-08d5d85b71-lite.chunk.js.map +1 -0
  122. package/dist/scripts/671-36d34edbf3-lite.chunk.js +2 -0
  123. package/dist/scripts/671-36d34edbf3-lite.chunk.js.map +1 -0
  124. package/dist/scripts/{6725-23b09d47ae-lite.chunk.js → 6725-20b1e8b1d2-lite.chunk.js} +2 -2
  125. package/dist/scripts/6725-20b1e8b1d2-lite.chunk.js.map +1 -0
  126. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js +3 -0
  127. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js.map +1 -0
  128. package/dist/scripts/6752-1a9837a40f-lite.chunk.js +2 -0
  129. package/dist/scripts/6752-1a9837a40f-lite.chunk.js.map +1 -0
  130. package/dist/scripts/6850-8770bfeefb-lite.chunk.js +3 -0
  131. package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +1 -0
  132. package/dist/scripts/{6863-f04753549c-lite.chunk.js → 6863-b606b8b1e7-lite.chunk.js} +2 -2
  133. package/dist/scripts/{6863-f04753549c-lite.chunk.js.map → 6863-b606b8b1e7-lite.chunk.js.map} +1 -1
  134. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js → 6930-1a681d42fd-lite.chunk.js} +1 -1
  135. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js.map → 6930-1a681d42fd-lite.chunk.js.map} +1 -1
  136. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js +2 -0
  137. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +1 -0
  138. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js +2 -0
  139. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js.map +1 -0
  140. package/dist/scripts/714-9ab1608522-lite.chunk.js +2 -0
  141. package/dist/scripts/714-9ab1608522-lite.chunk.js.map +1 -0
  142. package/dist/scripts/7533-e079b2af18-lite.chunk.js +2 -0
  143. package/dist/scripts/7533-e079b2af18-lite.chunk.js.map +1 -0
  144. package/dist/scripts/7715-2146591c84-lite.chunk.js +2 -0
  145. package/dist/scripts/7715-2146591c84-lite.chunk.js.map +1 -0
  146. package/dist/scripts/7855-92e790c403-lite.chunk.js +2 -0
  147. package/dist/scripts/7855-92e790c403-lite.chunk.js.map +1 -0
  148. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js → 7987-db0037709c-lite.chunk.js} +1 -1
  149. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js.map → 7987-db0037709c-lite.chunk.js.map} +1 -1
  150. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js → 8046-836d3b8e04-lite.chunk.js} +1 -1
  151. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js.map → 8046-836d3b8e04-lite.chunk.js.map} +1 -1
  152. package/dist/scripts/{2877-db49c758e9-lite.chunk.js → 8157-521ad0f974-lite.chunk.js} +2 -2
  153. package/dist/scripts/{2877-db49c758e9-lite.chunk.js.map → 8157-521ad0f974-lite.chunk.js.map} +1 -1
  154. package/dist/scripts/8192-ec320614d9-lite.chunk.js +2 -0
  155. package/dist/scripts/8192-ec320614d9-lite.chunk.js.map +1 -0
  156. package/dist/scripts/8218-f3b81c7287-lite.chunk.js +2 -0
  157. package/dist/scripts/8218-f3b81c7287-lite.chunk.js.map +1 -0
  158. package/dist/scripts/8316-dad1824a5f-lite.chunk.js +2 -0
  159. package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +1 -0
  160. package/dist/scripts/8354-e30261b594-lite.chunk.js +2 -0
  161. package/dist/scripts/8354-e30261b594-lite.chunk.js.map +1 -0
  162. package/dist/scripts/8772-42c022effc-lite.chunk.js +2 -0
  163. package/dist/scripts/8772-42c022effc-lite.chunk.js.map +1 -0
  164. package/dist/scripts/8800-c88fefeace-lite.chunk.js +2 -0
  165. package/dist/scripts/8800-c88fefeace-lite.chunk.js.map +1 -0
  166. package/dist/scripts/8830-452a71751f-lite.chunk.js +2 -0
  167. package/dist/scripts/8830-452a71751f-lite.chunk.js.map +1 -0
  168. package/dist/scripts/8987-32190552fa-lite.chunk.js +2 -0
  169. package/dist/scripts/8987-32190552fa-lite.chunk.js.map +1 -0
  170. package/dist/scripts/9016-c359251f82-lite.chunk.js +3 -0
  171. package/dist/scripts/9016-c359251f82-lite.chunk.js.map +1 -0
  172. package/dist/scripts/{9226-4cff4347a9-lite.chunk.js → 9226-c236c0eeb1-lite.chunk.js} +2 -2
  173. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +1 -0
  174. package/dist/scripts/9230-d731020b59-lite.chunk.js +3 -0
  175. package/dist/scripts/9230-d731020b59-lite.chunk.js.map +1 -0
  176. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js → 9395-9175b9efcc-lite.chunk.js} +3 -3
  177. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.map → 9395-9175b9efcc-lite.chunk.js.map} +1 -1
  178. package/dist/scripts/9417-70c6489c67-lite.chunk.js +2 -0
  179. package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +1 -0
  180. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js → 9478-9b168ddc36-lite.chunk.js} +3 -3
  181. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.map → 9478-9b168ddc36-lite.chunk.js.map} +1 -1
  182. package/dist/scripts/{953-b56e03bb19-lite.chunk.js → 953-85fc5f8dbf-lite.chunk.js} +3 -3
  183. package/dist/scripts/{953-b56e03bb19-lite.chunk.js.map → 953-85fc5f8dbf-lite.chunk.js.map} +1 -1
  184. package/dist/scripts/9620-630f9e6344-lite.chunk.js +3 -0
  185. package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +1 -0
  186. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js +2 -0
  187. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js.map +1 -0
  188. package/dist/scripts/9829-097052a2c6-lite.chunk.js +2 -0
  189. package/dist/scripts/9829-097052a2c6-lite.chunk.js.map +1 -0
  190. package/dist/scripts/{9843-a3fe640adb-lite.chunk.js → 9843-ec032b6388-lite.chunk.js} +2 -2
  191. package/dist/scripts/9843-ec032b6388-lite.chunk.js.map +1 -0
  192. package/dist/scripts/986-ea6d103647-lite.chunk.js +3 -0
  193. package/dist/scripts/986-ea6d103647-lite.chunk.js.map +1 -0
  194. package/dist/scripts/bundle-d20cb66d1a.min.js +3 -0
  195. package/dist/scripts/bundle-d20cb66d1a.min.js.map +1 -0
  196. package/package.json +1 -1
  197. package/dist/css/6102-lite-4c795e86b6.chunk.css +0 -39
  198. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js +0 -2
  199. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js.map +0 -1
  200. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js +0 -2
  201. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js.map +0 -1
  202. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js +0 -2
  203. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js.map +0 -1
  204. package/dist/scripts/1518-be314d1248-lite.chunk.js.map +0 -1
  205. package/dist/scripts/1672-e792631d8e-lite.chunk.js +0 -3
  206. package/dist/scripts/1672-e792631d8e-lite.chunk.js.map +0 -1
  207. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js +0 -2
  208. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js.map +0 -1
  209. package/dist/scripts/1818-ca1e552c00-lite.chunk.js +0 -2
  210. package/dist/scripts/1818-ca1e552c00-lite.chunk.js.map +0 -1
  211. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js +0 -2
  212. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js.map +0 -1
  213. package/dist/scripts/1905-a01549439f-lite.chunk.js +0 -2
  214. package/dist/scripts/1905-a01549439f-lite.chunk.js.map +0 -1
  215. package/dist/scripts/209-148abe2aa1-lite.chunk.js.map +0 -1
  216. package/dist/scripts/2137-a993d13a9a-lite.chunk.js +0 -2
  217. package/dist/scripts/2137-a993d13a9a-lite.chunk.js.map +0 -1
  218. package/dist/scripts/2199-22d8809e5e-lite.chunk.js +0 -2
  219. package/dist/scripts/2199-22d8809e5e-lite.chunk.js.map +0 -1
  220. package/dist/scripts/2703-aebc378d71-lite.chunk.js +0 -2
  221. package/dist/scripts/2703-aebc378d71-lite.chunk.js.map +0 -1
  222. package/dist/scripts/3020-9f647705a0-lite.chunk.js +0 -2
  223. package/dist/scripts/3020-9f647705a0-lite.chunk.js.map +0 -1
  224. package/dist/scripts/3231-7e9965499c-lite.chunk.js +0 -2
  225. package/dist/scripts/3231-7e9965499c-lite.chunk.js.map +0 -1
  226. package/dist/scripts/3355-e65e88adaa-lite.chunk.js +0 -2
  227. package/dist/scripts/3355-e65e88adaa-lite.chunk.js.map +0 -1
  228. package/dist/scripts/3403-a2111c4df8-lite.chunk.js +0 -2
  229. package/dist/scripts/3403-a2111c4df8-lite.chunk.js.map +0 -1
  230. package/dist/scripts/3515-925a7caeac-lite.chunk.js +0 -2
  231. package/dist/scripts/3515-925a7caeac-lite.chunk.js.map +0 -1
  232. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js +0 -2
  233. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js.map +0 -1
  234. package/dist/scripts/3645-720267b321-lite.chunk.js +0 -3
  235. package/dist/scripts/3645-720267b321-lite.chunk.js.map +0 -1
  236. package/dist/scripts/3895-f7f4926229-lite.chunk.js +0 -2
  237. package/dist/scripts/3895-f7f4926229-lite.chunk.js.map +0 -1
  238. package/dist/scripts/458-b99f17e0a1-lite.chunk.js +0 -2
  239. package/dist/scripts/458-b99f17e0a1-lite.chunk.js.map +0 -1
  240. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js +0 -2
  241. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js.map +0 -1
  242. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js +0 -2
  243. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js.map +0 -1
  244. package/dist/scripts/5229-f683f705ab-lite.chunk.js +0 -2
  245. package/dist/scripts/5229-f683f705ab-lite.chunk.js.map +0 -1
  246. package/dist/scripts/5385-50d4828b70-lite.chunk.js +0 -2
  247. package/dist/scripts/5385-50d4828b70-lite.chunk.js.map +0 -1
  248. package/dist/scripts/5595-c622318cd2-lite.chunk.js +0 -2
  249. package/dist/scripts/5595-c622318cd2-lite.chunk.js.map +0 -1
  250. package/dist/scripts/5936-4cac311002-lite.chunk.js.map +0 -1
  251. package/dist/scripts/5940-d841fd31d8-lite.chunk.js +0 -2
  252. package/dist/scripts/5940-d841fd31d8-lite.chunk.js.map +0 -1
  253. package/dist/scripts/610-27e5444f01-lite.chunk.js.map +0 -1
  254. package/dist/scripts/6102-30960404a9-lite.chunk.js +0 -3
  255. package/dist/scripts/6102-30960404a9-lite.chunk.js.map +0 -1
  256. package/dist/scripts/6189-13009e2ba9-lite.chunk.js +0 -2
  257. package/dist/scripts/6189-13009e2ba9-lite.chunk.js.map +0 -1
  258. package/dist/scripts/6263-82ae071643-lite.chunk.js +0 -2
  259. package/dist/scripts/6263-82ae071643-lite.chunk.js.map +0 -1
  260. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js +0 -2
  261. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js.map +0 -1
  262. package/dist/scripts/6531-835c743f1b-lite.chunk.js +0 -2
  263. package/dist/scripts/6531-835c743f1b-lite.chunk.js.map +0 -1
  264. package/dist/scripts/6572-0aa0696621-lite.chunk.js +0 -2
  265. package/dist/scripts/6572-0aa0696621-lite.chunk.js.map +0 -1
  266. package/dist/scripts/671-300e93ac50-lite.chunk.js +0 -2
  267. package/dist/scripts/671-300e93ac50-lite.chunk.js.map +0 -1
  268. package/dist/scripts/6725-23b09d47ae-lite.chunk.js.map +0 -1
  269. package/dist/scripts/6741-937ae1865f-lite.chunk.js +0 -3
  270. package/dist/scripts/6741-937ae1865f-lite.chunk.js.map +0 -1
  271. package/dist/scripts/6846-08b00decd8-lite.chunk.js +0 -2
  272. package/dist/scripts/6846-08b00decd8-lite.chunk.js.map +0 -1
  273. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js +0 -2
  274. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js.map +0 -1
  275. package/dist/scripts/7052-4c36846f80-lite.chunk.js +0 -3
  276. package/dist/scripts/7052-4c36846f80-lite.chunk.js.map +0 -1
  277. package/dist/scripts/7097-af8c032133-lite.chunk.js +0 -2
  278. package/dist/scripts/7097-af8c032133-lite.chunk.js.map +0 -1
  279. package/dist/scripts/714-2e52398bb7-lite.chunk.js +0 -2
  280. package/dist/scripts/714-2e52398bb7-lite.chunk.js.map +0 -1
  281. package/dist/scripts/7187-414ac79d42-lite.chunk.js +0 -2
  282. package/dist/scripts/7187-414ac79d42-lite.chunk.js.map +0 -1
  283. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js +0 -2
  284. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js.map +0 -1
  285. package/dist/scripts/7630-72099a7a26-lite.chunk.js +0 -2
  286. package/dist/scripts/7630-72099a7a26-lite.chunk.js.map +0 -1
  287. package/dist/scripts/7715-255bbe16ef-lite.chunk.js +0 -2
  288. package/dist/scripts/7715-255bbe16ef-lite.chunk.js.map +0 -1
  289. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js +0 -2
  290. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js.map +0 -1
  291. package/dist/scripts/8085-cde67e66df-lite.chunk.js +0 -2
  292. package/dist/scripts/8085-cde67e66df-lite.chunk.js.map +0 -1
  293. package/dist/scripts/8139-01ccbc0539-lite.chunk.js +0 -3
  294. package/dist/scripts/8139-01ccbc0539-lite.chunk.js.map +0 -1
  295. package/dist/scripts/8218-70b601169b-lite.chunk.js +0 -2
  296. package/dist/scripts/8218-70b601169b-lite.chunk.js.map +0 -1
  297. package/dist/scripts/8316-7ab8f108de-lite.chunk.js +0 -2
  298. package/dist/scripts/8316-7ab8f108de-lite.chunk.js.map +0 -1
  299. package/dist/scripts/8354-a03785518e-lite.chunk.js +0 -2
  300. package/dist/scripts/8354-a03785518e-lite.chunk.js.map +0 -1
  301. package/dist/scripts/8772-05879c5e99-lite.chunk.js +0 -2
  302. package/dist/scripts/8772-05879c5e99-lite.chunk.js.map +0 -1
  303. package/dist/scripts/8830-0d2766a50f-lite.chunk.js +0 -2
  304. package/dist/scripts/8830-0d2766a50f-lite.chunk.js.map +0 -1
  305. package/dist/scripts/8987-12841dd69c-lite.chunk.js +0 -2
  306. package/dist/scripts/8987-12841dd69c-lite.chunk.js.map +0 -1
  307. package/dist/scripts/9016-df37abbca9-lite.chunk.js +0 -3
  308. package/dist/scripts/9016-df37abbca9-lite.chunk.js.map +0 -1
  309. package/dist/scripts/9226-4cff4347a9-lite.chunk.js.map +0 -1
  310. package/dist/scripts/9230-c79353d3ee-lite.chunk.js +0 -3
  311. package/dist/scripts/9230-c79353d3ee-lite.chunk.js.map +0 -1
  312. package/dist/scripts/9417-7313907916-lite.chunk.js +0 -2
  313. package/dist/scripts/9417-7313907916-lite.chunk.js.map +0 -1
  314. package/dist/scripts/9620-8814c74837-lite.chunk.js +0 -3
  315. package/dist/scripts/9620-8814c74837-lite.chunk.js.map +0 -1
  316. package/dist/scripts/9839-5befd54d51-lite.chunk.js +0 -3
  317. package/dist/scripts/9839-5befd54d51-lite.chunk.js.map +0 -1
  318. package/dist/scripts/9843-a3fe640adb-lite.chunk.js.map +0 -1
  319. package/dist/scripts/bundle-48ad415564.min.js +0 -3
  320. package/dist/scripts/bundle-48ad415564.min.js.map +0 -1
  321. package/dist/css/{7422-lite-22ea72f8e3.chunk.css → 7422-lite-c999db664b.chunk.css} +1 -1
  322. /package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.LICENSE.txt → 1379-3a1ba4b4d9-lite.chunk.js.LICENSE.txt} +0 -0
  323. /package/dist/scripts/{1672-e792631d8e-lite.chunk.js.LICENSE.txt → 1672-672f298d82-lite.chunk.js.LICENSE.txt} +0 -0
  324. /package/dist/scripts/{3645-720267b321-lite.chunk.js.LICENSE.txt → 2004-4e2d98041c-lite.chunk.js.LICENSE.txt} +0 -0
  325. /package/dist/scripts/{6102-30960404a9-lite.chunk.js.LICENSE.txt → 3645-72ca9f63df-lite.chunk.js.LICENSE.txt} +0 -0
  326. /package/dist/scripts/{624-010454cb12-lite.chunk.js.LICENSE.txt → 6102-f1851eca08-lite.chunk.js.LICENSE.txt} +0 -0
  327. /package/dist/scripts/{6433-fe9efef305-lite.chunk.js.LICENSE.txt → 624-7df7efd486-lite.chunk.js.LICENSE.txt} +0 -0
  328. /package/dist/scripts/{6741-937ae1865f-lite.chunk.js.LICENSE.txt → 6433-8dd152d999-lite.chunk.js.LICENSE.txt} +0 -0
  329. /package/dist/scripts/{7052-4c36846f80-lite.chunk.js.LICENSE.txt → 6741-ff3e4a33a5-lite.chunk.js.LICENSE.txt} +0 -0
  330. /package/dist/scripts/{8139-01ccbc0539-lite.chunk.js.LICENSE.txt → 6850-8770bfeefb-lite.chunk.js.LICENSE.txt} +0 -0
  331. /package/dist/scripts/{9016-df37abbca9-lite.chunk.js.LICENSE.txt → 9016-c359251f82-lite.chunk.js.LICENSE.txt} +0 -0
  332. /package/dist/scripts/{9230-c79353d3ee-lite.chunk.js.LICENSE.txt → 9230-d731020b59-lite.chunk.js.LICENSE.txt} +0 -0
  333. /package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.LICENSE.txt → 9395-9175b9efcc-lite.chunk.js.LICENSE.txt} +0 -0
  334. /package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.LICENSE.txt → 9478-9b168ddc36-lite.chunk.js.LICENSE.txt} +0 -0
  335. /package/dist/scripts/{953-b56e03bb19-lite.chunk.js.LICENSE.txt → 953-85fc5f8dbf-lite.chunk.js.LICENSE.txt} +0 -0
  336. /package/dist/scripts/{9620-8814c74837-lite.chunk.js.LICENSE.txt → 9620-630f9e6344-lite.chunk.js.LICENSE.txt} +0 -0
  337. /package/dist/scripts/{9839-5befd54d51-lite.chunk.js.LICENSE.txt → 986-ea6d103647-lite.chunk.js.LICENSE.txt} +0 -0
  338. /package/dist/scripts/{bundle-48ad415564.min.js.LICENSE.txt → bundle-d20cb66d1a.min.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/1518-be314d1248-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/widget-header.scss","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/WidgetHeader.tsx","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/partial-loading/PartialWidgetHeader.tsx","file:///app/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidget.tsx","file:///app/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetReducer.tsx","file:///app/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.ts","file:///app/packages/libs/shared/src/components/widgets/fixed-widget/PartialFixedWidget.tsx","file:///app/packages/libs/shared/src/utils/DragHelper.ts","file:///app/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file:///app/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss","file:///app/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","file:///app/packages/libs/shared/src/enums/CssMeasurement.ts","file:///app/packages/libs/shared/src/enums/WidgetContents.ts","file:///app/packages/libs/shared/src/enums/WidgetInteraction.ts","file:///app/packages/libs/shared/src/components/widgets/fixed-widget/fixed-widget.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"yv0FS\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions, ClickDescriptor } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './widget-header.scss';\n\nconst namespace = 'shared.widgetHeader';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface WidgetHeaderProps {\n name: string;\n description: string;\n\n appLink?: Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showSeeMoreLink?: boolean;\n onClick?: () => void;\n}\n\nfunction SeeMore(props: WidgetHeaderProps) {\n return (\n <div className={`ms-3 ${styles.seeMore}`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData }\n analyticsOptions={{ ...props.analyticsOptions, descriptor: ClickDescriptor.SeeMore }}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n >\n <p className='hover-text-underline text-dark curated-widget-heading'>{getPhrase('seeMore')}</p>\n </AppLink>\n </div>\n );\n}\n\nexport function WidgetHeader(props: WidgetHeaderProps): JSX.Element {\n const hasDescription = !!props.description;\n\n if (!props.name && !props.description)\n return <></>;\n\n return (\n <div className='curated-widget-header'>\n <div className='d-flex justify-content-between'>\n {!!props.name && (\n <div className={styles.title}>\n <AppLink\n appLink={props.appLink}\n analyticsOptions={props.analyticsOptions}\n analyticsData={props.analyticsData}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n onClick={props.onClick}\n >\n <h2 className='h4 curated-widget-heading'>\n {props.name}\n </h2>\n </AppLink>\n </div>\n )}\n {!!props.appLink && !hasDescription && !!props.showSeeMoreLink && <SeeMore {...props}/>}\n </div>\n \n {hasDescription && (\n <div className='d-flex justify-content-between align-items-end'>\n <p className={`description curated-widget-description ${styles.description}`}>\n <span>{props.description}</span>\n </p>\n {!!props.appLink && !!props.showSeeMoreLink && <SeeMore {...props}/> }\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\ninterface PartialWidgetHeaderProps {\n hideHeading?: boolean;\n hideDescription?: boolean;\n}\n\nexport function PartialWidgetHeader(props: PartialWidgetHeaderProps): JSX.Element {\n if (props.hideDescription && props.hideHeading)\n return <></>;\n\n return (\n <div className='curated-widget-header'>\n {!props.hideHeading && (\n <div className='partial-loading-background curated-widget-heading' style={{ height: '1.5rem', width: '12rem' }} />\n )}\n\n {!props.hideDescription && (\n <div className='partial-loading-background curated-widget-description' style={{ height: '1.434375rem', width: '16rem' }} />\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { WidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/WidgetHeader';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { useHover } from 'libs/shared/hooks/UseHover';\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\nimport { WidgetContext, WidgetType } from 'libs/shared/interfaces';\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\n\nimport { FixedWidgetReducer, initialWidgetState, lazyWidgetInit } from './FixedWidgetReducer';\nimport { FixedWidgetControls, formatData, getCollectionAppLink, getOnTouchEnd, getOnTouchStart, getShouldPreload, hideBackButton, hideNextButton, useControlsRef, useFetchData } from './FixedWidgetUtils';\nimport { PartialFixedWidget } from './PartialFixedWidget';\n\nimport styles from './fixed-widget.scss';\n\nconst namespace = 'shared.fixedWidget';\n\n// Max number of widget items whenever `props.limitTotalItems` is `true`\nexport const WIDGET_ITEM_LIMIT = 12;\n\ninterface BaseFixedWidgetProps<TChildProps extends FixedWidgetItemProps> {\n id?: string;\n name?: string;\n description?: string;\n\n type: WidgetType;\n contents: WidgetContents;\n thumbnailSize?: ImageSize;\n minimumItemCount?: number;\n limitTotalItems?: boolean;\n setData?: (data: any) => any[] | null;\n\n childComponent: (props: FixedWidgetItemProps) => JSX.Element;\n extraChildComponentProps: Omit<TChildProps, keyof FixedWidgetItemProps>;\n partialComponent?: React.ElementType;\n getChildAppLink?: (item?: any) => Core.AppLink;\n appLink?: Core.AppLink;\n onClick?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n getWidgetItemAnalyticsData?: (data: any) => HashObject;\n\n onNext?: () => void;\n onPrevious?: () => void;\n controlsRef?: React.MutableRefObject<FixedWidgetControls>;\n touchBehavior?: 'drag' | 'scroll';\n\n leftWidgetButtonClassName?: string;\n rightWidgetButtonClassName?: string;\n\n hideName?: boolean;\n hideBleedingContent?: boolean;\n hideExtendedClickableArea?: boolean;\n hideButtons?: boolean;\n}\n\ntype FixedWidgetWithFetchProps<TChildProps extends FixedWidgetItemProps> = BaseFixedWidgetProps<TChildProps> & {\n lazyLoad: true;\n collection?: never;\n fetch: (...args: any) => Flight.Response<any>;\n prefetched?: false;\n};\n\ntype FixedWidgetWithCollectionProps<TChildProps extends FixedWidgetItemProps> = BaseFixedWidgetProps<TChildProps> & {\n collection: any;\n lazyLoad?: false;\n fetch?: never;\n prefetched: true;\n};\n\nexport type FixedWidgetProps<TChildProps extends FixedWidgetItemProps> =\n FixedWidgetWithCollectionProps<TChildProps> |\n FixedWidgetWithFetchProps<TChildProps>;\n\nFixedWidget.defaultProps = {\n type: WidgetType.Row,\n minimumItemCount: 0,\n extraChildComponentProps: {},\n touchBehavior: 'scroll'\n};\n\nexport function FixedWidget<TChildProps extends FixedWidgetItemProps>(\n props: FixedWidgetProps<TChildProps>\n): JSX.Element {\n const { analyticsData = {}, getWidgetItemAnalyticsData = () => {} } = props;\n\n const [ initialTouchX, setInitialTouchX ] = React.useState(null);\n const [ containerWidth, setContainerWidth ] = React.useState(null);\n const [ percentageDragged, setPercentageDragged ] = React.useState(0);\n\n const [ state, dispatch ] = React.useReducer(FixedWidgetReducer, initialWidgetState, lazyWidgetInit);\n\n const containerRef = React.useRef(null);\n const [ buttonsRef, isHovering ] = useHover<HTMLDivElement>();\n\n const [ isHoveringOnFarLeft, setIsHoveringOnFarLeft ] = React.useState(false);\n const [ isHoveringOnFarRight, setIsHoveringOnFarRight ] = React.useState(false);\n\n useControlsRef(props.controlsRef, dispatch);\n\n const { ref, inView: shouldFetch } = useLazyLoad({ prevent: !props.lazyLoad });\n\n const response = useFetchData(props, dispatch, shouldFetch);\n\n function getWidgetCollection(limit: number): any[] {\n const responseData = props.prefetched ? props.collection : response.data;\n\n if (!responseData)\n return [];\n\n const formattedResponse = FunctionHelper.isFunction(props.setData) ? props.setData(responseData) : responseData;\n return formattedResponse?.slice(0, limit) ?? [];\n }\n\n const widgetItems = getWidgetCollection(props.limitTotalItems ? WIDGET_ITEM_LIMIT : Infinity);\n\n function hasMoreItems(): boolean {\n if (!props.limitTotalItems)\n return false;\n\n const unlimitedItems = getWidgetCollection(Infinity);\n\n return unlimitedItems.length > widgetItems.length;\n }\n\n const hasReachedEnd = state.offset === widgetItems.length;\n\n const breakpoints = useBreakpoints();\n\n React.useEffect(() => {\n dispatch({\n type: WidgetInteraction.Resize,\n payload: { breakpoints }\n });\n }, [breakpoints]);\n\n React.useEffect(() => {\n if (!props.prefetched)\n return;\n\n let type = props.type;\n\n // The ResourcesTile widget type is deprecated. We render the Row type instead in this case\n if (type === WidgetType.ResourcesTile)\n type = WidgetType.Row;\n\n // If the prefetched collection changes, re-initialize the widget state.\n dispatch({\n type: WidgetInteraction.Init,\n payload: {\n breakpoints,\n type,\n contents: props.contents,\n totalItems: widgetItems.length\n }\n });\n }, [ props.collection?.length, props.prefetched ]);\n\n function onSetIsHovering(hovering: boolean, index: number): void {\n if (widgetItems.length === state.viewableItems) {\n setIsHoveringOnFarLeft(hovering);\n setIsHoveringOnFarRight(hovering);\n return;\n }\n\n // This callback will hide the far left button if the user is hovering on the far left widget item.\n // Same goes for the far right button & widget item.\n if (index + 1 === widgetItems.length) {\n setIsHoveringOnFarRight(hovering);\n return;\n }\n\n if (index === 0) {\n setIsHoveringOnFarLeft(hovering);\n return;\n }\n\n if ((index + 1 - (state.offset % state.viewableItems)) % state.viewableItems === 0) {\n setIsHoveringOnFarRight(hovering);\n return;\n }\n\n if ((index - (state.offset % state.viewableItems)) % state.viewableItems === 0) {\n setIsHoveringOnFarLeft(hovering);\n return;\n }\n }\n\n function shouldScroll(): boolean {\n if (props.touchBehavior !== 'scroll')\n return false;\n\n return UserAgentHelper.isTabletOrMobile();\n }\n\n const widgetContext: WidgetContext = {\n type: state.type,\n collectionSize: widgetItems.length,\n contents: props.contents\n };\n\n const data = formatData(props, response?.data || props.collection);\n\n if (response?.hasError)\n return <></>;\n\n if (!props.prefetched && !response?.data) {\n const PartialComponent = props.partialComponent || PartialFixedWidget;\n\n return (\n <div ref={ref}>\n <PartialComponent />\n </div>\n );\n }\n\n if (!widgetItems.length || widgetItems.length < props.minimumItemCount)\n return <></>;\n\n const WidgetItemComponent = props.childComponent;\n\n const getSliderAnalyticsData = (type: WidgetInteraction) => ({\n id: data?.id,\n name: data?.name,\n direction: type === WidgetInteraction.Next ? 'right' : 'left',\n ...props.analyticsData\n });\n\n const showSeeMoreButton = (() => {\n // Only show if there is an applink and we've reached the end of the widget\n if (!props.appLink || !hasReachedEnd)\n return false;\n\n // Also only show if we've exceeded the widget limit, if one has been set\n return hasMoreItems();\n })();\n\n const hideButtons = shouldScroll() || props.hideButtons;\n const hideBackGradient = state.offset === state.viewableItems;\n const hideNextGradient = widgetItems.length <= state.offset;\n const hasMoreThanViewable = state.viewableItems < widgetItems.length;\n\n return (\n <div className='mx-n4 mb-n3'>\n <div className={shouldScroll() ? 'pb-3 overflow-hidden' : 'px-4 pb-3 overflow-hidden'}>\n {!props.hideName &&\n <div className={shouldScroll() ? 'px-4' : ''}>\n <WidgetHeader\n name={data.name}\n description={data.description}\n appLink={getCollectionAppLink(props.appLink, data)}\n onClick={props.onClick}\n analyticsData={{ id: data?.id, name: data?.name, ...props.analyticsData }}\n analyticsOptions={WidgetHelper.getSliderHeadingAnalyticsOptions()}\n showSeeMoreLink={hasMoreThanViewable}\n />\n </div>\n }\n <div\n ref={buttonsRef}\n className={`position-relative mx-n1 ${shouldScroll() ? `${styles.mobileScroll} px-4` : ''} ${props.hideBleedingContent ? 'overflow-hidden-x' : ''}`}\n >\n {!hideButtons && (\n <>\n {(!props.hideBleedingContent && !isHoveringOnFarLeft && !hideBackGradient) && (\n <div className={styles.leftOverflowGradient} />\n )}\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => {\n dispatch({ type: WidgetInteraction.Previous });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Previous),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n\n FunctionHelper.isFunction(props.onPrevious) && props.onPrevious();\n }}\n hide={!!props.hideButtons || hideBackButton(\n isHoveringOnFarLeft,\n isHovering,\n state.offset,\n state.viewableItems,\n widgetItems.length\n )}\n contents={props.contents}\n className={props.leftWidgetButtonClassName}\n hideExtendedClickableArea={props.hideExtendedClickableArea}\n state={state}\n />\n </>\n )}\n \n <SlidingListContainer\n position={state.position}\n positionType={CssMeasurement.Percentage}\n onTouchMove={props.touchBehavior === 'drag' && getOnTouchStart(\n state,\n containerRef,\n containerWidth,\n setContainerWidth,\n initialTouchX,\n setInitialTouchX,\n setPercentageDragged\n )}\n onTouchEnd={props.touchBehavior === 'drag' && getOnTouchEnd(\n containerRef,\n setInitialTouchX,\n percentageDragged,\n setPercentageDragged,\n dispatch,\n props.onNext,\n props.onPrevious\n )}\n ref={containerRef}\n percentageDragged={percentageDragged}\n >\n {widgetItems.map((widgetItem: any, index: number) => {\n return (\n <WidgetItemComponent\n key={`${widgetItem.id}:${index}`}\n data={widgetItem}\n collectionAppLink={props.appLink}\n getAppLink={props.getChildAppLink ? () => props.getChildAppLink(widgetItem) : () => null}\n context={widgetContext}\n preloadImage={getShouldPreload(state, widgetItems)(widgetItem)}\n thumbnailSize={props.thumbnailSize || ImageSize.Medium}\n analyticsData={{\n widgetId: data.id,\n widgetName: data.name,\n itemIndex: index,\n ...analyticsData,\n ...getWidgetItemAnalyticsData(widgetItem)\n }}\n analyticsOptions={{ ...props.analyticsOptions, ...WidgetHelper.getSliderItemAnalyticsOptions() }}\n onHover={(hovering: boolean) => {\n if (shouldScroll())\n return;\n\n /**\n * For some reason this needs to be called after a set timeout, otherwise\n * the `useHover` listener on the `buttonsRef` element will not detect it's hover\n * event. A delay of 200ms is used for when `hovering` is false so that the effects of\n * setting `isHoveringOnFarX` aren't applied until the CSS transform transition has\n * completed.\n */\n window.setTimeout(() => {\n onSetIsHovering(hovering, index);\n }, hovering ? 0 : 200);\n }}\n {...props.extraChildComponentProps}\n />\n );\n })}\n {shouldScroll() && <div className='ps-4'></div>}\n </SlidingListContainer>\n\n {!hideButtons && (\n <>\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => {\n if (showSeeMoreButton) {\n Core.AppLinkHelper.trigger(getCollectionAppLink(props.appLink, data));\n return;\n }\n\n dispatch({ type: WidgetInteraction.Next });\n AnalyticsHelper.logUserAction(\n getSliderAnalyticsData(WidgetInteraction.Next),\n WidgetHelper.getSliderAnalyticsOptions()\n );\n\n FunctionHelper.isFunction(props.onNext) && props.onNext();\n }}\n hide={!!props.hideButtons || hideNextButton(\n isHoveringOnFarRight,\n isHovering,\n state.offset,\n state.viewableItems,\n widgetItems.length,\n showSeeMoreButton\n )}\n contents={props.contents}\n hoverText={showSeeMoreButton && LanguageService.getPhrase(namespace, 'seeMore')}\n className={props.rightWidgetButtonClassName}\n hideExtendedClickableArea={props.hideExtendedClickableArea}\n state={state}\n />\n {(!props.hideBleedingContent && !isHoveringOnFarRight && !hideNextGradient) && (\n <div className={styles.rightOverflowGradient} />\n )}\n </>\n )}\n </div>\n </div>\n </div>\n );\n}","import { ReducerActions } from 'libs/common/react/interfaces';\n\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { WidgetType } from 'libs/shared/interfaces';\n\nimport { getComputeFunction } from './FixedWidgetUtils';\n\nexport interface FixedWidgetPayload {\n breakpoints?: Breakpoints;\n contents?: WidgetContents;\n type?: WidgetType;\n offset?: number;\n totalItems?: number;\n}\n\nexport interface FixedWidgetState {\n // Current position within the widget collection\n offset: number;\n // Number of items viewable in slider for the current breakpoint/viewport size\n viewableItems: number;\n // Relative position of slider in the window. Used for an inline translate3d().\n position: number;\n // Type of widget being managed. May change on `Resize`.\n type: WidgetType;\n // What object type the widget uses :vomit: (this needs to be phased out of this god forsaken component)\n contents: WidgetContents;\n // Total number of items in the widget\n totalItems: number;\n}\n\nexport const initialWidgetState: FixedWidgetState = {\n offset: 0,\n viewableItems: 4,\n position: 0,\n totalItems: 0,\n contents: null,\n type: WidgetType.Row\n};\n\nconst computeNextPosition = (prevState: FixedWidgetState) => {\n const { viewableItems, offset, position, totalItems } = prevState;\n\n const remainingCount = totalItems - offset;\n\n /**\n * If the remaining items are evening divisible by the items in view, or,\n * we have more items that can be displayed in the view, move the slider a full 100%.\n */\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\n return {\n position: position - 100,\n offset: offset + viewableItems\n };\n\n /**\n * Where there are less items than we can show in a full slide, \n * calculate the % movement required to only show those items.\n */\n if (remainingCount < viewableItems)\n return {\n position: position - (remainingCount / viewableItems * 100),\n offset: offset + remainingCount\n };\n\n /**\n * Default back to the current state as a fallback\n */\n return {\n position: position,\n offset: offset\n };\n};\n\nconst computePreviousPosition = (prevState: FixedWidgetState) => {\n const { viewableItems, offset, position } = prevState;\n\n const remainingCount = offset - viewableItems;\n\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\n return {\n position: position + 100,\n offset: offset - viewableItems\n };\n\n if (remainingCount < viewableItems)\n return {\n position: position + (remainingCount / viewableItems * 100),\n offset: offset - remainingCount\n };\n\n return {\n position: position,\n offset: offset\n };\n};\n\nexport function FixedWidgetReducer(\n prevState: FixedWidgetState,\n action: ReducerActions<WidgetInteraction, FixedWidgetPayload>\n): FixedWidgetState {\n const { type, payload = {} } = action;\n\n switch (type) {\n case WidgetInteraction.Next: {\n return {\n ...prevState,\n ...computeNextPosition(prevState)\n };\n }\n\n case WidgetInteraction.Previous: {\n return {\n ...prevState,\n ...computePreviousPosition(prevState)\n };\n }\n\n case WidgetInteraction.JumpToIndex: {\n return {\n ...prevState,\n offset: payload.offset,\n position: (payload.offset - 1) * -100\n };\n }\n\n case WidgetInteraction.Resize: {\n const computeViewableItems = getComputeFunction(prevState.contents);\n const initialSeen = computeViewableItems(payload.breakpoints, prevState.type, prevState.totalItems);\n\n return {\n ...prevState,\n position: 0,\n offset: initialSeen,\n viewableItems: initialSeen\n };\n }\n\n case WidgetInteraction.Init: {\n const computeViewableItems = getComputeFunction(payload.contents);\n const initialSeen = computeViewableItems(payload.breakpoints, payload.type, payload.totalItems);\n\n return lazyWidgetInit({\n ...prevState,\n offset: initialSeen,\n viewableItems: initialSeen,\n type: payload.type,\n contents: payload.contents,\n totalItems: payload.totalItems,\n position: 0\n });\n }\n\n case WidgetInteraction.Update: {\n return {\n ...prevState,\n totalItems: payload.totalItems\n };\n }\n\n default:\n return prevState;\n }\n}\n\nexport function lazyWidgetInit(newState: FixedWidgetState): FixedWidgetState {\n return { ...initialWidgetState, ...newState };\n}","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { ReducerActions } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\nimport { Breakpoints, useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject, WidgetType } from 'libs/shared/interfaces';\n\nimport { FixedWidgetProps, WIDGET_ITEM_LIMIT } from './FixedWidget';\nimport { FixedWidgetPayload, FixedWidgetState } from './FixedWidgetReducer';\n\nexport interface WidgetData {\n id?: string;\n name?: string;\n description?: string;\n}\n\nexport function useFetchData<T extends FixedWidgetItemProps = FixedWidgetItemProps>(\n props: FixedWidgetProps<T>,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>,\n shouldFetch: boolean\n): Flight.Response<any> {\n let data = props.collection;\n let res: Flight.Response<any>;\n\n if ((!data || ObjectHelper.isEmpty(data)) && !props.prefetched) {\n res = props.fetch(shouldFetch);\n data = res.data;\n }\n\n /**\n * Once we have the widget data, lazily update our state with the new collection\n */\n const collection = (FunctionHelper.isFunction(props.setData) && data) ? props.setData(data) : data;\n let collectionToDisplay = collection;\n\n const breakpoints = useBreakpoints();\n\n React.useEffect(() => {\n if (!data || ObjectHelper.isEmpty(data))\n return;\n\n if (props.limitTotalItems)\n collectionToDisplay = collection.length > WIDGET_ITEM_LIMIT ? collection.slice(0, WIDGET_ITEM_LIMIT) : collection;\n\n let type = props.type;\n\n // The ResourcesTile widget type is deprecated. We render the Row type instead in this case\n if (type === WidgetType.ResourcesTile)\n type = WidgetType.Row;\n\n dispatch({\n type: WidgetInteraction.Init,\n payload: {\n totalItems: collectionToDisplay.length,\n breakpoints,\n type,\n contents: props.contents\n }\n });\n }, [collection?.length]);\n\n return res;\n}\n\n/**\n * This function wrapper determines which widget item images should be pre-fetched by the LazyImage component.\n * It does this by looking at which images are going to be shown after the users clicks on the \"Next\"\n * widget button.\n */\nexport function getShouldPreload(state: FixedWidgetState, collection: any[]): (widgetItem: any) => boolean {\n const { offset, viewableItems } = state;\n\n // The index of the latest item that has been fetched\n const maxLoadedIndex = offset;\n\n /**\n * The indicesToPreload is an array of indices of widget items that should be prefetched by the\n * LazyImage component\n */\n const indicesToPreload: number[] = [];\n for (let i = 0; i < maxLoadedIndex + viewableItems; i++) {\n indicesToPreload.push(i);\n }\n\n /**\n * A widget item calls this function to determine whether or not its image can be pre-fetched.\n * This is determined by whether or not its index has been deemed valid to be pre-fetched\n * by the scope above\n */\n return function shouldPreload(widgetItem: any): boolean {\n const index = collection.indexOf(widgetItem);\n\n return indicesToPreload.includes(index);\n };\n}\n\nexport function getCollectionAppLink(appLink: Core.AppLink, data: WidgetData): Core.AppLink {\n if (!appLink)\n return;\n\n return {\n ...appLink,\n args: appLink.args || [ data.id, TextHelper.slugify(data.name) ]\n };\n}\n\n/**\n * Allow explicit name and description props to override the fetched\n * data properties.\n * \n * @param props \n * @param data \n */\nexport function formatData<T extends FixedWidgetItemProps = FixedWidgetItemProps>(\n props: FixedWidgetProps<T>,\n data: BaseObject\n): WidgetData {\n const { name, description } = props;\n\n const overrideProps: WidgetData = {};\n\n if (Array.isArray(data))\n return { name, description };\n\n if (props.name) overrideProps.name = name;\n if (props.description) overrideProps.description = description;\n\n return { ...data, ...overrideProps };\n}\n\n/**\n * The functions below are used by the reducer to compute the number of widget items\n * displayed on the screen based on the media query, widget type, and total number of items.\n */\ntype ComputeFunction = (breakpoints: Breakpoints, type: WidgetType, itemCount: number) => number;\n\n/**\n * TODO:\n * This and the `WidgetType` enum need to be replaced entirely as this is no longer maintainable.\n * Each widget type + template combination should define it's own item count per\n * breakpoint and pass it in as props.\n */\nexport function getComputeFunction(contents: WidgetContents): ComputeFunction {\n switch (contents) {\n case WidgetContents.Playlists:\n return computeViewablePlaylists;\n\n case WidgetContents.Videos:\n return computeViewableVideos;\n\n case WidgetContents.RecentActivities:\n return computeViewableRecentActivities;\n\n case WidgetContents.FeedVideos:\n return computeViewableFeedVideos;\n\n case WidgetContents.Subjects:\n return computeViewableSubjects;\n\n case WidgetContents.InteractivesV2:\n return computeViewableInteractivesV2;\n\n case WidgetContents.Interactives:\n return computeViewableInteractives;\n\n case WidgetContents.ClipsV2:\n return computeViewableClipsV2;\n\n case WidgetContents.Clips:\n return computeViewableClips;\n\n case WidgetContents.PlayPageResources:\n return computeViewablePlayPageResources;\n\n case WidgetContents.PlayPageResourcesV2:\n return computeViewablePlayPageResourcesV2;\n\n case WidgetContents.DashboardResources:\n return computeViewableVideos;\n\n case WidgetContents.Libraries:\n case WidgetContents.Folders:\n return computeViewableLibraries;\n\n case WidgetContents.Ratings:\n return computeViewableRatings;\n \n case WidgetContents.SpecialEvents:\n return computeViewableSpecialEvents;\n\n case WidgetContents.Companies:\n return computeViewableCompanies;\n\n case WidgetContents.SmallSeries:\n return computeViewableSmallSeries;\n\n case WidgetContents.Series:\n default:\n return computeViewableSeries;\n }\n}\n\nfunction computeViewablePlaylists(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 5;\n\n if (breakpoints.xs)\n maxItems = 2;\n else if (breakpoints.sm)\n maxItems = 3;\n else if (breakpoints.md)\n maxItems = 4;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableCompanies(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 8;\n\n if (breakpoints.xs || breakpoints.sm)\n maxItems = 4;\n else if (breakpoints.md)\n maxItems = 6;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableLibraries(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n\n if (breakpoints.xs || breakpoints.sm)\n maxItems = 1;\n else if (breakpoints.md)\n maxItems = 2;\n else if (breakpoints.lg)\n maxItems = 3;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableVideos(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems = 4;\n\n if (breakpoints.xs)\n maxItems = 1;\n\n if (breakpoints.sm)\n maxItems = 2;\n\n if (breakpoints.md || breakpoints.lg)\n maxItems = 3;\n\n if (type === WidgetType.LargeRow && maxItems > 3)\n maxItems = 3;\n \n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableRecentActivities(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems = 4;\n\n if (breakpoints.xs)\n maxItems = 2;\n\n if (breakpoints.sm)\n maxItems = 3;\n \n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\n// eslint-disable-next-line\nfunction computeViewableFeedVideos(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n return 1;\n}\n\nfunction computeViewableSubjects(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n if (type === WidgetType.LargeRow) {\n let maxItems: number = 5;\n\n if (breakpoints.xs)\n maxItems = 2;\n else if (breakpoints.sm)\n maxItems = 3;\n else if (breakpoints.md)\n maxItems = 4;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n }\n\n let maxItems: number = 6;\n\n if (breakpoints.xs)\n maxItems = 2;\n else if (breakpoints.sm)\n maxItems = 3;\n else if (breakpoints.md)\n maxItems = 4;\n else if (breakpoints.lg)\n maxItems = 5;\n else if (breakpoints.xl || breakpoints.xxl)\n maxItems = 6;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableInteractives(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n\n if (breakpoints.md || breakpoints.sm)\n maxItems = 2;\n\n if (breakpoints.xs)\n maxItems = 1;\n\n if (itemCount < Math.ceil(maxItems))\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableClips(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n\n if (breakpoints.md || breakpoints.sm)\n maxItems = 2;\n\n if (breakpoints.xs)\n maxItems = 1;\n\n if (itemCount < Math.ceil(maxItems))\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableInteractivesV2(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n \n if (breakpoints.xs)\n maxItems = 2;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableClipsV2(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n\n if (breakpoints.xs)\n maxItems = 2;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewablePlayPageResources(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 4;\n \n if (breakpoints.sm)\n maxItems = 3;\n\n if (breakpoints.xs)\n maxItems = 2;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewablePlayPageResourcesV2(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 3;\n\n if (breakpoints.xs)\n maxItems = 2;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableSeries(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 4;\n\n if (breakpoints.xs)\n maxItems = 2;\n else if (breakpoints.sm)\n maxItems = 3;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableSmallSeries(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n let maxItems: number = 6;\n\n if (breakpoints.xs)\n maxItems = 2;\n else if (breakpoints.sm)\n maxItems = 3;\n else if (breakpoints.md)\n maxItems = 4;\n\n else if (breakpoints.lg)\n maxItems = 5;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableRatings(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n if (itemCount < 4)\n return itemCount;\n\n let maxItems: number = 5;\n\n if (breakpoints.xs || breakpoints.sm)\n maxItems = 3;\n\n if (breakpoints.md || breakpoints.lg)\n maxItems = 4;\n\n if (itemCount === 4 && (breakpoints.xs || breakpoints.sm)) {\n maxItems = 3;\n }\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\nfunction computeViewableSpecialEvents(breakpoints: Breakpoints, type: WidgetType, itemCount: number): number {\n if (itemCount < 6)\n return itemCount;\n\n let maxItems: number = 6;\n\n if (breakpoints.xs)\n maxItems = 2;\n\n if (breakpoints.sm)\n maxItems = 3;\n\n if (breakpoints.md)\n maxItems = 4;\n\n if (breakpoints.lg)\n maxItems = 5;\n\n if (breakpoints.xl || breakpoints.xxl)\n maxItems = 6;\n\n if (itemCount < maxItems)\n maxItems = itemCount;\n\n return maxItems;\n}\n\n/**\n * Touch event handlers\n */\nexport function getOnTouchStart(\n widgetState: FixedWidgetState,\n containerRef: React.MutableRefObject<HTMLDivElement>,\n containerWidth: number,\n setContainerWidth: React.Dispatch<number>,\n initialTouchX: number,\n setInitialTouchX: React.Dispatch<number>,\n setPercentageDragged: React.Dispatch<number>\n): (event: React.TouchEvent<HTMLDivElement>) => void {\n return function(event: React.TouchEvent<HTMLDivElement>): void {\n const firstTouch = event.touches.item(0);\n const touchX = firstTouch.clientX;\n\n /**\n * Runs only on the very first touch event.\n * \n * Sets the initial x-coordinate as a reference point to calculate how far the user has dragged before\n * they release their finder\n */\n if (!initialTouchX) {\n containerRef.current.style.transition = '';\n\n setContainerWidth(containerRef.current.getBoundingClientRect().width);\n setInitialTouchX(touchX);\n }\n\n const pixelsDragged = initialTouchX - touchX;\n\n // Calculate how far the user has moved their finger as a percentage of the widget's container element\n let currentPercentageDragged = ((pixelsDragged / containerWidth) * 100);\n\n /**\n * These 2 if statements prevent the user from dragging the widget beyond its limits.\n * One if statement handles if they have dragged to the left, and the other is for dragging to the right.\n * \n * The same logic is used to hide the widget buttons (see the `hide` prop passed to `<WidgetButton />`)\n */\n if (currentPercentageDragged < 0 && (widgetState.offset === widgetState.viewableItems))\n currentPercentageDragged = 0;\n\n else if (currentPercentageDragged > 0 && (widgetState.offset === widgetState.totalItems))\n currentPercentageDragged = 0;\n\n setPercentageDragged(currentPercentageDragged);\n };\n}\n\nconst DRAG_TOLERANCE = 7.5; // % of container width using to trigger a transition.\n\nexport function getOnTouchEnd(\n containerRef: React.MutableRefObject<HTMLDivElement>,\n setInitialTouchX: React.Dispatch<number>,\n percentageDragged: number,\n setPercentageDragged: React.Dispatch<number>,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>,\n onNext: () => void,\n onPrevious: () => void\n): () => void {\n return function(): void {\n containerRef.current.style.transition = 'transform .4s ease-in-out';\n setInitialTouchX(null);\n\n /**\n * Only trigger a Next/Previous widget event if the user has dragged beyond DRAG_TOLERANCE% either way of the\n * container's width. This means if the user only drags left/right a tiny little bit, the widget\n * will simply slide back into its original place.\n */\n if (Math.abs(percentageDragged) >= DRAG_TOLERANCE) {\n const reducerAction = percentageDragged > 0 ? WidgetInteraction.Next : WidgetInteraction.Previous;\n\n dispatch({\n type: reducerAction\n });\n\n if (percentageDragged > 0 && onNext) {\n onNext();\n } else if (percentageDragged < 0 && onPrevious) {\n onPrevious();\n }\n }\n\n setPercentageDragged(0);\n };\n}\n\nexport function hideBackButton(\n isHoveringOnFarLeft: boolean,\n isHoveringOnWidget: boolean,\n widgetOffset: number,\n maxViewableItems: number,\n widgetCollectionSize: number\n): boolean {\n // When hovering on the very far left widget item, hide the back button\n if (isHoveringOnFarLeft)\n return true;\n\n // if the collection size is smaller than the max viewable items, hide the back button\n if (widgetCollectionSize <= maxViewableItems)\n return true;\n\n // When hovering on the entire widget area, hide the back button if the widget is in the far left position\n if (isHoveringOnWidget)\n return widgetOffset === maxViewableItems;\n\n return true;\n}\n\nexport function hideNextButton(\n isHoveringOnFarRight: boolean,\n isHoveringOnWidget: boolean,\n widgetOffset: number,\n maxViewableItems: number,\n widgetCollectionSize: number,\n showSeeMoreButton: boolean\n): boolean {\n // When hovering on the very far right widget item, hide the next button\n if (isHoveringOnFarRight)\n return true;\n\n // if the collection size is smaller than the max viewable items, hide the next button\n if (widgetCollectionSize <= maxViewableItems)\n return true;\n\n // Always show the next button if the widget is in the far left position\n if (widgetOffset === maxViewableItems)\n return false;\n\n // When the user is hovering over the entire widget area...\n if (isHoveringOnWidget) {\n // If we want to show the \"See more\" button, don't hide the next button\n if (showSeeMoreButton)\n return false;\n\n // Only show the next button if there are still more items to show\n return widgetCollectionSize <= widgetOffset;\n }\n\n return true;\n}\n\nexport interface FixedWidgetControls {\n jumpToIndex: (index: number) => void;\n}\n\n/**\n * If a component consuming FixedWidget needs to dispatch events to FixedWidget,\n * it can pass in a `controlsRef` prop, which will receive the API defined\n * below. This API can be extended as needed.\n * See FeedVideoCollection.tsx for an example\n */\nexport function useControlsRef(\n ref: React.MutableRefObject<FixedWidgetControls>,\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>\n): void {\n React.useEffect(() => {\n if (!ref || ref.current)\n return;\n\n ref.current = {\n jumpToIndex: (index: number) => dispatch({\n type: WidgetInteraction.JumpToIndex,\n payload: {\n offset: index + 1\n }\n })\n };\n }, [ref?.current]);\n}","import * as React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { PartialWidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/partial-loading/PartialWidgetHeader';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './fixed-widget.scss';\n\nfunction useGetSize(size?: 'sm' | 'lg'): HashObject {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xs)\n return {\n itemCount: 1,\n colSize: 12\n };\n\n if (breakpoints.sm)\n return {\n itemCount: 2,\n colSize: 6\n };\n\n if (breakpoints.md || breakpoints.lg)\n return {\n itemCount: 3,\n colSize: 4\n };\n\n return {\n itemCount: size === 'sm' ? 4 : 3,\n colSize: size === 'sm' ? 3 : 4\n };\n}\n\nexport interface PartialFixedWidgetItemProps {\n colSize: number;\n}\n\nconst PartialLoadingItem = ({ colSize }: PartialFixedWidgetItemProps) => (\n <div className={`col-${colSize} px-1`}>\n <div className={`${styles.partialItem} partial-loading-background rounded-3`} />\n </div>\n);\n\nexport interface PartialFixedWidgetProps {\n hideDescription?: boolean;\n hideHeading?: boolean;\n size?: 'sm' | 'lg';\n childComponent?: (props: PartialFixedWidgetItemProps) => JSX.Element;\n}\n\nPartialFixedWidget.defaultProps = {\n size: 'sm',\n childComponent: PartialLoadingItem\n};\n\nexport function PartialFixedWidget(props: PartialFixedWidgetProps): JSX.Element {\n const { itemCount, colSize } = useGetSize(props.size);\n\n const ChildComponent = props.childComponent;\n\n const items = [];\n for (let i = 0; i < itemCount; i++) {\n items.push(<ChildComponent key={i} colSize={colSize} />);\n }\n\n return (\n <div className='widget'>\n <PartialWidgetHeader hideHeading={props.hideHeading} hideDescription={props.hideDescription} />\n <div className='row g-0 mx-n1'>\n {items}\n </div>\n </div>\n );\n}","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst blankImage = new Image();\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\n\nexport const DragHelper = {\n // This removes the image that appears when you drag a draggable HTML element\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\n if (!event.dataTransfer.setDragImage || !FunctionHelper.isFunction(event.dataTransfer.setDragImage))\n return;\n\n event.dataTransfer.setDragImage(blankImage, 0, 0);\n }\n};","import * as React from 'react';\n\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\n\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\n\nconst getPositionStyling = (xPosition: number, measurement: CssMeasurement, dragPercentage?: number) => {\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\n if (measurement === CssMeasurement.Percentage && dragPercentage)\n xPosition = xPosition - dragPercentage;\n\n return {\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\n transition: 'transform .4s ease-in-out'\n };\n};\n\ninterface SlidingListContainerProps extends React.PropsWithChildren<unknown> {\n position: number;\n positionType: CssMeasurement;\n\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\n onDragEnd?: () => void;\n\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\n onTouchEnd?: () => void;\n\n percentageDragged?: number;\n}\n\nexport const SlidingListContainer = React.forwardRef((\n props: SlidingListContainerProps,\n ref: React.MutableRefObject<HTMLDivElement>\n): JSX.Element => {\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\n\n function getEventListeners(): HashObject {\n const listenerProps: HashObject = {};\n\n if (onDrag && onDragEnd) {\n listenerProps.draggable = true;\n listenerProps.onDragEnd = onDragEnd;\n listenerProps.onDragStart = DragHelper.hideDragImage;\n listenerProps.onDragOver = onDrag;\n }\n\n if (onTouchMove && onTouchEnd && isTouchScreen) {\n listenerProps.onTouchMoveCapture = onTouchMove;\n listenerProps.onTouchEndCapture = onTouchEnd;\n }\n\n return listenerProps;\n }\n\n return (\n <div\n className='d-flex flex-nowrap position-relative w-100'\n style={getPositionStyling(position, positionType, percentageDragged)}\n ref={ref}\n {...getEventListeners()}\n >\n {children}\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"buttonContainer\":\"_ejId\",\"left\":\"VSAPU\",\"right\":\"kgeXh\",\"button\":\"gAsE9\",\"hoverText\":\"APA36\",\"buttonHover\":\"cqD75\",\"chevron\":\"Ev4hr\",\"extendedClickableArea\":\"AtsWP\",\"gradientRight\":\"ZuAif\",\"gradientLeft\":\"Pt3nx\",\"topPos\":\"BVcIS\"};","import * as React from 'react';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { FixedWidgetState } from 'libs/shared/components/widgets/fixed-widget';\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './widget-button.scss';\n\nexport enum WidgetButtonDirection {\n Left,\n Right\n}\n\ninterface WidgetButtonProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n direction: WidgetButtonDirection;\n hide: boolean;\n contents?: WidgetContents;\n useGradientBackdrop?: boolean;\n className?: string;\n hoverText?: string;\n hideExtendedClickableArea?: boolean;\n state?: FixedWidgetState;\n\n leftButtonClassName?: string;\n rightButtonClassName?: string;\n leftGradientClassName?: string;\n rightGradientClassName?: string;\n}\n\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\n const isLeft = props.direction === WidgetButtonDirection.Left;\n\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\n\n function getPositionClass(): string {\n let className = styles.topPos;\n \n // Left / Right\n if (isLeft)\n className += ` ${styles.left} ${props.leftButtonClassName}`;\n else\n className += ` ${styles.right} ${props.rightButtonClassName}`;\n \n return className;\n }\n\n function getStyle(): React.CSSProperties {\n if (props.state?.contents === 'videos')\n return { paddingBottom: (56.25 / props.state?.viewableItems) + '%' };\n\n return { height: '100%' };\n }\n\n if (props.hide)\n return <></>;\n\n return (\n <div className={styles.buttonContainer} style={getStyle()}>\n {props.useGradientBackdrop &&\n <div className={isLeft ? `${styles.gradientLeft} ${props.leftGradientClassName}` : `${styles.gradientRight} ${props.rightGradientClassName}`} />\n }\n\n {!props.hideExtendedClickableArea && (\n <div\n role='button'\n onClick={props.onClick}\n className={`${styles.extendedClickableArea} ${isLeft ? styles.left : styles.right}`}\n />\n )}\n\n <div\n role='button'\n className={`${getPositionClass()} ${styles.button} ${props.className || ''}`}\n onClick={props.onClick}\n >\n {props.hoverText && (\n <span className={`ps-3 pe-2 ${styles.hoverText}`}>{props.hoverText}</span>\n )}\n <SvgContainer\n svgName={arrowSvg}\n size={SvgContainerSize.Medium}\n className={`svg-container d-inline-block ${styles.chevron}`}\n />\n </div>\n </div>\n );\n});","export enum CssMeasurement {\n Percentage = '%',\n Pixels = 'px'\n}","export enum WidgetContents {\n Videos = 'videos',\n FeedVideos = 'feed videos',\n Series = 'series',\n Subjects = 'subjects',\n Playlists = 'playlists',\n Interactives = 'interactives',\n Clips = 'clips',\n PlayPageResources = 'play page resources',\n DashboardResources = 'dashboard resources',\n Libraries = 'Libraries',\n Folders = 'Folders',\n RecentActivities = 'recent activities',\n SmallSeries = 'small series',\n Companies = 'companies',\n Ratings = 'ratings',\n SpecialEvents = 'special events',\n\n InteractivesV2 = 'interactives v2',\n ClipsV2 = 'clips v2',\n PlayPageResourcesV2 = 'playpage resources v2'\n}","export enum WidgetInteraction {\n Init = 'init',\n Next = 'next',\n Previous = 'previous',\n Resize = 'resize',\n Drag = 'drag',\n Update = 'update',\n JumpToIndex = 'jump-to-index'\n}","// extracted by mini-css-extract-plugin\nexport default {\"rightOverflowGradient\":\"tAbzW\",\"leftOverflowGradient\":\"JXtNs\",\"partialItem\":\"iNH_I\",\"mobileScroll\":\"bDcOS\"};"],"names":["getPhrase","LanguageService","SeeMore","props","className","AppLink","appLink","analyticsData","analyticsOptions","descriptor","WidgetHeader","hasDescription","description","name","onClick","showSeeMoreLink","PartialWidgetHeader","hideDescription","hideHeading","style","height","width","namespace","WIDGET_ITEM_LIMIT","FixedWidget","getWidgetItemAnalyticsData","initialTouchX","setInitialTouchX","containerWidth","setContainerWidth","percentageDragged","setPercentageDragged","state","dispatch","containerRef","buttonsRef","isHovering","isHoveringOnFarLeft","setIsHoveringOnFarLeft","isHoveringOnFarRight","setIsHoveringOnFarRight","controlsRef","prevent","lazyLoad","ref","shouldFetch","inView","response","getWidgetCollection","limit","responseData","prefetched","collection","data","formattedResponse","setData","slice","widgetItems","limitTotalItems","Infinity","hasReachedEnd","offset","length","breakpoints","shouldScroll","touchBehavior","type","payload","contents","totalItems","widgetContext","collectionSize","hasError","PartialComponent","partialComponent","minimumItemCount","WidgetItemComponent","childComponent","getSliderAnalyticsData","id","direction","showSeeMoreButton","hideButtons","hideBackGradient","viewableItems","hideNextGradient","hasMoreThanViewable","hideName","hideBleedingContent","W","onPrevious","hide","leftWidgetButtonClassName","hideExtendedClickableArea","position","positionType","C","onTouchMove","onTouchEnd","onNext","map","widgetItem","index","key","collectionAppLink","getAppLink","getChildAppLink","context","preloadImage","thumbnailSize","widgetId","widgetName","itemIndex","onHover","hovering","window","setTimeout","onSetIsHovering","extraChildComponentProps","hoverText","rightWidgetButtonClassName","defaultProps","initialWidgetState","computeNextPosition","prevState","remainingCount","computePreviousPosition","FixedWidgetReducer","action","initialSeen","computeViewableItems","lazyWidgetInit","newState","useFetchData","res","fetch","collectionToDisplay","getShouldPreload","maxLoadedIndex","indicesToPreload","i","push","indexOf","includes","getCollectionAppLink","args","formatData","overrideProps","Array","isArray","getComputeFunction","computeViewablePlaylists","computeViewableVideos","computeViewableRecentActivities","computeViewableFeedVideos","computeViewableSubjects","computeViewableInteractivesV2","computeViewableInteractives","computeViewableClipsV2","computeViewableClips","computeViewablePlayPageResources","computeViewablePlayPageResourcesV2","computeViewableLibraries","computeViewableRatings","computeViewableSpecialEvents","computeViewableCompanies","computeViewableSmallSeries","computeViewableSeries","itemCount","maxItems","xs","sm","md","lg","xl","xxl","Math","ceil","getOnTouchStart","widgetState","event","touchX","touches","item","clientX","current","transition","getBoundingClientRect","currentPercentageDragged","DRAG_TOLERANCE","getOnTouchEnd","abs","reducerAction","hideBackButton","isHoveringOnWidget","widgetOffset","maxViewableItems","widgetCollectionSize","hideNextButton","useControlsRef","jumpToIndex","PartialFixedWidget","size","colSize","ChildComponent","items","blankImage","Image","src","DragHelper","dataTransfer","setDragImage","FunctionHelper","isTouchScreen","UserAgentHelper","SlidingListContainer","listenerProps","xPosition","measurement","dragPercentage","children","onDrag","onDragEnd","CssMeasurement","transform","draggable","onDragStart","onDragOver","onTouchMoveCapture","onTouchEndCapture","WidgetButtonDirection","WidgetButton","isLeft","Left","arrowSvg","paddingBottom","useGradientBackdrop","leftGradientClassName","rightGradientClassName","role","leftButtonClassName","rightButtonClassName","SvgContainer","svgName","S","WidgetContents","WidgetInteraction"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see 1672-e792631d8e-lite.chunk.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1672],{49935:(e,t,n)=>{n.d(t,{Oo:()=>m,b2:()=>d});var r=n(32735),a=n(36848),i=n(86764),o=n(3747),c=n(5859),l=n(35223),s=n(83914),u=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,o=t.active,c=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?r.createElement("strong",null,n):r.createElement(a.F,{appLink:i},c&&r.createElement(s.x,{svgName:l.vn.ChevronLeft,size:s.S.Small}),r.createElement("span",{className:c?"ms-2":""},n)))},m=function(e){var t=e.breadcrumbs,n=(0,o.a)(i.r.XS),a=null==t?void 0:t.length;return!a||n&&a<2?r.createElement(r.Fragment,null):n?r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},r.createElement(u,{breadcrumb:t[a-2],withBackIcon:!0}))):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return r.createElement(u,{key:t,breadcrumb:e})}))))},d=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,o.a)(i.r.XS)?r.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},c.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return r.createElement("li",{key:t,className:"breadcrumb-item"},r.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},38502:(e,t,n)=>{n.d(t,{r:()=>m});var r=n(32735),a=n(49985),i=n(36848),o=n(18559),c=n(11607),l=n(83914),s=n(87432);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(l.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function m(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:""},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(s.Z.pillTabSelector,"\n ").concat(e.borderRadius?s.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(s.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?s.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(s.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(s.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},99705:(e,t,n)=>{var r,a;n.d(t,{b:()=>a}),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"}(a||(a={}))},5859:(e,t,n)=>{function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{u:()=>i});var a={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},a),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}},23224:(e,t,n)=>{n.d(t,{j:()=>f});var r=n(32735),a=n(39202),i=n(23481),o=n(65858),c=n(38502),l=n(14070),s=n(97291),u="settings.restrictedVideosTabs",m=i.T.encloseNamespace(u),d={restrictedVideos:{application:s.O.SETTINGS,action:l.e.Settings.VIDEO_RESTRICTIONS},contentReview:{application:s.O.SETTINGS,action:l.e.Settings.CONTENT_REVIEW},contentReviewSettings:{application:s.O.SETTINGS,action:l.e.Settings.CONTENT_REVIEW_SETTINGS}};function f(e){return r.createElement("div",{className:"mb-3"},r.createElement(c.r,{tabs:[{name:m("restrictedVideos"),appLink:d.restrictedVideos,active:"restricted-videos"===e.active,analyticsData:{name:m("restrictedVideos"),url:a.C$.getHref(d.restrictedVideos)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:m("contentReview"),appLink:d.contentReview,active:"content-review"===e.active,analyticsData:{name:i.T.getPhrase(u,"contentReview"),url:a.C$.getHref(d.contentReview)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:m("contentReviewSettings"),appLink:d.contentReviewSettings,active:"content-review-settings"===e.active,analyticsData:{name:i.T.getPhrase(u,"contentReviewSettings"),url:a.C$.getHref(d.contentReviewSettings)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}]}))}},81803:(e,t,n)=>{n.d(t,{d:()=>p});var r=n(32735),a=n(81886),i=n(23481),o=n(49935),c=n(22902),l=n(14070),s=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var d="settings.settingsLayout",f=function(e){var t=(0,c.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var r=a.Q.C$.getCurrentAppLink();return r.application!==s.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===r.action}))}))};function p(e){var t,n=f(e.requiredPermissions);if(r.useEffect((function(){n||a.Q.C$.trigger({application:s.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[n]),!n)return r.createElement(r.Fragment,null);var c,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),r.createElement("div",{className:"pb-3"},r.createElement(o.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME}}].concat((c=u,function(e){if(Array.isArray(e))return m(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))})),e.description&&r.createElement(r.Fragment,null,r.createElement("p",null,e.description),r.createElement("hr",null)),e.children)}},17749:(e,t,n)=>{n.d(t,{g:()=>a});var r=n(99940),a={getLibraryReviewPeriod:function(){return{url:"{gateway}/v1/library-reviews",key:"coming:soon:settings",normalize:!1}},setLibraryReviewPeriod:function(e){return{url:"{gateway}/v1/library-reviews",key:"update:coming:soon:settings",invalidationKeys:"coming:soon:settings",type:r.k.POST,data:{reviewPeriod:e},normalize:!1}},deleteLibraryReviewPeriod:function(){return{url:"{gateway}/v1/library-reviews",key:"delete:coming:soon:settings",invalidationKeys:"coming:soon:settings",type:r.k.DELETE,normalize:!1}}}},51672:(e,t,n)=>{n.r(t),n.d(t,{ContentReviewSettingsView:()=>M});var r=n(32735),a=n(50242),i=n(23481),o=n(81886),c=n(20354),l=n(16714),s=n(69883),u=n(14070),m=n(97291),d=n(23224),f=n(81803),p=n(17749),v=n(2102),h=n(83345),y="settings.contentReviewSettings",g=i.T.encloseNamespace(y),b=[{phrase:"14days",value:14},{phrase:"21days",value:21},{phrase:"30days",value:30}];function E(e){return r.createElement("div",{className:"mb-3 d-flex"},r.createElement("div",null,r.createElement("p",{className:(t="fw-bold mb-1",e.isSettingEnabled?t:"".concat(t," text-secondary"))},r.createElement(h.x,{namespace:y,phrase:"reviewHeading"})),r.createElement("p",{className:"mb-1 text-secondary"},r.createElement(h.x,{namespace:y,phrase:"reviewDescription",options:{days:e.selected}}))),r.createElement("div",{className:"flex-shrink-0 ms-2"},r.createElement("select",{id:"review-days",name:"review-days",autoComplete:"off",className:"form-select",value:e.selected||"",disabled:!e.isSettingEnabled||e.disabled,onChange:function(t){e.onChange(parseInt(t.target.value))}},b.map((function(e,t){return r.createElement("option",{value:e.value,key:t},g(e.phrase))})))));var t}var w=n(98461),S=n(83523),N=n(99705),L=n(12778),k="settings.contentReviewSettings";function x(e){var t=L.o.getLiteArticle(N.b.ContentReview);return r.createElement("div",{className:"row mb-3"},r.createElement("div",{className:"col-10"},r.createElement("p",{className:"fw-bold mb-1"},r.createElement(h.x,{namespace:k,phrase:"subHeading"})),r.createElement("p",{className:"mb-1 text-secondary"},r.createElement(h.x,{namespace:k,phrase:"description"})),r.createElement("p",{className:"mb-0"},r.createElement(w.d,{href:t,className:"info-link"},r.createElement(h.x,{namespace:k,phrase:"learnMore"})))),r.createElement("div",{className:"col"},r.createElement(S.Z,{on:e.isEnabled,onClick:e.toggleSwitch,disabled:e.disabled,showStateWhenDisabled:!0})))}function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return O(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)?O(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(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 I="settings.contentReviewSettings";function A(e){var t=T(r.useState(e.isEnabled),2),n=t[0],a=t[1],i=T(r.useState(e.reviewDays),2),o=i[0],c=i[1],l=e.reviewDays!==o||e.isEnabled!==n;return r.createElement("div",{className:"row"},r.createElement("div",{className:"col col-md-8 col-lg-6"},r.createElement(x,{disabled:e.isLoading,isEnabled:n,toggleSwitch:function(){n||o||c(14),a((function(e){return!e}))}}),r.createElement(E,{disabled:e.isLoading,selected:o,isSettingEnabled:n,onChange:function(e){return c(e)}}),r.createElement(v.m,{onClick:function(){l&&e.handleOnSave(n,o)},showSpinner:e.isLoading,variant:"dark",disabled:e.isLoading||!l},r.createElement(h.x,{namespace:I,phrase:"saveButton"}))))}const C={oneLine:"BlwYh",twoLine:"xfqid"};function R(){return r.createElement("div",{className:"row g-0"},r.createElement("div",{className:"col col-md-7 col-lg-5"},r.createElement("div",{className:"row mb-3"},r.createElement("div",{className:"col-10"},r.createElement("div",{className:"partial-loading-background w-50 mb-1 ".concat(C.oneLine)}),r.createElement("div",{className:"partial-loading-background w-100 mb-1 ".concat(C.twoLine)}),r.createElement("div",{className:"partial-loading-background w-100 ".concat(C.oneLine)})),r.createElement("div",{className:"col"},r.createElement("div",{className:"partial-loading-background w-100 ".concat(C.oneLine)}))),r.createElement("div",{className:"row mb-2"},r.createElement("div",{className:"col-9"},r.createElement("div",{className:"partial-loading-background w-50 mb-1 ".concat(C.oneLine)}),r.createElement("div",{className:"partial-loading-background w-100 mb-1 ".concat(C.twoLine)})),r.createElement("div",{className:"col"},r.createElement("div",{className:"partial-loading-background w-100 ".concat(C.twoLine)}))),r.createElement("div",{className:"partial-loading-background w-25 ".concat(C.twoLine)})))}function j(e){return j="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},j(e)}function P(){P=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function 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 i=t&&t.prototype instanceof y?t:y,o=Object.create(i.prototype),c=new A(r||[]);return a(o,"_invoke",{value:x(e,n,c)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",f="suspendedYield",p="executing",v="completed",h={};function y(){}function g(){}function b(){}var E={};s(E,o,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(C([])));S&&S!==n&&r.call(S,o)&&(E=S);var N=b.prototype=y.prototype=Object.create(E);function L(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,i,o,c){var l=m(e[a],e,i);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==j(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,o,c)}),(function(e){n("throw",e,o,c)})):t.resolve(u).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,c)}))}c(l.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function x(t,n,r){var a=d;return function(i,o){if(a===p)throw Error("Generator is already running");if(a===v){if("throw"===i)throw o;return{value:e,done:!0}}for(r.method=i,r.arg=o;;){var c=r.delegate;if(c){var l=T(c,r);if(l){if(l===h)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=p;var s=m(t,n,r);if("normal"===s.type){if(a=r.done?v:f,s.arg===h)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a=v,r.method="throw",r.arg=s.arg)}}}function T(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var i=m(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,h;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function C(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(j(t)+" is not iterable")}return g.prototype=b,a(N,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:g,configurable:!0}),g.displayName=s(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"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(N),e},t.awrap=function(e){return{__await:e}},L(k.prototype),s(k.prototype,c,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,a,i){void 0===i&&(i=Promise);var o=new k(u(e,n,r,a),i);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},L(N),s(N,l,"Generator"),s(N,o,(function(){return this})),s(N,"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=C,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],c=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var l=r.call(o,"catchLoc"),s=r.call(o,"finallyLoc");if(l&&s){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;I(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:C(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var F=function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,c)}l((r=r.apply(e,t||[])).next())}))},G=i.T.encloseNamespace("settings.contentReviewSettings");function M(){var e,t,n,i=c.a.useGetFetchAsync(),v=(0,s.Z)(),h=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return _(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)?_(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=h[0],g=h[1],b=c.a.useBasicFetch(p.g.getLibraryReviewPeriod()),E=!(b.hasError||b.statusCode===a.o.NotFound);return r.createElement(f.d,{heading:G("heading"),breadcrumbs:[G("heading")],requiredPermissions:l.C.ManageVideoAccess},r.createElement(d.j,{active:"content-review-settings"}),b.hasCompleted?r.createElement(A,{isLoading:y,isEnabled:E,reviewDays:null===(e=b.data)||void 0===e?void 0:e.reviewPeriod,handleOnSave:function(e,t){return F(this,void 0,void 0,P().mark((function n(){return P().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e){n.next=3;break}return o.Q.C$.trigger({application:m.O.SETTINGS,action:u.e.Settings.TURN_OFF_CONTENT_REVIEW}),n.abrupt("return");case 3:return g(!0),n.prev=4,n.next=7,i(p.g.setLibraryReviewPeriod(t));case 7:v.success(G("success")),n.next=13;break;case 10:n.prev=10,n.t0=n.catch(4),v.error(G("error"));case 13:g(!1);case 14:case"end":return n.stop()}}),n,null,[[4,10]])})))}}):r.createElement(R,null))}},87432:(e,t,n)=>{n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
3
- //# sourceMappingURL=1672-e792631d8e-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/1672-e792631d8e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/restricted-videos-tabs/RestrictedVideosTabs.tsx","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/flight-request/ContentReviewSettingsRequests.ts","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/ReviewPeriodSetting.tsx","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/ReviewVideosToggle.tsx","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/ContentReviewSettingsForm.tsx","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/partial-loading/partial-content-review-settings.scss","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/partial-loading/PartialContentReviewSettings.tsx","file:///app/packages/projects/lite/src/apps/settings/views/content-review-settings/ContentReviewSettingsView.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\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","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'settings.restrictedVideosTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst APPLINKS = {\n restrictedVideos: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.VIDEO_RESTRICTIONS\n },\n contentReview: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.CONTENT_REVIEW\n },\n contentReviewSettings: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.CONTENT_REVIEW_SETTINGS\n }\n};\n\ninterface RestrictionTabsProps {\n active: 'restricted-videos' | 'content-review' | 'content-review-settings'\n}\n\nexport function RestrictionTabs(props: RestrictionTabsProps): JSX.Element {\n return (\n <div className='mb-3'>\n <PillTabSelector\n tabs={[{\n name: getPhrase('restrictedVideos'),\n appLink: APPLINKS.restrictedVideos,\n active: props.active === 'restricted-videos',\n analyticsData: {\n name: getPhrase('restrictedVideos'),\n url: AppLinkHelper.getHref(APPLINKS.restrictedVideos)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('contentReview'),\n appLink: APPLINKS.contentReview,\n active: props.active === 'content-review',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'contentReview'),\n url: AppLinkHelper.getHref(APPLINKS.contentReview)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('contentReviewSettings'),\n appLink: APPLINKS.contentReviewSettings,\n active: props.active === 'content-review-settings',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'contentReviewSettings'),\n url: AppLinkHelper.getHref(APPLINKS.contentReviewSettings)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }]}\n />\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nexport const ContentReviewSettingsRequests = {\n getLibraryReviewPeriod(): Flight.Request {\n return {\n url: `{gateway}/v1/library-reviews`,\n key: `coming:soon:settings`,\n normalize: false\n };\n },\n\n setLibraryReviewPeriod(\n period: number\n ): Flight.Request {\n return {\n url: `{gateway}/v1/library-reviews`,\n key: `update:coming:soon:settings`,\n invalidationKeys: 'coming:soon:settings',\n type: HttpVerbs.POST,\n data: {\n reviewPeriod: period\n },\n normalize: false\n };\n },\n\n deleteLibraryReviewPeriod(): Flight.Request {\n return {\n url: `{gateway}/v1/library-reviews`,\n key: `delete:coming:soon:settings`,\n invalidationKeys: 'coming:soon:settings',\n type: HttpVerbs.DELETE,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'settings.contentReviewSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ReviewPeriodSettingProps {\n selected: number;\n onChange: (value: number) => void;\n isSettingEnabled: boolean;\n disabled?: boolean;\n}\n\ninterface ReviewDayType {\n phrase: string;\n value: number;\n}\n\nconst REVIEW_DAYS_OPTIONS: ReviewDayType[] = [\n { phrase: '14days', value: 14 },\n { phrase: '21days', value: 21 },\n { phrase: '30days', value: 30 }\n];\n\nexport function ReviewPeriodSetting(props: ReviewPeriodSettingProps): JSX.Element {\n function onChangeReviewDays(event: React.ChangeEvent<HTMLSelectElement>): void {\n props.onChange(parseInt(event.target.value));\n }\n\n function getHeadingClassName() {\n const baseClassName = 'fw-bold mb-1';\n\n if (!props.isSettingEnabled) {\n return `${baseClassName} text-secondary`;\n }\n\n return baseClassName;\n }\n \n return (\n <div className='mb-3 d-flex'>\n <div>\n <p className={getHeadingClassName()}>\n <Text namespace={namespace} phrase='reviewHeading' />\n </p>\n <p className='mb-1 text-secondary'>\n <Text namespace={namespace} phrase='reviewDescription' options={{ days: props.selected }} />\n </p>\n </div>\n <div className='flex-shrink-0 ms-2'>\n <select\n id='review-days'\n name='review-days'\n autoComplete='off'\n className='form-select'\n value={props.selected || ''}\n disabled={!props.isSettingEnabled || props.disabled}\n onChange={onChangeReviewDays}\n >\n {REVIEW_DAYS_OPTIONS.map((item, index) => (\n <option value={item.value} key={index}>{getPhrase(item.phrase)}</option>\n ))}\n </select>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { ExternalLink } from 'libs/shared/components/external-link/ExternalLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nconst namespace = 'settings.contentReviewSettings';\n\ninterface ReviewVideosToggleProps {\n isEnabled: boolean;\n toggleSwitch: () => void;\n disabled: boolean;\n}\n\nexport function ReviewVideosToggle(props: ReviewVideosToggleProps): JSX.Element {\n const href = ArticleHelper.getLiteArticle(LiteSupportArticle.ContentReview);\n return (\n <div className='row mb-3'>\n <div className='col-10'>\n <p className='fw-bold mb-1'>\n <Text namespace={namespace} phrase='subHeading' />\n </p>\n <p className='mb-1 text-secondary'>\n <Text namespace={namespace} phrase='description' />\n </p>\n <p className='mb-0'>\n <ExternalLink\n href={href}\n className='info-link'\n >\n <Text namespace={namespace} phrase='learnMore' />\n </ExternalLink>\n </p>\n </div>\n <div className='col'>\n <ToggleSwitch\n on={props.isEnabled}\n onClick={props.toggleSwitch}\n disabled={props.disabled}\n showStateWhenDisabled\n />\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ReviewPeriodSetting } from 'apps/settings/views/content-review-settings/ReviewPeriodSetting';\nimport { ReviewVideosToggle } from 'apps/settings/views/content-review-settings/ReviewVideosToggle';\n\nconst namespace = 'settings.contentReviewSettings';\n\ninterface ContentReviewSettingsFormProps {\n isLoading: boolean;\n isEnabled: boolean;\n reviewDays: number;\n handleOnSave: (isEnabled: boolean, reviewDays: number) => void;\n}\n\nexport function ContentReviewSettingsForm(props: ContentReviewSettingsFormProps): JSX.Element {\n const [ isEnabled, setIsEnabled ] = React.useState(props.isEnabled);\n const [ reviewDays, setReviewDays ] = React.useState(props.reviewDays);\n\n function toggleSetting(): void {\n if (!isEnabled && !reviewDays)\n setReviewDays(14);\n\n setIsEnabled(isEnabled => !isEnabled);\n }\n\n function handleOnSave() {\n if (!hasChanges) return;\n\n props.handleOnSave(isEnabled, reviewDays);\n }\n\n const hasChanges = (\n props.reviewDays !== reviewDays ||\n props.isEnabled !== isEnabled\n );\n\n return (\n <div className='row'>\n <div className='col col-md-8 col-lg-6'>\n <ReviewVideosToggle\n disabled={props.isLoading}\n isEnabled={isEnabled}\n toggleSwitch={toggleSetting}\n />\n <ReviewPeriodSetting\n disabled={props.isLoading}\n selected={reviewDays}\n isSettingEnabled={isEnabled}\n onChange={value => setReviewDays(value)}\n />\n <SpinnerButton\n onClick={handleOnSave}\n showSpinner={props.isLoading}\n variant='dark'\n disabled={props.isLoading || !hasChanges}\n >\n <Text namespace={namespace} phrase='saveButton' />\n </SpinnerButton>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"oneLine\":\"BlwYh\",\"twoLine\":\"xfqid\"};","import React from 'react';\n\nimport styles from './partial-content-review-settings.scss';\n\nexport function PartialContentReviewSettings(): JSX.Element {\n return (\n <div className='row g-0'>\n <div className='col col-md-7 col-lg-5'>\n <div className='row mb-3'>\n <div className='col-10'>\n <div className={`partial-loading-background w-50 mb-1 ${styles.oneLine}`} />\n <div className={`partial-loading-background w-100 mb-1 ${styles.twoLine}`} />\n <div className={`partial-loading-background w-100 ${styles.oneLine}`} />\n </div>\n <div className='col'>\n <div className={`partial-loading-background w-100 ${styles.oneLine}`} />\n </div>\n </div>\n <div className='row mb-2'>\n <div className='col-9'>\n <div className={`partial-loading-background w-50 mb-1 ${styles.oneLine}`} />\n <div className={`partial-loading-background w-100 mb-1 ${styles.twoLine}`} />\n </div>\n <div className='col'>\n <div className={`partial-loading-background w-100 ${styles.twoLine}`} />\n </div>\n </div>\n <div className={`partial-loading-background w-25 ${styles.twoLine}`} />\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { RestrictionTabs } from 'apps/settings/components/restricted-videos-tabs/RestrictedVideosTabs';\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { ContentReviewSettingsRequests } from 'apps/settings/flight-request/ContentReviewSettingsRequests';\nimport { LibraryReviewPeriodResponse } from 'apps/settings/interfaces/coming-soon/responses/LibraryReviewPeriodResponse';\nimport { ContentReviewSettingsForm } from 'apps/settings/views/content-review-settings/ContentReviewSettingsForm';\nimport { PartialContentReviewSettings } from 'apps/settings/views/content-review-settings/partial-loading/PartialContentReviewSettings';\n\nconst namespace = 'settings.contentReviewSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ContentReviewSettingsView(): JSX.Element {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n const [ isLoading, setIsLoading ] = React.useState(false);\n\n const libraryReview = Flight.useBasicFetch<LibraryReviewPeriodResponse>(\n ContentReviewSettingsRequests.getLibraryReviewPeriod()\n );\n\n async function handleOnSave(isEnabled: boolean, reviewDays: number) {\n if (!isEnabled) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.TURN_OFF_CONTENT_REVIEW\n });\n return;\n }\n\n setIsLoading(true);\n try {\n await fetchAsync(ContentReviewSettingsRequests.setLibraryReviewPeriod(reviewDays));\n alerts.success(getPhrase('success'));\n } catch {\n alerts.error(getPhrase('error'));\n }\n\n setIsLoading(false);\n }\n\n const isEnabled = !(libraryReview.hasError || libraryReview.statusCode === HttpStatus.NotFound);\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('heading')]}\n requiredPermissions={PermissionName.ManageVideoAccess}\n >\n <RestrictionTabs active='content-review-settings' />\n {libraryReview.hasCompleted ?\n <ContentReviewSettingsForm\n isLoading={isLoading}\n isEnabled={isEnabled}\n reviewDays={libraryReview.data?.reviewPeriod}\n handleOnSave={handleOnSave}\n />\n :\n <PartialContentReviewSettings />\n }\n </SettingsLayout>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","TabContents","props","tab","count","type","data","PillTabSelector","borderRadius","listClassName","tabs","index","analyticsData","analyticsOptions","onClick","onSelect","onSelectTab","defaultProps","OnlineSupportArticle","LiteSupportArticle","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","namespace","getPhrase","APPLINKS","restrictedVideos","application","action","contentReview","contentReviewSettings","RestrictionTabs","url","actionType","entity","location","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","some","group","modules","settingsModule","SettingsLayout","canAccess","replace","i","heading","headingButton","description","children","ContentReviewSettingsRequests","getLibraryReviewPeriod","normalize","setLibraryReviewPeriod","period","invalidationKeys","reviewPeriod","deleteLibraryReviewPeriod","LanguageService","REVIEW_DAYS_OPTIONS","phrase","value","ReviewPeriodSetting","baseClassName","isSettingEnabled","Text","days","selected","id","autoComplete","disabled","onChange","event","parseInt","target","item","ReviewVideosToggle","href","ArticleHelper","ExternalLink","ToggleSwitch","on","isEnabled","toggleSwitch","showStateWhenDisabled","ContentReviewSettingsForm","setIsEnabled","reviewDays","setReviewDays","hasChanges","isLoading","SpinnerButton","handleOnSave","showSpinner","variant","PartialContentReviewSettings","ContentReviewSettingsView","fetchAsync","alerts","setIsLoading","libraryReview","hasError","statusCode","HttpStatus","PermissionName","hasCompleted","success","error"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1750],{82780:(e,t,n)=>{n.d(t,{m:()=>m});var a=n(32735),r=n(23481),o=n(37967),l=n(85402),s=n(76314),c=n(83657),i=n(35223),u="userManager.bulkUserActionsUserItem";function m(e){return a.createElement("li",{className:"d-flex align-items-center p-2"},a.createElement(s.u,{user:e.user,imageCdnUrl:e.imageCdnUrl}),a.createElement(o.t,{user:e.user}),a.createElement(l.H,{userType:e.userType,user:e.user}),e.customBadge&&e.customBadge(),e.onClickRemoveUser&&a.createElement(c.e,{actions:[{svgName:i.vn.Close,className:"btn btn-link svg-container",tooltip:r.T.getPhrase(u,"removeUser"),onClick:function(){return e.onClickRemoveUser(e.user)},button:!0}]}))}},8612:(e,t,n)=>{n.d(t,{G:()=>r});var a=n(32735);function r(e){return a.createElement("span",{className:"".concat(e.className," rounded-pill px-2 text-nowrap bg-white border border-dark")},e.children)}},26055:(e,t,n)=>{n.d(t,{A:()=>a});var a=n(32735).createContext(null)},83657:(e,t,n)=>{n.d(t,{e:()=>i});var a=n(32735),r=n(91967),o=n(10874),l=n(76177),s=n(42735),c=n(86509);function i(e){var t=a.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),n=[],i=[];t.forEach((function(e){e.button?n.push(e):i.push(e)}));var u="d-flex";return e.className&&(u+=" ".concat(e.className)),n.length||i.length?a.createElement("div",{className:u},a.createElement(a.Fragment,null,a.createElement("span",{className:"d-flex align-items-center"},n.length?n.map((function(e,t){return a.createElement(a.Fragment,{key:t},function(){if(e.label){var t=r.q.isFunction(e.label)?e.label:function(){return a.createElement(a.Fragment,null,e.label)};return a.createElement(s.K,{appLink:e.appLink,href:e.href,onClick:e.onClick,svgName:e.svgName,className:e.className,tooltip:e.tooltip,showSpinner:e.showSpinner,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,openInNewTab:e.openInNewTab,disabled:e.disabled},t())}var n=a.createElement(o.h,{appLink:e.appLink,href:e.href,onClick:e.onClick,svgName:e.svgName,className:e.className,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,openInNewTab:e.openInNewTab,disabled:e.disabled});return e.tooltip?a.createElement(l.u,{title:e.tooltip,spanHack:!0},n):n}())})):a.createElement(a.Fragment,null),e.sortComponent&&e.sortComponent,i.length?a.createElement(c.m,{actions:i,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):a.createElement(a.Fragment,null)))):a.createElement(a.Fragment,null)}},86509:(e,t,n)=>{n.d(t,{m:()=>v});var a=n(32735),r=n(91967),o=n(81886),l=n(45157),s=n(49985),c=n(36848),i=n(83914),u=n(76177),m=n(35223);const d={dropdownToggle:"UCAnJ"};function p(){return a.createElement(a.Fragment,null,a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),a.createElement("div",{style:{padding:"0.53125rem 1rem"}},a.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function g(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function f(e){var t=r.q.isFunction(e.action.label)?e.action.label:function(){return a.createElement(a.Fragment,null,e.action.label)};if(e.action.appLink)return a.createElement(c.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:g(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&a.createElement(i.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),a.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&s.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),r.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&o.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?a.createElement("a",{className:g(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&a.createElement(i.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),a.createElement("span",{className:"align-middle"},t())):a.createElement("span",{className:"cursor-pointer ".concat(g(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&a.createElement(i.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function v(e){if(!e.actions||!e.actions.length)return a.createElement(a.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var r,o="actions-dropdown-".concat(l.Y.getRandomInt()),s="dropdown-toggle px-0 ".concat(d.dropdownToggle);return e.dropdownToggleClassName&&(s+=" ".concat(e.dropdownToggleClassName)),a.createElement("div",{className:n},a.createElement("button",{className:s,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",onClick:t?e.fetchMore:null},a.createElement(i.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),a.createElement("div",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right","aria-labelledby":o},t?a.createElement(p,null):e.actions.map((function(e,t){var n=void 0!==r&&r!==e.group;return r=e.group,e.tooltip?a.createElement(a.Fragment,{key:t},n&&a.createElement("hr",{className:"dropdown-divider",role:"separator"}),a.createElement(u.u,{title:e.tooltip,spanHack:!0},a.createElement(f,{action:e}))):a.createElement(a.Fragment,{key:t},n&&a.createElement("hr",{className:"dropdown-divider",role:"separator"}),a.createElement(f,{action:e}))}))))}v.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:i.S.Small}},61254:(e,t,n)=>{n.d(t,{s:()=>s});var a=n(32735),r=n(42648);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){i=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var s=a.forwardRef((function(e,t){var n=o(a.useState(e.containerHeight||0),2),l=n[0],s=n[1],c=o(a.useState(0),2),i=c[0],u=c[1],m=a.useRef(null);a.useEffect((function(){var t,n;e.containerHeight||s(null!==(n=null===(t=m.current)||void 0===t?void 0:t.clientHeight)&&void 0!==n?n:0)}),[m.current]);var d,p,g,f=e.items.length,v=Math.ceil(l/e.rowHeight),h=e.rowHeight*f,y=Math.max(0,Math.floor(i/e.rowHeight)-v),b=Math.min(f,y+3*v);return a.createElement("div",{style:(g=null!==(p=null===(d=m.current)||void 0===d?void 0:d.getBoundingClientRect().top)&&void 0!==p?p:0,{height:e.containerHeight||"calc(100vh - ".concat(window.pageYOffset+g+30,"px)"),minHeight:"".concat(5*e.rowHeight,"px"),overflow:"auto"}),ref:m},a.createElement(r.$B,{onScroll:function(e){u(e.currentTarget.scrollTop)},autoHeightMin:h,autoHeightMax:h,ref:t},a.createElement("div",{style:{height:h,paddingTop:y*e.rowHeight}},a.createElement("ul",{className:"w-100 position-relative d-table striped-list list-unstyled no-full-width"},!!e.staticComponentAboveRows&&e.staticComponentAboveRows,function(){for(var t=[],n=y;n<b;){var a=e.items[n];a&&t.push(e.getComponent(a,n)),n++}return t}(),!!e.staticComponentBelowRows&&e.staticComponentBelowRows))))}))},36033:(e,t,n)=>{n.d(t,{s:()=>l});var a=n(32735),r=n(83345),o="wizard.wizardConfirmationHeader";function l(e){return a.createElement(r.D.Provider,{value:o},a.createElement("h2",{className:"h4"},a.createElement(r.x,{phrase:"confirmation"})),a.createElement("h3",{className:"h6"},a.createElement(r.x,{phrase:"changesToBeMade"})),a.createElement("div",{className:"p-2 border rounded mb-2"},e.children))}},11117:(e,t,n)=>{n.r(t),n.d(t,{BulkUserUploadConfirmationView:()=>D});var a=n(32735),r=n(81886),o=n(20354),l=n(23481),s=n(2948),c=n(68050),i=n(69111),u=n(8612),m=n(83345),d=n(76881);const p={noAccount:"RBzEA"};var g="userManager.bulkUserUploadAccountInfo",f=l.T.encloseNamespace(g);function v(e){var t=e.users.length-e.existingUsers.length;return a.createElement(m.D.Provider,{value:g},a.createElement(c.Z,{className:"mb-2"},a.createElement(i.Z,{xs:4,className:"font-weight-500"},a.createElement(m.x,{phrase:"statuses"})),a.createElement(i.Z,{xs:8,className:"font-weight-500"},a.createElement(m.x,{phrase:"changesTo"}))),!!t&&a.createElement(c.Z,{className:"mb-2"},a.createElement(i.Z,{xs:4},a.createElement(u.G,{className:p.noAccount},f("noAccount")),a.createElement("div",null,a.createElement(m.x,{phrase:e.userType===d.Y.Learner?"studentCount":"staffCount",options:{smartCount:t}}))),a.createElement(i.Z,{xs:8},a.createElement("div",null,a.createElement(m.x,{phrase:e.userType===d.Y.Learner?"willCreate":"willInvite"})))),!!e.existingUsers.length&&a.createElement(c.Z,{className:"mb-2"},a.createElement(i.Z,{xs:4},a.createElement(u.G,null,f("existingAccount")),a.createElement("div",null,a.createElement(m.x,{phrase:e.userType===d.Y.Learner?"studentCount":"staffCount",options:{smartCount:e.existingUsers.length}}))),a.createElement(i.Z,{xs:8},a.createElement("div",null,a.createElement(m.x,{phrase:"willAdd"})))))}var h=n(82780),y=n(61254),b=n(36033),E=n(38143),w=n(96728);function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var k="userManager.bulkUserUploadConfirmation",C=l.T.encloseNamespace(k);function x(e){var t,n,r=a.useRef(),o=(t=(0,s.D)(E.g.BULK_USER_ACTIONS),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,l,s=[],c=!0,i=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=o.call(n)).done)&&(s.push(a.value),s.length!==t);c=!0);}catch(e){i=!0,r=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(i)throw r}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return N(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)?N(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1],l=a.useContext(w.e).setOnClickConfirm;a.useEffect((function(){var e;o("scrollContainer",null===(e=r.current)||void 0===e?void 0:e.view)}),[r.current]);var c=e.userType===d.Y.Learner;return a.useEffect((function(){l((function(){return e.onClickConfirm}))}),[e.onClickConfirm]),a.createElement(a.Fragment,null,a.createElement(b.s,null,a.createElement("h4",{className:"h6"},a.createElement(m.x,{namespace:k,phrase:"heading"})),a.createElement("ul",{className:"mt-1 ps-3 ms-1"},a.createElement("li",null,a.createElement(m.x,{namespace:k,phrase:c?"creationInfoStudent":"creationInfoStaff"})),a.createElement("li",null,a.createElement(m.x,{namespace:k,phrase:c?"addInfoStudent":"addInfoStaff"}))),a.createElement("div",{className:"rounded p-2 bg-light-blue"},a.createElement(v,{users:e.users,existingUsers:e.existingUsers,userType:e.userType}))),a.createElement("h3",{className:"h6 mt-3"},a.createElement(m.x,{namespace:k,phrase:c?"headingStudents":"headingStaff",options:{smartCount:e.users.length}})),a.createElement(y.s,{items:e.users,rowHeight:55,ref:r,getComponent:function(t){return a.createElement(h.m,{key:t.lookupId,user:Object.assign(Object.assign({},t),{name:t.firstName,id:t.lookupId,masterYearGroup:null}),userType:e.userType,imageCdnUrl:e.imageCdnUrl,customBadge:function(){return function(t){return a.createElement("div",{className:"flex-shrink-0 me-2"},e.existingUsersHash[t.lookupId]?C(c?"existingStudentAccount":"existingStaffAccount"):C("noAccount"))}(t)}})}}))}var T=n(56532),A=n(26055),S=n(43820),U=n(45541),j=n(149),I=n(19717),O=n(39151),F=n(31949),H=n(29613),R=n(18087);function D(e){var t,n=(0,U.V)(),l=n.users,s=n.existingUsersHash,c=n.existingUserToAdd,i=n.deleteUsers;a.useEffect((function(){var e;(null==c?void 0:c.length)<(null===(e=Object.keys(s))||void 0===e?void 0:e.length)&&i(I.b.getDeletedExistingUsers(l,s,c).map((function(e){return e.lookupId})))}),[]);var u=o.a.useBasicFetch(O.L.config()),m=o.a.useBasicFetch(F.N.currentUser()),d=(0,R.Y)(e.userType),p=o.a.useGetFetchAsync(),g=j.b.useCreateJobErrorAlert();function f(t){r.Q.C$.trigger(Object.assign(Object.assign({},d.userUploadStatus.polling),{params:{userType:e.userType,jobId:t.id}}))}return m.data&&u.data&&l?a.createElement(A.A.Provider,{value:S.a.Primary},a.createElement(T.$,{appLinks:d,userType:e.userType,currentStep:"confirmation",canAddExistingUsers:!0},a.createElement("div",{className:"px-3"},a.createElement(x,{onClickConfirm:function(){var t,n=I.b.getJobData({users:I.b.getNewUsers(l,s),existingUsers:c,customerId:null===(t=m.data)||void 0===t?void 0:t.customerId,userType:e.userType});p(H.q.createJob(n,f,g))},users:l,existingUsers:c,existingUsersHash:s,userType:e.userType,imageCdnUrl:null===(t=u.data)||void 0===t?void 0:t.imageCdnUrl})))):a.createElement(a.Fragment,null)}},29613:(e,t,n)=>{n.d(t,{q:()=>l});var a=n(99940),r=n(97395),o=n(149),l={createJob:function(e,t,n){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:a.k.POST,data:e,success:t,error:n}},getJobs:function(e){var t={},n=[],a=[];return e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.bulkActionType?(n=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],t.type=n):t.type=o.O,e.userType&&(a=Array.isArray(e.userType)?e.userType:[e.userType],t.dataType=a),{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(n.sort().join(":"),":").concat(a.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,t,n){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:t,error:n}},getJobResults:function(e,t,n,a,o){var l={status:t};return n&&(l.cursor=n),{url:r._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),l),key:"job:".concat(e,":results:").concat(t,":").concat(n),success:a,error:o}},getYearGroupRolloverStatus:function(e){return{url:"{gateway}/v1/batch/validations/customers/".concat(e,"/year-group-roll-over"),key:"year:group:rollover:status"}},sendJobReports:function(e){return{url:"{gateway}/v1/batch/results/export",key:"send:job:reports:".concat(e.sort().join(":")),type:a.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}},68050:(e,t,n)=>{n.d(t,{Z:()=>i});var a=n(95685),r=n.n(a),o=n(32735),l=n(46304),s=n(74512);const c=o.forwardRef((({bsPrefix:e,className:t,as:n="div",...a},o)=>{const c=(0,l.vE)(e,"row"),i=(0,l.pi)(),u=(0,l.zG)(),m=`${c}-cols`,d=[];return i.forEach((e=>{const t=a[e];let n;delete a[e],null!=t&&"object"==typeof t?({cols:n}=t):n=t;const r=e!==u?`-${e}`:"";null!=n&&d.push(`${m}${r}-${n}`)})),(0,s.jsx)(n,{ref:o,...a,className:r()(t,c,...d)})}));c.displayName="Row";const i=c}}]);
2
- //# sourceMappingURL=1750-b8e1fca13a-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/1750-b8e1fca13a-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/user-manager/components/user-list-items/bulk-user-actions-user-item/BulkUserActionsUserItem.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/white-pill/WhitePill.tsx","file:///app/packages/libs/shared/src/apps/user-manager/context/UserManagerClientContext.ts","file:///app/packages/libs/shared/src/components/actions/Actions.tsx","file:///app/packages/libs/shared/src/components/actions/actions.scss","file:///app/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","file:///app/packages/libs/shared/src/components/windowed-list/WindowedList.tsx","file:///app/packages/libs/shared/src/components/wizard/confirmation-header/WizardConfirmationHeader.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/bulk-user-upload-account-info/bulk-user-upload-account-info.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/bulk-user-upload-account-info/BulkUserUploadAccountInfo.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/confirmation/BulkUserUploadConfirmation.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/bulk-user-upload/confirmation/BulkUserUploadConfirmationView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { BaseUserItemProps } from 'libs/shared/apps/user-manager/components/user-list/UserList';\nimport { BasicUserDetails } from 'libs/shared/apps/user-manager/components/user-list-items/components/BasicUserDetails';\nimport { RoleOrYearGroup } from 'libs/shared/apps/user-manager/components/user-list-items/components/RoleOrYearGroup';\nimport { UserItemAvatar } from 'libs/shared/apps/user-manager/components/user-list-items/components/UserItemAvatar';\nimport { Actions } from 'libs/shared/components/actions/Actions';\nimport { User } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'userManager.bulkUserActionsUserItem';\n\ninterface BulkUserActionsUserItemProps extends BaseUserItemProps {\n imageCdnUrl: string;\n customBadge?: () => JSX.Element;\n onClickRemoveUser?: (user: User) => void;\n}\n\nexport function BulkUserActionsUserItem(props: BulkUserActionsUserItemProps): JSX.Element {\n return (\n <li className='d-flex align-items-center p-2'>\n <UserItemAvatar user={props.user} imageCdnUrl={props.imageCdnUrl} />\n\n <BasicUserDetails user={props.user} />\n\n <RoleOrYearGroup userType={props.userType} user={props.user} />\n\n {props.customBadge && props.customBadge()}\n\n {props.onClickRemoveUser && (\n <Actions actions={[{\n svgName: cvSvgLibrary.Close,\n className: 'btn btn-link svg-container',\n tooltip: LanguageService.getPhrase(namespace, 'removeUser'),\n onClick: () => props.onClickRemoveUser(props.user),\n button: true\n }]} />\n )}\n </li>\n );\n}","import React from 'react';\n\ninterface WhitePillProps {\n className?: string;\n}\n\nexport function WhitePill(props: React.PropsWithChildren<WhitePillProps>): JSX.Element {\n return (\n <span className={`${props.className} rounded-pill px-2 text-nowrap bg-white border border-dark`}>\n {props.children}\n </span>\n );\n}","import React from 'react';\n\nimport { UserManagerClient } from 'libs/shared/apps/user-manager/enums/UserManagerClient';\n\nexport const UserManagerClientContext = React.createContext<UserManagerClient>(null);","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseObject } from 'libs/shared/interfaces';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svgName?: string;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n <>\n <span className='d-flex align-items-center'>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label = FunctionHelper.isFunction(a.label)\n ? a.label\n : () => <>{a.label}</>;\n \n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label()}\n </ActionButton>\n );\n }\n\n const iconButton = (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svgName={a.svgName}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n />\n );\n\n return a.tooltip\n ? <Tooltip title={a.tooltip} spanHack>{iconButton}</Tooltip>\n : iconButton;\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </span>\n </>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"dropdownToggle\":\"UCAnJ\"};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.scss';\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label\n : () => <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label()}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svgName && <SvgContainer svgName={props.action.svgName} className='d-inline-block svg-container me-2' />}\n {label()}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svgName={cvSvgLibrary.More} size={props.dropdownToggleSvgSize} />\n </button>\n <div className='dropdown-menu dropdown-menu-end dropdown-menu-right' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <React.Fragment key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </React.Fragment>\n );\n }\n \n return (\n <React.Fragment key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </React.Fragment>\n );\n })\n }\n </div>\n </div>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\ninterface WindowedListProps<TObject> {\n items: TObject[];\n getComponent: (item: TObject, index: number) => JSX.Element;\n rowHeight: number;\n containerHeight?: number;\n\n staticComponentAboveRows?: JSX.Element;\n staticComponentBelowRows?: JSX.Element;\n}\n\nexport const WindowedList = React.forwardRef((\n props: WindowedListProps<any>,\n ref: React.Ref<Scrollbars>\n) => {\n const [ availableHeight, setAvailableHeight ] = React.useState<number>(props.containerHeight || 0);\n const [ scrollTop, setScrollTop ] = React.useState<number>(0);\n\n const tableRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (props.containerHeight)\n return;\n\n setAvailableHeight(tableRef.current?.clientHeight ?? 0);\n }, [tableRef.current]);\n\n const numRows = props.items.length;\n const totalRowsVisible = Math.ceil(availableHeight / props.rowHeight);\n const totalHeight = props.rowHeight * numRows;\n\n const startIndex = Math.max(\n 0,\n Math.floor(scrollTop / props.rowHeight) - totalRowsVisible\n );\n\n const endIndex = Math.min(\n numRows,\n startIndex + (totalRowsVisible * 3)\n );\n\n function onScrollTable(e: React.UIEvent<HTMLDivElement>): void {\n setScrollTop(e.currentTarget.scrollTop);\n }\n\n function getTableStyles(): React.CSSProperties {\n const tablePosFromTop = tableRef.current?.getBoundingClientRect().top ?? 0;\n\n const height = props.containerHeight || `calc(100vh - ${window.pageYOffset + tablePosFromTop + 30}px)`;\n \n return {\n height,\n minHeight: `${props.rowHeight * 5}px`,\n overflow: 'auto'\n };\n }\n\n function getRows(): JSX.Element[] {\n const items = [];\n \n let index = startIndex;\n while (index < endIndex) {\n const item = props.items[index];\n\n if (item)\n items.push(props.getComponent(item, index));\n \n index++;\n }\n\n return items;\n }\n\n return (\n <div style={getTableStyles()} ref={tableRef}>\n <Scrollbars\n onScroll={onScrollTable}\n autoHeightMin={totalHeight}\n autoHeightMax={totalHeight}\n ref={ref}\n >\n <div style={{ height: totalHeight, paddingTop: startIndex * props.rowHeight }}>\n <ul className='w-100 position-relative d-table striped-list list-unstyled no-full-width'>\n {!!props.staticComponentAboveRows && props.staticComponentAboveRows}\n {getRows()}\n {!!props.staticComponentBelowRows && props.staticComponentBelowRows}\n </ul>\n </div>\n </Scrollbars>\n </div>\n );\n});","import React from 'react';\n\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'wizard.wizardConfirmationHeader';\n\ntype WizardConfirmationHeaderProps = React.PropsWithChildren<any>;\n\nexport function WizardConfirmationHeader(props: WizardConfirmationHeaderProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <h2 className='h4'>\n <Text phrase='confirmation' />\n </h2>\n\n <h3 className='h6'>\n <Text phrase='changesToBeMade' />\n </h3>\n\n <div className='p-2 border rounded mb-2'>\n {props.children}\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"noAccount\":\"RBzEA\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { WhitePill } from 'libs/shared/apps/user-manager/components/white-pill/WhitePill';\nimport { EditUserRequest } from 'libs/shared/apps/user-manager/interfaces';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nimport styles from './bulk-user-upload-account-info.scss';\n\nconst namespace = 'userManager.bulkUserUploadAccountInfo';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface BulkUserUploadAccountInfoProps {\n users: EditUserRequest[];\n existingUsers: EditUserRequest[];\n userType: UserGroup;\n}\n\nexport function BulkUseUploadAccountInfo(props: BulkUserUploadAccountInfoProps): JSX.Element {\n const noAccountCount = props.users.length - props.existingUsers.length;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Row className='mb-2'>\n <Col xs={4} className='font-weight-500'><Text phrase='statuses' /></Col>\n <Col xs={8} className='font-weight-500'><Text phrase='changesTo' /></Col>\n </Row>\n \n {!!noAccountCount && (\n <Row className='mb-2'>\n <Col xs={4}>\n <WhitePill className={styles.noAccount}>\n {getPhrase('noAccount')}\n </WhitePill>\n <div>\n <Text\n phrase={props.userType === UserGroup.Learner ? 'studentCount' : 'staffCount'}\n options={{ smartCount: noAccountCount }}\n />\n </div>\n </Col>\n\n <Col xs={8}>\n <div>\n <Text phrase={props.userType === UserGroup.Learner ? 'willCreate' : 'willInvite'} />\n </div>\n </Col>\n </Row>\n )}\n \n \n {!!props.existingUsers.length && (\n <Row className='mb-2'>\n <Col xs={4}>\n <WhitePill>\n {getPhrase('existingAccount')}\n </WhitePill>\n <div>\n <Text\n phrase={props.userType === UserGroup.Learner ? 'studentCount' : 'staffCount'}\n options={{ smartCount: props.existingUsers.length }}\n />\n </div>\n </Col>\n\n <Col xs={8}>\n <div>\n <Text phrase='willAdd' />\n </div>\n </Col>\n </Row>\n )}\n\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkUseUploadAccountInfo } from 'libs/shared/apps/user-manager/components/bulk-upload/bulk-user-upload-account-info/BulkUserUploadAccountInfo';\nimport { BulkUserActionsUserItem } from 'libs/shared/apps/user-manager/components/user-list-items/bulk-user-actions-user-item/BulkUserActionsUserItem';\nimport { EditUserRequest } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { UserHash } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserUploadViewModel';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WindowedList } from 'libs/shared/components/windowed-list/WindowedList';\nimport { WizardConfirmationHeader } from 'libs/shared/components/wizard/confirmation-header/WizardConfirmationHeader';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nconst namespace = 'userManager.bulkUserUploadConfirmation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface BulkUserUploadConfirmationProps {\n users: EditUserRequest[];\n existingUsers: EditUserRequest[];\n existingUsersHash: UserHash;\n imageCdnUrl: string;\n userType: UserGroup;\n onClickConfirm: () => void;\n}\n\nexport function BulkUserUploadConfirmation(props: BulkUserUploadConfirmationProps): JSX.Element {\n const ref = React.useRef<any>();\n const [ , setViewModel ] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n const { setOnClickConfirm } = React.useContext(WizardLayoutContext);\n\n React.useEffect(() => {\n setViewModel('scrollContainer', ref.current?.view);\n }, [ref.current]);\n\n const isStudent = props.userType === UserGroup.Learner;\n\n React.useEffect(() => {\n setOnClickConfirm(() => props.onClickConfirm);\n }, [props.onClickConfirm]);\n\n function getBadge(user: EditUserRequest) {\n function getMessage(): string {\n if (props.existingUsersHash[user.lookupId])\n return isStudent ? getPhrase('existingStudentAccount') : getPhrase('existingStaffAccount');\n\n return getPhrase('noAccount');\n }\n\n return (\n <div className='flex-shrink-0 me-2'>\n {getMessage()}\n </div>\n );\n }\n\n return (\n <>\n <WizardConfirmationHeader>\n <h4 className='h6'>\n <Text namespace={namespace} phrase='heading' />\n </h4>\n <ul className='mt-1 ps-3 ms-1'>\n <li>\n <Text namespace={namespace} phrase={isStudent ? 'creationInfoStudent' : 'creationInfoStaff'}/>\n </li>\n <li>\n <Text namespace={namespace} phrase={isStudent ? 'addInfoStudent' : 'addInfoStaff'}/>\n </li>\n </ul>\n\n <div className='rounded p-2 bg-light-blue'>\n <BulkUseUploadAccountInfo users={props.users} existingUsers={props.existingUsers} userType={props.userType} />\n </div>\n </WizardConfirmationHeader>\n\n <h3 className='h6 mt-3'>\n <Text\n namespace={namespace}\n phrase={isStudent ? 'headingStudents' : 'headingStaff'}\n options={{ smartCount: props.users.length }}\n />\n </h3>\n\n <WindowedList\n items={props.users}\n rowHeight={55}\n ref={ref}\n getComponent={user => (\n <BulkUserActionsUserItem\n key={user.lookupId}\n user={{ ...user, name: user.firstName, id: user.lookupId, masterYearGroup: null }}\n userType={props.userType}\n imageCdnUrl={props.imageCdnUrl}\n customBadge={() => getBadge(user)}\n />\n )}\n />\n </>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { BulkUserUploadConfirmation } from 'libs/shared/apps/user-manager/components/bulk-upload/confirmation/BulkUserUploadConfirmation';\nimport { BulkUserUploadWizardLayout } from 'libs/shared/apps/user-manager/components/bulk-upload/layout/BulkUserUploadWizardLayout';\nimport { UserManagerClientContext } from 'libs/shared/apps/user-manager/context/UserManagerClientContext';\nimport { UserManagerClient } from 'libs/shared/apps/user-manager/enums/UserManagerClient';\nimport { useBulkUploadUsers } from 'libs/shared/apps/user-manager/hooks/useBulkUploadUsers';\nimport { UserWizardParams } from 'libs/shared/apps/user-manager/interfaces/query-params/UserWizardParams';\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BulkUserUploadHelper } from 'libs/shared/apps/user-manager/utils/BulkUserUploadHelper';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BatchJob, Config, CurrentUser, PropsWithPopupViewProps } from 'libs/shared/interfaces';\n\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nexport function BulkUserUploadConfirmationView(\n props: PropsWithPopupViewProps<UserWizardParams>\n): JSX.Element {\n const {\n users,\n existingUsersHash,\n existingUserToAdd,\n deleteUsers\n } = useBulkUploadUsers();\n\n React.useEffect(() => {\n // remove users if they are unchecked from prev step\n if (existingUserToAdd?.length < Object.keys(existingUsersHash)?.length) {\n deleteUsers(\n BulkUserUploadHelper.getDeletedExistingUsers(users, existingUsersHash, existingUserToAdd).map(u => u.lookupId)\n );\n }\n }, []);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const appLinks = getUserManagerAppLinks(props.userType);\n const fetchAsync = Flight.useGetFetchAsync();\n\n const onCreateJobError = BulkUserActionsHelper.useCreateJobErrorAlert();\n\n function startBulkUpload(): void {\n const jobData = BulkUserUploadHelper.getJobData({\n users: BulkUserUploadHelper.getNewUsers(users, existingUsersHash),\n existingUsers: existingUserToAdd,\n customerId: currentUser.data?.customerId,\n userType: props.userType\n });\n fetchAsync(JobRequests.createJob(jobData, onCreateJob, onCreateJobError));\n }\n\n function onCreateJob(job: BatchJob): void {\n Core.AppLinkHelper.trigger({\n ...appLinks.userUploadStatus.polling,\n params: {\n userType: props.userType,\n jobId: job.id\n }\n });\n }\n\n if (!currentUser.data || !config.data || !users)\n return <></>;\n \n return (\n <UserManagerClientContext.Provider value={UserManagerClient.Primary}>\n <BulkUserUploadWizardLayout\n appLinks={appLinks}\n userType={props.userType}\n currentStep='confirmation'\n canAddExistingUsers\n >\n <div className='px-3'>\n <BulkUserUploadConfirmation\n onClickConfirm={startBulkUpload}\n users={users}\n existingUsers={existingUserToAdd}\n existingUsersHash={existingUsersHash}\n userType={props.userType}\n imageCdnUrl={config.data?.imageCdnUrl}\n />\n </div>\n </BulkUserUploadWizardLayout>\n </UserManagerClientContext.Provider>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["namespace","BulkUserActionsUserItem","props","className","user","imageCdnUrl","userType","customBadge","onClickRemoveUser","actions","svgName","tooltip","onClick","button","WhitePill","children","UserManagerClientContext","Actions","orderedActions","sort","a","b","order","buttonActions","moreActions","forEach","push","length","map","idx","key","label","appLink","href","showSpinner","analyticsData","analyticsOptions","openInNewTab","disabled","iconButton","title","spanHack","sortComponent","dropdownToggleClassName","actionsDropdownClassName","dropdownToggleSvgSize","fetchMore","LazyDropdownItems","style","padding","height","width","getDropdownItemClassName","actionClassName","ActionsDropdownItem","FunctionHelper","action","AppLink","SvgContainer","e","preventDefault","AnalyticsHelper","role","tabIndex","onKeyDown","ActionsDropdown","isLazy","some","lazyPlaceholder","currentGroup","dropdownToggleId","RandomHelper","type","id","size","showDivider","undefined","group","Tooltip","defaultProps","S","WindowedList","ref","containerHeight","availableHeight","setAvailableHeight","scrollTop","setScrollTop","tableRef","current","clientHeight","tablePosFromTop","numRows","items","totalRowsVisible","Math","ceil","rowHeight","totalHeight","startIndex","max","floor","endIndex","min","getBoundingClientRect","top","window","pageYOffset","minHeight","overflow","onScroll","currentTarget","autoHeightMin","autoHeightMax","paddingTop","staticComponentAboveRows","index","item","getComponent","getRows","staticComponentBelowRows","WizardConfirmationHeader","value","phrase","getPhrase","LanguageService","BulkUseUploadAccountInfo","noAccountCount","users","existingUsers","Row","Col","xs","Text","UserGroup","options","smartCount","BulkUserUploadConfirmation","setViewModel","SharedViewModelKeys","setOnClickConfirm","WizardLayoutContext","view","isStudent","onClickConfirm","lookupId","name","firstName","masterYearGroup","existingUsersHash","getBadge","BulkUserUploadConfirmationView","useBulkUploadUsers","existingUserToAdd","deleteUsers","Object","keys","BulkUserUploadHelper","u","config","ConfigRequests","currentUser","UserRequests","appLinks","fetchAsync","onCreateJobError","BulkUserActionsHelper","onCreateJob","job","userUploadStatus","polling","params","jobId","data","UserManagerClient","BulkUserUploadWizardLayout","currentStep","canAddExistingUsers","jobData","customerId","JobRequests","createJob","success","error","url","getJobs","queryParams","bulkActionTypes","userTypes","cursor","bulkActionType","Array","isArray","dataType","join","getJob","getJobProgress","invalidationKeys","getJobResults","status","getYearGroupRolloverStatus","sendJobReports","ids","jobIds","getJobSummary","bsPrefix","as","Component","decoratedBsPrefix","breakpoints","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","displayName"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[1818],{50690:(e,a,t)=>{t.d(a,{b:()=>r});var n=t(12788),r={renderInPortalIfExists:function(e,a){return a?(0,n.createPortal)(e,a):e}}},14875:(e,a,t)=>{t.d(a,{a:()=>f});var n=t(32735),r=t(23481),o=t(75902),i=t(35223);function s(e){return s="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},s(e)}function c(e,a,t){return(a=function(e){var a=function(e,a){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(a)?a:a+""}(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var l=c(c(c({},o.GL.Archived,{svgName:i.vn.Archive,svgColorClassName:"text-secondary",actionName:"Archive",statusName:"Archived"}),o.GL.Draft,{svgName:i.vn.Edit,svgColorClassName:"",actionName:"Draft",statusName:"Draft"}),o.GL.Published,{svgName:i.vn.VisibleOn,svgColorClassName:"text-success",actionName:"Publish",statusName:"Published"}),d=t(83914),m=t(40424);const u={badge:"ciO47",draftLight:"A6Yi7",draftDark:"fkXBX",published:"Ovzwy",archived:"r_dco"};function p(e){var a="rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ".concat(u.badge);switch(e.status){case m.GL.Published:a+=" ".concat(u.published);break;case m.GL.Archived:a+=" ".concat(u.archived);break;case m.GL.Draft:a+=" ".concat(e.darkMode?u.draftDark:u.draftLight)}return e.wrapperClassName&&(a+=" ".concat(e.wrapperClassName)),a}function v(e){var a=l[e.status],t=a.statusName,r=a.svgName;return n.createElement("div",{className:p(e)},n.createElement(d.x,{svgName:r}),n.createElement("div",null,t))}var g=t(98364);const b={stickyWrapper:"zhw6K",badgeWrapper:"NOvn1",badge:"pxQSR"};var h=r.T.encloseNamespace("shared.classificationPreviewBanner");function f(e){return n.createElement("div",{className:"".concat(b.stickyWrapper," py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded")},n.createElement("div",{className:"position-absolute d-flex ".concat(b.badgeWrapper)},n.createElement(v,{status:e.status,wrapperClassName:"".concat(b.badge),darkMode:!0})),n.createElement("div",{className:"flex-grow-1"},n.createElement("h1",{className:"text-center my-3 h5"},n.createElement(g.V,{emoji:"👀"}),h("topic"===e.type?"topicTitle":"companyTitle"))))}},44522:(e,a,t)=>{t.d(a,{p:()=>w,v:()=>x});var n=t(32735),r=t(110),o=t(50690),i=t(84963),s=t(73679),c=t(83657),l=t(23481),d=t(36848),m=t(83914),u=t(35223),p="shared.backButton";function v(e){var a=Object.assign({textShadow:!0},e),t=a.backToName,r=a.appLink,o=a.color,i=a.extraClasses,s=a.textShadow,c=t?l.T.getPhrase(p,"backTo",{backToName:t}):l.T.getPhrase(p,"back"),v="black"===o?"":"text-white",g=s?"text-shadow":"";return n.createElement(d.F,{appLink:r,className:"d-inline-flex align-items-center h5 mb-0 ".concat(i," ").concat(v," ").concat(g)},n.createElement(m.x,{svgName:u.vn.ChevronLeft,size:m.S.Medium}),n.createElement("span",{className:"ms-1"},c))}v.defaultProps={color:"black",extraClasses:""};var g=t(36518),b=t(83345),h=t(10587),f=t(94232),y=t(54610),E=t(79967),C=t(67453);const k={bannerContent:"sSCTB",actionsContainer:"Z5WI2",bannerContentWithLogo:"rgs7Q",container:"M51HJ",logoContainer:"vkeJk",logoContainerLeft:"M3U9B",logoHeading:"EtRwC",specialEventContainer:"rOxDc",headingLarge:"_8pnV",heading:"JXVBH"};var N="".concat(h.y[y.__.Banners].width,":").concat(h.y[y.__.Banners].height);function L(e){return e.length<160?"h1":k.headingLarge}var w=n.memo((function(e){var a,t,l,d,m=e.heading,u=e.banner,p=e.imageCdnUrl,h=e.actions,w=e.sortComponent,x=e.blockColourClass,T=e.specialEvent,P=n.useContext(f.n),S=(0,E.k)().xxl?1920:1200,I=n.useMemo((function(){if(!T||e.showComingSoon)return!1;var a=r.O.format(new Date,"YYYY-MM-DD");return T.endDate?T.startDate<=a&&T.endDate>=a:T.startDate===a}),[T]),D=e.imageOptions||{width:S,ratio:N,resizeType:y.Nq.Cover},A=!!u&&!!p&&C.j.createBannerUrl(u,{fallbackBaseUrl:p,fallbackCategoryName:m,type:y.__.Banners},D),B={className:"banner banner-header ".concat(e.bannerClassName),style:A?{backgroundImage:"url('".concat(A,"')")}:{}};!u&&x&&(delete B.style,B.className+=" ".concat(x));var U=e.detailsComponent;return o.b.renderInPortalIfExists(n.createElement("header",Object.assign({},B),n.createElement("div",{className:"container ".concat(k.container," position-relative inner-banner")},e.backButtonAppLink&&n.createElement("div",{className:"pt-3"},n.createElement(v,{appLink:e.backButtonAppLink,backToName:e.backButtonText,extraClasses:e.backButtonClasses,color:"white"})),n.createElement("div",{className:"".concat(e.alignLogoLeft?"position-absolute top-50 start-0 translate-middle-y w-100 ps-4":"".concat(k.bannerContent," px-2 ").concat((null===(a=e.logo)||void 0===a?void 0:a.url)?k.bannerContentWithLogo:""))},!!T&&n.createElement("div",{className:"position-relative ".concat(k.specialEventContainer)},n.createElement(s.s,{body:{type:T.endDate?"range":"day",text:T.endDate?"".concat(r.O.format(T.startDate,"DD"),"-").concat(r.O.format(T.endDate,"DD")):r.O.format(T.startDate,"DD")},month:r.O.format(T.startDate,"MMMM"),theme:e.calendarTheme})),n.createElement("div",null,I&&n.createElement("div",{className:"rounded-pill py-1 px-2 my-1 me-1 fw-semibold bg-light-blue lh-1 d-inline-block"},n.createElement(b.x,{namespace:"shared.bannerHeader",phrase:"onToday"})),e.showComingSoon&&n.createElement(i.r,{className:"pe-2 fw-semibold mb-1 rounded-pill justify-content-start text-nowrap"}),n.createElement("div",{className:"d-flex align-items-center"},e.alignLogoLeft&&n.createElement("div",{className:"".concat(k.logoContainerLeft," d-none d-md-block partial-loading-background rounded-circle overflow-hidden me-3")},(null===(t=e.logo)||void 0===t?void 0:t.url)&&n.createElement(g.w,{src:C.j.createUrl(null===(l=e.logo)||void 0===l?void 0:l.url,{size:y.h2.Small})})),n.createElement("h1",{className:"text-white text-shadow pe-3 position-static ".concat(k.heading," ").concat(L(m)," ").concat(e.alignLogoLeft?"w-50":"")},m,U&&n.createElement(U,null)))),!!h&&n.createElement("div",{className:k.actionsContainer},n.createElement(c.e,{actions:h,sortComponent:w,actionsDropdownClassName:e.actionsDropdownClassName}))),!e.alignLogoLeft&&!!(null===(d=e.logo)||void 0===d?void 0:d.url)&&n.createElement("div",{className:k.logoContainer},n.createElement("img",{src:C.j.createUrl(e.logo.url,{size:y.h2.Small}),className:"rounded-circle"})))),null==P?void 0:P.container)}),(function(e,a){var t,n;return e.actions===a.actions&&e.heading===a.heading&&(null===(t=e.logo)||void 0===t?void 0:t.url)===(null===(n=a.logo)||void 0===n?void 0:n.url)}));function x(){var e=n.useContext(f.n);return o.b.renderInPortalIfExists(n.createElement("div",{className:"partial-banner partial-loading-background ".concat(k.banner)}),null==e?void 0:e.container)}},49935:(e,a,t)=>{t.d(a,{Oo:()=>m,b2:()=>u});var n=t(32735),r=t(36848),o=t(86764),i=t(3747),s=t(5859),c=t(35223),l=t(83914),d=function(e){var a=e.breadcrumb,t=a.name,o=a.appLink,i=a.active,s=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(i?" active":"")},i?n.createElement("strong",null,t):n.createElement(r.F,{appLink:o},s&&n.createElement(l.x,{svgName:c.vn.ChevronLeft,size:l.S.Small}),n.createElement("span",{className:s?"ms-2":""},t)))},m=function(e){var a=e.breadcrumbs,t=(0,i.a)(o.r.XS),r=null==a?void 0:a.length;return!r||t&&r<2?n.createElement(n.Fragment,null):t?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(d,{breadcrumb:a[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},a.map((function(e,a){return n.createElement(d,{key:a,breadcrumb:e})}))))},u=n.memo((function(e){var a=e.numItems,t=void 0===a?3:a;return(0,i.a)(o.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},s.u.getPartialLoadingItems({numItems:t}).map((function(e,a){var t=e.width;return n.createElement("li",{key:a,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:t},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},56520:(e,a,t)=>{t.d(a,{R0:()=>p,_N:()=>m,eR:()=>u});var n=t(23481),r=t(97395),o=t(20354),i=t(42617),s=t(4594),c=t(39151),l=t(31949),d=n.T.encloseNamespace("shared.hooks");function m(e,a,t,n){var o=r._.safeUrlConcat(e,"manage"),i=r._.safeUrlConcat(e,"exchange"),c=function(e,a,t){return r._.safeUrlConcat(e,"".concat(a,"/").concat(t))};switch(a){case s.E.Subject:return r._.safeUrlConcat(o,"subjects/presentations/".concat(n,"/classifications/").concat(t,"/edit"));case s.E.Video:return c(o,"videos",t);case s.E.Playlist:return c(o,"playlists",t);case s.E.Series:return c(o,"series",t);case s.E.Company:return c(o,"companies",t);case s.E.Interactive:return c(o,"interactives",t);case s.E.Clip:return c(o,"clips",t);case s.E.Category:return c(i,"categories",t)}}function u(){return d("openInCurationStudio")}function p(){var e,a,t=o.a.useBasicFetch(l.N.currentUser()),n=o.a.useBasicFetch((null===(e=t.data)||void 0===e?void 0:e.id)&&l.N.groups(null===(a=t.data)||void 0===a?void 0:a.id)).data,r=o.a.useBasicFetch(c.L.config()),s=[i.j.Curator,i.j.Content,i.j.Developer];return{openInCurationStudioLabel:u(),isUserCurator:s.some((function(e){return null==n?void 0:n.data.find((function(a){return a.name===e}))})),getOpenInCurationStudioLink:function(e,a,t){var n;return m(null===(n=r.data)||void 0===n?void 0:n.curatorUrl,e,a,t)}}}},41818:(e,a,t)=>{t.r(a),t.d(a,{CompanyDashboardView:()=>X});var n=t(32735),r=t(23481),o=t(81886),i=t(20354),s=t(28400),c=t(65858),l=t(75896),d=t(23232),m=t(83345),u=t(76177),p=t(40424),v=t(35223),g="moviesAndTv.companyDashboardEmptyState",b=r.T.encloseNamespace(g);function h(e){var a,t,o=(null===(a=e.dashboard)||void 0===a?void 0:a.status)===p.GL.Archived;return n.createElement(d.u,null,n.createElement(d.u.Image,{src:e.imageUrl,altText:b("info")}),n.createElement(d.u.Heading,null,n.createElement(m.x,{namespace:g,phrase:"heading"})),n.createElement(d.u.Info,null,n.createElement(m.x,{namespace:g,phrase:"info"})),n.createElement(u.u,{title:o?r.T.getPhrase(g,"archivedCtaTooltip"):"",spanHack:!0},n.createElement(d.u.Cta,{text:r.T.getPhrase(g,"add"),appLink:null===(t=e.addWidgetApplink)||void 0===t?void 0:t.call(e),className:"btn btn-dark",icon:v.vn.Plus,disabled:o})))}var f=t(44522),y=t(49935),E=t(97717),C=t(7733),k=t(21366),N=t(9085);function L(e){var a,t,r,o=l.m.sortBy(null===(a=e.dashboard)||void 0===a?void 0:a.widgets,"index");function i(a,t,n){var r=k.S.getWidgetParams(t,n,k.S.getDashboardTargetType(e.dashboard));return e.getWidgetContentRequest(a,r,n)}var s=e.isReadonly&&!(null==o?void 0:o.length);return n.createElement(n.Fragment,null,!!o.length&&n.createElement(n.Fragment,null,e.company?n.createElement(f.p,{heading:e.company.name,banner:e.company.banner,imageCdnUrl:e.imageCdnUrl,blockColourClass:(0,N.x)(e.company.name,C.o),actions:null===(t=e.getBannerActions)||void 0===t?void 0:t.call(e),actionsDropdownClassName:"btn btn-outline-dark"}):n.createElement(f.v,null),n.createElement("div",{className:"py-3 mb-3 border-bottom"},n.createElement(y.Oo,{breadcrumbs:null===(r=e.getBreadcrumbs)||void 0===r?void 0:r.call(e)})),n.createElement("div",{className:"mt-3"},o.map((function(a){return n.createElement(E.L,{key:a.id,id:a.id,imageCdnUrl:e.imageCdnUrl,getContentRequest:i,audiences:e.audiences,name:a.name,description:a.description,templateId:a.templateId,metadata:a.metadata,presentation:e.presentation,setFavourite:e.setFavourite,canFavourite:e.canFavourite,appLinks:e.widgetAppLinks,isScrollToTargetWidget:(null==e?void 0:e.scrollToWidgetId)===a.id,widgetTypeId:a.widgetId,yearGroups:e.yearGroups,hasPermissions:e.hasPermissions,hasLocalPermissions:e.hasLocalPermissions,isPreviewing:e.isReadonly,companyLogoFallbackUrl:e.companyLogoFallbackUrl,subTextType:e.subTextType,resourceThumbnailFallbackImageUrl:e.resourceThumbnailFallbackImageUrl,preferences:a.preferences,isPlugin:e.isPlugin})})))),s&&n.createElement(h,{dashboard:e.dashboard,isReadonly:e.isReadonly,imageUrl:e.emptyImageUrl,addWidgetApplink:e.widgetAppLinks.widgetWizard}))}var w=t(14875),x=t(183),T=t(67058),P=t(39151),S=t(80889),I=t(56520),D=t(22902),A=t(79612),B=t(37802),U=t(76753),O=t(99742),_=t(14070),F=t(97291),j=t(97395),W={company:function(e){var a={query:"banner"};return{url:j._.urlBuilder("{gateway}/v1/objects/".concat(e),a),publicUrl:j._.urlBuilder("/api/objects/".concat(e),a),key:"company:".concat(e)}}},M=t(51855),G=t(7179),R=t(27638),H=t(23737),V=t(33192),z=t(22490),q=t(82431),Y=r.T.encloseNamespace("moviesAndTv.companyDashboard"),Q={videoType:function(e,a){return z.W.getAppLink(e,Object.assign(Object.assign({},a),{moviesAndTv:!0,context:x.Q.Widget}))},series:q.j.getSeriesAppLink,subText:function(e){return q.j.getSeriesAppLink(e.series)},playlist:function(e){return{application:F.O.PLAYLISTS,action:_.e.Playlists.PLAYLIST,args:[e.id,s.m.slugify(e.name)]}},classroomGuide:z.W.getClassroomGuideAppLink,interactiveGuidance:z.W.getInteractiveGuidanceAppLink,resourceGuidance:z.W.getResourceGuidanceAppLink};function X(e){var a,t,r=i.a.useBasicFetch(P.L.config()),s=i.a.useBasicFetch(W.company(e.companyId)),l=(0,I.R0)(),d=l.openInCurationStudioLabel,m=l.isUserCurator,u=l.getOpenInCurationStudioLink,v=(0,B.r)(null),g=v.hasNewMoviesAndTv,b=v.isLoadingSettings,h=(0,R.u)(c.LZ.ExpandableVideoThumbnail),f=h.setFavourite,y=h.canFavourite,E=(0,D.T)(),C=E.hasPermissions,k=E.hasLocalPermissions,N=(0,M.G)().isPlugin,x=(0,H.y)({targetType:p.ku.Company,queryParams:e.queryParams,presentationSlug:e.presentationSlug,companyId:e.companyId}),j=x.dashboard,z=x.presentation,q=x.isPreviewing;return(0,A.M)(U.CG.getDefaultMetadata({title:null===(a=s.data)||void 0===a?void 0:a.name,phraseContext:{phraseHandler:Y,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:V.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:!1})),(0,G.P)({id:e.companyId,app:"studios"}),n.useEffect((function(){!b&&j.hasCompleted&&(g&&j.data||o.Q.C$.trigger({application:F.O.DASHBOARD,action:_.e.Dashboard.HOME},{replace:!0}))}),[g,b,j.data,j.hasCompleted]),n.useEffect((function(){j.hasCompleted&&!j.data&&o.Q.Ry.throw(new T.d)}),[j.data,j.hasCompleted]),n.createElement("div",{className:"position-relative px-4"},!(!q||!j.data)&&n.createElement(w.a,{status:j.data.status,type:"company"}),n.createElement(L,{company:s.data,dashboard:j.data,getWidgetContentRequest:S._.dashboardWidgetContent,getBannerActions:function(){var e,a;return m?[{label:d,href:u(null===(e=s.data)||void 0===e?void 0:e.typeId,null===(a=s.data)||void 0===a?void 0:a.id),openInNewTab:!0}]:[]},imageCdnUrl:null===(t=r.data)||void 0===t?void 0:t.imageCdnUrl,resourceThumbnailFallbackImageUrl:O.W.Fallbacks.RESOURCE_THUMBNAIL,presentation:z,widgetAppLinks:Q,setFavourite:f,canFavourite:y,getBreadcrumbs:function(){return s.hasCompleted?[{name:Y("moviesAndTv"),appLink:{application:F.O.MOVIES_AND_TV,action:_.e.MoviesAndTv.HOME}},{name:s.data.name,active:!0}]:[]},hasPermissions:C,hasLocalPermissions:k,isPlugin:N}))}}}]);
2
- //# sourceMappingURL=1818-ca1e552c00-lite.chunk.js.map