@clickview/lite 0.52.3-dev.1 → 0.52.3-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/languages/en.json +1 -1
  3. package/dist/scripts/1063-5a732288dc-lite.chunk.js +2 -0
  4. package/dist/scripts/1063-5a732288dc-lite.chunk.js.map +1 -0
  5. package/dist/scripts/{9173-2392d447a6-lite.chunk.js → 1104-f057c6dea1-lite.chunk.js} +3 -3
  6. package/dist/scripts/{9173-2392d447a6-lite.chunk.js.map → 1104-f057c6dea1-lite.chunk.js.map} +1 -1
  7. package/dist/scripts/{1125-aac132b88f-lite.chunk.js → 1125-c5138ef662-lite.chunk.js} +2 -2
  8. package/dist/scripts/1125-c5138ef662-lite.chunk.js.map +1 -0
  9. package/dist/scripts/1169-9b7d850bab-lite.chunk.js +2 -0
  10. package/dist/scripts/1169-9b7d850bab-lite.chunk.js.map +1 -0
  11. package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
  12. package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
  13. package/dist/scripts/1672-0d1fc90529-lite.chunk.js +3 -0
  14. package/dist/scripts/1672-0d1fc90529-lite.chunk.js.map +1 -0
  15. package/dist/scripts/1725-99450ed637-lite.chunk.js +2 -0
  16. package/dist/scripts/1725-99450ed637-lite.chunk.js.map +1 -0
  17. package/dist/scripts/1891-5914c54eca-lite.chunk.js +2 -0
  18. package/dist/scripts/1891-5914c54eca-lite.chunk.js.map +1 -0
  19. package/dist/scripts/1896-399a91d18c-lite.chunk.js +2 -0
  20. package/dist/scripts/1896-399a91d18c-lite.chunk.js.map +1 -0
  21. package/dist/scripts/193-797b89797a-lite.chunk.js +2 -0
  22. package/dist/scripts/193-797b89797a-lite.chunk.js.map +1 -0
  23. package/dist/scripts/209-fe96739cb5-lite.chunk.js +2 -0
  24. package/dist/scripts/209-fe96739cb5-lite.chunk.js.map +1 -0
  25. package/dist/scripts/2134-b8d5c46887-lite.chunk.js +2 -0
  26. package/dist/scripts/2134-b8d5c46887-lite.chunk.js.map +1 -0
  27. package/dist/scripts/2142-f71cf5c71f-lite.chunk.js +2 -0
  28. package/dist/scripts/2142-f71cf5c71f-lite.chunk.js.map +1 -0
  29. package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js +2 -0
  30. package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js.map +1 -0
  31. package/dist/scripts/2548-c5dd2899df-lite.chunk.js +2 -0
  32. package/dist/scripts/2548-c5dd2899df-lite.chunk.js.map +1 -0
  33. package/dist/scripts/2952-c3a826b714-lite.chunk.js +2 -0
  34. package/dist/scripts/2952-c3a826b714-lite.chunk.js.map +1 -0
  35. package/dist/scripts/3404-23125f10ea-lite.chunk.js +2 -0
  36. package/dist/scripts/3404-23125f10ea-lite.chunk.js.map +1 -0
  37. package/dist/scripts/3633-f3609526a5-lite.chunk.js +2 -0
  38. package/dist/scripts/3633-f3609526a5-lite.chunk.js.map +1 -0
  39. package/dist/scripts/3728-eed9e78985-lite.chunk.js +2 -0
  40. package/dist/scripts/3728-eed9e78985-lite.chunk.js.map +1 -0
  41. package/dist/scripts/4063-5fa157657f-lite.chunk.js +2 -0
  42. package/dist/scripts/4063-5fa157657f-lite.chunk.js.map +1 -0
  43. package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js +2 -0
  44. package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js.map +1 -0
  45. package/dist/scripts/4273-e42f763f00-lite.chunk.js +3 -0
  46. package/dist/scripts/4273-e42f763f00-lite.chunk.js.map +1 -0
  47. package/dist/scripts/4395-d0815835c8-lite.chunk.js +2 -0
  48. package/dist/scripts/4395-d0815835c8-lite.chunk.js.map +1 -0
  49. package/dist/scripts/4502-af4903784e-lite.chunk.js +2 -0
  50. package/dist/scripts/4502-af4903784e-lite.chunk.js.map +1 -0
  51. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js +2 -0
  52. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js.map +1 -0
  53. package/dist/scripts/5573-4352a3537e-lite.chunk.js +2 -0
  54. package/dist/scripts/5573-4352a3537e-lite.chunk.js.map +1 -0
  55. package/dist/scripts/5595-3acc9593bf-lite.chunk.js +2 -0
  56. package/dist/scripts/5595-3acc9593bf-lite.chunk.js.map +1 -0
  57. package/dist/scripts/5606-69c0ca2b97-lite.chunk.js +2 -0
  58. package/dist/scripts/5606-69c0ca2b97-lite.chunk.js.map +1 -0
  59. package/dist/scripts/5877-628732da21-lite.chunk.js +2 -0
  60. package/dist/scripts/5877-628732da21-lite.chunk.js.map +1 -0
  61. package/dist/scripts/5936-cd98109a7b-lite.chunk.js +2 -0
  62. package/dist/scripts/5936-cd98109a7b-lite.chunk.js.map +1 -0
  63. package/dist/scripts/{5940-f335f8c290-lite.chunk.js → 5940-2767b40c40-lite.chunk.js} +2 -2
  64. package/dist/scripts/5940-2767b40c40-lite.chunk.js.map +1 -0
  65. package/dist/scripts/6054-1e9b86d631-lite.chunk.js +2 -0
  66. package/dist/scripts/6054-1e9b86d631-lite.chunk.js.map +1 -0
  67. package/dist/scripts/6138-2ef7ee071a-lite.chunk.js +2 -0
  68. package/dist/scripts/6138-2ef7ee071a-lite.chunk.js.map +1 -0
  69. package/dist/scripts/{624-575b07d922-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
  70. package/dist/scripts/{624-575b07d922-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
  71. package/dist/scripts/6263-8a7931bf51-lite.chunk.js +2 -0
  72. package/dist/scripts/6263-8a7931bf51-lite.chunk.js.map +1 -0
  73. package/dist/scripts/6290-28ae0e8a60-lite.chunk.js +2 -0
  74. package/dist/scripts/6290-28ae0e8a60-lite.chunk.js.map +1 -0
  75. package/dist/scripts/6470-9a700cabce-lite.chunk.js +2 -0
  76. package/dist/scripts/6470-9a700cabce-lite.chunk.js.map +1 -0
  77. package/dist/scripts/6481-035d218a77-lite.chunk.js +2 -0
  78. package/dist/scripts/6481-035d218a77-lite.chunk.js.map +1 -0
  79. package/dist/scripts/6532-59e9abf69d-lite.chunk.js +2 -0
  80. package/dist/scripts/6532-59e9abf69d-lite.chunk.js.map +1 -0
  81. package/dist/scripts/6596-f75129c039-lite.chunk.js +2 -0
  82. package/dist/scripts/6596-f75129c039-lite.chunk.js.map +1 -0
  83. package/dist/scripts/6604-9adec889c7-lite.chunk.js +2 -0
  84. package/dist/scripts/6604-9adec889c7-lite.chunk.js.map +1 -0
  85. package/dist/scripts/6746-3f501b95cf-lite.chunk.js +2 -0
  86. package/dist/scripts/6746-3f501b95cf-lite.chunk.js.map +1 -0
  87. package/dist/scripts/714-c00ad56229-lite.chunk.js +2 -0
  88. package/dist/scripts/714-c00ad56229-lite.chunk.js.map +1 -0
  89. package/dist/scripts/7163-84c2b15394-lite.chunk.js +2 -0
  90. package/dist/scripts/7163-84c2b15394-lite.chunk.js.map +1 -0
  91. package/dist/scripts/7178-ed74c33056-lite.chunk.js +2 -0
  92. package/dist/scripts/7178-ed74c33056-lite.chunk.js.map +1 -0
  93. package/dist/scripts/7223-0bfab7e57a-lite.chunk.js +2 -0
  94. package/dist/scripts/7223-0bfab7e57a-lite.chunk.js.map +1 -0
  95. package/dist/scripts/7234-84c087600e-lite.chunk.js +2 -0
  96. package/dist/scripts/7234-84c087600e-lite.chunk.js.map +1 -0
  97. package/dist/scripts/7267-fd5085f5c9-lite.chunk.js +2 -0
  98. package/dist/scripts/7267-fd5085f5c9-lite.chunk.js.map +1 -0
  99. package/dist/scripts/7633-6c1ffdd082-lite.chunk.js +2 -0
  100. package/dist/scripts/7633-6c1ffdd082-lite.chunk.js.map +1 -0
  101. package/dist/scripts/7679-8f2d6a3487-lite.chunk.js +2 -0
  102. package/dist/scripts/7679-8f2d6a3487-lite.chunk.js.map +1 -0
  103. package/dist/scripts/7757-7e293be936-lite.chunk.js +2 -0
  104. package/dist/scripts/7757-7e293be936-lite.chunk.js.map +1 -0
  105. package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js +2 -0
  106. package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js.map +1 -0
  107. package/dist/scripts/7818-230982fc27-lite.chunk.js +2 -0
  108. package/dist/scripts/7818-230982fc27-lite.chunk.js.map +1 -0
  109. package/dist/scripts/8323-360541a2a8-lite.chunk.js +3 -0
  110. package/dist/scripts/8323-360541a2a8-lite.chunk.js.map +1 -0
  111. package/dist/scripts/8709-c4f1068232-lite.chunk.js +2 -0
  112. package/dist/scripts/8709-c4f1068232-lite.chunk.js.map +1 -0
  113. package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js +2 -0
  114. package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js.map +1 -0
  115. package/dist/scripts/9010-024dcc8f9a-lite.chunk.js +2 -0
  116. package/dist/scripts/9010-024dcc8f9a-lite.chunk.js.map +1 -0
  117. package/dist/scripts/9016-82d7e0afb9-lite.chunk.js +3 -0
  118. package/dist/scripts/9016-82d7e0afb9-lite.chunk.js.map +1 -0
  119. package/dist/scripts/9173-f9708ec0de-lite.chunk.js +2 -0
  120. package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +1 -0
  121. package/dist/scripts/9230-ae200d2bd3-lite.chunk.js +3 -0
  122. package/dist/scripts/9230-ae200d2bd3-lite.chunk.js.map +1 -0
  123. package/dist/scripts/9359-1fb4413e0d-lite.chunk.js +2 -0
  124. package/dist/scripts/9359-1fb4413e0d-lite.chunk.js.map +1 -0
  125. package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
  126. package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
  127. package/dist/scripts/9399-d7a92ce84a-lite.chunk.js +2 -0
  128. package/dist/scripts/9399-d7a92ce84a-lite.chunk.js.map +1 -0
  129. package/dist/scripts/{9478-99486906b9-lite.chunk.js → 9478-abfa7ed3cc-lite.chunk.js} +3 -3
  130. package/dist/scripts/{9478-99486906b9-lite.chunk.js.map → 9478-abfa7ed3cc-lite.chunk.js.map} +1 -1
  131. package/dist/scripts/{953-fd31f9f016-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
  132. package/dist/scripts/{953-fd31f9f016-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
  133. package/dist/scripts/9719-9736913451-lite.chunk.js +3 -0
  134. package/dist/scripts/9719-9736913451-lite.chunk.js.map +1 -0
  135. package/dist/scripts/999-bdc7956050-lite.chunk.js +2 -0
  136. package/dist/scripts/999-bdc7956050-lite.chunk.js.map +1 -0
  137. package/dist/scripts/bundle-9f8729bedb.min.js +3 -0
  138. package/dist/scripts/bundle-9f8729bedb.min.js.map +1 -0
  139. package/package.json +1 -1
  140. package/dist/scripts/1076-10e5ee6c22-lite.chunk.js +0 -2
  141. package/dist/scripts/1076-10e5ee6c22-lite.chunk.js.map +0 -1
  142. package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
  143. package/dist/scripts/1169-9b1c04fd85-lite.chunk.js +0 -2
  144. package/dist/scripts/1169-9b1c04fd85-lite.chunk.js.map +0 -1
  145. package/dist/scripts/1672-672f298d82-lite.chunk.js +0 -3
  146. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +0 -1
  147. package/dist/scripts/1725-075015497e-lite.chunk.js +0 -2
  148. package/dist/scripts/1725-075015497e-lite.chunk.js.map +0 -1
  149. package/dist/scripts/1818-64a145c5fe-lite.chunk.js +0 -2
  150. package/dist/scripts/1818-64a145c5fe-lite.chunk.js.map +0 -1
  151. package/dist/scripts/1820-993521951d-lite.chunk.js +0 -2
  152. package/dist/scripts/1820-993521951d-lite.chunk.js.map +0 -1
  153. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js +0 -2
  154. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js.map +0 -1
  155. package/dist/scripts/1896-32a6eeda5c-lite.chunk.js +0 -2
  156. package/dist/scripts/1896-32a6eeda5c-lite.chunk.js.map +0 -1
  157. package/dist/scripts/193-f08b054631-lite.chunk.js +0 -2
  158. package/dist/scripts/193-f08b054631-lite.chunk.js.map +0 -1
  159. package/dist/scripts/209-de1729d1b1-lite.chunk.js +0 -2
  160. package/dist/scripts/209-de1729d1b1-lite.chunk.js.map +0 -1
  161. package/dist/scripts/2134-bca2f4697e-lite.chunk.js +0 -2
  162. package/dist/scripts/2134-bca2f4697e-lite.chunk.js.map +0 -1
  163. package/dist/scripts/2548-b81ae38f1f-lite.chunk.js +0 -2
  164. package/dist/scripts/2548-b81ae38f1f-lite.chunk.js.map +0 -1
  165. package/dist/scripts/2703-591ccf069c-lite.chunk.js +0 -2
  166. package/dist/scripts/2703-591ccf069c-lite.chunk.js.map +0 -1
  167. package/dist/scripts/3404-171fdee802-lite.chunk.js +0 -2
  168. package/dist/scripts/3404-171fdee802-lite.chunk.js.map +0 -1
  169. package/dist/scripts/3633-66d28be6f8-lite.chunk.js +0 -2
  170. package/dist/scripts/3633-66d28be6f8-lite.chunk.js.map +0 -1
  171. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js +0 -2
  172. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js.map +0 -1
  173. package/dist/scripts/3922-d40b0ce5aa-lite.chunk.js +0 -2
  174. package/dist/scripts/3922-d40b0ce5aa-lite.chunk.js.map +0 -1
  175. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js +0 -2
  176. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js.map +0 -1
  177. package/dist/scripts/4395-64da004753-lite.chunk.js +0 -2
  178. package/dist/scripts/4395-64da004753-lite.chunk.js.map +0 -1
  179. package/dist/scripts/4502-2e30d86385-lite.chunk.js +0 -2
  180. package/dist/scripts/4502-2e30d86385-lite.chunk.js.map +0 -1
  181. package/dist/scripts/5143-b6896dad98-lite.chunk.js +0 -2
  182. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +0 -1
  183. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js +0 -2
  184. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js.map +0 -1
  185. package/dist/scripts/5595-c4397e12a8-lite.chunk.js +0 -2
  186. package/dist/scripts/5595-c4397e12a8-lite.chunk.js.map +0 -1
  187. package/dist/scripts/5606-6c25caedc4-lite.chunk.js +0 -2
  188. package/dist/scripts/5606-6c25caedc4-lite.chunk.js.map +0 -1
  189. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js +0 -2
  190. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js.map +0 -1
  191. package/dist/scripts/5936-6fe810d3cb-lite.chunk.js +0 -2
  192. package/dist/scripts/5936-6fe810d3cb-lite.chunk.js.map +0 -1
  193. package/dist/scripts/5940-f335f8c290-lite.chunk.js.map +0 -1
  194. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js +0 -2
  195. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js.map +0 -1
  196. package/dist/scripts/6138-21ae042a7b-lite.chunk.js +0 -2
  197. package/dist/scripts/6138-21ae042a7b-lite.chunk.js.map +0 -1
  198. package/dist/scripts/6263-3455286798-lite.chunk.js +0 -2
  199. package/dist/scripts/6263-3455286798-lite.chunk.js.map +0 -1
  200. package/dist/scripts/6290-56412c6663-lite.chunk.js +0 -2
  201. package/dist/scripts/6290-56412c6663-lite.chunk.js.map +0 -1
  202. package/dist/scripts/6415-b29029aa1b-lite.chunk.js +0 -2
  203. package/dist/scripts/6415-b29029aa1b-lite.chunk.js.map +0 -1
  204. package/dist/scripts/6470-6216086d63-lite.chunk.js +0 -2
  205. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +0 -1
  206. package/dist/scripts/6481-899eba8b3d-lite.chunk.js +0 -2
  207. package/dist/scripts/6481-899eba8b3d-lite.chunk.js.map +0 -1
  208. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js +0 -2
  209. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js.map +0 -1
  210. package/dist/scripts/6604-92193d6d68-lite.chunk.js +0 -2
  211. package/dist/scripts/6604-92193d6d68-lite.chunk.js.map +0 -1
  212. package/dist/scripts/6746-b5b2739944-lite.chunk.js +0 -2
  213. package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
  214. package/dist/scripts/679-e18e7956d0-lite.chunk.js +0 -2
  215. package/dist/scripts/679-e18e7956d0-lite.chunk.js.map +0 -1
  216. package/dist/scripts/714-432082f4fa-lite.chunk.js +0 -2
  217. package/dist/scripts/714-432082f4fa-lite.chunk.js.map +0 -1
  218. package/dist/scripts/7178-e603ea6b58-lite.chunk.js +0 -2
  219. package/dist/scripts/7178-e603ea6b58-lite.chunk.js.map +0 -1
  220. package/dist/scripts/7223-135cc7d675-lite.chunk.js +0 -2
  221. package/dist/scripts/7223-135cc7d675-lite.chunk.js.map +0 -1
  222. package/dist/scripts/729-c704d587d3-lite.chunk.js +0 -2
  223. package/dist/scripts/729-c704d587d3-lite.chunk.js.map +0 -1
  224. package/dist/scripts/7679-b01da2c09d-lite.chunk.js +0 -2
  225. package/dist/scripts/7679-b01da2c09d-lite.chunk.js.map +0 -1
  226. package/dist/scripts/7757-320e868e90-lite.chunk.js +0 -2
  227. package/dist/scripts/7757-320e868e90-lite.chunk.js.map +0 -1
  228. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js +0 -2
  229. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js.map +0 -1
  230. package/dist/scripts/7818-2eafc5f812-lite.chunk.js +0 -2
  231. package/dist/scripts/7818-2eafc5f812-lite.chunk.js.map +0 -1
  232. package/dist/scripts/8323-99cb03891e-lite.chunk.js +0 -3
  233. package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
  234. package/dist/scripts/8478-0292f02489-lite.chunk.js +0 -2
  235. package/dist/scripts/8478-0292f02489-lite.chunk.js.map +0 -1
  236. package/dist/scripts/8766-bcc7f11eac-lite.chunk.js +0 -2
  237. package/dist/scripts/8766-bcc7f11eac-lite.chunk.js.map +0 -1
  238. package/dist/scripts/8800-335154fe11-lite.chunk.js +0 -2
  239. package/dist/scripts/8800-335154fe11-lite.chunk.js.map +0 -1
  240. package/dist/scripts/8982-63c31685bf-lite.chunk.js +0 -2
  241. package/dist/scripts/8982-63c31685bf-lite.chunk.js.map +0 -1
  242. package/dist/scripts/9016-0c078a39cb-lite.chunk.js +0 -3
  243. package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +0 -1
  244. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js +0 -2
  245. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +0 -1
  246. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +0 -3
  247. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +0 -1
  248. package/dist/scripts/9308-362f86711f-lite.chunk.js +0 -3
  249. package/dist/scripts/9308-362f86711f-lite.chunk.js.map +0 -1
  250. package/dist/scripts/9359-cc085d48a4-lite.chunk.js +0 -2
  251. package/dist/scripts/9359-cc085d48a4-lite.chunk.js.map +0 -1
  252. package/dist/scripts/9399-2a314327ac-lite.chunk.js +0 -2
  253. package/dist/scripts/9399-2a314327ac-lite.chunk.js.map +0 -1
  254. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js +0 -3
  255. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js.map +0 -1
  256. package/dist/scripts/bundle-fcc536bb54.min.js +0 -3
  257. package/dist/scripts/bundle-fcc536bb54.min.js.map +0 -1
  258. /package/dist/css/{5143-lite-676baa8218.chunk.css → 1063-lite-676baa8218.chunk.css} +0 -0
  259. /package/dist/css/{9173-lite-b361d438f6.chunk.css → 1104-lite-b361d438f6.chunk.css} +0 -0
  260. /package/dist/css/{679-lite-00eb7dadb2.chunk.css → 2952-lite-00eb7dadb2.chunk.css} +0 -0
  261. /package/dist/css/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
  262. /package/dist/css/{9308-lite-a3c7435ba4.chunk.css → 4273-lite-a3c7435ba4.chunk.css} +0 -0
  263. /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.chunk.css} +0 -0
  264. /package/dist/css/{3922-lite-e22262b911.chunk.css → 6596-lite-e22262b911.chunk.css} +0 -0
  265. /package/dist/css/{8766-lite-8c5d7658ec.chunk.css → 7163-lite-8c5d7658ec.chunk.css} +0 -0
  266. /package/dist/css/{1818-lite-5ef1706d69.chunk.css → 7234-lite-5ef1706d69.chunk.css} +0 -0
  267. /package/dist/css/{8478-lite-e22262b911.chunk.css → 9010-lite-e22262b911.chunk.css} +0 -0
  268. /package/dist/css/{6415-lite-707657102b.chunk.css → 9173-lite-707657102b.chunk.css} +0 -0
  269. /package/dist/css/{1820-lite-c88eb54bee.chunk.css → 999-lite-c88eb54bee.chunk.css} +0 -0
  270. /package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
  271. /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
  272. /package/dist/scripts/{624-575b07d922-lite.chunk.js.LICENSE.txt → 1672-0d1fc90529-lite.chunk.js.LICENSE.txt} +0 -0
  273. /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 4273-e42f763f00-lite.chunk.js.LICENSE.txt} +0 -0
  274. /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
  275. /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 8323-360541a2a8-lite.chunk.js.LICENSE.txt} +0 -0
  276. /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-82d7e0afb9-lite.chunk.js.LICENSE.txt} +0 -0
  277. /package/dist/scripts/{9308-362f86711f-lite.chunk.js.LICENSE.txt → 9230-ae200d2bd3-lite.chunk.js.LICENSE.txt} +0 -0
  278. /package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
  279. /package/dist/scripts/{9478-99486906b9-lite.chunk.js.LICENSE.txt → 9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt} +0 -0
  280. /package/dist/scripts/{953-fd31f9f016-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
  281. /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-9736913451-lite.chunk.js.LICENSE.txt} +0 -0
  282. /package/dist/scripts/{bundle-fcc536bb54.min.js.LICENSE.txt → bundle-9f8729bedb.min.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/4182-7aecc28a6f-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/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.tsx","file:///app/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file:///app/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file:///app/packages/libs/shared/src/components/forms/form-field/form-field.scss","file:///app/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/utils/FormHelper.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/lti/edit-lti-platform-heading/EditLtiPlatformHeading.tsx","file:///app/packages/projects/lite/src/apps/settings/flight-requests/LtiRequests.ts","file:///app/packages/projects/lite/src/apps/settings/hooks/useCanManageLti.ts","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\n\n function onCopy(e: React.MouseEvent): void {\n e.preventDefault();\n\n if (props.onCopy)\n props.onCopy();\n\n if (showCopiedText)\n return;\n\n setShowCopiedText(true);\n setTimeout(() => setShowCopiedText(false), 2000);\n }\n\n const input = (\n <div className='input-group'>\n <input\n type='text'\n autoComplete='off'\n className={`form-control ${props.styling === 'normal' ? styles.normal : ''}`}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n <CopyToClipboard text={props.value}>\n <button\n className={`btn btn-outline-dark border border-secondary py-0 text-nowrap`}\n onClick={onCopy}\n >\n {showCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\n}\n","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\n\nconst namespace = 'shared.formButtons';\n\ninterface FormButtonsProps {\n isNew?: boolean;\n submitText?: string;\n variant?: ButtonProps['variant'];\n size?: FormSize;\n className?: string;\n}\n\nexport function FormButtons<Values extends HashObject>(props: FormButtonsProps): JSX.Element {\n const formikProps = useFormikContext<Values>();\n\n const canSubmit = useCanSubmitForm(formikProps);\n\n return (\n <SpinnerButton\n variant={props.variant || 'primary'}\n type='submit'\n disabled={!canSubmit}\n size={props.size}\n className={props.className ? props.className : ''}\n showSpinner={formikProps.isSubmitting}\n >\n {props.submitText\n ? <>{props.submitText}</>\n : <Text namespace={namespace} phrase={props.isNew ? 'create' : 'save'} />}\n </SpinnerButton>\n );\n}\n","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { FieldAttributes } from 'formik';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\n\n/**\n * Use this checkbox within Formik contexts\n */\nexport function FormCheckbox(props: FieldAttributes<FormFieldProps>): JSX.Element {\n const { label, checkboxLabelClassName, checkboxLabelFontWeight, className, ...fieldProps } = props;\n\n return (\n <Form.Group className='form-group'>\n <div className={`form-check ${className || ''}`}>\n <FieldWrapper className='form-check-input' {...fieldProps} />\n <Form.Label\n className={`form-check-label cursor-pointer ${checkboxLabelFontWeight === 'normal' ? 'fw-normal' : ''} \n ${checkboxLabelClassName}`}\n htmlFor={fieldProps.id}\n >\n {label}\n </Form.Label>\n {props.checkboxAppLink && props.checkboxAppLinkText && (\n <>\n <span>&nbsp;</span>\n <AppLink appLink={props.checkboxAppLink} className='info-link'>\n {props.checkboxAppLinkText}\n </AppLink>\n </>\n )}\n </div>\n </Form.Group>\n );\n}\n\n","import * as React from 'react';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CharacterCounterProps<Values extends HashObject> {\n fieldName: keyof Values;\n limit: number;\n}\n\nexport function CharacterCounter<Values extends HashObject>(props: CharacterCounterProps<Values>): JSX.Element {\n const { values } = useFormikContext<Values>();\n\n const field = values[props.fieldName];\n\n if (typeof field !== 'string')\n return <></>;\n\n return (\n <div className='float-end text-secondary fw-normal'>\n {field.length}/{props.limit} characters\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"revealPassword\":\"jCfI0\",\"passwordInput\":\"RBJnf\",\"passwordContainer\":\"d78lK\",\"passwordContainerDisabled\":\"asbVo\",\"infoTooltip\":\"wzyOG\",\"spinner\":\"CycFx\"};","import * as React from 'react';\nimport { Form, Spinner } from 'react-bootstrap';\nimport { Placement } from 'react-bootstrap/esm/types';\nimport { ErrorMessage, Field, FieldAttributes, FieldProps, useFormikContext } from 'formik';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { FormCheckbox } from 'libs/shared/components/forms/form-checkbox/FormCheckbox';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { CharacterCounter } from './CharacterCounter';\n\nimport styles from './form-field.scss';\n\nconst namespace = 'shared.formField';\n\nexport type FormSize = 'lg' | 'sm';\n\n// If checkboxLabelFontWeight is not specified, it will be bold by default\nexport type CheckboxLabelFontWeight = 'normal' | 'bold'\n\nexport interface FormFieldProps {\n /**\n * The name prop MUST be the same as the attribute\n * name of the value that the field is bound to.\n */\n name: string;\n label?: string;\n children?: any;\n showCharacterCounter?: boolean;\n showRequiredStar?: boolean;\n checkboxAppLink?: Core.AppLink;\n checkboxAppLinkText?: string;\n checkboxLabelClassName?: string;\n checkboxLabelFontWeight?: CheckboxLabelFontWeight\n infoTooltip?: string;\n infoTooltipPlacement?: Placement;\n infoText?: string;\n formSize?: FormSize;\n showOptionalLabel?: boolean;\n showLoadingSpinner?: boolean;\n}\n\nFieldWrapper.defaultProps = {\n autoComplete: 'off'\n};\n\nexport function FieldWrapper(\n props: FieldAttributes<FormFieldProps> & { className: string }\n): React.ReactElement {\n const { children, showLoadingSpinner, ...fieldProps } = props;\n\n const [ type, setType ] = React.useState(props.type);\n\n function onClickTogglePassword(): void {\n if (type === 'password')\n setType('text');\n else\n setType('password');\n }\n\n const resolvedChildren = FunctionHelper.isFunction(children)\n ? (f: FieldProps) => children(f)\n : React.Children.count(children) ? children : null;\n\n if (fieldProps.type !== 'password') {\n if (showLoadingSpinner) {\n return (\n <div className='position-relative'>\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n\n <div className={styles.spinner}>\n <Spinner animation='border' size='sm' />\n </div>\n </div>\n );\n }\n\n return (\n <Field {...(ObjectHelper.omit(fieldProps, ['formSize']))}>\n {resolvedChildren}\n </Field>\n );\n }\n\n let containerClassName = `position-relative ${styles.passwordContainer}`;\n\n if (fieldProps.className)\n containerClassName += ` ${fieldProps.className}`;\n\n if (fieldProps.disabled)\n containerClassName += ` ${styles.passwordContainerDisabled}`;\n\n /**\n * We need to wrap out input with a relatively positioned element in order to absolutely\n * position our visibility icon to reveal the password - Sha\n */\n return (\n <div className={containerClassName}>\n <Field\n {...(ObjectHelper.omit(fieldProps, [ 'formSize', 'type', 'className' ]))}\n type={type}\n className={`${styles.passwordInput} border-0 w-100 h-100 outline-none rounded`}\n >\n {resolvedChildren}\n </Field>\n {fieldProps.type === 'password' &&\n <SvgContainer\n svgName={type === 'password' ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff}\n className={`svg-container cursor-pointer ${styles.revealPassword}`}\n onClick={onClickTogglePassword}\n />\n }\n </div>\n );\n}\n\nFormField.defaultProps = {\n autoComplete: 'off',\n infoTooltipPlacement: 'top'\n};\n\nexport function FormField<Values extends HashObject>(props: FieldAttributes<FormFieldProps>): React.ReactElement {\n const {\n label,\n className,\n showCharacterCounter,\n showRequiredStar,\n infoTooltip,\n infoTooltipPlacement,\n infoText,\n formSize,\n showOptionalLabel,\n ...fieldProps\n } = props;\n\n const { errors, touched } = useFormikContext<Values>();\n\n // This function overwrites the default `onChange` function whenever `props.disabled` is set.\n // This prevents users from \"undisabling\" form fields via inspect element, then editing the field.\n const disabledOnChange = () => {};\n\n if (fieldProps.type === 'checkbox') {\n const _props = ObjectHelper.omit(props, [ 'formSize', 'infoTooltipPlacement' ]);\n\n if (props.disabled)\n _props.onChange = disabledOnChange;\n\n return <FormCheckbox {..._props} />;\n }\n\n const fieldWrapperProps = {\n ...fieldProps,\n className: FormHelper.getCustomFormControlClassName(\n errors,\n touched,\n fieldProps.name,\n formSize,\n className,\n typeof props.as === 'string' ? props.as : null\n )\n };\n\n if (props.disabled)\n fieldWrapperProps.onChange = disabledOnChange;\n\n return (\n <Form.Group className='form-group'>\n {!!label && (\n <Form.Label htmlFor={fieldProps.id} className='d-flex align-items-center'>\n {label}\n {showRequiredStar && <span className='text-danger'>*</span>}\n {infoTooltip && (\n <SvgContainer\n className={`svg-container text-secondary ${styles.infoTooltip}`}\n svgName={cvSvgLibrary.Info}\n title={infoTooltip}\n tooltipPlacement={infoTooltipPlacement}\n tooltipSpanHack\n />\n )}\n {showOptionalLabel && <span className='text-secondary'>&nbsp;<Text namespace={namespace} phrase='optional' /></span>}\n \n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\n <div className='ms-auto'>\n <CharacterCounter\n fieldName={(fieldProps.name as keyof Values)}\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\n />\n </div>\n }\n </Form.Label>\n )}\n\n <FieldWrapper {...fieldWrapperProps} />\n\n {!!infoText &&\n <Form.Text className='text-secondary'>\n {infoText}\n </Form.Text>\n }\n\n <ErrorMessage name={fieldProps.name}>\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\n </ErrorMessage>\n </Form.Group>\n );\n}","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import { FormikErrors, FormikTouched, getIn } from 'formik';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\n\nfunction getTypeSize(type: string, size: FormSize) {\n let className = '';\n\n switch (type) {\n case 'select':\n className = 'form-select';\n break;\n default:\n className = 'form-control';\n }\n\n if (size === 'sm')\n className += ` ${className}-sm`;\n\n if (size === 'lg')\n className += ` ${className}-lg`;\n\n return className;\n}\n\nexport const FormHelper = {\n getCustomFormControlClassName<T>(\n errors: FormikErrors<T>,\n touched: FormikTouched<T>,\n attribute: string,\n size?: FormSize,\n additionalClassName?: string,\n type?: string\n ): string {\n let className = '';\n\n className = getTypeSize(type, size);\n\n // Using getIn as it supports dot notation\n if (getIn(touched, attribute) && getIn(errors, attribute))\n className += ' is-invalid';\n\n if (additionalClassName)\n className += ` ${additionalClassName}`;\n\n return className;\n }\n};","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 { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'settings.editLtiPlatformHeading';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface EditLtiPlatformHeadingProps {\n name: string;\n deleteAppLink: Core.AppLink;\n}\n\nexport function EditLtiPlatformHeading(props: EditLtiPlatformHeadingProps): JSX.Element {\n return (\n <>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.name}</h1>\n \n <IconButton svgName={cvSvgLibrary.Delete} appLink={props.deleteAppLink} className='btn btn-outline-dark'>\n <Text namespace={namespace} phrase='deletePlatform' />\n </IconButton>\n </div>\n\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: getPhrase('settings'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n {\n name: getPhrase('ltiPlatforms'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.LTI_PLATFORMS\n }\n },\n { name: props.name, active: true }\n ]}\n />\n </div>\n </>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { LtiConsumer } from 'apps/settings/interfaces/lti/LtiConsumer';\nimport { LtiPlatform } from 'apps/settings/interfaces/lti/LtiPlatform';\nimport { CreateLtiConsumerRequest } from 'apps/settings/interfaces/lti/requests/CreateLtiConsumerRequest';\nimport { CreateLtiPlatformRequest } from 'apps/settings/interfaces/lti/requests/CreateLtiPlatformRequest';\nimport { UpdateLtiConsumerRequest } from 'apps/settings/interfaces/lti/requests/UpdateLtiConsumerRequest';\n\nexport const LtiRequests = {\n getConsumers(): Flight.Request {\n return {\n url: `/api/lti/consumers`,\n key: 'lti:consumers',\n normalize: false\n };\n },\n\n getPlatforms(): Flight.Request {\n return {\n url: `/api/lti/platforms`,\n key: 'lti:platforms',\n formatData: (data: LtiPlatform[]) => {\n return data.map(platform => {\n platform.publicJwk = JSON.stringify(platform.publicJwk);\n return platform;\n });\n },\n normalize: false\n };\n },\n\n getConsumer(consumerKey: string): Flight.Request {\n return {\n url: `/api/lti/consumers/${consumerKey}`,\n key: `lti:consumer:${consumerKey}`,\n normalize: false\n };\n },\n\n getPlatform(platformId: string): Flight.Request {\n return {\n url: `/api/lti/platforms/${platformId}`,\n key: `lti:platform:${platformId}`,\n formatData: (platform: LtiPlatform) => {\n platform.publicJwk = JSON.stringify(platform.publicJwk);\n return platform;\n },\n normalize: false\n };\n },\n\n createConsumer(\n data: CreateLtiConsumerRequest,\n success?: (consumer: LtiConsumer) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers`,\n key: 'create:consumer',\n type: HttpVerbs.POST,\n invalidationKeys: ['lti:consumers'],\n data,\n success,\n error\n };\n },\n\n createPlatform(\n data: CreateLtiPlatformRequest,\n success?: (platform: LtiPlatform) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms`,\n key: 'create:platform',\n type: HttpVerbs.POST,\n invalidationKeys: ['lti:platforms'],\n data,\n success,\n error\n };\n },\n\n updateConsumer(\n data: UpdateLtiConsumerRequest,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers/${data.key}`,\n key: 'update:consumer',\n type: HttpVerbs.PUT,\n invalidationKeys: [ `lti:consumers`, `lti:consumer:${data.key}` ],\n data,\n success,\n error\n };\n },\n\n updatePlatform(\n data: LtiPlatform,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms/${data.id}`,\n key: 'update:platform',\n type: HttpVerbs.PUT,\n invalidationKeys: [ `lti:platforms`, `lti:platform:${data.id}` ],\n data,\n success,\n error\n };\n },\n\n deleteConsumer(\n consumerKey: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/consumers/${consumerKey}`,\n key: 'delete:consumer',\n type: HttpVerbs.DELETE,\n invalidationKeys: 'lti:consumers',\n success,\n error\n };\n },\n\n deletePlatform(\n platformId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `/api/lti/platforms/${platformId}`,\n key: 'delete:platform',\n type: HttpVerbs.DELETE,\n invalidationKeys: 'lti:platforms',\n success,\n error\n };\n }\n};","import React from 'react';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\n/**\n * Checks if the user can access LTI based on if they have the LTI domain option enabled\n * on their customer.\n */\nexport const useCanManageLti = () => {\n const [ canAccess, setCanAccess ] = React.useState<boolean>(undefined);\n\n const { hasLti } = useSettings(LocationContext.Settings);\n\n React.useEffect(() => {\n if (hasLti && canAccess !== true) {\n setCanAccess(true);\n return;\n }\n\n if (!hasLti && canAccess !== false)\n setCanAccess(false);\n }, [hasLti]);\n\n return { canAccess };\n};","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","getPhrase","LanguageService","CopyInput","props","showCopiedText","setShowCopiedText","input","type","autoComplete","styling","spellCheck","value","readOnly","CopyToClipboard","text","onClick","e","preventDefault","onCopy","setTimeout","copiedText","copyText","label","Form","defaultProps","namespace","FormButtons","formikProps","canSubmit","variant","disabled","showSpinner","isSubmitting","submitText","phrase","isNew","FormCheckbox","checkboxLabelClassName","checkboxLabelFontWeight","fieldProps","FieldWrapper","htmlFor","id","checkboxAppLink","checkboxAppLinkText","AppLink","CharacterCounter","field","values","fieldName","limit","children","showLoadingSpinner","setType","resolvedChildren","FunctionHelper","f","ObjectHelper","Spinner","animation","containerClassName","SvgContainer","FormField","showCharacterCounter","showRequiredStar","infoTooltip","infoTooltipPlacement","infoText","formSize","showOptionalLabel","errors","touched","disabledOnChange","_props","onChange","fieldWrapperProps","FormHelper","as","title","tooltipPlacement","tooltipSpanHack","Text","maxLength","errorMessage","FormWrapper","castInitialValues","castValuesOnSubmit","initialValues","onSubmit","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","forEach","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","setFieldError","formattedData","options","reset","entries","useFormikContextWrapper","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap","generateCacheKey","flightObjs","obj","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","Array","isArray","useEffect","getCustomFormControlClassName","attribute","additionalClassName","getTypeSize","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Math","max","floor","random","EditLtiPlatformHeading","deleteAppLink","application","action","LtiRequests","getConsumers","url","normalize","getPlatforms","formatData","data","platform","publicJwk","JSON","stringify","getConsumer","consumerKey","getPlatform","platformId","createConsumer","success","error","invalidationKeys","createPlatform","updateConsumer","updatePlatform","deleteConsumer","deletePlatform","useCanManageLti","undefined","canAccess","setCanAccess","hasLti","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","document","createRange","getSelection","createElement","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","window","clearData","setData","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","Symbol","iterator","constructor","prototype","defineProperty","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","this","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","concat","event","_this$props","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4395],{49935:(e,t,r)=>{"use strict";r.d(t,{Oo:()=>p,b2:()=>m});var n=r(32735),o=r(36848),a=r(86764),c=r(3747),i=r(5859),l=r(35223),u=r(83914),s=function(e){var t=e.breadcrumb,r=t.name,a=t.appLink,c=t.active,i=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?n.createElement("strong",null,r):n.createElement(o.F,{appLink:a},i&&n.createElement(u.x,{svgName:l.vn.ChevronLeft,size:u.S.Small}),n.createElement("span",{className:i?"ms-2":""},r)))},p=function(e){var t=e.breadcrumbs,r=(0,c.a)(a.r.XS),o=null==t?void 0:t.length;return!o||r&&o<2?n.createElement(n.Fragment,null):r?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(s,{breadcrumb:t[o-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(s,{key:t,breadcrumb:e})}))))},m=n.memo((function(e){var t=e.numItems,r=void 0===t?3:t;return(0,c.a)(a.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"},i.u.getPartialLoadingItems({numItems:r}).map((function(e,t){var r=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:r},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},66903:(e,t,r)=>{"use strict";r.d(t,{k:()=>s});var n=r(32735),o=r(80130),a=r(59087),c=r(23481);const i={normal:"Q1UGv",copyBtn:"J3fBx"};function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var u=c.T.encloseNamespace("shared.copyInput");function s(e){var t,r,c=(t=n.useState(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,c,i=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw o}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=c[0],p=c[1],m=n.createElement("div",{className:"input-group"},n.createElement("input",{type:"text",autoComplete:"off",className:"form-control ".concat("normal"===e.styling?i.normal:""),spellCheck:!1,value:e.value,readOnly:!0}),n.createElement(a.CopyToClipboard,{text:e.value},n.createElement("button",{className:"btn btn-outline-dark border border-secondary py-0 text-nowrap",onClick:function(t){t.preventDefault(),e.onCopy&&e.onCopy(),s||(p(!0),setTimeout((function(){return p(!1)}),2e3))}},s?e.copiedText||u("copied"):e.copyText||u("copy"))));return e.label?n.createElement(o.Z.Group,{className:"form-group"},n.createElement(o.Z.Label,null,e.label),m):m}s.defaultProps={styling:"normal"}},99705:(e,t,r)=>{"use strict";var n,o;r.d(t,{b:()=>o}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(n||(n={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(o||(o={}))},5859:(e,t,r)=>{"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}r.d(t,{u:()=>a});var o={numItems:5,minWidth:50,maxWidth:100},a={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=Object.assign(Object.assign({},o),t);return(e=Array(r.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*r.maxWidth),r.minWidth),"px")}}))}}},81803:(e,t,r)=>{"use strict";r.d(t,{d:()=>d});var n=r(32735),o=r(81886),a=r(23481),c=r(49935),i=r(22902),l=r(14070),u=r(97291),s=r(96368);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var m="settings.settingsLayout",f=function(e){var t=(0,i.T)().hasPermissions,r=(0,s.e)();if(e)return t(e);var n=o.Q.C$.getCurrentAppLink();return n.application!==u.O.SETTINGS||r.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===n.action}))}))};function d(e){var t,r=f(e.requiredPermissions);if(n.useEffect((function(){r||o.Q.C$.trigger({application:u.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[r]),!r)return n.createElement(n.Fragment,null);var i,s=e.breadcrumbs.map((function(t,r){return{name:t,appLink:{application:u.O.SETTINGS,action:l.e.Settings.HOME},active:r===e.breadcrumbs.length-1}}));return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"d-flex align-items-center justify-content-between"},n.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),n.createElement("div",{className:"pb-3"},n.createElement(c.Oo,{breadcrumbs:[{name:a.T.getPhrase(m,"settingsBreadcrumb"),appLink:{application:u.O.SETTINGS,action:l.e.Settings.HOME}}].concat((i=s,function(e){if(Array.isArray(e))return p(e)}(i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(e,t):void 0}}(i)||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&&n.createElement(n.Fragment,null,n.createElement("p",null,e.description),n.createElement("hr",null)),e.children)}},84395:(e,t,r)=>{"use strict";r.r(t),r.d(t,{RssFeedView:()=>g});var n=r(32735),o=r(23481),a=r(97395),c=r(20354),i=r(66903),l=r(83345),u=r(99705),s=r(39151),p=r(1666),m=r(31949),f=r(12778),d=r(81803);const y={schoolId:"a8qc7",feedUrl:"U0FAn"};var b="settings.rssFeed",v=o.T.encloseNamespace(b);function g(){var e=c.a.useBasicFetch(m.N.currentUser()),t=c.a.useBasicFetch(e.data&&p.h.customer(e.data.customerId)),r=c.a.useBasicFetch(s.L.config());if(!(e.hasCompleted&&t.hasCompleted&&r.hasCompleted))return n.createElement(n.Fragment,null);var o=a._.urlBuilder(a._.safeUrlConcat(r.data.onlineUrl,"/feed"),{schoolId:t.data.customerGuid});return n.createElement(d.d,{heading:v("heading"),breadcrumbs:[v("heading")]},n.createElement("p",null,n.createElement(l.x,{namespace:b,phrase:"info"})," ",n.createElement("a",{href:f.o.getLiteArticle(u.b.RssFeed),target:"_blank",className:"text-info btn-link"},n.createElement(l.x,{namespace:b,phrase:"learnMore"}))),n.createElement("div",{className:y.schoolId},n.createElement(i.k,{value:t.data.customerGuid,copyText:v("copy"),label:v("schoolId")})),n.createElement("div",{className:y.feedUrl},n.createElement(i.k,{value:o,label:v("feedUrl")})))}},91969:(e,t,r)=>{"use strict";var n=r(47033),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var r,a,c,i,l,u,s=!1;t||(t={}),r=t.debug||!1;try{if(c=n(),i=document.createRange(),l=document.getSelection(),(u=document.createElement("span")).textContent=e,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",(function(n){if(n.stopPropagation(),t.format)if(n.preventDefault(),void 0===n.clipboardData){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var a=o[t.format]||o.default;window.clipboardData.setData(a,e)}else n.clipboardData.clearData(),n.clipboardData.setData(t.format,e);t.onCopy&&(n.preventDefault(),t.onCopy(n.clipboardData))})),document.body.appendChild(u),i.selectNodeContents(u),l.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");s=!0}catch(n){r&&console.error("unable to copy using execCommand: ",n),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),s=!0}catch(n){r&&console.error("unable to copy using clipboardData: ",n),r&&console.error("falling back to prompt"),a=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(a,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(i):l.removeAllRanges()),u&&document.body.removeChild(u),c()}return s}},44818:(e,t,r)=>{"use strict";function n(e){return n="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},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var o=i(r(32735)),a=i(r(91969)),c=["text","onCopy","options","children"];function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function d(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(b,e);var t,r,i,l,y=(i=b,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(i);if(l){var r=f(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}(this,e)});function b(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b);for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return d(m(e=y.call.apply(y,[this].concat(r))),"onClick",(function(t){var r=e.props,n=r.text,c=r.onCopy,i=r.children,l=r.options,u=o.default.Children.only(i),s=(0,a.default)(n,l);c&&c(n,s),u&&u.props&&"function"==typeof u.props.onClick&&u.props.onClick(t)})),e}return t=b,(r=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),r=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,c),n=o.default.Children.only(t);return o.default.cloneElement(n,u(u({},r),{},{onClick:this.onClick}))}}])&&s(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),b}(o.default.PureComponent);t.CopyToClipboard=y,d(y,"defaultProps",{onCopy:void 0,options:void 0})},59087:(e,t,r)=>{"use strict";var n=r(44818).CopyToClipboard;n.CopyToClipboard=n,e.exports=n},47033:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||r.forEach((function(t){e.addRange(t)})),t&&t.focus()}}}}]);
2
- //# sourceMappingURL=4395-64da004753-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/4395-64da004753-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/copy-input/copy-input.scss","file:///app/packages/libs/shared/src/components/copy-input/CopyInput.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/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/views/rss-feed/rss-feed.scss","file:///app/packages/projects/lite/src/apps/settings/views/rss-feed/RssFeedView.tsx","file:///app/node_modules/copy-to-clipboard/index.js","file:///app/node_modules/react-copy-to-clipboard/lib/Component.js","file:///app/node_modules/react-copy-to-clipboard/lib/index.js","file:///app/node_modules/toggle-selection/index.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"normal\":\"Q1UGv\",\"copyBtn\":\"J3fBx\"};","import * as React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport styles from './copy-input.scss';\n\nconst namespace = 'shared.copyInput';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CopyInputProps {\n value: string;\n label?: string;\n // Greyed means the input will be greyed out. Normal means it will appear like a normal input\n styling?: 'greyed' | 'normal';\n onCopy?: () => void;\n copyText?: string;\n copiedText?: string;\n}\n\nCopyInput.defaultProps = {\n styling: 'normal'\n};\n\nexport function CopyInput(props: CopyInputProps): JSX.Element {\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\n\n function onCopy(e: React.MouseEvent): void {\n e.preventDefault();\n\n if (props.onCopy)\n props.onCopy();\n\n if (showCopiedText)\n return;\n\n setShowCopiedText(true);\n setTimeout(() => setShowCopiedText(false), 2000);\n }\n\n const input = (\n <div className='input-group'>\n <input\n type='text'\n autoComplete='off'\n className={`form-control ${props.styling === 'normal' ? styles.normal : ''}`}\n spellCheck={false}\n value={props.value}\n readOnly\n />\n <CopyToClipboard text={props.value}>\n <button\n className={`btn btn-outline-dark border border-secondary py-0 text-nowrap`}\n onClick={onCopy}\n >\n {showCopiedText ?\n props.copiedText || getPhrase('copied') :\n props.copyText || getPhrase('copy')\n }\n </button>\n </CopyToClipboard>\n </div>\n );\n\n if (props.label) {\n return (\n <Form.Group className='form-group'>\n <Form.Label>{props.label}</Form.Label>\n {input}\n </Form.Group>\n );\n }\n\n return input;\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 { 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}","// extracted by mini-css-extract-plugin\nexport default {\"schoolId\":\"a8qc7\",\"feedUrl\":\"U0FAn\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\n\nimport { CopyInput } from 'libs/shared/components/copy-input/CopyInput';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CurrentUser, Customer } from 'libs/shared/interfaces';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\n\nimport styles from './rss-feed.scss';\n\nconst namespace = 'settings.rssFeed';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RssFeedView(): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const customer = Flight.useBasicFetch<Customer>(\n currentUser.data && CustomerRequests.customer(currentUser.data.customerId)\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const dataLoded = (\n currentUser.hasCompleted &&\n customer.hasCompleted &&\n config.hasCompleted\n );\n\n if (!dataLoded)\n return <></>;\n\n const feedUrl = UrlHelper.urlBuilder(\n UrlHelper.safeUrlConcat(config.data.onlineUrl, '/feed'),\n { schoolId: customer.data.customerGuid }\n );\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('heading')]}\n >\n <p>\n <Text namespace={namespace} phrase='info' />&nbsp;\n <a href={ArticleHelper.getLiteArticle(LiteSupportArticle.RssFeed)} target='_blank' className='text-info btn-link'>\n <Text namespace={namespace} phrase='learnMore' />\n </a>\n </p>\n\n <div className={styles.schoolId}>\n <CopyInput value={customer.data.customerGuid} copyText={getPhrase('copy')} label={getPhrase('schoolId')} />\n </div>\n <div className={styles.feedUrl}>\n <CopyInput value={feedUrl} label={getPhrase('feedUrl')} />\n </div>\n </SettingsLayout>\n );\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","getPhrase","LanguageService","CopyInput","props","showCopiedText","setShowCopiedText","input","type","autoComplete","styling","spellCheck","value","readOnly","CopyToClipboard","text","onClick","e","preventDefault","onCopy","setTimeout","copiedText","copyText","label","Form","defaultProps","OnlineSupportArticle","LiteSupportArticle","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","namespace","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","application","some","group","modules","settingsModule","action","SettingsLayout","canAccess","replace","i","heading","headingButton","description","children","RssFeedView","currentUser","UserRequests","customer","data","CustomerRequests","customerId","config","ConfigRequests","hasCompleted","feedUrl","UrlHelper","onlineUrl","schoolId","customerGuid","Text","phrase","href","ArticleHelper","target","deselectCurrent","clipboardToIE11Formatting","module","exports","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","window","clearData","setData","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","Object","defineProperty","_react","_interopRequireDefault","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","getPrototypeOf","_React$PureComponent","subClass","superClass","TypeError","create","_inherits","Constructor","protoProps","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","valueOf","call","_isNativeReflectConstruct","result","Super","NewTarget","this","_possibleConstructorReturn","_this","instance","_classCallCheck","_len","args","_key","concat","event","_this$props","elem","Children","only","_this$props2","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutProperties","cloneElement","PureComponent","undefined","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4502],{92869:(e,t,a)=>{a.d(t,{t:()=>c});var n=a(48088),r=a(95846),c={preventScrollTop:function(){n.Radio.channel(r.G.SHELL).trigger("prevent:scroll:top")}}},75097:(e,t,a)=>{a.d(t,{U:()=>c});var n=a(32735),r=a(95245);function c(e){var t=e.count,a=void 0===t?6:t;return n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"d-flex ps-1"},Array(a).fill(null).map((function(e,t){return n.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},49935:(e,t,a)=>{a.d(t,{Oo:()=>m,b2:()=>d});var n=a(32735),r=a(36848),c=a(86764),l=a(3747),o=a(5859),i=a(35223),s=a(83914),u=function(e){var t=e.breadcrumb,a=t.name,c=t.appLink,l=t.active,o=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(l?" active":"")},l?n.createElement("strong",null,a):n.createElement(r.F,{appLink:c},o&&n.createElement(s.x,{svgName:i.vn.ChevronLeft,size:s.S.Small}),n.createElement("span",{className:o?"ms-2":""},a)))},m=function(e){var t=e.breadcrumbs,a=(0,l.a)(c.r.XS),r=null==t?void 0:t.length;return!r||a&&r<2?n.createElement(n.Fragment,null):a?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(u,{breadcrumb:t[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(u,{key:t,breadcrumb:e})}))))},d=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,l.a)(c.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"},o.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},37395:(e,t,a)=>{a.d(t,{t:()=>m});var n=a(32735),r=a(98269),c=a(92869),l=a(49985),o=a(65858),i=a(36848),s=a(83345);function u(e,t,a){var n;if(!t)return null;var r=null!==(n=e.params)&&void 0!==n?n:{};return a?(null==r?void 0:r.previous)?{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null==r?void 0:r.previous,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:t,previous:r.cursor})}}function m(e){var t=e.appLink,a=e.cursors,m=e.className,d=e.buttonVariant,p=e.prevHack,g=e.scrollTop,v=e.onClick;function b(e){t&&!g&&c.t.preventScrollTop(),l.k.logUserAction({page:e},{location:o.LZ.Pagination,entity:o.py.Pagination,actionType:o.Vw.Navigate}),v&&v(a[e])}return t?n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(i.F,{appLink:u(t,a.previous,p),className:"btn btn-".concat(d," me-1 ").concat(a.previous?"":"disabled"),onClick:function(){return b("previous")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"previous"})),n.createElement(i.F,{appLink:u(t,a.next),className:"btn btn-".concat(d," ").concat(a.next?"":"disabled"),onClick:function(){return b("next")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"next"})))):n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(r.Z,{variant:d,className:"me-1 ".concat(a.previous?"":"disabled"),onClick:function(){return b("previous")}},n.createElement(s.x,{phrase:"previous"})),n.createElement(r.Z,{variant:d,className:"btn ".concat(a.next?"":"disabled"),onClick:function(){return b("next")}},n.createElement(s.x,{phrase:"next"}))))}m.defaultProps={className:"py-2",buttonVariant:"secondary"}},81514:(e,t,a)=>{a.d(t,{V:()=>c});var n=a(86764),r=a(3747);function c(){var e=(0,r.a)(n.r.XS),t=(0,r.a)(n.r.SM),a=(0,r.a)(n.r.MD),c=(0,r.a)(n.r.LG),l=(0,r.a)(n.r.XL),o=(0,r.a)(n.r.XXL),i=n.r.LG;return e&&(i=n.r.XS),t&&(i=n.r.SM),a&&(i=n.r.MD),c&&(i=n.r.LG),l&&(i=n.r.XL),o&&(i=n.r.XXL),i}},91286:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(32735),r=a(94644);function c(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,a){var l=Array.isArray(e)?e:[e];(0,n.useEffect)((function(){l.forEach((function(e){(0,r.r)(e.statusCode,t,a)}))}),[c(l),t,a])}},299:(e,t,a)=>{a.d(t,{X:()=>l});var n=a(32735),r=a(69217),c=a(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.idField,l=void 0===a?"id":a,o=t.persistNamespace,i=t.initialState?t.initialState:new Map,s=n.useRef(i),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){s.current.clear(),u()}function g(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),s.current.get(e)}function v(){return!!(null==e?void 0:e.length)&&e.every(g)}function b(e){e.forEach((function(e){s.current.set(e,!0)})),u()}return n.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),n.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&b(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!v();e.forEach((function(e){t?s.current.set(e[l].toString(),!0):s.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!s.current.get(e.toString());t?s.current.set(e.toString(),t):s.current.delete(e.toString()),u()},getSelected:function(){return Array.from(s.current.keys())},isChecked:g,bulkChecked:v(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){s.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return g(e)}))},setSelected:b,getSelectedCount:function(){return s.current.size},reset:p,getMap:function(){return s.current}}}},94631:(e,t,a)=>{a.d(t,{D:()=>r});var n=a(32735);function r(e){var t=n.useRef();return n.useEffect((function(){t.current=e})),t.current}},58418:(e,t,a)=>{a.r(t),a.d(t,{UserAuditLogView:()=>te});var n=a(32735),r=a(23481),c=a(57900),l=a(20354),o=a(75097),i=a(49935);const s={partialHeading:"rfiJl",partialJobCount:"h8k_u",partialCheckbox:"HkuOS",partialExportButton:"Iul7S",row:"mwigG",checkboxColumn:"Z5jLG",actionColumn:"rLxYh",usersColumn:"QZzab",dateColumn:"Wf_Jp",performedByColumn:"Ubtmj",seeMoreColumn:"XdP6u",heading:"kRMMH",action:"DvDvW",users:"goKpg",date:"ejYGb",performedBy:"NhjyL"};function u(){return n.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(s.row)},n.createElement("div",{className:"".concat(s.checkboxColumn," d-flex justify-content-center")},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox," ms-0")})),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.action)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.users)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.date)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.performedBy)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function m(){return n.createElement("div",{className:"d-flex py-2 mb-1"},n.createElement("div",{className:"".concat(s.checkboxColumn)}," "),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function d(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3 mt-n1"},n.createElement(m,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null))))}function p(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background mb-2 ".concat(s.partialHeading)}),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.b2,null),n.createElement("div",{className:"partial-loading-background ".concat(s.partialJobCount)}))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox)}),n.createElement("div",{className:"ms-4 ps-3"},n.createElement(o.U,{count:3})),n.createElement("div",{className:"ms-auto partial-loading-background ".concat(s.partialExportButton)})),n.createElement(d,null))}var g=a(89422),v=a(89965),b=a(37395),f=a(2102),E=a(83345),y=a(76881),h=a(69883),k=a(299),N=a(75795),S=a(65858),C=a(93659),x=a(97514),w="userManager.userAuditLogFilters";function j(e){var t=[x.x$.SortBy([{id:"newest",name:r.T.getPhrase(w,"newest"),default:!0},{id:"oldest",name:r.T.getPhrase(w,"oldest")}]),x.x$.BulkActionType(),x.x$.UserType()];return n.createElement(C.J,{queryParams:e.queryParams,mainFilters:t,appLink:e.appLinks.auditLog,analyticsOptions:{entity:S.py.BatchJob,location:S.LZ.UserAuditLog},hideHeading:!0,hideDivider:!0,constantIndices:[]})}var L=a(69674),T=a(110),A=a(149),M=a(36848),B=a(89725),I=a(83914),O=a(86794);const P={seeMore:"uymuO"};function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var U="userManager.userAuditLogTable",J=r.T.encloseNamespace(U),D={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"px-2 py-1",row:"striped-row rounded audit-log-row",cell:"d-flex align-items-center py-3 px-2"};function F(e){var t,a,r,c,l=(t=e.jobs.data,a=e.isChecked,t.map((function(e){var t=T.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA");return{id:e.id,checked:a(e.id),actionType:A.b.mapJobTypeToName(e.type),userType:A.b.mapDataTypeToUserType(e.dataType),date:t,performedBy:{name:e.submitterName,submittedByClickView:e.submittedByClickView}}})));return n.createElement(L.i,{columns:(r=e.appLinks.bulkActionSummary,c=e.onToggleCheckbox,[{Header:"",id:"checkboxes",accessor:function(e){return{id:e.id,checked:e.checked}},Cell:function(e){return n.createElement("div",{className:"text-center mx-auto"},n.createElement(v.X,{id:e.value.id,checked:e.value.checked,onChange:function(){return c(e.value.id)}}))},width:10},{Header:J("action"),accessor:"actionType",id:"actionType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:J("users"),accessor:"userType",id:"userType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},function(){switch(t){case y.Y.Learner:return J("students");case y.Y.Staff:return J("staff");case y.Y.Unknown:default:return J("unknown")}}())},width:10},{Header:J("date"),accessor:"date",id:"date",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:J("performedBy"),accessor:"performedBy",id:"performedBy",Cell:function(e){return n.createElement("div",{className:"w-100 d-flex align-items-center"},e.value.submittedByClickView&&n.createElement(O.b,{className:"me-1",size:I.S.Small},n.createElement(B.F,null)),e.value.name)},width:20},{Header:"",accessor:"id",id:"seeMore",Cell:function(e){var t,a,c=e.value;return n.createElement("div",{className:"w-100 d-flex justify-content-end"},n.createElement(M.F,{className:"info-link text-end me-3 ms-auto ".concat(P.seeMore),appLink:Object.assign(Object.assign({},r),{args:(null===(t=r.args)||void 0===t?void 0:t.length)?[].concat((a=r.args,function(e){if(Array.isArray(e))return R(e)}(a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?R(e,t):void 0}}(a)||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.")}()),[c]):[c]})},n.createElement(E.x,{namespace:U,phrase:"seeMore"})))},width:30}]),data:l,theme:D})}var _=a(23232),H="userManager.auditLogEmptyState";function X(e){return n.createElement(_.u,null,n.createElement(_.u.Image,{src:e.imageUrl}),n.createElement(_.u.Heading,null,n.createElement(E.x,{namespace:H,phrase:"heading"})),n.createElement(_.u.Info,null,n.createElement(E.x,{namespace:H,phrase:"info"})))}const Y={bulkCheckbox:"NMw5T"};function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var q="userManager.auditLog",V=r.T.encloseNamespace(q);function Z(e){var t,a,r,l,o=c.SG.get(g.K.AUDIT_LOG_REFERRER_KEY),s=(r=n.useState(!1),l=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,c,l,o=[],i=!0,s=!1;try{if(c=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;i=!1}else for(;!(i=(n=c.call(a)).done)&&(o.push(n.value),o.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{if(!i&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(r,l)||function(e,t){if(e){if("string"==typeof e)return G(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?G(e,t):void 0}}(r,l)||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.")}()),u=s[0],m=s[1],d=(0,k.X)(e.jobs.data),p=(0,h.Z)();return n.createElement(n.Fragment,null,n.createElement("h1",{className:"h2"},n.createElement(E.x,{namespace:q,phrase:"heading"})),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.Oo,{breadcrumbs:[{name:V("settingsBreadcrumb"),appLink:e.appLinks.settings},{name:V(o===y.Y.Learner?"studentManager":"staffManager"),appLink:e.appLinks.userManager},{name:V("heading"),active:!0}]}),n.createElement("p",{className:"mb-0 fw-semibold"},n.createElement(E.x,{namespace:q,phrase:"totalJobs",options:{showing:e.jobs.data.length,smartCount:e.jobs.count}})))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement(v.X,{className:Y.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:d.bulkChecked,onChange:d.onToggleBulk,indeterminate:d.hasSomeSelections()}),n.createElement("div",{className:"ms-4 ps-1"},n.createElement(j,{queryParams:e.queryParams,appLinks:e.appLinks})),n.createElement(f.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!u){m(!0);var t=d.getSelected();e.onClickExport(t).then((function(){return p.success(V("exportSuccess"))})).catch((function(){return p.error(V("exportError"))})).finally((function(){return m(!1)}))}},disabled:!d.hasSomeSelections()||u,showSpinner:u},n.createElement(E.x,{namespace:q,phrase:"export"}))),(null===(t=e.jobs.data)||void 0===t?void 0:t.length)?n.createElement(F,{jobs:e.jobs,appLinks:e.appLinks,onToggleCheckbox:d.onToggleItem,isChecked:d.isChecked}):n.createElement(X,{imageUrl:e.emptyStateImageUrl}),!!(null===(a=e.jobs.pagination)||void 0===a?void 0:a.cursors)&&n.createElement(b.t,{className:"p-0 text-end pb-3",cursors:e.jobs.pagination.cursors,appLink:N.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var K=a(91286),$=a(79612),z=a(99742),W=a(29613),Q=a(18087),ee="userManager.userAuditLogView";function te(e){var t=c.SG.get(g.K.AUDIT_LOG_REFERRER_KEY),a=l.a.useBasicFetch(W.q.getJobs(e.queryParams));(0,K.v)(a),(0,$.M)({title:r.T.getPhrase(ee,"pageTitle")});var o=l.a.useGetFetchAsync(),i=(0,Q.Y)(t);return a.hasCompleted?n.createElement("div",{className:"px-3"},n.createElement(Z,{jobs:a.data,appLinks:i,queryParams:e.queryParams,onClickExport:function(e){return o(W.q.sendJobReports(e))},emptyStateImageUrl:z.W.EmptyStates.Search.RESULTS})):n.createElement("div",{className:"px-3"},n.createElement(p,null))}},29613:(e,t,a)=>{a.d(t,{q:()=>l});var n=a(99940),r=a(97395),c=a(149),l={createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:n.k.POST,data:e,success:t,error:a}},getJobs:function(e){var t={},a=[],n=[];return e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.bulkActionType?(a=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],t.type=a):t.type=c.O,e.userType&&(n=Array.isArray(e.userType)?e.userType:[e.userType],t.dataType=n),{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(a.sort().join(":"),":").concat(n.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,t,a){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:t,error:a}},getJobResults:function(e,t,a,n,c){var l={status:t};return a&&(l.cursor=a),{url:r._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),l),key:"job:".concat(e,":results:").concat(t,":").concat(a),success:n,error:c}},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:n.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}}}]);
2
- //# sourceMappingURL=4502-2e30d86385-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/4502-2e30d86385-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/backbone/utils/ScrollHelper.ts","file:///app/packages/libs/shared/src/apps/search/components/search-filters/PartialSearchFilters.tsx","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pagination/Pagination.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/hooks/useBulkCheckboxManager.ts","file:///app/packages/libs/shared/src/hooks/usePrevious.ts","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/partial-user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/user-audit-log-table.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTableUtils.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/empty-state/UserAuditLogEmptyState.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/UserAuditLog.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/audit-log/UserAuditLogView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};","import * as React from 'react';\n\nimport styles from './search-filters.scss';\n\ninterface PartialSearchFiltersProps {\n count?: number;\n}\n\nexport function PartialSearchFilters({ count = 6 }: PartialSearchFiltersProps): JSX.Element {\n return (\n <div className='d-flex'>\n <div className='d-flex ps-1'>\n {Array(count).fill(null).map((item, index) => (\n <div key={index} className={`${styles.partialButton} partial-loading-background mx-1`} />\n ))}\n </div>\n </div>\n );\n}","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 * as React from 'react';\nimport { Button, ButtonProps } from 'react-bootstrap';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nfunction buildCursor(appLink: Core.AppLink, cursorParam: string, prevHack?: boolean): Core.AppLink {\n if (!cursorParam)\n return null;\n\n const currentParams = appLink.params as HashObject ?? {};\n /* \n Currently the pagination for My Videos shows the previous cursor in the first page cursor,\n so instead of using the previous cursor from the response, the current cursor is being passed\n as the previous cursor in the app link\n */\n\n if (prevHack) {\n if (!currentParams?.previous) {\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: null,\n previous: null\n }\n };\n }\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: currentParams?.previous,\n previous: null\n }\n };\n }\n\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: cursorParam,\n previous: currentParams.cursor\n }\n };\n}\n\ninterface CursorPaginationProps {\n cursors: Cursors;\n appLink?: Core.AppLink;\n className?: string;\n buttonVariant?: ButtonProps['variant'];\n prevHack?: boolean;\n scrollTop?: boolean;\n onClick?: (cursor: string) => void;\n}\n\nPagination.defaultProps = {\n className: 'py-2',\n buttonVariant: 'secondary'\n};\n\nexport function Pagination(\n { appLink, cursors, className, buttonVariant, prevHack, scrollTop, onClick }: CursorPaginationProps\n): JSX.Element {\n function onClickButton(page: 'next' | 'previous'): void {\n if (appLink && !scrollTop)\n ScrollHelper.preventScrollTop();\n\n AnalyticsHelper.logUserAction({ page }, {\n location: LocationContext.Pagination,\n entity: EntityType.Pagination,\n actionType: UserAction.Navigate\n });\n\n if (onClick)\n onClick(cursors[page]);\n }\n\n if (appLink) {\n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <AppLink\n appLink={buildCursor(appLink, cursors.previous, prevHack)}\n className={`btn btn-${buttonVariant} me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='previous' />\n </AppLink>\n \n <AppLink\n appLink={buildCursor(appLink, cursors.next)}\n className={`btn btn-${buttonVariant} ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='next' />\n </AppLink>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n }\n \n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <Button\n variant={buttonVariant}\n className={`me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n >\n <Text phrase='previous' />\n </Button>\n <Button\n variant={buttonVariant}\n className={`btn ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n >\n <Text phrase='next' />\n </Button>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\n\ntype CheckboxItemsState = Map<string, boolean>;\n\nexport interface BulkCheckboxManager {\n onToggleBulk: () => void;\n onToggleItem: (id: string) => void;\n getSelected: () => string[];\n isChecked: (item: string | number | HashObject<string>) => boolean;\n bulkChecked: boolean;\n deselectAll: () => void;\n hasSomeSelections: () => boolean;\n setSelected: (ids: string[]) => void;\n getSelectedCount: () => number;\n reset: () => void;\n getMap: () => Map<string, boolean>;\n}\n\nexport interface BulkCheckboxManagerOptions {\n idField?: string; // For objects like `PresentationAudiences` that don't use `id` as their identifier field\n persistNamespace?: string;\n preselectedIds?: string[];\n initialState?: CheckboxItemsState;\n}\n\n/**\n * @param collection - The collection you are keeping track of with checkboxes\n * @param options - See interface above\n */\nexport const useBulkCheckboxManager = (collection: HashObject[], options: BulkCheckboxManagerOptions = {}) => {\n const { idField = 'id', persistNamespace } = options;\n\n const initial = options.initialState ? options.initialState : new Map<string, boolean>();\n\n const items = React.useRef<CheckboxItemsState>(initial);\n \n const forceUpdate = useForceUpdate();\n\n const prevCollection = usePrevious(collection);\n const prevNamespace = usePrevious(persistNamespace);\n\n /**\n * This hook will clear the state of this hook when a user navigates between pages\n * if a persistNamespace was not provided\n */\n React.useEffect(() => {\n /**\n * If we're being passed initial state, we don't want to clear the state\n */\n if (options.initialState)\n return;\n\n /**\n * If we've been given a persist namespace, we don't want to clear our\n * selections while the namespace stays the same\n */\n if (persistNamespace && prevNamespace === persistNamespace)\n return;\n\n /**\n * Don't reinitialize if the ids of the new and old collection\n * are identical\n */\n const prevIds = prevCollection?.map(i => i[idField]).join();\n const ids = collection?.map(i => i[idField]).join();\n\n if (prevIds === ids)\n return;\n\n reset();\n }, [ prevCollection, prevNamespace, collection, options.initialState ]);\n\n React.useEffect(() => {\n if (!options.preselectedIds?.length)\n return;\n\n setSelected(options.preselectedIds);\n }, []);\n\n function reset(): void {\n items.current.clear();\n forceUpdate();\n }\n\n // When toggled on, all checkbox items will be enabled. Vice versa if toggled off\n function onToggleBulk(): void {\n const setValue = !isBulkChecked();\n\n collection.forEach(item => {\n if (setValue)\n items.current.set(item[idField].toString(), true);\n else\n items.current.delete(item[idField].toString());\n });\n\n forceUpdate();\n }\n\n // Toggles a single item\n function onToggleItem(id: string): void {\n const nextItemState = !items.current.get(id.toString());\n\n if (nextItemState)\n items.current.set(id.toString(), nextItemState);\n else\n items.current.delete(id.toString());\n \n forceUpdate();\n }\n\n // Returns the state of the item passed in\n function isChecked(item: string | number | HashObject<string>): boolean {\n if (typeof item === 'number')\n item = item.toString();\n else if (typeof item !== 'string')\n item = item[idField].toString();\n\n return items.current.get(item);\n }\n\n function getSelected(): string[] {\n return Array.from(items.current.keys());\n }\n\n function deselectAll(): void {\n if (!collection?.length) return;\n\n collection.forEach(item => {\n items.current.delete(item[idField].toString());\n });\n forceUpdate();\n }\n\n // Returns true if at least 1 item is checked\n function hasSomeSelections(): boolean {\n if (!collection?.length)\n return false;\n\n return !!collection.find(item => isChecked(item));\n }\n\n function isBulkChecked(): boolean {\n if (!collection?.length)\n return false;\n\n return collection.every(isChecked);\n }\n\n function setSelected(ids: string[]): void {\n ids.forEach(id => {\n items.current.set(id, true);\n });\n forceUpdate();\n }\n\n function getSelectedCount(): number {\n return items.current.size;\n }\n\n function getMap(): Map<string, boolean> {\n return items.current;\n }\n\n return {\n onToggleBulk,\n onToggleItem,\n getSelected,\n isChecked,\n bulkChecked: isBulkChecked(),\n deselectAll,\n hasSomeSelections,\n setSelected,\n getSelectedCount,\n reset,\n getMap\n };\n};","import React from 'react';\n\n// https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state\nexport function usePrevious<T>(value: T): T {\n const ref = React.useRef<T>();\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"rfiJl\",\"partialJobCount\":\"h8k_u\",\"partialCheckbox\":\"HkuOS\",\"partialExportButton\":\"Iul7S\",\"row\":\"mwigG\",\"checkboxColumn\":\"Z5jLG\",\"actionColumn\":\"rLxYh\",\"usersColumn\":\"QZzab\",\"dateColumn\":\"Wf_Jp\",\"performedByColumn\":\"Ubtmj\",\"seeMoreColumn\":\"XdP6u\",\"heading\":\"kRMMH\",\"action\":\"DvDvW\",\"users\":\"goKpg\",\"date\":\"ejYGb\",\"performedBy\":\"NhjyL\"};","import React from 'react';\n\nimport styles from './partial-user-audit-log.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`d-flex striped-row rounded py-3 ${styles.row}`}>\n <div className={`${styles.checkboxColumn} d-flex justify-content-center`}>\n <div className={`partial-loading-background ${styles.partialCheckbox} ms-0`} />\n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.action}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.users}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.date}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.performedBy}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n &nbsp;\n </div>\n </div>\n );\n}\n\nfunction PartialHeader(): JSX.Element {\n return (\n <div className='d-flex py-2 mb-1'>\n <div className={`${styles.checkboxColumn}`}>\n &nbsp;\n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n &nbsp;\n </div>\n </div>\n );\n}\n\nexport function PartialAuditLogTable(): JSX.Element {\n return (\n <>\n <div className='mb-3 mt-n1'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import React from 'react';\n\nimport { PartialSearchFilters } from 'libs/shared/apps/search/components/search-filters/PartialSearchFilters';\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\n\nimport { PartialAuditLogTable } from './PartialAuditLogTable';\n\nimport styles from './partial-user-audit-log.scss';\n\nexport function PartialUserAuditLog(): JSX.Element {\n return (\n <>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <PartialBreadcrumbs />\n\n <div className={`partial-loading-background ${styles.partialJobCount}`} />\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <div className={`partial-loading-background ${styles.partialCheckbox}`} />\n\n <div className='ms-4 ps-3'>\n <PartialSearchFilters count={3} />\n </div>\n\n <div className={`ms-auto partial-loading-background ${styles.partialExportButton}`} />\n </div>\n\n <PartialAuditLogTable />\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nconst namespace = 'userManager.userAuditLogFilters';\n\nfunction getSortOptions(): FilterOption[] {\n return [{\n id: 'newest',\n name: LanguageService.getPhrase(namespace, 'newest'),\n default: true\n },\n {\n id: 'oldest',\n name: LanguageService.getPhrase(namespace, 'oldest')\n }];\n}\n\nexport interface UserAuditLogQueryParams {\n cursor: string;\n userType: UserGroup | UserGroup[];\n bulkActionType: BatchJobType | BatchJobType[];\n sort: 'newest' | 'oldest';\n}\n\ninterface UserAuditLogFiltersProps {\n queryParams: UserAuditLogQueryParams;\n appLinks: UserManagerAppLinks;\n}\n\nexport function UserAuditLogFilters(props: UserAuditLogFiltersProps): JSX.Element {\n const filters: SearchFilter<any>[] = [\n Filters.SortBy(getSortOptions()),\n Filters.BulkActionType(),\n Filters.UserType()\n ];\n\n return (\n <SearchFilters\n queryParams={props.queryParams}\n mainFilters={filters}\n appLink={props.appLinks.auditLog}\n analyticsOptions={{\n entity: EntityType.BatchJob,\n location: LocationContext.UserAuditLog\n }}\n hideHeading\n hideDivider\n constantIndices={[]}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"uymuO\"};","import React from 'react';\nimport { CellProps, Column } from 'react-table';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BatchJob } from 'libs/shared/interfaces';\n\nimport styles from './user-audit-log-table.scss';\n\nconst namespace = 'userManager.userAuditLogTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogTableData {\n id: string;\n checked: boolean;\n actionType: string;\n userType: string;\n date: string;\n performedBy: {\n name: string;\n submittedByClickView: boolean;\n };\n}\n\nexport function getColumns(\n summaryAppLink: Core.AppLink,\n onToggleCheckbox: (id: string) => void\n): Column<UserAuditLogTableData>[] {\n const columns: Column<UserAuditLogTableData>[] = [\n {\n Header: '',\n id: 'checkboxes',\n accessor: (data: UserAuditLogTableData) => ({ id: data.id, checked: data.checked }),\n Cell: (cell: CellProps<UserAuditLogTableData, { id: string; checked: boolean; }>) => (\n <div className='text-center mx-auto'>\n <Checkbox\n id={cell.value.id}\n checked={cell.value.checked}\n onChange={() => onToggleCheckbox(cell.value.id)}\n />\n </div>\n ),\n width: 10\n },\n {\n Header: getPhrase('action'),\n accessor: 'actionType',\n id: 'actionType',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('users'),\n accessor: 'userType',\n id: 'userType',\n Cell: ({ value }) => {\n const getValue = () => {\n switch (value) {\n case UserGroup.Learner:\n return getPhrase('students');\n case UserGroup.Staff:\n return getPhrase('staff');\n case UserGroup.Unknown:\n default:\n return getPhrase('unknown');\n }\n };\n\n return (\n <div className='w-100'>\n {getValue()}\n </div>\n );\n },\n width: 10\n },\n {\n Header: getPhrase('date'),\n accessor: 'date',\n id: 'date',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('performedBy'),\n accessor: 'performedBy',\n id: 'performedBy',\n Cell: (cell: CellProps<any, { name: string; submittedByClickView: boolean; }>) => (\n <div className='w-100 d-flex align-items-center'>\n {cell.value.submittedByClickView && (\n <SvgContainer2 className='me-1' size={SvgContainerSize.Small}>\n <ClickViewAvatar />\n </SvgContainer2>\n )}\n {cell.value.name}\n </div>\n ),\n width: 20\n },\n {\n Header: '',\n accessor: 'id',\n id: 'seeMore',\n Cell: ({ value }) => (\n <div className='w-100 d-flex justify-content-end'>\n <AppLink\n className={`info-link text-end me-3 ms-auto ${styles.seeMore}`}\n appLink={{\n ...summaryAppLink,\n args: summaryAppLink.args?.length ? [ ...summaryAppLink.args, value ] : [value]\n }}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </AppLink>\n </div>\n ),\n width: 30\n }\n ];\n\n return columns;\n}\n\nexport function useGetData(jobs: BatchJob[], isChecked: (id: string) => boolean): UserAuditLogTableData[] {\n return jobs.map(job => {\n const formattedDate = DateHelper.format(job.dateCreated, 'DD/MM/YYYY, hh:mmA');\n\n return {\n id: job.id,\n checked: isChecked(job.id),\n actionType: BulkUserActionsHelper.mapJobTypeToName(job.type),\n userType: BulkUserActionsHelper.mapDataTypeToUserType(job.dataType),\n date: formattedDate,\n performedBy: {\n name: job.submitterName,\n submittedByClickView: job.submittedByClickView\n }\n };\n });\n}","import React from 'react';\n\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { getColumns, useGetData } from './UserAuditLogTableUtils';\n\nconst TABLE_THEME: TableTheme = {\n table: 'striped-list no-full-width pb-3',\n header: 'fw-semibold pb-1',\n headerCell: 'px-2 py-1',\n row: 'striped-row rounded audit-log-row',\n cell: 'd-flex align-items-center py-3 px-2'\n};\n\ninterface UserAuditLogTableProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n onToggleCheckbox: (id: string) => void;\n isChecked: (id: string) => boolean;\n}\n\nexport function UserAuditLogTable(props: UserAuditLogTableProps): JSX.Element {\n const data = useGetData(props.jobs.data, props.isChecked);\n\n return (\n <Table\n columns={getColumns(props.appLinks.bulkActionSummary, props.onToggleCheckbox)}\n data={data}\n theme={TABLE_THEME}\n />\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'userManager.auditLogEmptyState';\n\ninterface UserAuditLogEmptyStateProps {\n imageUrl: string;\n}\n\nexport function UserAuditLogEmptyState(props: UserAuditLogEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bulkCheckbox\":\"NMw5T\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { UserAuditLogFilters, UserAuditLogQueryParams } from './components/audit-log-filters/UserAuditLogFilters';\nimport { UserAuditLogTable } from './components/audit-log-table/UserAuditLogTable';\nimport { UserAuditLogEmptyState } from './empty-state/UserAuditLogEmptyState';\n\nimport styles from './user-audit-log.scss';\n\nconst namespace = 'userManager.auditLog';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n queryParams: UserAuditLogQueryParams;\n onClickExport: (ids: string[]) => Promise<void>;\n emptyStateImageUrl: string;\n}\n\nexport function UserAuditLog(props: UserAuditLogProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const [ showExportSpinner, setShowExportSpinner ] = React.useState(false);\n\n const CheckboxHelper = useBulkCheckboxManager(props.jobs.data);\n const alerts = useAlerts();\n\n function onClickExport(): void {\n if (showExportSpinner)\n return;\n\n setShowExportSpinner(true);\n\n const selectedIds = CheckboxHelper.getSelected();\n\n props.onClickExport(selectedIds)\n .then(() => alerts.success(getPhrase('exportSuccess')))\n .catch(() => alerts.error(getPhrase('exportError')))\n .finally(() => setShowExportSpinner(false));\n }\n\n return (\n <>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settingsBreadcrumb'), appLink: props.appLinks.settings },\n { name: getPhrase(referrer === UserGroup.Learner ? 'studentManager' : 'staffManager'), appLink: props.appLinks.userManager },\n { name: getPhrase('heading'), active: true }\n ]}\n />\n\n <p className='mb-0 fw-semibold'>\n <Text\n namespace={namespace}\n phrase='totalJobs'\n options={{ showing: props.jobs.data.length, smartCount: props.jobs.count }}\n />\n </p>\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <Checkbox\n className={styles.bulkCheckbox}\n id='bulk-audit-log-checkbox'\n checked={CheckboxHelper.bulkChecked}\n onChange={CheckboxHelper.onToggleBulk}\n indeterminate={CheckboxHelper.hasSomeSelections()}\n />\n\n <div className='ms-4 ps-1'>\n <UserAuditLogFilters queryParams={props.queryParams} appLinks={props.appLinks} />\n </div>\n\n <SpinnerButton\n variant='dark'\n className='ms-auto'\n onClick={onClickExport}\n disabled={!CheckboxHelper.hasSomeSelections() || showExportSpinner}\n showSpinner={showExportSpinner}\n >\n <Text namespace={namespace} phrase='export' />\n </SpinnerButton>\n </div>\n\n {props.jobs.data?.length ? (\n <UserAuditLogTable\n jobs={props.jobs}\n appLinks={props.appLinks}\n onToggleCheckbox={CheckboxHelper.onToggleItem}\n isChecked={CheckboxHelper.isChecked}\n />\n ) : (\n <UserAuditLogEmptyState imageUrl={props.emptyStateImageUrl} />\n )}\n\n {!!props.jobs.pagination?.cursors && (\n <Pagination\n className='p-0 text-end pb-3'\n cursors={props.jobs.pagination.cursors}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { PartialUserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog';\nimport { UserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/UserAuditLog';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nconst namespace = 'userManager.userAuditLogView';\n\ninterface UserAuditLogViewProps {\n queryParams: UserAuditLogQueryParams;\n}\n\nexport function UserAuditLogView(props: UserAuditLogViewProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const jobs = Flight.useBasicFetch<BatchJobCollection>(JobRequests.getJobs(props.queryParams));\n \n useHandleObjectError(jobs);\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const appLinks = getUserManagerAppLinks(referrer);\n\n function onClickExport(jobIds: string[]): Promise<void> {\n return fetchAsync<void>(JobRequests.sendJobReports(jobIds));\n }\n\n if (!jobs.hasCompleted)\n return <div className='px-3'><PartialUserAuditLog /></div>;\n\n return (\n <div className='px-3'>\n <UserAuditLog\n jobs={jobs.data}\n appLinks={appLinks}\n queryParams={props.queryParams}\n onClickExport={onClickExport}\n emptyStateImageUrl={ImageUrls.EmptyStates.Search.RESULTS}\n />\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["ScrollHelper","preventScrollTop","Radio","trigger","PartialSearchFilters","count","className","Array","fill","map","item","index","key","BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","b","idx","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","buildCursor","cursorParam","prevHack","currentParams","params","previous","application","action","args","cursor","Pagination","cursors","buttonVariant","scrollTop","onClick","onClickButton","page","location","entity","actionType","value","display","phrase","next","variant","defaultProps","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","generateCacheKey","flightObjs","obj","statusCode","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","isArray","useEffect","forEach","useBulkCheckboxManager","collection","options","idField","persistNamespace","initial","initialState","Map","items","forceUpdate","prevCollection","prevNamespace","reset","current","clear","isChecked","toString","get","isBulkChecked","every","setSelected","ids","id","set","i","preselectedIds","onToggleBulk","setValue","onToggleItem","nextItemState","getSelected","from","keys","bulkChecked","deselectAll","hasSomeSelections","find","getSelectedCount","getMap","usePrevious","ref","PartialRow","PartialHeader","PartialAuditLogTable","PartialUserAuditLog","namespace","UserAuditLogFilters","props","filters","LanguageService","default","SearchFilters","queryParams","mainFilters","appLinks","auditLog","analyticsOptions","hideHeading","hideDivider","constantIndices","getPhrase","TABLE_THEME","table","header","headerCell","row","cell","UserAuditLogTable","jobs","summaryAppLink","onToggleCheckbox","data","job","formattedDate","DateHelper","dateCreated","checked","BulkUserActionsHelper","type","userType","dataType","date","performedBy","submitterName","submittedByClickView","Table","columns","bulkActionSummary","Header","accessor","Cell","Checkbox","onChange","UserGroup","getValue","SvgContainer2","SvgContainer","ClickViewAvatar","AppLink","Text","theme","UserAuditLogEmptyState","EmptyState","src","imageUrl","UserAuditLog","referrer","LocalStorageHelper","UserManagerConstants","showExportSpinner","setShowExportSpinner","CheckboxHelper","alerts","settings","userManager","showing","smartCount","indeterminate","SpinnerButton","selectedIds","onClickExport","then","success","error","disabled","showSpinner","emptyStateImageUrl","pagination","ContextService","UserAuditLogView","JobRequests","useSetPageMetadata","title","fetchAsync","hasCompleted","jobIds","ImageUrls","createJob","url","getJobs","bulkActionTypes","userTypes","sort","order","bulkActionType","getJob","getJobProgress","invalidationKeys","getJobResults","status","getYearGroupRolloverStatus","customerId","sendJobReports","getJobSummary"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5143],{61807:(e,t,n)=>{n.d(t,{L:()=>m});var a=n(32735),r=n(81886),i=n(23481),c=n(65858),l=n(38502),s="settings.domainSettingsTabs",o=i.T.encloseNamespace(s);function m(e){var t=e.active,n=e.appLinks;return a.createElement("div",{className:"mb-3"},a.createElement(l.r,{tabs:[{name:o("requestingAccess"),appLink:n.requestingAccess,active:"requesting-access"===t,analyticsData:{name:o("requestingAccess"),url:r.Q.C$.getHref(n.requestingAccess)},analyticsOptions:{actionType:c.Vw.Click,entity:c.py.Url,location:c.LZ.MagicTabs}},{name:o("teacherInvites"),appLink:n.teacherInvites,active:"teacher-invites"===t,analyticsData:{name:i.T.getPhrase(s,"teacherInvites"),url:r.Q.C$.getHref(n.teacherInvites)},analyticsOptions:{actionType:c.Vw.Click,entity:c.py.Url,location:c.LZ.MagicTabs}},{name:o("automaticAccess"),appLink:n.automaticAccess,active:"automatic-access"===t,analyticsData:{name:i.T.getPhrase(s,"automaticAccess"),url:r.Q.C$.getHref(n.automaticAccess)},analyticsOptions:{actionType:c.Vw.Click,entity:c.py.Url,location:c.LZ.MagicTabs}}]}))}},49935:(e,t,n)=>{n.d(t,{Oo:()=>u,b2:()=>p});var a=n(32735),r=n(36848),i=n(86764),c=n(3747),l=n(5859),s=n(35223),o=n(83914),m=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,c=t.active,l=e.withBackIcon;return a.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?a.createElement("strong",null,n):a.createElement(r.F,{appLink:i},l&&a.createElement(o.x,{svgName:s.vn.ChevronLeft,size:o.S.Small}),a.createElement("span",{className:l?"ms-2":""},n)))},u=function(e){var t=e.breadcrumbs,n=(0,c.a)(i.r.XS),r=null==t?void 0:t.length;return!r||n&&r<2?a.createElement(a.Fragment,null):n?a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},a.createElement(m,{breadcrumb:t[r-2],withBackIcon:!0}))):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return a.createElement(m,{key:t,breadcrumb:e})}))))},p=a.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,c.a)(i.r.XS)?a.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return a.createElement("li",{key:t,className:"breadcrumb-item"},a.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},38502:(e,t,n)=>{n.d(t,{r:()=>u});var a=n(32735),r=n(49985),i=n(36848),c=n(18559),l=n(11607),s=n(83914),o=n(87432);function m(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(c.C,{type:c.g.Count,data:e.tab.count})))}function u(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(o.Z.pillTabSelector,"\n ").concat(e.borderRadius?o.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(o.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?o.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.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(o.Z.tabLink,"\n ")},a.createElement(m,{tab:e})):a.createElement(l.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(o.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(m,{tab:e})))}))))}u.defaultProps={borderRadius:"lg"}},24833:(e,t,n)=>{var a;n.d(t,{C:()=>a}),function(e){e.RequestingAccess="requestingAccess",e.TeacherInvites="teacherInvites",e.AutomaticAccess="automaticAccess"}(a||(a={}))},5859:(e,t,n)=>{function a(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}n.d(t,{u:()=>i});var r={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},r),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return a(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 a(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)?a(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")}}))}}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),i=n(23481),c=n(49935),l=n(22902),s=n(14070),o=n(97291),m=n(96368);function u(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 p="settings.settingsLayout",d=function(e){var t=(0,l.T)().hasPermissions,n=(0,m.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==o.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=d(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:o.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var l,m=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:o.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(c.Oo,{breadcrumbs:[{name:i.T.getPhrase(p,"settingsBreadcrumb"),appLink:{application:o.O.SETTINGS,action:s.e.Settings.HOME}}].concat((l=m,function(e){if(Array.isArray(e))return u(e)}(l)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(l)||function(e,t){if(e){if("string"==typeof e)return u(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)?u(e,t):void 0}}(l)||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&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},68598:(e,t,n)=>{n.d(t,{W:()=>s});var a=n(24833),r=n(14070),i=n(97291);function c(e){return c="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},c(e)}function l(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=c(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=c(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=l(l(l({},a.C.RequestingAccess,{application:i.O.SETTINGS,action:r.e.Settings.REQUESTING_ACCESS}),a.C.TeacherInvites,{application:i.O.SETTINGS,action:r.e.Settings.TEACHER_INVITES}),a.C.AutomaticAccess,{application:i.O.SETTINGS,action:r.e.Settings.AUTOMATIC_ACCESS})},96268:(e,t,n)=>{n.d(t,{W:()=>o});var a=n(32735),r=n(81886),i=n(65858),c=n(37802),l=n(14070),s=n(97291);function o(){var e=(0,c.r)(i.LZ.Settings),t=e.isLoadingSettings,n=e.domainSettings;a.useEffect((function(){t||n||r.Q.C$.trigger({application:s.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[n,t])}},45143:(e,t,n)=>{n.r(t),n.d(t,{TeacherInvitesView:()=>A});var a=n(32735),r=n(23481),i=n(20354),c=n(65858),l=n(83345),s=n(83523),o="settings.domainSettingsInvitesToggle";function m(e){var t=e.allowInvites,n=e.onToggleInvites;return a.createElement("div",{className:"col-12 col-md-7 card p-3"},a.createElement("div",{className:"d-flex justify-content-between"},a.createElement("p",{className:"fw-semibold"},a.createElement(l.x,{namespace:o,phrase:"invitesLabel"})),a.createElement(s.Z,{onClick:n,on:t})),a.createElement("p",null,a.createElement(l.x,{namespace:o,phrase:"invitesDescription"})),a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded p-2 bg-light-blue text-info fw-semibold"},a.createElement(l.x,{namespace:o,phrase:t?"invitesInfoMessage":"noInvitesInfoMessage"}))))}var u=n(61807),p=n(16714),d=n(77963),f=n(65728),b=n(31949),v=n(69883),g=n(37802),y=n(81803),E=n(68598),h=n(96268);function S(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 I="settings.teacherInvites",T=r.T.encloseNamespace(I);function A(){(0,h.W)();var e,t,n=i.a.useBasicFetch(b.N.currentUser()).data.customerId,r=(0,g.r)(c.LZ.Settings),s=r.inviteColleague,o=r.updateSetting,A=r.isLoadingSettings,N=(0,v.Z)(),k=(e=a.useState(s),t=2,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,i,c,l=[],s=!0,o=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){o=!0,r=e}finally{try{if(!s&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(o)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(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)?S(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.")}()),C=k[0],L=k[1];return a.useEffect((function(){A||L(s)}),[s,A]),A?a.createElement(a.Fragment,null):a.createElement(y.d,{heading:T("heading"),breadcrumbs:[T("breadcrumb")],requiredPermissions:p.C.ManageUsers},a.createElement(u.L,{active:"teacher-invites",appLinks:E.W}),a.createElement("p",null,a.createElement(l.x,{namespace:I,phrase:"description"})),a.createElement(m,{allowInvites:C,onToggleInvites:function(){var e={name:f.E.InviteColleague,value:!C,kind:d.g.Permanent};o(n,e,(function(){N.success(T("successAlert")),L(!C)}),(function(){return N.error(T("errorAlert"))}))}}))}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
2
- //# sourceMappingURL=5143-b6896dad98-lite.chunk.js.map