@clickview/lite 0.52.0 → 0.52.2-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{1329-lite-ec64553644.chunk.css → 1329-lite-55772b1036.chunk.css} +2 -2
  3. package/dist/css/{986-lite-6bdd43b250.chunk.css → 3532-lite-a3c7435ba4.chunk.css} +1 -1
  4. package/dist/css/{3969-lite-cb4c4824f6.chunk.css → 3969-lite-94ca677007.chunk.css} +1 -1
  5. package/dist/css/{4489-lite-e971ca8ab6.chunk.css → 4489-lite-49c28410f9.chunk.css} +1 -1
  6. package/dist/css/4690-lite-e1f88a6b47.chunk.css +4 -0
  7. package/dist/css/{537-lite-53bb989a96.chunk.css → 537-lite-390b70028c.chunk.css} +1 -1
  8. package/dist/css/{6489-lite-5ffcd32447.chunk.css → 6489-lite-a917e953c8.chunk.css} +1 -1
  9. package/dist/css/{8192-lite-cf3253f7b8.chunk.css → 8192-lite-282a716c03.chunk.css} +1 -1
  10. package/dist/css/{841-lite-93cc5f2469.chunk.css → 841-lite-4a007cd7be.chunk.css} +1 -1
  11. package/dist/css/{1820-lite-eaf5a9db1c.chunk.css → 999-lite-02c517e917.chunk.css} +1 -1
  12. package/dist/languages/en.json +1 -1
  13. package/dist/scripts/{1080-5b00242a31-lite.chunk.js → 1080-d24c9657ec-lite.chunk.js} +2 -2
  14. package/dist/scripts/{1080-5b00242a31-lite.chunk.js.map → 1080-d24c9657ec-lite.chunk.js.map} +1 -1
  15. package/dist/scripts/{9173-2392d447a6-lite.chunk.js → 1104-f057c6dea1-lite.chunk.js} +3 -3
  16. package/dist/scripts/{9173-2392d447a6-lite.chunk.js.map → 1104-f057c6dea1-lite.chunk.js.map} +1 -1
  17. package/dist/scripts/{1125-aac132b88f-lite.chunk.js → 1125-55dc0a4586-lite.chunk.js} +2 -2
  18. package/dist/scripts/1125-55dc0a4586-lite.chunk.js.map +1 -0
  19. package/dist/scripts/1169-3de585be6a-lite.chunk.js +2 -0
  20. package/dist/scripts/1169-3de585be6a-lite.chunk.js.map +1 -0
  21. package/dist/scripts/1329-850346e6e6-lite.chunk.js +3 -0
  22. package/dist/scripts/1329-850346e6e6-lite.chunk.js.map +1 -0
  23. package/dist/scripts/{1379-082bbab71a-lite.chunk.js → 1379-976d20185f-lite.chunk.js} +3 -3
  24. package/dist/scripts/{1379-082bbab71a-lite.chunk.js.map → 1379-976d20185f-lite.chunk.js.map} +1 -1
  25. package/dist/scripts/1672-60a3ab42f5-lite.chunk.js +3 -0
  26. package/dist/scripts/1672-60a3ab42f5-lite.chunk.js.map +1 -0
  27. package/dist/scripts/1725-1e864ba78a-lite.chunk.js +2 -0
  28. package/dist/scripts/1725-1e864ba78a-lite.chunk.js.map +1 -0
  29. package/dist/scripts/1891-109e674486-lite.chunk.js +2 -0
  30. package/dist/scripts/1891-109e674486-lite.chunk.js.map +1 -0
  31. package/dist/scripts/193-797b89797a-lite.chunk.js +2 -0
  32. package/dist/scripts/193-797b89797a-lite.chunk.js.map +1 -0
  33. package/dist/scripts/2004-7d1bf8b246-lite.chunk.js +3 -0
  34. package/dist/scripts/2004-7d1bf8b246-lite.chunk.js.map +1 -0
  35. package/dist/scripts/209-d2e6b93965-lite.chunk.js +2 -0
  36. package/dist/scripts/209-d2e6b93965-lite.chunk.js.map +1 -0
  37. package/dist/scripts/2134-b9145f8ce8-lite.chunk.js +2 -0
  38. package/dist/scripts/2134-b9145f8ce8-lite.chunk.js.map +1 -0
  39. package/dist/scripts/2952-6a32a90314-lite.chunk.js +2 -0
  40. package/dist/scripts/2952-6a32a90314-lite.chunk.js.map +1 -0
  41. package/dist/scripts/3003-7685240aed-lite.chunk.js +2 -0
  42. package/dist/scripts/3003-7685240aed-lite.chunk.js.map +1 -0
  43. package/dist/scripts/3020-6c9c7d2176-lite.chunk.js +2 -0
  44. package/dist/scripts/3020-6c9c7d2176-lite.chunk.js.map +1 -0
  45. package/dist/scripts/338-e21a3cd6fe-lite.chunk.js +3 -0
  46. package/dist/scripts/338-e21a3cd6fe-lite.chunk.js.map +1 -0
  47. package/dist/scripts/3532-2fed0eb7a4-lite.chunk.js +3 -0
  48. package/dist/scripts/3532-2fed0eb7a4-lite.chunk.js.map +1 -0
  49. package/dist/scripts/3633-025f418c19-lite.chunk.js +2 -0
  50. package/dist/scripts/3633-025f418c19-lite.chunk.js.map +1 -0
  51. package/dist/scripts/3640-694d1d6d2a-lite.chunk.js +2 -0
  52. package/dist/scripts/3640-694d1d6d2a-lite.chunk.js.map +1 -0
  53. package/dist/scripts/3728-2c71d3021e-lite.chunk.js +2 -0
  54. package/dist/scripts/3728-2c71d3021e-lite.chunk.js.map +1 -0
  55. package/dist/scripts/3966-0e3c4f329e-lite.chunk.js +2 -0
  56. package/dist/scripts/3966-0e3c4f329e-lite.chunk.js.map +1 -0
  57. package/dist/scripts/{3969-6d5f2f272f-lite.chunk.js → 3969-e36f1922eb-lite.chunk.js} +1 -1
  58. package/dist/scripts/{3969-6d5f2f272f-lite.chunk.js.map → 3969-e36f1922eb-lite.chunk.js.map} +1 -1
  59. package/dist/scripts/4063-5fa157657f-lite.chunk.js +2 -0
  60. package/dist/scripts/4063-5fa157657f-lite.chunk.js.map +1 -0
  61. package/dist/scripts/4182-7ae9edf4a5-lite.chunk.js +2 -0
  62. package/dist/scripts/4182-7ae9edf4a5-lite.chunk.js.map +1 -0
  63. package/dist/scripts/4395-37537617e2-lite.chunk.js +2 -0
  64. package/dist/scripts/4395-37537617e2-lite.chunk.js.map +1 -0
  65. package/dist/scripts/4502-83e4017e54-lite.chunk.js +2 -0
  66. package/dist/scripts/4502-83e4017e54-lite.chunk.js.map +1 -0
  67. package/dist/scripts/4690-d64efe8020-lite.chunk.js +2 -0
  68. package/dist/scripts/4690-d64efe8020-lite.chunk.js.map +1 -0
  69. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js +2 -0
  70. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js.map +1 -0
  71. package/dist/scripts/5143-d46f032e9e-lite.chunk.js +2 -0
  72. package/dist/scripts/5143-d46f032e9e-lite.chunk.js.map +1 -0
  73. package/dist/scripts/5157-855821ccce-lite.chunk.js +2 -0
  74. package/dist/scripts/5157-855821ccce-lite.chunk.js.map +1 -0
  75. package/dist/scripts/537-f63ad5863e-lite.chunk.js +3 -0
  76. package/dist/scripts/537-f63ad5863e-lite.chunk.js.map +1 -0
  77. package/dist/scripts/5549-bb01b24470-lite.chunk.js +2 -0
  78. package/dist/scripts/5549-bb01b24470-lite.chunk.js.map +1 -0
  79. package/dist/scripts/5573-304fea77a6-lite.chunk.js +2 -0
  80. package/dist/scripts/5573-304fea77a6-lite.chunk.js.map +1 -0
  81. package/dist/scripts/5595-842c05064c-lite.chunk.js +2 -0
  82. package/dist/scripts/5595-842c05064c-lite.chunk.js.map +1 -0
  83. package/dist/scripts/5606-680582b817-lite.chunk.js +2 -0
  84. package/dist/scripts/5606-680582b817-lite.chunk.js.map +1 -0
  85. package/dist/scripts/5877-e75dcce0ef-lite.chunk.js +2 -0
  86. package/dist/scripts/5877-e75dcce0ef-lite.chunk.js.map +1 -0
  87. package/dist/scripts/5936-b509535ec7-lite.chunk.js +2 -0
  88. package/dist/scripts/5936-b509535ec7-lite.chunk.js.map +1 -0
  89. package/dist/scripts/6054-1e9b86d631-lite.chunk.js +2 -0
  90. package/dist/scripts/6054-1e9b86d631-lite.chunk.js.map +1 -0
  91. package/dist/scripts/6094-6c1e95073a-lite.chunk.js +2 -0
  92. package/dist/scripts/6094-6c1e95073a-lite.chunk.js.map +1 -0
  93. package/dist/scripts/{6102-ce44fd00aa-lite.chunk.js → 6102-3ddcebe8a1-lite.chunk.js} +3 -3
  94. package/dist/scripts/{6102-ce44fd00aa-lite.chunk.js.map → 6102-3ddcebe8a1-lite.chunk.js.map} +1 -1
  95. package/dist/scripts/6138-5791b93cc1-lite.chunk.js +2 -0
  96. package/dist/scripts/6138-5791b93cc1-lite.chunk.js.map +1 -0
  97. package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js → 624-bf0ff6257f-lite.chunk.js} +3 -3
  98. package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.map → 624-bf0ff6257f-lite.chunk.js.map} +1 -1
  99. package/dist/scripts/6263-cfd4ebfe8b-lite.chunk.js +2 -0
  100. package/dist/scripts/6263-cfd4ebfe8b-lite.chunk.js.map +1 -0
  101. package/dist/scripts/6290-eb223883fe-lite.chunk.js +2 -0
  102. package/dist/scripts/6290-eb223883fe-lite.chunk.js.map +1 -0
  103. package/dist/scripts/6470-1012a7889c-lite.chunk.js +2 -0
  104. package/dist/scripts/6470-1012a7889c-lite.chunk.js.map +1 -0
  105. package/dist/scripts/6481-39b72a58ef-lite.chunk.js +2 -0
  106. package/dist/scripts/6481-39b72a58ef-lite.chunk.js.map +1 -0
  107. package/dist/scripts/6489-9287613d14-lite.chunk.js +3 -0
  108. package/dist/scripts/6489-9287613d14-lite.chunk.js.map +1 -0
  109. package/dist/scripts/6532-9edab80cc6-lite.chunk.js +2 -0
  110. package/dist/scripts/6532-9edab80cc6-lite.chunk.js.map +1 -0
  111. package/dist/scripts/6604-2353daa8c0-lite.chunk.js +2 -0
  112. package/dist/scripts/6604-2353daa8c0-lite.chunk.js.map +1 -0
  113. package/dist/scripts/6741-572db2d1e9-lite.chunk.js +3 -0
  114. package/dist/scripts/6741-572db2d1e9-lite.chunk.js.map +1 -0
  115. package/dist/scripts/6746-72d35335ba-lite.chunk.js +2 -0
  116. package/dist/scripts/6746-72d35335ba-lite.chunk.js.map +1 -0
  117. package/dist/scripts/6852-f49f6f19d3-lite.chunk.js +2 -0
  118. package/dist/scripts/6852-f49f6f19d3-lite.chunk.js.map +1 -0
  119. package/dist/scripts/714-67adeb44da-lite.chunk.js +2 -0
  120. package/dist/scripts/714-67adeb44da-lite.chunk.js.map +1 -0
  121. package/dist/scripts/7163-8b5ab059b6-lite.chunk.js +2 -0
  122. package/dist/scripts/7163-8b5ab059b6-lite.chunk.js.map +1 -0
  123. package/dist/scripts/7178-4b9c33a63e-lite.chunk.js +2 -0
  124. package/dist/scripts/7178-4b9c33a63e-lite.chunk.js.map +1 -0
  125. package/dist/scripts/7223-e2f8a43b89-lite.chunk.js +2 -0
  126. package/dist/scripts/7223-e2f8a43b89-lite.chunk.js.map +1 -0
  127. package/dist/scripts/7234-595d44446f-lite.chunk.js +2 -0
  128. package/dist/scripts/7234-595d44446f-lite.chunk.js.map +1 -0
  129. package/dist/scripts/7267-dac72aeb98-lite.chunk.js +2 -0
  130. package/dist/scripts/7267-dac72aeb98-lite.chunk.js.map +1 -0
  131. package/dist/scripts/{7293-687e60dba2-lite.chunk.js → 7293-1ad518e385-lite.chunk.js} +2 -2
  132. package/dist/scripts/7293-1ad518e385-lite.chunk.js.map +1 -0
  133. package/dist/scripts/7679-f43777e02e-lite.chunk.js +2 -0
  134. package/dist/scripts/7679-f43777e02e-lite.chunk.js.map +1 -0
  135. package/dist/scripts/7757-2785d666ad-lite.chunk.js +2 -0
  136. package/dist/scripts/7757-2785d666ad-lite.chunk.js.map +1 -0
  137. package/dist/scripts/7795-b641104969-lite.chunk.js +2 -0
  138. package/dist/scripts/7795-b641104969-lite.chunk.js.map +1 -0
  139. package/dist/scripts/7818-cff0f2276c-lite.chunk.js +2 -0
  140. package/dist/scripts/7818-cff0f2276c-lite.chunk.js.map +1 -0
  141. package/dist/scripts/{8192-f26370c5a6-lite.chunk.js → 8192-ea5cee15d7-lite.chunk.js} +1 -1
  142. package/dist/scripts/{8192-f26370c5a6-lite.chunk.js.map → 8192-ea5cee15d7-lite.chunk.js.map} +1 -1
  143. package/dist/scripts/8200-1e4518c5d8-lite.chunk.js +3 -0
  144. package/dist/scripts/8200-1e4518c5d8-lite.chunk.js.map +1 -0
  145. package/dist/scripts/8323-fb330a8f47-lite.chunk.js +3 -0
  146. package/dist/scripts/8323-fb330a8f47-lite.chunk.js.map +1 -0
  147. package/dist/scripts/841-d69c7f4b4d-lite.chunk.js +3 -0
  148. package/dist/scripts/841-d69c7f4b4d-lite.chunk.js.map +1 -0
  149. package/dist/scripts/8709-f360baa021-lite.chunk.js +2 -0
  150. package/dist/scripts/8709-f360baa021-lite.chunk.js.map +1 -0
  151. package/dist/scripts/8722-00d7443d09-lite.chunk.js +2 -0
  152. package/dist/scripts/8722-00d7443d09-lite.chunk.js.map +1 -0
  153. package/dist/scripts/8982-6848480133-lite.chunk.js +2 -0
  154. package/dist/scripts/8982-6848480133-lite.chunk.js.map +1 -0
  155. package/dist/scripts/9016-e17da8b633-lite.chunk.js +3 -0
  156. package/dist/scripts/9016-e17da8b633-lite.chunk.js.map +1 -0
  157. package/dist/scripts/9173-a0c6c7be25-lite.chunk.js +2 -0
  158. package/dist/scripts/9173-a0c6c7be25-lite.chunk.js.map +1 -0
  159. package/dist/scripts/9226-a7c61f9129-lite.chunk.js +2 -0
  160. package/dist/scripts/9226-a7c61f9129-lite.chunk.js.map +1 -0
  161. package/dist/scripts/9230-537f1fcc38-lite.chunk.js +3 -0
  162. package/dist/scripts/9230-537f1fcc38-lite.chunk.js.map +1 -0
  163. package/dist/scripts/9359-deb452cb10-lite.chunk.js +2 -0
  164. package/dist/scripts/9359-deb452cb10-lite.chunk.js.map +1 -0
  165. package/dist/scripts/{9395-90b87097fa-lite.chunk.js → 9395-e9b5cdbdce-lite.chunk.js} +3 -3
  166. package/dist/scripts/{9395-90b87097fa-lite.chunk.js.map → 9395-e9b5cdbdce-lite.chunk.js.map} +1 -1
  167. package/dist/scripts/9399-721a368168-lite.chunk.js +2 -0
  168. package/dist/scripts/9399-721a368168-lite.chunk.js.map +1 -0
  169. package/dist/scripts/{9478-99486906b9-lite.chunk.js → 9478-abfa7ed3cc-lite.chunk.js} +3 -3
  170. package/dist/scripts/{9478-99486906b9-lite.chunk.js.map → 9478-abfa7ed3cc-lite.chunk.js.map} +1 -1
  171. package/dist/scripts/{953-cbc7f0571e-lite.chunk.js → 953-bf3d621a33-lite.chunk.js} +3 -3
  172. package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.map → 953-bf3d621a33-lite.chunk.js.map} +1 -1
  173. package/dist/scripts/9719-ed1956607c-lite.chunk.js +3 -0
  174. package/dist/scripts/9719-ed1956607c-lite.chunk.js.map +1 -0
  175. package/dist/scripts/999-d7e93dac12-lite.chunk.js +2 -0
  176. package/dist/scripts/999-d7e93dac12-lite.chunk.js.map +1 -0
  177. package/dist/scripts/bundle-9a72d04e7d.min.js +3 -0
  178. package/dist/scripts/bundle-9a72d04e7d.min.js.map +1 -0
  179. package/package.json +1 -2
  180. package/dist/css/4690-lite-a4fdd7e61e.chunk.css +0 -4
  181. package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
  182. package/dist/scripts/1169-5a0d974a94-lite.chunk.js +0 -2
  183. package/dist/scripts/1169-5a0d974a94-lite.chunk.js.map +0 -1
  184. package/dist/scripts/1329-7064e95200-lite.chunk.js +0 -3
  185. package/dist/scripts/1329-7064e95200-lite.chunk.js.map +0 -1
  186. package/dist/scripts/1466-735d7dad48-lite.chunk.js +0 -3
  187. package/dist/scripts/1466-735d7dad48-lite.chunk.js.map +0 -1
  188. package/dist/scripts/1672-672f298d82-lite.chunk.js +0 -3
  189. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +0 -1
  190. package/dist/scripts/1725-075015497e-lite.chunk.js +0 -2
  191. package/dist/scripts/1725-075015497e-lite.chunk.js.map +0 -1
  192. package/dist/scripts/1818-4949c9b748-lite.chunk.js +0 -2
  193. package/dist/scripts/1818-4949c9b748-lite.chunk.js.map +0 -1
  194. package/dist/scripts/1820-345bf53a3c-lite.chunk.js +0 -2
  195. package/dist/scripts/1820-345bf53a3c-lite.chunk.js.map +0 -1
  196. package/dist/scripts/1867-6f801de383-lite.chunk.js +0 -2
  197. package/dist/scripts/1867-6f801de383-lite.chunk.js.map +0 -1
  198. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js +0 -2
  199. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js.map +0 -1
  200. package/dist/scripts/193-f08b054631-lite.chunk.js +0 -2
  201. package/dist/scripts/193-f08b054631-lite.chunk.js.map +0 -1
  202. package/dist/scripts/2004-d891104ed4-lite.chunk.js +0 -3
  203. package/dist/scripts/2004-d891104ed4-lite.chunk.js.map +0 -1
  204. package/dist/scripts/209-57b05f6c83-lite.chunk.js +0 -2
  205. package/dist/scripts/209-57b05f6c83-lite.chunk.js.map +0 -1
  206. package/dist/scripts/2134-bca2f4697e-lite.chunk.js +0 -2
  207. package/dist/scripts/2134-bca2f4697e-lite.chunk.js.map +0 -1
  208. package/dist/scripts/2703-591ccf069c-lite.chunk.js +0 -2
  209. package/dist/scripts/2703-591ccf069c-lite.chunk.js.map +0 -1
  210. package/dist/scripts/3020-dbc723b098-lite.chunk.js +0 -2
  211. package/dist/scripts/3020-dbc723b098-lite.chunk.js.map +0 -1
  212. package/dist/scripts/3633-66d28be6f8-lite.chunk.js +0 -2
  213. package/dist/scripts/3633-66d28be6f8-lite.chunk.js.map +0 -1
  214. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js +0 -2
  215. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js.map +0 -1
  216. package/dist/scripts/3966-a3bb0e0161-lite.chunk.js +0 -2
  217. package/dist/scripts/3966-a3bb0e0161-lite.chunk.js.map +0 -1
  218. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js +0 -2
  219. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js.map +0 -1
  220. package/dist/scripts/4395-64da004753-lite.chunk.js +0 -2
  221. package/dist/scripts/4395-64da004753-lite.chunk.js.map +0 -1
  222. package/dist/scripts/4502-2e30d86385-lite.chunk.js +0 -2
  223. package/dist/scripts/4502-2e30d86385-lite.chunk.js.map +0 -1
  224. package/dist/scripts/4690-03372d68ac-lite.chunk.js +0 -2
  225. package/dist/scripts/4690-03372d68ac-lite.chunk.js.map +0 -1
  226. package/dist/scripts/5143-b6896dad98-lite.chunk.js +0 -2
  227. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +0 -1
  228. package/dist/scripts/5157-54aeb51bdf-lite.chunk.js +0 -2
  229. package/dist/scripts/5157-54aeb51bdf-lite.chunk.js.map +0 -1
  230. package/dist/scripts/537-536e52ef91-lite.chunk.js +0 -3
  231. package/dist/scripts/537-536e52ef91-lite.chunk.js.map +0 -1
  232. package/dist/scripts/5562-e011962a62-lite.chunk.js +0 -3
  233. package/dist/scripts/5562-e011962a62-lite.chunk.js.map +0 -1
  234. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js +0 -2
  235. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js.map +0 -1
  236. package/dist/scripts/5595-96a0649af0-lite.chunk.js +0 -2
  237. package/dist/scripts/5595-96a0649af0-lite.chunk.js.map +0 -1
  238. package/dist/scripts/5606-6c25caedc4-lite.chunk.js +0 -2
  239. package/dist/scripts/5606-6c25caedc4-lite.chunk.js.map +0 -1
  240. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js +0 -2
  241. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js.map +0 -1
  242. package/dist/scripts/5936-f0177219db-lite.chunk.js +0 -2
  243. package/dist/scripts/5936-f0177219db-lite.chunk.js.map +0 -1
  244. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js +0 -2
  245. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js.map +0 -1
  246. package/dist/scripts/6094-7ec9341357-lite.chunk.js +0 -2
  247. package/dist/scripts/6094-7ec9341357-lite.chunk.js.map +0 -1
  248. package/dist/scripts/6138-d419f62f77-lite.chunk.js +0 -2
  249. package/dist/scripts/6138-d419f62f77-lite.chunk.js.map +0 -1
  250. package/dist/scripts/6263-af99de5a35-lite.chunk.js +0 -2
  251. package/dist/scripts/6263-af99de5a35-lite.chunk.js.map +0 -1
  252. package/dist/scripts/6290-56412c6663-lite.chunk.js +0 -2
  253. package/dist/scripts/6290-56412c6663-lite.chunk.js.map +0 -1
  254. package/dist/scripts/6415-8b354a10c7-lite.chunk.js +0 -2
  255. package/dist/scripts/6415-8b354a10c7-lite.chunk.js.map +0 -1
  256. package/dist/scripts/6470-6216086d63-lite.chunk.js +0 -2
  257. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +0 -1
  258. package/dist/scripts/6481-03a4f1082e-lite.chunk.js +0 -2
  259. package/dist/scripts/6481-03a4f1082e-lite.chunk.js.map +0 -1
  260. package/dist/scripts/6489-953bb87f64-lite.chunk.js +0 -3
  261. package/dist/scripts/6489-953bb87f64-lite.chunk.js.map +0 -1
  262. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js +0 -2
  263. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js.map +0 -1
  264. package/dist/scripts/6546-bc3a8099ba-lite.chunk.js +0 -2
  265. package/dist/scripts/6546-bc3a8099ba-lite.chunk.js.map +0 -1
  266. package/dist/scripts/6587-23e7b1d196-lite.chunk.js +0 -2
  267. package/dist/scripts/6587-23e7b1d196-lite.chunk.js.map +0 -1
  268. package/dist/scripts/6604-92193d6d68-lite.chunk.js +0 -2
  269. package/dist/scripts/6604-92193d6d68-lite.chunk.js.map +0 -1
  270. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js +0 -3
  271. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js.map +0 -1
  272. package/dist/scripts/6746-b5b2739944-lite.chunk.js +0 -2
  273. package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
  274. package/dist/scripts/679-92bb80f478-lite.chunk.js +0 -2
  275. package/dist/scripts/679-92bb80f478-lite.chunk.js.map +0 -1
  276. package/dist/scripts/714-432082f4fa-lite.chunk.js +0 -2
  277. package/dist/scripts/714-432082f4fa-lite.chunk.js.map +0 -1
  278. package/dist/scripts/7178-e603ea6b58-lite.chunk.js +0 -2
  279. package/dist/scripts/7178-e603ea6b58-lite.chunk.js.map +0 -1
  280. package/dist/scripts/7223-135cc7d675-lite.chunk.js +0 -2
  281. package/dist/scripts/7223-135cc7d675-lite.chunk.js.map +0 -1
  282. package/dist/scripts/729-c704d587d3-lite.chunk.js +0 -2
  283. package/dist/scripts/729-c704d587d3-lite.chunk.js.map +0 -1
  284. package/dist/scripts/7293-687e60dba2-lite.chunk.js.map +0 -1
  285. package/dist/scripts/7679-81c2a40df4-lite.chunk.js +0 -2
  286. package/dist/scripts/7679-81c2a40df4-lite.chunk.js.map +0 -1
  287. package/dist/scripts/7757-b149c4c215-lite.chunk.js +0 -2
  288. package/dist/scripts/7757-b149c4c215-lite.chunk.js.map +0 -1
  289. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js +0 -2
  290. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js.map +0 -1
  291. package/dist/scripts/7818-2eafc5f812-lite.chunk.js +0 -2
  292. package/dist/scripts/7818-2eafc5f812-lite.chunk.js.map +0 -1
  293. package/dist/scripts/8200-8a55f1631f-lite.chunk.js +0 -3
  294. package/dist/scripts/8200-8a55f1631f-lite.chunk.js.map +0 -1
  295. package/dist/scripts/8323-99cb03891e-lite.chunk.js +0 -3
  296. package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
  297. package/dist/scripts/841-0c50273ad2-lite.chunk.js +0 -3
  298. package/dist/scripts/841-0c50273ad2-lite.chunk.js.map +0 -1
  299. package/dist/scripts/8722-c5f95553f2-lite.chunk.js +0 -2
  300. package/dist/scripts/8722-c5f95553f2-lite.chunk.js.map +0 -1
  301. package/dist/scripts/8766-9605550480-lite.chunk.js +0 -2
  302. package/dist/scripts/8766-9605550480-lite.chunk.js.map +0 -1
  303. package/dist/scripts/8800-c88fefeace-lite.chunk.js +0 -2
  304. package/dist/scripts/8800-c88fefeace-lite.chunk.js.map +0 -1
  305. package/dist/scripts/8982-63c31685bf-lite.chunk.js +0 -2
  306. package/dist/scripts/8982-63c31685bf-lite.chunk.js.map +0 -1
  307. package/dist/scripts/9016-0c078a39cb-lite.chunk.js +0 -3
  308. package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +0 -1
  309. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js +0 -2
  310. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +0 -1
  311. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +0 -3
  312. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +0 -1
  313. package/dist/scripts/9359-fa72fcdedc-lite.chunk.js +0 -2
  314. package/dist/scripts/9359-fa72fcdedc-lite.chunk.js.map +0 -1
  315. package/dist/scripts/9399-b724e4fb06-lite.chunk.js +0 -2
  316. package/dist/scripts/9399-b724e4fb06-lite.chunk.js.map +0 -1
  317. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js +0 -3
  318. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js.map +0 -1
  319. package/dist/scripts/986-e9379d557d-lite.chunk.js +0 -3
  320. package/dist/scripts/986-e9379d557d-lite.chunk.js.LICENSE.txt +0 -1
  321. package/dist/scripts/986-e9379d557d-lite.chunk.js.map +0 -1
  322. package/dist/scripts/bundle-1e1730f25e.min.js +0 -3
  323. package/dist/scripts/bundle-1e1730f25e.min.js.map +0 -1
  324. /package/dist/css/{9173-lite-b361d438f6.chunk.css → 1104-lite-b361d438f6.chunk.css} +0 -0
  325. /package/dist/css/{679-lite-00eb7dadb2.chunk.css → 2952-lite-00eb7dadb2.chunk.css} +0 -0
  326. /package/dist/css/{1867-lite-ae7bb51ed6.chunk.css → 3640-lite-ae7bb51ed6.chunk.css} +0 -0
  327. /package/dist/css/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
  328. /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.chunk.css} +0 -0
  329. /package/dist/css/{6546-lite-ae7bb51ed6.chunk.css → 5549-lite-ae7bb51ed6.chunk.css} +0 -0
  330. /package/dist/css/{8766-lite-8c5d7658ec.chunk.css → 7163-lite-8c5d7658ec.chunk.css} +0 -0
  331. /package/dist/css/{1818-lite-5ef1706d69.chunk.css → 7234-lite-5ef1706d69.chunk.css} +0 -0
  332. /package/dist/css/{6415-lite-707657102b.chunk.css → 9173-lite-707657102b.chunk.css} +0 -0
  333. /package/dist/scripts/{1329-7064e95200-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
  334. /package/dist/scripts/{1379-082bbab71a-lite.chunk.js.LICENSE.txt → 1329-850346e6e6-lite.chunk.js.LICENSE.txt} +0 -0
  335. /package/dist/scripts/{1466-735d7dad48-lite.chunk.js.LICENSE.txt → 1379-976d20185f-lite.chunk.js.LICENSE.txt} +0 -0
  336. /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1672-60a3ab42f5-lite.chunk.js.LICENSE.txt} +0 -0
  337. /package/dist/scripts/{2004-d891104ed4-lite.chunk.js.LICENSE.txt → 2004-7d1bf8b246-lite.chunk.js.LICENSE.txt} +0 -0
  338. /package/dist/scripts/{537-536e52ef91-lite.chunk.js.LICENSE.txt → 338-e21a3cd6fe-lite.chunk.js.LICENSE.txt} +0 -0
  339. /package/dist/scripts/{5562-e011962a62-lite.chunk.js.LICENSE.txt → 3532-2fed0eb7a4-lite.chunk.js.LICENSE.txt} +0 -0
  340. /package/dist/scripts/{6102-ce44fd00aa-lite.chunk.js.LICENSE.txt → 537-f63ad5863e-lite.chunk.js.LICENSE.txt} +0 -0
  341. /package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.LICENSE.txt → 6102-3ddcebe8a1-lite.chunk.js.LICENSE.txt} +0 -0
  342. /package/dist/scripts/{6489-953bb87f64-lite.chunk.js.LICENSE.txt → 624-bf0ff6257f-lite.chunk.js.LICENSE.txt} +0 -0
  343. /package/dist/scripts/{6741-ff3e4a33a5-lite.chunk.js.LICENSE.txt → 6489-9287613d14-lite.chunk.js.LICENSE.txt} +0 -0
  344. /package/dist/scripts/{8200-8a55f1631f-lite.chunk.js.LICENSE.txt → 6741-572db2d1e9-lite.chunk.js.LICENSE.txt} +0 -0
  345. /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 8200-1e4518c5d8-lite.chunk.js.LICENSE.txt} +0 -0
  346. /package/dist/scripts/{841-0c50273ad2-lite.chunk.js.LICENSE.txt → 8323-fb330a8f47-lite.chunk.js.LICENSE.txt} +0 -0
  347. /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 841-d69c7f4b4d-lite.chunk.js.LICENSE.txt} +0 -0
  348. /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-e17da8b633-lite.chunk.js.LICENSE.txt} +0 -0
  349. /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 9230-537f1fcc38-lite.chunk.js.LICENSE.txt} +0 -0
  350. /package/dist/scripts/{9395-90b87097fa-lite.chunk.js.LICENSE.txt → 9395-e9b5cdbdce-lite.chunk.js.LICENSE.txt} +0 -0
  351. /package/dist/scripts/{9478-99486906b9-lite.chunk.js.LICENSE.txt → 9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt} +0 -0
  352. /package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.LICENSE.txt → 953-bf3d621a33-lite.chunk.js.LICENSE.txt} +0 -0
  353. /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-ed1956607c-lite.chunk.js.LICENSE.txt} +0 -0
  354. /package/dist/scripts/{bundle-1e1730f25e.min.js.LICENSE.txt → bundle-9a72d04e7d.min.js.LICENSE.txt} +0 -0
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 8200-1e4518c5d8-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8200],{68293:(e,t,r)=>{r.d(t,{B:()=>d});var n=r(32735),a=["Teacher","Librarian / Teacher Librarian","Curriculum Coordinator","Digital Technology Coordinator","SSO / SLSO","IT","Head of Department","Head of Subject","Assistant Principal","Deputy Principal","Principal"],o=["Teacher","Librarian / Teacher Librarian","Head of Department","Instructional Technology Specialist","Curriculum Coordinator","School Leadership","District Leadership","Academic Coach","Principal","IT / IT Specialist"],i={au:a,nz:a,uk:["Teacher","Librarian / Teacher Librarian","IT/LRC","e-Learning/ICT Coordinator","Head of Key Stage","Head of Department","Subject Lead","Assistant Head Teacher","Deputy Head Teacher","Head Teacher"],us:o};function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(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="OTHER";function s(e,t){return t.includes(e)?e:e?u:""}function d(e){var t,r,a=e.error,c=e.onChange,d=(t=e.countryCode,r=null==t?void 0:t.toLowerCase(),i[r]||o),f=s(e.initialValue,d),m=l(n.useState(f),2),h=m[0],p=m[1],v=l(n.useState(f===u?e.initialValue:""),2),y=v[0],g=v[1];n.useEffect((function(){p(s(e.initialValue,d))}),[e.initialValue]);var b=h===u;return n.createElement("div",{className:"form-group"},n.createElement("label",{htmlFor:e.id,className:e.labelClassName},"Job title:",e.required&&n.createElement("span",{className:"text-danger"},"*")),n.createElement("div",{className:"mb-2"},n.createElement("select",{id:e.id,name:e.id,className:"form-select ".concat("lg"===e.size?"form-select-lg":""," ").concat(h.length?"text-dark":"text-secondary"," ").concat(!!a&&"is-invalid"),value:h,placeholder:"Role",onChange:function(e){p(e.target.value),g(""),c(e.target.value===u?"":e.target.value)}},n.createElement("option",{value:"",disabled:!0,className:"text-secondary"},e.placeholder?e.placeholder:n.createElement(n.Fragment,null,"What do you do?")),d.map((function(e,t){return n.createElement("option",{value:e,className:"text-dark",key:t},e)})),n.createElement("option",{value:u,className:"text-dark"},"Other")),!!a&&!b&&n.createElement("div",{className:"invalid-feedback"},a)),b&&n.createElement("div",{className:"mb-3"},n.createElement("input",{className:"form-control ".concat("lg"===e.size?"form-select-lg":""," ").concat(!!a&&"is-invalid"),type:"text",value:y,placeholder:"What do you do?",autoFocus:!0,onChange:function(e){g(e.target.value),c(e.target.value)}}),!!a&&n.createElement("div",{className:"invalid-feedback"},a)))}},12238:(e,t,r)=>{var n;r.d(t,{C:()=>n}),function(e){e.MasterId="master_id",e.CrmId="crm_id",e.SalesforceId="salesforce_id"}(n||(n={}))},76153:(e,t,r)=>{r.d(t,{F:()=>d});var n=r(63093),a=r(33003),o=r.n(a);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(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={secondary:"Secondary","primary & secondary":"Primary & Secondary",k12:"Primary & Secondary",primary:"Primary",special:"Special",university:"University",middle:"Middle","fe college":"FE College","high school":"Secondary",elementary:"Primary","middle school":"Middle",tafe:"TAFE",college:"FE College","sixth form college":"Sixth Form College"},s={england:"ENG",scotland:"SCT",wales:"WLS","northern ireland":"NIR"},d={hashedEmail:function(e){var t=e.trim().toLowerCase();return o().hash(t)},removeEmptyKeys:function(e){if(Array.isArray(e))return e;var t=Object.assign({},e);return Object.entries(t).filter((function(e){var t=l(e,2)[1];return null!=t&&!("string"==typeof t&&!t.length)})).reduce((function(e,t){var r,n,a,o=l(t,2),c=o[0],u=o[1];return Object.assign(Object.assign({},e),(r={},n=c,a=u===Object(u)?d.removeEmptyKeys(u):u,(n=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(n))in r?Object.defineProperty(r,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[n]=a,r))}),{})},getEventTopic:function(){return"Free Trial Request"},getProductFormEventType:function(){return n.ProductFormEvent.FormSubmission},getSchoolType:function(e){if(e){var t=e.toLowerCase();if(!["unknown","other"].includes(t))return u[t]||e}},parseProvince:function(e){return e.length?s[e.toLowerCase()]||e:""}}},36669:(e,t,r)=>{r.d(t,{t:()=>n});var n={currentProspect:function(){return{url:"/api/prospects/current",key:"prospect:current"}},getLookups:function(e){return{url:"/api/prospects/".concat(e,"/lookups"),key:"prospect:".concat(e)}}}},44842:(e,t,r)=>{r.d(t,{h:()=>f});var n=r(97395),a=r(12238),o=r(19808);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(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}function u(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s=/\$+[\w\s]?/,d=u(u(u(u({},o.b.AU,"02 9509 2600"),o.b.UK,"+44 (0)333 207 6595"),o.b.NZ,"09 916 1156"),o.b.US,null),f={getSalesforceId:function(e){if(e&&e.length){var t=e.find((function(e){return e.type===a.C.SalesforceId}));if(t)return t.externalId}},buildQueryData:function(e,t){var r={id:e,fname:null==t?void 0:t.givenName,sname:null==t?void 0:t.familyName,email:null==t?void 0:t.email};return Object.entries(r).filter((function(e){return!!l(e,2)[1]})).reduce((function(e,t){var r=l(t,2),n=r[0],a=r[1];return Object.assign(Object.assign({},e),u({},n,a))}),{})},getBookDemoUrl:function(e,t,r){var a=f.getSalesforceId(r),o=n._.safeUrlConcat(e,"/book-a-demo/");return n._.urlBuilder(o,f.buildQueryData(a,t))},getUpgradePageUrl:function(e,t,r){var a=f.getSalesforceId(r),o=n._.safeUrlConcat(e,"/contact-us/trial-upgrade/");return n._.urlBuilder(o,f.buildQueryData(a,t))},getContactNumber:function(e){return d[e]},validateJobTitle:function(e){return s.test(e)?{isValid:!1,errorMessage:"Please enter a valid job title."}:e.length>255?{isValid:!1,errorMessage:"Job title cannot exceed max length of 255 characters."}:{isValid:!0}}}},38200:(e,t,r)=>{r.r(t),r.d(t,{UpgradeView:()=>V});var n=r(32735),a=r(63093),o=r(23481),i=r(70624),l=r(20354),c=r(49985),u=r(65858),s=r(68293),d=r(76153),f=r(61404),m=r(50023),h=r(2786);const p={left:"cPQ38",right:"eq01J",logo:"P3dev",inverted:"B8NaM",normal:"sXO9_",close:"kM8S5"};function v(e){return n.createElement(f.Z,{show:!0,onHide:e.closePopup,onEntered:e.onEntered,size:"md"===e.size?null:e.size,contentClassName:e.contentClassName,dialogClassName:e.dialogClassName,centered:e.centered,backdrop:e.backdrop},e.showLoadingSpinner?n.createElement(m.E,null):n.createElement(f.Z.Body,{className:e.bodyClassName},n.createElement("div",{className:"bg-".concat(e.backgroundColour," ").concat(p.left),style:{backgroundImage:"url(".concat(e.backgroundImage,")")}}),n.createElement("div",{className:"".concat(p.logo," ").concat(p.inverted)},n.createElement(h.Yo,null)),n.createElement("div",{className:"".concat(p.logo," ").concat(p.normal)},n.createElement(h.$S,null)),n.createElement("div",{className:"".concat(p.right," ").concat(e.rightPanelClassName)},n.createElement("button",{type:"button",className:"btn-close ".concat(p.close),"aria-label":"Close",onClick:e.closePopup}),e.children)))}var y=r(2102),g=r(83345),b=r(60735),E=r(99940),S={checkEmail:function(e){return{url:"/api/braze/check-email",key:"braze:check:email:".concat(e),type:E.k.POST,data:{email:e}}},prospectLookups:function(e){return{url:"{gateway}/v1/prospects/".concat(e,"/lookups"),key:"prospect:lookup:".concat(e)}}},w=r(1666),N=r(31949),C=r(69883),T=r(84703),x=r(64818),k=r(99742),j=r(36669),L=r(44842);const P={modal:"pYcyR",withJobTitle:"B7QsN",submittedImage:"I1q0f",formContainer:"KhXJt"};function I(e){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function O(){O=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",l=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof y?t:y,i=Object.create(o.prototype),l=new P(n||[]);return a(i,"_invoke",{value:x(e,r,l)}),i}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var f="suspendedStart",m="suspendedYield",h="executing",p="completed",v={};function y(){}function g(){}function b(){}var E={};u(E,i,(function(){return this}));var S=Object.getPrototypeOf,w=S&&S(S(A([])));w&&w!==r&&n.call(w,i)&&(E=w);var N=b.prototype=y.prototype=Object.create(E);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){function r(a,o,i,l){var c=d(e[a],e,o);if("throw"!==c.type){var u=c.arg,s=u.value;return s&&"object"==I(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,i,l)}),(function(e){r("throw",e,i,l)})):t.resolve(s).then((function(e){u.value=e,i(u)}),(function(e){return r("throw",e,i,l)}))}l(c.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function x(t,r,n){var a=f;return function(o,i){if(a===h)throw Error("Generator is already running");if(a===p){if("throw"===o)throw i;return{value:e,done:!0}}for(n.method=o,n.arg=i;;){var l=n.delegate;if(l){var c=k(l,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=h;var u=d(t,r,n);if("normal"===u.type){if(a=n.done?p:m,u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=p,n.method="throw",n.arg=u.arg)}}}function k(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,k(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=d(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function A(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(I(t)+" is not iterable")}return g.prototype=b,a(N,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:g,configurable:!0}),g.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(N),e},t.awrap=function(e){return{__await:e}},C(T.prototype),u(T.prototype,l,(function(){return this})),t.AsyncIterator=T,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var i=new T(s(e,r,n,a),o);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},C(N),u(N,c,"Generator"),u(N,i,(function(){return this})),u(N,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=A,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return l.type="throw",l.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],l=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),L(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;L(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:A(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return F(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)?F(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(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 _=function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function i(e){try{c(n.next(e))}catch(e){o(e)}}function l(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,l)}c((n=n.apply(e,t||[])).next())}))},U=a.ProductFormEvent.TrialUpgradeRequested,D=/^\+?\d{4,255}$/,B=250,M="signUp.upgrade",R=o.T.encloseNamespace(M);function V(e){var t,r,a,f=A(n.useState(""),2),m=f[0],h=f[1],p=A(n.useState(""),2),E=p[0],I=p[1],F=A(n.useState(""),2),V=F[0],q=F[1],z=A(n.useState(""),2),G=z[0],H=z[1],K=A(n.useState(""),2),J=K[0],$=K[1],Q=A(n.useState(!1),2),W=Q[0],Y=Q[1],Z=A(n.useState("form"),2),X=Z[0],ee=Z[1],te=l.a.useBasicFetch(N.N.currentUser()),re=l.a.useBasicFetch(te.data&&N.N.user(te.data.id)),ne=l.a.useBasicFetch(te.data&&w.h.customer(te.data.customerId)),ae=l.a.useBasicFetch(j.t.currentProspect()),oe=l.a.useBasicFetch(te.data&&S.checkEmail(d.F.hashedEmail(te.data.email))),ie=(0,T.n)(),le=(0,C.Z)(),ce=(0,i.G)(b.D.BrazeClient),ue=!!(null===(a=null===(r=null===(t=re.data)||void 0===t?void 0:t.userProfile)||void 0===r?void 0:r.metadata)||void 0===a?void 0:a.jobTitle);function se(){var e,t,r,n,a,o,i,l,c,u,s,f,h,p,v,y="Trial Upgrade Request",g={email:null===(e=re.data)||void 0===e?void 0:e.email,firstName:null===(t=re.data)||void 0===t?void 0:t.name,lastName:null===(r=re.data)||void 0===r?void 0:r.surname,phone:m,custom:{jobTitle:null===(o=null===(a=null===(n=re.data)||void 0===n?void 0:n.userProfile)||void 0===a?void 0:a.metadata)||void 0===o?void 0:o.jobTitle,accountName:null===(i=te.data)||void 0===i?void 0:i.customerName,crmId:null===(l=ne.data)||void 0===l?void 0:l.crmId,orgSubType:d.F.getSchoolType(null===(c=ae.data)||void 0===c?void 0:c.prospectType),accountAddress:{countryCode:null===(u=te.data)||void 0===u?void 0:u.countryCode,province:d.F.parseProvince((null===(s=ae.data)||void 0===s?void 0:s.province)||"")},topic:y},event:{accountCity:null===(f=ae.data)||void 0===f?void 0:f.city,accountState:null===(h=ae.data)||void 0===h?void 0:h.province,contactUsComment:V,eventTopic:y}};return(null===(v=null===(p=oe.data)||void 0===p?void 0:p.users)||void 0===v?void 0:v.length)||(g.custom.syncToCrm=!0),g}function de(e){if(!e)throw fe(),new Error("Failed to send trial upgrade request.");ee("success")}function fe(){Y(!1),le.error(o.T.getPhrase(M,"saveError"))}return n.createElement(g.D.Provider,{value:M},n.createElement(v,{closePopup:e.closePopup,backgroundColour:"dark-blue",backgroundImage:ie?k.W.SignUp.UPGRADE_TRIAL_KDM:k.W.SignUp.UPGRADE_TRIAL,size:"lg",showLoadingSpinner:!te.hasCompleted||!re.hasCompleted,bodyClassName:"".concat(P.modal," ").concat(ue?"":P.withJobTitle),rightPanelClassName:"d-flex align-items-center justify-content-center",title:R("title")},"form"===X&&n.createElement("div",{className:P.formContainer},n.createElement("h1",{className:"h4"},n.createElement(g.x,{phrase:ie?"titleKdm":"title"})),n.createElement("p",null,n.createElement(g.x,{phrase:ie?"infoKdm":"info"})),n.createElement("form",{onSubmit:function(e){var t,r,n,a;return _(this,void 0,void 0,O().mark((function o(){var i,l;return O().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:e.preventDefault(),Y(!0),o.prev=2,i=ue?null===(n=null===(r=null===(t=re.data)||void 0===t?void 0:t.userProfile)||void 0===r?void 0:r.metadata)||void 0===n?void 0:n.jobTitle:G,l=se(),ce.setUser(l),c.k.logUserAction({id:null===(a=te.data)||void 0===a?void 0:a.id,jobTitle:i,phoneNumber:m,otherInformation:V,isKDM:x.l.isKDM(i)},{actionType:u.Vw.Submit,entity:u.py.User,descriptor:u.HS.RequestUpgrade,location:u.LZ.TrialBanner,eventVersion:u.eq.V2}),ce.logEvent({eventType:U,callback:de}),o.next=14;break;case 10:throw o.prev=10,o.t0=o.catch(2),fe(),new Error("Failed to send trial upgrade request.");case 14:case"end":return o.stop()}}),o,null,[[2,10]])})))}},n.createElement("div",{className:"mb-3"},n.createElement("label",{htmlFor:"phone-number"},n.createElement(g.x,{phrase:"phoneNumber"}),n.createElement("span",{className:"text-danger"},"*")),n.createElement("input",{id:"phone-number",name:"phone-number",className:"form-control form-control-lg ".concat(!!E&&"is-invalid"),type:"tel",value:m,onChange:function(e){var t=e.target.value;h(t),(null==t?void 0:t.length)?D.test(t)?E&&I(""):I("Please enter a valid phone number."):I("Please enter your phone number.")},placeholder:R("phoneNumberPlaceholder")}),!!E&&n.createElement("div",{className:"invalid-feedback"},E)),!ue&&n.createElement("div",{className:"mb-3"},n.createElement("label",{htmlFor:"upgrade-banner-job-title"},n.createElement(g.x,{phrase:"roleLabel"}),n.createElement("span",{className:"text-danger"},"*")),n.createElement(s.B,{id:"upgrade-banner-job-title",onChange:function(e){H(e);var t=L.h.validateJobTitle(e),r=t.isValid,n=t.errorMessage;r?n&&$(""):$(n)},countryCode:te.data.countryCode,placeholder:R("rolePlaceholder"),initialValue:G,error:J,size:"lg",labelClassName:"d-none"})),n.createElement("label",{htmlFor:"other-information"},n.createElement(g.x,{phrase:"otherLabel"})),n.createElement("textarea",{id:"other-information",name:"other-information",className:"form-control form-control-lg",value:V,onChange:function(e){var t=e.target.value;t.length>B||q(t)},placeholder:R("otherPlaceholder"),rows:3}),n.createElement("div",{className:"text-end mb-3"},n.createElement(g.x,{phrase:"charCount",options:{count:V.length,max:B}})),n.createElement(y.m,{type:"submit",disabled:!(ue||G&&!J)||!(m&&!E),className:"d-block w-100",size:"lg",variant:"dark",showSpinner:W},n.createElement(g.x,{phrase:"requestTrial"})))),"success"===X&&n.createElement("div",{className:"text-center ".concat(P.formContainer)},n.createElement("img",{src:k.W.SignUp.REQUEST_SUBMITTED,className:"".concat(P.submittedImage," pb-3"),alt:"",role:"presentation"}),n.createElement("h1",{className:"h4"},n.createElement(g.x,{phrase:"requestSubmitted"})),n.createElement("p",null,n.createElement(g.x,{phrase:"getBackToYou"})))))}}}]);
3
+ //# sourceMappingURL=8200-1e4518c5d8-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/8200-1e4518c5d8-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/sign-up/utils/getJobTitles.ts","file:///app/packages/libs/shared/src/apps/sign-up/components/steps/add-to-braze-step-item/JobTitleInput.tsx","file:///app/packages/libs/shared/src/apps/sign-up/enums/ProspectLookup.ts","file:///app/packages/libs/shared/src/apps/sign-up/helpers/BrazeHelper.ts","file:///app/packages/projects/lite/src/apps/sign-up/flight-requests/UpgradeRequests.ts","file:///app/packages/projects/lite/src/apps/sign-up/helpers/UpgradeHelper.ts","file:///app/packages/libs/shared/src/components/popup-launchpad/popup-launchpad.scss","file:///app/packages/libs/shared/src/components/popup-launchpad/PopupLaunchpad.tsx","file:///app/packages/libs/shared/src/flight-requests/BrazeRequests.ts","file:///app/packages/projects/lite/src/apps/sign-up/views/upgrade/upgrade-view.scss","file:///app/packages/projects/lite/src/apps/sign-up/views/upgrade/UpgradeView.tsx"],"sourcesContent":["import { AuJobTitles, JobTitles, UkJobTitles, UsJobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\n\nconst AU_JOB_TITLES: AuJobTitles[] = [\n 'Teacher',\n 'Librarian / Teacher Librarian',\n 'Curriculum Coordinator',\n 'Digital Technology Coordinator',\n 'SSO / SLSO',\n 'IT',\n 'Head of Department',\n 'Head of Subject',\n 'Assistant Principal',\n 'Deputy Principal',\n 'Principal'\n];\n\nconst UK_JOB_TITLES: UkJobTitles[] = [\n 'Teacher',\n 'Librarian / Teacher Librarian',\n 'IT/LRC',\n 'e-Learning/ICT Coordinator',\n 'Head of Key Stage',\n 'Head of Department',\n 'Subject Lead',\n 'Assistant Head Teacher',\n 'Deputy Head Teacher',\n 'Head Teacher'\n];\n\nconst US_JOB_TITLES: UsJobTitles[] = [\n 'Teacher',\n 'Librarian / Teacher Librarian',\n 'Head of Department',\n 'Instructional Technology Specialist',\n 'Curriculum Coordinator',\n 'School Leadership',\n 'District Leadership',\n 'Academic Coach',\n 'Principal',\n 'IT / IT Specialist'\n];\n\nexport const JOB_TITLES: Record<string, JobTitles[]> = {\n au: AU_JOB_TITLES,\n nz: AU_JOB_TITLES,\n uk: UK_JOB_TITLES,\n us: US_JOB_TITLES\n};\n\nexport function getJobTitles(countryCode: CountryCode): JobTitles[] {\n const code = countryCode?.toLowerCase();\n\n const titles = JOB_TITLES[code];\n\n /**\n * If we don't have a match, we're just going to fall back to US job titles\n */\n if (!titles)\n return US_JOB_TITLES;\n\n return titles;\n}","import React from 'react';\n\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { getJobTitles } from 'libs/shared/apps/sign-up/utils/getJobTitles';\nimport { CountryCode } from 'libs/shared/enums/CountryCode';\n\nconst OTHER_VALUE = 'OTHER';\n\nfunction getInitialSelection(initialValue: JobTitles | string, jobTitles: JobTitles[]): JobTitles | '' | typeof OTHER_VALUE {\n if (jobTitles.includes(initialValue as JobTitles))\n return initialValue as JobTitles;\n\n if (initialValue)\n return OTHER_VALUE;\n\n return '';\n}\n\ninterface JobTitleInputProps {\n id: string;\n error: string;\n onChange: (jobTitle: JobTitles | '') => void;\n countryCode: CountryCode;\n placeholder?: string;\n initialValue?: JobTitles | string;\n size?: 'lg'\n labelClassName?: string;\n required?: boolean;\n}\n\nexport function JobTitleInput(props: JobTitleInputProps): JSX.Element {\n const {\n error,\n onChange,\n countryCode\n } = props;\n\n const jobTitles = getJobTitles(countryCode);\n\n const initialSelection = getInitialSelection(props.initialValue, jobTitles);\n\n const [ selection, setSelection ] = React.useState<JobTitles | '' | typeof OTHER_VALUE>(initialSelection);\n const [ other, setOther ] = React.useState(initialSelection === OTHER_VALUE ? props.initialValue : '');\n\n React.useEffect(() => {\n setSelection(getInitialSelection(props.initialValue, jobTitles));\n }, [props.initialValue]);\n\n function onChangeSelection(event: React.ChangeEvent<HTMLSelectElement>): void {\n setSelection(event.target.value as JobTitles);\n setOther('');\n onChange(event.target.value === OTHER_VALUE ? '' : event.target.value as JobTitles);\n }\n\n function onChangeOther(event: React.ChangeEvent<HTMLInputElement>): void {\n setOther(event.target.value);\n onChange(event.target.value as JobTitles);\n }\n\n const showOther = selection === OTHER_VALUE;\n\n return (\n <div className='form-group'>\n <label htmlFor={props.id} className={props.labelClassName}>\n Job title:\n {props.required && <span className='text-danger'>*</span>}\n </label>\n <div className='mb-2'>\n <select\n id={props.id}\n name={props.id}\n className={`form-select ${props.size === 'lg' ? 'form-select-lg' : ''} ${selection.length ? 'text-dark' : 'text-secondary'} ${!!error && 'is-invalid'}`}\n value={selection}\n placeholder='Role'\n onChange={onChangeSelection}\n >\n <option value='' disabled className='text-secondary'>\n {props.placeholder ? props.placeholder : <>What do you do?</>}\n </option>\n {jobTitles.map((title, key) => <option value={title} className='text-dark' key={key}>{title}</option>)}\n <option value={OTHER_VALUE} className='text-dark'>Other</option>\n </select>\n {!!error && !showOther && <div className='invalid-feedback'>{error}</div>}\n </div>\n {showOther &&\n <div className='mb-3'>\n <input\n className={`form-control ${props.size === 'lg' ? 'form-select-lg' : ''} ${!!error && 'is-invalid'}`}\n type='text'\n value={other}\n placeholder='What do you do?'\n autoFocus\n onChange={onChangeOther}\n />\n {!!error && <div className='invalid-feedback'>{error}</div>}\n </div>\n }\n </div>\n );\n}","/**\n * There are more lookup types than this, but these are the only\n * ones the product should really care about - Sha\n */\nexport enum ProspectLookupType {\n MasterId = 'master_id',\n CrmId = 'crm_id',\n SalesforceId = 'salesforce_id'\n}\n\nexport interface ProspectLookup {\n prospectId: string;\n externalId: string;\n type: ProspectLookupType;\n}","import { ProductFormEvent } from '@clickview/braze-client';\nimport SparkMD5 from 'spark-md5';\n\nimport type { HashObject } from 'libs/analytics/interfaces';\n\nconst SCHOOL_TYPE_MAP: HashObject<string> = {\n 'secondary': 'Secondary',\n 'primary & secondary': 'Primary & Secondary',\n 'k12': 'Primary & Secondary',\n 'primary': 'Primary',\n 'special': 'Special',\n 'university': 'University',\n 'middle': 'Middle',\n 'fe college': 'FE College',\n 'high school': 'Secondary',\n 'elementary': 'Primary',\n 'middle school': 'Middle',\n 'tafe': 'TAFE',\n 'college': 'FE College',\n 'sixth form college': 'Sixth Form College'\n};\n\nconst PROVINCE_ISO_MAP: HashObject<string> = {\n 'england': 'ENG',\n 'scotland': 'SCT',\n 'wales': 'WLS',\n 'northern ireland': 'NIR'\n};\n\nexport interface BrazeCheckEmailResponse {\n invalidUserIds: string[];\n message: string;\n users: HashObject[];\n}\n\nexport const BrazeHelper = {\n\n hashedEmail(email: string) {\n const normalizedEmail = email.trim().toLowerCase();\n return SparkMD5.hash(normalizedEmail);\n },\n\n removeEmptyKeys(object: HashObject<any>): HashObject<any> {\n if (Array.isArray(object))\n return object;\n\n const payload = { ...object };\n return Object.entries(payload)\n .filter(([ , v ]) => {\n if (v === undefined || v === null) {\n return false;\n }\n if (typeof v === 'string' && !v.length) {\n return false;\n }\n return true;\n })\n .reduce(\n (acc, [ k, v ]) => ({ ...acc, [k]: v === Object(v) ? BrazeHelper.removeEmptyKeys(v) : v }),\n {}\n );\n },\n\n getEventTopic(): string {\n return 'Free Trial Request';\n },\n\n getProductFormEventType() {\n return ProductFormEvent.FormSubmission;\n },\n\n getSchoolType(schoolType: string): string {\n if (!schoolType) return;\n\n const prospectType = schoolType.toLowerCase();\n\n if ([ 'unknown', 'other' ].includes(prospectType)) return;\n \n const mappedSchoolType = SCHOOL_TYPE_MAP[prospectType];\n if (mappedSchoolType)\n return mappedSchoolType;\n \n return schoolType;\n },\n\n parseProvince(province?: string): string {\n if (!province.length) return '';\n\n const mappedProvince = PROVINCE_ISO_MAP[province.toLowerCase()];\n return mappedProvince || province;\n }\n};","import { Flight } from 'libs/common/flight';\n\nexport const UpgradeRequests = {\n currentProspect(): Flight.Request {\n return {\n url: '/api/prospects/current',\n key: 'prospect:current'\n };\n },\n getLookups(prospectId: string): Flight.Request {\n return {\n url: `/api/prospects/${prospectId}/lookups`,\n key: `prospect:${prospectId}`\n };\n }\n};","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\nimport { ProspectLookup, ProspectLookupType } from 'libs/shared/apps/sign-up/enums/ProspectLookup';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nconst BASE_DEMO_PATH = '/book-a-demo/';\nconst BASE_UPGRADE_PATH = '/contact-us/trial-upgrade/';\n\nconst INVALID_JOB_TITLE_REGEX = /\\$+[\\w\\s]?/;\n/**\n * TODO: Should we phone numbers to the config?\n */\nconst CONTACT_NUMBERS = {\n [InstanceRegion.AU]: '02 9509 2600',\n [InstanceRegion.UK]: '+44 (0)333 207 6595',\n [InstanceRegion.NZ]: '09 916 1156',\n [InstanceRegion.US]: null as string\n};\n\nexport const UpgradeHelper = {\n getSalesforceId(lookup: ProspectLookup[]) {\n if (!lookup || !lookup.length) return;\n \n const sfAccountLookup = lookup.find(item => item.type === ProspectLookupType.SalesforceId);\n \n if (!sfAccountLookup) return;\n \n return sfAccountLookup.externalId;\n },\n\n buildQueryData(salesforceId: string, currentUser: CurrentUser) {\n const queryData = {\n id: salesforceId,\n fname: currentUser?.givenName,\n sname: currentUser?.familyName,\n email: currentUser?.email\n };\n return Object.entries(queryData)\n .filter(([ , v ]) => !!v)\n .reduce((acc, [ k, v ]) => ({ ...acc, [k]: v }), {});\n },\n\n getBookDemoUrl(marketingSiteUrl: string, currentUser: CurrentUser, lookups: ProspectLookup[]) {\n const salesforceId = UpgradeHelper.getSalesforceId(lookups);\n \n const demoPath = UrlHelper.safeUrlConcat(marketingSiteUrl, BASE_DEMO_PATH);\n return UrlHelper.urlBuilder(demoPath, UpgradeHelper.buildQueryData(salesforceId, currentUser));\n },\n\n getUpgradePageUrl(marketingSiteUrl: string, currentUser: CurrentUser, lookups: ProspectLookup[]) {\n const salesforceId = UpgradeHelper.getSalesforceId(lookups);\n \n const upgradePath = UrlHelper.safeUrlConcat(marketingSiteUrl, BASE_UPGRADE_PATH);\n return UrlHelper.urlBuilder(upgradePath, UpgradeHelper.buildQueryData(salesforceId, currentUser));\n },\n\n getContactNumber(instanceRegion: InstanceRegion) {\n return CONTACT_NUMBERS[instanceRegion];\n },\n\n validateJobTitle(jobTitle: JobTitles | '') {\n if (INVALID_JOB_TITLE_REGEX.test(jobTitle)) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid job title.'\n };\n }\n\n if (jobTitle.length > 255) {\n return {\n isValid: false,\n errorMessage: 'Job title cannot exceed max length of 255 characters.'\n };\n }\n\n return {\n isValid: true\n };\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"left\":\"cPQ38\",\"right\":\"eq01J\",\"logo\":\"P3dev\",\"inverted\":\"B8NaM\",\"normal\":\"sXO9_\",\"close\":\"kM8S5\"};","import React from 'react';\nimport { Modal } from 'react-bootstrap';\n\nimport { PopupProps } from '../popup/Popup';\nimport { PopupLoadingSpinner } from '../popup/PopupLoadingSpinner';\nimport { ClickViewLogo, ClickViewLogoInverted } from '../svgs/clickview-logo/ClickViewLogo';\n\nimport styles from './popup-launchpad.scss';\n\ninterface PopupLaunchpadProps extends PopupProps {\n backgroundColour: string;\n backgroundImage: string;\n\n rightPanelClassName?: string;\n}\n\nexport function PopupLaunchpad(props: React.PropsWithChildren<PopupLaunchpadProps>): JSX.Element {\n return (\n <Modal\n show\n onHide={props.closePopup}\n onEntered={props.onEntered}\n size={props.size === 'md' ? null : props.size}\n contentClassName={props.contentClassName}\n dialogClassName={props.dialogClassName}\n centered={props.centered}\n backdrop={props.backdrop}\n >\n {props.showLoadingSpinner\n ? <PopupLoadingSpinner />\n : (\n <Modal.Body className={props.bodyClassName}>\n <div\n className={`bg-${props.backgroundColour} ${styles.left}`}\n style={{ backgroundImage: `url(${props.backgroundImage})` }}\n />\n <div className={`${styles.logo} ${styles.inverted}`}>\n <ClickViewLogoInverted />\n </div>\n <div className={`${styles.logo} ${styles.normal}`}>\n <ClickViewLogo />\n </div>\n <div className={`${styles.right} ${props.rightPanelClassName}`}>\n <button\n type='button'\n className={`btn-close ${styles.close}`}\n aria-label='Close'\n onClick={props.closePopup}\n />\n {props.children}\n </div>\n </Modal.Body>\n )\n }\n </Modal>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/react/index';\n\nexport const BrazeRequests = {\n checkEmail(email: string): Flight.Request {\n return {\n url: '/api/braze/check-email',\n key: `braze:check:email:${email}`,\n type: HttpVerbs.POST,\n data: {\n email\n }\n };\n },\n\n prospectLookups(prospectId: string): Flight.Request {\n return {\n url: `{gateway}/v1/prospects/${prospectId}/lookups`,\n key: `prospect:lookup:${prospectId}`\n };\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"pYcyR\",\"withJobTitle\":\"B7QsN\",\"submittedImage\":\"I1q0f\",\"formContainer\":\"KhXJt\"};","import React from 'react';\nimport { BrazeUser, ProductFormEvent } from '@clickview/braze-client';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useInstanceSafe } from 'libs/common/react/hooks/UseInstance';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, EventVersion, LocationContext, UpgradeBannerDescriptors, UserAction } from 'libs/analytics/interfaces';\n\nimport { JobTitleInput } from 'libs/shared/apps/sign-up/components/steps/add-to-braze-step-item/JobTitleInput';\nimport { BrazeCheckEmailResponse, BrazeHelper } from 'libs/shared/apps/sign-up/helpers/BrazeHelper';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { PopupLaunchpad } from 'libs/shared/components/popup-launchpad/PopupLaunchpad';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { SharedServices } from 'libs/shared/constants/SharedServices';\nimport { BrazeRequests } from 'libs/shared/flight-requests/BrazeRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useIsKDM } from 'libs/shared/hooks/UseIsKdm';\nimport { CurrentUser, Customer, PopupViewProps, User } from 'libs/shared/interfaces';\nimport { Prospect } from 'libs/shared/interfaces/models/Prospect';\nimport { BrazeClientService } from 'libs/shared/services/BrazeClientService';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport { UpgradeRequests } from 'apps/sign-up/flight-requests/UpgradeRequests';\nimport { UpgradeHelper } from 'apps/sign-up/helpers/UpgradeHelper';\n\nimport styles from './upgrade-view.scss';\n\n// @todo braze\nconst BRAZE_EVENT_TYPE = ProductFormEvent.TrialUpgradeRequested;\nconst PHONE_REGEX = /^\\+?\\d{4,255}$/;\nconst MAX_OTHER_INFO_COUNT = 250;\n\nconst namespace = 'signUp.upgrade';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function UpgradeView(props: PopupViewProps): JSX.Element {\n const [ phoneNumber, setPhoneNumber ] = React.useState<string>('');\n const [ phoneNumberError, setPhoneNumberError ] = React.useState<string>('');\n const [ otherInformation, setOtherInformation ] = React.useState<string>('');\n const [ formJobTitle, setFormJobTitle ] = React.useState<JobTitles | ''>('');\n const [ jobTitleError, setJobTitleError ] = React.useState<string>('');\n const [ showSpinner, setShowSpinner ] = React.useState(false);\n\n const [ step, setStep ] = React.useState<'form' | 'success'>('form');\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const userDetails = Flight.useBasicFetch<User>(currentUser.data && UserRequests.user(currentUser.data.id));\n const customer = Flight.useBasicFetch<Customer>(\n currentUser.data && CustomerRequests.customer(currentUser.data.customerId)\n );\n const prospect = Flight.useBasicFetch<Prospect>(UpgradeRequests.currentProspect());\n const emailCheck = Flight.useBasicFetch<BrazeCheckEmailResponse>(\n currentUser.data && BrazeRequests.checkEmail(BrazeHelper.hashedEmail(currentUser.data.email))\n );\n\n const isKdm = useIsKDM();\n\n const alerts = useAlerts();\n\n const brazeClient = useInstanceSafe<BrazeClientService>(SharedServices.BrazeClient);\n\n const hasJobTitle = !!userDetails.data?.userProfile?.metadata?.jobTitle;\n\n function onChangeJobTitle(value: JobTitles | ''): void {\n setFormJobTitle(value);\n\n const { isValid, errorMessage } = UpgradeHelper.validateJobTitle(value);\n\n if (!isValid) {\n setJobTitleError(errorMessage);\n return;\n }\n\n if (errorMessage)\n setJobTitleError('');\n }\n\n function onChangePhoneNumber(e: React.ChangeEvent<HTMLInputElement>): void {\n const value = e.target.value;\n\n setPhoneNumber(value);\n\n if (!value?.length) {\n setPhoneNumberError('Please enter your phone number.');\n return;\n }\n\n if (!PHONE_REGEX.test(value)) {\n setPhoneNumberError('Please enter a valid phone number.');\n return;\n }\n\n if (phoneNumberError)\n setPhoneNumberError('');\n }\n\n function onChangeOtherInfo(e: React.ChangeEvent<HTMLTextAreaElement>): void {\n const value = e.target.value;\n\n if (value.length > MAX_OTHER_INFO_COUNT)\n return;\n\n setOtherInformation(value);\n }\n\n function getBrazeUser(): BrazeUser {\n const topic = 'Trial Upgrade Request';\n\n const brazeUser: BrazeUser = {\n email: userDetails.data?.email,\n firstName: userDetails.data?.name,\n lastName: userDetails.data?.surname,\n phone: phoneNumber,\n custom: {\n jobTitle: userDetails.data?.userProfile?.metadata?.jobTitle,\n accountName: currentUser.data?.customerName,\n crmId: customer.data?.crmId,\n orgSubType: BrazeHelper.getSchoolType(prospect.data?.prospectType),\n accountAddress: {\n countryCode: currentUser.data?.countryCode,\n province: BrazeHelper.parseProvince(prospect.data?.province || '')\n },\n topic\n },\n event: {\n accountCity: prospect.data?.city,\n accountState: prospect.data?.province,\n contactUsComment: otherInformation,\n eventTopic: topic\n }\n };\n\n if (!emailCheck.data?.users?.length) {\n brazeUser.custom.syncToCrm = true;\n }\n\n return brazeUser;\n }\n\n function handleAfterSubmission(success: boolean) {\n if (!success) {\n onSaveError();\n throw new Error('Failed to send trial upgrade request.');\n }\n\n setStep('success');\n }\n\n async function onSubmit(e: React.FormEvent): Promise<void> {\n e.preventDefault();\n setShowSpinner(true);\n\n try {\n const jobTitle = hasJobTitle ? userDetails.data?.userProfile?.metadata?.jobTitle : formJobTitle;\n\n const brazeUser = getBrazeUser();\n\n brazeClient.setUser(brazeUser);\n\n AnalyticsHelper.logUserAction(\n {\n id: currentUser.data?.id,\n jobTitle,\n phoneNumber,\n otherInformation,\n isKDM: UserHelper.isKDM(jobTitle)\n },\n {\n actionType: UserAction.Submit,\n entity: EntityType.User,\n descriptor: UpgradeBannerDescriptors.RequestUpgrade,\n location: LocationContext.TrialBanner,\n eventVersion: EventVersion.V2\n }\n );\n\n brazeClient.logEvent({\n eventType: BRAZE_EVENT_TYPE,\n callback: handleAfterSubmission\n });\n } catch {\n onSaveError();\n throw new Error('Failed to send trial upgrade request.');\n }\n }\n\n function onSaveError(): void {\n setShowSpinner(false);\n alerts.error(LanguageService.getPhrase(namespace, 'saveError'));\n }\n\n function isLoading(): boolean {\n return !currentUser.hasCompleted || !userDetails.hasCompleted;\n }\n\n function disableNext(): boolean {\n if (!hasJobTitle && (!formJobTitle || !!jobTitleError))\n return true;\n\n if (!phoneNumber || !!phoneNumberError)\n return true;\n\n return false;\n }\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <PopupLaunchpad\n closePopup={props.closePopup}\n backgroundColour='dark-blue'\n backgroundImage={isKdm ? ImageUrls.SignUp.UPGRADE_TRIAL_KDM : ImageUrls.SignUp.UPGRADE_TRIAL}\n size='lg'\n showLoadingSpinner={isLoading()}\n bodyClassName={`${styles.modal} ${!hasJobTitle ? styles.withJobTitle : ''}`}\n rightPanelClassName='d-flex align-items-center justify-content-center'\n title={getPhrase('title')}\n >\n {step === 'form' && (\n <div className={styles.formContainer}>\n <h1 className='h4'>\n <Text phrase={isKdm ? 'titleKdm' : 'title'} />\n </h1>\n <p>\n <Text phrase={isKdm ? 'infoKdm' : 'info'} />\n </p>\n\n <form onSubmit={onSubmit}>\n <div className='mb-3'>\n <label htmlFor='phone-number'>\n <Text phrase='phoneNumber' />\n <span className='text-danger'>*</span>\n </label>\n <input\n id='phone-number'\n name='phone-number'\n className={`form-control form-control-lg ${!!phoneNumberError && 'is-invalid'}`}\n type='tel'\n value={phoneNumber}\n onChange={onChangePhoneNumber}\n placeholder={getPhrase('phoneNumberPlaceholder')}\n />\n {!!phoneNumberError && <div className='invalid-feedback'>{phoneNumberError}</div>}\n </div>\n\n {!hasJobTitle && (\n <div className='mb-3'>\n <label htmlFor='upgrade-banner-job-title'>\n <Text phrase='roleLabel' />\n <span className='text-danger'>*</span>\n </label>\n <JobTitleInput\n id='upgrade-banner-job-title'\n onChange={onChangeJobTitle}\n countryCode={currentUser.data.countryCode}\n placeholder={getPhrase('rolePlaceholder')}\n initialValue={formJobTitle}\n error={jobTitleError}\n size='lg'\n labelClassName='d-none'\n />\n </div>\n )}\n\n <label htmlFor='other-information'>\n <Text phrase='otherLabel' />\n </label>\n <textarea\n id='other-information'\n name='other-information'\n className='form-control form-control-lg'\n value={otherInformation}\n onChange={onChangeOtherInfo}\n placeholder={getPhrase('otherPlaceholder')}\n rows={3}\n ></textarea>\n <div className='text-end mb-3'>\n <Text phrase='charCount' options={{ count: otherInformation.length, max: MAX_OTHER_INFO_COUNT }} />\n </div>\n\n <SpinnerButton\n type='submit'\n disabled={disableNext()}\n className='d-block w-100'\n size='lg'\n variant='dark'\n showSpinner={showSpinner}\n >\n <Text phrase='requestTrial' />\n </SpinnerButton>\n </form>\n </div>\n )}\n\n {step === 'success' && (\n <div className={`text-center ${styles.formContainer}`}>\n <img\n src={ImageUrls.SignUp.REQUEST_SUBMITTED}\n className={`${styles.submittedImage} pb-3`}\n alt=''\n role='presentation'\n />\n\n <h1 className='h4'>\n <Text phrase='requestSubmitted' />\n </h1>\n\n <p>\n <Text phrase='getBackToYou' />\n </p>\n </div>\n )}\n </PopupLaunchpad>\n </LanguageNamespaceContext.Provider>\n );\n}\n"],"names":["AU_JOB_TITLES","US_JOB_TITLES","JOB_TITLES","au","nz","uk","us","OTHER_VALUE","getInitialSelection","initialValue","jobTitles","includes","JobTitleInput","props","countryCode","code","error","onChange","toLowerCase","initialSelection","selection","setSelection","other","setOther","showOther","className","htmlFor","id","labelClassName","required","name","size","length","value","placeholder","event","target","disabled","map","title","key","type","autoFocus","ProspectLookupType","SCHOOL_TYPE_MAP","PROVINCE_ISO_MAP","BrazeHelper","hashedEmail","email","normalizedEmail","trim","removeEmptyKeys","object","Array","isArray","payload","Object","entries","filter","v","reduce","acc","k","getEventTopic","getProductFormEventType","ProductFormEvent","getSchoolType","schoolType","prospectType","parseProvince","province","UpgradeRequests","currentProspect","url","getLookups","prospectId","INVALID_JOB_TITLE_REGEX","CONTACT_NUMBERS","UpgradeHelper","getSalesforceId","lookup","sfAccountLookup","find","item","externalId","buildQueryData","salesforceId","currentUser","queryData","fname","givenName","sname","familyName","getBookDemoUrl","marketingSiteUrl","lookups","demoPath","getUpgradePageUrl","upgradePath","getContactNumber","instanceRegion","validateJobTitle","jobTitle","test","isValid","errorMessage","PopupLaunchpad","Modal","show","onHide","closePopup","onEntered","contentClassName","dialogClassName","centered","backdrop","showLoadingSpinner","PopupLoadingSpinner","bodyClassName","backgroundColour","style","backgroundImage","ClickViewLogo","rightPanelClassName","onClick","children","BrazeRequests","checkEmail","HttpVerbs","data","prospectLookups","BRAZE_EVENT_TYPE","PHONE_REGEX","MAX_OTHER_INFO_COUNT","namespace","getPhrase","LanguageService","UpgradeView","phoneNumber","setPhoneNumber","phoneNumberError","setPhoneNumberError","otherInformation","setOtherInformation","formJobTitle","setFormJobTitle","jobTitleError","setJobTitleError","showSpinner","setShowSpinner","step","setStep","UserRequests","userDetails","customer","CustomerRequests","customerId","prospect","emailCheck","isKdm","alerts","brazeClient","SharedServices","hasJobTitle","userProfile","metadata","getBrazeUser","topic","brazeUser","firstName","lastName","surname","phone","custom","accountName","customerName","crmId","orgSubType","accountAddress","accountCity","city","accountState","contactUsComment","eventTopic","users","syncToCrm","handleAfterSubmission","success","onSaveError","Error","ImageUrls","hasCompleted","Text","phrase","onSubmit","e","preventDefault","setUser","AnalyticsHelper","isKDM","UserHelper","actionType","entity","descriptor","location","eventVersion","logEvent","eventType","callback","rows","options","count","max","SpinnerButton","variant","src","alt","role"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 8323-fb330a8f47-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8323],{58703:(e,t,r)=>{r.d(t,{N:()=>O,d:()=>F});var n=r(32735),a=r(23481),o=r(81886),i=r(2948),l=r(49985),c=r(65858),u=r(36848),s=r(83345),d=r(38143);function f(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="userManager.userWizardBackButtons";function p(e){var t,r,a=(t=(0,i.D)(d.g.BULK_USER_ACTIONS),r=1,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,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(t,r)||function(e,t){if(e){if("string"==typeof e)return f(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)?f(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.")}())[0];return"status"===e.currentStep?n.createElement(n.Fragment,null):n.createElement(u.F,{className:"btn btn-link me-2",appLink:function(){switch(e.currentStep){case"review-accounts":return e.appLinks.userManager;case"select-action":return e.appLinks.bulkActionsReviewAccounts;case"action-details":return e.appLinks.bulkActionsSelectAction;case"confirmation":return function(){if(!(null==a?void 0:a.action))return null;switch(a.action){case"delete":return e.appLinks.bulkActionsActionDetails.delete;case"activation":return e.appLinks.bulkActionsActionDetails.activation;case"yearGroupRollover":return e.appLinks.bulkActionsActionDetails.yearGroupRollover;case"changeYearGroup":return e.appLinks.bulkActionsActionDetails.changeYearGroup;case"addToClassroom":return e.appLinks.bulkActionsActionDetails.addToClassroom;case"resetPassword":return e.appLinks.bulkActionsActionDetails.resetPassword;case"resetEmail":case"activationEmail":return e.appLinks.bulkActionsSelectAction;case"removeFromSchool":return e.appLinks.bulkActionsActionDetails.removeFromSchool}}()}}()},n.createElement(s.x,{namespace:m,phrase:"review-accounts"===e.currentStep?"cancel":"back"}))}var h=r(12458),v=r(149),y=r(17291),b=r(79352),g=r(96728),k=r(76881),E=r(89476),A=r(98269),w=r(56050),S=r(24453);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 x="userManager.userWizardHeader";function C(e){var t,r,a=(t=(0,i.D)(d.g.BULK_USER_ACTIONS),r=1,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,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(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.")}())[0],l=n.useContext(g.e),c=l.disableNext,f=l.onClickConfirm,m=l.showButtons;return S.O.getCurrentContext().appLink.action===e.appLinks.bulkActionsStatus.complete.action&&m?n.createElement(u.F,{className:"btn btn-dark ".concat(c?"disabled":""),appLink:e.appLinks.userManager,disabled:c,onClick:e.onFinish},n.createElement(s.x,{namespace:x,phrase:"finish"})):"confirmation"===e.currentStep?n.createElement(A.Z,{className:c?"disabled":"",variant:"dark",onClick:function(){h.I.onClickNext(a,e.currentStep),f()},disabled:c},n.createElement(s.x,{namespace:x,phrase:"confirm"})):"status"===e.currentStep?n.createElement(n.Fragment,null):n.createElement(u.F,{className:"btn btn-dark ".concat(c?"disabled":""),appLink:function(){switch(e.currentStep){case"review-accounts":return e.appLinks.bulkActionsSelectAction;case"select-action":return function(){if(!(null==a?void 0:a.action))return null;switch(a.action){case"delete":return e.appLinks.bulkActionsActionDetails.delete;case"activation":return e.appLinks.bulkActionsActionDetails.activation;case"yearGroupRollover":return e.appLinks.bulkActionsActionDetails.yearGroupRollover;case"changeYearGroup":return e.appLinks.bulkActionsActionDetails.changeYearGroup;case"addToClassroom":return e.appLinks.bulkActionsActionDetails.addToClassroom;case"resetPassword":return e.appLinks.bulkActionsActionDetails.resetPassword;case"resetEmail":return e.appLinks.bulkActionsConfirmation.resetEmail;case"activationEmail":return e.appLinks.bulkActionsConfirmation.activationEmail;case"removeFromSchool":return e.appLinks.bulkActionsActionDetails.removeFromSchool}o.Q.Ry.throw(new w.H("Missing switch statement case for ".concat(a.action," in BulkUserActionsContinueButton.tsx")))}();case"action-details":return e.appLinks.bulkActionsConfirmation[null==a?void 0:a.subAction];default:return null}}(),onClick:function(){return h.I.onClickNext(a,e.currentStep)},disabled:c},n.createElement(s.x,{namespace:x,phrase:"next"}))}function I(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background mb-2",style:{height:"1.75rem",width:"15rem"}}),n.createElement("div",{className:"partial-loading-background mb-3",style:{height:"1.5rem",width:"12rem"}}),n.createElement("div",{className:"partial-loading-background mb-2",style:{height:"8em",width:"40rem"}}))}const N={wizardContent:"UBwkq"};function T(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 j="userManager.bulkUserActionsWizardLayout",O="bulk-user-actions-wizard";function F(e){var t,r,u,s=(r=(0,i.D)(d.g.BULK_USER_ACTIONS),u=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(r,u)||function(e,t){if(e){if("string"==typeof e)return T(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)?T(e,t):void 0}}(r,u)||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.")}()),f=s[0],m=s[1],A=(0,E.f)();function w(){var t,r;if(f){var n={step:e.currentStep,userCount:null!==(r=null===(t=null==f?void 0:f.userIdMap)||void 0===t?void 0:t.size)&&void 0!==r?r:0},a=h.I.getAnalyticsActionName(f);a&&(n.action=a),l.k.logUserAction(n,{workflowPhase:c.eu.Discard,actionType:c.Vw.BulkAction,location:c.LZ.BulkUserActionsWizard,entity:c.py.User})}}n.useEffect((function(){var t;return(null===(t=null==f?void 0:f.userIdMap)||void 0===t?void 0:t.size)||e.preventRedirect?e.preventNavLock?void 0:(A.lock({id:O,title:a.T.getPhrase(j,"navLockTitle"),text:a.T.getPhrase(j,"navLockBody"),appLinkWhitelist:v.b.getWizardAppLinks(e.appLinks),onConfirmUnlock:function(){w(),m({})}}),function(){A.unlock(O)}):(o.Q.C$.trigger(e.appLinks.userManager,{replace:!0}),void w())}),[]);var S=e.loaded&&!!(null===(t=e.users)||void 0===t?void 0:t.length);return n.createElement(g.D,null,n.createElement("div",{className:"px-3"},n.createElement(y.C,{title:a.T.getPhrase(j,"bulkActions"),currentStep:e.currentStep,hideHeader:e.hideHeader,loaded:e.loaded,continueButton:n.createElement(C,{currentStep:e.currentStep,appLinks:e.appLinks,onFinish:function(){m({})}}),backButton:n.createElement(p,{currentStep:e.currentStep,appLinks:e.appLinks}),breadcrumbs:[{name:a.T.getPhrase(j,"settingsBreadcrumb"),appLink:e.appLinks.settings},{name:a.T.getPhrase(j,e.userType===k.Y.Learner?"studentManager":"staffManager"),appLink:e.appLinks.userManager},{name:a.T.getPhrase(j,"bulkActions"),active:!0}]}),n.createElement("div",{className:"row g-0"},n.createElement("div",{className:"col-3"},n.createElement(b.a,{steps:v.b.getSteps(e.userType,e.userCount,e.appLinks,null==f?void 0:f.action),currentStep:e.currentStep,disableAppLinks:!S||e.disableAppLinks})),n.createElement("div",{className:"col-9 ".concat(N.wizardContent)},S?e.children:n.createElement(I,null)))))}},12458:(e,t,r)=>{r.d(t,{I:()=>c});var n=r(1048),a=r(49985),o=r(65858),i=r(58739),l=["userIdMap","params","action","subAction","allUsersSelected","allUsersCount","scrollContainer"],c={getAnalyticsActionName:function(e){if(!(null==e?void 0:e.action))return null;switch(e.action){case"activation":return(null==e?void 0:e.subAction)?"deactivate"===e.subAction?"Deactivate":"Reactivate":"Deactivate / reactivate";case"addToClassroom":return"Add to classroom";case"changeYearGroup":return"Change year group";case"delete":return"Delete user";case"resetEmail":return"Send password reset email";case"activationEmail":return"Send account activation email";case"resetPassword":return"Reset password";case"yearGroupRollover":return"Annual year group rollover";case"removeFromSchool":return"Remove user";default:return null}},onClickNext:function(e,t){if(e){var r={userCount:e.userIdMap.size,step:t},i=c.getAnalyticsActionName(e);i&&(r.action=i);var u=n.t.omit(e,l);Object.keys(u).length&&(r.actionData=u),a.k.logUserAction(r,{location:o.LZ.BulkUserActionsWizard,workflowPhase:o.eu.Next,actionType:o.Vw.BulkAction,entity:o.py.User})}},logYearGroupRolloverEntry:function(e){a.k.logUserAction({action:c.getAnalyticsActionName({action:"yearGroupRollover"})},{entity:o.py.User,actionType:o.Vw.BulkAction,workflowPhase:o.eu.Start,location:e})},getJobStatus:function(e){switch(e){case i.K.Completed:return"Success";case i.K.CompletedWithError:return"Completed with some errors";case i.K.Failed:return"Failed";default:return null}}}},49935:(e,t,r)=>{r.d(t,{Oo:()=>f,b2:()=>m});var n=r(32735),a=r(36848),o=r(86764),i=r(3747),l=r(5859),c=r(35223),u=r(83914);function s(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 d=function(e){var t=e.breadcrumb,r=t.name,o=t.appLink,i=t.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(i?" active":"")},i?n.createElement("strong",null,r):n.createElement(a.F,{appLink:o},l&&n.createElement(u.x,{svgName:c.vn.ChevronLeft,size:u.S.Small}),n.createElement("span",{className:l?"ms-2":""},r)))},f=function(e){var t,r,a=e.breadcrumbs,l=(0,i.a)(o.r.XS),c=(null==a?void 0:a.length)||0,u=(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,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(t,r)||function(e,t){if(e){if("string"==typeof e)return s(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)?s(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.")}()),f=u[0],m=u[1];if(n.useEffect((function(){var e,t=null!==(e=null==a?void 0:a.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;c>3&&t>56&&m(!0)}),[null==a?void 0:a.length]),!c||l&&c<2)return n.createElement(n.Fragment,null);if(l)return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(d,{breadcrumb:a[c-2],withBackIcon:!0})));var p=n.createElement(d,{breadcrumb:a[0]}),h=c>2?n.createElement(d,{breadcrumb:a[c-2]}):n.createElement(n.Fragment,null),v=n.createElement(d,{breadcrumb:a[c-1]}),y=a.slice(1,c-2);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},p,f?n.createElement("li",{className:"breadcrumb-item"},n.createElement("button",{className:"btn-link",onClick:function(){return m(!1)}},"...")):y.map((function(e,t){return n.createElement(d,{key:t,breadcrumb:e})})),h,v))},m=n.memo((function(e){var t=e.numItems,r=void 0===t?3:t;return(0,i.a)(o.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.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"}}))}))))}))},17291:(e,t,r)=>{r.d(t,{C:()=>i});var n=r(32735),a=r(49935),o=r(96728);function i(e){var t=n.useContext(o.e).showButtons;return n.createElement("div",{className:"d-flex justify-content-between"},e.hideHeader?n.createElement("div",null):n.createElement("div",null,n.createElement("h1",{className:"h2"},e.title),e.breadcrumbs&&n.createElement("div",{className:"pb-3"},n.createElement(a.Oo,{breadcrumbs:e.breadcrumbs}))),e.loaded&&t&&n.createElement("div",{className:"d-flex align-items-center"},e.backButton,e.continueButton))}},79352:(e,t,r)=>{r.d(t,{a:()=>c});var n=r(32735),a=r(23481),o=r(36848),i=a.T.encloseNamespace("shared.wizardStepList");function l(e){var t=n.createElement(n.Fragment,null,n.createElement("div",{className:"d-flex"},!e.hideStepNumber&&n.createElement("div",{className:"flex-shrink-0 flex-grow-0"},"".concat(e.index+1,".")," "),n.createElement("div",null,e.text)),e.subText&&n.createElement("div",{className:"ms-2 ps-1 pt-1"},e.subText)),r="px-2 py-1 mb-1 rounded d-inline-block";return e.isSelected&&(r+=" bg-light-blue fw-semibold"),!e.isSelected&&e.isCompleted&&(r+=" text-info"),n.createElement("li",null,e.isCompleted&&e.appLink?n.createElement(o.F,{appLink:e.appLink,className:r},t):n.createElement("div",{className:r},t))}function c(e){var t=e.steps.reduce((function(t,r,n){return r.id===e.currentStep&&(t=n+1),t}),1);return n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},i("stepNumber",{currentStep:t,totalSteps:e.steps.length})),n.createElement("ol",{className:"list-unstyled"},e.steps.map((function(r,a){var o=r.id===e.currentStep,i=t>a+1;return n.createElement(l,{index:a,key:r.id,text:r.text,subText:r.subText,isSelected:o,isCompleted:i,appLink:!e.disableAppLinks&&r.appLink,disabled:r.disabled})}))))}},58739:(e,t,r)=>{var n;r.d(t,{K:()=>n}),function(e){e[e.Submitted=0]="Submitted",e[e.Queued=1]="Queued",e[e.Pending=2]="Pending",e[e.InProgress=3]="InProgress",e[e.Completed=4]="Completed",e[e.CompletedWithError=5]="CompletedWithError",e[e.Failed=6]="Failed"}(n||(n={}))},60115:(e,t,r)=>{r.d(t,{K:()=>u});var n=r(32735),a=r(50242),o=r(91967),i=400,l=r(45719);function c(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}function u(e,t,r,u,s,d){var f,m,p,h,v=(f=(0,n.useState)(0),m=2,function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(f,m)||function(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}(f,m)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=v[0],b=v[1],g=t,k=(0,l.P)((function(t){if(!e)return null;var r=e(t);return r?r.key:null}),u,s);return p={fetchNextPage:function(){if(t&&e&&k)return b((function(e){return e+1})),g(k.nextCursor)},hasMore:!!(null==k?void 0:k.nextCursor),isFetching:null==k?void 0:k.isFetching,scrollContainer:d},h=function(){if(!p.isFetching){if(p.scrollContainer){var e=p.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-i)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-i)return;p.fetchNextPage()}},(0,n.useEffect)((function(){var e=o.q.throttle(h,200),t=p.scrollContainer||window;return p.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[p.hasMore,p.fetchNextPage,p.scrollContainer]),(0,n.useEffect)((function(){k&&k.shouldInitialFetch&&t&&(g(),b((function(e){return e+1})))}),[null==k?void 0:k.shouldInitialFetch,t]),(0,n.useEffect)((function(){var e,t;if((null==k?void 0:k.statusCode)&&o.q.isFunction(r)){var n=+(null===(t=null===(e=k.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));n!==a.k.ClientError&&n!==a.k.ServerError||r(y,k.statusCode)}}),[null==k?void 0:k.statusCode]),{items:null==k?void 0:k.items,hasMore:!!(null==k?void 0:k.nextCursor),nextCursor:null==k?void 0:k.nextCursor,isFetching:null==k?void 0:k.isFetching,totalItems:null==k?void 0:k.totalItems,hasFirstPageCompleted:null==k?void 0:k.hasFirstPageCompleted}}},5859:(e,t,r)=>{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:()=>o});var a={numItems:5,minWidth:50,maxWidth:100},o={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=Object.assign(Object.assign({},a),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")}}))}}},88323:(e,t,r)=>{r.d(t,{h:()=>w});var n=r(20354),a=r(32735),o=r(70680),i=r(81886),l=r(2948),c=r(49985),u=r(65858),s=r(58703),d=r(89422),f=r(38143),m=r(69217),p=r(60115),h=r(89476);function v(e){return v="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},v(e)}function y(){y=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",l=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof g?t:g,i=Object.create(o.prototype),l=new O(n||[]);return a(i,"_invoke",{value:I(e,r,l)}),i}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=s;var f="suspendedStart",m="suspendedYield",p="executing",h="completed",b={};function g(){}function k(){}function E(){}var A={};u(A,i,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(F([])));S&&S!==r&&n.call(S,i)&&(A=S);var L=E.prototype=g.prototype=Object.create(A);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function r(a,o,i,l){var c=d(e[a],e,o);if("throw"!==c.type){var u=c.arg,s=u.value;return s&&"object"==v(s)&&n.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,i,l)}),(function(e){r("throw",e,i,l)})):t.resolve(s).then((function(e){u.value=e,i(u)}),(function(e){return r("throw",e,i,l)}))}l(c.arg)}var o;a(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,a){r(e,n,t,a)}))}return o=o?o.then(a,a):a()}})}function I(t,r,n){var a=f;return function(o,i){if(a===p)throw Error("Generator is already running");if(a===h){if("throw"===o)throw i;return{value:e,done:!0}}for(n.method=o,n.arg=i;;){var l=n.delegate;if(l){var c=N(l,n);if(c){if(c===b)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=p;var u=d(t,r,n);if("normal"===u.type){if(a=n.done?h:m,u.arg===b)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=h,n.method="throw",n.arg=u.arg)}}}function N(t,r){var n=r.method,a=t.iterator[n];if(a===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,N(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var o=d(a,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,b;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,b):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function F(t){if(t||""===t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=function r(){for(;++a<t.length;)if(n.call(t,a))return r.value=t[a],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(v(t)+" is not iterable")}return k.prototype=E,a(L,"constructor",{value:E,configurable:!0}),a(E,"constructor",{value:k,configurable:!0}),k.displayName=u(E,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===k||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,u(e,c,"GeneratorFunction")),e.prototype=Object.create(L),e},t.awrap=function(e){return{__await:e}},x(C.prototype),u(C.prototype,l,(function(){return this})),t.AsyncIterator=C,t.async=function(e,r,n,a,o){void 0===o&&(o=Promise);var i=new C(s(e,r,n,a),o);return t.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},x(L),u(L,c,"Generator"),u(L,i,(function(){return this})),u(L,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=F,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(j),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function a(n,a){return l.type="throw",l.arg=t,r.next=n,a&&(r.method="next",r.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],l=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,b):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),b},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),j(r),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;j(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:F(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),b}},t}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,l=[],c=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(l.push(n.value),l.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return l}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return k(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)?k(e,t):void 0}}function k(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 E=r(31949),A=r(18087),w=function(e){var t,r=(0,A.Y)(e);return function(e){var t,r,v,E=y().mark(F),A=e.appLinks,w=e.getUsersRequest,S=b((0,l.D)(f.g.BULK_USER_ACTIONS),2),L=S[0],x=S[1],C=(0,o.I0)(),I=(0,h.f)(),N=b(a.useState(!0),2),T=N[0],j=N[1],O=a.useRef({keys:null===(t=null==L?void 0:L.userIdMap)||void 0===t?void 0:t.keys(),pages:{}});function F(e,t){var r;return y().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!(t-- >0)){n.next=8;break}if(r=e.next().value){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,r;case 6:n.next=0;break;case 8:case"end":return n.stop()}}),E)}function M(e){var t;if(!(null===(t=null==L?void 0:L.userIdMap)||void 0===t?void 0:t.size)||!O.current.keys)return null;if(O.current.pages[e]){var r=O.current.pages[e];return r.length?w(r):null}var n,a=function(e){if(Array.isArray(e))return k(e)}(n=F(O.current.keys,d.K.USER_PAGE_LIMIT))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||g(n)||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.")}();return O.current.pages[e]=a,a.length?w(a):(j(!1),null)}function U(e){var t=M(e);if(t)return n.a.getFetch(C)(t)}var P=(0,p.K)(M,U,null,(function(e){return e}),(function(e){var t;return null===(t=e[e.length-1])||void 0===t?void 0:t.id}),null==L?void 0:L.scrollContainer),_=P.items,B=P.isFetching,D=P.nextCursor,R=(0,m.N)();function G(){var e;return null===(e=null==L?void 0:L.userIdMap)||void 0===e?void 0:e.size}var z=null!==(r=null==_?void 0:_.filter((function(e){return L.userIdMap.has(e.id.toString())})))&&void 0!==r?r:[];return a.useEffect((function(){(null==L?void 0:L.userIdMap)&&!L.userIdMap.size&&setTimeout((function(){I.unlock(s.N),i.Q.C$.trigger(A.userManager,{replace:!0})}),0)}),[null===(v=null==L?void 0:L.userIdMap)||void 0===v?void 0:v.size,B]),{users:z,isFetching:B,removeUser:function(e){L.userIdMap.delete(e.id.toString()),x("allUsersSelected",!1),R(),c.k.logUserAction({id:e.id.toString(),userCount:G()},{location:u.LZ.BulkUserActionsWizard,entity:u.py.User,actionType:u.Vw.Remove})},hasMore:T,fetchNext:function(){return U(D)},count:G(),setAllUserIds:function(e){var t=new Map;e.forEach((function(e){t.set(e,!0)})),x({userIdMap:t,allUsersSelected:!0,allUsersCount:t.size}),O.current.keys=t.keys(),R()}}}({customerId:null===(t=n.a.useBasicFetch(E.N.currentUser()).data)||void 0===t?void 0:t.customerId,userType:e,appLinks:r,getUsersRequest:E.N.usersById})}}}]);
3
+ //# sourceMappingURL=8323-fb330a8f47-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/8323-fb330a8f47-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/header/back-buttons/BulkUserActionsBackButton.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/header/continue-buttons/BulkUserActionsContinueButton.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayoutPartialLoading.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/bulk-user-actions-wizard-layout.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout.tsx","file:///app/packages/libs/shared/src/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel.ts","file:///app/packages/libs/shared/src/apps/user-manager/utils/BulkUserActionsAnalyticsHelper.ts","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/wizard/header/WizardHeader.tsx","file:///app/packages/libs/shared/src/components/wizard/step-list/WizardStepList.tsx","file:///app/packages/libs/shared/src/enums/BatchJobStatus.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/libs/shared/src/apps/user-manager/hooks/useBulkActionsUsers.ts","file:///app/packages/projects/lite/src/apps/user-manager/hooks/useBulkActionsUsersWrapper.ts"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkUserActionStepId } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\n\nconst namespace = 'userManager.userWizardBackButtons';\n\ninterface BulkUserActionsBackButtonProps {\n currentStep: BulkUserActionStepId;\n appLinks: UserManagerAppLinks;\n}\n\nexport function BulkUserActionsBackButton(props: BulkUserActionsBackButtonProps): JSX.Element {\n const [viewModel] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n\n function getActionDetailsAppLink(): Core.AppLink {\n if (!viewModel?.action)\n return null;\n \n switch (viewModel.action) {\n case 'delete':\n return props.appLinks.bulkActionsActionDetails.delete;\n case 'activation':\n return props.appLinks.bulkActionsActionDetails.activation;\n case 'yearGroupRollover':\n return props.appLinks.bulkActionsActionDetails.yearGroupRollover;\n case 'changeYearGroup':\n return props.appLinks.bulkActionsActionDetails.changeYearGroup;\n case 'addToClassroom':\n return props.appLinks.bulkActionsActionDetails.addToClassroom;\n case 'resetPassword':\n return props.appLinks.bulkActionsActionDetails.resetPassword;\n case 'resetEmail':\n return props.appLinks.bulkActionsSelectAction;\n case 'activationEmail':\n return props.appLinks.bulkActionsSelectAction;\n case 'removeFromSchool':\n return props.appLinks.bulkActionsActionDetails.removeFromSchool;\n }\n }\n\n function getAppLink(): Core.AppLink {\n switch (props.currentStep) {\n case 'review-accounts':\n return props.appLinks.userManager;\n \n case 'select-action':\n return props.appLinks.bulkActionsReviewAccounts;\n\n case 'action-details':\n return props.appLinks.bulkActionsSelectAction;\n\n case 'confirmation':\n return getActionDetailsAppLink();\n }\n }\n\n if (props.currentStep === 'status')\n return <></>;\n\n return (\n <AppLink\n className='btn btn-link me-2'\n appLink={getAppLink()}\n >\n <Text namespace={namespace} phrase={props.currentStep === 'review-accounts' ? 'cancel' : 'back'} />\n </AppLink>\n );\n}","import React from 'react';\nimport { Button } from 'react-bootstrap';\n\nimport { DevError } from 'libs/common/backbone/errors/DevError';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { ContextService } from 'libs/analytics/services/ContextService';\n\nimport { BulkUserActionStepId } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { BulkUserActionsAnalyticsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsAnalyticsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\nconst namespace = 'userManager.userWizardHeader';\n\ninterface BulkUserActionsContinueButtonProps {\n currentStep: BulkUserActionStepId;\n appLinks: UserManagerAppLinks;\n onFinish: () => void;\n}\n\nexport function BulkUserActionsContinueButton(props: BulkUserActionsContinueButtonProps): JSX.Element {\n const [viewModel] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n\n const { disableNext, onClickConfirm, showButtons } = React.useContext(WizardLayoutContext);\n\n const currentAppLink = ContextService.getCurrentContext().appLink;\n\n function getContinueAppLink(): Core.AppLink {\n switch (props.currentStep) {\n case 'review-accounts':\n return props.appLinks.bulkActionsSelectAction;\n case 'select-action':\n return getSelectActionAppLink();\n case 'action-details':\n return props.appLinks.bulkActionsConfirmation[viewModel?.subAction];\n default:\n return null;\n }\n }\n\n function getSelectActionAppLink(): Core.AppLink {\n if (!viewModel?.action)\n return null;\n \n switch (viewModel.action) {\n case 'delete':\n return props.appLinks.bulkActionsActionDetails.delete;\n case 'activation':\n return props.appLinks.bulkActionsActionDetails.activation;\n case 'yearGroupRollover':\n return props.appLinks.bulkActionsActionDetails.yearGroupRollover;\n case 'changeYearGroup':\n return props.appLinks.bulkActionsActionDetails.changeYearGroup;\n case 'addToClassroom':\n return props.appLinks.bulkActionsActionDetails.addToClassroom;\n case 'resetPassword':\n return props.appLinks.bulkActionsActionDetails.resetPassword;\n case 'resetEmail':\n return props.appLinks.bulkActionsConfirmation.resetEmail;\n case 'activationEmail':\n return props.appLinks.bulkActionsConfirmation.activationEmail;\n case 'removeFromSchool':\n return props.appLinks.bulkActionsActionDetails.removeFromSchool;\n }\n \n Core.ErrorHelper.throw(new DevError(`Missing switch statement case for ${viewModel.action} in BulkUserActionsContinueButton.tsx`));\n }\n\n if (currentAppLink.action === props.appLinks.bulkActionsStatus.complete.action && showButtons) {\n return (\n <AppLink\n className={`btn btn-dark ${disableNext ? 'disabled' : ''}`}\n appLink={props.appLinks.userManager}\n disabled={disableNext}\n onClick={props.onFinish}\n >\n <Text\n namespace={namespace}\n phrase={'finish'}\n />\n </AppLink>\n );\n }\n\n if (props.currentStep === 'confirmation') {\n return (\n <Button\n className={disableNext ? 'disabled' : ''}\n variant='dark'\n onClick={() => {\n BulkUserActionsAnalyticsHelper.onClickNext(viewModel, props.currentStep);\n onClickConfirm();\n }}\n disabled={disableNext}\n >\n <Text\n namespace={namespace}\n phrase='confirm'\n />\n </Button>\n );\n }\n\n if (props.currentStep === 'status')\n return <></>;\n\n return (\n <AppLink\n className={`btn btn-dark ${disableNext ? 'disabled' : ''}`}\n appLink={getContinueAppLink()}\n onClick={() => BulkUserActionsAnalyticsHelper.onClickNext(viewModel, props.currentStep)}\n disabled={disableNext}\n >\n <Text\n namespace={namespace}\n phrase='next'\n />\n </AppLink>\n );\n}","import React from 'react';\n\nexport function BulkUserActionsWizardLayoutPartialLoading(): React.ReactElement {\n return (\n <>\n <div className={`partial-loading-background mb-2`} style={{ height: '1.75rem', width: '15rem' }} />\n <div className={`partial-loading-background mb-3`} style={{ height: '1.5rem', width: '12rem' }} />\n <div className={`partial-loading-background mb-2`} style={{ height: '8em', width: '40rem' }} />\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"wizardContent\":\"UBwkq\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { BulkUserActionsBackButton } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/header/back-buttons/BulkUserActionsBackButton';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { BulkUserActionsAnalyticsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsAnalyticsHelper';\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { WizardHeader } from 'libs/shared/components/wizard/header/WizardHeader';\nimport { WizardStepList } from 'libs/shared/components/wizard/step-list/WizardStepList';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { WizardLayoutContextProvider } from 'libs/shared/context/WizardLayoutContext';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { User } from 'libs/shared/interfaces';\n\nimport { BulkUserActionsContinueButton } from '../header/continue-buttons/BulkUserActionsContinueButton';\n\nimport { BulkUserActionsWizardLayoutPartialLoading } from './BulkUserActionsWizardLayoutPartialLoading';\n\nimport styles from './bulk-user-actions-wizard-layout.scss';\n\nconst namespace = 'userManager.bulkUserActionsWizardLayout';\n\nexport type BulkUserActionStepId = 'review-accounts' | 'select-action' | 'action-details' | 'confirmation' | 'status';\nexport type BulkUserActionOptions = 'delete' | 'activation' | 'changeYearGroup' | 'yearGroupRollover' | 'addToClassroom' | 'resetPassword' | 'resetEmail' | 'activationEmail' | 'removeFromSchool';\nexport type BulkUserSubAction = 'delete' | 'deactivate' | 'reactivate' | 'changeYearGroup' | 'yearGroupRollover' | 'addToClassroom' | 'resetPassword' | 'resetEmail' | 'activationEmail' | 'removeFromSchool';\n\nexport const BULK_USER_ACTIONS_NAV_LOCK_ID = 'bulk-user-actions-wizard';\n\ntype BulkUserActionsWizardLayoutProps = React.PropsWithChildren<{\n appLinks: UserManagerAppLinks;\n userType: UserGroup;\n currentStep: BulkUserActionStepId;\n users: User[];\n userCount: number;\n \n preventNavLock?: boolean;\n disableAppLinks?: boolean;\n hideHeader?: boolean;\n loaded: boolean;\n\n /**\n * Used by year group rollover to allow loading straight into the details view\n */\n preventRedirect?: boolean;\n}>;\n\nexport function BulkUserActionsWizardLayout(props: BulkUserActionsWizardLayoutProps): JSX.Element {\n const [ viewModel, setViewModel ] = useViewModel<BulkUserActionsViewModel>(\n SharedViewModelKeys.BULK_USER_ACTIONS\n );\n\n const navLock = useNavLock();\n\n React.useEffect(() => {\n // If there is no view model, redirect away\n if (!viewModel?.userIdMap?.size && !props.preventRedirect) {\n Core.AppLinkHelper.trigger(props.appLinks.userManager, { replace: true });\n logWizardExitEvent();\n return;\n }\n\n if (props.preventNavLock)\n return;\n\n navLock.lock({\n id: BULK_USER_ACTIONS_NAV_LOCK_ID,\n title: LanguageService.getPhrase(namespace, 'navLockTitle'),\n text: LanguageService.getPhrase(namespace, 'navLockBody'),\n appLinkWhitelist: BulkUserActionsHelper.getWizardAppLinks(props.appLinks),\n onConfirmUnlock: () => {\n logWizardExitEvent();\n setViewModel({});\n }\n });\n\n return () => {\n navLock.unlock(BULK_USER_ACTIONS_NAV_LOCK_ID);\n };\n }, []);\n\n function onFinish(): void {\n setViewModel({});\n }\n function logWizardExitEvent(): void {\n /**\n * If there is no viewmodel present when this is called, it means the viewmodel was never\n * initialized with data. This can happen for example if the user page loads onto the wizard.\n * In this case, we don't log an exit event.\n */\n if (!viewModel)\n return;\n\n const analyticsData: HashObject = {\n step: props.currentStep,\n userCount: viewModel?.userIdMap?.size ?? 0\n };\n\n const actionName: string | null = BulkUserActionsAnalyticsHelper.getAnalyticsActionName(viewModel);\n\n if (actionName)\n analyticsData.action = actionName;\n\n AnalyticsHelper.logUserAction(analyticsData, {\n workflowPhase: WorkflowPhase.Discard,\n actionType: UserAction.BulkAction,\n location: LocationContext.BulkUserActionsWizard,\n entity: EntityType.User\n });\n }\n\n const loaded = props.loaded && !!props.users?.length;\n\n return (\n <WizardLayoutContextProvider>\n <div className='px-3'>\n <WizardHeader\n title={LanguageService.getPhrase(namespace, 'bulkActions')}\n currentStep={props.currentStep}\n hideHeader={props.hideHeader}\n loaded={props.loaded}\n continueButton={\n <BulkUserActionsContinueButton\n currentStep={props.currentStep}\n appLinks={props.appLinks}\n onFinish={onFinish}\n />\n }\n backButton={\n <BulkUserActionsBackButton currentStep={props.currentStep} appLinks={props.appLinks} />\n }\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: props.appLinks.settings\n },\n {\n name: LanguageService.getPhrase(namespace, props.userType === UserGroup.Learner ? 'studentManager' : 'staffManager'),\n appLink: props.appLinks.userManager\n },\n {\n name: LanguageService.getPhrase(namespace, 'bulkActions'),\n active: true\n }\n ]}\n />\n\n <div className='row g-0'>\n <div className='col-3'>\n <WizardStepList<BulkUserActionStepId>\n steps={BulkUserActionsHelper.getSteps(\n props.userType,\n props.userCount,\n props.appLinks,\n viewModel?.action\n )}\n currentStep={props.currentStep}\n disableAppLinks={!loaded || props.disableAppLinks}\n />\n </div>\n\n <div className={`col-9 ${styles.wizardContent}`}>\n {loaded ?\n props.children :\n <BulkUserActionsWizardLayoutPartialLoading />\n }\n </div>\n </div>\n </div>\n </WizardLayoutContextProvider>\n );\n}\n","import { Classroom, YearGroup } from 'libs/shared/interfaces';\n\nimport { BulkUserActionOptions, BulkUserSubAction } from '../../components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerQueryParams } from '../query-params/UserManagerQueryParams';\n\n// Please keep this array up to date with the interface below, so that the data we log to analytics remains accurate\nexport const BaseBulkUserActionsViewModelKeys: Array<keyof BulkUserActionsViewModel> = [\n 'userIdMap', 'params', 'action', 'subAction', 'allUsersSelected', 'allUsersCount', 'scrollContainer'\n];\n\nexport interface BulkUserActionsViewModel {\n userIdMap?: Map<string, boolean>;\n params?: UserManagerQueryParams;\n\n action?: BulkUserActionOptions; // TODO: Rename this to \"actionCategory\"\n subAction?: BulkUserSubAction; // TODO: Rename this to \"action\"\n\n // Used to determine if we can show year group rollover\n allUsersSelected?: boolean;\n allUsersCount?: number;\n scrollContainer?: HTMLElement;\n}\n\nexport interface BulkUserActionsYearGroupRolloverViewModel extends BulkUserActionsViewModel {\n yearGroup: YearGroup;\n}\n\nexport interface BulkUserActionsAddToClassroomViewModel extends BulkUserActionsViewModel {\n classroom: Classroom;\n}\n\nexport interface BulkUserActionsResetPasswordViewModel extends BulkUserActionsViewModel {\n password: string;\n changeOnNextLogin: boolean;\n}","import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { BatchJobStatus } from 'libs/shared/enums/BatchJobStatus';\n\nimport { BulkUserActionStepId } from '../components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { BaseBulkUserActionsViewModelKeys, BulkUserActionsViewModel } from '../interfaces/viewmodels/BulkUserActionsViewModel';\n\nexport const BulkUserActionsAnalyticsHelper = {\n getAnalyticsActionName(viewModel: BulkUserActionsViewModel): string | null {\n if (!viewModel?.action)\n return null;\n\n switch (viewModel.action) {\n case 'activation': {\n if (!viewModel?.subAction)\n return 'Deactivate / reactivate';\n\n if (viewModel.subAction === 'deactivate')\n return 'Deactivate';\n\n return 'Reactivate';\n }\n case 'addToClassroom':\n return 'Add to classroom';\n case 'changeYearGroup':\n return 'Change year group';\n case 'delete':\n return 'Delete user';\n case 'resetEmail':\n return 'Send password reset email';\n case 'activationEmail':\n return 'Send account activation email';\n case 'resetPassword':\n return 'Reset password';\n case 'yearGroupRollover':\n return 'Annual year group rollover';\n case 'removeFromSchool':\n return 'Remove user';\n default:\n return null;\n }\n },\n\n onClickNext(viewModel: BulkUserActionsViewModel, currentStep: BulkUserActionStepId): void {\n if (!viewModel)\n return;\n\n const analyticsData: HashObject = {\n userCount: viewModel.userIdMap.size,\n step: currentStep\n };\n\n const actionName = BulkUserActionsAnalyticsHelper.getAnalyticsActionName(viewModel);\n\n if (actionName)\n analyticsData.action = actionName;\n\n const actionData = ObjectHelper.omit(viewModel, BaseBulkUserActionsViewModelKeys);\n\n // Adds extra items like the `yearGroup` on year group actions or `password` on the reset pw action\n if (Object.keys(actionData).length)\n analyticsData.actionData = actionData;\n\n AnalyticsHelper.logUserAction(analyticsData, {\n location: LocationContext.BulkUserActionsWizard,\n workflowPhase: WorkflowPhase.Next,\n actionType: UserAction.BulkAction,\n entity: EntityType.User\n });\n },\n\n logYearGroupRolloverEntry(location: LocationContext): void {\n AnalyticsHelper.logUserAction({\n action: BulkUserActionsAnalyticsHelper.getAnalyticsActionName({ action: 'yearGroupRollover' })\n }, {\n entity: EntityType.User,\n actionType: UserAction.BulkAction,\n workflowPhase: WorkflowPhase.Start,\n location\n });\n },\n\n getJobStatus(status: BatchJobStatus): string | null {\n switch (status) {\n case BatchJobStatus.Completed:\n return 'Success';\n case BatchJobStatus.CompletedWithError:\n return 'Completed with some errors';\n case BatchJobStatus.Failed:\n return 'Failed';\n default:\n return null;\n }\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\nconst COLLAPSE_CHARACTER_COUNT = 56;\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 || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 3 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [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 const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const secondLast = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} />;\n const rest = breadcrumbs.slice(1, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {collapse ?\n <li className='breadcrumb-item'>\n <button className='btn-link' onClick={() => setCollapse(false)}>\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => <BreadcrumbItem key={idx} breadcrumb={breadcrumb} />)\n }\n {secondLast}\n {last}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import React from 'react';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\ninterface WizardHeaderProps<TStepId> {\n currentStep: TStepId;\n title: string;\n continueButton: JSX.Element;\n backButton: JSX.Element;\n breadcrumbs?: Breadcrumb[];\n hideHeader?: boolean;\n loaded: boolean;\n}\n\nexport function WizardHeader<TStepId>(props: WizardHeaderProps<TStepId>): JSX.Element {\n const { showButtons } = React.useContext(WizardLayoutContext);\n\n return (\n <div className='d-flex justify-content-between'>\n {!props.hideHeader ? (\n <div>\n <h1 className='h2'>{props.title}</h1>\n\n {props.breadcrumbs &&\n <div className='pb-3'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n }\n </div>\n ) : <div/>}\n\n {props.loaded && showButtons && (\n <div className='d-flex align-items-center'>\n {props.backButton}\n {props.continueButton}\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nconst namespace = 'shared.wizardStepList';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface WizardStep<StepId extends string> {\n id: StepId;\n text: string;\n appLink?: Core.AppLink;\n subText?: string;\n disabled?: boolean;\n}\n\ninterface WizardStepListItemProps {\n appLink: Core.AppLink;\n isSelected: boolean;\n isCompleted: boolean;\n text: string;\n subText?: string;\n disabled: boolean;\n index: number;\n hideStepNumber?: boolean;\n}\n\nfunction WizardStepListItem(props: WizardStepListItemProps): JSX.Element {\n const content = (\n <>\n <div className='d-flex'>\n {!props.hideStepNumber && <div className='flex-shrink-0 flex-grow-0'>{`${props.index + 1}.`}&nbsp;</div>}\n <div>{props.text}</div>\n </div>\n\n {props.subText && (\n <div className='ms-2 ps-1 pt-1'>\n {props.subText}\n </div>\n )}\n </>\n );\n\n \n let className = 'px-2 py-1 mb-1 rounded d-inline-block';\n\n if (props.isSelected) {\n className += ` bg-light-blue fw-semibold`;\n }\n\n if ((!props.isSelected && props.isCompleted))\n className += ` text-info`;\n\n return (\n <li>\n {(props.isCompleted && props.appLink)\n ? (\n <AppLink appLink={props.appLink} className={className}>\n {content}\n </AppLink>\n ) : (\n <div className={className}>\n {content}\n </div>\n )\n }\n </li>\n );\n}\n\ninterface WizardStepListProps<StepId extends string> {\n currentStep: StepId;\n steps: WizardStep<StepId>[];\n disableAppLinks?: boolean;\n}\n\nexport function WizardStepList<StepId extends string>(props: WizardStepListProps<StepId>): JSX.Element {\n const currentStepNumber = props.steps.reduce((acc, step, i) => {\n if (step.id === props.currentStep)\n acc = i + 1;\n\n return acc;\n }, 1);\n\n return (\n <>\n <h2 className='h4'>\n {getPhrase('stepNumber', { currentStep: currentStepNumber, totalSteps: props.steps.length })}\n </h2>\n\n <ol className='list-unstyled'>\n {props.steps.map((step, i) => {\n const isSelected = step.id === props.currentStep;\n const isCompleted = currentStepNumber > i + 1;\n\n return (\n <WizardStepListItem\n index={i}\n key={step.id}\n text={step.text}\n subText={step.subText}\n isSelected={isSelected}\n isCompleted={isCompleted}\n appLink={!props.disableAppLinks && step.appLink}\n disabled={step.disabled}\n />\n );\n })}\n </ol>\n </>\n );\n}","export enum BatchJobStatus {\n Submitted = 0,\n Queued = 1,\n Pending = 2,\n InProgress = 3,\n Completed = 4,\n CompletedWithError = 5,\n Failed = 6\n}","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\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';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, HashObject, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { BULK_USER_ACTIONS_NAV_LOCK_ID } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { User } from 'libs/shared/interfaces';\n\ninterface Options {\n customerId: string;\n userType: UserGroup;\n appLinks: UserManagerAppLinks;\n\n getUsersRequest: (\n userIds: string[],\n success?: (users: User[]) => void,\n error?: () => void\n ) => Flight.Request;\n}\n\nexport const useBulkActionsUsers = (options: Options) => {\n const { appLinks, getUsersRequest } = options;\n\n const [ viewModel, setViewModel ] = useViewModel<BulkUserActionsViewModel>(\n SharedViewModelKeys.BULK_USER_ACTIONS\n );\n\n const dispatch = useDispatch();\n const navLock = useNavLock();\n\n function getCursor(items: User[]): string {\n return items[items.length - 1]?.id;\n }\n\n /**\n * We can't rely on the non-existance of a next cursor to determine if we have more items to fetch\n * so instead we assume we have more, and then set it to false when we don't in getRequest\n * - Sha\n */\n const [ hasMore, setHasMore ] = React.useState(true);\n const pagination = React.useRef<{ pages: HashObject<string[]>, keys: IterableIterator<string>}>({\n keys: viewModel?.userIdMap?.keys(),\n pages: {}\n });\n\n function* nextIds(iterable: IterableIterator<string>, take: number): Generator<string> {\n while (take-- > 0) {\n const next = iterable.next().value;\n if (!next) return;\n yield next;\n }\n }\n\n function getRequest(lastId?: string): Flight.Request {\n if (!viewModel?.userIdMap?.size || !pagination.current.keys)\n return null;\n\n if (pagination.current.pages[lastId]) {\n const ids = pagination.current.pages[lastId];\n\n if (!ids.length) return null;\n return getUsersRequest(ids);\n }\n\n const ids = [...nextIds(pagination.current.keys, UserManagerConstants.USER_PAGE_LIMIT)];\n pagination.current.pages[lastId] = ids;\n\n if (!ids.length) {\n setHasMore(false);\n return null;\n }\n return getUsersRequest(ids);\n }\n\n function fetchNext(cursor?: string) {\n const request = getRequest(cursor);\n\n if (!request)\n return;\n\n return Flight.getFetch(dispatch)(request);\n }\n\n const {\n items,\n isFetching,\n nextCursor\n } = useInfiniteList<User, User[]>(getRequest, fetchNext, null, d => d, getCursor, viewModel?.scrollContainer);\n\n const forceUpdate = useForceUpdate();\n function removeUser(user: User): void {\n viewModel.userIdMap.delete(user.id.toString());\n setViewModel('allUsersSelected', false);\n forceUpdate();\n\n AnalyticsHelper.logUserAction({\n id: user.id.toString(),\n userCount: getCount()\n }, {\n location: LocationContext.BulkUserActionsWizard,\n entity: EntityType.User,\n actionType: UserAction.Remove\n });\n }\n\n function getCount(): number {\n return viewModel?.userIdMap?.size;\n }\n\n /**\n * Should only be used by the year group rollover details page\n */\n function setAllUserIds(userIds: string[]): void {\n const map = new Map<string, boolean>();\n userIds.forEach(id => {\n map.set(id, true);\n });\n setViewModel({\n userIdMap: map,\n allUsersSelected: true,\n allUsersCount: map.size\n });\n pagination.current.keys = map.keys();\n forceUpdate();\n }\n\n const users = items?.filter(u => viewModel.userIdMap.has(u.id.toString())) ?? [];\n\n // This hook detects if the user has removed all users\n React.useEffect(() => {\n if (!viewModel?.userIdMap || viewModel.userIdMap.size)\n return;\n\n // If this is reached, it means the admin has removed all users from the selected list.\n // The setTimeout here allows react to run it's final UI updates with the new state before we dispose of the view.\n setTimeout(() => {\n navLock.unlock(BULK_USER_ACTIONS_NAV_LOCK_ID);\n Core.AppLinkHelper.trigger(appLinks.userManager, { replace: true });\n }, 0);\n }, [ viewModel?.userIdMap?.size, isFetching ]);\n\n return {\n users,\n isFetching,\n removeUser,\n hasMore,\n fetchNext: () => fetchNext(nextCursor),\n count: getCount(),\n setAllUserIds\n };\n};","import { Flight } from 'libs/common/flight';\n\nimport { useBulkActionsUsers } from 'libs/shared/apps/user-manager/hooks/useBulkActionsUsers';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nexport const useBulkActionsUsersWrapper = (userType: UserGroup) => {\n const appLinks = getUserManagerAppLinks(userType);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n return useBulkActionsUsers({\n customerId: currentUser.data?.customerId,\n userType,\n appLinks,\n getUsersRequest: UserRequests.usersById\n });\n};"],"names":["namespace","BulkUserActionsBackButton","props","viewModel","SharedViewModelKeys","currentStep","AppLink","className","appLink","appLinks","userManager","bulkActionsReviewAccounts","bulkActionsSelectAction","action","bulkActionsActionDetails","activation","yearGroupRollover","changeYearGroup","addToClassroom","resetPassword","removeFromSchool","getActionDetailsAppLink","getAppLink","Text","phrase","BulkUserActionsContinueButton","WizardLayoutContext","disableNext","onClickConfirm","showButtons","ContextService","bulkActionsStatus","complete","disabled","onClick","onFinish","Button","variant","BulkUserActionsAnalyticsHelper","bulkActionsConfirmation","resetEmail","activationEmail","DevError","getSelectActionAppLink","subAction","getContinueAppLink","BulkUserActionsWizardLayoutPartialLoading","style","height","width","BULK_USER_ACTIONS_NAV_LOCK_ID","BulkUserActionsWizardLayout","setViewModel","navLock","useNavLock","logWizardExitEvent","analyticsData","step","userCount","userIdMap","size","actionName","AnalyticsHelper","workflowPhase","actionType","location","entity","preventRedirect","preventNavLock","lock","id","title","LanguageService","text","appLinkWhitelist","BulkUserActionsHelper","onConfirmUnlock","unlock","replace","loaded","users","length","WizardHeader","hideHeader","continueButton","backButton","breadcrumbs","name","settings","userType","UserGroup","active","WizardStepList","steps","disableAppLinks","children","BaseBulkUserActionsViewModelKeys","getAnalyticsActionName","onClickNext","actionData","ObjectHelper","Object","keys","logYearGroupRolloverEntry","getJobStatus","status","BatchJobStatus","BreadcrumbItem","breadcrumb","withBackIcon","svgName","S","Breadcrumbs","isMobile","collapse","setCollapse","characterLength","reduce","prev","next","first","secondLast","last","rest","slice","map","idx","key","PartialBreadcrumbs","numItems","dangerouslySetInnerHTML","__html","getPhrase","WizardStepListItem","content","hideStepNumber","index","subText","isSelected","isCompleted","currentStepNumber","acc","i","totalSteps","SCROLL_TOLERANCE","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","scrollContainer","options","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","cursor","request","fetchNextPage","currentVal","nextCursor","hasMore","isFetching","getBoundingClientRect","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","statusCode","httpStatusClass","toString","substr","HttpStatus","items","totalItems","hasFirstPageCompleted","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","useBulkActionsUsersWrapper","nextIds","getUsersRequest","dispatch","setHasMore","pagination","pages","iterable","take","value","lastId","current","ids","UserManagerConstants","d","forceUpdate","useForceUpdate","getCount","filter","u","has","setTimeout","removeUser","user","count","setAllUserIds","userIds","Map","forEach","set","allUsersSelected","allUsersCount","useBulkActionsUsers","customerId","UserRequests","data"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 841-d69c7f4b4d-lite.chunk.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[841],{49602:(e,t,n)=>{var r;n.d(t,{b:()=>c}),function(e){e[e.None=0]="None",e[e.AllSubjects=1]="AllSubjects",e[e.AllLevels=2]="AllLevels",e[e.AllSubjectsAndAllLevels=3]="AllSubjectsAndAllLevels"}(r||(r={}));var a=n(25925),c={hasManyPresentationTypes:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=0,n=0;return null==e||e.forEach((function(e){e.type===a.R.Subject?t++:e.type===a.R.Curriculum&&n++})),{hasManySubjectPresentations:t>1,hasManyCurriculumPresentations:n>1}},getBulkPreferencesState:function(e){return e===r.AllSubjectsAndAllLevels?{levels:!0,subjects:!0}:{levels:e===r.AllLevels,subjects:e===r.AllSubjects}},hasBulkSelectedLevels:function(e){return e===r.AllLevels||e===r.AllSubjectsAndAllLevels},hasBulkSelectedTopics:function(e){return e===r.AllSubjects||e===r.AllSubjectsAndAllLevels},getNextBulkState:function(e,t){var n=r.None,a=r.AllSubjects,c=r.AllLevels,l=r.AllSubjectsAndAllLevels,o="topics"===t;switch(e){case n:default:return o?a:c;case a:return o?n:l;case c:return o?l:n;case l:return o?c:a}}}},2192:(e,t,n)=>{n.d(t,{M:()=>p,Q:()=>g});var r=n(32735),a=n(45157),c=n(36848),l=n(60376),o=n(5465),i=n(83914),s=n(83345),u=n(54610),m=n(67453),d=n(35223),f=n(92038),h=function(e){var t=e.name,n=e.multiline,a=e.noUnderLine,c="".concat(f.Z.comingSoonPanel," \n d-flex flex-column align-items-center justify-content-center px-3 text-center"),l="";return n?l+=" ".concat(f.Z.clamped," clamp-2"):(c+=" text-nowrap",l+=" text-truncate"),r.createElement("div",{className:c},r.createElement("small",{className:"text-secondary"},r.createElement(s.x,{namespace:"shared.subjectWidgetItem",phrase:"comingSoon"})),r.createElement("p",{className:"".concat(a?"":f.Z.name," h6")},r.createElement("span",{className:l},t)))},v=function(e){var t=e.name,n=e.multiline,a=e.subtitle,c=e.noUnderLine,l="px-3 d-flex flex-column justify-content-center",o="".concat(c?"":f.Z.name," h6");return n?o+=" clamp-3 text-start":(l+=" text-nowrap text-truncate",o+=" text-truncate mb-0 pb-1"),r.createElement("div",{className:l},a&&r.createElement("div",{className:"text-secondary clamp-1 ".concat(f.Z.text)},a),r.createElement("div",{className:o,title:t},t))};function p(e){var t=m.j.createUrl(e.coverUrl,{size:e.isLarge?u.h2.Medium:u.h2.Small}),n={name:e.data.name,multiline:e.isLarge||e.multiline,subtitle:e.subtitle,noUnderLine:e.highlightOnHover};return r.createElement("div",{className:"border d-flex position-relative ".concat(e.className," ").concat(f.Z.widgetItem," ").concat(e.isSelected?"border-success border-2":""," ").concat(e.highlightOnHover?f.Z.enableHighlight:""),id:"".concat(e.data.id,"-").concat(a.Y.getRandomInt())},e.isSelected&&r.createElement("div",{className:"".concat(f.Z.selectedMask," border-2")}),r.createElement("div",{className:"".concat(f.Z.imagePanel," ").concat(e.isLarge?f.Z.large:"")},e.isSelected&&!e.hideCheckmark&&r.createElement("div",{className:f.Z.selected},r.createElement(l.f,{svgName:d.vn.Check,svgSize:i.S.Large,textVariant:"white",variant:"green"})),r.createElement("div",{className:"".concat(f.Z.image," ").concat(e.imageClassName),style:e.coverUrl?{backgroundImage:"url('".concat(t,"')")}:{}}),!e.hideFallback&&r.createElement(o.oy,{type:o.mS.Subject,extraClasses:e.isLarge?f.Z.large:""})),e.isComingSoon?r.createElement(h,Object.assign({},n)):r.createElement(v,Object.assign({},n)))}function g(e){var t,n=e.getChildAppLink?e.getChildAppLink(e.data):null;return r.createElement(r.Fragment,null,n?r.createElement(c.F,{className:f.Z.appLink,appLink:n,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,appLinkOptions:null===(t=e.getChildAppLinkOptions)||void 0===t?void 0:t.call(e)},r.createElement(p,Object.assign({},e))):r.createElement(p,Object.assign({},e)))}},75919:(e,t,n)=>{n.d(t,{N:()=>c});var r=n(32735);const a={annotation:"LkdHB",above:"ROdbm",below:"OzyHx",left:"W9EBF",right:"zhio2",divider:"cdR_p",imageContainer:"QZZMF"};function c(e){return r.createElement("div",{className:(t="d-flex align-items-center text-center position-relative w-100 ".concat(a.imageContainer),"center"===e.contentPosition&&(t+=" px-5 justify-content-center"),"right"===e.contentPosition&&(t+=" me-n5 justify-content-end"),t)},!!e.annotationUrl&&r.createElement("div",{className:function(){var t=a.annotation;switch(e.annotationPosition){case"top-left":t+=" ".concat(a.above," ").concat(a.left);break;case"top-right":t+=" ".concat(a.above," ").concat(a.right);break;case"bottom-left":t+=" ".concat(a.below," ").concat(a.left);break;case"bottom-right":t+=" ".concat(a.below," ").concat(a.right)}return e.annotationClassName&&(t+=" ".concat(e.annotationClassName)),t}()},r.createElement("img",{className:"img-fluid",src:e.annotationUrl})),e.children,"right"===e.contentPosition&&r.createElement("div",{className:a.divider}));var t}c.defaultProps={contentPosition:"center"}},39375:(e,t,n)=>{n.d(t,{Y:()=>u});var r=n(32735),a=n(54610),c=n(67453),l=n(2248);const o={magicTab:"H5jzm",subjectPlaceholder:"r1L6T",placeholderCover:"z9CFT",promotedTopicPlaceholder:"PbYs6",promotedTopicPlaceholderText:"hZ8Nf"};function i(e){return r.createElement("li",{className:"col-4"},r.createElement("div",{className:"d-flex border rounded-3 overflow-hidden ".concat(o.subjectPlaceholder)},e.coverUrl?r.createElement("div",{className:o.placeholderCover},r.createElement("img",{className:"img-fluid",src:c.j.createUrl(e.coverUrl,{size:a.h2.Small})})):r.createElement("div",{className:"".concat(o.placeholderCover," bg-light-blue")})))}function s(){return r.createElement("li",{className:"col-4"},r.createElement("div",{className:"bg-light-blue rounded-3 w-100 p-1 ".concat(o.promotedTopicPlaceholder)}))}function u(e){var t,n,a,c=Math.max(12-(null!==(n=null===(t=e.subjects)||void 0===t?void 0:t.length)&&void 0!==n?n:0),0);return r.createElement(l.L,{presentation:e.presentation,curriculum:e.curriculum,editingCurriculum:e.editingCurriculum},r.createElement("div",{className:"px-3 pt-3 w-100 d-flex flex-column align-items-center"},r.createElement("div",{className:"rounded-3 border overflow-hidden d-flex mb-2"},r.createElement("div",{className:"bg-light ".concat(o.magicTab)}),r.createElement("div",{className:"".concat(o.magicTab)})),r.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1 mb-2"},null===(a=e.subjects)||void 0===a?void 0:a.map((function(e){var t;return r.createElement(i,{key:e.id,coverUrl:null===(t=e.cover)||void 0===t?void 0:t.url})})),new Array(c).fill(0).map((function(e,t){return r.createElement(i,{key:t})}))),r.createElement("ul",{className:"list-unstyled mb-0 row w-100 g-xl-2 g-lg-1"},r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null),r.createElement(s,null))))}},2248:(e,t,n)=>{n.d(t,{L:()=>v});var r=n(32735),a=n(60376),c=n(83914),l=n(2786),o=n(83345),i=n(72639),s=n(79967),u=n(35223),m=n(87114);const d={dot:"AlRQD",logo:"L42gR",blackBar:"ESCxm",topNav:"a3G_4",leftNav:"YxGVV",belowHeader:"jc_cg",leftNavIcon:"U6i6r",leftNavText:"LnYlW",presentationPlaceholderIcon:"Ljaju",presentationIcon:"QdwPq",presentationPlaceholderText:"af06V",curriculumIcon:"N7T4T",curriculumIconSmall:"_6xrUg",curriculumContainer:"Z65qX",iconPlaceholder:"CKOXL",shadow:"zygeJ",presentationName:"Oj7Dt"};var f="onboarding.mockLayout";function h(){return r.createElement("div",{className:"d-flex align-items-center justify-content-center mb-2 px-3"},r.createElement("div",{className:"".concat(d.leftNavIcon," rounded-circle")}),r.createElement("div",{className:"".concat(d.leftNavText," rounded-pill")}))}function v(e){var t,n,v=(0,s.k)();return r.createElement("div",{className:"border border-dark border-2 bg-white rounded-3 user-select-none overflow-hidden position-relative h-100 w-100"},!!e.editingCurriculum&&r.createElement("div",{className:"w-100 h-100 position-absolute ".concat(d.shadow)},r.createElement("div",{className:"d-flex align-items-center h-100 w-50 ".concat(d.curriculumContainer)},r.createElement("div",{className:"bg-white rounded-3 border p-3 w-100"},r.createElement("h2",{className:"h6 text-start"},r.createElement(o.x,{namespace:f,phrase:"curriculum"})),e.curriculum?r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"".concat(d.curriculumIcon," rounded-circle me-2 border")},r.createElement(a.f,{imageUrl:null===(t=e.curriculum.cover)||void 0===t?void 0:t.url})),r.createElement("div",{className:"text-start"},e.curriculum.name)):r.createElement("div",{className:"d-flex align-items-center text-secondary"},r.createElement("div",{className:"me-2 rounded-circle p-1 ".concat(d.iconPlaceholder)},r.createElement(a.f,{svgSize:c.S.Large,textVariant:"secondary",svgName:u.vn.GraduationCap})),r.createElement(o.x,{namespace:f,phrase:"selectCurriculum"}))))),r.createElement("div",{className:"bg-dark d-flex px-3 py-2 ".concat(d.blackBar)},r.createElement("div",{className:"rounded-circle me-2 ".concat(d.dot)}),r.createElement("div",{className:"rounded-circle me-2 ".concat(d.dot)}),r.createElement("div",{className:"rounded-circle ".concat(d.dot)})),r.createElement("div",{className:"border-bottom px-3 py-2 d-flex align-items-center ".concat(d.topNav)},r.createElement("div",{className:"".concat(d.logo," me-4")},v.xs?r.createElement(l.bc,null):r.createElement(l.$S,null)),r.createElement("div",{className:"form-control w-75 d-flex justify-content-start"},r.createElement(c.x,{svgName:u.vn.Search})),!!e.curriculum&&r.createElement("div",{className:"".concat(d.curriculumIconSmall," rounded-circle ms-2 me-n1 border")},r.createElement(a.f,{imageUrl:null===(n=e.curriculum.cover)||void 0===n?void 0:n.url}))),r.createElement("div",{className:"d-flex ".concat(d.belowHeader)},r.createElement("div",{className:"".concat(d.leftNav," border-end")},r.createElement("div",{className:"d-flex flex-column pt-3 h-100"},r.createElement(h,null),r.createElement(h,null),r.createElement(h,null),r.createElement(h,null),r.createElement(h,null),r.createElement("div",{className:"d-flex align-items-end h-100 w-100"},r.createElement("div",{className:"border-top p-3 w-100"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("div",{className:"".concat(function(){if(!e.presentation)return d.presentationPlaceholderIcon;switch(m.i.getMappedPresentationLevel(e.presentation.learningLevel)){case i.p.Level_1:return"bg-indigo ".concat(d.presentationIcon);case i.p.Level_3:return"bg-blue ".concat(d.presentationIcon);default:case i.p.Level_2:return"bg-green ".concat(d.presentationIcon)}}()," text-white rounded")},r.createElement(c.x,{svgName:u.vn.School,size:c.S.Large})),e.presentation?r.createElement("span",{className:"fw-semibold text-truncate ".concat(d.presentationName)},e.presentation.name):r.createElement("div",{className:"".concat(d.presentationPlaceholderText," fw-semibold")},r.createElement(o.x,{namespace:f,phrase:"schoolLevel"}))))))),r.createElement("div",{className:"w-100 h-100 overflow-hidden"},e.children)))}},59158:(e,t,n)=>{n.r(t),n.d(t,{OnboardingSubjectsView:()=>G});var r=n(32735),a=n(23481),c=n(20354),l=n(65858),o=n(60736),i=n(45716),s=n(2158),u=n(49602),m=n(11607),d=n(83345),f=n(2192),h=n(54610),v=n(77963),p=n(65728),g=n(61699),b=n(31949),y=n(84703),E=n(37802),N=n(67453),x=n(87114),w=n(99742),S=n(82817),L=n(86698),j=n(75359),k=n(12058),A=n(40695),P=n(75919),C=n(39375),I=n(73190),O=n(90815),T=n(67963);const _={selected:"igx0Y",disabled:"nDUWB",annotation:"IN0vA"};function U(e){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},U(e)}function B(){B=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},l=c.iterator||"@@iterator",o=c.asyncIterator||"@@asyncIterator",i=c.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var c=t&&t.prototype instanceof g?t:g,l=Object.create(c.prototype),o=new C(r||[]);return a(l,"_invoke",{value:j(e,n,o)}),l}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",f="suspendedYield",h="executing",v="completed",p={};function g(){}function b(){}function y(){}var E={};s(E,l,(function(){return this}));var N=Object.getPrototypeOf,x=N&&N(N(I([])));x&&x!==n&&r.call(x,l)&&(E=x);var w=y.prototype=g.prototype=Object.create(E);function S(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function L(e,t){function n(a,c,l,o){var i=m(e[a],e,c);if("throw"!==i.type){var s=i.arg,u=s.value;return u&&"object"==U(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,l,o)}),(function(e){n("throw",e,l,o)})):t.resolve(u).then((function(e){s.value=e,l(s)}),(function(e){return n("throw",e,l,o)}))}o(i.arg)}var c;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return c=c?c.then(a,a):a()}})}function j(t,n,r){var a=d;return function(c,l){if(a===h)throw Error("Generator is already running");if(a===v){if("throw"===c)throw l;return{value:e,done:!0}}for(r.method=c,r.arg=l;;){var o=r.delegate;if(o){var i=k(o,r);if(i){if(i===p)continue;return i}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=h;var s=m(t,n,r);if("normal"===s.type){if(a=r.done?v:f,s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a=v,r.method="throw",r.arg=s.arg)}}}function k(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var c=m(a,t.iterator,n.arg);if("throw"===c.type)return n.method="throw",n.arg=c.arg,n.delegate=null,p;var l=c.arg;return l?l.done?(n[t.resultName]=l.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):l:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[l];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,c=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return c.next=c}}throw new TypeError(U(t)+" is not iterable")}return b.prototype=y,a(w,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:b,configurable:!0}),b.displayName=s(y,i,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,s(e,i,"GeneratorFunction")),e.prototype=Object.create(w),e},t.awrap=function(e){return{__await:e}},S(L.prototype),s(L.prototype,o,(function(){return this})),t.AsyncIterator=L,t.async=function(e,n,r,a,c){void 0===c&&(c=Promise);var l=new L(u(e,n,r,a),c);return t.isGeneratorFunction(n)?l:l.next().then((function(e){return e.done?e.value:l.next()}))},S(w),s(w,i,"Generator"),s(w,l,(function(){return this})),s(w,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,C.prototype={constructor:C,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(P),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return o.type="throw",o.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var c=this.tryEntries.length-1;c>=0;--c){var l=this.tryEntries[c],o=l.completion;if("root"===l.tryLoc)return a("end");if(l.tryLoc<=this.prev){var i=r.call(l,"catchLoc"),s=r.call(l,"finallyLoc");if(i&&s){if(this.prev<l.catchLoc)return a(l.catchLoc,!0);if(this.prev<l.finallyLoc)return a(l.finallyLoc)}else if(i){if(this.prev<l.catchLoc)return a(l.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<l.finallyLoc)return a(l.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var c=a;break}}c&&("break"===e||"continue"===e)&&c.tryLoc<=t&&t<=c.finallyLoc&&(c=null);var l=c?c.completion:{};return l.type=e,l.arg=t,c?(this.method="next",this.next=c.finallyLoc,p):this.complete(l)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;P(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,c,l,o=[],i=!0,s=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=c.call(n)).done)&&(o.push(r.value),o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{if(!i&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Z(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)?Z(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var z=function(e,t,n,r){return new(n||(n=Promise))((function(a,c){function l(e){try{i(r.next(e))}catch(e){c(e)}}function o(e){try{i(r.throw(e))}catch(e){c(e)}}function i(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,o)}i((r=r.apply(e,t||[])).next())}))},M="onboarding.subjects";function G(e){var t,n=(0,T.u)(),U=(0,s.T)(n).getPathway,Z=c.a.useBasicFetch(b.N.currentUser()),G=(0,L.y)().preferredPresentation,H=c.a.useGetFetchAsync(),R=(0,I.Q)(e.redirectUrl),V=R.onClickBack,Y=R.exitOnboarding,D=R.onSaveError,W=R.completeStepAsync,J=(0,S.M)().preferredCurriculum,Q=(0,O.H)().logEvent,X=U(),q=i.H[X.currentScreen],K=(0,E.r)(null==q?void 0:q.analyticsLocation),$=K.updateSettingAsync,ee=K.bulkOnboardingPreferencesState,te=c.a.useBasicFetch(g.o.allSubjectPreferences()),ne=c.a.useBasicFetch(g.o.mySubjectPreferences()),re=u.b.hasBulkSelectedTopics(ee),ae=F(r.useState([]),2),ce=ae[0],le=ae[1],oe=F(r.useState(re),2),ie=oe[0],se=oe[1],ue=(0,y.n)(),me=null===(t=te.data)||void 0===t?void 0:t.filter((function(e){var t;return!!(null===(t=o.A[e.presentationId])||void 0===t?void 0:t[e.id])}));return r.useEffect((function(){var e;ne.hasCompleted&&(null===(e=ne.data)||void 0===e?void 0:e.length)&&(ie||le(ne.data))}),[ne.hasCompleted]),r.createElement(A.z,{namespace:M},r.createElement(A.z.Left,{className:"bg-dark-blue d-flex flex-column align-items-end justify-content-center"},r.createElement(P.N,{annotationUrl:w.W.OnboardingV2.Subjects.ANNOTATION,annotationPosition:"top-right",annotationClassName:"me-5 ".concat(_.annotation)},r.createElement(C.Y,{presentation:G,subjects:ie?me:ce,curriculum:J}))),r.createElement(A.z.Right,{hasCustomButtons:!1,onClickNext:function(){return z(this,void 0,void 0,B().mark((function e(){var t,n,r;return B().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Q(l.Vw.Click,l.Ix.Next,{subjects:ce.map((function(e){return{subjectId:e.id,subjectName:e.name}})),allSubjectsSelected:ie,presentationId:G.id,presentationName:G.name,presentationDescription:G.description}),e.prev=1,t=[],ie!==re&&t.push($(Z.data.id,{name:p.E.BulkOnboardingPreferencesState,value:u.b.getNextBulkState(ee,"topics"),kind:v.g.Permanent})),ie||(n=ce.filter((function(e){return!ne.data.find((function(t){return t.id===e.id}))})),r=ne.data.filter((function(e){return!ce.find((function(t){return t.id===e.id}))})),(null==n?void 0:n.length)&&t.push(H(g.o.followSubjects(n.map((function(e){return e.id}))))),(null==r?void 0:r.length)&&t.push(H(g.o.unfollowSubjects(r.map((function(e){return e.id})))))),e.next=7,Promise.all(t);case 7:return e.next=9,W();case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(1),D(),e.abrupt("return",Promise.reject());case 15:case"end":return e.stop()}}),e,null,[[1,11]])})))},onClickBack:V,onClickComeBackLater:Y,disableNext:!ce.length&&!ie},r.createElement(j.W,null,r.createElement(d.x,{phrase:ue?"headingKdm":"heading"})),r.createElement(k.X,null,r.createElement(d.x,{phrase:"info"})),r.createElement(m.L,{onClick:function(){Q(l.Vw.Select,l.Ix.SelectAllSubjects,{presentationId:G.id,presentationName:G.name,presentationDescription:G.description}),ie||le([]),se(!ie)}},r.createElement(f.M,{data:{name:a.T.getPhrase(M,"allSubjects")},coverUrl:x.i.getPresentationLevelImage(G.learningLevel,"cover"),isSelected:ie,multiline:!0})),r.createElement("div",{className:"d-flex align-items-center justify-content-between py-3"},r.createElement("hr",{className:"m-0 flex-grow-1 border-dark"}),r.createElement("p",{className:"mb-0 px-3"},r.createElement(d.x,{phrase:"orSelectSubjects"})),r.createElement("hr",{className:"m-0 flex-grow-1 border-dark"})),r.createElement("ul",{className:"list-unstyled row g-2 mb-0"},null==me?void 0:me.map((function(e){var t,n=!!ce.find((function(t){return t.id===e.id})),a="";return ie?a+="cursor-default ".concat(_.disabled):n&&(a+=_.selected),r.createElement("li",{key:e.id,className:"col-12 col-sm-6 col-md-6 col-lg-12 col-xl-6"},r.createElement(m.L,{onClick:function(){return function(e){ie||(Q(l.Vw.Select,l.Ix.SelectSubject,{subjectId:e.id,subjectName:e.name,presentationId:G.id,presentationName:G.name,presentationDescription:G.description}),ce.find((function(t){return t.id===e.id}))?le(ce.filter((function(t){return t.id!==e.id}))):le(ce.concat(e)))}(e)},disabled:ie,className:a},r.createElement(f.M,{data:e,coverUrl:N.j.createUrl(null===(t=e.cover)||void 0===t?void 0:t.url,{size:h.h2.Small}),isSelected:n,multiline:!0})))}))),r.createElement(k.X,{className:"mt-2"},r.createElement(d.x,{phrase:"addMoreLater"}))))}},92038:(e,t,n)=>{n.d(t,{Z:()=>r});const r={appLink:"fFjKN",name:"A_by9",selectedMask:"xSQtR",widgetItem:"Ys9W_",enableHighlight:"YgkBF",text:"JfAoy",imagePanel:"aUNDc",partialLargeImage:"RuLxv",selected:"BViJb",image:"LkTep",dragHandle:"CJqvP",large:"R5clw",comingSoonPanel:"Wa2PG",editSubjectsItem:"gGNFD",allSubjectsItem:"IHdlJ",logoContainer:"Nzaes",draggingItem:"zUOye",partialLargeFallback:"FmJP9",partialIcon:"sdZuo"}}}]);
3
+ //# sourceMappingURL=841-d69c7f4b4d-lite.chunk.js.map